### Runtime evidence

Final-head capture: P04, P05, P06, P07, P10, P12 and new P13; original blank-tab harness repeated on both revisions. Host suite: **38/38 passed**. Immutable detached checkouts, clean source trees; final destroyed-guest guard retained. Desktop logging adds timestamps only. Environment: Linux x86_64; Node 26.12.1; Electron **44.10.1**; Playwright **1.60.0**; Xvfb **21.1.12**, 1920×1080×24; **8 logical CPUs**. Fresh T3 home, `T3CODE_DEV_SEED=0`, one synthetic project/free ACP agent. Original harness: sequential LOAD=0 and LOAD=8 samples (eight tracked CPU burners); unrelated VM activity uncontrolled. Host branch captures overlapped build/focused tests; desktop/harness captures ran after build.

**P04 — stop-only readiness / duplicate signals**

| Before [fa2f4ff2a2](https://git.cafe/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0) | After [1ecf7fc01c](https://git.cafe/pingdotgg/t3code/commit/1ecf7fc01c62da615debff89ca159b5bee66b83c) |
|---|---|
| 3/3 announced before any signal. | 0/3 early; 3/3 announced on `did-stop-loading`. Both sides: exactly one attachment through extra readiness signals and the real deadline. |

**P05 — main-frame non-aborted failure**

| Before [fa2f4ff2a2](https://git.cafe/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0) | After [1ecf7fc01c](https://git.cafe/pingdotgg/t3code/commit/1ecf7fc01c62da615debff89ca159b5bee66b83c) |
|---|---|
| 3/3 already announced before failure. | 0/3 early; 3/3 announced once on main-frame `did-fail-load`, code -105; no duplicate after stop/dom-ready/deadline. |

**P06 — rejected failures**

| Before [fa2f4ff2a2](https://git.cafe/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0) | After [1ecf7fc01c](https://git.cafe/pingdotgg/t3code/commit/1ecf7fc01c62da615debff89ca159b5bee66b83c) |
|---|---|
| 3/3 already announced before rejected events. | 0/3 announcements after subframe -105 or main-frame -3 (ERR_ABORTED); 3/3 announced once on subsequent main `dom-ready`. |

**P07 — no readiness signal; real fallback**

| Before [fa2f4ff2a2](https://git.cafe/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0) | After [1ecf7fc01c](https://git.cafe/pingdotgg/t3code/commit/1ecf7fc01c62da615debff89ca159b5bee66b83c) |
|---|---|
| 0.155, 0.074, 0.084 ms. | 4999.907, 5001.111, 5007.049 ms from host attach; one attachment per round. |

**P10 — pending visibility; three rounds per variant**

| Fixture | Before [fa2f4ff2a2](https://git.cafe/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0) | After [1ecf7fc01c](https://git.cafe/pingdotgg/t3code/commit/1ecf7fc01c62da615debff89ca159b5bee66b83c) |
|---|---|---|
| true → false | `shown`: true, false, true. | No pending events; attached → false; later true once. |
| false → true | false, true, false. | No pending events; attached → true; later false once. |
| true → undefined | Stale true already sent; later false. | No shown at readiness; later false once. |

**P13 — destroyed loading guest / live loading peer; three paired rounds**

| Fixture | Before [fa2f4ff2a2](https://git.cafe/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0) | After [1ecf7fc01c](https://git.cafe/pingdotgg/t3code/commit/1ecf7fc01c62da615debff89ca159b5bee66b83c) |
|---|---|---|
| Destroyed guest, no `host.detach` call | 3/3 announced at once (0.128, 0.081, 0.235 ms). | 0/3 attached and 0/3 detached through fallback and cleanup; `isDestroyed()` true before deadline. |
| Live peer, same fallback window | 3/3 announced at once. | 3/3 announced once at 5024.565, 5024.208, 5023.950 ms; no ready/error/stop signal. |

**P12 — real desktop MCP tools; three rounds per fixture**

| Fixture | Before [fa2f4ff2a2](https://git.cafe/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0) | After [1ecf7fc01c](https://git.cafe/pingdotgg/t3code/commit/1ecf7fc01c62da615debff89ca159b5bee66b83c) |
|---|---|---|
| Fresh blank / Incognito blank / local HTTP initial URL | 3/3 pass each (reused first-pass before capture). | 3/3 pass each on final head. |
| Desktop channel / host announcements | 9/9 endpoints; 9 attachments for 9 tabs (reused). | 9/9 successful `DesktopBrowserChannel.endpoint` spans; exactly 9 attachments for 9 tabs. |

Each P12 round: `preview_open` → body wait → initial snapshot **before any navigation/mutation** → evaluate appending a button → snapshot → `preview_act` using its aria-ref → evaluate proving `clicked: yes` → snapshot containing “Capture confirmed” → close. Five final-head guests were still loading at host attach. The host/guest timeline and server channel spans establish desktop ownership; the server-managed tab metadata alone does not. The before P12 driver is byte-identical (SHA-256 recorded in provenance); no other prior before results are reused.

**Original about:blank harness — failures / 30 rounds**

| Fixture | Before [fa2f4ff2a2](https://git.cafe/pingdotgg/t3code/commit/fa2f4ff2a2bac5ac92e07749f6b83b0003d642a0) | After [1ecf7fc01c](https://git.cafe/pingdotgg/t3code/commit/1ecf7fc01c62da615debff89ca159b5bee66b83c) |
|---|---|---|
| Idle, LOAD=0 | **0/30** | **0/30** |
| Loaded, LOAD=8 | **2/30** (rounds 18, 28: locator hung >3000 ms; body wait timed out). | **0/30** |

The original driver keeps its round sequence, 300 ms pause, locator/wait deadlines and scoring; adaptations only resolve checkout/dependency/output paths and record head/load metadata. The idle before failure did not reproduce on this VM.

What else changed:

- No unrelated behavioral difference observed: ready guests, post-ready visibility, snapshots, locator actions and close worked.
- Intended differences: readiness/visibility gating, five-second fallback, and suppression of a guest destroyed before announcement.

Limits: controlled EventEmitter guests prove host branches, not live-network failure behavior or working CDP after the fallback. P12 proves normal full-channel tools, not the ten-second end-to-end fallback budget. No macOS/Windows run; small samples are not reliability estimates. No required row remains unverified.

Transcripts: [before host](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9ce1bdfed892f3de/host-before.jsonl), [after host](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b7b0fa2252bbd5e/host-after.jsonl), [desktop tools](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2835687b2b3f34a2/desktop-tools.jsonl), [desktop timeline](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce35f0d55cff36f3/desktop-host.jsonl), [desktop channel](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27237541341d5e41/desktop-channel.jsonl), [before idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7bbe04556ae80e2/original-before-idle.jsonl), [after idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e7885167cc4880f7/original-after-idle.jsonl), [before loaded](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/498bc1bfeb971891/original-before-load.jsonl), [after loaded](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3a6ebbb0576708a/original-after-load.jsonl). Reused P12 before: [tools](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/94d00d3118e70487/tools.jsonl), [desktop timeline](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cbbd41ec02b541c5/host.jsonl), [first-pass provenance and channel spans](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6c57a12ca80225c/capture-evidence.tar.gz). Drivers/provenance: [complete package, every source/generated driver and raw harness transcripts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fbd6d9ee5d07dde7/capture-evidence.tar.gz), [verified results/environment/hashes](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/722443b56f698eb9/verification.json), [host driver](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/190848d70a5630a0/host-sequences.ts), [original harness](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2daa6ee97b0d089f/original-harness.ts), [desktop tool driver](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87b73811eabfcb3c/preview-driver.mjs). Verbatim upload output is retained in `uploads.md`. AI-assisted; verified with the tests and tools listed above.
