Read the console the duplicate keys were written to
The suite that covered this change could not see the thing it was about. `bun run e2e` builds `apps/web/dist` and tests that, and React's duplicate-key warning — like every invariant it reports at runtime — is not in a production build. Two tests asserting DOM counts were the whole of the evidence, and they would have passed just as green before the fix as after it. `bun run check:console` starts the dev client and reads the console instead. It opens a plan holding a fence, a patch and a formula, types beside one, collapses it, edits elsewhere, and fails on any duplicate key reported along the way. Run against the two keys as they were, it reports 167 of them and fails four of its eight checks; against the fix, none and none. That gap is the point — a check that cannot fail on the unfixed code is not evidence. Ports come from the OS rather than the config, so this runs beside a dev server already on 5173. That means overriding `server.hmr.clientPort` as well, which only the JS API can reach: left at the default the client spends the run reporting a socket it cannot open, in the console being read. `tasks/images/006-console.png` is what it draws — every message the page emitted, none of them React, beside the plan they were emitted from.
Parent3d6fa5b
4 files changed+377-5
StackedSplit