pub struct PlanGraph {
pub deliverables: Vec<Deliverable>,
pub max_chained_dispatch: Option<u32>,
}Expand description
Full plan submitted to crate::ports::Planner::submit_plan.
A plan is a DAG of Deliverables connected by the
prerequisites field. The Planner is responsible for detecting cycles,
missing prerequisite references, and duplicate ids; on any structural
problem it returns PlannerError::InvalidGraph with a precise
reason.
Fields§
§deliverables: Vec<Deliverable>Every deliverable in the plan. Order is irrelevant; the Planner
derives execution order from the prerequisites edges.
max_chained_dispatch: Option<u32>Optional global guardrail: maximum number of deliverables that may
be dispatched in one chained sequence before the orchestrator must
pause for explicit re-prompt. None means no limit. Carried at the
graph level rather than per-deliverable because it reflects an
operator policy, not a property of any single task.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PlanGraph
impl<'de> Deserialize<'de> for PlanGraph
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PlanGraph
impl RefUnwindSafe for PlanGraph
impl Send for PlanGraph
impl Sync for PlanGraph
impl Unpin for PlanGraph
impl UnsafeUnpin for PlanGraph
impl UnwindSafe for PlanGraph
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
Mutably borrows from an owned value. Read more