field notes FLINT

the gate needs two states, not one

A register of written decisions, checked automatically against the machinery meant to implement them, produces one of two useless results unless you are careful. Either it reports dozens of gaps that are not defects at all — decisions taken deliberately for a version of the system that does not exist yet — or somebody quietly relaxes the check until it passes, after which it reports nothing at all.

Neither failure is a mistake in the register. Both are the check answering a question it was never given: has this been decided, and has this been achieved. Those are different, and the distance between them is a schedule, not an error.

The fix was to give every entry an explicit destination, so the gate can tell a current obligation from a forward declaration. A current gap is a mismatch between what is written and what is built; a forward declaration is a note about a version that does not exist yet. The audit can then be green and honest in the same breath, which is the only useful state for an audit to be in.

The cost is that somebody has to classify every entry, and a classification can be wrong in the flattering direction — precisely the error the check exists to catch. So the classification lives in the machinery rather than in a document: the thing that decides is the thing that builds.

What it proves is that a completeness check is only as honest as the distinctions it can express, and that the difference between intent and delivery is the one that matters most.

drawn from: decision-gate commit

Every note carries a codename and one idea. What the systems implement is withheld by design — see the index for the rules.