bro

bro flow next

The flat backlog scheduler β€” claim the top ready bead, emit the work order.

bro flow next is the scheduler as code. bd owns the queue; bro owns picking: the top ready bead, claimed atomically, emitted as a work order. The agent loop is one line β€” next β†’ implement β†’ PR β†’ merge β†’ repeat.

CommandWhat it does
bro flow nextClaim and print the next ready work order
bro flow next --listPreview the queue without claiming
bro flow next --jsonEmit the scheduler result as JSON
bro flow next --globalSchedule from the user-level store (bro store init --global)
bro plan run next.tomlThe same selection driven by a validated plan β€” filters, limit, ordering, gates

The scheduler ends in task, gated, or idle.

What next never claims

  • Human gates β€” beads titled HUMAN GATE … surface as gate: lines. A plan may opt them into the queue via gates = "allow".
  • Epics β€” decompose into beads first; an epic is never work itself.
  • Molecule steps β€” a bead whose parent is a molecule belongs to bro flow convoy; the flat queue doesn't steal it. Epic children carry a parent too but stay claimable β€” next checks the parent's type, not just the field.
  • Foreign-scope beads β€” ids outside this checkout's issue_prefix are reported, never claimed. scope = "all" in a plan opts out.
  • Coordination primitives β€” coordination labels (gt:slot, the merge-slot semaphore family) are excluded bd-side before classification.

The gate, not a prompt, decides when a claimed task is done.

On this page