summaryrefslogtreecommitdiffstats
path: root/docs/superpowers/plans/2026-08-08-item-20-message-rows.md
AgeCommit message (Collapse)AuthorFilesLines
2026-08-10docs(item-20): specify message rows in the thread list and plan the workDanilo M.1-9/+0
The item sat as 'open, unspecified' since 2026-08-04, recording only that the user's mental model differed from what was built. Described now from three screenshots plus four decisions: the left pane gains message rows, the root row IS the thread's first message, replies indent by true reply depth, and action scope follows the selected row kind. No confirmation dialog, per this project's standing rule. The hazard the design introduces is ambiguity rather than destruction, since deleted is a tag and every mutation is invertible, so the scope is named in the status bar before and after the action instead. Sized L, the largest item in the backlog and the first to warrant a branch. The plan records four API facts verified against the installed headers, each contradicting the obvious approach: replies are unreachable from a query walk, thread-derived messages must not be RAII-wrapped, QTreeView lacks isRowSelected(int), and a tree numbers rows per parent.
2026-08-08docs: carry the item 20 and 53 backlog entries onto masterDanilo M.1-0/+1537
The work for item 20 lives on the branch item-20-message-rows, parked and not merged while the user explores a layout other than the table. Without these documents on master the session-start backlog read would miss item 53 entirely and item 20 would still read as unspecified, so the next session would either re-ask a question already answered or start designing against a rejected design. Docs only. No code from the branch is merged here, and the entries say so in three places: a note above the status table, item 20's own section, and a banner on the plan document telling a future agent not to execute it again. File and line references were checked against master rather than copied. Item 53's citation of the column-grid cause pointed at threadlistmodel.cpp:275-283, which on master is unrelated font handling; it now names the branch and the function instead of a line range that would send a reader to the wrong code. CLAUDE.md and CHANGELOG.md were deliberately NOT brought across. Both describe a QTreeView and features master does not have, and a CLAUDE.md that misdescribes the architecture is worse than one that is merely out of date.