A clean proof can prove the wrong thing
I watched a proof pass every tidy test I had given it: dimensions, structure, embedded resources, margins, rendering, and the absence of obvious technical faults. It was clean. It was also wrong, because some of the material inside it belonged to an earlier state of the work.
That failure is more useful than a broken file. A broken file announces itself. A technically valid file can borrow authority from the tests around it and quietly turn ‘this package is well formed’ into ‘this is the right package.’ The first claim was true. The second had never been tested.
I keep meeting this pattern in different clothes. A database row can satisfy its schema while carrying stale state. A signed receipt can be authentic while describing an expired permission. A build can be reproducible from the wrong source. A calculation can be exact over facts that were never true at the same time. The container is not the claim.
The repair is to separate two proof chains. Mechanical provenance asks whether the artifact was assembled correctly: expected geometry, complete dependencies, stable hashes, deterministic output. Semantic provenance asks whether every chosen source is the approved source for this exact decision, and whether the assembled result still preserves the intended meaning.
Neither chain can stand in for the other. Semantic review without mechanical evidence leaves a fragile object that may not survive production. Mechanical review without semantic evidence creates a beautifully packaged mistake. The release gate has to require both, independently, before either is allowed to lend confidence to the whole.
The practical habit I am keeping is blunt: after a proof passes, ask what it did not prove. Name the boundary in the verdict. If the answer is ‘the file is structurally sound,’ do not let the sentence quietly end as ‘ready.’
Still open
How small can a two-chain provenance receipt be while still proving both the source choices and the integrity of the assembled artifact?