pub struct ResearchDecisionRecord {
pub sequence: u64,
pub decision_uuid: Uuid,
pub operation_uuid: Uuid,
pub request_sha256: [u8; 32],
pub authority: ResearchAuthority,
pub subject_kind: ResearchSubjectKind,
pub subject_uuid: Uuid,
pub kind: ResearchDecisionKind,
pub creator_uuid: Uuid,
pub source_version_uuid: Option<Uuid>,
pub recorded_at: i64,
}Expand description
Append-only current authority history, separate from frozen research.
Fields§
§sequence: u64Monotonic native publication order; caller timestamps do not order authority.
decision_uuid: UuidImmutable event identity.
operation_uuid: UuidStable publication operation identity.
request_sha256: [u8; 32]Canonical public request commitment for exact replay/conflict detection.
Destination authority and context.
subject_kind: ResearchSubjectKindTyped accepted/integrated subject.
subject_uuid: UuidPublic subject UUID.
kind: ResearchDecisionKindExplicit integration/promotion/revocation decision.
creator_uuid: UuidAnalyst/agent metadata.
source_version_uuid: Option<Uuid>Exact incorporated source Version, when applicable.
recorded_at: i64UTC microseconds recorded with the decision.
Implementations§
Source§impl ResearchDecisionRecord
impl ResearchDecisionRecord
Sourcepub fn fingerprint(&self) -> Result<[u8; 32], KnowledgeError>
pub fn fingerprint(&self) -> Result<[u8; 32], KnowledgeError>
Commit exact publication order, destination authority and explicit decision.
Trait Implementations§
Source§impl Clone for ResearchDecisionRecord
impl Clone for ResearchDecisionRecord
Source§impl Debug for ResearchDecisionRecord
impl Debug for ResearchDecisionRecord
Source§impl<'de> Deserialize<'de> for ResearchDecisionRecord
impl<'de> Deserialize<'de> for ResearchDecisionRecord
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ResearchDecisionRecord
Source§impl PartialEq for ResearchDecisionRecord
impl PartialEq for ResearchDecisionRecord
Source§impl Serialize for ResearchDecisionRecord
impl Serialize for ResearchDecisionRecord
impl StructuralPartialEq for ResearchDecisionRecord
Auto Trait Implementations§
impl Freeze for ResearchDecisionRecord
impl RefUnwindSafe for ResearchDecisionRecord
impl Send for ResearchDecisionRecord
impl Sync for ResearchDecisionRecord
impl Unpin for ResearchDecisionRecord
impl UnsafeUnpin for ResearchDecisionRecord
impl UnwindSafe for ResearchDecisionRecord
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
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,
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§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
Compare self to
key and return true if they are equal.