Skip to content

fix(bench): keep regrade copies faithful and mirror grader availability - #622

Merged
Teakowa merged 1 commit into
mainfrom
fix/614-regrade-followup
Oct 11, 2026
Merged

Teakowa merged 1 commit into
mainfrom
fix/614-regrade-followup

Conversation

@e54-bot

@e54-bot e54-bot commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Follow-up fixes to regrade (merged as #621, for #614 / SPEC-414 REQ-007) from post-merge review:

  • copytree(..., symlinks=True) — an agent-written symlink in a stored trial workspace was dereferenced during the copy, pulling the outside target's contents recursively into --out. Links now stay links.
  • Grader-availability mirroring — the grader-unavailable reason was only ever removed (when a re-grade resolved it), never added (when a re-grade newly hit an unavailable check). A fresh run_trial records status: invalid + the reason in this case; a re-grade now mirrors both directions so downstream report rates treat it identically.
  • Basename collisions — <out>/<base.name>/ collided for same-named input dirs with a FileExistsError mid-copy, leaving a partial --out. Now a SystemExit upfront.
  • Docs — regrade's docstring and the howto now state that only trials with a parseable contract result.json are copied; incomplete trial dirs are skipped (matching bench_report.load).

Test plan

  • RegradeTest 7/7 pass locally — three new tests: symlink stays a link, unavailability mirrors both directions, same-named inputs fail before any copy
  • python3 -m py_compile clean; git diff --check clean
  • Broader test_agent_bench.py — 2 remaining failures are environmental (no oracle toolchain / missing pi adapter locally; ana-paintball-ws passes), identical to the pre-change baseline

…ty (#614)

Review follow-ups on #621: copytree now preserves agent-written symlinks as links instead of dereferencing outside targets into --out; a re-grade that hits an unavailable check records the grader-unavailable reason and invalid status like a fresh run (the reason is still stripped when unavailability resolves); same-named input directories fail upfront instead of dying mid-copy; and the docs note that trials without a parseable contract result.json are skipped.
@Teakowa
Teakowa merged commit 4ac9183 into main Oct 11, 2026
17 checks passed
@Teakowa
Teakowa deleted the fix/614-regrade-followup branch October 11, 2026 08:02
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Make Workshop Great Again Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

2 participants