plans: row 95 follow-up brief, Darkwing's N1-N3 (#1591)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-12 16:59:42 -05:00
co-authored by Claude Opus 5.5
parent 2e26fbe186
commit c7b07064b9
+59
View File
@@ -239,3 +239,62 @@ the machine scan. A Board for other businesses.
Darkwing approves on the row's issue, naming the candidate manifest. Darkwing approves on the row's issue, naming the candidate manifest.
The suites above pass on Sage's gate rerun. Live after the Console The suites above pass on Sage's gate rerun. Live after the Console
restart Mos approves. restart Mos approves.
## Row 95 follow-up: Board tests fail fast, README lists every redirect
### Problem
Darkwing's review of row 95 (comment 27953, approve) left three notes,
and row 95 landed in 17ad6f35 without a second round.
- N1: `packages/webui/tests/browser-edge.test.mjs` awaits
`boardRequested` (line 29), which only the server's `/api/board`
handler resolves. If the "Show machine sessions" toggle stops reading
the board, the await never settles. The test is cancelled at 120 s,
its `finally` never closes the browser and server, and the file never
exits. `node --test` has no file timeout, so the webui suite stalls
instead of failing.
- N2: test 2 in `board-held.test.mjs` claims no further request on the
poll, but it waits 600 ms and both polls are 10 s. Mutants 13 and 27
survive for that reason.
- N3: the webui README's test paragraph says test 2 redirects three
reads. It redirects six: the board, `agents`, `/api/conversations`,
`/api/seen`, `/api/queue` and the send.
### Owner and reviewer
Owner: assigned on the row. Reviewer: Darkwing.
### Files owned
- `packages/webui/tests/browser-edge.test.mjs`,
`packages/webui/tests/board-held.test.mjs`, and any test helper they
share
- `packages/webui/README.md`, the test paragraph only
- `agents/<owner>/work/queue-<row>/`
### What ships
- N1: the toggle step in `browser-edge.test.mjs` fails within a few
seconds when no `/api/board` request comes, and the browser and
server close either way. Prove it with the toggle-on mutant: the file
exits nonzero inside 30 s, with no browser or node process left.
- N2: either test 2 reaches a poll tick, by a shorter poll in the test
or a clock the test controls, and mutants 13 and 27 die; or the
test's comment and the README stop claiming the poll. The packet says
which, and why.
- N3: the README's test paragraph names all six redirected requests.
Suites: the webui and control-board node suites, and every
`scripts/test-*.sh`.
### Out of scope
Any change under `packages/webui/src/`. Row 95's behavior stays as
landed.
### Gate
Darkwing approves on the row's issue, naming the candidate manifest.
The suites above pass on Sage's gate rerun. Tests and README only, so
nothing goes live and no restart is involved.