# Evidence

PR [#26800](https://git.cafe/pingdotgg/t3code/pull/26800): head [7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5), before [fe219c4](https://git.cafe/pingdotgg/t3code/commit/fe219c4de18f5ee37c28cbd3914a5569b1579156). [Fixture matrix](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86ca5eb06270d5dc/matrix.md).

**Outside-title observation:** an excluded setup take reused an existing scratch project and showed a red environment status on reopen. Details and limits are below; this is not attributed to the PR.

**Coverage: 7/7 required rows, both themes; 12 head recordings, 2 base F1 recordings, and 2 F6 settled native stills. Required unverified rows: none.**

Android Pixel 9 pool emulator, Android 16/API 36 x86_64; real Expo development client com.t3tools.t3code.dev; agent-device 0.21.32 native screenshots/H.264 recordings. Portrait 1080×2424 physical pixels, 411.4286×923.4286 logical viewport, DPR 2.625, font scale 1.0. T3 Code theme family, explicit Dark/Light. Both JS and server commits are pinned per recording in the manifest; one cached native fingerprint serves both JS bundles. No browser/device-width emulation, tablet, iOS, component harness, static fixture mode, or agent turn is claimed.

JavaScript clock frozen at 2026-10-29T12:00:00.000Z on both builds. Raw recordings/screenshots retain the native status bar; all keyframes, sheets and computed diffs consistently mask exactly the top 64 pixels, including clock and battery. Every still follows named loaded UI and two screenshots 500ms apart that are pixel-identical below that bar. Android reduced-motion emulation is unavailable. Bundled native fonts are loaded before app content. Full viewport is retained; sheets are additional scaled overviews.

**What else changed:** in F1, the placeholder becomes the recovered text and Send changes from disabled to enabled. After Back, head labels the recovered Unsent draft alpha; base leaves that orphan without a project label and asks for a project again on reopening, returning to another empty composer. Head reopens the kept text directly. The lossless native destination stills have zero changed pixels outside the composer (below the status-bar mask) in both themes. Recording-frame Diff0 also exposes H.264 edge quantization around unchanged text/icons; the 12/255 threshold isolates the restored text and Send. No broad theme/layout mismatch is present.

**Additional observation, outside the accepted comparison:** an excluded light F8 setup take reused an existing scratch project and showed “Environment” with a red status dot on reopen, while retaining the image and draft id. It is in the excluded diagnostics archive. The final light take uses a fresh isolated server home, matching dark, and explicitly waits for “Choose environment, fs-02, Connected”. Existing-scratch reuse is not certified by this evidence; this observation is not attributed to the PR.

**Diff definitions:** Diff0 = abs(RGB difference) ×255, clipped at 255 (a one-level change is visible). DiffT = max-channel difference >12/255, magenta over the dimmed base frame. F1 table images are destination keyframes extracted from the actual recordings; additional lossless-native Diff0 images distinguish codec artifacts from app pixels. Head-only rows have no requested base comparison; their empty Before/Diff cells are intentional.

Two accepted recordings contain uninterrupted idle intervals while the driver recovered: head F1 light (pool outage) and head F8 dark (selector correction). They are uncut native recordings; the action and keyframe timelines below show the gaps.

Identity proof comes from **read-only persisted native draft storage**, not UI inference: same ids, original createdAt/content/context/attachments, retargeted project stamp, no new draft keys, unrelated drafts unchanged, cancel leaves storage unchanged, and attachment byte hashes unchanged. F4 preserves all existing drafts; base F1 leaves the original orphan unchanged while opening an empty composer. All 14 snapshot comparisons pass.

[Capture manifest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2b0e8c7cd911bb9/capture-manifest.json)
 · [Identity results](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/760bcbc235095c41/identity-report.json) · [Reproduction lifecycle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f96e45d2835f9063/lifecycle.md)

## F1 — Text-only orphan

Source beta draft → Back → CLI removes beta → open Unsent draft → choose alpha → Back → reopen. Base asks for alpha again; the second choice is recorded. Head reopens the same recovered draft directly.

**Dark before actions:** 3.49s Back → 9.79s beta removal committed → 10.37s 26785 keep this draft → 15.72s alpha → 21.27s Back → 25.42s 26785 keep this draft → 28.54s alpha.

**Keyframe times:** source 2.092s → picker 14.053s → destination 19.85s → unsent 23.775s → reopened 30.736s.

**Dark head actions:** 3.79s Back → 9.82s beta removal committed → 10.20s 26785 keep this draft → 15.28s alpha → 20.11s Back → 24.09s 26785 keep this draft.

**Keyframe times:** source 2.415s → picker 13.673s → destination 18.673s → unsent 22.429s → reopened 25.23s.

**Light before actions:** 3.37s Back → 8.52s beta removal committed → 9.01s 26785 keep this draft → 14.32s alpha → 19.39s Back → 23.66s 26785 keep this draft → 25.93s alpha.

**Keyframe times:** source 1.982s → picker 12.698s → destination 17.975s → unsent 21.998s → reopened 29.666s.

**Light head actions:** 3.27s Back → 9.45s beta removal committed → 9.93s 26785 keep this draft → 13.86s alpha → 18.90s Back → 23.05s 26785 keep this draft.

**Keyframe times:** source 1.895s → picker 12.269s → destination 17.532s → unsent 21.418s → reopened 74.932s.

| Pixel 9 portrait / theme | Before | After | Diff0 | DiffT (>12/255) |
| --- | --- | --- | --- | --- |
| 1080×2424 / dark | [F1-base-dark-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6271974ecaab731e/F1-base-dark-recording.mp4)<br>![F1-base-dark-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5fddded863ea7da8/F1-base-dark-frame-destination.png)<br>[fe219c4](https://git.cafe/pingdotgg/t3code/commit/fe219c4de18f5ee37c28cbd3914a5569b1579156) | [F1-head-dark-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/564c983742391ffd/F1-head-dark-recording.mp4)<br>![F1-head-dark-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60d219b18310b7f6/F1-head-dark-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | ![F1-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8ccb771ddadac4e/F1-dark-lossless-diff0.png)<br>[fe219c4](https://git.cafe/pingdotgg/t3code/commit/fe219c4de18f5ee37c28cbd3914a5569b1579156) → [7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | ![F1-dark-diff12.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ad6ca9cea0ed42b/F1-dark-diff12.png)<br>[fe219c4](https://git.cafe/pingdotgg/t3code/commit/fe219c4de18f5ee37c28cbd3914a5569b1579156) → [7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) |
| 1080×2424 / light | [F1-base-light-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/33cdf18f984c3384/F1-base-light-recording.mp4)<br>![F1-base-light-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/816713e983ee704c/F1-base-light-frame-destination.png)<br>[fe219c4](https://git.cafe/pingdotgg/t3code/commit/fe219c4de18f5ee37c28cbd3914a5569b1579156) | [F1-head-light-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f088c74bfaac5ad3/F1-head-light-recording.mp4)<br>![F1-head-light-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cc546a273dadfaa3/F1-head-light-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | ![F1-light-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c57ca9077d9adfb/F1-light-lossless-diff0.png)<br>[fe219c4](https://git.cafe/pingdotgg/t3code/commit/fe219c4de18f5ee37c28cbd3914a5569b1579156) → [7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | ![F1-light-diff12.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8337177f3f560621/F1-light-diff12.png)<br>[fe219c4](https://git.cafe/pingdotgg/t3code/commit/fe219c4de18f5ee37c28cbd3914a5569b1579156) → [7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) |

![F1-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/806a9ef7674a7583/F1-sheet.png)

Raw screenshots, stability pairs, video frame provenance, timestamped driver steps, and source/destination storage snapshots:

[F1-base-dark-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/502924f0895ea7bc/F1-base-dark-raw-and-state.zip)
[F1-head-dark-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0090a868d0f726cf/F1-head-dark-raw-and-state.zip)
[F1-base-light-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/34d1caa7c4e5c7b4/F1-base-light-raw-and-state.zip)
[F1-head-light-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/589f1d5e5ab34131/F1-head-light-raw-and-state.zip)

Additional lossless native zero-threshold comparisons:

![F1-dark-lossless-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8ccb771ddadac4e/F1-dark-lossless-diff0.png)
![F1-light-lossless-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c57ca9077d9adfb/F1-light-lossless-diff0.png)

## F2 — Cancel and unrelated draft

Source beta draft → Back/remove beta → open orphan picker → cancel → open the unrelated healthy draft → Back → reopen orphan → choose alpha.

**Dark head actions:** 3.58s Back → 9.95s beta removal committed → 10.42s 26785 keep this draft → 15.68s Back → 19.97s 26785 untouched second draft → 25.38s Back → 27.64s 26785 keep this draft → 30.72s alpha.

**Keyframe times:** source 2.18s → picker 14.312s → cancelled-unsent 18.078s → healthy 24.176s → destination 32.508s.

**Light head actions:** 4.92s Back → 11.52s beta removal committed → 12.17s 26785 keep this draft → 17.26s Back → 21.74s 26785 untouched second draft → 25.96s Back → 28.21s 26785 keep this draft → 31.12s alpha.

**Keyframe times:** source 3.498s → picker 15.861s → cancelled-unsent 19.844s → healthy 24.748s → destination 32.62s.

| Pixel 9 portrait / theme | Before | After | Diff0 | DiffT (>12/255) |
| --- | --- | --- | --- | --- |
| 1080×2424 / dark | — (head-only) | [F2-head-dark-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba2e1298544e2dea/F2-head-dark-recording.mp4)<br>![F2-head-dark-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ddc71f81bf188540/F2-head-dark-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |
| 1080×2424 / light | — (head-only) | [F2-head-light-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9520185faecaba8f/F2-head-light-recording.mp4)<br>![F2-head-light-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/813ee1e80714378a/F2-head-light-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |

![F2-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2d4e2b499cd8db9/F2-sheet.png)

Raw screenshots, stability pairs, video frame provenance, timestamped driver steps, and source/destination storage snapshots:

[F2-head-dark-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6fbad2b6fdb9c087/F2-head-dark-raw-and-state.zip)
[F2-head-light-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cf80fc84e4adee6c/F2-head-light-raw-and-state.zip)

## F3 — Healthy draft and project switch

Source healthy beta draft → Back/reopen directly → open project chip → cancel → open project chip again → choose alpha.

**Dark head actions:** 3.20s Back → 5.65s 26785 healthy draft → 10.93s beta → 14.65s Back → 19.97s beta → 22.72s alpha.

**Keyframe times:** source 1.814s → direct-open 9.302s → picker 13.442s → cancelled 17.914s → destination 22.605s.

**Light head actions:** 3.77s Back → 6.13s 26785 healthy draft → 10.97s beta → 15.13s Back → 20.06s beta → 22.65s alpha.

**Keyframe times:** source 2.356s → direct-open 9.246s → picker 13.921s → cancelled 18.217s → destination 22.213s.

| Pixel 9 portrait / theme | Before | After | Diff0 | DiffT (>12/255) |
| --- | --- | --- | --- | --- |
| 1080×2424 / dark | — (head-only) | [F3-head-dark-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d6e9ff70d7eaa13/F3-head-dark-recording.mp4)<br>![F3-head-dark-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53cad654088b550d/F3-head-dark-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |
| 1080×2424 / light | — (head-only) | [F3-head-light-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb8fb016579b2dc2/F3-head-light-recording.mp4)<br>![F3-head-light-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5c860240984a9a21/F3-head-light-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |

![F3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb2e81f26d690817/F3-sheet.png)

Raw screenshots, stability pairs, video frame provenance, timestamped driver steps, and source/destination storage snapshots:

[F3-head-dark-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f358d2df255a7216/F3-head-dark-raw-and-state.zip)
[F3-head-light-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c5c8a9f7fd6877ff/F3-head-light-raw-and-state.zip)

## F4 — Missing draft route

Start with an existing healthy draft → deep-link to absent new-task:proof-26800-missing → choose alpha → fresh empty composer. Existing drafts are unchanged.

**Dark head actions:** 2.94s open missing draft route → 7.19s alpha.

**Keyframe times:** source 1.495s → picker 5.575s → destination 10.851s.

**Light head actions:** 3.11s open missing draft route → 7.63s alpha.

**Keyframe times:** source 1.693s → picker 6.021s → destination 10.005s.

| Pixel 9 portrait / theme | Before | After | Diff0 | DiffT (>12/255) |
| --- | --- | --- | --- | --- |
| 1080×2424 / dark | — (head-only) | [F4-head-dark-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b098c98f0572543d/F4-head-dark-recording.mp4)<br>![F4-head-dark-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f6c95676c5275cb/F4-head-dark-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |
| 1080×2424 / light | — (head-only) | [F4-head-light-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6a7d04706c033ab9/F4-head-light-recording.mp4)<br>![F4-head-light-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3aec5ab4114843ac/F4-head-light-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |

![F4-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/70dbe2e3b24b8bf0/F4-sheet.png)

Raw screenshots, stability pairs, video frame provenance, timestamped driver steps, and source/destination storage snapshots:

[F4-head-dark-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7ae5387f76f8cd5e/F4-head-dark-raw-and-state.zip)
[F4-head-light-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4db7ab452545a205/F4-head-light-raw-and-state.zip)

## F5 — Multiline text, file and image

Show source beginning/end using Gboard Text editing cursor head/end controls (native editor scroll), and full image preview → Back/remove beta → reopen → choose long-name alpha → show recovered beginning/end, inline file/image references and full image preview. No payload typing occurs after choice.

**Dark head actions:** 3.02s focus editor → 6.17s Open features menu → 7.85s Text editing → 9.23s Move cursor to the head → 10.56s dismiss keyboard → 14.26s focus editor → 17.23s Open features menu → 19.13s Text editing → 20.52s Move cursor to the end → 21.88s dismiss keyboard → 26.35s Open proof-26785-image.png → 29.77s Back → 31.11s dismiss keyboard → 32.05s Navigate up → 38.80s beta removal committed → 39.77s open rich orphan → 44.71s alpha synthetic recovery project with an intentionally long display name for 26785 → 49.24s focus editor → 52.15s Open features menu → 53.97s Text editing → 55.36s Move cursor to the head → 56.58s dismiss keyboard → 60.11s focus editor → 63.09s Open features menu → 64.87s Text editing → 66.22s Move cursor to the end → 67.62s dismiss keyboard → 71.61s Open proof-26785-image.png → 74.74s Back.

**Keyframe times:** source 1.632s → source-start 13.058s → source-end 24.721s → source-image 28.562s → picker 43.073s → destination 47.849s → destination-start 58.9s → destination-end 69.987s → destination-image 73.537s.

**Light head actions:** 3.88s focus editor → 8.89s Open features menu → 12.08s Text editing → 14.61s Move cursor to the head → 17.01s dismiss keyboard → 21.49s focus editor → 25.33s Open features menu → 26.98s Text editing → 28.39s Move cursor to the end → 29.78s dismiss keyboard → 34.34s Open proof-26785-image.png → 37.90s Back → 39.33s dismiss keyboard → 40.35s Navigate up → 47.20s beta removal committed → 48.13s open rich orphan → 52.07s alpha synthetic recovery project with an intentionally long display name for 26785 → 56.76s focus editor → 59.86s Open features menu → 61.61s Text editing → 63.12s Move cursor to the head → 64.42s dismiss keyboard → 67.85s focus editor → 70.72s Open features menu → 72.31s Text editing → 73.71s Move cursor to the end → 75.04s dismiss keyboard → 78.90s Open proof-26785-image.png → 82.08s Back.

**Keyframe times:** source 2.47s → source-start 20.281s → source-end 32.709s → source-image 36.697s → picker 50.465s → destination 55.344s → destination-start 66.647s → destination-end 77.253s → destination-image 80.877s.

| Pixel 9 portrait / theme | Before | After | Diff0 | DiffT (>12/255) |
| --- | --- | --- | --- | --- |
| 1080×2424 / dark | — (head-only) | [F5-head-dark-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f268a1152b533075/F5-head-dark-recording.mp4)<br>![F5-head-dark-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9130dcc3ba4a1336/F5-head-dark-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |
| 1080×2424 / light | — (head-only) | [F5-head-light-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b36ce03dfa86096b/F5-head-light-recording.mp4)<br>![F5-head-light-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3aec7445268484cf/F5-head-light-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |

![F5-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/96af9a4ab5f68dbc/F5-sheet.png)

Raw screenshots, stability pairs, video frame provenance, timestamped driver steps, and source/destination storage snapshots:

[F5-head-dark-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ce79b8c72abbf7a/F5-head-dark-raw-and-state.zip)
[F5-head-light-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38dd2061e99f5a38/F5-head-light-raw-and-state.zip)

## F6 — Zero normal projects

Extracted from F8 before choosing scratch: one saved image-only beta orphan, beta removed, connected environment with zero normal projects. No projects found, Add new project, and Start without a project are visible.

**Dark timing:** F8 empty picker at 46.271s; the F6 image is the corresponding lossless settled native screenshot.

**Light timing:** F8 empty picker at 24.861s; the F6 image is the corresponding lossless settled native screenshot.

| Pixel 9 portrait / theme | Before | After | Diff0 | DiffT (>12/255) |
| --- | --- | --- | --- | --- |
| 1080×2424 / dark | — (head-only) | ![F6-head-dark-empty-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f74d977650bee954/F6-head-dark-empty-picker.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |
| 1080×2424 / light | — (head-only) | ![F6-head-light-empty-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dd68028aa1400b5c/F6-head-light-empty-picker.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |

![F6-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53f5d8f91b35c342/F6-sheet.png)

## F8 — Image-only orphan into scratch

Source has empty text and one image → full source image preview → Back/remove beta → open 1 attachment Unsent row → empty picker → Start without a project → scratch destination → Back/reopen → full recovered image preview. Each accepted theme starts with its own fresh server home and no existing scratch project.

**Dark head actions:** 3.72s Open proof-26785-image.png → 7.11s Back → 8.85s Navigate up → 15.52s beta removal committed → 42.96s 1 attachment → 48.07s Start without a project → 83.77s Navigate up → 87.96s 1 attachment → 92.23s Open proof-26785-image.png → 95.39s Back.

**Keyframe times:** source 1.886s → source-image 5.904s → empty-picker 46.271s → destination 81.916s → unsent 86.356s → reopened 90.446s → destination-image 94.18s.

**Light head actions:** 7.37s Open proof-26785-image.png → 12.03s Back → 14.05s Navigate up → 20.98s beta removal committed → 21.87s 1 attachment → 26.73s Start without a project → 31.43s Navigate up → 36.12s 1 attachment → 40.38s Open proof-26785-image.png → 43.83s Back.

**Keyframe times:** source 4.156s → source-image 10.825s → empty-picker 24.861s → destination 29.627s → unsent 34.008s → reopened 38.573s → destination-image 42.621s.

| Pixel 9 portrait / theme | Before | After | Diff0 | DiffT (>12/255) |
| --- | --- | --- | --- | --- |
| 1080×2424 / dark | — (head-only) | [F8-head-dark-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acf5c9d7de7d62b3/F8-head-dark-recording.mp4)<br>![F8-head-dark-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4c9a208022ff063/F8-head-dark-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |
| 1080×2424 / light | — (head-only) | [F8-head-light-recording.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7bcaeaf8189d3e94/F8-head-light-recording.mp4)<br>![F8-head-light-frame-destination.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/31cf4b621584bd9e/F8-head-light-frame-destination.png)<br>[7efa017](https://git.cafe/pingdotgg/t3code/commit/7efa01755fe32d2b36b89086e5be63305524a9b5) | — (head-only) | — (head-only) |

![F8-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b6272f5e11e48ca5/F8-sheet.png)

Raw screenshots, stability pairs, video frame provenance, timestamped driver steps, and source/destination storage snapshots:

[F8-head-dark-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/248aa2fc34546aad/F8-head-dark-raw-and-state.zip)
[F8-head-light-raw-and-state.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a3414c2ec82d0c1f/F8-head-light-raw-and-state.zip)

## Rebuild scripts and synthetic assets

[all-capture-scripts.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e6d26a63817fdf17/all-capture-scripts.zip)

Every script written for this capture is linked below, including superseded setup/recovery helpers. accepted-runs.json and the manifest identify the evidence set; setup diagnostics do not count toward coverage.

| File | Public artifact |
| --- | --- |
| 26785-synthetic-project-recovery-notes-with-a-long-filename.txt | [26785-synthetic-project-recovery-notes-with-a-long-filename.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/156dc5119392eb42/26785-synthetic-project-recovery-notes-with-a-long-filename.txt) |
| ad.py | [ad.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f860bc909a425c1b/ad.py) |
| assets-server.py | [assets-server.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c8f947ff58ca9771/assets-server.py) |
| batch-light-rest.py | [batch-light-rest.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/16f82308b0d98f3a/batch-light-rest.py) |
| batch-rich.py | [batch-rich.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c9faa417ef5cce29/batch-rich.py) |
| batch-text.py | [batch-text.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7b8d4e8038a7ca9/batch-text.py) |
| build-report.py | [build-report.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/55aa40e5f4074704/build-report.py) |
| cdp.mjs | [cdp.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2b8f668764455747/cdp.mjs) |
| cdp.py | [cdp.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2c8dc9c50934ab8/cdp.py) |
| create-image-fixture.py | [create-image-fixture.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/72175c46280495bd/create-image-fixture.py) |
| create-text-fixtures.py | [create-text-fixtures.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8b5d6b5d8111bea/create-text-fixtures.py) |
| environment.js | [environment.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/52d65399fb9dba41/environment.js) |
| extract.py | [extract.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2188e284ee3f6cbf/extract.py) |
| flow-scratch.py | [flow-scratch.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8cd04f820c2bf6e1/flow-scratch.py) |
| flows.py | [flows.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7d876ffb7ed1477/flows.py) |
| freeze-clock.js | [freeze-clock.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/36b8ff72d4e2421e/freeze-clock.js) |
| fresh-client.py | [fresh-client.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa9868eb0c676419/fresh-client.py) |
| lifecycle.md | [lifecycle.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f96e45d2835f9063/lifecycle.md) |
| manifest.py | [manifest.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d85f46260da58b2e/manifest.py) |
| modules.js | [modules.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a45d0f129744ee76/modules.js) |
| normalize-fixture-order.py | [normalize-fixture-order.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/982f5dfc0217911c/normalize-fixture-order.py) |
| package-evidence.py | [package-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/04eec0214912725f/package-evidence.py) |
| prepare-rich.py | [prepare-rich.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bd61cc0753f0a94/prepare-rich.py) |
| prepare.py | [prepare.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a52ff122e45ad5f7/prepare.py) |
| proof-26785-image.png | [proof-26785-image.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1c6d41547eadc151/proof-26785-image.png) |
| read-drafts.js | [read-drafts.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ec7d317092ff4495/read-drafts.js) |
| restore-rich.py | [restore-rich.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7347462ca9bd02ec/restore-rich.py) |
| resume-base-fixture.py | [resume-base-fixture.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/408c4ada0bb0ed13/resume-base-fixture.py) |
| resume-beta-fixture.py | [resume-beta-fixture.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/80177f1c9bf91890/resume-beta-fixture.py) |
| resume-f1-light.py | [resume-f1-light.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7f267b4c7829db2c/resume-f1-light.py) |
| resume-f8-dark-finish.py | [resume-f8-dark-finish.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc2079553fb8b90b/resume-f8-dark-finish.py) |
| resume-f8-dark.py | [resume-f8-dark.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/560e19e1d6ef0a3e/resume-f8-dark.py) |
| resume-paired-client.py | [resume-paired-client.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9080877071713f9/resume-paired-client.py) |
| retarget-image.py | [retarget-image.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5890f2a0894d65cb/retarget-image.py) |
| scan-public.py | [scan-public.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23ded41961cfbe79/scan-public.py) |
| seed.py | [seed.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0dc884989291d7e6/seed.py) |
| sheets-diffs.py | [sheets-diffs.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c157544b0c935539/sheets-diffs.py) |
| upload-delta.py | [upload-delta.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3edb14be25a9836a/upload-delta.py) |
| upload-evidence.py | [upload-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/311211484505d042/upload-evidence.py) |
| verify-identities.py | [verify-identities.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/953d419c87cc3b90/verify-identities.py) |


## Lead corrections after proof audit pass 2

- The setup-diagnostics archive (excluded from proof) contained dev-server pairing tokens for the capturer's own, since-stopped server. It was deleted and is not re-published.
- F1 Diff0 cells now show zero-threshold diffs of the lossless native destination screenshots, regenerated with 32-bit math by [f1_lossless_diff0.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b92325a20b83badd/f1_lossless_diff0.py); the earlier recording-frame Diff0 (H.264 noise) and the first lossless version (16-bit overflow) were withdrawn. Changed pixels: dark 11,504, light 11,523, all in y 2242–2320.
- F2 dark raw archive was re-uploaded without the rejected settle attempt 0 (its first frame still showed the previous screen); a note inside the archive says so.

## Limits and capture friction

No required row is unverified. Optional iOS/tablet/cross-environment coverage and Add new project recovery are not claimed. Add new project remains the boundary documented in the audit. No code, PR body, branch, review or check state was changed. No provider turn was started.

- Tool: intermittent pool daemon unavailability and an invalid JSON response; recovered after the required minute retries. Stable proxy responses would avoid the pauses.
- Tool: app opens without explicit Metro hints can drop inspector forwarding; every subsequent open specifies its checkout’s Metro host/port.
- Tool: slow Android editor pans can drag text; those setup takes were rejected, restored through UI, and replaced with Gboard cursor navigation.
- Runbook: scratch is disabled when T3 home lies in a git checkout; scratch captures use fresh homes outside git.
- Tool: project CLI invoked before a just-started server published runtime metadata reported ownership contention; retry after startup readiness succeeded.
- Model: initial diagnostics redaction missed URL-fragment pairing tokens. That public archive was deleted immediately and replaced only after a fragment-aware scan of every staged archive.
- Runbook: restarting a server can recreate its bootstrap project; removed it with the isolated CLI before the final baseline retake.
- Tool: keyboard dismiss repeatedly reported remote daemon unavailable; native Back while Gboard was visible worked.

Produced by gpt-6.1-sol in the Codex harness.
