Continuity Receipt
An open specification, test vectors, and reference verifier for verifiable records of governed AI-agent tasks.
Spec version: continuity-receipt/0.2 — published 2026-09-18 (0.1 remains supported; open items listed in SPEC.md §11).
License: Apache-2.0 (specification text, code, and vectors).
A Continuity Receipt is a signed, hash-chained record of one governed task: decision → authority → execution → delivery → termination → settlement. It is designed to be verified offline by any third party — insurers, arbiters, procurement, courts, other agents — without requiring trust in the issuer.
The spec is intentionally small: JSON (RFC 8785 canonicalization), SHA-256, Ed25519, did:key identities. No new cryptography. Redaction uses salted commitments so fields can be revealed selectively without breaking integrity; erasure makes commitments opaque while the chain still verifies.
Why this exists
Agents are accumulating persistent memory and doing delegated work at scale, but accountability is still self-reported. This document is the opposite: claims arrive with evidence, missing evidence is distinguished from false evidence, and "proof it stopped" (task.termination) is required for a task to verify as complete.
Verification verdicts (IETF CTQ-aligned):
TRUSTED · PROVISIONAL · INSUFFICIENT_EVIDENCE · UNTRUSTED.
INSUFFICIENT_EVIDENCE is explicitly not the same as false.
Layout
SPEC.md the v0.2 specification (normative; 0.1 supported)
schema/ JSON Schema (2020-12) for 0.1 + 0.2 bundles
THREAT_MODEL.md what receipts prove, and what they do not
ANCHORING.md anchoring policy: OpenTimestamps default, chain optional
CONTRIBUTING.md DCO, test rules, scope
ROADMAP.md what lands in 0.3 and beyond, and the selection rule
continuity_receipt/ reference implementation (Python, cryptography>=42)
vectors/ 20 test vectors + INDEX.md + manifest.json
tools/make_vectors.py regenerates the vectors deterministically
tests/ conformance suite (vectors, schema, primitives)
Quickstart
python3 -m venv .venv && . .venv/bin/activate
pip install 'cryptography>=42'
# verify a vector (TRUSTED / PROVISIONAL / INSUFFICIENT_EVIDENCE / UNTRUSTED)
python3 -m continuity_receipt.verify vectors/02_happy_full.json
# vectors that require an anchor policy
python3 -m continuity_receipt.verify vectors/10b_anchor_missing.json --require-anchor
# run the conformance suite (11/11 expected)
python3 -m unittest discover -s tests -v
Test vectors
20 vectors with machine-readable expectations in vectors/manifest.json
(human index: vectors/INDEX.md): 0.1 conformance (01–10c) plus 0.2
additions — succession records, millisecond timestamps, counterparty
attestations, revocation semantics, Merkle provenance, and anchor typing.
Every schema-valid vector is also checked against
schema/continuity-receipt-0.2.schema.json in CI.
Status and provenance
- Origin: developed in the MandalaOS gate-lite work, where it passed acceptance G1–G8 and the wider project suite (49 tests, dogfood evidence). This repository is the format's public home; it versions independently of any product release train.
- Releases:
0.1(2026-09-18) — spec, reference verifier, 11 vectors.0.2(2026-09-18) —authority.succession, bundle-level revocation statements, counterparty attestation rules, millisecond timestamps,merkle-sha256:provenance, anchor typing, JSON Schema, CI, machine-readable vector manifest. - Origin implementation: WhiteMagic — an MIT, local-first memory substrate for agents (this spec repo is Apache-2.0; the two are separate works).
- Standards context: the format is intended as a contribution to the emerging neutral layer (W3C AI Agent Memory Interoperability CG; IETF agentproto work). It is not endorsed by those bodies, and no claim of adoption is made.
Development disclosure
This project is developed with AI agents as drafting, implementation, and review collaborators, under the direction and accountability of the human maintainer. Every artifact published here — spec text, code, vectors — is reviewed and signed off by the human maintainer, who is responsible for its claims. We disclose this proactively because verifiability is the project's subject as well as its method.
Contributing
Open an issue for spec questions, mapping suggestions, or implementation feedback. Interoperability discussion belongs in the open standards venues; this repository tracks concrete text and vectors.
License
Apache License 2.0 — see LICENSE. The specification is published for royalty-free implementation. Test keys in the vectors are deterministic and public; never use them for real receipts.
Release files for continuity-receipt 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| continuity_receipt-0.2.0.tar.gz | 58.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| continuity_receipt-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.9 kB
Release files / continuity_receipt-0.2.0.tar.gz
| Download URL | continuity_receipt-0.2.0.tar.gz |
|---|---|
| Size | 58.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
959c493b1d8b9a381f0a5faf46f8f6fd6b10bc40c0c3c3ca927b5c90f77a0c0b
|
|
BLAKE2b-256 checksum How to use checksums |
1496b5647edc16b2fe22b9b423d76b7094f961ad4055fbe0c3c95e2f41a80a87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Zorin OS","version":"18","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / continuity_receipt-0.2.0-py3-none-any.whl
| Download URL | continuity_receipt-0.2.0-py3-none-any.whl |
|---|---|
| Size | 21.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c89c07ea1c39ec00d29b40c0479ac41b17b8a1eca19d605363681042fb1ab29d
|
|
BLAKE2b-256 checksum How to use checksums |
fbf67ba935694bf1bd99ef35edad8d935111a30c9e8750ecafd967dacf9542e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Zorin OS","version":"18","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|