Skip to main content

Module dag

Module dag 

Source
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 DependencyDeclared WAL 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§

CycleError
Error when a circular dependency is detected.
DependencyGate
Gates task promotion based on declared inter-task dependencies.