consensus-receipt — draft
A verifiable multi-agent consensus decision carried alongside the evidence
it was drawn from. The conversation's messages ARE the evidence
transcript; the decision rides in extension fields:
- Conversation-level:
consensusReceipt(object — the full signed receipt envelope:payload,algorithm,public_key,signature,payload_hash,signed_at,metadata) andconsensusTranscripts(array of{ "id": string, "sha256": string }— one entry per source transcript, wheresha256is the hex digest over that document's canonical JSON serialization). - The receipt's signed payload embeds its own copy of the
consensusTranscriptsrefs. Verifiers recompute the hashes and compare — the decision is bound to this exact evidence or the artifact is invalid. - Writers SHOULD declare
agent-contextalongside this extension (the receipt's per-agent statements reference agents thatagent-contextprovenance describes). - The extension guarantees only preservation. Signature and quorum
verification semantics are writer-defined (tractum: Ed25519 or ML-DSA
over canonical JSON, k-of-n quorum in
payload.quorum). - Status:
draft— single implementation (tractum). Stable when a second independent implementation round-trips it.
This entry is also the extension mechanism working as designed: a new
capability class entered the format, version stayed 1, and no existing
file parsed differently.