pub struct PromotionRecord {
pub gate_id: GateId,
pub policy_version_hash: ContentHash,
pub approver: Actor,
pub validation_summary: ValidationSummary,
pub evidence_refs: Vec<EvidenceRef>,
pub trace_link: TraceLink,
pub promoted_at: Timestamp,
}Expand description
Record of how a Fact was promoted.
This is REQUIRED on every Fact (not optional) per CONTEXT.md. It provides complete audit trail for the promotion process.
Fields§
§gate_id: GateIdWhich gate approved this promotion
policy_version_hash: ContentHashHash of the policy version used (for audit/replay)
approver: ActorWho approved the promotion
validation_summary: ValidationSummarySummary of validation checks
evidence_refs: Vec<EvidenceRef>References to supporting evidence
trace_link: TraceLinkTrace link for audit/replay
promoted_at: TimestampWhen the promotion occurred
Implementations§
Source§impl PromotionRecord
impl PromotionRecord
Sourcepub fn new(
gate_id: GateId,
policy_version_hash: ContentHash,
approver: Actor,
validation_summary: ValidationSummary,
evidence_refs: Vec<EvidenceRef>,
trace_link: TraceLink,
promoted_at: Timestamp,
) -> PromotionRecord
pub fn new( gate_id: GateId, policy_version_hash: ContentHash, approver: Actor, validation_summary: ValidationSummary, evidence_refs: Vec<EvidenceRef>, trace_link: TraceLink, promoted_at: Timestamp, ) -> PromotionRecord
Strict constructor - all fields required.
This enforces that promotion records are complete at construction time.
Sourcepub fn is_replay_eligible(&self) -> bool
pub fn is_replay_eligible(&self) -> bool
Check if the promotion is replay-eligible.
Trait Implementations§
Source§impl Clone for PromotionRecord
impl Clone for PromotionRecord
Source§fn clone(&self) -> PromotionRecord
fn clone(&self) -> PromotionRecord
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PromotionRecord
impl Debug for PromotionRecord
Source§impl<'de> Deserialize<'de> for PromotionRecord
impl<'de> Deserialize<'de> for PromotionRecord
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PromotionRecord, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PromotionRecord, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for PromotionRecord
impl Serialize for PromotionRecord
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for PromotionRecord
impl RefUnwindSafe for PromotionRecord
impl Send for PromotionRecord
impl Sync for PromotionRecord
impl Unpin for PromotionRecord
impl UnsafeUnpin for PromotionRecord
impl UnwindSafe for PromotionRecord
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
Mutably borrows from an owned value. Read more