pub struct ChangeSpineEnvelope {
pub actor_type: Option<String>,
pub acting_for: Option<String>,
pub schema_version: Option<String>,
pub tenant_id: Option<String>,
pub duration_ms: Option<i32>,
pub seq: Option<i64>,
}Expand description
Change-Spine envelope metadata delivered to subscription clients alongside the resolved entity data (#425).
Carries the audit / provenance context the Change-Spine records for every
change — who made it (actor_type), who a delegated agent acted for
(acting_for), the producer schema_version, the tenant_id, the mutation
duration_ms, and the durable seq. Serialized camelCase into the subscription
next payload’s extensions.changeSpine slot; None fields are omitted, so a
producer that stamped nothing yields an empty object (see Self::is_empty,
which callers use to skip emitting it entirely).
Fields§
§actor_type: Option<String>Actor classification of the request that produced the change:
"human_user", "service_account", "ai_agent", or "system_job" (#390).
acting_for: Option<String>For a delegated-agent request (RFC 8693 act claim), the public-facing UUID
of the underlying human the agent acts for (#390).
schema_version: Option<String>Schema version of the producer that wrote the change (#377).
tenant_id: Option<String>Public-facing tenant UUID stamp (a display copy of the event’s tenant_id;
server-side tenant filtering uses the event’s own field, not this).
duration_ms: Option<i32>Wall-clock duration of the originating mutation, in milliseconds.
seq: Option<i64>Monotonic Change-Spine sequence for durable ordering / dedup.
Implementations§
Trait Implementations§
Source§impl Clone for ChangeSpineEnvelope
impl Clone for ChangeSpineEnvelope
Source§fn clone(&self) -> ChangeSpineEnvelope
fn clone(&self) -> ChangeSpineEnvelope
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ChangeSpineEnvelope
impl Debug for ChangeSpineEnvelope
Source§impl Default for ChangeSpineEnvelope
impl Default for ChangeSpineEnvelope
Source§fn default() -> ChangeSpineEnvelope
fn default() -> ChangeSpineEnvelope
Source§impl<'de> Deserialize<'de> for ChangeSpineEnvelope
impl<'de> Deserialize<'de> for ChangeSpineEnvelope
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ChangeSpineEnvelope
Source§impl PartialEq for ChangeSpineEnvelope
impl PartialEq for ChangeSpineEnvelope
Source§fn eq(&self, other: &ChangeSpineEnvelope) -> bool
fn eq(&self, other: &ChangeSpineEnvelope) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ChangeSpineEnvelope
impl Serialize for ChangeSpineEnvelope
impl StructuralPartialEq for ChangeSpineEnvelope
Auto Trait Implementations§
impl Freeze for ChangeSpineEnvelope
impl RefUnwindSafe for ChangeSpineEnvelope
impl Send for ChangeSpineEnvelope
impl Sync for ChangeSpineEnvelope
impl Unpin for ChangeSpineEnvelope
impl UnsafeUnpin for ChangeSpineEnvelope
impl UnwindSafe for ChangeSpineEnvelope
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.