pr #29737 runtime verification, linux, 2026-11-03 main: 61c3794c32; pr: f5f8365709a4dd81cabf835c7334c2c973685c92 real web client in /usr/bin/google-chrome, driven by repo playwright. project /home/user/main added through the app; real Codex gpt-6.1-sol turns. main server 16733/web 8693 stopped before pr server 13773/web 5733. input: a\nb\nc ESC[3K X main expanded command output: a\nb\n X\n pr expanded command output: a\nb\ncX\n input: a\nb\nc ESC[4J X main expanded command output: X\n pr expanded command output: a\nb\ncX\n pr live split chunks received over the actual client WebSocket: [ "{\"_tag\":\"Chunk\",\"requestId\":27,\"values\":[{\"kind\":\"replace\",\"text\":\"\",\"truncated\":false,\"running\":true}]}", "{\"_tag\":\"Chunk\",\"requestId\":27,\"values\":[{\"kind\":\"append\",\"text\":\"unsupported 99K\\na\\nb\\nc\",\"truncated\":false,\"running\":true}]}", "{\"_tag\":\"Chunk\",\"requestId\":27,\"values\":[{\"kind\":\"append\",\"text\":\"\\u001b[\",\"truncated\":false,\"running\":true}]}", "{\"_tag\":\"Chunk\",\"requestId\":27,\"values\":[{\"kind\":\"append\",\"text\":\"99KX\\nunsupported 99J\\na\\nb\\nc\",\"truncated\":false,\"running\":true}]}", "{\"_tag\":\"Chunk\",\"requestId\":27,\"values\":[{\"kind\":\"append\",\"text\":\"\\u001b[99JX\\n\",\"truncated\":false,\"running\":true}]}" ] live rendered result: unsupported 99K\na\nb\ncX\nunsupported 99J\na\nb\ncX\n supported neighbors, same Codex turn path: CR + ESC[2K + green SGR: progress done\nnext line\n (green output inspected) ESC[2J: fresh screen\n ESC[3J after 70 lines: Earlier output not shown; line 6 through line 69X retained. reopened completed command outputs match. blacksmith: vp test run packages/shared/src/terminalOutput.test.ts packages/client-runtime/src/state/commandOutput.test.ts apps/server/src/orchestration-v2/CommandOutputHub.test.ts 3 files, 26 tests passed. CI: 30 successful, 0 failing, 0 pending at unchanged PR head. limitation found: immediate initial stdout can be absent from live Codex frames until final replacement. Wire capture had an empty initial replace, then later appends. Delaying initial stdout 4 seconds verifies live erase modes independently. Initial-output delivery is not fixed by this numeric erase-mode PR. Native desktop/mobile, other providers, remote/tunnel paths not exercised. No source changes or pushes.