pub struct AutonomousSession {
pub goal_id: String,
pub goal_text: String,
pub state: AutonomousState,
pub turns_executed: u32,
pub max_turns: u32,
pub stuck_count: u32,
pub supervisor_fail_count: u32,
pub cancel: CancellationToken,
pub last_verdict: Option<SupervisorVerdict>,
pub started_at: Instant,
pub supervisor_retry_at: Option<Instant>,
}Expand description
Live state for one autonomous goal execution session.
At most one instance exists at a time, held inside AutonomousDriver::session.
Fields§
§goal_id: StringUUID of the crate::goal::Goal being executed.
goal_text: StringCached goal text used for synthetic message injection.
state: AutonomousStateCurrent FSM state.
turns_executed: u32Total turns executed so far in this session.
max_turns: u32Turn limit for this session (from config or per-invocation --turns N).
stuck_count: u32Number of consecutive turns the stuck heuristic fired with no progress.
supervisor_fail_count: u32Number of consecutive supervisor verification failures (timeout, 429, auth error).
cancel: CancellationTokenCooperative cancellation signal; checked before each tool call inside a turn.
last_verdict: Option<SupervisorVerdict>Last verdict received from the supervisor, if any.
started_at: InstantWall-clock time this session started.
supervisor_retry_at: Option<Instant>When set, the supervisor retry (after 429 backoff) should fire at or after this instant.
Implementations§
Source§impl AutonomousSession
impl AutonomousSession
Auto Trait Implementations§
impl Freeze for AutonomousSession
impl RefUnwindSafe for AutonomousSession
impl Send for AutonomousSession
impl Sync for AutonomousSession
impl Unpin for AutonomousSession
impl UnsafeUnpin for AutonomousSession
impl UnwindSafe for AutonomousSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request