// Verify from outside · lesson 02
The check has to come from outside
Verification only counts if it comes from outside the thing being verified. This is the subtle half of the discipline, and it is the one people get wrong even when they remember to check. They ask the model to review its own work, it reads the same context and judges by the same sense of coherence that produced the output, finds it good, and hands you a confident second opinion that shares the first one's blind spot. A check inside the system inherits the system's errors. The exit is always external.
What counts as external is anything the work cannot rewrite. A spec written before the build. A test that runs real inputs against known-true outputs. A second model that never saw the first one's context. A human with access to the actual world. The common thread is a reference point anchored to something outside the loop, so it can say this is wrong and mean it. Your Council, in the next module, is a machine built entirely around this idea: adversarial and grounded seats whose whole job is to be the outside the build cannot talk out of its verdict.
Why this is the principle that scales from a function to a spiral
Because it holds at every size. A single function that looks fine still needs a check that did not come from the same glance that wrote it. A long agent run needs an anchor it cannot drift away from. In the extreme, a recursive loop with no external reference compounds confident error with no ceiling, which is the failure the Field Manual's edge track documents. Same rule, every scale: a thing cannot catch its own blind spot, so the check has to stand outside it.
The takeaway: A system can't verify itself, because any internal check shares its blind spot. Anchor verification to something the work can't move, a spec, a real test, an outside model, a human, at every scale from one function to a runaway loop.