fix: align execution pipeline behavior

This commit is contained in:
sladro 2026-04-02 12:00:18 +08:00
parent 97ae78f121
commit 39a66a4b3f
2 changed files with 4 additions and 4 deletions

View File

@ -14,7 +14,7 @@ def _constraint_failed(candidate: ScoreResult, constraint: ConstraintSpec) -> bo
return value < constraint.value
if constraint.op == "==":
return value != constraint.value
return True
raise ValueError(f"unsupported constraint operator: {constraint.op}")
def decide_candidate(
@ -30,7 +30,7 @@ def decide_candidate(
status="crash",
reason=f"command failed with exit code {run_result.exit_code}",
baseline_score=baseline,
candidate_score=candidate.primary_score,
candidate_score=None,
)
failed_constraints = [

View File

@ -10,12 +10,12 @@ def parse_score_output(output: str, score_field: str, metrics_field: str) -> Sco
if not isinstance(parsed, dict):
raise ValueError("score output must be a JSON object")
metrics = parsed.get(metrics_field, {})
metrics = parsed[metrics_field]
if not isinstance(metrics, dict):
raise ValueError(f"{metrics_field} must be a JSON object")
return ScoreResult(
primary_score=float(parsed[score_field]),
metrics=metrics,
metrics=dict(metrics),
raw_output=parsed,
)