diff --git a/agents/darkwing/work/queue-69/build.md b/agents/darkwing/work/queue-69/build.md new file mode 100644 index 000000000..cfd95ab6a --- /dev/null +++ b/agents/darkwing/work/queue-69/build.md @@ -0,0 +1,100 @@ +# Row 69, terminal app follow-up after row 55, build (Darkwing) + +Issue #1562. Brief: `docs/plans/2026-10-11_terminal-app-follow-up.md`. +Reviewers: Dewey and Filbert. The notes come from row 55 round 3: Dewey's +comment 27308 and Filbert's comment 27309. + +Base `dad20531`. No commit from `dad20531` to `15ed3513` touches the four +paths. Row 92's `57948a81` changed `packages/cli/README.md` after the old +base the row was opened on, so I started from a fresh worktree. + +`build.patch` is `git diff --binary dad20531` of the four paths. Apply it +with `git apply --index` to a detached worktree of `dad20531`, and +`sha256sum -c candidate-manifest.sha256` then gives 4/4 OK (checked on a +fresh worktree). + +## What changed + +- `packages/cli/src/screens.mjs`, the hidden box only. It gains a third + line, "Resize, or use mosaic decide.", shown while asking and while + resolving. +- `packages/cli/src/app.mjs`, `render()` only. While the overlay is a + decide box and `decideShown()` is false, the frame's status line says + "Too small to confirm here." in the warning style. `state.status` is + left alone, so when the terminal grows and the box shows again, the + Inbox's "Press 1-n to choose. You will see the decision again and + confirm with y." comes back with it. Nothing else about `y` changed. +- `packages/cli/tests/app.test.mjs`: three tests and one code point. +- `packages/cli/README.md`: the hidden box's text, the status line, the + too-small screen under 40 columns at any height, and the row counts as + an example for a plain decision. + +## Two choices + +The way out is short because of the smallest frame. At 40x10 the body has +5 rows and the box is 38 cells wide, 34 inside. The brief's sentence, +"Make the terminal bigger, or use mosaic decide .", wraps to +two rows there, so the box is 6 rows and `draw()`'s general cut keeps the +top, a cut line and the last two rows. That drops "Any key answers No." +and adds a cut line pointing at `mosaic inbox --json`. "Resize, or use +mosaic decide." is 29 cells, so the hidden box is 5 rows at every size +and is never cut. The second test pins that at 40x10. The tradeoff: the +box no longer spells out `