Skip to content

Workflows and states ​

Every ticket follows one workflow. Each state has a clear job and one state file.

A work ticket follows bb_work or bb_autopilot. In every state except done and cancelled, the ticket's conductor may start a run. done and cancelled are final: follow-up work gets a new ticket. Any open ticket can be cancelled. The kind of work is ticket data, not a workflow. Each state runs its state file in bb-workflow, phase by phase; the ticket's recipe supplies the method inside it.

bb_work ​

StateMethodWhat happensNext
qualificationbb-workflow, plus the recipe's qualification slotprior-art search, criteria, recipe and ticket type; you confirmplan, or working
planthe ticket's recipepublishes spec, plan, test, or for a bug reproduces the defect, names the cause and plans the regression test; you approve one scopeworking
workingthe ticket's recipebuilds in the worktree, runs checks, opens the merge request; you confirmreview or done
reviewthe ticket's recipe, in a bb-verdict subagentindependent OK or Not OK; OK merges once you authorizedone, or working

The transitions:

TransitionFromTo
qualifyqualificationplan
requalifyplan, workingqualification
to_workingqualification, plan, reviewworking
to_planworkingplan
to_reviewworkingreview
finishworking, reviewdone
cancelevery state except done and cancelledcancelled

A fully specified intake goes from qualification straight to working. requalify returns to qualification when the handoff is missing, stale or contradictory; to_plan redoes a missing or wrong plan. Review is optional: finish leaves working or review.

Ticket type, recipe and labels ​

A ticket and a ticket template carry three term fields, each from a vocabulary of the ticket's workspace:

FieldVocabularyValuesExample
ticket_typetypeonefeature, bug, chore, epic, deployment, verification
reciperecipeonea recipe name
labelslabelseveralagent:<alias>, plain tags

The field is called ticket_type because JSON:API reserves type. The type selects the recipe's variant. Workspace contributors and leads manage the terms under the workspace's settings, on the tabs Types, Recipes and Labels; guests may only view them. A term has no page of its own and cannot be deleted. Agents set the fields by name with bakers dropsh.

An epic is a ticket of type epic. It groups child tickets, which do the work; the project overview lists epics by type.

Blockers, parents and branches ​

Blockers, parents, carrier tickets, the deployment workflows and run states: Tickets in the terminal.