TODO.md: work sections first, the argument moved to the back
The file had reached 2,441 lines and had to be read end to end to find out what was live. Restructured with Jesse. WHAT WAS WRONG was not the ordering. Eight subject sections sat under a 43-entry chronological queue that had come to duplicate them: the queue was where the priority lived, the sections were where the reasoning lived, so every live item existed in both and drifted between them. That is what let eight items be closed in one place and left open in the other last week, which reads as live work and is worse than no entry at all. One item per place now. THE SHAPE. A short overview; then "Every time", the process this project runs on — the version bump being Jesse's call, signed commits and tags, deploying from the right line, the wrapper release sequence, and the lesson that only a test failing before the fix proves a fix; then an index; then ten work sections in priority order, one per area, each holding every open item for that area. Play it at a table first, because the file itself calls it the largest gap in the project. Gitea#20 second, as v0.8.0. Then multiplayer operations, the screen, replays, rules, balance, the bot, code health, documentation. THE ARGUMENT MOVED TO THE BACK, NOT AWAY. An item in a work section is a few lines: what it is, what it blocks, what it would cost. The measurements, rulings and rejected approaches behind it are in a Reference section keyed by the same number, moved verbatim. All 61 open items have one. Then Done, which keeps every closed item because several are the only record of a ruling or a lesson. Checked mechanically rather than trusted: every lead and every body line over 40 characters from all 120 items of the old file was asserted present in the new one. Zero fragments lost. Two rendering bugs the move introduced were caught the same way — bodies that were list continuations indented 4 or 6 spaces render as CODE BLOCKS once they are no longer inside a list, and a wrapped lead splits mid sentence if a blank line is inserted before its continuation. THE NUMBERS ARE PERMANENT IDS. Items keep the number they were raised under for life, wherever they later move, because commit messages, Gitea comments and other items refer to them by number. Nothing was renumbered; previously unnumbered items took the next free numbers. Items that existed only as queue entries — 32, 33, 35, 36, 39, 40, 42a — are proper items with checkboxes for the first time, which is why the open count reads 61 against last week's 54 without anything new being raised. Also carries the two items Jesse asked for while finishing 0.7.9. #44: how much history the panel holds should be configurable, with his three candidates left deliberately open — a StartOS action reaches only multiplayer, since solitaire has no server; per game puts a display preference into the ruleset and every save; per browser is where every other display preference already lives. The cap has no recorded reason anywhere, and the replay viewer already answers the same question in a different unit. #46: 29 unused declarations and no flag to catch them, with the argument that the flag matters more than the 29. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YTaNBL1jVxNqgFdjHkHoo3
This commit is contained in:
co-authored by
Claude Opus 5
parent
e62ea54259
commit
6058f6c17e