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.