Skip to main content

GoalTracker

Struct GoalTracker 

Source
pub struct GoalTracker { /* private fields */ }
Expand description

Pure state machine for goal tracking.

Implementations§

Source§

impl GoalTracker

Source

pub fn new(session_dir: PathBuf) -> Self

Create a new tracker with no active goal.

Source

pub fn from_snapshot(session_dir: PathBuf, snapshot: GoalOrchestration) -> Self

Restore tracker state from a persisted snapshot.

Source

pub fn snapshot(&self) -> Option<&GoalOrchestration>

Return an immutable reference to the current orchestration snapshot.

Source

pub fn snapshot_mut(&mut self) -> Option<&mut GoalOrchestration>

Return a mutable reference to the current orchestration snapshot.

Source

pub fn is_active(&self) -> bool

true if a goal is currently active.

Source

pub fn phase(&self) -> Option<GoalPhase>

Current execution phase, if a goal is active.

Source

pub fn status(&self) -> Option<GoalStatus>

Current lifecycle status, if a goal is active.

Source

pub fn current_subagent_id(&self) -> Option<&str>

ID of the currently executing subagent, if any.

Source

pub fn objective(&self) -> Option<&str>

Human-readable objective, if a goal is active.

Source

pub fn token_budget(&self) -> Option<i64>

Token budget cap, if set.

Source

pub fn create_goal( &mut self, goal_id: String, objective: String, token_budget: Option<i64>, token_baseline: i64, created_at: String, baseline_commit: Option<String>, )

Create a new goal. Replaces any existing orchestration.

Source

pub fn set_phase(&mut self, phase: GoalPhase)

Update the execution phase of the active goal.

Source

pub fn set_current_subagent(&mut self, id: Option<String>, role: Option<String>)

Update the current subagent ID and role.

Source

pub fn pause(&mut self, reason: GoalPauseReason) -> bool

Pause the goal with a specific reason. Only transitions from Active.

Source

pub fn pause_with_message( &mut self, reason: GoalPauseReason, message: String, ) -> bool

Like Self::pause but also stores a human-readable message.

Source

pub fn resume(&mut self) -> bool

Resume a paused goal (any paused variant). Returns true if applied.

Source

pub fn complete(&mut self) -> bool

Mark the goal as complete. Accepts Active or any paused variant.

Source

pub fn budget_limit(&mut self) -> bool

Mark the goal as budget-limited. Accepts Active or any paused variant.

Source

pub fn clear(&mut self)

Clear the goal entirely.

Source

pub fn account_elapsed(&mut self)

Flush elapsed wall-clock time into elapsed_ms.

Source

pub fn record_classifier_stall(&mut self, fingerprint: &str) -> bool

Record a NotAchieved rejection’s gap fingerprint and report whether the goal has stalled.

Source

pub fn rollback_classifier_attempt(&mut self)

Undo the most recent attempt-slot reservation.

Source

pub fn reset_classifier_stall(&mut self)

Clear the stall streak.

Source

pub fn record_not_achieved_streak(&mut self) -> u32

Increment the consecutive-NotAchieved streak and return the new value.

Source

pub fn claim_strategist_fire( &mut self, should_fire: impl Fn(u32, u32) -> bool, ) -> Option<u32>

Atomically evaluate the strategist trigger and claim a fire.

Source

pub fn revoke_strategist_cap_bonus(&mut self)

Revoke the cap bonus granted by Self::claim_strategist_fire.

Source

pub fn reset_strategist_state(&mut self)

Reset ALL strategist state.

Source

pub fn record_strategy_recommendation( &mut self, path: String, recommendation: String, )

Persist the strategist’s latest output path + short recommendation.

Source

pub fn append_history(&mut self, entry: GoalHistoryEntry)

Append a history entry to the active goal, if any.

Trait Implementations§

Source§

impl Debug for GoalTracker

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.