githubnext/chopinPublic

Let's compose rich plans together

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.
MAMaggie Appleton authored
61b9ccdPatch
Parent4437ab4
4 files changed+377-51 binary
StackedSplit
e2e/code.e2e.ts+15 −5
package.json+1 −0
scripts/check-dev-console.ts+361 −0
tasks/images/006-console.png+0 −0

Binary file not shown.