diff --git a/evalharness/cli.py b/evalharness/cli.py index 47019b0..91c472e 100644 --- a/evalharness/cli.py +++ b/evalharness/cli.py @@ -776,6 +776,15 @@ def _cmd_eval_run(args) -> int: if k != 'extraction_failure_rate'), None) if _m is not None: _scores.append(_m) + if _repeats > 1 and out_dir: + # per-run report: //reps/repNN.report.jsonl + # (each carries THAT run's own score + samples; the + # top-level report.jsonl stays the mean-summary view) + import pathlib as _pl + + _rdir = _pl.Path(out_dir) / name / 'reps' + _rdir.mkdir(parents=True, exist_ok=True) + report.save(str(_rdir / f'rep{_rep + 1:02d}.report.jsonl')) _rep_info = report.metric_groups.get('run_info', {}) or {} _rep_secs += sum(float((s.usage or {}).get('latency_s', 0) or 0) for s in report.samples)