aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-04 20:12:57 +0200
committerDanilo M. <danix@danix.xyz>2026-08-04 20:12:57 +0200
commit2dfe4f52899b06332830d1eab3d89cc01ef83287 (patch)
treee40d20713e7f92ee74a7f992443aaf005d454f05
parent31bd1a8c354177a501da47916644be31ca4c6958 (diff)
downloadqtmaildir-2dfe4f52899b06332830d1eab3d89cc01ef83287.tar.gz
qtmaildir-2dfe4f52899b06332830d1eab3d89cc01ef83287.zip
docs: print the open backlog as a table at session startHEADmaster
Extends the reconciliation step rather than adding a second one: after diffing the user's notes against the backlog, render what is open as a table with a short description, the size, and one note saying what decides whether the item can be picked up now. Then stop. The user picks. Recommending a single item reads as though the choice were already made. Defects are flagged apart from enhancements, because they read alike in a numbered list and do not deserve equal billing: item 28 sat as "a counter is wrong" while the indicator was quietly lying about whether the user's work was safe to quit on. Records two gotchas found by running the grep: item 12 lives in the deferred table, which has different columns and no size, and a status cell is prose rather than a keyword, so "open, on demand" and "open, unspecified" both mean open. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
-rw-r--r--CLAUDE.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 5aa971a..7295ca5 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -189,6 +189,38 @@ backlog had already specified and that shipped unbuilt (item 29). A note saying
"X does not work" is a bug report, and it will sit in a personal notes file
indefinitely unless someone goes looking.
+**Then print the open items as a table, and stop.** The user picks what to work
+on; do not start on one, and do not recommend a single item as though the choice
+were made. Read the status table for anything not marked `done`, `dropped` or
+`postponed`, and render:
+
+| # | Item | Size | Note |
+|---|------|------|------|
+
+- **Item** is a short description, not the table's own terse title. Say what the
+ user would notice, not the internal name.
+- **Size** is the backlog's own: XS under an hour, S a sitting, M a session,
+ `?` for an item whose shape is not known yet.
+- **Note** is the one thing that decides whether it can be picked up now: a
+ defect rather than an enhancement, a decision needed from the user first, a
+ dependency on another item, or a constraint that makes it bigger than it
+ looks. Leave it empty when there is nothing of the sort.
+
+Flag defects separately from enhancements. They read alike in a numbered list
+and do not deserve equal billing: item 28 sat as "a counter is wrong" while the
+indicator was quietly lying about whether the user's work was safe to quit on.
+
+Items marked `open, unspecified` (20, 21) cannot be planned from the backlog
+alone; they need the user to describe what they pictured. Say so in the Note
+rather than proposing a design.
+
+Two gotchas when reading the status table. Item 12 lives in the **"Deferred,
+unsized, or split out"** table further down, which has different columns and
+carries no size, so a grep across `^| <n> |` picks it up with its description
+where the size should be. And an item's status cell is prose, not a keyword:
+`open, on demand` (36) and `open, unspecified` (20) are both open. Read the
+cell, do not match on `open` alone.
+
## Working on this repo
Implementation follows `docs/superpowers/plans/2026-08-02-qtmaildir-v1.md` (14 tasks)