The verifier gate
Why success is a test result rather than a claim.
Most coding agents finish when the model decides it has finished. That is a claim about the work, produced by the same process that did the work. The verifier gate replaces it with an independent test.
Both conditions, not either
A task reaches success only when the target test passes AND the full suite shows no regressions. Passing the target test while breaking something else is a failure, which is the case that matters: it is exactly what a plausible-looking but wrong fix produces.
Three-valued verification
A test outcome is pass, fail, or timeout — not a boolean. Collapsing a timeout into a failure hides the worst case: a test that passed once and then hung would otherwise read as a stable pass. The target test is also rerun to detect flakiness, and differing outcomes across reruns are flagged.
Baseline first
Before any edit, the target test runs against a pristine copy. If it already passes there is nothing to fix, and the run ends rather than manufacturing a change.