Skip to content

fix(evaluation): let scenario_meta.json route scoring, and make the F… - #646

Merged
ShuxinLin merged 2 commits into
aafeedback_changesfrom
fix/fmea-scorer-routing
Oct 19, 2026
Merged

ShuxinLin merged 2 commits into
aafeedback_changesfrom
fix/fmea-scorer-routing

Conversation

@DhavalRepo18

@DhavalRepo18 DhavalRepo18 commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

FMEA threshold inclusive

The loader backfilled scoring_method to static_json at load time, so evaluator.py's 'scenario.scoring_method or self.default_scorer' could never fall through and --scorer-default was inert. fmea.py has therefore never scored a trial. Dropping the backfill makes the default live; the default itself moves from llm_judge to static_json so a scenario with no metadata lands on a deterministic scorer rather than a billed judge.

fmea.py's pass test was strictly greater, so f1_pass_threshold=1.0 rejected every answer instead of requiring an exact match. It is now inclusive. No trial in the 191-trial asset_modes cohort sits exactly at 0.80, so recorded numbers are unchanged.

…MEA threshold inclusive

The loader backfilled scoring_method to static_json at load time, so
evaluator.py's 'scenario.scoring_method or self.default_scorer' could never
fall through and --scorer-default was inert. fmea.py has therefore never
scored a trial. Dropping the backfill makes the default live; the default
itself moves from llm_judge to static_json so a scenario with no metadata
lands on a deterministic scorer rather than a billed judge.

fmea.py's pass test was strictly greater, which made f1_pass_threshold=1.0
reject every answer instead of meaning exact match. It is now inclusive.
No trial in the 191-trial asset_modes cohort sits exactly at 0.70, so
recorded numbers are unchanged.

Signed-off-by: Dhaval Patel <pateldha@us.ibm.com>
2PR/(P+R) can land one ulp under an exact boundary: coverage 6/7 with
precision 6/8 is F1 0.8 but computes as 0.7999999999999999, so the
inclusive 0.80 threshold still failed it while reporting score=0.8 and
"F1=0.800 (< 0.80)". The pass test now uses the score rounded to the six
places it is reported at, so the verdict always agrees with the score.

Across the 304 recorded FMEA trials this changes 5 verdicts from fail to
pass, all at F1 = 0.8: three on 9001 (this fix), and one each on 9003
and 9015 (from making the threshold inclusive).

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
@ShuxinLin
ShuxinLin merged commit 9d69d57 into aafeedback_changes Oct 19, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants