Skip to main content

Module model

Module model 

Source

Structs§

Authority
CanonicalJson
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
FactEvent
Predicate
Provenance
Subject
WriteAttestation
A per-write source signature carried inside Provenance (ADR 0013). The signed message is crate::attestation_message — the domain-framed canonical bytes of the event with attestation stripped — so any holder of public_key can 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§

AttestationAlgorithm
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”.
AuthorityLevel
ChallengeKind
What kind of write the incumbent was challenged by (ADR 0015). Only challenges that were real contests lost on strength are recorded — see ChallengeRejection.
ChallengeRejection
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.
ContradictionBasis
EvidenceKind
ExpirationReason
FactEventKind
FactValue
RetractionReason
SupersessionReason
Ttl
ValidationError