pub struct WorkflowTrace {
pub schema_version: u8,
pub run_id: Option<String>,
pub events: Vec<WorkflowTraceEvent>,
pub branch_decisions: Vec<WorkflowBranchDecision>,
pub intent_resolutions: Vec<WorkflowIntentEvidence>,
}Expand description
Deterministic state-transition trace for replay and debugging.
Fields§
§schema_version: u8§run_id: Option<String>§events: Vec<WorkflowTraceEvent>§branch_decisions: Vec<WorkflowBranchDecision>§intent_resolutions: Vec<WorkflowIntentEvidence>Implementations§
Source§impl WorkflowTrace
impl WorkflowTrace
Sourcepub fn from_steps(steps: &[WorkflowStepRecord]) -> Self
pub fn from_steps(steps: &[WorkflowStepRecord]) -> Self
Build a stable trace from retained step histories.
Sourcepub fn validate(&self) -> Result<(), WorkflowValidationError>
pub fn validate(&self) -> Result<(), WorkflowValidationError>
Validate sequence ordering and the trace event budget.
Sourcepub fn replay(
&self,
workflow: &WorkflowDefinition,
) -> Result<Vec<WorkflowStepRecord>, WorkflowValidationError>
pub fn replay( &self, workflow: &WorkflowDefinition, ) -> Result<Vec<WorkflowStepRecord>, WorkflowValidationError>
Replay the trace into step records without dispatching browser work.
Replay is intentionally an inspection operation: it checks that the trace references the declared steps in order, follows the workflow state machine, and carries monotonic attempt numbers. A truncated trace is accepted as a valid prefix when it ends at the event budget.
Trait Implementations§
Source§impl Clone for WorkflowTrace
impl Clone for WorkflowTrace
Source§fn clone(&self) -> WorkflowTrace
fn clone(&self) -> WorkflowTrace
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WorkflowTrace
impl Debug for WorkflowTrace
Source§impl<'de> Deserialize<'de> for WorkflowTrace
impl<'de> Deserialize<'de> for WorkflowTrace
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 WorkflowTrace
impl RefUnwindSafe for WorkflowTrace
impl Send for WorkflowTrace
impl Sync for WorkflowTrace
impl Unpin for WorkflowTrace
impl UnsafeUnpin for WorkflowTrace
impl UnwindSafe for WorkflowTrace
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
Converts
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>
Converts
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