# Fresh native evidence — issue17716

**Coverage: six matrix rows captured (S1–S5, R4), three partial (S6, R1, R2), and two unavailable (S7, R3). Independent pixel recreation has the separate finding below.** There are 28 before/after pairs. This corrected index supersedes the original captioned-video index; all still images and their differences are unchanged.

BEFORE [8acbefefc5](https://git.cafe/pingdotgg/t3code/commit/8acbefefc51b4d281dcd04108c82baa1ab902b0e), [fresh EAS build 9bc0517a](https://expo.dev/accounts/pingdotgg/projects/t3-code/builds/9bc0517a-6c8d-4231-9c40-64288a247b56). AFTER [9c3a6ee0fe](https://git.cafe/pingdotgg/t3code/commit/9c3a6ee0fefce393799bc616d193747e2ddb2208), [fresh EAS build b740cbf8](https://expo.dev/accounts/pingdotgg/projects/t3-code/builds/b740cbf8-b29c-4c28-a30c-f1e26a70a568). Both artifacts finished successfully, use embedded source with OTA disabled, and were installed separately. Later fixture-only commits do not change the artifact source.

Environment: EAS native iOS26.5, iPhone17e portrait 390×844pt, 1170×2532px, DPR3; iPad Pro13-inch(M5) portrait1032×1376pt, 2064×2752px, DPR2. Phone Dynamic Type categoryLarge; exact numeric font multiplier was not exposed and remains unverified. Tablet font category was not separately read. OS light/dark with app t3-code palette. Full actual native surfaces are retained. iPad inspector divider is approximately750pt from left (about282pt inspector); this is pixel-derived, not an instrumented content-width measurement. Native exact1440pt and Android geometry remain unverified.

Same real native app/backend for both revisions, paired over HTTPS tunnel to an isolated migrated home. Committed fixtures provide one synthetic project/eight stopped threads, deterministic S0/B3 VCS responses and linked arrays at the HTTP/WebSocket boundary; no component harness. Ccap disables both PR capabilities while retaining full grants. Cscope uses genuine read/filesystem grants with capabilities enabled. No fixture mutation actions were executed.

| Row | Result and concrete coverage |
|---|---|
| S1 | Captured: F1 thread Git menu and overview collapsed/expanded, phone light/dark. Correct F1 thread underlay recaptured on both sides before View PR. |
| S2 | Captured: separate Review Git menu, phone light. |
| S3 | Captured: F2 pending, F3c closed, F3m merged, F0 none, phone light. Terminal glyph/color stills are scrolled below the action; after-states raw recording shows disabled Create PR at 00:34 for closed and 01:01–01:02 for merged. |
| S4 | Captured: F4 checkout PR3 wins while linked row42 remains; destination recording included. |
| S5 | Captured: F5 Ccap both list callers light/dark; Cscope both callers one theme, View PR and denied context controls. |
| S6 | Partial: actual iPad inspector and dedicated F5 Ccap lists light/dark, F1 inspector once using Ccap/known-open. Planned F1 C+ wide control not captured; precise measured pane widths, exact1440 and wide long-title truncation fixture remain unverified. |
| S7 | Unverified: every Android F1/F2/F3c/F3m/F0 header/overflow state, F1 light/dark. Android unavailable. |
| R1 | Partial: Thread, Review and overview View PR route to native42; F4 routes3 on both. Earlier returns are recorded, but the final return after the Review destination is missing. Synthetic destinations identify example/fixture. |
| R2 | Partial: after-Ccap list/context/row42 selection and after-Cscope list/context/Git View PR43 plus F6 stack are recorded. After-Cscope list-row selection is missing. Android single/multiple/stack header action is unverified. Baseline Ccap has no selectable rows. |
| R3 | Unverified: Android <600/≥600dp header thresholds, compact/keyboard/overflow transitions and maximal siblings. |
| R4 | Captured mounted switching: after starts F1 at 00:00–00:02 and F2 menu by 00:03, then closed/merged/F0/F4. Baseline starts F1/F3M idle and later switches to F0/F4. Both show checkout3 routing. Baseline individual state stills supply negative controls; the original claim of early baseline F2/closed Git sheets is withdrawn. No timing claim. |

Additional compatibility observation (after-only spot-check, not a matched pair): F2 capabilityfalse + null snapshot retains disabled Push and Clean; F1 capabilityfalse + known-open snapshot enables View PR and Clean · PR42. Lead reports focused compatibility tests green; this evidence run did not rerun those tests. Null VCS status and non-PR-field identity remain logic/test controls, not native transient captures.

Visible differences observed:

- The after state-switching recording includes transient connection-retry banners. No uninterrupted-connection or latency claim is made.

- F1 Thread and Review menus: status gains PR42; enabled View PR replaces disabled Push; the “No local commits to push” subtitle disappears; menu becomes shorter and following rows move upward. Action/icon contrast changes with enabled state.
- F1/F2 overview: status gains PR42 open; enabled View PR with PR42 subtitle replaces disabled Create PR and its no-local-commits subtitle. Other Git actions retain checkout-derived state. Expanded linked row remains visible.
- F2 still says Waiting for host state. F3 closed/merged retain red/purple rows and do not synthesize an open fallback. F0 retains no linked section. F4 retains checkout PR3 precedence and linked row42.
- F5 Ccap: baseline overview omits linked section and dedicated list falsely says No linked pull requests. After shows linked heading/four rows, open count, separators, pending/open/merged/closed glyphs and labels; added content changes occupied height/scroll extent. No Link/Unlink/Watch mutations appear.
- Ccap Git fallback is NOT claimed passed: current selector chooses pending43; capabilityfalse prevents inferring it open, so status stays Clean and disabled Push remains. Known older open42 does not replace selected pending43. This matches the reviewed helper policy.
- Cscope: linked rows/count/context actions remain available on both; after adds readable View PR for selected43. Both denied menus show only Copy link and Open in browser.
- F6 retains base42 + indented43 stack and long title. iPad after inspector adds retained linked content in Ccap and F1 View PR. Wide exact truncation behavior remains a gap.
- Full-frame differences also include native glass blur/antialiasing, small label-position/scroll-rest differences and underlay content position on some non-core pairs. They are not masked or attributed to product changes. In particular some F5 list underlays differ in vertical conversation position, and tablet list underlays differ in navigation/inspector state. These pairs establish list visibility, not pixel-identical background state.

All destination fetches address synthetic nonexistent PRs: native repository/number route is proved; loaded remote PR content is UNVERIFIED. Error frames remain in recordings and are not used as S1 static underlays. 

## Before / After / Diff0 / DiffT

Each label includes fixture, caller, viewport and theme. Diff0 is absolute RGB difference amplified4×. DiffT is a binary mask of max-channel difference >8/255 (white changed, black within threshold), no masks or alignment transforms. The same stated threshold applies to every pair; per-pair changed counts/percent below are full-frame and are not acceptance thresholds. Native dimensions are never inferred from resized display images.

| Before — 8acbefefc5 | After — 9c3a6ee0fe | Diff0 — absolute ×4 | DiffT — >8/255 |
|---|---|---|---|
| ![Before f0 overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0da44bd0466e79d4/f0-overview-light.png) | ![After f0 overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/497878c5850f4fd7/f0-overview-light.png) | ![f0 overview light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/126a34ddb7041244/f0-overview-light-diff0-x4.png) | ![f0 overview light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ac960d0ab7f32d55/f0-overview-light-difft-8.png)<br>1,314 pixels (0.0444%) |
| ![Before f1 overview dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/619d7255caf4e0c1/f1-overview-dark.png) | ![After f1 overview dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/106193cd2e863825/f1-overview-dark.png) | ![f1 overview dark · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/408f8295bb87a0f1/f1-overview-dark-diff0-x4.png) | ![f1 overview dark · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f3fe1a87971cac5c/f1-overview-dark-difft-8.png)<br>18,218 pixels (0.6150%) |
| ![Before f1 overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b60e4a1325638ecb/f1-overview-light.png) | ![After f1 overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/521d59ccdf018116/f1-overview-light.png) | ![f1 overview light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9df343d500fb8c35/f1-overview-light-diff0-x4.png) | ![f1 overview light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/750537d57faa254e/f1-overview-light-difft-8.png)<br>18,337 pixels (0.6190%) |
| ![Before f1 overview links dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1dda7616d265725f/f1-overview-links-dark.png) | ![After f1 overview links dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23e22a8308570be9/f1-overview-links-dark.png) | ![f1 overview links dark · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be05453389ae0004/f1-overview-links-dark-diff0-x4.png) | ![f1 overview links dark · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/80312382c554ebbf/f1-overview-links-dark-difft-8.png)<br>5,242 pixels (0.1769%) |
| ![Before f1 overview links light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b5231b34431b474/f1-overview-links-light.png) | ![After f1 overview links light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9e1778bcc769b5f/f1-overview-links-light.png) | ![f1 overview links light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4e67aedad2e3c04c/f1-overview-links-light-diff0-x4.png) | ![f1 overview links light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dbadd991e9eec218/f1-overview-links-light-difft-8.png)<br>3,938 pixels (0.1329%) |
| ![Before f1 review menu light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90f59155b8d9badf/f1-review-menu-light.png) | ![After f1 review menu light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4a51716b518bb61b/f1-review-menu-light.png) | ![f1 review menu light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66645acbee1d30b3/f1-review-menu-light-diff0-x4.png) | ![f1 review menu light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2c12c9d869b54cd/f1-review-menu-light-difft-8.png)<br>74,195 pixels (2.5045%) |
| ![Before f1 thread menu dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0380103b5b1ffe14/f1-thread-menu-dark.png) | ![After f1 thread menu dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c38a186bb00f570b/f1-thread-menu-dark.png) | ![f1 thread menu dark · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e34233f4cb5fad07/f1-thread-menu-dark-diff0-x4.png) | ![f1 thread menu dark · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b577f79b185e5343/f1-thread-menu-dark-difft-8.png)<br>105,682 pixels (3.5674%) |
| ![Before f1 thread menu light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/067e04f2bd0283e4/f1-thread-menu-light.png) | ![After f1 thread menu light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a0ba686e13a7e8ae/f1-thread-menu-light.png) | ![f1 thread menu light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2641b38c34ce7507/f1-thread-menu-light-diff0-x4.png) | ![f1 thread menu light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdd3a2e5bd332cd5/f1-thread-menu-light-difft-8.png)<br>82,962 pixels (2.8005%) |
| ![Before f2 overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c26fdc80a303f03/f2-overview-light.png) | ![After f2 overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0c544816fba30b3f/f2-overview-light.png) | ![f2 overview light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/372c1b8286fce2de/f2-overview-light-diff0-x4.png) | ![f2 overview light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b9f2942b89afe85/f2-overview-light-difft-8.png)<br>43,996 pixels (1.4851%) |
| ![Before f3c overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f8685276c429761/f3c-overview-light.png) | ![After f3c overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d58e29e026c7c0d/f3c-overview-light.png) | ![f3c overview light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8df0adc19f4fe866/f3c-overview-light-diff0-x4.png) | ![f3c overview light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4dc0693c55c2749/f3c-overview-light-difft-8.png)<br>215 pixels (0.0073%) |
| ![Before f3m overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2111224dd3e8f1b/f3m-overview-light.png) | ![After f3m overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/680d341b9e5ac479/f3m-overview-light.png) | ![f3m overview light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4f6d5db957291b37/f3m-overview-light-diff0-x4.png) | ![f3m overview light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/45302867d716bdb3/f3m-overview-light-difft-8.png)<br>20,746 pixels (0.7003%) |
| ![Before f4 destination3 light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9a1bfaa394a590a/f4-destination3-light.png) | ![After f4 destination3 light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d9d3bcd6b6659b2/f4-destination3-light.png) | ![f4 destination3 light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54397bf64c56e211/f4-destination3-light-diff0-x4.png) | ![f4 destination3 light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b918fce624fd05a/f4-destination3-light-difft-8.png)<br>1,270 pixels (0.0429%) |
| ![Before f4 overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/91ba0739610bfc3e/f4-overview-light.png) | ![After f4 overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e7930d43ee7fb48c/f4-overview-light.png) | ![f4 overview light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64265aee6b71826d/f4-overview-light-diff0-x4.png) | ![f4 overview light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/456de0cb9ae0c974/f4-overview-light-difft-8.png)<br>1,262 pixels (0.0426%) |
| ![Before f4 thread menu light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a60beac19d08e451/f4-thread-menu-light.png) | ![After f4 thread menu light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/91db6a24943c26de/f4-thread-menu-light.png) | ![f4 thread menu light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20f33ec773e2e7e0/f4-thread-menu-light-diff0-x4.png) | ![f4 thread menu light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a835dc6bfd22833/f4-thread-menu-light-difft-8.png)<br>1,314 pixels (0.0444%) |
| ![Before f5 cap list dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2296e18c798ff137/f5-cap-list-dark.png) | ![After f5 cap list dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b9612a0bf2e0edd3/f5-cap-list-dark.png) | ![f5 cap list dark · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d76005057c4a5f5/f5-cap-list-dark-diff0-x4.png) | ![f5 cap list dark · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/795b8c89379714ba/f5-cap-list-dark-difft-8.png)<br>61,854 pixels (2.0879%) |
| ![Before f5 cap list light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7819cfaaee22e462/f5-cap-list-light.png) | ![After f5 cap list light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e2ce66cba4381b0/f5-cap-list-light.png) | ![f5 cap list light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3707f876d469270f/f5-cap-list-light-diff0-x4.png) | ![f5 cap list light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/af1bb473076cf8ca/f5-cap-list-light-difft-8.png)<br>62,078 pixels (2.0955%) |
| ![Before f5 cap overview dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b454390fc362a79/f5-cap-overview-dark.png) | ![After f5 cap overview dark · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7aa9cff466209cd0/f5-cap-overview-dark.png) | ![f5 cap overview dark · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc75b9816c62519f/f5-cap-overview-dark-diff0-x4.png) | ![f5 cap overview dark · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38794a3e4778ca8d/f5-cap-overview-dark-difft-8.png)<br>238,838 pixels (8.0622%) |
| ![Before f5 cap overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/deb5b31b605a3934/f5-cap-overview-light.png) | ![After f5 cap overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3052333fb534a632/f5-cap-overview-light.png) | ![f5 cap overview light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eeb2d0c30f5cbe55/f5-cap-overview-light-diff0-x4.png) | ![f5 cap overview light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/71e01886f999b10c/f5-cap-overview-light-difft-8.png)<br>129,017 pixels (4.3551%) |
| ![Before f5 scope context light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d9e341eb5e2b599/f5-scope-context-light.png) | ![After f5 scope context light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/57582423e75f7864/f5-scope-context-light.png) | ![f5 scope context light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e7411634a4b41d65/f5-scope-context-light-diff0-x4.png) | ![f5 scope context light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/989302a7f5cc2919/f5-scope-context-light-difft-8.png)<br>0 pixels (0.0000%) |
| ![Before f5 scope list light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/59897f6dae825578/f5-scope-list-light.png) | ![After f5 scope list light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/77a2700d9ae3cbab/f5-scope-list-light.png) | ![f5 scope list light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/55f27c559154e3d9/f5-scope-list-light-diff0-x4.png) | ![f5 scope list light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/627270462775c429/f5-scope-list-light-difft-8.png)<br>1,262 pixels (0.0426%) |
| ![Before f5 scope menu light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8cbc8e121dd60f28/f5-scope-menu-light.png) | ![After f5 scope menu light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5cdd5c27d6a19237/f5-scope-menu-light.png) | ![f5 scope menu light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87f10554434b1b19/f5-scope-menu-light-diff0-x4.png) | ![f5 scope menu light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08ebaf64203c8a1d/f5-scope-menu-light-difft-8.png)<br>88,543 pixels (2.9889%) |
| ![Before f5 scope overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5d340120eb89ab4/f5-scope-overview-light.png) | ![After f5 scope overview light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/097bb5c116f00d6a/f5-scope-overview-light.png) | ![f5 scope overview light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b86e278b14a9a250/f5-scope-overview-light-diff0-x4.png) | ![f5 scope overview light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae7f5aad997334b5/f5-scope-overview-light-difft-8.png)<br>5,514 pixels (0.1861%) |
| ![Before f6 stack list light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f97e93f91278dd05/f6-stack-list-light.png) | ![After f6 stack list light · 390×844pt @3x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97c2f28e67fd4939/f6-stack-list-light.png) | ![f6 stack list light · 390×844pt @3x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8a4fea12610775e8/f6-stack-list-light-diff0-x4.png) | ![f6 stack list light · 390×844pt @3x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4386b88dda01c969/f6-stack-list-light-difft-8.png)<br>1,276 pixels (0.0431%) |
| ![Before ipad f1 overview light · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5716294244d46fac/ipad-f1-overview-light.png) | ![After ipad f1 overview light · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38ffc1053ec8d178/ipad-f1-overview-light.png) | ![ipad f1 overview light · 1032×1376pt @2x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc73a12813390507/ipad-f1-overview-light-diff0-x4.png) | ![ipad f1 overview light · 1032×1376pt @2x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aef95f153e96ae4b/ipad-f1-overview-light-difft-8.png)<br>43,408 pixels (0.7642%) |
| ![Before ipad f5 cap list dark · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d2a96d78e5572bf8/ipad-f5-cap-list-dark.png) | ![After ipad f5 cap list dark · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1e4ebc128938fe3/ipad-f5-cap-list-dark.png) | ![ipad f5 cap list dark · 1032×1376pt @2x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/34c5133f9a6ca53b/ipad-f5-cap-list-dark-diff0-x4.png) | ![ipad f5 cap list dark · 1032×1376pt @2x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/18970d328bcd6d49/ipad-f5-cap-list-dark-difft-8.png)<br>173,031 pixels (3.0463%) |
| ![Before ipad f5 cap list light · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e7ce6e12594c3cc/ipad-f5-cap-list-light.png) | ![After ipad f5 cap list light · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6c1ed0fd2f3aef2e/ipad-f5-cap-list-light.png) | ![ipad f5 cap list light · 1032×1376pt @2x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0faf222167921950/ipad-f5-cap-list-light-diff0-x4.png) | ![ipad f5 cap list light · 1032×1376pt @2x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/864e7e8504b5b79a/ipad-f5-cap-list-light-difft-8.png)<br>165,190 pixels (2.9082%) |
| ![Before ipad f5 cap overview dark · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/902f16331005f044/ipad-f5-cap-overview-dark.png) | ![After ipad f5 cap overview dark · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c3bf3f45658bf3f3/ipad-f5-cap-overview-dark.png) | ![ipad f5 cap overview dark · 1032×1376pt @2x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9192cea57fb7daf5/ipad-f5-cap-overview-dark-diff0-x4.png) | ![ipad f5 cap overview dark · 1032×1376pt @2x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/932ed27973d5771c/ipad-f5-cap-overview-dark-difft-8.png)<br>234,912 pixels (4.1357%) |
| ![Before ipad f5 cap overview light · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5a4a88e24b7b8c7e/ipad-f5-cap-overview-light.png) | ![After ipad f5 cap overview light · 1032×1376pt @2x](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56eb12e73af3810c/ipad-f5-cap-overview-light.png) | ![ipad f5 cap overview light · 1032×1376pt @2x Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c4a25383f29d05fc/ipad-f5-cap-overview-light-diff0-x4.png) | ![ipad f5 cap overview light · 1032×1376pt @2x DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90f3e850dd9568f0/ipad-f5-cap-overview-light-difft-8.png)<br>27,918 pixels (0.4915%) |

## Interaction recordings — checked playback checkpoints

Use raw recordings with these written checkpoints above their links. Supersede the old captioned versions; do not describe their baked captions as passing the timestamp audit. These are stable visual checkpoints, rounded to seconds, not action-start or performance measurements. Source recordings have variable frame rate. The audit decodes from the beginning against media timestamps (2 samples/second for raw checks); controller telemetry and the original contact-sheet labels are not interchangeable with playback time. Fast input seeking returned stale frames on these raw files, so it was excluded from the final timestamp evidence.

Before recordings use the baseline source; after recordings use the implementation source stated above. These are real native app interactions, with synthetic destinations. The filename records a session label; themes can change during a clip. No captioned versions are used as proof in this corrected index.

### after-core-light.mp4

00:15: F1 thread Git menu shows View PR while the initial status reads Clean. 00:40: settled F1 menu shows Clean · PR #42 and View PR. 00:50: native destination #42 with synthetic detail error. 01:15: return to F1 thread. 01:30 and 01:40: Git overview View PR. 01:45: native #42 again. 02:15 and 02:20: Review screen, menu still closed. 02:25: Review Git menu with View PR. 02:35: native #42 after Review action. Clip ends on that destination; final dismissal back to thread is not recorded.

[after-core-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7e1347878eb08d0/after-core-light.mp4)

### after-states-light.mp4

00:00–00:02: F1 thread, then F2 menu by 00:03. 00:05 and 00:10: F2 quick View PR; 00:15: F2 overview View PR; 00:20: Waiting for host state row. 00:32–00:33: F3C disabled Push; 00:34: disabled Create PR; 00:40: closed linked row. 00:59–01:00: F3M disabled Push; 01:01–01:02: disabled Create PR; 01:05: merged linked row. 01:20: F0 overview without linked section. 01:40 and 01:50: F4 sheet, checkout PR #3 status and linked #42 row. 02:10: native #3 destination. Connection retry banners occur in this clip; no uninterrupted-connection or latency claim.

[after-states-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f50e95eaabd2281b/after-states-light.mp4)

### after-denied-list-light.mp4

00:10: dark F5 Ccap Git overview with four retained rows. 00:15 and 00:20: light dedicated list, 2 open · 4 linked. 00:25: dark dedicated list. 00:30 and 00:40: light list. 00:45 and 00:55: PR #42 context menu contains only Copy link / Open in browser. 01:00: native #42 loading; 01:05: synthetic detail error on native #42. The filename does not imply the whole recording stays light.

[after-denied-list-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8bbe5d9c1e16406/after-denied-list-light.mp4)

### after-denied-light.mp4

00:00–00:04: Threads list; 00:06: F5 thread; 00:09: Git overview with disabled Push/Create PR; 00:12, 00:15 and 00:25: four retained linked rows in light Git overview. Do not call 00:00 a Git menu.

[after-denied-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a47c388231bb4a56/after-denied-light.mp4)

### after-scope-stack-light.mp4

00:05: F5 read-only overview retains four rows. 00:10: thread with read-only connection notice. 00:15–00:25: dedicated list/context menu, only Copy link / Open in browser. 00:30: Git View PR menu. 00:32–00:34: native #43 destination, followed by return. 00:37: Threads list. 00:40 and 00:45: F6 stack, base #42 and indented #43. Do not place the #43 route before 00:30 or Threads at 00:30. No after-Cscope list-row selection is demonstrated; this route uses Git View PR.

[after-scope-stack-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/84eb2ee41f4123a8/after-scope-stack-light.mp4)

### before-core-light.mp4

00:00: Threads list. 00:05: F1 thread Git menu with disabled Push. 00:10: overview with disabled Create PR. 00:15: Review screen. 00:20 and 00:30: separate Review Git menu with disabled Push.

[before-core-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8da1158ec308f76/before-core-light.mp4)

### before-core-menu-light.mp4

Supplemental read-only baseline, not a C+ matched recording: 00:00–00:07 disabled Push in F1 menu; approximately 00:10 overview has disabled write actions with read-only explanation. Clip is only about 14.6 seconds long; a caption interval through 00:50 is not evidence of a 50-second clip. Matched C+ baseline menu still exists separately.

[before-core-menu-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e907b847544e5852/before-core-menu-light.mp4)

### before-denied-light.mp4

00:05, 00:10 and 00:15: baseline Ccap overview omits existing linked section. 00:20 and 00:25: false empty dedicated list in light. 00:30 and 00:35: false empty list in dark. No baseline Ccap row selection is possible.

[before-denied-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca8d1a9a94e1f64c/before-denied-light.mp4)

### before-scope-stack-light.mp4

00:05: F5 read-only Git menu has disabled Push. 00:10: overview retains four links. 00:15: dedicated list. 00:20: Copy/Open-only context menu. 00:25 and 00:30: selected native #42 destination. 00:35: return transition toward the thread. 00:40: F6 stack list opening.

[before-scope-stack-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0b27c78dc24a65c5/before-scope-stack-light.mp4)

### before-states-light.mp4

Early segment is predominantly F1 thread at rest, then F3M thread at rest, with a long idle pause; do not reuse the claim that 00:00–00:40 shows F1→F2→closed/merged Git sheets. Static before pairs supply those state observations. Later conservative checkpoints: 03:25 F0 overview without linked section; 03:45 F4 quick View PR and checkout #3 status; 04:00 native #3 destination.

[before-states-light.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e9a6f3e3d56c1e3/before-states-light.mp4)

## Additional after-only compatibility captures

![After F2 capability false/null snapshot;390×844pt light](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e105dccfd311c573/f2-legacy-cap-menu-light.png)

![After F1 capability false/known open;390×844pt light](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0da6b41596f905fd/f1-legacy-cap-menu-light.png)

## Pair sheets

[f0-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe7f1e11b43e9a7c/f0-overview-light.png) · [f1-overview-dark pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14ad7548e3be260e/f1-overview-dark.png) · [f1-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5a75221430d3bcaa/f1-overview-light.png) · [f1-overview-links-dark pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cee628195c18e483/f1-overview-links-dark.png) · [f1-overview-links-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c689ad072b11d9a/f1-overview-links-light.png) · [f1-review-menu-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9c5b142cb9eacf29/f1-review-menu-light.png) · [f1-thread-menu-dark pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f5c83a0ed1e981a/f1-thread-menu-dark.png) · [f1-thread-menu-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/832da7d0877106be/f1-thread-menu-light.png) · [f2-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5622cdbed77b9a6c/f2-overview-light.png) · [f3c-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/090c421c86555227/f3c-overview-light.png) · [f3m-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7100c98dcf3f74b1/f3m-overview-light.png) · [f4-destination3-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1cf580bf64c70b4d/f4-destination3-light.png) · [f4-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7b3dd5a78f76c4c/f4-overview-light.png) · [f4-thread-menu-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d06f0eb0a556d32/f4-thread-menu-light.png) · [f5-cap-list-dark pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/49f94394659f00cc/f5-cap-list-dark.png) · [f5-cap-list-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f16c85d72454195/f5-cap-list-light.png) · [f5-cap-overview-dark pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7d11fbe32eab966/f5-cap-overview-dark.png) · [f5-cap-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d1644183e56aed3/f5-cap-overview-light.png) · [f5-scope-context-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4972786d25d098e2/f5-scope-context-light.png) · [f5-scope-list-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8cc66e9c9931317c/f5-scope-list-light.png) · [f5-scope-menu-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a5f94b9527b8d0d6/f5-scope-menu-light.png) · [f5-scope-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc386e82550b416d/f5-scope-overview-light.png) · [f6-stack-list-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a269697424347483/f6-stack-list-light.png) · [ipad-f1-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9092610e247b8ef/ipad-f1-overview-light.png) · [ipad-f5-cap-list-dark pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/293921a098e1278e/ipad-f5-cap-list-dark.png) · [ipad-f5-cap-list-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9aa4624eb72155e/ipad-f5-cap-list-light.png) · [ipad-f5-cap-overview-dark pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7596ac09190b2768/ipad-f5-cap-overview-dark.png) · [ipad-f5-cap-overview-light pair](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/801b7770dfc15f21/ipad-f5-cap-overview-light.png) · 

## Explicit remaining gaps

Android S7/R2/R3 all states and widths; exact1440 native logical width; older-iOS non-glass toolbar; instrumented tablet pane/header widths and numeric font multiplier; tablet F1 C+ control; wide known-long-title truncation; Fnull native timing; after-only legacy spot-check has no matching baseline still. Watch/Unlink/Link mutations and remote real PR content were intentionally not executed. No browser/desktop substitute is claimed. S6/R1/R2 retain the substep limits in the row table. Independent F1 recreation reproduces enabled View PR but differs at 157,364 pixels above zero and 42,899 pixels (1.4480968%) above 8/255, without masks. The menu content/edge is about four physical pixels left and battery/glass pixels differ; pixel equivalence is not established. All 28 supplied difference pairs and masks recomputed exactly, and all 112 public four-column images byte-match their expected local files.

## Fixture reproducibility and parser measurement

Committed portable scripts accept isolated home/output/checkout/ports, resolve sibling seed relative to __file__ and ws from checkout. Rebuild verified exactly1 synthetic project/8 stopped threads; ~/.t3 refused. JSON parse+recursive walk is O(n) time/output and O(depth) recursion stack; extreme depth can hit runtime call-stack limits. Malformed3000 JSON lexical tokens (5999 bytes),1000 samples:median0.190588ms,p950.546016ms,min0.119042ms,max57.238344ms under host load; SyntaxError, recursive walk not reached. Valid2999-token nested control parse+walk3.959733ms. Not a product-performance claim.

## Runtime cleanup

EAS01a161a5-d05f-737f-9e4f-6409d7e9592b explicitly stopped04:05UTC; tracked backend1373103 exited130, proxy1371475 exited-2, tunnel1371476 exited0. No active remote build remains. Temporary EAS config stays uncommitted; managed device credentials cleared. Private restart recipe provided separately, never uploaded.

## Friction

FRICTION Evidence freshness|Historical native artifacts predate the requested source pair.|Build both actual revisions and record build IDs; never label stale artifacts fresh.
FRICTION Host contention|High host load and filesystem stalls made archive preparation take minutes.|Use cached current CLIs, avoid redundant worktree reads, and stop owned idle services.
FRICTION Native architecture|Initial generic simulator build requested arm64 and x86_64 while GhosttyKit provides arm64 only.|Temporary Apple Silicon m-medium profile with GYM_XCARGS=ARCHS=arm64 EXCLUDED_ARCHS=x86_64; verify remote command.
FRICTION Build latency|EAS fingerprinting scans native dependencies after upload.|Monitor progress without duplicate submission; EAS_SKIP_AUTO_FINGERPRINT=1 is available for future bounded retries.
FRICTION Runtime freshness|Production updates could replace embedded source on launch.|Disable updates and use appVersion runtime policy only in the temporary evidence profile.
FRICTION Fixture completeness|Original seed supplied only one linked thread and did not pin VCS/capabilities.|Seed stopped thread copies and verify isolated transport responses before native capture.
FRICTION Permissions|Capability denial differs from missing operation grants.|Use separate capability-false and genuinely read-only sessions.
FRICTION Sensitive output|Build/device/backend logs can contain environment values or pairing credentials.|Keep raw logs private and upload only synthetic captures and selected sanitized findings.
FRICTION Native availability|Android and exact 1440-point native width are unavailable.|Keep explicit gaps; do not substitute browser pixels or resized images.
FRICTION Dependency download|Corepack registry request for pnpm/12.14.0 returned HTTP 503.|Reconcile failed remote job, then one bounded retry with fingerprint scan skipped.
FRICTION Native runner|First app open timed out while building Apple runner.|Inspect device readiness and retry the same session once.
FRICTION Recording overlay|Touch-overlay generation timed out; raw recording was retained.|Use hide-touches and narrate captured steps separately.
FRICTION Recording download|One stop/download timed out.|Retry stop on the same recording; do not start another before reconciliation.
FRICTION Native navigation|Deep-link consent and AX snapshot fallback complicated selectors.|Use actual UI paths for matched static pairs and refresh native snapshot references.
FRICTION Capture state|Initial expanded F1 sheet had synthetic PR-error underlay.|Recapture both sources from the same F1 thread before View PR.
FRICTION Synthetic route|Nonexistent example PRs produce expected detail-load error.|Verify native repository/number and label loaded content unverified.
FRICTION Fixture portability|ws was not a direct server dependency.|Resolve ws from checkout and hoisted node_modules rather than a versioned absolute path.
FRICTION Device ownership|Tablet boot did not bind subsequent commands without explicit model.|Use a separate agent-device session and explicit tablet device selection.
FRICTION Controller syntax|install-from-source rejects timeout flag; refs expire after actions.|Read command help and use current snapshot/semantic selectors.
FRICTION Narration mapping|Initial capability-list caption claimed overview/theme intervals not visible in that clip.|Inspect sampled frames, use separate overview clip, replace incorrect caption and label static dark proof separately.
FRICTION Scoped lint invocation|Direct oxlint binary was unavailable in workspace bin.|Use the repository vp lint command with an explicit file; focused lint passed.
