pub enum Status {
Setup,
Running,
Reviewing,
Correcting,
Success,
Warning,
Error,
Idle,
}Expand description
Semantic status states for consistent status determination across UIs.
This enum represents the semantic meaning of a run’s status, abstracting away the underlying MachineState details. Both GUI and TUI should use these states to ensure consistent behavior.
The status values are:
Setup: Gray - setup/initialization phases (Initializing, PickingStory, LoadingSpec, GeneratingSpec)Running: Blue - active implementation work (RunningClaude)Reviewing: Amber - evaluation phases (Reviewing)Correcting: Orange - attention needed, fixes in progress (Correcting)Success: Green - success path (Committing, CreatingPR, Completed)Error: Red - failure states (Failed)Warning: Amber - general warnings (e.g., stuck sessions)Idle: Gray - inactive state (Idle)
Variants§
Setup
Setup/initialization state - displayed in gray.
Running
Active implementation work - displayed in blue.
Reviewing
Evaluation/review phase - displayed in amber.
Correcting
Attention needed, fixes in progress - displayed in orange.
Success
Success path (committing, PR, completed) - displayed in green.
Warning
Warning/attention needed - displayed in amber.
Error
Error/failure state - displayed in red.
Idle
Idle/inactive state - displayed in gray.
Implementations§
Source§impl Status
impl Status
Sourcepub fn from_machine_state(state: MachineState) -> Self
pub fn from_machine_state(state: MachineState) -> Self
Convert a MachineState to the appropriate Status.
Color mapping follows semantic meaning for state phases:
- Setup phases (Initializing, PickingStory, LoadingSpec, GeneratingSpec): Gray
- Active implementation (RunningClaude): Blue
- Evaluation phase (Reviewing): Amber
- Attention needed (Correcting): Orange
- Success path (Committing, CreatingPR, Completed): Green
- Failure (Failed): Red
- Inactive (Idle): Gray
Trait Implementations§
Source§impl StatusColors for Status
impl StatusColors for Status
impl Copy for Status
impl Eq for Status
impl StructuralPartialEq for Status
Auto Trait Implementations§
impl Freeze for Status
impl RefUnwindSafe for Status
impl Send for Status
impl Sync for Status
impl Unpin for Status
impl UnwindSafe for Status
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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.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