pub enum RunMode {
Interactive,
Hybrid,
Headless,
}Expand description
The user-facing run mode — who/what drives the loop plus which dispatch
mechanism each task rides on. This is the parity vocabulary documented in the
README (§Run modes); it maps down to a DispatchMechanism via
RunMode::mechanism. hybrid and headless both ride on
Cli and differ only in whether a session drives
the loop — a distinction we persist (in conditions.json) even though it
doesn’t change how a single task reaches the harness.
Variants§
Interactive
In-session subagent dispatch (Claude Code’s Task tool).
Hybrid
An agent session orchestrates while each dispatch shells out to the
harness CLI (claude -p, codex exec).
Headless
No session drives the loop; eval-magic commands dispatch through the harness CLI end to end.
Implementations§
Source§impl RunMode
impl RunMode
Sourcepub fn mechanism(self) -> DispatchMechanism
pub fn mechanism(self) -> DispatchMechanism
The dispatch mechanism this run mode rides on.
Sourcepub fn default_for(harness: Harness) -> RunMode
pub fn default_for(harness: Harness) -> RunMode
The default run mode for a harness when --run-mode is omitted, chosen to
preserve today’s behavior: Claude Code → interactive, the CLI-dispatch
harnesses → hybrid.
Trait Implementations§
impl Copy for RunMode
Source§impl<'de> Deserialize<'de> for RunMode
impl<'de> Deserialize<'de> for RunMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RunMode
impl StructuralPartialEq for RunMode
Auto Trait Implementations§
impl Freeze for RunMode
impl RefUnwindSafe for RunMode
impl Send for RunMode
impl Sync for RunMode
impl Unpin for RunMode
impl UnsafeUnpin for RunMode
impl UnwindSafe for RunMode
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.