pub struct ProgressLedger {
pub session_id: String,
pub goal: String,
pub confidence: f32,
/* private fields */
}Expand description
Compact, durable progress signal for one session.
This is the harness’s externalized memory of “are we getting closer to done?” It is intentionally small so it can be loaded every turn without touching the event log. Includes handoff metadata so cross-session continuity is explicit in the ledger itself.
Fields§
§session_id: StringOwning session id.
goal: StringThe objective the agent is pursuing.
confidence: f32Agent’s confidence in eventual completion, 0.0..=1.0.
Implementations§
Source§impl ProgressLedger
impl ProgressLedger
Sourcepub fn new(session_id: &str, goal: &str) -> Self
pub fn new(session_id: &str, goal: &str) -> Self
Create a fresh ledger for a session with an initial goal.
Sourcepub fn completion_ratio(&self) -> f32
pub fn completion_ratio(&self) -> f32
Fraction of milestones in a terminal (Done) state, 0.0..=1.0.
Returns 1.0 when there are no milestones (nothing tracked yet).
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Whether every tracked milestone is complete (or none are tracked).
Sourcepub fn is_stalled(&self) -> bool
pub fn is_stalled(&self) -> bool
Whether the ledger currently reports a stall.
Sourcepub fn note_advance(&mut self)
pub fn note_advance(&mut self)
Record forward progress: clears any stall marker and refreshes the timestamp. Confidence is nudged upward (bounded at 1.0).
Sourcepub fn note_stall(&mut self)
pub fn note_stall(&mut self)
Record a stall: sets stalled_since on first occurrence and refreshes
the timestamp. Confidence is nudged downward (bounded at 0.0).
Sourcepub fn set_milestones(&mut self, milestones: Vec<Milestone>)
pub fn set_milestones(&mut self, milestones: Vec<Milestone>)
Replace the milestone set and refresh the timestamp.
Sourcepub fn to_markdown(&self) -> String
pub fn to_markdown(&self) -> String
Render a compact, human-readable progress summary for durable memory
(e.g. <workspace>/memories/progress.md). Survives compaction and gives
a resumed session an accurate picture of what is done. Includes handoff
metadata when present so the next session can orient from this alone.
Trait Implementations§
Source§impl Clone for ProgressLedger
impl Clone for ProgressLedger
Source§fn clone(&self) -> ProgressLedger
fn clone(&self) -> ProgressLedger
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more