02 — Schemas
Summary
The statement bodies, first pass. The structural decision the pack most wanted reviewed — a mandate is the issuer's statement so it lives in the issuer's record, with the subject appending an acceptance — was independently confirmed by the v0.33.61 register brief (evidence is appended by the asserter to its own record, never the subject's). One rule is absolute even with open data: the registry never contains a live capability; a grant records the hash of what was issued. Note: draft-1's grant definition is superseded by v0.33.61 — see change control C1.
Key concepts
- Where a mandate lives — the pack's main call, upgraded to corpus-aligned by C5
- Never a live capability — the hashes-on-the-server discipline applied to registry content
- The verification walk — roots, record, chain, acceptances, issuer chain, revocations — D5
Key ideas
- An unaccepted mandate is issuable but inert (proposed; open decision 8).
- Revocations carry effective_from, so history stays answerable.
- Identity statements say less on purpose: self-issued is the one place where less is more honest.
Read the document
📄 Pack document · 02__schemas.md · rendered from the raw markdown (the source of truth)