pub struct RunOptions {Show 17 fields
pub max_tasks: Option<usize>,
pub approver: Option<Arc<dyn Approver>>,
pub progress: Option<Arc<dyn Progress>>,
pub parallel: usize,
pub lane: Option<String>,
pub cancel: Option<Arc<AtomicBool>>,
pub ignore_checklists: bool,
pub fresh_acceptance: bool,
pub allow_failing_baseline: bool,
pub run_grants: Arc<Mutex<Vec<Object>>>,
pub run_id: Arc<Mutex<RunId>>,
pub asked: Arc<Mutex<u32>>,
pub in_place: bool,
pub session: Option<Arc<Mutex<Session>>>,
pub bug_home: Option<Arc<NativeBug>>,
pub mode: RunMode,
pub agent: Option<String>,
}Expand description
How a run behaves beyond its configuration.
Fields§
§max_tasks: Option<usize>At most this many tasks in a feature run.
approver: Option<Arc<dyn Approver>>Who to ask inline when a call needs approval; without one,
the attempt stops and speccoder task approve decides.
progress: Option<Arc<dyn Progress>>Where live progress goes: the CLI’s printer.
parallel: usizeReady [P] tasks run at once, each in its own worktree; 0 or 1: one at a time.
lane: Option<String>Run the task in this lane’s worktree instead of the feature’s.
cancel: Option<Arc<AtomicBool>>Set by a person (an editor’s cancel): a feature run stops before its next task.
ignore_checklists: boolRun although the feature’s checklists have unchecked items; the override is recorded on every commit of the run.
fresh_acceptance: boolSet a task’s held or interrupted attempt aside and write its
acceptance tests anew (run --task T --fresh-acceptance).
allow_failing_baseline: boolAttempt although a check cannot run on the untouched code
(run --allow-failing-baseline); otherwise the run stops before any
model call (CHECK-BROKEN).
run_grants: Arc<Mutex<Vec<Object>>>Objects a person approved “for this run”: shared by every task (and
lane) of one speccoder run, gone with it.
run_id: Arc<Mutex<RunId>>The run: one per speccoder run from its fresh start; an
invocation that resumes a suspended attempt adopts that attempt’s.
Grants, the asking count and the batch are keyed by it.
asked: Arc<Mutex<u32>>Prompts the run has shown a person ([approvals] budget caps them).
in_place: boolRun in the person’s checkout on speccoder/<feature> instead of a
worktree (run --in-place).
session: Option<Arc<Mutex<Session>>>The in-place session the runtime opened for this run.
bug_home: Option<Arc<NativeBug>>Run a bug of the format’s own bug structure (no task list names it).
mode: RunModeHow the run asks for a person: Ask as today, or
Autopilot — nothing asks, a call that would is refused for the run
unless a grant in run_grants (the ones the person ticked) covers it.
agent: Option<String>This run’s agent (run --agent <id>): an ACP preset, or native
for speccoder’s own loop; speccoder.toml is untouched.
Implementations§
Trait Implementations§
Source§impl Clone for RunOptions
impl Clone for RunOptions
Source§impl Debug for RunOptions
impl Debug for RunOptions
Auto Trait Implementations§
impl !RefUnwindSafe for RunOptions
impl !UnwindSafe for RunOptions
impl Freeze for RunOptions
impl Send for RunOptions
impl Sync for RunOptions
impl Unpin for RunOptions
impl UnsafeUnpin for RunOptions
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<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