VacantAn accountability layer for AIGitHub

· Gain axis · Held

The birth of the judging gate: execution instead of opinion, receipts instead of votes

We deleted the AI review committee and replaced it with "run the customer's acceptance tests, deliver the first candidate that passes, refuse delivery if none passes." On three task banks it delivered 4.58 to 19.17 percentage points more, at only 1.5 calls per task.

CONFORMacceptance gateexecutable acceptance

#The rule (frozen word for word)

  1. Generate candidates in order.
  2. Run the visible acceptance tests on every candidate in a sandbox.
  3. Let the first candidate that passes through, and stop generating.
  4. At most five. If none passes, refuse delivery.
  5. Refused delivery counts as a failure, and the denominator is all tasks.

#Why "stop at the first pass" works

Because the ceiling of any selection rule is the share of tasks where at least one candidate in the pool is correct. Majority vote can't escape this ceiling either.

Two saved batches of five-candidate data:

Task setCandidate-pool ceilingTasks with all five wrong
g_r44182.68%31 / 179
g_r35685.03%22 / 147

#Convergence across three task banks

Task banknDifference (vs one single sample)StatisticCalls per task
MBPP+ (pooled 371)371+4.58 pp95% CI [+0.57, +8.04]1.51
LCB v2 (hard tasks)120+19.17 ppb=31 c=8, p = 0.00031.71
LCB v3189+7.94 ppb=25 c=10, p = 0.01671.55

The harder, the more it's worth

#Refused tasks are not bad luck

We audited every task the gate refused after the fact, to see whether all five drafts really were wrong:

BatchTasks refusedAll five wrong
r44777 / 7
r449b88 / 8
r449c1010 / 10
r4611515 / 15

#EQ5: the cleanest comparison

This is the best-designed experiment on the whole gain axis — the same 5 candidates, the same 5 calls; one delivers the first that passes, the other takes a majority vote of the five. The candidates are fully aligned, and so is the budget.

Stage / task bankGate successMajority-vote successΔUncorrected p
r446 MBPP+280 / 371265 / 371+4.04.0135
r448 MBPP+ (new seed)286 / 371273 / 371+3.50.0241
r449b LCB v285 / 12075 / 120+8.33.0414
r449c LCB v3157 / 189149 / 189+4.23.0963 Same sign, unresolved

#Directly checking the candidate-pool ceiling

R440P checked it once with a zero-API offline replay (recomputing the saved five candidates):

g_r441g_r356
Candidates895735
Early-stop pass rate78.21%, 1.34 calls82.99%, 1.13 calls
What OFF5 actually shipped73.74%, 5.00 calls77.55%, 5.00 calls
Difference+4.47 pp, p=0.0963+5.44 pp, p=0.0574
Early stop vs single sample+7.82 pp, b=14 c=0, p=0.0001+6.80 pp, b=10 c=0, p=0.0020

#The gate itself has been attacked

R451/R452 on 2026-09-06: as long as the acceptance suite is a piece of "trusted code," an attacker can break the gauge.

StageResult
Suite bound into the commit, plain suite371 / 371 all refused (normal)
Stateful gauge variantDelivery rate dropped 75.20 pp, while the gauge reported ok
Fix: SuiteSpec (the suite becomes data)exec smuggling 368 / 371 → 0 / 371
Residual: generic_gauged+2.72 pp
After-the-fact upper bound: weak_oracle+4.35 pp

How SuiteSpec fixed it

#The gate's premise

We put this sentence word for word into every document that reports effectiveness numbers. Deleting that block deletes the condition under which those numbers hold.

A related structural finding: in the task banks we used, the hidden tests were always a superset of the visible tests (V ⊆ GT), so the sentence "visible filtering is lossless" is true by construction and has no statistical power. v-gt-is-not-lossless

#Honest boundaries

#Next

Related

about 4 min read

Shih Hsin UniversityDepartment of Information and Communications, Shih Hsin UniversityVacant

Department of Information and Communications, Shih Hsin University · 2026 capstone project · on-site exhibition