pub struct RunRecord {
pub id: RunId,
pub task_id: TaskId,
pub status: RunStatus,
pub step_entries: Vec<StepEntry>,
pub degradations: Vec<DegradationEntry>,
pub operator_sid: Option<String>,
pub result_ref: Option<Value>,
pub input_json: Option<String>,
pub created_at: u64,
pub updated_at: u64,
}Expand description
One persisted Run row — one kick of a crate::store::task::TaskRecord.
Fields§
§id: RunIdRun identifier.
task_id: TaskIdThe Task this Run was kicked from.
status: RunStatusCurrent lifecycle status.
step_entries: Vec<StepEntry>Trace of dispatched steps, in append order.
degradations: Vec<DegradationEntry>Worker-reported degradations, in append order (GH #32). Independent
channel from Self::step_entries/Self::result_ref — see
DegradationEntry’s doc for the invariant. [] (the default) =
no degradations reported — every pre-#32 Run is unaffected.
operator_sid: Option<String>Operator session id bound to this Run, if any (WS operator correlation).
result_ref: Option<Value>The Run’s terminal result payload, set once by
RunStore::set_result. None while the Run is in flight.
input_json: Option<String>Opaque JSON snapshot of the launch input this Run was kicked with
(blueprint / init_ctx / operator injection / ttl / …). The server
serializes its own launch-input struct into this string at Run
creation time so an Interrupted Run can be resumed under the SAME
run_id without re-deriving the input from a since-stale request
body. The store treats it as an opaque blob — the schema is owned by
the caller (the server crate). None = no snapshot recorded (older
rows predating resume support, or a caller that never opts in); such
a Run cannot be resumed. Additive with #[serde(default)] so
pre-existing serialized rows deserialize unchanged.
created_at: u64Unix epoch seconds — creation time.
updated_at: u64Unix epoch seconds — last update time.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RunRecord
impl<'de> Deserialize<'de> for RunRecord
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>,
Source§impl JsonSchema for RunRecord
impl JsonSchema for RunRecord
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for RunRecord
impl RefUnwindSafe for RunRecord
impl Send for RunRecord
impl Sync for RunRecord
impl Unpin for RunRecord
impl UnsafeUnpin for RunRecord
impl UnwindSafe for RunRecord
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
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>
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