manifest.json v0.38.0) that pin the exact bytes and SHA-256 hashes of the receipt, mandate, and reference-chain lifecycle, cross-validated across ten independent language implementations at 1226/1226 agreements and reproducible offline with no AlgoVoi infrastructure.
Last updated: 3 August 2026.
The canonicalisation substrate is anchored by 45 conformance vector sets totalling 374 vectors (authoritative totals in the corpus manifest.json, v0.38.0, 2026-07-21). Sixteen sets were validated byte-for-byte across ten independent reference implementations (Python, TypeScript, Go, Rust, Java, PHP, .NET, Ruby, Elixir, Kotlin) at 1226/1226 directly-executed agreements (cumulative through 2026-07-21); a further set (zkp_receipt_v1) was directly executed across five implementations on 2026-06-04, with the remaining three confirmed by transitivity. The newest sets, the open decision-chain lite family (agent_passport_lite_v1, payment_mandate_lite_v1, compliance_gate_lite_v1, spend_guardrail_lite_v1, cancellation_receipt_lite_v1, refund_receipt_lite_v1, composite_trust_query_lite_v1) plus substrate_guard_v1, are cross-validated Python and TypeScript byte-for-byte. They compose into one recomputable lifecycle, proven end to end by the spend_decision_chain_v1 keystone (8/8 links).
2026-07-09: Elixir (jcs, pzingg/jcs on hex.pm) and Kotlin/JVM (java-json-canonicalization) were added and directly executed against all 11 of the previously-8-language sets (retention_chain_v1, retention_chain_v0, compliance_receipt_v1, settlement_attestation_v1, cancellation_receipt_v1, refund_receipt_v1, composite_trust_query_v1, action_ref_exactly_once_v1, pef_v1, epi_interop_v0, epi_pqc_v0 JCS vectors), each independently byte-for-byte verified against the existing expected hashes — see the corpus repo’s _attestations/2026-07-09-*.md files. On 2026-07-19 Elixir and Kotlin were extended to the remaining 3 sets, and a new edge-case set (jcs_edge_v1: U+2028/U+2029 literal UTF-8, non-BMP key ordering by UTF-16 code units, 1.0 vs 1) was added across all ten implementations from inception — which also caught and patched a U+2028/float gap in the corpus’s own stdlib PHP serialiser, the PHP instance of the a2a-go#368 fix. Combined directly-executed total: 1226/1226.
The original four sets are published as standalone public gists under gist.github.com/chopmob-cloud/. All twenty-five sets - covering the full receipt lifecycle (compliance, settlement, cancellation, refund, composite-trust-query), the Payment Evidence Frame, the ZKP receipt, the exactly-once action lifecycle and adversarial isolation fixtures, RFC 9421 HTTP signatures (legacy algovoi-v0 base and the RFC 9421 §2.5-conformant rfc9421_proxy_chain_v1), and the Ed25519 multi-chain fixture - are published in the chopmob-cloud/algovoi-jcs-conformance-vectors corpus repo with per-set runners for ten language implementations. The repo manifest.json is the authoritative per-set inventory (counts + LF-pinned SHA-256). No login is required to view or reproduce any of them.
L1 and L2. These sets anchor AlgoVoi’s authored L1 in two parts - the RFC 8785 (JCS) canonicalisation substrate and the RFC 9421 §2.5 signing-base (rfc9421_proxy_chain_v1). Layers built on top are L2 (e.g. rfc9421_receipt_evidence_v0): build them freely; the one ask is to attribute the L1 you build on (keep the NOTICE, import by hash).
For the normative rules, the ten-implementation matrix, and how to validate against these sets, see JCS Canonicalisation Substrate.
The four anchor sets
AP2 open_mandate_hash v0
7 vectors, 4 pair-invariants. Content-addressable mandate hash for AP2 payment mandates. Anchors AP2 issue #265.
CTEF + APS v1 receipts
14 vectors (4 CTEF + 10 APS), 10 pair-invariants. Composable trust-evidence and agent-passport receipt canonicalisation. Anchors the A2A #1734 v0.3.3 rows. Removed from the corpus 2026-06-23.
privacy_class v0.1
13 vectors, 12 pair-invariants. Settlement-plane visibility attestation canonicalisation. Anchors x402 PR #2334.
per_chain_envelope v0
19 vectors across 7 chain families, 9 pair-invariants. Chain-native amount and address field canonicalisation.
45 sets total, 374 vectors (authoritative totals in the corpus
manifest.json, v0.38.0, 2026-07-21). A separate grammar set, caip_edge_v1 (102 vectors), pins CAIP-2/10/19 identifier verdicts rather than canonical bytes and is deliberately NOT folded into these anchor-set totals. All sets are published under Apache 2.0 except retention_chain_v0 and retention_chain_v1, which are published under the AlgoVoi Commercial Software Licence. The PQC signature-suite set (AP2 PQC v0, Falcon-1024 + ML-DSA-65 + ES256 + Ed25519) is documented separately on the PQC substrate page.
Reproducing the matrix
All four sets are mirrored in three places so a reviewer can re-run the byte-for-byte matrix from any of them:Standalone corpus repo
chopmob-cloud/algovoi-jcs-conformance-vectors — AlgoVoi-authored standalone repo carrying all four anchor sets in vectors/, the JSON Schema for the compliance receipt in schemas/, and per-set Python / JS / Go / Java runner harnesses. The canonical citation surface for the matrix.x402 Foundation in-tree
x402#2412 places the full 53-vector set in fixtures/canonicalisation-substrate/v0/ in the x402 Foundation repo, mirroring the gists by content hash.agentgraph in-tree
agentgraph-co/agentgraph#21 (merged) places the four single-file runners (Python / JS / Go / Java) plus all 53 vectors and 37 pair-invariants in tests/cross-impl/.retention_chain_v0 and retention_chain_v1 which are published under the AlgoVoi Commercial Software Licence.
Reference implementations
The substrate primitives that consume these vectors are published as installable packages:algovoi-substrate(PyPI, Python) - wraps[email protected]with the discipline rules.@algovoi/substrate(npm, TypeScript) - byte-for-byte parity with the Python sibling.
Proposal sets
Single-implementation AlgoVoi fixtures published for a standards discussion. Not cross-validated and not folded into the anchor-set or vector totals.svm_create_ata_v0 (Solana byte-pin, non-JCS)
Byte-pin conformance for the optional idempotent create-ATA at instruction index 2 in
the x402 exact SVM scheme. One positive plus three negatives; the accept fixture uses a
real derived ATA and the funder pin closes the rent-sponsorship griefing vector.
Published for x402 issue #2395 / PR #2798.
Frequently asked questions
How many JCS conformance vectors does the AlgoVoi corpus contain?
The corpus holds 45 anchor sets and 374 vectors (authoritative totals inmanifest.json v0.38.0). The vectors pin the exact canonical bytes and SHA-256
hashes for the receipt, mandate, and reference-chain lifecycle. Separate grammar
and proposal sets are tracked apart and deliberately not folded into the 374-vector
anchor total.
Which languages are the conformance vectors cross-validated across?
Sixteen sets are directly executed across ten independent JCS implementations (Python, JavaScript, Go, Rust, Java, PHP, C#/.NET, Ruby, Elixir, and Kotlin), including the RFC 8785 author’s own Java implementation, at 1226/1226 byte-for-byte agreements cumulative through 2026-07-21. The ten implementations are non-overlapping, so agreement is real independent corroboration.Are the AlgoVoi conformance vectors free to use?
Almost all sets are published under Apache 2.0 and need no login to view or reproduce. The two exceptions,retention_chain_v0 and retention_chain_v1, are
published under the AlgoVoi Commercial Software Licence. You keep the NOTICE
attribution and import by hash; everything you build on top is yours.
How do I verify an implementation against the vectors?
Installalgovoi-substrate (PyPI) or @algovoi/substrate (npm) and check your
output against the vector set in a few lines, or clone the corpus and run the
per-set runners for all ten languages. composition/verify_corpus.py reproduces
every set byte for byte with no AlgoVoi infrastructure involved.
See also
- JCS Canonicalisation Substrate for the five normative rules and the five-implementation matrix.
- Cell and KAF for the hermetic runtime that reproduces these vectors and the sealed, offline-verifiable receipt chain over each run.
- Audit verifier for the hosted + installable verifier that consumes bundles built against this substrate.
- Ecosystem contributions for the upstream PRs where these sets are referenced.