#[non_exhaustive]pub enum DecisionLoopError {
Show 20 variants
ZeroActionCycles,
InvalidTransition {
operation: &'static str,
state: &'static str,
},
CaseSubjectMismatch {
expected: EntityId,
actual: EntityId,
},
AwaitingWithoutAction,
ActionCycleOverflow,
NoEligibleScheduledVerificationTarget {
action_id: String,
},
NoEligibleScheduledMotivationHypothesis {
action_id: String,
},
AdaptiveExecutionRequiresHostPolicyContext {
action_id: String,
},
UnregisteredDecisionAction {
action_id: String,
},
DecisionCaseAuthorityExceeded {
action_id: String,
},
IneligibleAdaptiveAction {
action_id: String,
},
DefenseSuppressedAction {
action_id: String,
},
AdaptiveActionRequiresPlanning {
action_id: String,
},
Rules(RuleEngineError),
Planner(PlannerError),
Verification(VerificationError),
Adaptive(AdaptivePipelineError),
Experience(ExperienceStoreError),
StalePlanningSnapshot {
source: KnowledgeBaseError,
},
PlanningAfterReasoningCommit {
receipt: Box<DecisionReasoningCommitReceipt>,
source: Box<DecisionLoopError>,
},
}Expand description
Validation and transition failures raised by the decision loop.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ZeroActionCycles
An action-cycle limit of zero would prevent all execution.
InvalidTransition
A command was submitted while the session was in another state.
CaseSubjectMismatch
Persisted state contained a case for another subject.
AwaitingWithoutAction
Persisted state awaited evidence before issuing any action.
ActionCycleOverflow
The monotonic action-cycle counter could not be incremented safely.
NoEligibleScheduledVerificationTarget
An adaptively scheduled action declared a distinct verification target that was absent from the current immutable snapshot.
NoEligibleScheduledMotivationHypothesis
An adaptively scheduled action’s own confidence source was absent from the current immutable snapshot.
AdaptiveExecutionRequiresHostPolicyContext
Adaptive execution was requested without an explicit current host suppression context.
UnregisteredDecisionAction
A decision case or adaptive policy named an unregistered action.
DecisionCaseAuthorityExceeded
A persisted case would authorize a broader claim transition than the currently registered action policy.
IneligibleAdaptiveAction
A registered adaptive action failed current planner authorization.
DefenseSuppressedAction
Current defense enforcement suppressed an adaptive, retry, or active action.
AdaptiveActionRequiresPlanning
Direct adaptive dispatch would skip declared prerequisites.
Rules(RuleEngineError)
Reasoning failed.
Planner(PlannerError)
Planning failed.
Verification(VerificationError)
Verification failed.
Adaptive(AdaptivePipelineError)
Adaptive policy evaluation failed.
Experience(ExperienceStoreError)
Experience recording or validation failed.
StalePlanningSnapshot
Knowledge changed after the planner captured its decision snapshot.
Fields
source: KnowledgeBaseErrorExact revision mismatch detected before the session commit.
PlanningAfterReasoningCommit
Reasoning committed hypotheses before a later planning operation failed.
Fields
receipt: Box<DecisionReasoningCommitReceipt>Exact rule applications committed before the failure.
source: Box<DecisionLoopError>Planner or command-construction failure raised after the commit.
Implementations§
Source§impl DecisionLoopError
impl DecisionLoopError
Sourcepub fn committed_reasoning(&self) -> Option<&DecisionReasoningCommitReceipt>
pub fn committed_reasoning(&self) -> Option<&DecisionReasoningCommitReceipt>
Returns committed reasoning when this failure happened after hypothesis writes.
Sourcepub fn into_committed_reasoning(self) -> Option<DecisionReasoningCommitReceipt>
pub fn into_committed_reasoning(self) -> Option<DecisionReasoningCommitReceipt>
Takes the committed reasoning receipt without cloning it.
Trait Implementations§
Source§impl Debug for DecisionLoopError
impl Debug for DecisionLoopError
Source§impl Display for DecisionLoopError
impl Display for DecisionLoopError
Source§impl Error for DecisionLoopError
impl Error for DecisionLoopError
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()