01 — Architecture
Summary
The registry as one public vault: one record per participant keyed by signing fingerprint, each record a numbered sequence of immutable signed statement files forming a hash chain, current state read-to-the-end. The write path is the shipped account-less append lane feeding a trusted processor — the only holder of the vault write key, possibly itself an LLM session with a runbook. The four rules are implemented as processor checks plus a public validator in CI; the storage layer never understands the registry, which is both the stated weakness (detectable, not preventable) and the portability property.
Key concepts
- One record shape for everybody — issuers are participants in roots.json, not a different storage shape
- The statement envelope — seq + prev make a hash chain; signer serves self- and issuer-signed statements in one shape
- The index carries no authority — a curated convenience, regenerable from the records by anyone
Key ideas
- Numbered immutable files fit the platform's one-year-immutable caching contract.
- Proposed bounds — 256 statements, 512 KB per record, 8 KB per statement — are published to be argued with.
- Canonicalisation (jq -cS, sig absent) is versioned in params.json with the same precision as the key algorithm.
Read the document
📄 Pack document · 01__architecture.md · rendered from the raw markdown (the source of truth)