Struct SopRun
pub struct SopRun {Show 14 fields
pub run_id: String,
pub sop_name: String,
pub trigger_event: SopEvent,
pub frame_marker_id: String,
pub status: SopRunStatus,
pub current_step: u32,
pub total_steps: u32,
pub started_at: String,
pub completed_at: Option<String>,
pub step_results: Vec<SopStepResult>,
pub waiting_since: Option<String>,
pub llm_calls_saved: u64,
pub revision: u32,
pub revision_base: u32,
}Expand description
A full SOP execution run (from trigger to completion).
Fields§
§run_id: String§sop_name: String§trigger_event: SopEvent§frame_marker_id: StringStable per-run boundary marker for untrusted trigger framing.
status: SopRunStatus§current_step: u32§total_steps: u32§started_at: String§completed_at: Option<String>§step_results: Vec<SopStepResult>§waiting_since: Option<String>ISO-8601 timestamp when the run entered WaitingApproval (for timeout tracking).
llm_calls_saved: u64Number of LLM calls saved by deterministic execution in this run.
revision: u32Gate-presentation counter: bumped on each Revise re-presentation AND on
each new checkpoint park after the first, so EVERY prompt this run ever
sends has a unique revision-qualified reference (<run_id>#<rev>; bare =
0, the run’s very first gate). An answer on a superseded prompt — an older
draft, or an earlier GATE’s leftover buttons — can never resolve the
current one.
revision_base: u32revision as of the CURRENT gate’s first presentation. revision - revision_base = re-drafts spent at this gate (the per-gate revise cap);
reset when a new checkpoint parks, untouched by revise re-parks.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SopRun
impl<'de> Deserialize<'de> for SopRun
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SopRun, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SopRun, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for SopRun
impl Serialize for SopRun
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for SopRun
impl RefUnwindSafe for SopRun
impl Send for SopRun
impl Sync for SopRun
impl Unpin for SopRun
impl UnsafeUnpin for SopRun
impl UnwindSafe for SopRun
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more