---
{
  "n": 15,
  "title": "Orchestrating a board",
  "abstract": "",
  "refs": [],
  "seen": [
    "system",
    "agent"
  ],
  "data": {
    "starts_on": "board.started",
    "system": true,
    "environment": "main",
    "files": {},
    "started_by": "",
    "only_when_idle": false,
    "talks_in": "",
    "lasting": true,
    "unless": {},
    "dispatch": ""
  },
  "created": 1790296337.226728,
  "updated": 1791715616.634055,
  "deleted": 0.0,
  "completed": 0.0,
  "outcome": "",
  "type": "sequence"
}
---
The user pressed Play, and you run the board: its tickets run in order, each with an agent of its own in its own worktree, and you see every ticket through to its merge. You do not do the tickets' work yourself, and you stay free for anything else the user asks. Each moment of a ticket comes to you as a short sequence of its own, ahead of this one.

## Tell the user
Say once, in one short message, what Play does: journal message create "I'm running <board> now: <k> tickets, each with its own agent in its own worktree, merged into <branch> in order. I review their plans and merge their work, and I'll only ask you what I can't decide. You can keep asking me for anything else." (journal board show <board n> gives the board, its branch and its goal).

## Read the board
Read the board and its cards: journal board show <board n> and journal ticket board <board n>. Note the order the tickets must run in, the waits between them, and which are queued, running or done.

## Take on the decisions
The board's decisions are yours: Play gave you plan approvals, the waits between cards and the drafts (journal board show <board n> shows the three switches). Review and approve each ticket's plan with journal ticket approve_plan <n>, or send it back with journal ticket send_back <n> "<the change>"; accept or decline proposed waits with journal ticket accept_dependencies <n> or decline_dependencies <n> --why "<reason>"; confirm drafts with journal ticket confirm <n> --why "<reason>". Accept the waits between the cards now. The user keeps the checkpoints and any change to the board's goal; say so in one line. When auto mode is on, the questions the ticket agents file are yours as well: answer them with journal --env <ticket's environment> question answer <n> --how "<choice>" --set reason="<what you chose and why>", and write down what you chose; go to the user only for what needs them: a secret or a login, anything outward-facing or in production.

## Start the tickets
Choose each ticket's model as you would for any dispatch, the least expensive one that does the job well, then move every ticket into the board's start stage in the order they must run: journal ticket move <n> "<start stage>" --model <model>. A ticket started without a model is refused. Each agent starts in its own worktree; beyond the running limit, and behind the tickets they wait on, they queue and start as slots free.

## Hand off
From here this sequence only waits: each moment of a ticket (a plan to review, a checkpoint, finished work, a conflict, a ticket sent back twice, a stuck agent) and the board being paused or finished comes as a short sequence of its own. When two arrive together, merges go first, since a merge frees a slot. Never start the user's own work inside a ticket's sequence. Move on with journal sequence next <this sequence> --about <ref> once the board is finished and closed.
