Expand description
Task dependency graph and satisfaction tracking.
DependencyGate tracks task-to-task dependencies and gates run promotion.
A task with unmet prerequisites stays in Scheduled state even when its
scheduled_at has elapsed. When all prerequisites reach terminal success,
the gate marks the task eligible for promotion.
§Invariants
- Circular dependencies are rejected at declaration time (DFS cycle check).
- Dependency satisfaction is deterministic: the gate state is reconstructible
from
DependencyDeclaredWAL events + run terminal states replayed via the recovery reducer. Satisfaction and failure are ephemeral projections, not independent WAL events. - A failed prerequisite cascades failure to all direct and transitive dependents.
Structs§
- Cycle
Error - Error when a circular dependency is detected.
- Dependency
Gate - Gates task promotion based on declared inter-task dependencies.