pub enum UnmetGate {
Aggregate,
ContractNotRatified,
Lifecycle {
status: WorkStatus,
},
Blocker {
reason: String,
},
Dependency {Show 15 fields
dependency: DependencyId,
policy: DependencyPolicy,
predecessor: WorkItemId,
key: String,
project: String,
asset_keys: Vec<String>,
relation: DependencyKind,
lag_hours: f64,
requires: Endpoint,
release: Release,
status: WorkStatus,
owner: Option<ActorId>,
start_basis: StartBasis,
accepts_submission: bool,
attempt: Option<u32>,
},
BasisInvalidated {
dependency: DependencyId,
predecessor: WorkItemId,
key: String,
attempt: u32,
state: BasisState,
current_attempt: Option<u32>,
},
Decision {
key: String,
},
Choice {
key: String,
chosen_at: DateTime<Utc>,
},
Applicability {
applicability: Applicability,
},
}Expand description
Machine-readable reason preventing a lifecycle transition at the evaluated time.
Variants§
Aggregate
Containers and milestones are projections, not claimable work.
ContractNotRatified
Proposed work needs explicit approval of its execution contract.
Lifecycle
The current lifecycle state does not permit this transition.
Fields
status: WorkStatusCurrent authoritative lifecycle.
Blocker
A worker recorded a blocker.
Dependency
An unwaived constraint governing this transition is not yet released.
Fields
dependency: DependencyIdStable identity of the unwaived constraint.
policy: DependencyPolicyWhether a human or service may waive the constraint.
predecessor: WorkItemIdStable identity of the prerequisite.
asset_keys: Vec<String>Assets required by the prerequisite; these are context, not satisfied gates.
relation: DependencyKindRelation; FS and SS govern the successor’s start, FF and SF its finish.
release: ReleaseWhy the constraint is not released: missing event, elapsing lag or unknown event time.
status: WorkStatusAuthoritative state of the prerequisite.
start_basis: StartBasisPredecessor result the edge accepts for the successor’s start.
BasisInvalidated
The execution relies on a predecessor attempt that was rejected; finishing waits for an explicit independent revalidation against a newer attempt.
Fields
dependency: DependencyIdProvisional edge carrying the basis.
predecessor: WorkItemIdStable identity of the predecessor.
state: BasisStateRejection of that attempt.
Decision
An open direct or inherited decision gates execution.
Choice
The choice that selects this conditional work, or a containing package, was made after the evaluated time, so the work was not yet in the plan then.
Fields
Applicability
The work is outside the active graph: not selected, undecided, awaiting an upstream choice, stranded behind excluded work, or an empty join.
Fields
applicability: ApplicabilityDerived applicability explaining the exclusion.