# Evidence — mobile New thread project preference

**Findings first:** R11 briefly shows the unrelated Alpha composer during the native picker transition; R12 Back returns Home even when started from a live thread, on both platforms. These visible behaviors exceed the PR title and need maintainer/Julius review. Settled selection/choice and Home-origin cancellation otherwise match the intended behavior.

Evidence for **13/19 matrix rows**: 11 complete rows plus R01 and R09 partial (iOS restart gap; baseline deletion replay unverified); all 15 required head platform cells have recordings. Six supplemental rows, the uninterrupted iOS R01 restart replay and the R09 baseline interaction remain unverified below. Captured does not mean passed. R05 uses the explicit command-palette alias; R09 has a baseline post-removal state comparison; its complete matched baseline deletion interaction remains unverified. See limitations, not an all-pass verdict.

Environment: real native T3 dev client through agent-device device pool, no browser/device emulation or component harness. iPhone 17 Pro portrait/light: logical 402×874, DPR3, fontScale1, PNG402×874; Pixel9 API36 x86_64 portrait/dark: 411.43×923.43dp, DPR2.625, fontScale1, PNG1080×2424. iOS recordings1206×2622 full screen; Android1080×2424 VFR. JS clock frozen2026-10-27T04:30Z; native status clocks and signal bars could not be frozen; server-created timestamps used wall time. Later synthetic thread retakes show <1m on Home versus 9m in the earlier seed recordings. Native animation/reduced-motion control unavailable. Every still uses two RGB-identical screenshots >=500ms apart; captures and both diffs opened for visual review. Diff0=absRGB×32 (clamped); DiffT=max-channel difference>16, magenta overlay. No claim of zero other changes.

[finding-ios-unrelated-project-flash.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/72b3c174dd175fd7/finding-ios-unrelated-project-flash.mp4)
[finding-ios-return-home.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bac967857a3eea58/finding-ios-return-home.mp4)
[finding-android-return-home.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87b3d65c5e9af9b3/finding-android-return-home.mp4)

## Rebuild and driver disclosure

[REPRODUCE.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1530f4f76d90f4ea/REPRODUCE.md) · [seed-and-driver-scripts.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0c924e313d12ee6b/seed-and-driver-scripts.tar.gz) · [seed.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f841c347580a696/seed.mjs) · [seed-external.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/651035699dfa6ced/seed-external.mjs) · [driver-actions-sanitized.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f7d0c0948991eda/driver-actions-sanitized.jsonl) · [runtime-commands-sanitized.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b0a01667f9db48f/runtime-commands-sanitized.jsonl) · [runtime-results-sanitized.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dd57eac54d605e6a/runtime-results-sanitized.jsonl) · [media-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22236cdfb3217304/media-manifest.json)

Normal toggles, picker choices, Back and Home compose are native UI actions. Live-thread global invokes the actual keyboard newTask handler; seed routes use the real navigator. External Metro driver freezes Date and invokes app APIs, without replacing rendering or selection code. All data synthetic; fresh databases per checkout. Main and head model catalog exposed actual selectable Codex models; no provider turns sent. Native fingerprints: iOS f532a0c5902b69c7f69cc5fe9c807053700a07eb; Android ed36a9cc9856c84a322bb71e6d67744f0a00877d.


## R01 — General default / toggle / restart / search — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Fresh durable fields ABSENT, verified after relaunch. Final default clip 0–4s General On; 27–30s toggle Off. Original restart clip is at [7810ef84d7](https://git.cafe/pingdotgg/t3code/commit/7810ef84d7ca7abeb234bb8d64d1d7e56af8720c): ~83s real relaunch, ending during a dev connection/reload error; subsequent restored-Off/search excerpt is at [3ab1e9c0a8](https://git.cafe/pingdotgg/t3code/commit/3ab1e9c0a8a2a26a29b4e4b0bd441bd9f2486dc0). There is an uncaptured reconnect gap between clips, so this is not an uninterrupted restart-to-Off take. Restored/search excerpt: 0s restored Off, ~1s toggle On, ~7s re-enter On, ~24–44s search last project/open General, ~61–68s new threads/open General. Base 40–60s search last project → No results; 73–78s new threads → Threads only. Base has no toggle to exercise.

**Before recordings:** [base-ios-r01-search.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64304b525ede07b4/base-ios-r01-search.mp4)

**After recordings:** [headcf82-ios-r01-default-r04.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d8babf9d1e23ab7/headcf82-ios-r01-default-r04.mp4) · [head-ios-r01.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5da063d5ad363499/head-ios-r01.mp4) · [head3ab-ios-r01-restored-search-clean.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b7fcb5f61130bb7/head3ab-ios-r01-restored-search-clean.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-general.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/871b9527a69aba6d/base-ios-general.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-general.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a6ae0cf31147d4a1/headcf82-ios-general.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r01-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc15c5d12e04c0a3/r01-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r01-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38c34b76d88bb17b/r01-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Partial: reconnect gap in restart recording. **What else changed:** Added New threads header, pencil icon, wrapping description and native switch below Sidebar; General now appears for both searches; native clock and slight iOS native blur/back-button raster changes.

## R01 — General default / toggle / restart / search — Pixel 9 · 411.43×923.43 dp / 1080×2424 PNG · DPR 2.625 · fontScale 1 · dark

Fresh fields ABSENT. Default clip 0–35s On, 38s Off and leave. Restart clip 0.9s Off, 4s leave/re-enter, 7s real relaunch, ~29s General Off. Search clip 6–25s last project → General; 70–73s new threads → General. R05/R12 clip 0–3s re-enable On then Off. Base search 3s last project → No results; 17s new threads → Threads only.

**Before recordings:** [base-android-r01-search.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db3794e23584ffeb/base-android-r01-search.mp4)

**After recordings:** [headcf82-android-r01-default-clean.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/088806b1e966fb87/headcf82-android-r01-default-clean.mp4) · [headcf82-android-r01-restart.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d75b589cb0a188d/headcf82-android-r01-restart.mp4) · [headcf82-android-r01-search-final.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4a2b1fcb4160efa4/headcf82-android-r01-search-final.mp4) · [headcf82-android-r05-r12.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc94c88f502e7b0b/headcf82-android-r05-r12.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-android-general.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2a0bdeae139d96c/base-android-general.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-android-general-off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d332ca1a1fde0cdd/headcf82-android-general-off.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r01-android-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d48960f88eb15caf/r01-android-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r01-android-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73b78ffdeea0d44e/r01-android-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Added New threads section and switch; General search result; native clock/signal changes.

## R02 — Zero regular projects / Add recovery — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Connected original environment, zero projects; absent fields verified after relaunch. Both: Home → New at ~2s, empty picker settles by ~3s, Add project ~7–8s opens creation choices. Scratch is unsupported by these checkout-local homes; R08 uses a real supported scratch home.

**Before recordings:** [base-ios-r02.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ebca3ec70ff97b5/base-ios-r02.mp4)

**After recordings:** [headcf82-ios-r02.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da0401db27ce6fa4/headcf82-ios-r02.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-r02-empty.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83d5c0127926712c/base-ios-r02-empty.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r02-empty.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22515e5de7b701ed/headcf82-ios-r02-empty.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r02-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/832c07ec3e2abbef/r02-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r02-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/34a82c34ef5e2abb/r02-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Native clock only in the settled empty-picker pair.

## R03 — Sole Alpha / no history / selected memory — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Only A, Home active, both fields ABSENT after real restart. Before 1.6s New → A directly. After 1.5s New → picker A; 8s choose A → A draft; 14s Back → Home; 17s New → A without picker.

**Before recordings:** [base-ios-sole-r03-r05-r09-r12.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/502b695b40985d00/base-ios-sole-r03-r05-r09-r12.mp4)

**After recordings:** [headcf82-ios-r03.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2449b5d8d398a1c0/headcf82-ios-r03.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-global-clean.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/449579177919b79b/base-ios-global-clean.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r03-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6a3705ca78bfeb1d/headcf82-ios-r03-picker.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r03-final-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5c712152670b8825/r03-final-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r03-final-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/113a6a79f6f0891b/r03-final-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Picker title/back/add/Alpha row/search replace draft title/actions/project hero/environment/workspace/composer; native clock.

## R04 — A/B/C / long title / search / preserve choice — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Before opens A from global; manually open its project picker (~14s), search Beta (~46s), unmatched (~62s), clear and choose B (~70s), reopen and choose A (~81s). After default no-history New ~6s opens A/B/C picker; Back ~25s; Off ~28s; New ~30s same picker; Beta ~33s, unmatched ~36s, clear ~58s, B ~61s, reopen ~67s, A ~69s remains selected. Baseline video begins after recording-start transport delay; video timestamps are visual offsets, UTC action log retained.

**Before recordings:** [base-ios-r04.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4e309eeffc522e62/base-ios-r04.mp4)

**After recordings:** [headcf82-ios-r01-default-r04.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d8babf9d1e23ab7/headcf82-ios-r01-default-r04.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-r04-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c99b62790095f9ee/base-ios-r04-picker.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r04-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ad4a207fd9144862/headcf82-ios-r04-picker.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r04-picker-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a1d4df46db5b95a1/r04-picker-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r04-picker-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ec76fa7762d20b0/r04-picker-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Global route now reaches picker; matched picker and B-draft anchors differ in native clock only. Long title wraps in picker and truncates in hero on both.

## R05 — Off / current A / sole A / explicit action — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Only A; TA visit remembers A, General Off. Global clip 1.6s Home New → picker; 4.3s Back → Home; 7.8s New, 10s choose A → A stays; later TA → hardware New → picker and choose A (~40s). Explicit clip opens actual command palette, taps New thread in Alpha at ~125s → A. Base current clip 0–2s TA/global → A; explicit UI clip 0s TA, ~1s palette, ~18s choose Alpha → stable A. Project context menu absent from compact Home, so explicit action uses the visible command-palette alias.

**Before recordings:** [base-ios-r05-current.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/24cc098796df26f3/base-ios-r05-current.mp4) · [base-ios-r05-explicit-ui-settled.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3f8d2ecf5d9cc19/base-ios-r05-explicit-ui-settled.mp4)

**After recordings:** [headcf82-ios-r12-r05.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64d3feb7024e3a18/headcf82-ios-r12-r05.mp4) · [headcf82-ios-r05-explicit-ui.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20fd8f750340b9f9/headcf82-ios-r05-explicit-ui.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-global-clean.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/449579177919b79b/base-ios-global-clean.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r12-picker-sole-clean.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d05a7be63dd454b7/headcf82-ios-r12-picker-sole-clean.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r12-sole-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bcfb6ee737a8b26c/r12-sole-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r12-sole-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/52205529af630f90/r12-sole-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Global picker replaces automatic A composer; explicit A composer preserved; native clock. Explicit route was also inspected in settled frames.

## R05 — Off / current A / sole A / explicit action — Pixel 9 · 411.43×923.43 dp / 1080×2424 PNG · DPR 2.625 · fontScale 1 · dark

Only A, A remembered, Off. Final global clip 5s FAB → picker; 11s hardware Back → Home; 13s New → picker; ~63s choose A → stable A; ~67s TA → global → picker; 71s hardware Back → Home (finding). One earlier selector attempt used incomplete Alpha label and did not tap, explaining the long hold. Explicit clip ~55s actual palette New thread in Alpha → stable A. Before FAB/global and explicit palette each open A directly.

**Before recordings:** [base-android-r03-r12-r05.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b78027a2c4d9eb3/base-android-r03-r12-r05.mp4) · [base-android-r05-current.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f5421054b1c0e1e9/base-android-r05-current.mp4) · [base-android-r05-explicit-ui.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d436f6408fc77752/base-android-r05-explicit-ui.mp4)

**After recordings:** [headcf82-android-r05-r12.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc94c88f502e7b0b/headcf82-android-r05-r12.mp4) · [headcf82-android-r05-explicit-ui.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4653fd4ace20a9dc/headcf82-android-r05-explicit-ui.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-android-global.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/24a2d0184d0a4c1a/base-android-global.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-android-r12-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a14f278c7865bd4a/headcf82-android-r12-picker.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r12-final-android-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17730dcd39f4ceff/r12-final-android-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r12-final-android-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/96bd6040691b0dd3/r12-final-android-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Global picker replaces A composer; explicit A composer preserved; native clock/signal differences.

## R06 — Current live B wins — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

A/B, On. Start TB, trigger real hardware newTask at ~4s → B draft without picker, stable through end. Before same TB/global sequence 0–10s. This alone does not prove precedence over a conflicting stored regular ref; R08 current scratch vs stored B does.

**Before recordings:** [base-ios-r06-r07.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/770c7e5bd683f393/base-ios-r06-r07.mp4)

**After recordings:** [headcf82-ios-r06-clean.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9539af18b6f37a5c/headcf82-ios-r06-clean.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-r06-beta.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ecadf0974a8ee6e3/base-ios-r06-beta.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r06-beta.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/89540fa84d9c7fd8/headcf82-ios-r06-beta.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r06-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/113e0578a13e3e82/r06-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r06-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0fb29b1cebcd5565/r06-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Native clock only in stable B pair.

## R07 — Chosen/opened history / restart / Off collection / saved draft — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Memory excerpt: choose B ~5s → Home/New B ~9s; repick A ~12s → Home/New A ~16s. Tail excerpt begins after real restart: ~2s Home/New B, ~28s Off, visit TA while Off, ~52s On, ~55s Home/New A; type unique saved text ~57s, leave ~77s, reopen saved draft ~133s preserves A/content. Separate Off-history clip 0s visit TB while Off; ~3s On; ~5s Home/New B. Base 0–10s TB/global B, picker B ~12–16s, Home/New ~20s → first A, not B; no new preference exists on base.

**Before recordings:** [base-ios-r06-r07.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/770c7e5bd683f393/base-ios-r06-r07.mp4)

**After recordings:** [headcf82-ios-r07-memory-clean.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b12c8726e435aec0/headcf82-ios-r07-memory-clean.mp4) · [headcf82-ios-r07-tail-clean.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b495fbd21cb15be/headcf82-ios-r07-tail-clean.mp4) · [headcf82-ios-r07-r09.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4c893850877690fd/headcf82-ios-r07-r09.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-r07-alpha.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c884853047cbb6f5/base-ios-r07-alpha.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r07-beta.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acacc1f1308115fe/headcf82-ios-r07-beta.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r07-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c5b7071a37d50d79/r07-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r07-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6503260aec75984c/r07-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Home global destination follows B/A history instead of first A; saved draft text preserved. Native clock, hero title, subtle zero-threshold composer-shadow raster changes.

## R08 — Scratch excluded from history / current scratch allowed — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Real scratch S plus regular B on fresh external homes. Final history clip starts after B choice and persisted last=B verified: Home/New B, picker No project → S; Home/New B; open TS, global → S; Home/New B. No-history retake: both fields ABSENT verified after relaunch, open TS, confirm last still ABSENT, Home/New → picker No project+B. Base 1.6s Home/New B, picker ~4s, No project ~23s → S, Home/New B ~34s, TS/global S ~36s, Home/New B ~40s. History-clean companion 40–44s supplies the final TS/global scratch → Home/global B transition and settled B hold; its earlier initial setup is not used as the remembered-B precondition. Final clip offsets in action log/contact sheet.

**Before recordings:** [base-ios-r08.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1fd3f4a1898e8b1d/base-ios-r08.mp4)

**After recordings:** [headcf82-ios-r08-final.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8289d26545ecf93/headcf82-ios-r08-final.mp4) · [headcf82-ios-r08-no-history-retake.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1427b110c026158f/headcf82-ios-r08-no-history-retake.mp4) · [headcf82-ios-r08-history-clean.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdf4a63c76e7e2bc/headcf82-ios-r08-history-clean.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-r08-scratch.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/24849064dcc60642/base-ios-r08-scratch.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r08-scratch-final.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3b14ca86b76657e4/headcf82-ios-r08-scratch-final.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r08-final-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/125ff6c18a684aa3/r08-final-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r08-final-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a1f7cf3e3394878f/r08-final-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Scratch hero unchanged; no-history Home global reaches picker instead of first regular B. Native clock only in matched scratch hero pair.

## R09 — Remembered B removed / sole A recovery — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

After clip ~5s confirms B history, Home, RPC-delete B ~24s, prefs result id133 confirms stale B remains; ~27s New → picker A; ~34s choose A stays. Before 1.6s Home/New in the equivalent sole-A post-removal state → A directly. A complete matched baseline deletion replay is currently unverified; a supplemental replay with an auto-bootstrap project is not used as matched proof. The after deletion sequence is recorded with stale B preference confirmed.

**Before recordings:** [base-ios-sole-r03-r05-r09-r12.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/502b695b40985d00/base-ios-sole-r03-r05-r09-r12.mp4)

**After recordings:** [headcf82-ios-r07-r09.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4c893850877690fd/headcf82-ios-r07-r09.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-global-clean.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/449579177919b79b/base-ios-global-clean.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r09-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa9d706870a884ce/headcf82-ios-r09-picker.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r09-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7246debbe587088c/r09-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r09-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/511e3dc368d0b076/r09-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Partial: baseline deletion interaction unverified. **What else changed:** Picker replaces first A composer; native clock.

## R10 — Unavailable thread / own environment first A / On and Off — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Ready E with sole A. Route real root Thread to missing id: before 0–3s → explicit A; after 0–4s On → A, ~9s General toggle Off, ~12s missing route → A. Opening thread spinner is transitional, not a still.

**Before recordings:** [base-ios-r10.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/383bb8a3bb263b4f/base-ios-r10.mp4)

**After recordings:** [headcf82-ios-r10.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b93c1f896eb3d2d2/headcf82-ios-r10.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-r10.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5c534973439c4b22/base-ios-r10.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r10-off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b14e3a154af988b/headcf82-ios-r10-off.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r10-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e6d5c9eb9940079/r10-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r10-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/942a1a3708a3bc29/r10-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** Stable A outcome preserved; native clock and slight composer-shadow raster variation.

## R11 — Unavailable environment / unrelated A — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Only original E/A exists. Navigate root Thread to unregistered E-missing/missing id. Before ~1–3s → A composer. After 0–3s → picker A, but Alpha composer is visible underneath native push at ~1.0–1.2s. Back ~5.5s returns Home. Transition sheet samples each 100ms, preserving the flash.

**Before recordings:** [base-ios-r11.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4682ca610cdc935f/base-ios-r11.mp4)

**After recordings:** [headcf82-ios-r11-r12-r05.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4a7ef35ac4db42d7/headcf82-ios-r11-r12-r05.mp4) · [finding-ios-unrelated-project-flash.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/72b3c174dd175fd7/finding-ios-unrelated-project-flash.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-r11-global.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/178835881e0f713d/base-ios-r11-global.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r11-final-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a812ce3815eab805/headcf82-ios-r11-final-picker.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r11-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8a5fee741a85b78b/r11-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r11-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/06d0c4bc186d1eac/r11-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Finding: transient wrong-project composer. **What else changed:** Final picker replaces unrelated automatic A composer; unwanted transient Alpha composer remains during transition; native clock.

## R12 — First-picker Back / choose project / previous thread — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Off, sole A. Home → New → picker → native Back returns Home; choose A keeps A draft. Before Home/New immediately opens first A with no initial picker. Final combined clip 12.5s open TA, global New, Back ~15.3s returns Home rather than TA; repeated ~31–35s. Fresh final clip supplies settled exact-row picker anchor and repeats choose/Back steps.

**Before recordings:** [base-ios-sole-r03-r05-r09-r12.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/502b695b40985d00/base-ios-sole-r03-r05-r09-r12.mp4)

**After recordings:** [headcf82-ios-r11-r12-r05.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4a7ef35ac4db42d7/headcf82-ios-r11-r12-r05.mp4) · [headcf82-ios-r12-sole-clean.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1cd166f97f81d7a/headcf82-ios-r12-sole-clean.mp4) · [finding-ios-return-home.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bac967857a3eea58/finding-ios-return-home.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-global-clean.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/449579177919b79b/base-ios-global-clean.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-r12-picker-sole-clean.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d05a7be63dd454b7/headcf82-ios-r12-picker-sole-clean.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r12-sole-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bcfb6ee737a8b26c/r12-sole-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r12-sole-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/52205529af630f90/r12-sole-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Finding: prior live thread not restored. **What else changed:** Global picker and its cancellation now remove ordinary draft; previous live-thread route is lost and Home appears. Native clock.

## R12 — First-picker hardware Back / choose project / previous thread — Pixel 9 · 411.43×923.43 dp / 1080×2424 PNG · DPR 2.625 · fontScale 1 · dark

Off, sole A. 5s Home FAB → picker, 11s hardware Back → Home; 13s New → picker, ~63s choose A keeps draft. ~67s open TA → global → picker; 71s hardware Back returns Home rather than TA. Before ~1–3s Home FAB → first A directly, hardware Back → Home ~25s.

**Before recordings:** [base-android-r03-r12-r05.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b78027a2c4d9eb3/base-android-r03-r12-r05.mp4)

**After recordings:** [headcf82-android-r05-r12.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc94c88f502e7b0b/headcf82-android-r05-r12.mp4) · [finding-android-return-home.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87b3d65c5e9af9b3/finding-android-return-home.mp4)

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-android-global.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/24a2d0184d0a4c1a/base-android-global.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-android-r12-picker.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a14f278c7865bd4a/headcf82-android-r12-picker.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r12-final-android-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17730dcd39f4ceff/r12-final-android-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r12-final-android-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/96bd6040691b0dd3/r12-final-android-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Finding: prior live thread not restored. **What else changed:** Global picker and cancellation remove draft; prior live thread is lost. Native clock/signal.

## B01 — Baseline General anchor — iPhone 17 Pro · 402×874 logical / PNG · DPR 3 · fontScale 1 · light

Static full-screen General, scroll position top, Keep separate selected, Working On. Both settle to pixel-identical screenshots >=500ms apart before capture.

**Before recordings:** Static row

**After recordings:** Static row

| Before | After | Diff0 ×32 | DiffT >16 |
| --- | --- | --- | --- |
| ![base-ios-general.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/871b9527a69aba6d/base-ios-general.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) | ![headcf82-ios-general.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a6ae0cf31147d4a1/headcf82-ios-general.png)<br>[cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r01-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc15c5d12e04c0a3/r01-ios-diff0.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) | ![r01-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38c34b76d88bb17b/r01-ios-diff16.png)<br>[d145077b4f](https://git.cafe/pingdotgg/t3code/commit/d145077b4f7dc9e476bacf346e3f2c04cc141d6d) → [cf82adf6b7](https://git.cafe/pingdotgg/t3code/commit/cf82adf6b7efc60fb1b19b2d15d89df20af1b316) |

**Observed:** Captured. **What else changed:** New threads section appears below existing Sidebar explanation; native clock and minor native chrome raster differences.

## Unverified rows

| Row | Scope | Reason |
| --- | --- | --- |
| R01 iOS restart replay | Uninterrupted restart through restored Off | Relaunch and restored Off are recorded in separate clips with a reconnect gap and different after SHAs; no uninterrupted restart-to-Off recording was saved. |
| R09 baseline interaction | Matched before-side B deletion replay | Head deletion and before sole-A destination are recorded; matched baseline deletion take was lost at release; recovery encountered repeated daemon failures, a driver localhost override, and a stuck native Open confirmation. |
| R13 | Optional share-sheet one/multiple-project and Back behavior | No native OS share intent was driven; share-intent seeding was not configured within this session. Navigation injection would not prove actual share intake. |
| X01 | Tablet/split/enlarged font/theme reversal | Only the two required portrait phones were leased; fontScale remained 1. |
| X02 | Grouped scope with multiple workspaces | Synthetic projects had distinct folders and no shared repository identity; no grouped-workspace fixture was seeded. |
| X03 | Unchanged branch/clone/share/import/inspector states | No provider import/clone/error/inspector fixture or native share intent was driven. |
| H01 | Pending/failure/config/save rollback harness | No deterministic preference/config failure harness was built; ordinary real startup was recorded. |
| H02 | Duplicate project ids across environments / malformed prefs | No duplicate-id/malformed-preference visual fixture or labelled helper harness was built; no test output is substituted for captures. |

## Contact and transition sheets

Every linked sheet was opened for visual review; each thumbnail is the whole screen, not a cropped detail. Video timings are in seconds from the actual recorded file; driver UTC timestamps can differ by native record-start transport delay.
![base-android-r01-search-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b674dc2275b41d8b/base-android-r01-search-contact.png)
![base-android-r03-r12-r05-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6aff7c0a1229850/base-android-r03-r12-r05-contact.png)
![base-android-r05-current-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4fdd1570ca56b145/base-android-r05-current-contact.png)
![base-android-r05-explicit-ui-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8011724a81b5fa3/base-android-r05-explicit-ui-contact.png)
![base-ios-r01-search-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c4f6ee0590a87047/base-ios-r01-search-contact.png)
![base-ios-r02-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17cb89b2baf1b4e9/base-ios-r02-contact.png)
![base-ios-r04-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a140dd4cb0eb961d/base-ios-r04-contact.png)
![base-ios-r05-current-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d09a44aed400fe6/base-ios-r05-current-contact.png)
![base-ios-r05-explicit-ui-settled-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a0fe5dbae072851/base-ios-r05-explicit-ui-settled-contact.png)
![base-ios-r06-r07-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e7671aa70a5c34d8/base-ios-r06-r07-contact.png)
![base-ios-r08-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d52d3daac5378b90/base-ios-r08-contact.png)
![base-ios-r10-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2d92e48923746d4/base-ios-r10-contact.png)
![base-ios-r11-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b0161ba9bc988d6/base-ios-r11-contact.png)
![base-ios-sole-r03-r05-r09-r12-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e512df0938b56f4/base-ios-sole-r03-r05-r09-r12-contact.png)
![finding-android-return-home-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60b216bbda8d6259/finding-android-return-home-contact.png)
![finding-ios-return-home-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05c1ecb283f1b2a9/finding-ios-return-home-contact.png)
![head-ios-r01-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6e7b3475067382b5/head-ios-r01-contact.png)
![head3ab-ios-r01-restored-search-clean-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a1e679dde62d845a/head3ab-ios-r01-restored-search-clean-contact.png)
![headcf82-android-r01-default-clean-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/37614eaed4ed25c3/headcf82-android-r01-default-clean-contact.png)
![headcf82-android-r01-restart-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6df78caacec3e691/headcf82-android-r01-restart-contact.png)
![headcf82-android-r01-search-final-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/260b9194bd9f741b/headcf82-android-r01-search-final-contact.png)
![headcf82-android-r05-explicit-ui-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c4086f780cf9b48/headcf82-android-r05-explicit-ui-contact.png)
![headcf82-android-r05-r12-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05bfcac7a9c938a8/headcf82-android-r05-r12-contact.png)
![headcf82-ios-r01-default-r04-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d615552b190d7a5/headcf82-ios-r01-default-r04-contact.png)
![headcf82-ios-r02-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/71c8fdf40a1eedfd/headcf82-ios-r02-contact.png)
![headcf82-ios-r03-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b8ce374518a4437/headcf82-ios-r03-contact.png)
![headcf82-ios-r05-explicit-ui-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5555a421e2608b3b/headcf82-ios-r05-explicit-ui-contact.png)
![headcf82-ios-r06-clean-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d33b14120aca85c/headcf82-ios-r06-clean-contact.png)
![headcf82-ios-r07-memory-clean-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/671a9622b446ab43/headcf82-ios-r07-memory-clean-contact.png)
![headcf82-ios-r07-r09-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/605e5537bcc01a4a/headcf82-ios-r07-r09-contact.png)
![headcf82-ios-r07-tail-clean-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8c3cd1f4c3dfbc8/headcf82-ios-r07-tail-clean-contact.png)
![headcf82-ios-r08-final-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/183ba3e2f84ae7e6/headcf82-ios-r08-final-contact.png)
![headcf82-ios-r08-history-clean-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dcb7e68a92979243/headcf82-ios-r08-history-clean-contact.png)
![headcf82-ios-r08-no-history-retake-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d0ef0e8a435a9ef/headcf82-ios-r08-no-history-retake-contact.png)
![headcf82-ios-r10-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/609f2f6140e7dbf3/headcf82-ios-r10-contact.png)
![headcf82-ios-r11-r12-r05-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cefd74b5c5ecf441/headcf82-ios-r11-r12-r05-contact.png)
![headcf82-ios-r12-r05-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b0d367a02e244bb/headcf82-ios-r12-r05-contact.png)
![headcf82-ios-r12-sole-clean-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ebad6f92ff2c334/headcf82-ios-r12-sole-clean-contact.png)
![headcf82-ios-r11-r12-r05-transition.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8497a1459615ee99/headcf82-ios-r11-r12-r05-transition.png)
![finding-ios-return-home-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05c1ecb283f1b2a9/finding-ios-return-home-contact.png)
![finding-android-return-home-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60b216bbda8d6259/finding-android-return-home-contact.png)
![headcf82-ios-r07-tail-clean-transition.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c6e993bf7ef7256/headcf82-ios-r07-tail-clean-transition.png)

## Individual seed / driver script URLs

[build-index.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/28b11ffb98828db2/build-index.py)
[cdp.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4c1a4066a1f4a97/cdp.mjs)
[cdp.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cc321df48e96fc64/cdp.py)
[drive.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b4d4404647278b38/drive.py)
[driver-fix-mod.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f69013e09e74ed67/driver-fix-mod.js)
[global-new.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/45e930a2763467b9/global-new.js)
[home.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a243e3a9694cebd/home.js)
[make-diff.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d1515257463c8094/make-diff.py)
[metro.capture.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d6271f8d3da63b5/metro.capture.cjs)
[open-palette.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90b339ac3eb413ea/open-palette.js)
[package-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7cc4b0cc111c916f/package-evidence.py)
[prefs-clear-durable.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/edd11d5b5da26614/prefs-clear-durable.js)
[prefs-read.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9373a290a0c4a793/prefs-read.js)
[prefs-reset.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdd993685d550567/prefs-reset.js)
[probe.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fa1434d6fbcda5f2/probe.js)
[remove-startup-projects.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b30d351ed797a4a4/remove-startup-projects.py)
[runtime-command.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/327ed3cb52067c7d/runtime-command.py)
[runtime-driver.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/71a9158c61cc840d/runtime-driver.js)
[runtime-probe.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8b4d35fb22728a0/runtime-probe.js)
[runtime-server.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb7e78c289c99b7e/runtime-server.mjs)
[seed-external.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/651035699dfa6ced/seed-external.mjs)
[seed.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f841c347580a696/seed.mjs)
[select-base.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc3aca0218d4a1ee/select-base.js)
[select-head.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d27231bc54a6a00b/select-head.js)
[select-scratch-base.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60c7232229e15050/select-scratch-base.js)
[select-scratch-head.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c4530c6ff78e2daa/select-scratch-head.js)
[settled-shot.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/48affb09bf5cb564/settled-shot.py)
[transition-sheet.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d998e0ab2c045520/transition-sheet.py)
[video-sheet.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64b7f263ba0956cb/video-sheet.py)
[wait-ready.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dd3c894cc9693ef5/wait-ready.js)

## Additional paired anchors

![base-ios-r05-explicit-settled.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/04a0d993f0145078/base-ios-r05-explicit-settled.png) ![headcf82-ios-r05-explicit.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/07c8d52d849f8213/headcf82-ios-r05-explicit.png) ![r05-explicit-ios-settled-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/42c5211442f8f951/r05-explicit-ios-settled-diff0.png) ![r05-explicit-ios-settled-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a959cd18f2f8f83/r05-explicit-ios-settled-diff16.png)
![base-android-r05-explicit.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c18e075057e7e8f4/base-android-r05-explicit.png) ![headcf82-android-r05-explicit.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/218de305a1be06fb/headcf82-android-r05-explicit.png) ![r05-explicit-android-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/322256ab5e1b4814/r05-explicit-android-diff0.png) ![r05-explicit-android-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d102ef41d1b717c2/r05-explicit-android-diff16.png)
![base-ios-r04-beta.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d5f6a6c0a86cccf/base-ios-r04-beta.png) ![headcf82-ios-r04-beta.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/30ddc33e106a50df/headcf82-ios-r04-beta.png) ![r04-beta-ios-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e01ab0641d5c13cd/r04-beta-ios-diff0.png) ![r04-beta-ios-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eefcb30d42b08fd2/r04-beta-ios-diff16.png)
All extra anchor pairs use the same baseline/final commits and thresholds stated above.


## What else changed / limits

Beyond the preference wording: automatic project routing becomes a picker, picker Back closes ordinary drafts, native push transitions expose the underlying composer, and cancellation from a live thread returns Home. R11 transient Alpha and R12 lost previous route are findings, not approved behavior. Stable matching General/picker/hero frames retain existing typography/layout; Diff0 also reveals native status clocks, Android radio signal and small blur/shadow/back-control raster changes. No share-sheet or supplemental harness claim is made. Rejected driver-error takes are excluded from proof; raw files remain local. The baseline client has no preference control, so Off/On-specific UI sequences cannot be replayed literally there. Per-row comparison records the closest corresponding main entry path and explicitly notes deviations.

[friction.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8486777f245a5e61/friction.md)

All contact/transition sheet URLs: [sheets.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ec36bc17eb20ac6/sheets.md)
