pub enum TaskLaunchError {
Compile(CompileError),
Engine(EngineError),
FlowEval {
message: String,
failed_step: Option<String>,
verdict_value: Option<Value>,
partial_ctx: Option<Value>,
},
PreDispatch(String),
}Expand description
Failure modes of TaskLaunchService::launch.
Variants§
Compile(CompileError)
Compiler::compile rejected the Blueprint.
Engine(EngineError)
Engine::attach_with_ids failed.
FlowEval
A Step inside flow.ir’s eval_async produced a dispatcher
error, or a sub-flow raised.
GH #76 error surface: struct variant carrying structured failure detail lifted
off the eval boundary — failed_step / verdict_value come from
the crate::store::run::RunContext::last_failure breadcrumb the
dispatcher’s Blocked arm writes; partial_ctx comes from the same
RunContext’s crate::store::run::RunContext::snapshot_partial_ctx
reconstruction of the step-entry trace persisted so far. All three
new fields are Option because dispatch may error via a path that
does not go through the Blocked arm (upstream flow-ir eval errors,
e.g. a malformed AST or an unresolved CallExtern — run_ctx
itself may be None, or the flow may fail before any step was
dispatched). Display preserves the pre-#76 "flow eval: {message}"
prefix byte-for-byte for backwards-compatible stringification.
Fields
message: StringThe stringified underlying error (EvalError::to_string() on
the current write path). Preserves the pre-#76 message text.
failed_step: Option<String>The Step.ref of the step whose Blocked outcome aborted the
flow, when the dispatcher’s Blocked arm was the abort site.
None for abort paths that do not go through the dispatcher
(see the enum variant doc).
verdict_value: Option<Value>The verdict Value the aborting step carried
(DispatchOutcome::Blocked(v)’s v). None for the same
reasons as failed_step.
partial_ctx: Option<Value>In-tree partial_ctx surfaces step-entry log (step_id →
status/binding_digest). Full value-level partial_ctx requires
upstream mlua-flow-ir support to expose storage.snapshot()
on error. See crate::store::run::RunContext::snapshot_partial_ctx
for the reconstructed JSON shape. None when run_ctx was
unavailable at the map_err site (e.g. TaskLaunchService::launch
called without a RunContext).
PreDispatch(String)
Pre-dispatch validation failed: the launch was rejected before any step was dispatched. Raised when the effective check_policy (launch request > blueprint > server config) is Strict and the launch supplied neither project_root nor work_dir — a strict task would deterministically fail at its first submit-time file materialize, so the launch fails fast instead.
Trait Implementations§
Source§impl Debug for TaskLaunchError
impl Debug for TaskLaunchError
Source§impl Display for TaskLaunchError
impl Display for TaskLaunchError
Source§impl Error for TaskLaunchError
impl Error for TaskLaunchError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<CompileError> for TaskLaunchError
impl From<CompileError> for TaskLaunchError
Source§fn from(source: CompileError) -> Self
fn from(source: CompileError) -> Self
Source§impl From<EngineError> for TaskLaunchError
impl From<EngineError> for TaskLaunchError
Source§fn from(source: EngineError) -> Self
fn from(source: EngineError) -> Self
Source§impl From<TaskLaunchError> for EnhanceApplicationError
impl From<TaskLaunchError> for EnhanceApplicationError
Source§fn from(source: TaskLaunchError) -> Self
fn from(source: TaskLaunchError) -> Self
Source§impl From<TaskLaunchError> for TaskApplicationError
impl From<TaskLaunchError> for TaskApplicationError
Source§fn from(source: TaskLaunchError) -> Self
fn from(source: TaskLaunchError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for TaskLaunchError
impl !UnwindSafe for TaskLaunchError
impl Freeze for TaskLaunchError
impl Send for TaskLaunchError
impl Sync for TaskLaunchError
impl Unpin for TaskLaunchError
impl UnsafeUnpin for TaskLaunchError
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<E> ExternalError for E
impl<E> ExternalError for E
fn into_lua_err(self) -> Error
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