A claim of completion is evidence about the claimant, not about the system. Verification only means something when the verifier is structurally incapable of having caused the outcome it judges.
Self-verification is not proof
An agent that writes code, runs its own checks and then reports success has produced one artefact: a report. The report and the work share an author, a context window and a set of assumptions. Every failure mode that caused the work to be wrong is available to make the report wrong in the same direction.
This is not a statement about model quality. A perfectly reliable component still cannot supply independent evidence about itself, because independence is a property of position, not of competence.
Independence is structural
Independence means the verifier does not share the execution path, does not inherit the executor's assumptions, and cannot alter the thing it is judging. In Proof & State, OpsTruth holds no write authority at all. It cannot deploy, restart, publish or mutate a database. Its inability to act is what makes its report worth reading.
DoneState is built to depend on that separation. A run halts at AWAITING_VERIFICATION rather than closing itself, so the boundary is enforced by the state machine rather than by convention.
Three outcomes, not two
A verifier that must answer pass or fail will eventually call an absence of evidence a pass. OpsTruth separates Verified, Risky and Unproven so that missing evidence stays visible as missing evidence.
Unproven is the honest result for a check that could not be evidenced. Treating it as a failure creates noise; treating it as a pass creates false confidence. Naming it keeps the report accurate about its own limits.