pub struct PhaseEntry {
pub identity: PhaseIdentity,
pub skip_eligible: bool,
pub params_consumed: Option<String>,
pub status: PhaseStatus,
pub duration_secs: Option<f64>,
pub op_counts: Option<OpCounts>,
pub cursor_state: Option<Value>,
pub error: Option<String>,
}Expand description
Per-phase entry in the checkpoint document.
Fields§
§identity: PhaseIdentityPhase identity tuple. The resume planner uses
(yaml_path, coords) as the structural match key and
(when present) the phase_hash as the sufficiency
check. See SRD-44 §“Phase identity”.
skip_eligible: boolWhether this phase is eligible to skip on resume
per its checkpoint: declaration. true means the
resume planner may classify the phase as Skip when
the saved status is Completed and identity matches.
false (operator declared checkpoint: none or no
declaration at all) means the phase always re-runs,
regardless of saved status.
params_consumed: Option<String>SRD-107 — the consumed-params map as canonical JSON
({"name":"<value sha256 hex>",…}); the per-param leg of
resume skip validity. None on entries written before
the field existed (their base hash never matches current
formulas, so they re-run regardless).
status: PhaseStatusLifecycle status at the time of the most recent flush.
duration_secs: Option<f64>Wall-clock duration of the successful execution.
Set when status transitions to Completed; preserved on
subsequent flushes. None for in-flight (Running) or
terminally-failed phases.
op_counts: Option<OpCounts>Op counts from the live activity. Captured on every flush; useful for ETA and post-run summary in resumed sessions.
cursor_state: Option<Value>Tier 2 only. Opaque cursor-state snapshot from the
active source factory, captured on each flush while
the phase is Running. Resume planner restores this
to a freshly-constructed cursor source so the phase
continues from where it left off.
error: Option<String>Per-phase error message recorded when the phase
transitioned to Failed — preserved across flushes
so resume diagnostics can reference the original
failure mode.
Trait Implementations§
Source§impl Clone for PhaseEntry
impl Clone for PhaseEntry
Source§impl Debug for PhaseEntry
impl Debug for PhaseEntry
Source§impl<'de> Deserialize<'de> for PhaseEntry
impl<'de> Deserialize<'de> for PhaseEntry
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>,
Auto Trait Implementations§
impl Freeze for PhaseEntry
impl RefUnwindSafe for PhaseEntry
impl Send for PhaseEntry
impl Sync for PhaseEntry
impl Unpin for PhaseEntry
impl UnsafeUnpin for PhaseEntry
impl UnwindSafe for PhaseEntry
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