Expand description
Public off-vs-on answer-quality testbench (#611).
One command runs every pinned repo in a lockfile::TestbenchLock under both
arms — off (Condition::Baseline, a raw file dump) and on
(Condition::LeanCtx, retrieve + compress) — at an identical token budget, then
scores each answer:
- free-form QA → real
LlmJudge(the pinned model grades correctness), - code →
CodeScorer, the SWE-style test-oracle (apply the answer, run the repo’s own test command, pass = exit 0).
Results reuse the AbReport statistics + verdict per repo and are aggregated
into a TestbenchReport whose determinism_digest excludes wall-clock time, so
a recorded subset is byte-identical everywhere and can gate CI. findings
renders the human FINDINGS.md (per-repo tokens / turns / walltime / quality) and
the honest machine-readable regressions file.
Modules§
- clone
- Repo materialization for the testbench (#611).
- findings
- Human + machine outputs for a testbench run (#611).
- lockfile
- Pinned-repo lockfile for the public off-vs-on testbench (#611).
- recording
- Deterministic recording builder for the committed testbench subset (#611).
Structs§
- Repo
Report - One repo’s outcome: the reused paired
AbReportplus informational wall-clock time per arm (deliberately outside the determinism digest). - Testbench
Config - Knobs for a testbench run (token budget + the per-repo report/gate config).
- Testbench
Report - The aggregate attestation written by a run.
Constants§
- TESTBENCH_
REPORT_ KIND - Report schema discriminator.
Functions§
- run_
testbench - Runs every repo in
lockunder both arms throughrunner, returning the aggregate.runneranswers and judges (judge requests have distinct content → distinct keys).