pub enum RunOutcome {
Finished {
verdict: Option<Verdict>,
},
Suspended,
Blocked {
reason: BlockedReason,
},
AwaitingHuman {
pending: HumanPending,
},
}Expand description
Terminal outcome of Runner::run / Runner::resume.
Variants§
Finished
The run reached runFinished. verdict is the folded flow verdict;
absent when no step produced a verdict (all-unverified flows) or
when the run was aborted by a cancelled action terminal.
Suspended
The run reached runSuspended (stop token at a step boundary, or a
provider error left an action without a terminal — resume
reconciles it).
Blocked
The run cannot proceed without a human decision: a drifted
preflight whose onResumeDrift ladder is exhausted (or absent), or
a reconcile adjudication that could not even be requested (defense
line). The store records a runSuspended with the reason.
Fields
reason: BlockedReasonWhy a human is required.
AwaitingHuman
A human interaction (human step or R13 supervision gate) is
pending: humanRequested is fsynced and runSuspended recorded —
the runner never blocks waiting. The attached-TTY inline experience
lives in the CLI layer (collect a response through the store
arbitration, then resume in the same process); resume settles the
paired response, re-awaits an unanswered one, or lazily settles an
expired deadline to unknown (06 §5.3).
Fields
pending: HumanPendingThe pending request (also materialized in
CheckpointView.humanPending).
Trait Implementations§
Source§impl Clone for RunOutcome
impl Clone for RunOutcome
Source§fn clone(&self) -> RunOutcome
fn clone(&self) -> RunOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more