#[non_exhaustive]pub enum SubmitOutcome {
Pass,
Blocked,
Skip,
}Expand description
GH #76 Skip tier: the completion tier a caller of
crate::core::engine::Engine::submit_worker_result_trusted signals
alongside its value. Sibling to DispatchOutcome (the engine-side
outcome enum) — this one is the CALLER’s intent enum, whereas
DispatchOutcome is the reduced outcome the engine derives from the
completed attempt.
Mapping into the wire shape stored in EngineState.output_store’s
terminal OutputEvent::Final:
| outcome | Final.ok | Final.content |
|---|---|---|
Pass | true | value verbatim |
Blocked | false | value verbatim |
Skip | true | wrap_skip_marker(value) |
#[non_exhaustive] so future tier additions stay additive.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Pass
Ordinary success — the worker’s output is the step’s value.
Blocked
Ordinary failure — the worker itself declared ok = false. Maps
to DispatchOutcome::Blocked at dispatch time; the
verdict-contract completion check is exempt (same “ok=false is
exempt” rule the pre-Skip world already applied).
Skip
Skip tier (GH #76): ok=true for flow-continuation purposes but the
value is wrapped in the skip-marker sentinel so the dispatcher can
route it to DispatchOutcome::Skip and downstream binding-write
paths can short-circuit. The verdict-contract completion check is
intentionally skipped — a Skip is the agent declaring “not
applicable”, not a real verdict value.
Trait Implementations§
Source§impl Clone for SubmitOutcome
impl Clone for SubmitOutcome
Source§fn clone(&self) -> SubmitOutcome
fn clone(&self) -> SubmitOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SubmitOutcome
Source§impl Debug for SubmitOutcome
impl Debug for SubmitOutcome
impl Eq for SubmitOutcome
Source§impl PartialEq for SubmitOutcome
impl PartialEq for SubmitOutcome
impl StructuralPartialEq for SubmitOutcome
Auto Trait Implementations§
impl Freeze for SubmitOutcome
impl RefUnwindSafe for SubmitOutcome
impl Send for SubmitOutcome
impl Sync for SubmitOutcome
impl Unpin for SubmitOutcome
impl UnsafeUnpin for SubmitOutcome
impl UnwindSafe for SubmitOutcome
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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