Repository navigation
feat(grading): declare the second evaluator audit and close the first round - #128
Merged
Merged
Conversation
… round The user closed the round declared on 2026-10-03 as superseded and selected the plan that replaces it, before any batch of the last-push selection is graded. audits.json holds the new plan: twelve strata named after the labels of the rubric in force, with their sizes and tolerances, and the first plan with its evidence under `superseded`. calibration.py requires the new strata and checks a superseded round's seed and closure receipt. evaluator_audit.py still builds the first plan's strata from the previous verdict format, so `draw` refuses the new plan until the tool is ported.
… superseded plans A review of the declaration found that a wrongly labelled problem claim on an already credited known problem sat in no stratum, and that the control result rested on a label the rubric no longer has. The user ruled on both: the plan gains a problem stratum of 40 units, and a refuted or unproven claim alarms on a clean control. calibration.py now checks each superseded plan's own strata and selection, and requires the closure to name the seed of its round.
kamui
marked this pull request as ready for review
October 12, 2026 04:35
kamui
commented
Oct 12, 2026
kamui
left a comment
Owner
Author
There was a problem hiding this comment.
Approved (advisory) — no findings.
Reviewed 0e17219. All 18 changed files reviewed, including schemas, tests, receipts, preserved evidence, proposals and affected checker/tool paths. No actionable findings.
Review details
Intent: Declare evaluator audit v2 before grading and close the first round as superseded while preserving its evidence.
Issue fit: Completes the audit declaration and first-round closure portion of #30. Grading, the audit-tool port, paid second assessment and audit conclusion remain separate work.
Reviewed: 0e17219 against merge-base 068e8a6.
Checks:
- Three changed regression tests pass at the reviewed head in disposable sources.
- Exact-head CI passes: 905 grading tests with 18 skips, 63 web tests, import/current/claims checks and client compatibility.
- Integrity checks confirm the old plan and evidence are unchanged, receipt pins match and the selected sample totals 640.
- Independent challenges to preserved evidence, saved decisions and refusal of unsupported draws all hold within the reviewed scope.
- The audit remains unassessed. The verdict-v2 tool port is deliberately deferred; unsupported drawing is refused. Self-review uses COMMENT because no separate reviewing identity is declared.
This was referenced Oct 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The audit plan of 2026-10-03 names its strata after labels the rubric in force no longer has, and its round was never concluded. A new plan has to be declared before the last-push selection is graded, so that nothing in it can be tuned to results.
The user closed the first round as superseded and selected the replacement on 2026-10-12. The plan was built from two independent proposals (this session's and one by Codex GPT-6 Astra, high), scored blind by a third model. Astra's was the base.
Scope
bench/grading/rulings/cohort-rebuild-audit.v3.md: the receipt for both answers, with the selected sizes and tolerances.bench/grading/current/audits.json: the new plan (seedevaluator-audit-v2-2026-10-12, thirteen strata, at most 640 units) and the first plan with its evidence undersuperseded.decision-queue.jsonis regenerated.bench/schema/current-audit.schema.json: thecontrol-reviewunit and thesupersededlist; the plan's shape moves to$defs/planso both use it.bench/tools/calibration.py:STRATAholds the new names;audit_problemschecks each superseded plan's own strata and selection, that each round has its own seed, and that its closure names that seed and is in the saved receipt.bench/tools/evaluator_audit.py:drawrefuses strata the tool does not build.docs/evaluator-audit.md: rewritten for the second plan.docs/research/cohort-rebuild-2026-10-05/audit/next-plan/: the proposal as approved, both candidates, the brief, the rubric, the judge's report and the synthesis note.Tradeoffs
seriousis 100 units with one error allowed, not 60 with none. The limit is the same (4.7% against 4.9%), and a grader with a 0.4% error rate fails 6% of the time instead of 21%. The user was shown both and chose this.problemhave their own stratum. A first draft audited them only through credit; a review showed that a wrong label on a second claim for an already credited problem would sit in no stratum, and the user added the stratum.refutedorunprovenclaim. The user fixed this in the plan because the scoring code still names a label the rubric no longer has.evaluator_audit.pyis not ported here. The port to verdict contract v2 (the three whole-cohort checks, control units, exact matching, the audited-whole rule) is needed before the draw, not before grading, and is its own change.Blast Radius
Records, the checker and one refusal. No grade exists, so nothing is re-derived. The explorer shows the audit record's new reason. Until the tool is ported,
evaluator_audit.py drawstops with a message instead of building the wrong strata.Verification
bun run verify:import,verify:current,verify:claims: pass (0 of 604 admitted reviews assessed, 67 of 67 known problems with an approved label).bun run test:web: 63 pass.bun run test:bench: 904 tests, one failure,test_codex_grading.test_catalog_preserves_native_model_instructions, which also fails onmainon this host (local Codex version) and passes in CI.Part of #30