aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-11 19:40:28 +0200
committerDanilo M. <danix@danix.xyz>2026-08-11 19:40:28 +0200
commit2c3a3d4da8ceb21bd1e2f7be16fcaa7473b6bbe6 (patch)
tree6dd8c6d6ecfab2f918e3e51aa6b6886aae42da80 /docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md
parent10bbd51512e01efedf20881ebc7f5badbc3fcbf6 (diff)
downloadqtmaildir-2c3a3d4da8ceb21bd1e2f7be16fcaa7473b6bbe6.tar.gz
qtmaildir-2c3a3d4da8ceb21bd1e2f7be16fcaa7473b6bbe6.zip
docs(backlog): record item 67 as shipped in 0.15.0
The session's backlog reconciliation against the user's notes found nothing unrecorded, but did find item 67's status cell still reading "open" after the work shipped in 0.15.0 (72812c0). The section's Approach also proposed tag:draft as the obvious drafts query, which the implementation rejected: it counts 0 against the real database and no draft-ish tag exists there at all, so a tag-based line would have been a permanent zero that reads as working code. Both lines are folder-composed instead. Recording that, since the Approach as written would otherwise send the next reader down the path it was already measured out of. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md')
-rw-r--r--docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md14
1 files changed, 13 insertions, 1 deletions
diff --git a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md
index e71f354..9957ba8 100644
--- a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md
+++ b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md
@@ -123,7 +123,7 @@ taking that too literally.
| 64 | The Sync button carries a mailbox icon, not a refresh one | presentation | XS | **done** 2026-08-11 |
| 65 | No full code review and optimization pass | correctness | ? | open, unspecified |
| 66 | Selecting a thread root leaves the message pane blank until a reply has been selected | defect | S | open; needs a reproduction before a fix |
-| 67 | The placeholder pane counts unread, flagged and inbox, but not sent or drafts | information | XS | open |
+| 67 | The placeholder pane counts unread, flagged and inbox, but not sent or drafts | information | XS | **done** 2026-08-11, shipped in 0.15.0 |
| 68 | A forwarded subject gets no `passed` tag | workflow | S | open; no subject rule exists, measured 2026-08-11. Decision needed: display mark (XS) or write the flag (S, syncs out) |
| 69 | `passed` and `replied` read as words where every other state is a glyph | presentation | S | open; depends on 68 for what `passed` means |
| 70 | Pane icons are a private set where the main window uses the system theme | presentation | M | open |
@@ -4308,6 +4308,18 @@ query list and the label list at the same index.
**Size: XS.**
+**Done 2026-08-11, shipped in 0.15.0 (72812c0).** `tag:draft` was checked against
+the real database as the Approach required and counts 0, with no draft-ish tag
+present at all, so both lines are folder-composed rather than tag-based:
+`Account::draftsQuery()` and `Config::allDraftsQuery()` now mirror the sent pair,
+and the shared body lives in `folderQuery()`/`joinAccountQueries()` so the quoting
+and the bare-`or` guard exist once. `kPlaceholderQueries` was deleted rather than
+extended: it was the parallel-list arrangement the Constraints section warns
+about, and `placeholderLines()` now carries each query beside the callable that
+labels it, which removes the pairing hazard instead of documenting it. Measured
+4 sent terms over 601 threads, 5 drafts terms over 3 threads; the extra drafts
+term is the account configuring `drafts` and no `sent`.
+
## 68. A forwarded subject gets no `passed` tag
**Observed (user, from the notes):** "passed tag should appear when subject is