diff --git a/docs/plans/20260724-selection-index-units.md b/docs/plans/completed/20260724-selection-index-units.md similarity index 74% rename from docs/plans/20260724-selection-index-units.md rename to docs/plans/completed/20260724-selection-index-units.md index a223007..e026a15 100644 --- a/docs/plans/20260724-selection-index-units.md +++ b/docs/plans/completed/20260724-selection-index-units.md @@ -52,3 +52,22 @@ Fix: capture `YOffset` (or resolve the row) before the `setFocus` call. `go test -race ./...`, plus a regression test per item — the click and paging cases are cheap to pin with the `pagingModel` helper added in `internal/model/group_test.go`. + +## Outcome (2026-08-10) + +Items 1-3 landed and are in `main`: + +- **1** — both handlers go through `m.indexOfMeta(name)` (`internal/model/mode.go:196`, + `:304`), with the reason stated in a comment at the first site. +- **2** — `trackTool` carries `Note`, `Tags`, `UpdateCmd`, `Added` and a ref-less + input's `GitHub` forward from the existing entry; the status reset to `trying` is + the one deliberate change. +- **3** — `buildToolRows` truncates instead of wrapping + (`truncateToWidth(flattenLine(mt.Name), nameBudget)`, `internal/model/render.go:1225`). + +**Item 4 is closed unfixed, by the owner's call.** `handleMouse` still reads +`m.toolsViewport.YOffset` after `setFocus(focusTools)` has re-clamped it +(`internal/model/render.go:2230-2235`), so a click that follows a wheel scroll from +another panel can select a neighbouring tool. It is not tracked anywhere else — if it +starts to bite, this section is the record of what it is and where the fix goes +(capture the offset, or resolve the row, before the `setFocus` call). diff --git a/docs/plans/20260730-update-completion-signal.md b/docs/plans/completed/20260730-update-completion-signal.md similarity index 96% rename from docs/plans/20260730-update-completion-signal.md rename to docs/plans/completed/20260730-update-completion-signal.md index b124620..2026c67 100644 --- a/docs/plans/20260730-update-completion-signal.md +++ b/docs/plans/completed/20260730-update-completion-signal.md @@ -291,9 +291,10 @@ decorative class, with `✓ present` / `✕ missing` in the metrics strip and - [x] mutation-check every assertion added in tasks 1-7: revert the production edit, confirm red, restore — colors and title words especially, that class of mutant survived the PR #48 review -- [ ] ⚠️ `go run .` against a tracked tool with a pending update — **left for the - user**: it installs a real package on the machine, so it is not something to - trigger unprompted, and a TUI needs a TTY this session does not have +- ⚠️ **never run, and deliberately so**: `go run .` against a tracked tool with a + pending update installs a real package on the machine, so it is not something + to trigger unprompted, and a TUI needs a TTY the session did not have. Left to + the user — see *Post-Completion* below for what a live run would still add. - [x] run the full matrix via the `preflight` skill ### Task 9: [Final] Update documentation @@ -310,11 +311,13 @@ decorative class, with `✓ present` / `✕ missing` in the metrics strip and was still documented as `[3] Update`, capitalised, from before titles went lowercase) and `ARCHITECTURE.md`'s `showsUpdateLog` site list, both found by docs-sync rather than by the manual pass -- [ ] move this plan to `docs/plans/completed/` (after the live run and the merge) +- [x] move this plan to `docs/plans/completed/` — done 2026-08-10, after the merge + and without the live run (see Task 8) ## Post-Completion -**Manual verification** +**Manual verification** — none of it was performed; it stays here as the record of +what a live run would still confirm. - The failure path is worth one real run (`chmod -w` on the brew prefix, or an `update_cmd` pointing at a missing binary) to see the reason line wrap inside 27 cells.