pub struct Step {
pub id: String,
pub after: Vec<String>,
pub gate: Option<Guard>,
pub done: Option<Guard>,
pub posture: Option<String>,
pub ground: Option<String>,
pub allow: Vec<String>,
pub deny: Vec<String>,
pub terminal: bool,
}Expand description
A node in the flow DAG — the only node type.
Fields§
§id: StringUnique step id.
after: Vec<String>Dependency step ids; this step is only eligible once all are done.
gate: Option<Guard>Extra eligibility predicate beyond dependencies.
done: Option<Guard>Completion condition. Required for non-terminal steps.
posture: Option<String>Instruction imposed while this step is active (projected as steering).
ground: Option<String>A grounding template projected while active: a curated, State-interpolated
fact line that pins the model to known values (anti-hallucination). See
render_ground. Serializable, like posture.
allow: Vec<String>Tools available while this step is active (whitelist; empty = no restriction).
deny: Vec<String>Tools forbidden while this step is active.
terminal: boolA terminal step — reaching it (deps + gate) marks it done with no milestone.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Step
impl<'de> Deserialize<'de> for Step
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 Step
impl !RefUnwindSafe for Step
impl Send for Step
impl Sync for Step
impl Unpin for Step
impl !UnwindSafe for Step
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