---
{
  "n": 4,
  "title": "Working a card from the board",
  "abstract": "",
  "refs": [],
  "seen": [
    "system",
    "agent",
    "user"
  ],
  "data": {
    "starts_on": "message.requested",
    "system": true,
    "environment": "main",
    "runs": {
      "test333|message:6": {
        "step": 1,
        "at": 1790218659.707587
      },
      "lolfdds|message:1": {
        "step": 2,
        "at": 1790219014.371973
      }
    },
    "abandoned": [
      {
        "about": "main|ticket:31",
        "step": 1,
        "why": "my own draft",
        "at": 1790213185.229269
      },
      {
        "about": "main|ticket:32",
        "step": 1,
        "why": "my own draft",
        "at": 1790213185.273591
      },
      {
        "about": "main|ticket:33",
        "step": 1,
        "why": "my own draft",
        "at": 1790213185.304126
      },
      {
        "about": "main|ticket:34",
        "step": 1,
        "why": "my own draft",
        "at": 1790213185.338073
      },
      {
        "about": "main|ticket:35",
        "step": 1,
        "why": "my own draft",
        "at": 1790213217.934468
      },
      {
        "about": "main|ticket:36",
        "step": 1,
        "why": "my own draft",
        "at": 1790213217.96124
      },
      {
        "about": "main|message:8468",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790214313.0026398
      },
      {
        "about": "main|message:8479",
        "step": 1,
        "why": "the user restarts the test",
        "at": 1790214386.9237802
      },
      {
        "about": "main|message:8489",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790214670.448858
      },
      {
        "about": "main|message:8497",
        "step": 1,
        "why": "the user restarts the test after this change",
        "at": 1790214807.642076
      },
      {
        "about": "main|message:8511",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790215168.7953348
      },
      {
        "about": "main|message:8542",
        "step": 1,
        "why": "the user starts over",
        "at": 1790215742.2171562
      },
      {
        "about": "main|message:8564",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790216063.493485
      },
      {
        "about": "main|message:8572",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790216238.9365408
      },
      {
        "about": "main|message:8579",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790216511.759684
      },
      {
        "about": "main|message:8589",
        "step": 2,
        "why": "the user chose Start over",
        "at": 1790216574.333617
      },
      {
        "about": "main|message:8605",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790216862.495785
      },
      {
        "about": "main|message:8616",
        "step": 1,
        "why": "the user restarts the test after the fix",
        "at": 1790217031.626602
      },
      {
        "about": "main|message:8624",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790217293.213077
      },
      {
        "about": "main|message:8631",
        "step": 2,
        "why": "a new request replaced it",
        "at": 1790217538.11302
      },
      {
        "about": "main|message:8642",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790217955.550239
      },
      {
        "about": "main|message:8656",
        "step": 1,
        "why": "a new request replaced it",
        "at": 1790218031.5423949
      },
      {
        "about": "main|message:8660",
        "step": 1,
        "why": "the user starts a fresh test",
        "at": 1790218095.2336981
      },
      {
        "about": "main|message:9166",
        "step": 1,
        "why": "The request on the board was cancelled",
        "at": 1790258010.431288
      },
      {
        "about": "main|message:9188",
        "step": 2,
        "why": "The request on the board was cancelled",
        "at": 1790258704.788992
      }
    ],
    "started_by": "user",
    "quiet": true
  },
  "created": 1790212321.001388,
  "updated": 1790288687.111182,
  "deleted": 1790288687.110603,
  "completed": 0.0,
  "outcome": "",
  "type": "sequence"
}
---
A request typed into a board's New work panel becomes draft tickets for one feature. The panel is a place of clicking, not reading: you ask which feature they mean, they click one of your readings or type their own, and after two such rounds you draft, or, if it is still unclear, you offer one last round of choices without the input. Every turn is one question on the board or one short line, never a paragraph and never in the chat. You talk only about the feature and its tickets, never about rows, chips, ticket numbers, commands or the journal. A typed answer counts as that round: if it names a feature none of your options did, it replaces the request, so ask Understand the request again about it; if it is a question, answer it in one line in your next question's abstract; if it cannot be read, ask again with "I couldn't read that. Which of these?", and that counts as the round. An answer of Start over, at any step, means they closed the panel or began again: give the run up with journal sequence abandon <this sequence> --about <ref> --why "start over" and write nothing more to the board. Use judgment at every step: the board's name, its brief and the cards already on it carry meaning, and each step is done the way that fits this request rather than to the letter.

## Understand the request
Goal: find out which feature they want to build. This turn never drafts. Read the context before you write anything: the board's name and brief (journal board show <board n>) and the cards already on it (journal ticket board <board n>). They usually say what the feature is about: on a board called Shared Journal, "I want to share" is about a shareable journal. Offer the three features their words most likely mean on this board, most likely first, each clearly different from the others, with a short line under each saying what it would give them: journal board ask <board n> "Which <kind of feature> do you mean?" --abstract "<one plain line on why you read it so>" --set options='[{"title": "<feature>", "text": "<what it gives them>"}, ...]'. When their words already name one feature, the first option is their request as written and the other two are its nearest larger and smaller versions. When their words cannot be read, the question is "I couldn't read that. Which of these?". The abstract never names the board or its cards. Never offer filler such as Yes / No, and never an open question without options when you can guess. The question is your whole turn: do not reply to their message. When it is answered: journal sequence next <this sequence> --about <ref>.

## Narrow it down
Goal: shape the feature they picked until you can write its tickets. Always take this round, even when the first answer felt clear. Ask one question about the part of the feature that most decides the tickets, in terms of what they would see or do, never how it is built, with three options that each carry an example: journal board ask <board n> "<the question>" --abstract "<their pick, settled, in a few words, like A shared journal, then.>" --set options='[{"title": "<direction>", "text": "For example, <what they would get>"}, ...]'. The question is your whole turn. When it is answered: journal sequence next <this sequence> --about <ref>.

## Offer choices
Decide whether a third round is needed. When their two answers make the feature clear, skip it: journal sequence next <this sequence> --about <ref>. Otherwise ask once more with three or four finished versions of the feature built from their two answers, each with what it gives them as the example: journal board ask <board n> "Which one?" --abstract "<what is still open>" --set options='[{"title": "<version>", "text": "For example, <what it gives>"}, ..., {"title": "Start over"}]' --set final=true. final=true closes their input, so they can only click. Draft from their pick: journal sequence next <this sequence> --about <ref>.

## Draft the tickets
Most requests are one ticket. Draft one ticket per piece of work that can be built, reviewed and merged on its own branch without the others; the steps inside a ticket go in its brief, for the plan its own agent drafts when it starts, never as tickets of their own. First, once and before your first ticket, say how many you will write, an educated guess on the low side: journal board expect <board n> <count>. The panel shows that many placeholders, and more appear if you write more; never call it again with a smaller number. Then draft each ticket in the order they should run: journal ticket create "<the work>" --abstract "<one line>" --brief "<the card's back>" --about <ref> --set board=<n> --set draft=true --set source=user. The title is a few words naming the work. The abstract is one line of at most 140 characters, shown whole on the card. The brief is the card's back, under More info, in five short parts: What: <what it does>. Why: <why it matters>. Touches: <what it changes>. Done when: <what done looks like>. Risk: <none, or what reaches outside the project or into production, which makes its plan wait for the user's approval>. Link each draft to any doc or plan you read for it: journal ticket link <n> doc:<m>. When a ticket needs another first, one of your drafts or a card already on any board: journal ticket depend <the ticket that waits> <the ticket it needs first>. When the project has an organization (journal ticket organization), name the domain that answers for it with --set owner=<domain>; its lead picks the roles. Do not reply to their message until every ticket is drafted: your one line said with journal board say is what tells the panel drafting is done. Then offer two to four groups they can pick at once, such as what the first release needs or one subject: journal board group <board n> "<name>" "<ticket>, <ticket>". When every ticket is drafted: journal sequence next <this sequence> --about <ref>.

## Say one line
Say it in the panel in one short line with journal board say <board n> "<line>", of at most 200 characters about the tickets, like "Five tickets drafted. Pick the ones to keep." No paragraphs, no lists, and no ticket numbers such as #12, rows, chips, commands or the journal. The line tells the panel you are done, and the user picks the ones to keep. Finish with journal sequence next <this sequence> --about <ref>.
