pub struct Step {
pub idx: usize,
pub kind: StepKind,
pub name: String,
pub inputs: Option<Payload>,
pub outputs: Option<Payload>,
pub attrs: Map<String, Value>,
pub t_start: Option<String>,
pub t_end: Option<String>,
pub parent_idx: Option<usize>,
}Expand description
One node in a trajectory.
Minimal valid step: idx, kind, name, and at least one of inputs/outputs. All
other fields are optional and omitted from serialization when empty, so re-emitted traces
stay compact without losing information.
Fields§
§idx: usize0-based position in the trajectory.
kind: StepKindStructural class of the step.
name: StringAgent or tool name — part of the structural identity the aligner keys on.
inputs: Option<Payload>Step input, if captured.
outputs: Option<Payload>Step output, if captured.
attrs: Map<String, Value>Anything else worth keeping (model, tokens, cost, …).
t_start: Option<String>RFC3339 start time. Display-only — never an alignment signal.
t_end: Option<String>RFC3339 end time. Display-only — never an alignment signal.
parent_idx: Option<usize>Caller step index; absent/null on every step means a linear chain.
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
impl StructuralPartialEq for Step
Auto Trait Implementations§
impl Freeze for Step
impl RefUnwindSafe for Step
impl Send for Step
impl Sync for Step
impl Unpin for Step
impl UnsafeUnpin 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