pub struct MissionOutcomes {
pub interventions: u64,
pub is_closed: bool,
pub latencies_ms: Vec<u64>,
pub escalations: Vec<EscalationRow>,
pub cost_usd: f64,
pub non_meta_commits: u64,
pub cycle_time_ms: Option<u64>,
pub task_class: Option<String>,
pub token_sums: Vec<BackendTokenSum>,
pub divergences: Option<DivergenceOutcomes>,
pub gate_score_samples: Vec<GateScoreSample>,
pub comparison: ComparisonInputs,
}Expand description
Per-mission fold intermediate (never serialized — the report structs are the wire surface; this lives in the memo cache and the aggregator).
Fields§
§interventions: u64§is_closed: bool§latencies_ms: Vec<u64>§escalations: Vec<EscalationRow>§cost_usd: f64Σ worker.completed costUsd, with token-priced fallback for runs that record none (mirrors cost::mission_total_cost’s rule).
non_meta_commits: u64§cycle_time_ms: Option<u64>created → terminal minus paused spans; None while no terminal event.
task_class: Option<String>The task-class recovered from the mission.created goal via
crate::ticket::parse_task_class_from_goal; None when the goal
carries no class heading (the “unclassified” row).
token_sums: Vec<BackendTokenSum>Token usage summed by recorded dispatch backend, falling back to the creation config only for legacy runs — the context-reuse split’s input.
divergences: Option<DivergenceOutcomes>The mission’s divergence ledger (KRZ-304) — None when the mission
recorded no divergence events at all (missions without pools:
absent, never a zeroed ledger).
gate_score_samples: Vec<GateScoreSample>The mission’s scored gate evaluations (KRZ-316): every gate.result
carrying a score pair, folded to (gate, score, threshold) samples —
the distribution flag fold’s per-mission input, memoized with the
rest of this struct so repeated requests never re-walk the log.
comparison: ComparisonInputsThe KRZ-333 comparison fold’s log-derived inputs, folded in the SAME scan as every other field and memoized alongside them (14th-pass review: the comparison path used to re-read every events.jsonl the native fold had just parsed — two scans per log per request). Only the git probes stay outside this struct: branch tips move independently of the log, so a merged bit can never ride the memo entry — it is probed live at report time.
Trait Implementations§
Source§impl Clone for MissionOutcomes
impl Clone for MissionOutcomes
Source§fn clone(&self) -> MissionOutcomes
fn clone(&self) -> MissionOutcomes
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more