Repository navigation
feat(reviewer-eval): swap the codex reviewer to gpt-6.1-sol after two pre-registered campaigns - #851
Conversation
… pre-registered campaigns Two blinded, pre-registered 44-review campaigns on the frozen harness (PR #849): campaign 1, gpt-5.6-sol vs gpt-6-astra, mechanical DEFINITIVE NO-GO on one regression (s4-cs-unbalanced-nan-outcome), accepted by the user; campaign 2, gpt-5.6-sol vs gpt-6.1-sol with a fresh control sample under the same rule, mechanical DEFINITIVE PARITY (zero regressions, zero downgrades, 0 vs 0 FPs, F never worse than B and better on two bugs, lower latency, half the input price), accepted by the user as GO. Ships both verdict files with their redacted grading records, registers arm F and the (B, F) contrast (campaign 1's rule archived under campaigns/), flips the control to F, and moves the production pins in lockstep to gpt-6.1-sol: the CI workflow model, openai_review.DEFAULT_MODEL and the plan-review CODEX_MODEL (carried over, not re-run through plan-review-eval; TODO.md row), with CODEX_TIMEOUT_S raised 2400 -> 3600 to equal the harness ceiling and pinned equal by test. The candidate-exposure gate exempts the role=control arm so bare smoke keeps working after a swap; PRICING gains gpt-6.1-sol; the DEFERRED gpt-6-sol cost-fallback row is retired (the 0.162.1 ChatGPT login accepts the gpt-6 Sol tier; campaign 2 was that evaluation).
Overall assessment✅ Looks good — no unmitigated P0 or P1 findings identified. Executive summary
MethodologyNo findings. The diff does not change methods governed by Code QualityNo findings. Read-only checks passed for ten exposure-gate configurations and three invalid contrast combinations. Promoting F preserves production smoke runs while retaining restrictions on E. PerformanceNo findings. The longer plan-review timeout remains bounded and agrees with the harness ceiling. Committed latency figures support the reported improvement; live performance was not rerun. MaintainabilityNo findings. Contract tests cover alignment among the workflow, local reviewer, plan reviewer, and production control arm. Tech Debt
SecurityNo findings. Scoped scans found no secret patterns or unredacted machine paths in the added campaign records. Documentation/TestsNo additional findings. The required changelog fragment is present, and the archived decision rule matches its original Git blob. Local validation covered verdict consistency, hashes, gates, defaults, and pin alignment. Pytest could not run because it is not installed. Official pricing and live Codex availability could not be independently verified with network access unavailable. |
Summary
tools/reviewer-evalharness frozen by Pre-register the gpt-5.6-sol -> gpt-6-astra Codex reviewer campaign (PR-1: harness re-pin, no model swap) #849:225a4afb): mechanical DEFINITIVE NO-GO on one regression (s4-cs-unbalanced-nan-outcome: B caught 2/2, E partial 2/2). Accepted by the user; no astra swap.tools/reviewer-eval/campaigns/2026-10-gpt6-VERDICT.md.refs/campaign/B-F/frozen): mechanical DEFINITIVE PARITY: zero rule-defined regressions, zero downgrades, 0 vs 0 false positives, two favourable catch-status changes against one UNSTABLE-to-MISSED judgment flag, 11 vs 10 caught repeat-cells, lower latency (mean 181 s vs 213 s), half the input price. The user accepted PARITY as GO.tools/reviewer-eval/campaigns/2026-10-gpt61sol-VERDICT.md.campaigns/2026-10-gpt6*-grading/: three blinded grader tables, verifier rulings, reconciled grades, the audit hit list with command lines hashed, both verdict outputs), machine paths redacted.tests/test_openai_review.py::TestWorkflowCodexActionContract): CI workflowmodel: gpt-6.1-sol,openai_review.DEFAULT_MODEL, plan-reviewCODEX_MODEL(carried over from the code-review campaign, not re-run through plan-review-eval; TODO.md row), plan-reviewCODEX_TIMEOUT_Sraised 2400 -> 3600 to equal the harnessCALL_TIMEOUT_S(test pins the equality), prose pins inCLAUDE.md/SKILL.md/ the local-review command doc.Fregistered with the contrast(B, F)(REGISTERED_CONTRASTS); campaign 1's rule archived ascampaigns/2026-10-gpt6-DECISION_RULE.md;run --configsdefaults to the last registered shape; F takesrole=control(B kept as previous production); the candidate-exposure gate exempts the control arm so baresmokekeeps working after a swap;PRICINGgainsgpt-6.1-sol; the DEFERREDgpt-6-solcost-fallback row is retired (codex-cli 0.162.1's ChatGPT-account login accepts the gpt-6 Sol tier; campaign 2 was that evaluation).gpt-6.1-solon codex-action + CLI 0.162.1; a rejection by the action is to be surfaced, never worked around.Methodology references (required if estimator / math changes)
Validation
tests/test_evals_runtime.py(B,F shape, exposure refusals, control-arm exemption, control id),tests/test_reviewer_verdict.py(inverted and double-candidate contrast refusals),tests/test_openai_review.py(production pin,gpt-6.1-solpricing row),tests/test_plan_review_skill.py(CODEX_MODEL pin, CODEX_TIMEOUT_S == harness CALL_TIMEOUT_S). 900 passed on 3.14 for the touched suites; 451 passed + 1 pre-existing skip on the 3.9 leg.tools/reviewer-eval/campaigns/.Security / privacy
grep -rnE '/Users/|/private/|/var/folders/|/tmp/|~/|\$HOME' tools/reviewer-eval/campaigns/is empty; audit command lines are stored as sha256 only)Changelog
changelog.d/20261017-reviewer-eval-gpt61sol-prereg.md, Internal)