pub enum ResumeAction {
Skip,
CursorResume {
cursor_state: Value,
},
ReRun,
IdentityMismatch {
reason: String,
},
}Expand description
What the executor should do with one pre-mapped phase. The
planner emits one of these per phase keyed by identity-key
(see super::writer for the key shape).
Variants§
Skip
Phase already completed successfully on a prior
invocation, identity matches, and the operator declared
it idempotent. Executor emits the post-run summary line
for this phase as [skipped] and moves on; the writer
keeps the saved entry intact.
CursorResume
Phase was in-flight (Running) and recorded a cursor
snapshot the source factory understands. Executor
reconstructs the source via the factory, calls
restore_cursor(snapshot) on it, and runs the remaining
cycles per SRD-44 §“Tier 2”.
ReRun
Default — the phase runs from scratch this invocation.
Triggered by: no saved entry, declared checkpoint: none, saved status Pending/Failed, or Running
without cursor state.
IdentityMismatch
Saved entry exists, structural match holds, but the program hash differs (or some other identity mismatch). Executor re-runs the phase and the writer overwrites the stale entry. Carries a human-readable reason for the resume diagnostic banner.
Trait Implementations§
Source§impl Clone for ResumeAction
impl Clone for ResumeAction
Auto Trait Implementations§
impl Freeze for ResumeAction
impl RefUnwindSafe for ResumeAction
impl Send for ResumeAction
impl Sync for ResumeAction
impl Unpin for ResumeAction
impl UnsafeUnpin for ResumeAction
impl UnwindSafe for ResumeAction
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,
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