pub enum ForemanProgress {
SubtaskStarted {
subtask_id: String,
index: usize,
level: usize,
total: usize,
},
SubtaskVerifying {
subtask_id: String,
},
SubtaskGated {
subtask_id: String,
accepted: bool,
status: String,
},
}Expand description
A live per-subtask progress event from run_farm_out_with_progress. The
run-level stages (planning / planned / union_verified) are emitted by the
caller (e.g. the coder loop); this is the finer-grained per-subtask
lifecycle the batch return value (FarmOutResult) otherwise only exposes
after the whole run finishes. Used to drive a live UI (a foreman pane) that
shows each subtask’s worktree advancing and its gate verdict as it lands.
Variants§
SubtaskStarted
A subtask’s worktree was provisioned and its agent is starting. index
is its position in the original subtask list; level is its schedule
level (subtasks in the same level run concurrently); total is the batch
size.
SubtaskVerifying
The agent finished editing; the gate’s build/test is now running. This
phase can dominate wall-clock (a cold cargo check / swift build), so
it gets its own event — a live UI can show “verifying” distinctly from
“agent still editing” instead of one undifferentiated spinner.
SubtaskGated
A subtask reached a terminal state. status is one of accepted,
rejected, inconclusive, or error (agent/workspace failed before the
gate could run). accepted mirrors status == "accepted" for callers
that only need the boolean.
Trait Implementations§
Source§impl Clone for ForemanProgress
impl Clone for ForemanProgress
Source§impl Debug for ForemanProgress
impl Debug for ForemanProgress
impl Eq for ForemanProgress
Source§impl PartialEq for ForemanProgress
impl PartialEq for ForemanProgress
impl StructuralPartialEq for ForemanProgress
Auto Trait Implementations§
impl Freeze for ForemanProgress
impl RefUnwindSafe for ForemanProgress
impl Send for ForemanProgress
impl Sync for ForemanProgress
impl Unpin for ForemanProgress
impl UnsafeUnpin for ForemanProgress
impl UnwindSafe for ForemanProgress
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
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 more