Finalization and Unseal
In Anvil, finalization and reveal are one controlled boundary, not two independent switches. A run moves through composing, running, judging, and decided. Dad reviews the masked result and judge reasoning, then the verdict action finalizes the run and opens the identity mapping. An aborted run also seals its trail and reveals its cast.
This coupling protects the lifecycle. No caller can reveal a live sealed contest merely by opening provenance, and no finalized contest can remain in a misleading half-sealed state. The reveal serializer serves the mask-to-brain mapping only when the state is finalized or aborted.
Finalization freezes the contest record; it does not erase it. Artifacts, judgments, tie-breaks, and events stay append-only. A dissent note records Dad's disagreement without changing the judges' pick, and a rematch creates a fresh run instead of reopening the sealed one.
Open Runs use the same terminal boundary even though Dad already knows the field live. Their judges remain norm-masked until the verdict; finalization reveals only what the bench had not been served.