PR #27405 real-environment verification, Linux Boat VM, 2026-11-01 main: github/main 5732bbee397f0a2b0e61d0c2e432f01dca6df3dc PR: 264e9f9bb57ba100ce4999fb6f11538fd76f9e12 (exact contributor head; no edits) Setup: - git worktree add ../main github/main; vp i - Main: background vp run dev --no-seed, web 8693 / server 16733 - Stop captured main process group before starting PR - PR: vp i; background vp run dev --no-seed --home-dir /home/user/pr27405-state - PR web 5733 / server 13773 - Playwright from repo dependencies, /usr/bin/google-chrome - Projects created through the web client against real git directories - Actual Codex gpt-6.1-sol turns, no mocks or seeded database Original unnecessary serialization reproduced on main: - Complete Codex turn: assistant says "replay verification ready." - Disconnect web UI while creating backlog through real orchestration.dispatchCommand RPC - 128 thread.metadata.update commands: 127 distinct long titles, final short title - Stored raw payload: 1,043,887 bytes, below 1,048,576-byte raw guard - Full encoded replay: 1,087,791 bytes - Node inspector breakpoint on existing JSON.stringify(item) line: 128 hits - Resume from pre-backlog sequence 177: snapshot at 305, then synchronized - Snapshot preserves provider answer Exact PR head: - Same user flow and 128 rename commands, title size calibrated to raw cap - Stored raw payload: 1,043,933 bytes, below raw guard - Full encoded replay: 1,101,860 bytes (older head has longer thread identifiers) - Node inspector breakpoint on existing JSON.stringify(item) line: 122 hits - Resume from pre-backlog sequence 42: snapshot at 170, then synchronized - Six trailing items skipped; snapshot preserves title and provider answer - No breakpoints during latency sampling; inspector detached before UI recording Neighboring behavior on both heads: - Resume from last sequence minus one: one thread.metadata-updated event, then synchronized - Resume from a future cursor: snapshot, then synchronized Real web reconnect and continued provider use on PR: - Temporarily offline, close existing app WebSocket, restore connection - Client issues orchestration.subscribeThread afterSequence=171 again - Server emits synchronized and then streams the subsequent turn's events - Send follow-up through normal web composer using Codex gpt-6.1-sol - Assistant says "follow-up after reconnect works." - Original answer, restored title and follow-up remain visible Existing tests through blacksmith-check: vp test run apps/server/src/orchestration-v2/ThreadStream.test.ts 7 passed vp test run apps/server/src/ws.test.ts -t "replay|resume" 4 passed, 5 excluded by name filter Existing PR CI: 30 successful checks, 0 pending, 0 failing Not verified: - Native desktop, iOS/Android, other providers, relay/tunnel and multi-device paths - Reliable wall-clock speedup: real WebSocket request medians were 22.0ms main and 22.6ms PR (20 warm samples each); different head schemas and development overhead prevent attributing a timing improvement to the small early exit - No source changes, no fix commits or pushes, no new test files