bro

bro work sweep

Gated lifecycle disposal for closed beads β€” the backlog's outflow stage.

Closed beads accumulate forever, and bd prune alone would burn lessons nobody harvested. bro work sweep gates the burn on a harvest marker: a closed bead is harvested when it carries the sweep:distilled state label. The marker is the gate's only input β€” no heuristics, no second channel.

CommandWhat it does
bro work sweep statusRead-only β€” harvested vs unharvested counts, age vs sweep.olderThanDays, the would-burn set
bro work sweep distill [--dry-run]Materialize harvest work β€” learn-cited beads auto-mark sweep=distilled; the rest pour as an agent molecule (bro flow convoy run / bro fleet agents up executes them)
bro work sweep run [--dry-run] [--force] [--no-flatten]The gated pipeline: gate β†’ archive β†’ sync-verify β†’ bd prune --older-than β†’ bd flatten

The gate

run refuses while unharvested closed beads are older than sweep.olderThanDays (default 30). A closed bead with no closed_at also blocks β€” a row that can't be dated can't be proven safe. --force is the explicit override; the refusal is the feature, so use it only when the burn is intended.

The archive must land inside the synced set (.agents/ or the configured debt dir β€” see sweep.dir) so bro work sync carries it to the data ref before prune runs.

On this page