v0.32.0 — Triage
Triage — a fourth board, and the weekly plan it replaces
The board had a day (Me, Team) and a plan by columns (Project), and nothing between them: work that was accepted but not for now went into today's Unplanned and was done next, whatever else was planned. Triage is the weeks laid side by side — people across, weeks down — so that putting something in ahead of something else means moving that something else.
- A week is stacked in the order somebody triaging wants to meet it: overdue first, then the project's work, then the processes', then the zones.
- Weeks work still owes are drawn before they exist — a process's coming turns, a recurrent card's next rounds — as outlines nothing can be done to.
- A team's capacity is the roster's number, or what the team has actually been finishing over the four complete weeks before this one.
The weekly plan is gone
Its panel, the wed/fri bands and the actions that moved cards between them are removed. What the panel held is now the grid's: a card placed in a week stands there all week, in its person's column or in Unassigned when nobody has taken it.
The × says which of two things it is doing
It used to decide for itself, so taking a card off the board needed the gesture twice. Now the request carries the answer — unassign leaves the card in the week or column that still holds it, off the board takes it away — and the board asks before it acts. Each is taken at its word: neither a Project-board slot nor a process turn is this board's to destroy.
A person answers for their own board
Work is added for oneself only as unplanned; the × reaches only what the person put there themselves; a drag reorders inside a zone and never between them. Instead of removing what they will not do, a person has a new stage: refuse — their answer and nobody else's, which leaves the card standing on the team's grid for the lead to answer.
Breaking changes
spec.plan {band, week}becomes a flatspec.week, which must be a Monday.take-into-plan/release-from-plan,view=weeklyand the?week=selector are gone.POST …/actions/removelosesfromand gainsintent.boardservice.Service.Removetakes aRemoveIntent. It is a string type, so an old call passing an untyped constant still compiles and silently degrades to the intentless gesture — passUnassign,OffBoard, or"".- A stage name the board does not have is now refused rather than stored.