You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`EVAL_LIMIT`| empty | Limit eval to first N instances (smoke tests); empty = full set |
157
157
158
158
### Score validation
159
-
`utils/evals/validate_scores.py` checks full-split eval results against thresholds in `utils/evals/thresholds.yaml`. First-N smoke slices skip the quality gate because their scores are not statistically representative. Validation runs after artifact upload so full-run results are preserved even if the gate fails.
159
+
`utils/evals/validate_scores.py` checks full-split eval results against thresholds in `utils/evals/thresholds.json`. The JSON format keeps validation independent of optional PyYAML installations on runner hosts. First-N smoke slices skip the quality gate because their scores are not statistically representative. Validation runs after artifact upload so full-run results are preserved even if the gate fails.
160
160
161
161
### Adding a new eval task
162
162
@@ -214,7 +214,7 @@ append_lm_eval_summary
214
214
is derived from the YAML's `dataset_path` so generation and scoring can't diverge;
215
215
`SWEBENCH_DATASET`, if set, must match it (mismatch fails fast).
216
216
- Scoring runs on Modal remote sandboxes in CI (`SWEBENCH_USE_MODAL=true`, no Docker on the GPU
217
-
nodes); local Docker scoring needs ~120 GB disk. The `thresholds.yaml` gate is `0.50`, calibrated
217
+
nodes); local Docker scoring needs ~120 GB disk. The `thresholds.json` gate is `0.50`, calibrated
218
218
from full-split runs (54%); historical 50-instance slices scored 62–76%.
0 commit comments