# Timeout diagnostic evidence index

Issue: [#24278](https://git.cafe/pingdotgg/t3code/issues/24278)

Scope: exact timeout diagnostic for fresh-tab `preview_open`; server-only, no changed render paths. Evidence extraction only; no code edits, new servers, browser sessions, PR writes or monitoring.

## Evidence

- [Before runtime](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83a60b29a25b0c6f/before-runtime.txt): base caller diagnostic 660000ms; original Playwright cause 15000ms; tool duration 21769ms, reported wall 21.780s.
- [After runtime and complete attempt log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e38fb65dc947a2ac/after-runtime.txt): stable caller diagnostic 15000ms; original Playwright cause 15000ms; tool duration 15696ms, reported wall 15.702s. Both preceding HTTP 503 attempts retained as discarded dev-reload infrastructure interruptions, not bug evidence.
- [Deterministic 20-second response driver](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b11d88c60056f25/slow-server.py).
- [Proof audit pass 1](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dbbb78d82a604b58/issue24278-proof-audit-pass1.md): server-only capture matrix and affected-path scope.

Required test evidence: red assertion expected 15000, actual 660000; green 52/52 across ServerBrowser and PreviewAutomationBroker. These results are supplied by the lead and recorded secondhand in proof audit pass 1. Original test command/output artifacts were not located during this evidence-only extraction; no tests rerun. Attach the lead's original output before treating raw red/green proof as independently captured. Do not substitute the runtime mismatch for the red assertion.

## Revision and environment

Runtime after revision: [ebc9dbbd00](https://git.cafe/pingdotgg/t3code/commit/ebc9dbbd003f0c0bc2f4b09f506512b31d9dc95d).
Comparison revision: [f722b70343](https://git.cafe/pingdotgg/t3code/commit/f722b703439e002d251cbc831c772a34eebf66fb).
All four changed files independently compared using git blob identities and are byte-identical at those revisions:

- apps/server/src/mcp/PreviewAutomationBroker.ts
- apps/server/src/preview/ServerBrowser.test.ts
- apps/server/src/preview/ServerBrowser.ts
- apps/server/src/preview/ServerBrowserPage.ts

Environment: Linux x64, existing isolated worktree .t3, real MCP -> broker -> server-browser Chromium. Target localhost:1337 delays its HTTP response 20 seconds. Arguments: `preview_open({url:"http://127.0.0.1:1337/",reuseExistingTab:false})`. This is a deterministic equivalent of a slow initial navigation, not a cold-Vite-specific capture. Runtime setup provenance supplied by lead; records corroborated from existing provider and server trace logs.

Capture evidence rows: **0/0**. Matrix: `[]`. No UI/render path changed; screenshots and recordings do not apply.

What else changed: **none** during evidence capture. Only new sanitized evidence artifacts were written under /tmp/issue-24278-evidence. Lead .t3, existing temporary artifacts, repository and running processes were preserved.

## FRICTION

- Two after attempts returned HTTP 503 during dev reload. Discarded as infrastructure interruptions; stable final attempt supplies after proof.
- Original red/green test output not located. Results explicitly remain lead-reported until its artifact is attached.
- Different revision IDs reconciled for the four changed files by byte-identical git blobs; this is not an assertion about unrelated files or CI/merge readiness.

Sanitization: only allowlisted tool arguments, timestamp, duration, diagnostic and cause extracted. Full provider/server logs were not uploaded. MCP structuredContent was null, so no separately exposed runtime timeoutMs field is claimed.
