# R03 — Owning-agent reads

Environment: fs-50; Linux 6.8.0-117-generic x86_64; Node v26.12.1; Playwright 1.60.0; Chrome Headless Shell 157.0.8103.38; isolated dev:server, T3CODE_DEV_SEED=0, fresh per-checkout SQLite; synthetic Fx fixture; RPC/MCP over loopback; UTC timestamps.

Scripted interaction (same inputs on both revisions; generated ids differ): Hold dark appearance past its 15s deadline; concurrently issue owner snapshot and waitFor on A; status follows.

What differed: Owner snapshot/waitFor are refused immediately with busy after the change. Before, a queued short wait times out and evicts the host, disconnecting sibling requests.

## C1 steps and timestamps

Before step times (UTC):

```jsonl
{"time":"2026-11-10T11:41:04.858Z","tool":"preview_open","caller":0,"args":{"reuseExistingTab":false,"open":false}}
{"time":"2026-11-10T11:41:05.152Z","tool":"preview_recording_start","caller":0,"args":{"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36"}}
{"time":"2026-11-10T11:41:05.619Z","tool":"preview_set_appearance","caller":0,"args":{"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","colorScheme":"dark"}}
{"time":"2026-11-10T11:41:23.137Z","tool":"preview_snapshot","caller":0,"args":{"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36"}}
{"time":"2026-11-10T11:41:23.138Z","tool":"preview_wait_for","caller":0,"args":{"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","selector":"body","timeoutMs":1500}}
{"time":"2026-11-10T11:41:27.161Z","tool":"preview_status","caller":0,"args":{"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36"}}
```

After step times (UTC):

```jsonl
{"time":"2026-11-10T11:39:22.279Z","tool":"preview_open","caller":0,"args":{"reuseExistingTab":false,"open":false}}
{"time":"2026-11-10T11:39:22.933Z","tool":"preview_recording_start","caller":0,"args":{"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3"}}
{"time":"2026-11-10T11:39:23.623Z","tool":"preview_set_appearance","caller":0,"args":{"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","colorScheme":"dark"}}
{"time":"2026-11-10T11:39:40.663Z","tool":"preview_snapshot","caller":0,"args":{"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3"}}
{"time":"2026-11-10T11:39:40.665Z","tool":"preview_wait_for","caller":0,"args":{"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","selector":"body","timeoutMs":1500}}
{"time":"2026-11-10T11:39:42.388Z","tool":"preview_status","caller":0,"args":{"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3"}}
```

<a id="before"></a>
## Before — C1

SHA: [fa2f4ff2a2](https://github.com/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0)

Agent-visible results (status/list fields selected; error text verbatim):

```jsonl
{"time":"2026-11-10T11:41:05.151Z","tool":"preview_open","caller":0,"result":{"isError":false,"selectedStatusFields":{"available":true,"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","url":null,"loading":false,"control":{"owner":"agent","ownedByCaller":true,"generation":0},"dialog":null,"viewportSetting":{"_tag":"fill"},"viewport":{"width":1280,"height":800},"tabs":[{"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","owner":"agent","ownedByCaller":true}]}}}
{"time":"2026-11-10T11:41:05.619Z","tool":"preview_recording_start","caller":0,"result":{"isError":false,"structuredContent":{"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","recording":true,"startedAt":"2026-11-10T11:41:05.615Z"}}}
{"time":"2026-11-10T11:41:21.634Z","tool":"preview_set_appearance","caller":0,"result":{"content":[{"type":"text","text":"Preview automation setColorScheme timed out after 15000ms."}],"isError":true}}
{"time":"2026-11-10T11:41:25.658Z","tool":"preview_snapshot","caller":0,"result":{"content":[{"type":"text","text":"Preview snapshot failed: Preview automation client server-browser disconnected during snapshot."}],"structuredContent":{"error":{"_tag":"PreviewAutomationClientDisconnectedError","operation":"snapshot","failureCount":1,"message":"Preview automation client server-browser disconnected during snapshot."}},"isError":true}}
{"time":"2026-11-10T11:41:25.659Z","tool":"preview_wait_for","caller":0,"result":{"content":[{"type":"text","text":"Preview automation waitFor timed out after 1500ms."}],"isError":true}}
{"time":"2026-11-10T11:41:27.173Z","tool":"preview_status","caller":0,"result":{"isError":false,"selectedStatusFields":{"available":true,"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","url":null,"loading":false,"control":{"owner":"agent","ownedByCaller":true,"generation":0},"dialog":null,"viewportSetting":{"_tag":"fill"},"viewport":{"width":1280,"height":800},"tabs":[{"tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","owner":"agent","ownedByCaller":true}]}}}
```

Relevant server milestones:

```jsonl
{"time":"2026-11-10T11:40:40.304Z","event":"host.connected","connectionId":"3544549b-189b-45a7-82f5-323c2a31b83d"}
{"time":"2026-11-10T11:41:04.869Z","event":"request.start","operation":"open","requestId":"preview-0","timeoutMs":660000,"connectionId":"3544549b-189b-45a7-82f5-323c2a31b83d"}
{"time":"2026-11-10T11:41:05.142Z","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","event":"tab.created","detail":{"desktop":false,"isolatedContext":true}}
{"time":"2026-11-10T11:41:05.144Z","event":"operation.settled","requestId":"preview-0","operation":"open","ok":true}
{"time":"2026-11-10T11:41:05.157Z","event":"request.start","operation":"recordingStart","requestId":"preview-1","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","timeoutMs":15000,"connectionId":"3544549b-189b-45a7-82f5-323c2a31b83d"}
{"time":"2026-11-10T11:41:05.615Z","event":"operation.settled","requestId":"preview-1","operation":"recordingStart","ok":true}
{"time":"2026-11-10T11:41:05.627Z","event":"request.start","operation":"setColorScheme","requestId":"preview-3","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","timeoutMs":15000,"connectionId":"3544549b-189b-45a7-82f5-323c2a31b83d"}
{"time":"2026-11-10T11:41:05.628Z","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","event":"emulateMedia.start","detail":[{"colorScheme":"dark"}]}
{"time":"2026-11-10T11:41:05.628Z","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","event":"emulateMedia.held","detail":{}}
{"time":"2026-11-10T11:41:22.632Z","event":"host.connected","connectionId":"b8744c25-255d-49da-99b2-c9b7d2fa21c8"}
{"time":"2026-11-10T11:41:23.150Z","event":"request.start","operation":"snapshot","requestId":"preview-4","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","timeoutMs":15000,"connectionId":"b8744c25-255d-49da-99b2-c9b7d2fa21c8"}
{"time":"2026-11-10T11:41:23.152Z","event":"request.start","operation":"waitFor","requestId":"preview-5","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","timeoutMs":1500,"connectionId":"b8744c25-255d-49da-99b2-c9b7d2fa21c8"}
{"time":"2026-11-10T11:41:26.652Z","event":"host.connected","connectionId":"e4558845-047d-4489-8aed-1f3ec563d9e4"}
{"time":"2026-11-10T11:41:27.166Z","event":"request.start","operation":"status","requestId":"preview-12","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","timeoutMs":15000,"connectionId":"e4558845-047d-4489-8aed-1f3ec563d9e4"}
{"time":"2026-11-10T11:41:27.167Z","event":"operation.settled","requestId":"preview-12","operation":"status","ok":true}
{"time":"2026-11-10T11:41:28.039Z","tabId":"tab_1_1322bfd2-cca3-4137-992e-c9da3d086a36","event":"emulateMedia.error","detail":"Error: page.emulateMedia: Target page, context or browser has been closed"}
{"time":"2026-11-10T11:41:28.039Z","event":"operation.settled","requestId":"preview-3","operation":"setColorScheme","ok":false,"error":"Error: page.emulateMedia: Target page, context or browser has been closed"}
{"time":"2026-11-10T11:41:28.040Z","event":"operation.settled","requestId":"preview-4","operation":"snapshot","ok":false,"error":"BrowserControlInterrupted: This browser tab is closed."}
{"time":"2026-11-10T11:41:28.040Z","event":"operation.settled","requestId":"preview-5","operation":"waitFor","ok":false,"error":"BrowserControlInterrupted: This browser tab is closed."}
```

<a id="after"></a>
## After — C1

SHA: [b088b88d19](https://github.com/pingdotgg/t3code/commit/b088b88d19fb0edc43f754da2e1d199bda70d6d8)

Agent-visible results (status/list fields selected; error text verbatim):

```jsonl
{"time":"2026-11-10T11:39:22.933Z","tool":"preview_open","caller":0,"result":{"isError":false,"selectedStatusFields":{"available":true,"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","url":null,"loading":false,"control":{"owner":"agent","ownedByCaller":true,"generation":0},"dialog":null,"viewportSetting":{"_tag":"fill"},"viewport":{"width":1280,"height":800},"tabs":[{"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","owner":"agent","ownedByCaller":true}]}}}
{"time":"2026-11-10T11:39:23.621Z","tool":"preview_recording_start","caller":0,"result":{"isError":false,"structuredContent":{"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","recording":true,"startedAt":"2026-11-10T11:39:23.612Z"}}}
{"time":"2026-11-10T11:39:39.162Z","tool":"preview_set_appearance","caller":0,"result":{"content":[{"type":"text","text":"Preview automation setColorScheme timed out after 15000ms."}],"isError":true}}
{"time":"2026-11-10T11:39:40.693Z","tool":"preview_snapshot","caller":0,"result":{"content":[{"type":"text","text":"Preview snapshot failed: This browser tab is busy with an earlier action that timed out. Open a new tab with preview_open and reuseExistingTab=false, or close this one with t3_preview_close."}],"structuredContent":{"error":{"_tag":"PreviewAutomationControlInterruptedError","operation":"snapshot","failureCount":1,"message":"This browser tab is busy with an earlier action that timed out. Open a new tab with preview_open and reuseExistingTab=false, or close this one with t3_preview_close."}},"isError":true}}
{"time":"2026-11-10T11:39:40.696Z","tool":"preview_wait_for","caller":0,"result":{"content":[{"type":"text","text":"This browser tab is busy with an earlier action that timed out. Open a new tab with preview_open and reuseExistingTab=false, or close this one with t3_preview_close."}],"isError":true}}
{"time":"2026-11-10T11:39:42.398Z","tool":"preview_status","caller":0,"result":{"isError":false,"selectedStatusFields":{"available":true,"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","url":null,"loading":false,"control":{"owner":"agent","ownedByCaller":true,"generation":0},"dialog":null,"viewportSetting":{"_tag":"fill"},"viewport":{"width":1280,"height":800},"tabs":[{"tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","owner":"agent","ownedByCaller":true}]}}}
```

Relevant server milestones:

```jsonl
{"time":"2026-11-10T11:38:06.533Z","event":"host.connected","connectionId":"61893f52-5b7b-45e6-b0a0-72e49d4ebf16"}
{"time":"2026-11-10T11:39:22.295Z","event":"request.start","operation":"open","requestId":"preview-0","timeoutMs":660000,"connectionId":"61893f52-5b7b-45e6-b0a0-72e49d4ebf16"}
{"time":"2026-11-10T11:39:22.916Z","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","event":"tab.created","detail":{"desktop":false,"isolatedContext":true}}
{"time":"2026-11-10T11:39:22.920Z","event":"operation.settled","requestId":"preview-0","operation":"open","ok":true}
{"time":"2026-11-10T11:39:22.943Z","event":"request.start","operation":"recordingStart","requestId":"preview-1","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","timeoutMs":15000,"connectionId":"61893f52-5b7b-45e6-b0a0-72e49d4ebf16"}
{"time":"2026-11-10T11:39:23.612Z","event":"operation.settled","requestId":"preview-1","operation":"recordingStart","ok":true}
{"time":"2026-11-10T11:39:23.652Z","event":"request.start","operation":"setColorScheme","requestId":"preview-3","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","timeoutMs":15000,"connectionId":"61893f52-5b7b-45e6-b0a0-72e49d4ebf16"}
{"time":"2026-11-10T11:39:23.654Z","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","event":"emulateMedia.start","detail":[{"colorScheme":"dark"}]}
{"time":"2026-11-10T11:39:23.655Z","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","event":"emulateMedia.held","detail":{}}
{"time":"2026-11-10T11:39:40.681Z","event":"request.start","operation":"snapshot","requestId":"preview-4","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","timeoutMs":15000,"connectionId":"61893f52-5b7b-45e6-b0a0-72e49d4ebf16"}
{"time":"2026-11-10T11:39:40.684Z","event":"operation.settled","requestId":"preview-4","operation":"snapshot","ok":false,"error":"BrowserControlInterrupted: An earlier action on this tab timed out and is still running."}
{"time":"2026-11-10T11:39:40.689Z","event":"request.start","operation":"waitFor","requestId":"preview-5","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","timeoutMs":1500,"connectionId":"61893f52-5b7b-45e6-b0a0-72e49d4ebf16"}
{"time":"2026-11-10T11:39:40.689Z","event":"operation.settled","requestId":"preview-5","operation":"waitFor","ok":false,"error":"BrowserControlInterrupted: An earlier action on this tab timed out and is still running."}
{"time":"2026-11-10T11:39:42.393Z","event":"request.start","operation":"status","requestId":"preview-12","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","timeoutMs":15000,"connectionId":"61893f52-5b7b-45e6-b0a0-72e49d4ebf16"}
{"time":"2026-11-10T11:39:42.394Z","event":"operation.settled","requestId":"preview-12","operation":"status","ok":true}
{"time":"2026-11-10T11:39:43.251Z","tabId":"tab_1_b49bf147-bc21-4874-9243-25ceadea1fd3","event":"emulateMedia.error","detail":"Error: page.emulateMedia: Target page, context or browser has been closed"}
{"time":"2026-11-10T11:39:43.252Z","event":"operation.settled","requestId":"preview-3","operation":"setColorScheme","ok":false,"error":"Error: page.emulateMedia: Target page, context or browser has been closed"}
```

AI-assisted; verified with the tests and tools listed above.
