Feature/Stacks
Big work, in stages, under one design.
A stack is one larger piece of work cut into ordered stages. Each stage holds one or more cards, each stage waits for the one before it, and the whole stack shares one approved design. The intake proposes it, you accept it from Drafts, and the Board runs it stage by stage.
What a stack is
Some work is bigger than one card and still has an order. Written as one card, it is too much for one agent. Written as a split, the order and the shared look are lost. A stack keeps both: a numbered group of cards in ordered stages, under one optional shared design.
- Numbered S-<n> per project, with a title and a body for the whole result
- Each stage holds one or more cards, and cards of one stage may run in parallel
- Every card of stage N+1 depends on every card of stage N
- A card belongs to at most one stack and one stage; there are no nested stacks
- Stage 1card
every card here waits on every card above
- Stage 2cardcardrun in parallel
every card here waits on every card above
- Stage 3card
Two stacks, three stages each
Stages follow the order the work has to happen in. Line items need their tax before an editor can total them, and partial payments need invoices to pay. A phone app needs a local store before it can sync, and conflicts only exist once it syncs.
- The first stage usually lays the ground the rest builds on
- Parallel cards inside a stage keep each pull request small
- Invoices v2 has its design switched off, so its cards run as soon as they are Ready
- The technician app needs one shared design, so nothing runs until it is approved
1Data model
- C-51 Line items with per-line taxCompleted
2Invoice editor
- C-52 Invoice editor with live totalsIn progressAuto-run started it
3Payments
- C-53 Partial payments and balance dueWaitingafter C-52 · Auto-run on
1Local store
- C-61 Local job store with SQLiteHeld
Run disabled: Waits for the stack design to be approved
2Sync
- C-62 Outbound queue for status updatesHeld
Run disabled: Waits for the stack design to be approved
- C-63 Background sync on reconnectHeld
Run disabled: Waits for the stack design to be approved
3Conflicts and UI
- C-64 Resolve edit conflictsHeld
Run disabled: Waits for the stack design to be approved
- C-65 Offline banner and pending badgeHeld
Run disabled: Waits for the stack design to be approved
Stack, split or one card
The intake picks the shape from what you describe. It only proposes; you can switch between Split and Stack in the review, or keep one card.
- One clear task that one agent can finish in one pull request: one card, with any order written into What to do
- Unrelated tasks, UI changes to different surfaces, or work with no UI: a split of independent cards
- One larger piece of work whose parts must happen in order and share one look: a stack
- Several UI changes to one screen, one page or one form factor: a stack with a design, Foundations first, even with no natural order
One card
One clear task for one agent and one pull request.
Split
2 to 8 independent cards: unrelated tasks, or one too big.
Stack
Ordered stages that share one look, under one design.
Candidates in Drafts, with their stage numbers
A proposed stack does not create cards. Its cards wait in the Drafts strip as candidates, each with its stage number on a line that runs down to the next stage, under a title like “Proposed stack · 3 stages”.
- Open a candidate to read and edit its title, kind and body, or Reject it
- Accept all takes the stack as proposed: its stages, its dependencies and its shared design, in one step
- Accept a single candidate and it becomes an independent card; Accept rest takes what is left once a row is decided
- Select candidates from several intakes and accept them as one new stack
Invoices v2
Proposed stack · 3 stages
- 1Line items with per-line taxOpenRejectAccept
- 2Invoice editor with live totalsOpenRejectAccept
- 3Partial payments and balance dueOpenRejectAccept
One shared design, and the switch that holds it
A stack’s design is drawn for the whole result and approved once, through the same Generate, comment, Revise and Approve flow as a card’s. The intake suggests whether it is needed; the stack page has a Stack design required switch.
- While the design is required and not approved, Run is disabled on every card with the reason shown
- Generating a card’s own design waits too: it needs the stack design as its reference
- Round 1 of each card commits the approved frames into its branch and names them in the worker prompt
- Switch the design off and nothing is held; revisions and the approval are kept either way
Waits for the stack design to be approved
Stage by stage, with Auto-run
Stages are written as ordinary card dependencies, so everything that reads dependencies works for a stack without knowing about it. Turn on Auto-run when ready and each card starts as soon as the stage before it is accepted.
- A card of the next stage shows Waiting until every card before it is Completed, then Ready
- Auto-run starts it exactly once, within the project’s slots and budget
- Run on a waiting card is still possible, with a warning
- Once any card has run, stages are no longer reordered
C-51 accepted. Stage 1 is done.
C-52 is Ready. Auto-run starts it, once, within the project’s slots and budget.
C-53 is Waiting on C-52. It starts when C-52 is accepted.
One face on the Board, one page of its own
On the Board a stack is one face in the column of its least advanced unfinished card, with its progress and current stage. Expand it in place to see its cards by stage, or open the stack page.
- Progress as accepted over total, and the current stage, like “Stage 2 of 3 · Invoice editor”
- A card of the stack in another column shows its stack label on its own face
- The stack page holds the design, the stages and the generate and approve controls
- The stack page works on a phone
Make a stack by hand
A pile of related cards that already exists can be folded into one stack. Select two or more cards and choose Group into stack in the selection bar.
- Cards must be in no stack and not in Inbox; one card that breaks the rule refuses the whole request
- They go into one stage with no dependencies between them, so each still runs on its own
- The shared design is off by default; switch it on and Run waits for its approval
- A card can join or leave later
- C-112 Rate-limit the sign-in endpoint
- C-117 Rotate session tokens on password change
- C-121 Add a CSP header to the web app
One stage, no dependencies between the cards, design off by default. One face on the Board instead of three.
Where it sits in the chain
The whole chainA stack is one of the three results the interview can end in, before design and Run.
- 01Say what you want
- 02Interview
- 03Card, split or stack
- 04Design
- 05Run
- 06CI
- 07Merge
Every screen and setting, in the stacks guide.
The guide covers each control, limit and rule on this page, with the exact names you will see in the app.