What happened?
Bug Description
When dispatching beads in a convoy with depends_on dependencies, the reconciler dispatches beads before their dependencies are actually closed.
Reproduction
Create a convoy with a serial dependency chain:
- Task 0: no dependencies
- Task 1: depends_on [0]
- Task 2: depends_on [1]
- Task 3: depends_on [2]
After Task 0 completes, both Task 1 AND Task 2 (or Task 3) get dispatched simultaneously, instead of waiting for Task 1 to close before dispatching Task 2.
Expected Behavior
Beads should only be dispatched when ALL their depends_on dependencies have status "closed" (merged).
Actual Behavior
Beads are dispatched as soon as any dependency is closed, not when ALL dependencies are closed. The dependency resolution loop in the reconciler doesn't properly track which beads are ready vs blocked.
Impact
This breaks convoy planning entirely — any serial dependency chain fails because downstream beads start before their prerequisites are ready, causing merge conflicts and polecat failures.
Affected Code
The reconciler's dispatchPendingConvoyTasks / dispatchConvoy logic (closed-source town-governor reconciler).
Area
Agent Dispatch / Scheduling
Context
- Town ID: 539e8ed6-15e5-46f9-a8df-26958f5641e9
- Agent: Mayor (c7cdd5fd-a149-4d4b-9ffa-394bdc651bd6)
- Rig ID: 566e5ebd-67bf-4f25-9975-efc71b5ffbf2
Filed automatically by the Mayor via gt_report_bug.
What happened?
Bug Description
When dispatching beads in a convoy with
depends_ondependencies, the reconciler dispatches beads before their dependencies are actually closed.Reproduction
Create a convoy with a serial dependency chain:
After Task 0 completes, both Task 1 AND Task 2 (or Task 3) get dispatched simultaneously, instead of waiting for Task 1 to close before dispatching Task 2.
Expected Behavior
Beads should only be dispatched when ALL their
depends_ondependencies have status "closed" (merged).Actual Behavior
Beads are dispatched as soon as any dependency is closed, not when ALL dependencies are closed. The dependency resolution loop in the reconciler doesn't properly track which beads are ready vs blocked.
Impact
This breaks convoy planning entirely — any serial dependency chain fails because downstream beads start before their prerequisites are ready, causing merge conflicts and polecat failures.
Affected Code
The reconciler's
dispatchPendingConvoyTasks/dispatchConvoylogic (closed-source town-governor reconciler).Area
Agent Dispatch / Scheduling
Context
Filed automatically by the Mayor via
gt_report_bug.