Structs§
- Authority
- Canonical
Json - JSON held in canonical form — parsed and re-emitted with sorted object keys and no
insignificant whitespace — so two semantically-equal JSON values share identical bytes
and therefore identical hashes (ADR 0004
item 6). The inner form is an invariant: there is no way to construct a non-canonical
value. Build via
FactValue::json/CanonicalJson::new; the canonicalization is re-applied on deserialize, so the invariant also holds on the trusted-reload path. - Confidence
- Evidence
- Fact
Event - Predicate
- Provenance
- Subject
- Write
Attestation - A per-write source signature carried inside
Provenance(ADR 0013). The signed message iscrate::attestation_message— the domain-framed canonical bytes of the event withattestationstripped — so any holder ofpublic_keycan re-verify offline that the event content is exactly what the source key signed. The hash chain covers the attestation bytes themselves, so the attestation is as tamper-evident as the rest of the event.
Enums§
- Attestation
Algorithm - The attestation signature scheme. A closed enum (not a free string) so an unknown or misspelled algorithm fails loudly at deserialize time instead of silently “verifying”.
- Authority
Level - Challenge
Kind - What kind of write the incumbent was challenged by (ADR 0015). Only challenges that
were real contests lost on strength are recorded — see
ChallengeRejection. - Challenge
Rejection - Why the firewall rejected the challenge (ADR 0015). These are the strength-based rejections; malformed writes, duplicates, and terminal-state mutations are not “survived” challenges and are never recorded.
- Contradiction
Basis - Evidence
Kind - Expiration
Reason - Fact
Event Kind - Fact
Value - Retraction
Reason - Supersession
Reason - Ttl
- Validation
Error