Skip to content

Commit 40a94b4

Browse files
committed
FIX preserve rationale-less float scores
1 parent 8f0e93a commit 40a94b4

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

‎pyrit/score/float_scale/float_scale_score_aggregator.py‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,7 @@ def _build_rationale(scores: list[Score], *, aggregate_description: str) -> tupl
9494
rationale = scores[0].score_rationale or ""
9595
else:
9696
description = aggregate_description
97-
# Only include scores with non-empty rationales
98-
rationale_parts = [format_score_for_rationale(s) for s in scores if s.score_rationale]
97+
rationale_parts = [format_score_for_rationale(s) for s in scores]
9998
rationale = "\n".join(rationale_parts) if rationale_parts else ""
10099

101100
return description, rationale

‎tests/unit/score/test_float_scale_score_aggregator.py‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,18 @@ def test_float_scale_aggregator_category_deduplication():
9494
assert results[0].category == ["Hate"] # Should be deduplicated
9595

9696

97+
def test_float_scale_aggregator_preserves_scores_without_rationales():
98+
scores = [
99+
_mk_score(0.5, rationale="explained"),
100+
_mk_score(0.7),
101+
]
102+
103+
result = FloatScaleScoreAggregator.MAX(scores)[0]
104+
105+
assert "explained" in result.rationale
106+
assert result.rationale.count("UnitTestScorer") == 2
107+
108+
97109
def test_float_scale_aggregator_multiple_categories_preserved():
98110
"""Test that multiple unique categories are preserved and sorted."""
99111
scores = [

0 commit comments

Comments
 (0)