pub struct HandoffResult {
pub view: Vec<ChatMessage>,
pub log: ReductionLog,
pub kept_indices: Vec<usize>,
pub gap_ids: Vec<String>,
pub objective_source: ObjectiveSource,
pub objective_text: Option<String>,
}Expand description
The complete output of build_handoff.
Fields§
§view: Vec<ChatMessage>The projected view: banner+objective folded into the leading system-role message, followed by every kept message (in original order, with the standard lossless per-message reductions already applied) and one placeholder per cleared gap.
log: ReductionLogThe fresh reduction log this handoff establishes (SPEC.md: “a named
ReductionLog snapshot”) — the standard per-message passes plus one
TurnsCleared per gap. Never contains the banner/objective text.
kept_indices: Vec<usize>Canonical (sidecar) indices in the keep-set, sorted ascending.
gap_ids: Vec<String>The ids of the TurnsCleared reductions minted, one per gap, in
chronological (address) order.
objective_source: ObjectiveSourceWhere the objective paragraph came from.
objective_text: Option<String>The resolved objective text, if any (also folded into view[0], kept
here separately for callers/tests that want it without re-parsing).
Trait Implementations§
Source§impl Clone for HandoffResult
impl Clone for HandoffResult
Source§fn clone(&self) -> HandoffResult
fn clone(&self) -> HandoffResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more