pub struct LandingRecord {Show 15 fields
pub source_thread: Option<ThreadRef>,
pub source_revision: Option<RevisionRef>,
pub target_thread: Option<ThreadRef>,
pub result_revision: Option<RevisionRef>,
pub source_operation_digest: Vec<u8>,
pub expected_target_frontier: Vec<Vec<u8>>,
pub policy_version: Vec<u8>,
pub review_evidence_digests: Vec<Vec<u8>>,
pub initiating_request_proof_digest: Vec<u8>,
pub executor_key: Vec<u8>,
pub executor_trust_anchor_digest: Vec<u8>,
pub executed_at: Option<Timestamp>,
pub raw_signed_operation: Vec<u8>,
pub initiating_principal_id: String,
pub initiating_agent_id: String,
}Expand description
Decoded executor-signed integration, plus the exact signed Thread operation. The decoded fields are display/index hints, not independent authority. Verify raw_signed_operation against an independently pinned executor and referenced source, policy, review and evidence originals before trusting a landing. A local equivalent is a signed local target-history landing record with the same bindings, produced by a locally trusted executor. Only disclose these fields when the reader can inspect the corresponding signed originals.
Fields§
§source_thread: Option<ThreadRef>§source_revision: Option<RevisionRef>§target_thread: Option<ThreadRef>§result_revision: Option<RevisionRef>§source_operation_digest: Vec<u8>§expected_target_frontier: Vec<Vec<u8>>Exact sorted operation digests from the signed record, not a mutable tip.
policy_version: Vec<u8>§review_evidence_digests: Vec<Vec<u8>>Exact sorted digests from the signed record. Review and evidence originals are distinguished by resolving each digest, not by array position.
initiating_request_proof_digest: Vec<u8>Typed digest of the exact retained signed landing request proof. Weft must index and serve to authorized verifiers, by this digest, the canonical signed preimage (method, exact request body, timestamp, nonce and signing identity), signature, and portable account/delegation authority that bound the signer at admission. Do not disclose a reusable bearer credential. A digest or an account database row alone names no actor.
executor_key: Vec<u8>§executor_trust_anchor_digest: Vec<u8>Hosted integrations use the immutable Spool owner genesis. A local record can name its independently pinned local executor trust anchor.
executed_at: Option<Timestamp>§raw_signed_operation: Vec<u8>Exact original signed operation bytes, including signature. Locally signed integration records can use this slot with their own format and trust pin.
initiating_principal_id: StringDisplay attribution derived from the retained request proof and its verified account/delegation chain, never from the executor signature. Agent is empty for a direct principal request. If the proof or authority is unavailable, leave both IDs unset; do not guess from the uploader.
initiating_agent_id: StringTrait Implementations§
Source§impl Clone for LandingRecord
impl Clone for LandingRecord
Source§fn clone(&self) -> LandingRecord
fn clone(&self) -> LandingRecord
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 LandingRecord
impl Debug for LandingRecord
Source§impl Default for LandingRecord
impl Default for LandingRecord
Source§fn default() -> LandingRecord
fn default() -> LandingRecord
impl Eq for LandingRecord
Source§impl Hash for LandingRecord
impl Hash for LandingRecord
Source§impl Message for LandingRecord
impl Message for LandingRecord
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for LandingRecord
impl PartialEq for LandingRecord
impl StructuralPartialEq for LandingRecord
Auto Trait Implementations§
impl Freeze for LandingRecord
impl RefUnwindSafe for LandingRecord
impl Send for LandingRecord
impl Sync for LandingRecord
impl Unpin for LandingRecord
impl UnsafeUnpin for LandingRecord
impl UnwindSafe for LandingRecord
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more