#[non_exhaustive]pub enum DecisionRunnerError {
Show 20 variants
EmptyValue {
field: &'static str,
},
ExecutorIdentityConflict {
executor_id: String,
},
ActionRouteConflict {
stage: DecisionExecutionStage,
action_id: String,
},
UnknownExecutor {
executor_id: String,
},
MissingActionRoute {
stage: DecisionExecutionStage,
action_id: String,
},
UnsupportedPayloadStrategy {
executor_id: String,
strategy: PayloadStrategyRef,
},
NonExecutionCommand {
command: &'static str,
},
CommandCaseMismatch {
expected: String,
actual: String,
},
UnexpectedSessionState {
expected: DecisionExecutionStage,
actual: &'static str,
},
MissingActiveBaseline,
HostPolicyContextRequired {
command: &'static str,
},
ActionSuppressedByHostPolicy {
action_id: String,
},
ActionSuppressedByDefense {
action_id: String,
},
EvidenceSubjectMismatch {
evidence_id: String,
expected: EntityId,
actual: EntityId,
},
EvidenceSourceMismatch {
evidence_id: String,
expected: String,
actual: String,
},
EvidenceCorrelationMismatch {
evidence_id: String,
expected: String,
actual: Option<String>,
},
Executor {
executor_id: String,
source: DecisionExecutorError,
},
OutcomeAfterEvidenceCommit {
receipt: Box<DecisionEvidenceReceipt>,
source: Box<DecisionRunnerError>,
},
Knowledge(KnowledgeBaseError),
Decision(DecisionLoopError),
}Expand description
Failures raised while resolving, executing, or recording a command.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
EmptyValue
A registry or route identity was empty.
ExecutorIdentityConflict
An executor ID was registered twice.
ActionRouteConflict
One action-stage pair was routed to two different executors.
Fields
stage: DecisionExecutionStageVerification stage of the conflicting route.
UnknownExecutor
An explicit or routed executor was absent.
MissingActionRoute
An action-only command had no stage route.
Fields
stage: DecisionExecutionStageVerification stage being resolved.
UnsupportedPayloadStrategy
The resolved executor cannot materialize the planner-selected strategy.
Fields
strategy: PayloadStrategyRefExact strategy revision selected by the planner.
NonExecutionCommand
A non-execution command was passed to the low-level execution API.
CommandCaseMismatch
The supplied command does not match the outstanding session case.
UnexpectedSessionState
The supplied command does not match the session verification stage.
Fields
expected: DecisionExecutionStageStage required by the command.
MissingActiveBaseline
An active execution receipt violated an adapter-owned invariant.
HostPolicyContextRequired
A high-level continuation command was supplied without the current host-owned suppression context.
ActionSuppressedByHostPolicy
Current host policy suppressed the outstanding action before dispatch.
ActionSuppressedByDefense
Current defense enforcement suppressed the action before dispatch.
EvidenceSubjectMismatch
Executor evidence described another subject.
Fields
EvidenceSourceMismatch
Executor evidence claimed another producing component.
Fields
EvidenceCorrelationMismatch
Executor evidence omitted or changed the verification correlation ID.
Fields
Executor
An isolated executor failed.
Fields
source: DecisionExecutorErrorIsolated executor diagnostic.
OutcomeAfterEvidenceCommit
Evidence committed successfully but the subsequent decision transition failed.
Fields
receipt: Box<DecisionEvidenceReceipt>Durable append-only evidence commit token.
source: Box<DecisionRunnerError>Failure raised while resuming the state machine.
Knowledge(KnowledgeBaseError)
Atomic evidence storage failed.
Decision(DecisionLoopError)
Resuming the deterministic state machine failed.
Implementations§
Source§impl DecisionRunnerError
impl DecisionRunnerError
Sourcepub fn runtime_limit(&self) -> Option<&RuntimeLimitExceeded>
pub fn runtime_limit(&self) -> Option<&RuntimeLimitExceeded>
Returns the host resource limit reported by an executor, when applicable.
Sourcepub fn into_runtime_limit(self) -> Option<RuntimeLimitExceeded>
pub fn into_runtime_limit(self) -> Option<RuntimeLimitExceeded>
Takes an executor-reported host resource limit without cloning it.
Sourcepub fn execution_failure(&self) -> Option<&DecisionExecutionFailureReceipt>
pub fn execution_failure(&self) -> Option<&DecisionExecutionFailureReceipt>
Returns an executor-reported pre-commit failure receipt, when applicable.
Sourcepub fn into_execution_failure(self) -> Option<DecisionExecutionFailureReceipt>
pub fn into_execution_failure(self) -> Option<DecisionExecutionFailureReceipt>
Takes ownership of an executor-reported failure receipt without cloning it.
Sourcepub fn committed_evidence(&self) -> Option<&DecisionEvidenceReceipt>
pub fn committed_evidence(&self) -> Option<&DecisionEvidenceReceipt>
Returns evidence that was committed before this error, when applicable.
Sourcepub fn into_committed_evidence(self) -> Option<DecisionEvidenceReceipt>
pub fn into_committed_evidence(self) -> Option<DecisionEvidenceReceipt>
Takes ownership of evidence committed before this error without cloning it.
Sourcepub fn committed_reasoning(&self) -> Option<&DecisionReasoningCommitReceipt>
pub fn committed_reasoning(&self) -> Option<&DecisionReasoningCommitReceipt>
Returns reasoning committed before a later planning failure, when applicable.
Sourcepub fn into_committed_reasoning(self) -> Option<DecisionReasoningCommitReceipt>
pub fn into_committed_reasoning(self) -> Option<DecisionReasoningCommitReceipt>
Takes a post-reasoning planning receipt without cloning it.
Trait Implementations§
Source§impl Debug for DecisionRunnerError
impl Debug for DecisionRunnerError
Source§impl Display for DecisionRunnerError
impl Display for DecisionRunnerError
Source§impl Error for DecisionRunnerError
impl Error for DecisionRunnerError
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()