Receipt operations
Seal is the canonical reference for the four operations of the shipped v2
receipt verifier, checker/seal-receipt-v2.mjs. It describes TESTED behaviour
of that checker, not a claim that a receipt makes an outside event true.
The four verbs
Section titled “The four verbs”- READ parses and displays the receipt. It makes no authenticity claim, executes nothing, and asserts no validity.
- VALIDATE performs non-executing integrity checks: syntax, duplicate-member refusal, schema, canonical-value rules, field commitments, and a signature against the SUPPLIED key. It establishes that the receipt has the canonical parsed value signed by that key, not that the key is trusted.
- REPLAY loads the receipt’s recorded inputs, recomputes with the verifier’s local kernel, and compares its verdict with the recorded verdict. It establishes that those verdicts agree under those inputs, not that the verifier used the original kernel, nor authority or occurrence.
- VERIFY applies a NAMED profile to the available evidence and trust inputs, then emits a row-by-row report. It is never a synonym for “everything here is true”. No receipt-only profile may claim that the downstream effect occurred.
The verifier currently returns verify: false for every receipt. A positive
VERIFY is therefore unreachable. Supplying authorityRoot refuses with
authority roots cannot be checked by the v2 verifier; supplying
occurrenceWitness refuses with occurrence witnesses cannot be checked by the v2 verifier. The refusal is honest: the Phase A verifier has no format or
check for either input, so accepting either would turn an unchecked assertion
into supposed evidence. Presence is tested, including empty, null, zero, and
false values.
Shipped output
Section titled “Shipped output”The following block is rendered from the versioned v1 vector set
by the shipped verifier. It is checked in CI against format().
Document structure VALIDSignature and bindings UNVERIFIEDVerifier-local verdict REPRODUCEDAuthority key NOT ESTABLISHEDEvent occurrence NOT ESTABLISHED ------------------READ availableVALIDATE availableREPLAY availableVERIFY UNVERIFIEDThe five rows are independent: structure, signature and bindings, Verifier-local
verdict, authority key, and event occurrence. In particular, REPLAY does not
establish authority, and no row establishes occurrence.
Run it
Section titled “Run it”From the checkout root, run the linked v1 vector with Node 20 or newer:
node checker/seal-receipt-v2.mjs docs/reference/receipt-operations-v1/receipt-block.jsonThe normative envelope and canonicalisation rules remain in SEAL-RECEIPT-V2.md. This page owns the meaning of the four operational verbs and the trust ceiling of the shipped verifier.
Previous: Reference. Up: Reference. Next: Multi-tool semantics.