Next wave of work (fill every lane)
next_waveGet the next wave of tickets as file-disjoint lanes for concurrent sub-agents, pass occupied tickets to refill free lanes efficiently.
Instructions
The PLURAL of next_task: return the whole dispatchable set at once, already partitioned into file-disjoint lanes, so every sub-agent lane can be filled in ONE call instead of N sequential next_task round-trips. Use this — not repeated next_task — whenever you are working a board with more than one open ticket. lanes[] are mutually file-disjoint and safe to run as CONCURRENT sub-agents; tickets WITHIN a lane share files and must run serially in the order given. sequential[] holds orchestrator-only tickets (fable) that run inline. Each ticket carries its own dispatch block ({subAgent, model, cap, parallelizable, instruction}) so no second lookup is needed. Pass occupied with the tickets your sub-agents are still working and call it again to REFILL just the lanes that freed up — lanes containing a running ticket come back under busyLanes and are never re-served. stopCondition is the authority on whether the loop is over: an empty wave is a steer_project event, NOT a stop.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | all | |
| project | Yes | ||
| maxLanes | No | Cap concurrent lanes returned. Omit to saturate — the default is every lane the board can safely run. | |
| occupied | No | Ticket ids currently being worked by a sub-agent — excluded from the wave, and their lanes withheld. | |
| laneDepth | No | Cap tickets returned per lane. Omit for the full serial list. |