# Worktree handoff runtime evidence

Captured 2026-10-24, Linux web + real Codex GPT-6.1-Sol High (default service tier, Full access).

**Before:** historical main [8176b58931](https://git.cafe/pingdotgg/t3code/commit/8176b589310fac6f59f1878ede4f7287c6c36d8f), immutable archived server source at `/tmp/issue-24513-baseline`, web 14733/server 22773, explicit isolated home `/tmp/issue-24513-baseline/.t3`.

**After:** clean final [43cd19866d](https://git.cafe/pingdotgg/t3code/commit/43cd19866dc706a4e7724f3fcafb6d4d5dd4d7c2), web 7463/server 15503, isolated `/home/ubuntu/wt/issue-24513/.t3`. All four after recordings started after lead's final 159/159 test repeat finished at 21:05 UTC. Source remained clean at the same head throughout capture. No accepted recording contains a reconnect/hot restart.

This is **not an exact merge-base comparison**. The baseline remains historical main 8176b58931; final includes the fix/corrections and subsequent main merges. The lead identified those intervening changes as mobile-only, preview certificate, and Cursor adapter changes. Baseline dependencies were linked by the lead to unchanged task-checkout packages; archived server source is main exact. No claim that every pixel difference is caused solely by this fix.

## Coverage

| Matrix row | Result / evidence |
| --- | --- |
| H | Four before + four after real handoff recordings at 1440/390 light/dark. Exactly one actual MCP handoff per fresh root-checkout thread, baseRef dev, startFromOrigin true, runSetupScript false. Continuation ran pwd/branch/status in target worktree. Before shows false interruption divider; after shows normal settled/foldable parent and no false interruption. |
| N | Same eight recordings include genuine native Codex child running before handoff and stopped afterward. Read-only persisted data confirms provider_native origin, actual sleep 60 command, interrupted subagent/turn item/child root/nested tool node. After parent and continuation runs completed and no parent run_interrupt_result item exists. After recordings additionally exercise root fold/expand and open the child terminal view. Subscription/ingestion closure is not directly proven by this browser capture; use correction agent's focused tests. |
| S | Not exercised by capture agent; focused server guard tests owned by lead. |
| U | Not exercised by capture agent; focused server predicate tests owned by lead. |
| T | Not exercised by capture agent; focused service tests owned by lead. |

Lead reports 159 scoped tests passing on final head. This agent did not rerun tests or independently audit that suite. Primary integrated verification belongs to lead and is separate from these capture takes.

## Matched runtime recordings

Identical core prompt and handoff parameters per cell, same branch names across isolated environments. Provider prose/titles/durations vary naturally. After-only inspection clicks exercise newly normal folding and child terminal detail; they are additional assertions, not claimed to be identical interaction footage.

| CSS viewport / appearance | Before | After | H / N |
| --- | --- | --- | --- |
| 1440×800 / light | [recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/10c89942ccee3b00/before-1440-light.mp4) | [recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/baad169a14f291fe/after-1440-light.mp4) | covered / covered |
| 1440×800 / dark | [recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/394c2ad060ed6459/before-1440-dark.mp4) | [recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/50e07bc2991d23f1/after-1440-dark.mp4) | covered / covered |
| 390×800 / light | [recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/80e645156dce7c57/before-390-light.mp4) | [recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8cabcdd0e2b6ebfe/after-390-light.mp4) | covered / covered |
| 390×800 / dark | [recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c13954a7e17e6742/before-390-dark.mp4) | [recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a7bebb02ab06f477/after-390-dark.mp4) | covered / covered |

## Browser / capture controls

T3 collaborative preview only, separate owned tabs: baseline `tab_2_54792322-6e69-42e4-b79c-8a001f8fd8ca`, after `tab_3_54792322-6e69-42e4-b79c-8a001f8fd8ca`. Linux x86_64 Chromium 154.0.0.0, desktop user agent at both widths; DPR 2, visualViewport.scale 1, root font size 16px. CSS viewport is exactly 1440×800 or 390×800. Recordings retain 2880×1600 / 780×1600 physical pixels. Saved preview desktop screenshots are tool-downsampled to 1280×711; narrow screenshots are 780×1600. No image was relabeled or upscaled as a target viewport.

Stills: fonts loaded, settled transcript, editor blurred, animations/transitions disabled only for supplementary still capture. Desktop sidebar collapsed consistently for stills; recordings retain sidebar. Each saved A/B still pair is byte-identical with at least 500ms between captures. Static timeline timestamps remain unaltered; no live clock remains in collapsed-sidebar stills, so no clock rewriting was needed. Page load and transcript settled before capture; no pending application loading indicator. Background telemetry is not represented as a global network-idle guarantee.

Desktop wraps unchanged web renderers; native mobile has a separate unchanged renderer reading the same server projection. Neither Electron nor native iOS/Android was runtime-tested. 390-wide proof is responsive web only. Other provider adapters, remote/relay/tunnel modes, Settings, palette and keybinding flows were not exercised. This is a shared-server behavior change with no client renderer or contract edits; these omissions follow the matrix's scope reduction, not a claim of cross-surface runtime verification.

## Settled stills and unmasked differences

All originals and all raw/amplified/thresholded differences were visually inspected. Diff0 is absolute RGB difference; amplified is ×8 clamped; threshold marks any nonzero pixel white (threshold 0). No alignment, masking, text replacement or repainting. Differences include provider wording/capitalization, titles, duration, timestamp, hover chrome, fold/spacing/scroll composition and independent environments. The normal folding itself changes the arrangement; these are not pixel-isolated divider proofs.

| Cell | Before still | After still | Diff0 | ×8 | threshold 0 | Changed pixels |
| --- | --- | --- | --- | --- | --- | --- |
| 1440-light | [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9091195a50254ed/before-1440-light-a.png) | [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6a069712a2e84bd/after-1440-light-a.png) | [raw](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe07ed70490bd681/1440-light-diff0.png) | [amplified](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/490a2cae6da039b3/1440-light-amplified8.png) | [threshold](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b894dd0ed3d4062/1440-light-threshold0.png) | 44897/910080 (4.93%) |
| 1440-dark | [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/983956e5ce52a044/before-1440-dark-a.png) | [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f6102627c88bf9f/after-1440-dark-a.png) | [raw](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d841ac0df2ef97a/1440-dark-diff0.png) | [amplified](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9748c1e2f7abd25/1440-dark-amplified8.png) | [threshold](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d87df28b1037085/1440-dark-threshold0.png) | 48302/910080 (5.31%) |
| 390-light | [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a7b1be0b7ac7683/before-390-light-a.png) | [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/668c1620189fe1d1/after-390-light-a.png) | [raw](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3914509bec59bff0/390-light-diff0.png) | [amplified](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/810de002a51f9932/390-light-amplified8.png) | [threshold](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/551e5cd6afa7fc24/390-light-threshold0.png) | 111004/1248000 (8.89%) |
| 390-dark | [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9f08877ab2a4f0d/before-390-dark-a.png) | [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/59fec50b315123e0/after-390-dark-a.png) | [raw](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a32b6be9cccee700/390-dark-diff0.png) | [amplified](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/89b8510d40b969dd/390-dark-amplified8.png) | [threshold](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/59b0dc873e849ad5/390-dark-threshold0.png) | 114634/1248000 (9.19%) |

## Runtime identity and UTC action timestamps

The runtime extracts include exact thread IDs, worktree paths, model options, run/item/node statuses and command output. Only disposable evidence thread rows were read; no DB writes/injected events.

[before-runtime.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d268a762949501c8/before-runtime.json) · [after-runtime.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6d6828d1daa698b/after-runtime.json)

| Phase / cell | Thread | Root requested | Native child start → terminal | Handoff start → end | Continuation requested → completed |
| --- | --- | --- | --- | --- | --- |
| before / 1440-light | `f8b47e0d-59fc-4d0a-879b-0337f7f82f23` | 20:50:07.453Z | 20:50:16.000Z → 20:50:20.000Z | 20:50:19.647Z → 20:50:20.515Z | 20:50:20.473Z → 20:50:30.068Z |
| before / 1440-dark | `3fd85207-edc7-49f2-9d97-e6f83419b8db` | 20:50:46.500Z | 20:50:50.000Z → 20:50:56.000Z | 20:50:55.158Z → 20:50:55.968Z | 20:50:55.932Z → 20:51:04.738Z |
| before / 390-light | `3183fd16-3ed6-499b-b942-c63a681dc8f9` | 20:51:24.591Z | 20:51:29.000Z → 20:51:35.000Z | 20:51:33.150Z → 20:51:35.397Z | 20:51:35.297Z → 20:51:45.924Z |
| before / 390-dark | `3d4860dc-e779-476c-9387-147455ab5c7c` | 20:52:03.431Z | 20:52:07.000Z → 20:52:14.000Z | 20:52:12.933Z → 20:52:14.422Z | 20:52:14.371Z → 20:52:23.598Z |
| after / 1440-light | `3c258f3e-8c6a-4991-a9c9-233eec7c29a1` | 21:05:38.327Z | 21:05:44.000Z → 21:05:49.000Z | 21:05:48.260Z → 21:05:49.134Z | 21:05:49.043Z → 21:05:57.515Z |
| after / 1440-dark | `1c691265-9ccf-4895-bc91-3db85385d8c0` | 21:06:32.651Z | 21:06:36.000Z → 21:06:40.000Z | 21:06:39.644Z → 21:06:40.000Z | 21:06:40.780Z → 21:06:49.025Z |
| after / 390-light | `51159d53-75d4-4838-8865-e4711d222062` | 21:07:15.324Z | 21:07:19.000Z → 21:07:24.000Z | 21:07:24.090Z → 21:07:24.000Z | 21:07:24.759Z → 21:07:33.412Z |
| after / 390-dark | `9628ab0d-4521-457f-aaf3-c52360e2928a` | 21:07:54.465Z | 21:07:58.000Z → 21:08:03.000Z | 21:08:03.144Z → 21:08:03.678Z | 21:08:03.660Z → 21:08:11.836Z |

## FRICTION

| Category | Happened | Avoidance |
| --- | --- | --- |
| Server watch restarts | After server returned 502/splash, later reconnecting and exited while corrections/tests ran. | Captured baseline first; zero after takes until lead explicitly confirmed final tests finished and stable server. No server started/stopped by capture agent. |
| Concurrent corrections/main merges | Several intermediate clean commits were superseded. | After captured only final 43cd19866d; baseline remains explicitly 8176b58931, not a claimed merge-base. |
| Still stability | Desktop light sidebar edge changed one pixel column; initial collapse icon was transient. | Collapsed sidebar in both desktop still sets, waited for settlement, re-captured until A/B pixel-identical. |
| Selector syntax | Exact attribute and stale Medium reasoning selector failed during setup. | Used supported case-sensitive role name selectors and fresh inspection; no affected runtime take. |
| Natural comparison variation | Real providers produced differing prose/titles/timing; after root now folds normally. | Preserve raw content, disclose differences and upload unmasked diffs. |
| Surface reduction | Narrow web is not native mobile; no Electron runtime. | State omitted surfaces and shared-server rationale explicitly. |

## Cleanup / scope

No source edits, commits, pushes, PR creation, merge, public issue comment, test run, new dev server, or server kill by this capture agent. Lead owns both servers and cleanup. Scratch files are under `/tmp/issue-24513-evidence/`; baseline disposable remote/clone/worktrees are under `/tmp/issue-24513-baseline/.t3/`. After evidence threads/worktrees were created through the real app in the existing isolated `.t3` fixture. Two owned preview tabs remain. T3's tools also retain product-managed original screenshots/recordings under its browser-artifact/attachment stores; copied evidence lives in scratch. Do not delete global artifact directories wholesale.

No credentials or pairing URLs uploaded. No stubs or event fabrication. Helper scripts are read-only extractor and unmasked image diff, linked below. Inspection contact sheets are derived only for visual review; raw recordings are the primary timing proof.

## Raw bundle and hashes

[raw-evidence.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0363875885fb190e/raw-evidence.zip)
[final-capture-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/498d76433dc3108a/final-capture-manifest.json)

The raw bundle includes all A/B still originals (including identical second frames), recordings, runtime extracts, scripts, diff outputs and inspection sheets. The final manifest records SHA-256 hashes and recording dimensions/durations.

## Exact upload Markdown

```markdown
[before-1440-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/10c89942ccee3b00/before-1440-light.mp4)
[before-1440-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/394c2ad060ed6459/before-1440-dark.mp4)
[before-390-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/80e645156dce7c57/before-390-light.mp4)
[before-390-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c13954a7e17e6742/before-390-dark.mp4)
![before-1440-light-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9091195a50254ed/before-1440-light-a.png)
![before-1440-dark-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/983956e5ce52a044/before-1440-dark-a.png)
![before-390-light-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a7b1be0b7ac7683/before-390-light-a.png)
![before-390-dark-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9f08877ab2a4f0d/before-390-dark-a.png)
[collect-runtime.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4595dc5b0f0e0d0f/collect-runtime.py)
[before-runtime.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d268a762949501c8/before-runtime.json)
[protocol.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0033a66e614661b3/protocol.md)
[capture-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f934969a114933a8/capture-manifest.json)
[diff-images.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5843b8fced54cc04/diff-images.py)

[after-1440-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/baad169a14f291fe/after-1440-light.mp4)
[after-1440-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/50e07bc2991d23f1/after-1440-dark.mp4)
[after-390-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8cabcdd0e2b6ebfe/after-390-light.mp4)
[after-390-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a7bebb02ab06f477/after-390-dark.mp4)
![after-1440-light-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6a069712a2e84bd/after-1440-light-a.png)
![after-1440-dark-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f6102627c88bf9f/after-1440-dark-a.png)
![after-390-light-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/668c1620189fe1d1/after-390-light-a.png)
![after-390-dark-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/59fec50b315123e0/after-390-dark-a.png)
[after-runtime.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6d6828d1daa698b/after-runtime.json)
[diff-stats.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a37f92c7646c7ae/diff-stats.json)

![1440-light-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe07ed70490bd681/1440-light-diff0.png)
![1440-light-amplified8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/490a2cae6da039b3/1440-light-amplified8.png)
![1440-light-threshold0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b894dd0ed3d4062/1440-light-threshold0.png)
![1440-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d841ac0df2ef97a/1440-dark-diff0.png)
![1440-dark-amplified8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9748c1e2f7abd25/1440-dark-amplified8.png)
![1440-dark-threshold0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d87df28b1037085/1440-dark-threshold0.png)
![390-light-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3914509bec59bff0/390-light-diff0.png)
![390-light-amplified8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/810de002a51f9932/390-light-amplified8.png)
![390-light-threshold0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/551e5cd6afa7fc24/390-light-threshold0.png)
![390-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a32b6be9cccee700/390-dark-diff0.png)
![390-dark-amplified8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/89b8510d40b969dd/390-dark-amplified8.png)
![390-dark-threshold0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/59b0dc873e849ad5/390-dark-threshold0.png)

[raw-evidence.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0363875885fb190e/raw-evidence.zip)
[final-capture-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/498d76433dc3108a/final-capture-manifest.json)
```
