pub struct ProvenanceChain {
pub mission_id: String,
pub goal: Option<String>,
pub base_branch: Option<String>,
pub mission_branch: Option<String>,
pub base_sha: Option<String>,
pub gates: Vec<GateLink>,
pub sessions: Vec<SessionLink>,
pub decisions: Vec<DecisionLink>,
pub divergences: Vec<DivergenceLink>,
pub standards: Option<StandardsCoverage>,
pub outcome: Option<TerminalLink>,
}Expand description
The replayed chain: mission identity, the gate ladder, the sessions, the
human decisions, and the terminal outcome — every vec in log (seq) order.
None identity fields mean the log lacked the event that records them
(a hand-cut log); the chain still reconstructs around the gap.
Fields§
§mission_id: String§goal: Option<String>§base_branch: Option<String>§mission_branch: Option<String>§base_sha: Option<String>Base-branch commit SHA pinned at approval; None on pre-baseSha
logs.
gates: Vec<GateLink>§sessions: Vec<SessionLink>§decisions: Vec<DecisionLink>§divergences: Vec<DivergenceLink>The divergence ledger (KRZ-304): comparison records and their
resolutions, each pinned to its seq. Empty on pre-pool logs
(#[serde(default)] keeps a pre-field chain.json readable).
standards: Option<StandardsCoverage>The Flight Rules rule coverage matrix (KRZ-343, design D-H), folded
from the same log by crate::standards_coverage: every applicable
pinned rule’s disposition with its mechanism and evidence joins, the
resolution provenance, and any drift refusals. None — and absent
from the machine form — on missions with no approved standards pin
(every pre-Flight-Rules log), so those chains stay byte-identical.
outcome: Option<TerminalLink>The FIRST terminal event (a well-formed log has exactly one); None
while the mission is still in flight.
Trait Implementations§
Source§impl Clone for ProvenanceChain
impl Clone for ProvenanceChain
Source§fn clone(&self) -> ProvenanceChain
fn clone(&self) -> ProvenanceChain
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more