Test vectors

The vectors are normative. A conformant implementation produces the stated result for every vector of the specification it claims, and exactly the stated set of error codes or findings.

Specification Vectors What each vector holds
Decision Trace Format 1.0 19 trace.jsonl (or parent.jsonl and child.jsonl), keys.json, expected.json
Approval Protocol 1.0 16 trace.jsonl, keys.json, expected.json
Capability Schema 1.0 18 trace.jsonl, keys.json, expected.json
Authority Envelope 1.0 12 trace.jsonl (or parent.jsonl and child.jsonl), keys.json, expected.json
Organisation Schema 1.0 21 organisation.json, expected.json

The approval, capability and envelope vectors are also valid decision traces: a verifier runs the Decision Trace Format’s checks first, then the specification’s own.

The vectors are generated by the reference implementation, Rashnu, with fixed keys, so that they are reproducible byte for byte. The expected results are written from the text, not from what the implementation outputs. Where the two disagree, the text wins.

The files are in the repository.


Table of contents