pub struct RegistryState {
pub status: Status,
pub lifecycle_events: Option<Vec<LifecycleEvent>>,
pub extensions: Map<String, Value>,
}Expand description
Mutable, registry-derived state returned alongside the Body on retrieval.
v0.1.0 contained only status; ACDP 0.3 adds the typed
lifecycle_events array (RFC-ACDP-0013,
promoting the RFC-ACDP-0009 §2.1 reservation). Registry state is
NEVER part of any hash or signature preimage — typing a formerly
opaque member is safe — but individual lifecycle events carry their
own signatures, so the event OBJECT parse is closed while unknown
event_type VALUES are tolerated (RFC-ACDP-0013 §7.3). Other
unknown fields are preserved verbatim in Self::extensions so
consumers can surface them to operators (RFC-ACDP-0004 §3
forward-compat) and re-serialize the state unchanged.
§Reserved extension field names (RFC-ACDP-0009 §2.1)
The following keys remain reserved for future RFCs. Until the
relevant RFC ships normative text, consumers see them in
Self::extensions (the #[serde(flatten)] map below).
| Name | RFC | Purpose |
|---|---|---|
relationships | RFC-ACDP-0009 §2.1 (reserved) | Post-publication builds_on / disputes etc. |
attestations | RFC-ACDP-0009 §2.1 (reserved) | Third-party reproduced / audit markers. |
subscriptions | RFC-ACDP-0009 §2.1 (reserved) | Push-subscription receipts. |
Fields§
§status: Status§lifecycle_events: Option<Vec<LifecycleEvent>>Append-only lifecycle event history (RFC-ACDP-0013 §4.1): events
in registry-accepted order; never removed, reordered, or
mutated. Omitted entirely (never []) when no events exist, per
the absent-vs-null wire convention (RFC-ACDP-0005 §2.2.1).
Emitted only by registries advertising acdp-registry-lifecycle.
The typed parse preserves round-trip fidelity: every event field
re-serializes byte-identically (strict canonical occurred_at,
verbatim unknown event_type values), so persisted registry
state — and the signed bytes inside each event — survive a parse
→ re-serialize cycle unchanged. An event violating the closed
object schema is malformed registry state and fails the parse
(RFC-ACDP-0013 §7.3).
extensions: Map<String, Value>Forward-compatible passthrough for fields added in future versions
(e.g. the reserved relationships, attestations,
subscriptions — see the type docs for the reserved set).
Implementations§
Source§impl RegistryState
impl RegistryState
Sourcepub fn is_retracted(&self) -> bool
pub fn is_retracted(&self) -> bool
The context’s retraction state (RFC-ACDP-0013 §7.1), derived
from Self::lifecycle_events: retracted iff the last
retracted/republished event in array order is retracted.
Unknown event types have no effect (§7.3).
Trait Implementations§
Source§impl Clone for RegistryState
impl Clone for RegistryState
Source§fn clone(&self) -> RegistryState
fn clone(&self) -> RegistryState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more