AUTO-CALCULATED
Driven by dependency resolution
T-dep1
T-dep2
BLOCKED — missing column
Dependencies satisfied → automatic transition
Ticket complete.
External blocker detected
Block cleared → recalculate → resume.
T-C
Login Endpoint
done ✓
State changes: 0
reset_tickets([T-A])
1 reset → 3 state changes. The graph is always consistent.
Agents don't manage ticket states. The dependency graph drives everything.