pub enum EngineError {
Show 29 variants
RevisionConflict {
expected: u64,
actual: u64,
},
StaleChange {
collection: String,
id: Option<String>,
},
Json(Error),
ActorNotAllowed {
actor: ActorId,
action: &'static str,
},
Validation(ValidationError),
InvalidCommand {
entity: String,
reason: String,
},
MissingWorkItem(WorkItemId),
MissingDependency(DependencyId),
MissingDecision(DecisionId),
NotATask {
work: WorkItemId,
kind: WorkKind,
},
NotReady {
work: WorkItemId,
transition: Transition,
unmet: Vec<UnmetGate>,
},
OccurrenceInFuture {
work: WorkItemId,
key: Key,
transition: Transition,
occurred_at: DateTime<Utc>,
committed_at: DateTime<Utc>,
},
OccurrenceBeforePrevious {
work: WorkItemId,
key: Key,
transition: Transition,
occurred_at: DateTime<Utc>,
previous_at: DateTime<Utc>,
},
NotStarted(WorkItemId),
AlreadyStarted(WorkItemId),
OwnerMismatch {
work: WorkItemId,
expected: ActorId,
actual: ActorId,
},
Blocked {
work: WorkItemId,
reason: String,
},
OwnedByAnother {
work: WorkItemId,
owner: ActorId,
},
InvalidTransition {
work: WorkItemId,
status: WorkStatus,
},
NotSubmitted(WorkItemId),
SelfVerification(WorkItemId),
OwnGateRelaxed {
actor: ActorId,
work: Key,
relaxed: Box<RelaxedConstraint>,
},
StaleAttempt {
work: WorkItemId,
dependency: DependencyId,
requested: u32,
current: Option<u32>,
},
DecisionNotOpen(DecisionId),
MissingExternalReference(ExternalReferenceId),
MissingExternalLink {
work: WorkItemId,
reference: ExternalReferenceId,
},
DuplicateExternalLink {
work: WorkItemId,
reference: ExternalReferenceId,
},
TrackingOwned {
identity: String,
owner: Key,
},
Schedule(ScheduleError),
}Expand description
A rejected command or failed execution projection.
Variants§
RevisionConflict
A plan proposal no longer refers to the current revision.
StaleChange
A recorded plan change names an entity whose state differs from the change’s before.
Fields
Json(Error)
A semantic difference could not be serialized.
ActorNotAllowed
Local principal policy refuses this action.
Validation(ValidationError)
Invalid authoritative input.
InvalidCommand
Invalid command field or target category.
MissingWorkItem(WorkItemId)
Referenced work does not exist.
MissingDependency(DependencyId)
Referenced temporal constraint does not exist.
MissingDecision(DecisionId)
Referenced gate does not exist.
NotATask
Execution commands target a grouping or condition rather than executable work.
NotReady
Lifecycle or relation gates do not permit this transition at the operation time.
OccurrenceInFuture
A supplied occurrence time lies after the time the operation commits.
Fields
work: WorkItemIdAffected work.
transition: TransitionTransition whose event time was supplied.
OccurrenceBeforePrevious
A supplied occurrence time precedes the latest time already recorded for the task.
Fields
work: WorkItemIdAffected work.
transition: TransitionTransition whose event time was supplied.
NotStarted(WorkItemId)
Progress and submission follow an explicit start; a claim only reserves work.
AlreadyStarted(WorkItemId)
Started work has execution facts a release would orphan; only a handoff moves it.
OwnerMismatch
A handoff named an owner the work no longer has.
Fields
work: WorkItemIdAffected work.
Blocked
A reported blocker prevents execution.
OwnedByAnother
Another principal owns the task.
InvalidTransition
The lifecycle does not permit the requested transition.
NotSubmitted(WorkItemId)
Verification requires a submitted result.
SelfVerification(WorkItemId)
Verification must be independent of the owner.
OwnGateRelaxed
A reviewed change would relax a gate on the applying actor’s own work or on the work waiting for its result.
Fields
relaxed: Box<RelaxedConstraint>The constraint the change would relax.
StaleAttempt
A revalidation names a predecessor attempt that is not its current pending or verified one.
Fields
work: WorkItemIdSuccessor named by the request.
dependency: DependencyIdProvisional edge named by the request.
DecisionNotOpen(DecisionId)
A resolved gate cannot be resolved again.
MissingExternalReference(ExternalReferenceId)
Referenced external object is not recorded in this workspace.
MissingExternalLink
The work item has no link to the external reference.
Fields
work: WorkItemIdWork named by the request.
reference: ExternalReferenceIdExternal reference named by the request.
DuplicateExternalLink
The work item already links the external reference.
Fields
work: WorkItemIdWork named by the request.
reference: ExternalReferenceIdExternal reference already linked.
TrackingOwned
Another work item already tracks the external object.
Fields
Schedule(ScheduleError)
Schedule projection failed.
Trait Implementations§
Source§impl Debug for EngineError
impl Debug for EngineError
Source§impl Display for EngineError
impl Display for EngineError
Source§impl Error for EngineError
impl Error for EngineError
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()