pub const RECEIPT_VERSION: u32 = 2;Expand description
Version of the receipt format itself (evolution surface).
Version history:
- 1 — the signature covers the bare JCS canonicalization of the
body. Legacy; still verifiable (see
signing_message) but never issued anymore. - 2 — the signature covers a domain-separated message:
RECEIPT_DOMAIN_TAG_V2+ the u64 big-endian byte length of the JCS canonical body + the JCS canonical body bytes. This closes a cross-protocol confusion risk: the same Ed25519 key also feeds the journal-MAC KDF (journal.rs), and a signature over un-tagged bytes could in principle be replayed as a signature over some other protocol’s message. Mirrors the framing style ofjournal.rs(b"agentvisor-journal-v1\0"+ BE length prefixes).