pub enum SchedulerAction {
Spawn {
task_id: TaskId,
agent_def_name: String,
prompt: String,
},
Cancel {
agent_handle_id: String,
},
RunInline {
task_id: TaskId,
prompt: String,
},
Done {
status: GraphStatus,
},
Verify {
task_id: TaskId,
output: String,
},
}Expand description
Actions the scheduler requests the caller to perform.
The scheduler never holds &mut SubAgentManager — it produces these
actions for the caller to execute (ADR-026 command pattern).
Variants§
Spawn
Spawn a sub-agent for a task.
Cancel
Cancel a running sub-agent (on graph abort/skip).
RunInline
Execute a task inline via the main agent (no sub-agents configured).
Done
Graph reached a terminal or paused state.
Fields
status: GraphStatusVerify
Request verification of a completed task’s output (emitted when verify_completeness=true).
The task stays Completed during verification. Downstream tasks are unblocked
immediately — verification is best-effort and does not gate dispatch.
The caller runs PlanVerifier::verify(), then optionally PlanVerifier::replan(),
then calls DagScheduler::inject_tasks() if new tasks were generated.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SchedulerAction
impl RefUnwindSafe for SchedulerAction
impl Send for SchedulerAction
impl Sync for SchedulerAction
impl Unpin for SchedulerAction
impl UnsafeUnpin for SchedulerAction
impl UnwindSafe for SchedulerAction
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