PR 23107 real dev verification, 2026-11-01, Linux Boat VM main: 955e2bfbb5; PR: 0354a6176931fda71516bc8e5f3ad9cb3407a8f2 Setup: git worktree add ../main github/main cd ../main && timeout 600 vp i setsid nohup timeout 7000 vp run dev > /tmp/main-dev.log 2>&1 & [dev-runner] serverPort=16733 webPort=8693 baseDir=/home/user/main/.t3 Main was stopped using its captured process-group PID before PR verification. PR checkout: pixpmusic/preview-timeout-recovery at exact requested head vp i setsid nohup timeout 7000 vp run dev --home-dir /home/user/t3code/.t3 > /tmp/dev.log 2>&1 & [dev-runner] serverPort=13773 webPort=5733 baseDir=/home/user/t3code/.t3 Client: repository Playwright 1.60.0, /usr/bin/google-chrome, 1440x1000. Created /home/user/preview-recovery as a real git repository and added its project through the UI on both versions. Selected Codex GPT-6.1-Sol. Submitted the same prompt to both versions: Open https://example.com in a background T3 tab, wait twice for absent text PREVIEW_RECOVERY_ABSENT_23107 with timeoutMs=1000, recover according to the injected browser instructions, inspect heading, close tab. Main actual tool results (same tab): preview_wait_for -> Preview automation waitFor timed out after 1000ms. preview_wait_for -> Preview automation waitFor timed out after 1000ms. Codex: "my browser instructions say to switch browsers after two failures on one step. i'll use a separate browser to read the heading, then close both tabs." Provider subsequently ran standalone Playwright/system Chrome. All tabs closed. PR actual tool results (same tab): preview_wait_for -> Preview automation waitFor exceeded the browser's operation deadline. The browser responded; check preview_status on the same tab before retrying. preview_wait_for -> same message. preview_status -> available=true, visible=false, loading=false, same tabId. preview_snapshot -> succeeded. preview_evaluate -> {title:"Example Domain",headings:[]}. t3_preview_close -> succeeded. No standalone browser fallback was invoked in this turn. Neighboring provider/client turn: preview_act click #preview-recovery-absent timeoutMs=1000 -> Preview automation click exceeded the browser's operation deadline. The browser responded; check preview_status on the same tab before retrying. preview_status and preview_snapshot -> succeeded on same tab. preview_navigate https://example.org -> same tabId, available=true, visible=false, loading=false. preview_wait_for urlIncludes=example.org -> succeeded. preview_snapshot -> succeeded. preview_evaluate -> {title:"Example Domain",href:"https://example.org/"}. preview_status -> same tabId. t3_preview_close -> succeeded. preview_status -> available=false, tabId=null. Blacksmith: vp i && vp test run apps/server/src/mcp/PreviewAutomationBroker.test.ts apps/server/src/preview/ServerBrowser.test.ts apps/server/src/provider/CodexDeveloperInstructions.test.ts 3 files passed, 82 tests passed. Worker stopped. GitHub CI on exact PR head: applicable checks passed. No source edits, commits, or pushes were needed. Limits: No native mobile or Electron desktop client on this Linux VM. macOS offscreen snapshot failure and OS focus theft not reproduced. Real runtime triggers were missing-text waits and a missing locator, not a snapshot timeout or open-navigation timeout. No live host-silence timeout was forced; existing focused tests cover broker behavior. Other providers and multi-environment/relay connections were not sampled. This is one Codex sample per scenario, not a statistical model-behavior evaluation.