# Evidence sheet — entries

Native environment: real T3 Code Expo development clients from each pinned checkout, independently served JS bundles and fresh isolated server homes (T3CODE_DEV_SEED=0); one continuous lease per platform. AP: Pixel 9 Android 16/API 36, 411.43×923.43 logical, 1080×2424 physical, DPR 2.625, fontScale 1, safe area top/bottom 24, portrait. IP: iPhone 17 Pro iOS 27.2, 402×874 logical, 1206×2622 physical, DPR 3, fontScale 1, safe top 62/bottom 34, portrait. L/D are explicit built-in light/dark. Native fingerprints match across revisions: Android ed36a9cc9856c84a322bb71e6d67744f0a00877d; iOS f532a0c5902b69c7f69cc5fe9c807053700a07eb. Android animations disabled/reduced motion; PNG status bar normalized to 9:41, recordings retain native clock. iOS normalized charging battery would not settle, so original native clock/battery retained. No web/device emulation is used for native captures.

Capture conditions: each selected still passed two identical full-screen RGB captures ≥500ms apart and visual review. Native UI has no browser network-idle/font-ready API: route/content readiness and pixel equality were used; independent network-idle/fonts assertions remain unavailable. R01–R05 redo freezes JS Date at 2026-10-27T21:00:00Z; other mobile rows and iOS native clock were not globally frozen. The matrix explicitly narrows widths/themes; no new 1440/390 web screenshots were requested. Android recordings split at 180s and omit static trailing frames. The last table-gesture/remove recording has a truncated static tail; its actions through draft Remove and source return are present, while the later settled still is separate. Written chapter seconds are command elapsed time, not a frame-accurate performance measurement; complete UTC steps and native telemetry are provided.

New ZIP-only rows use the labelled shared generic ZIP Before, not a pixel-comparable image of the new state. Consequently Diff0/DiffT are N/A on those rows as permitted by the matrix; unlike-screen diffs would be misleading. Before asset is proof.zip, 13,258,879 bytes, 28 files after expansion; name/route/draft differences in smaller variants are explicitly contextual. Local drafts retain fixture v1; remote partial.txt was revised to bounded-width lines at identical size in v2. Both manifests/bytes are uploaded. Regular regressions use actual matched assets/routes. N = normal UI; D = production route/RPC/local-store driver; H = controlled external dependency in the real native app, labelled per row.

### M15 · AP-D · 411.43×923.43 — CAPTURED

N. Steps: Open long TS entry → select text → Settings word wrap off/on → reopen → HTML remains source → Back.

Actual SourceFileSurface shows tokens/selectable source without a line-number gutter; no gutter is invented.

Checkpoints: 73.0s command-time: M15-AP-D-unwrapped.png in [mobile-AP-source-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38a26db944dae92d/mobile-AP-source-dark.mp4); 80.0s command-time: M15-AP-D-selected.png in [mobile-AP-source-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38a26db944dae92d/mobile-AP-source-dark.mp4); 212.9s command-time: M15-AP-D-settings-wrap-off.png in [mobile-AP-source-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38a26db944dae92d/mobile-AP-source-dark.mp4); 219.2s command-time: M15-AP-D-settings-wrap-on.png in [mobile-AP-source-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38a26db944dae92d/mobile-AP-source-dark.mp4); 242.5s command-time: M15-AP-D-wrapped.png in [mobile-AP-source-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38a26db944dae92d/mobile-AP-source-dark.mp4); 264.6s command-time: M15-AP-D-html-source.png in [mobile-AP-source-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38a26db944dae92d/mobile-AP-source-dark.mp4); 271.4s command-time: M15-AP-D-return-tree.png in [mobile-AP-source-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38a26db944dae92d/mobile-AP-source-dark.mp4)

Recording(s): [mobile-AP-source-dark.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38a26db944dae92d/mobile-AP-source-dark.mp4) · [mobile-AP-source-dark.part-002.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b94c545959cb87c/mobile-AP-source-dark.part-002.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e3fc60212665cd4/baseline-AP-base-D.png)<br>Shared generic ZIP baseline | ![M15-AP-D-unwrapped.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca01180e6ab4050a/M15-AP-D-unwrapped.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

Additional reviewed checkpoints: [M15-AP-D-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da670a98cf813fe6/M15-AP-D-selected.png) · [M15-AP-D-settings-wrap-off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3fee6afd0e278d49/M15-AP-D-settings-wrap-off.png) · [M15-AP-D-settings-wrap-on.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/423f337b4bba2c15/M15-AP-D-settings-wrap-on.png) · [M15-AP-D-wrapped.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/938247bdc6fa6f38/M15-AP-D-wrapped.png) · [M15-AP-D-html-source.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ac90e52822689714/M15-AP-D-html-source.png) · [M15-AP-D-return-tree.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee272bd5705b345c/M15-AP-D-return-tree.png)

### M16 · AP-L · 411.43×923.43 — CAPTURED

N. Steps: Open empty.txt → resolved empty source → Back.

Checkpoints: 267.0s command-time: M16-AP-L-entry.png in [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4)

Recording(s): [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4) · [mobile-AP-head-entry-story.part-002.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86ee556a88296829/mobile-AP-head-entry-story.part-002.mp4) · [mobile-AP-head-entry-story.part-003.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa222f35cbd46280/mobile-AP-head-entry-story.part-003.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d2fbe571bc93133/baseline-AP-base-L.png)<br>Shared generic ZIP baseline | ![M16-AP-L-entry.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6ff5c407ac64e83/M16-AP-L-entry.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

### M17 · IP-D · 402×874 — UNVERIFIED

N. Steps: Open partial.txt → attempt scroll.

Accessibility output exposed the partial state, but the visible source body remained blank; rejected diagnostic images do not satisfy readable first-1-MiB preview, tail exclusion, or saved-byte verification.

Recording(s): [mobile-IP-partial-v2.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0942843318c18149/mobile-IP-partial-v2.mp4) · [mobile-IP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9896ff3f0524f37c/mobile-IP-head-entry-story.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-IP-base-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1584ba64a6ae198f/baseline-IP-base-D.png)<br>Shared generic ZIP baseline | **Unverified** — Accessibility output exposed the partial state, but the visible source body remained blank; rejected diagnostic images do not satisfy readable first-1-MiB preview, tail exclusion, or saved-byte verification. | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

### M18 · IP-D · 402×874 — CAPTURED

N. Steps: Rendered Markdown → File actions → Show source → Show preview → Back.

Captured relative image displays Image unavailable; no workspace-relative fetch is claimed.

Checkpoints: 92.0s command-time: M18-IP-D-entry.png in [mobile-IP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9896ff3f0524f37c/mobile-IP-head-entry-story.mp4); 96.8s command-time: M18-IP-D-menu.png in [mobile-IP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9896ff3f0524f37c/mobile-IP-head-entry-story.mp4); 101.4s command-time: M18-IP-D-source.png in [mobile-IP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9896ff3f0524f37c/mobile-IP-head-entry-story.mp4); 114.2s command-time: M18-IP-D-return.png in [mobile-IP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9896ff3f0524f37c/mobile-IP-head-entry-story.mp4)

Recording(s): [mobile-IP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9896ff3f0524f37c/mobile-IP-head-entry-story.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-IP-base-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1584ba64a6ae198f/baseline-IP-base-D.png)<br>Shared generic ZIP baseline | ![M18-IP-D-entry.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/93f90332a23d43e0/M18-IP-D-entry.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

Additional reviewed checkpoints: [M18-IP-D-menu.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/497b516a82c4faf5/M18-IP-D-menu.png) · [M18-IP-D-source.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/85cc8397c75fba2c/M18-IP-D-source.png) · [M18-IP-D-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e337addfe4ad9bf/M18-IP-D-return.png)

### M19 · AP-L · 411.43×923.43 — CAPTURED

N. Steps: Long-name CSV table → source → table; attempted vertical scroll.

Targeted swipe inside the table visibly reveals the rightmost Note column. Vertical gesture remains at edge because this four-row fixture fits the viewport. Initial gestures over empty space are diagnostics.

Checkpoints: 149.8s command-time: M19-AP-L-table-final.png in [mobile-AP-context-table-final-v2.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/945f20f48fdc0ee2/mobile-AP-context-table-final-v2.mp4); 169.7s command-time: M19-AP-L-source-final.png in [mobile-AP-context-table-final-v2.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/945f20f48fdc0ee2/mobile-AP-context-table-final-v2.mp4); 177.1s command-time: M19-AP-L-return-final.png in [mobile-AP-context-table-final-v2.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/945f20f48fdc0ee2/mobile-AP-context-table-final-v2.mp4)

Recording(s): [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4) · [mobile-AP-context-table-final-v2.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/945f20f48fdc0ee2/mobile-AP-context-table-final-v2.mp4) · [mobile-AP-table-gesture-remove-final.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1afc42c2361b2bc8/mobile-AP-table-gesture-remove-final.mp4) · [mobile-AP-context-table-final-v2.part-002.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3eb6ea052d030535/mobile-AP-context-table-final-v2.part-002.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d2fbe571bc93133/baseline-AP-base-L.png)<br>Shared generic ZIP baseline | ![M19-AP-L-table-final.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/25d8c0561f813ca4/M19-AP-L-table-final.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

Additional reviewed checkpoints: [M19-AP-L-horizontal-reviewed.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7499a0175385080a/M19-AP-L-horizontal-reviewed.png) · [M19-AP-L-vertical-reviewed.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/074c92d031ac87f3/M19-AP-L-vertical-reviewed.png) · [M19-AP-L-source-final.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/141b3cd283f151fc/M19-AP-L-source-final.png) · [M19-AP-L-return-final.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab77ca39b967e48f/M19-AP-L-return-final.png)

### M20 · AP-L · 411.43×923.43 — PARTIAL

N. Steps: Clipped 101×31 CSV → horizontal scroll → source.

Bounded cells/table warning and source captured. App became unresponsive during subsequent large-table work; both-axis interaction and recovery are not fully verified. ANR retained as diagnostic.

Checkpoints: 395.8s command-time: M20-AP-L-horizontal.png in [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4); 430.4s command-time: M20-AP-L-source.png in [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4)

Recording(s): [mobile-AP-head-entry-story.part-002.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86ee556a88296829/mobile-AP-head-entry-story.part-002.mp4) · [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4) · [mobile-AP-head-entry-story.part-003.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa222f35cbd46280/mobile-AP-head-entry-story.part-003.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d2fbe571bc93133/baseline-AP-base-L.png)<br>Shared generic ZIP baseline | ![M20-AP-L-horizontal.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60479e039d2ddbf4/M20-AP-L-horizontal.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

Additional reviewed checkpoints: [M20-AP-L-source.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a2e984cc849a724/M20-AP-L-source.png)

### M21 · AP-L · 411.43×923.43 — PARTIAL

N. Steps: Valid WAV → Play → ±15 seconds → Pause → Back; corrupt WAV attempt.

Corrupt WAV remained Loading; required error block/Try again is unverified, loading still rejected.

Checkpoints: 212.7s command-time: M21-AP-L-paused.png in [mobile-AP-final-normal.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5002550ac0d9036b/mobile-AP-final-normal.mp4); 200.6s command-time: M21-AP-L-ready.png in [mobile-AP-final-normal.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5002550ac0d9036b/mobile-AP-final-normal.mp4)

Recording(s): [mobile-AP-head-entry-story.part-003.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa222f35cbd46280/mobile-AP-head-entry-story.part-003.mp4) · [mobile-AP-final-normal.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5002550ac0d9036b/mobile-AP-final-normal.mp4) · [mobile-AP-final-normal.part-002.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eee59d7b330d73df/mobile-AP-final-normal.part-002.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d2fbe571bc93133/baseline-AP-base-L.png)<br>Shared generic ZIP baseline | ![M21-AP-L-paused.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e04a2596d4b2e7f9/M21-AP-L-paused.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

Additional reviewed checkpoints: [M21-AP-L-ready.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a76253415ed87054/M21-AP-L-ready.png)

### M22 · AP-L · 411.43×923.43 — CAPTURED

N. Steps: Open >10 MiB entry → retained Save/Add → Back.

Checkpoints: 243.5s command-time: M22-AP-L-entry.png in [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4)

Recording(s): [mobile-AP-head-entry-story.part-003.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa222f35cbd46280/mobile-AP-head-entry-story.part-003.mp4) · [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4) · [mobile-AP-head-entry-story.part-002.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86ee556a88296829/mobile-AP-head-entry-story.part-002.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d2fbe571bc93133/baseline-AP-base-L.png)<br>Shared generic ZIP baseline | ![M22-AP-L-entry.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a87d4880fd1c96d3/M22-AP-L-entry.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

### M23 · AP-L · 411.43×923.43 — CAPTURED

N. Steps: Open invalid UTF-8 → failure with Save file → Back.

Checkpoints: 255.3s command-time: M23-AP-L-entry.png in [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4)

Recording(s): [mobile-AP-head-entry-story.part-003.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa222f35cbd46280/mobile-AP-head-entry-story.part-003.mp4) · [mobile-AP-head-entry-story.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05643421f3981148/mobile-AP-head-entry-story.mp4) · [mobile-AP-head-entry-story.part-002.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86ee556a88296829/mobile-AP-head-entry-story.part-002.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d2fbe571bc93133/baseline-AP-base-L.png)<br>Shared generic ZIP baseline | ![M23-AP-L-entry.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8280550ef30f9ad8/M23-AP-L-entry.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

### M36 · AP-L · 411.43×923.43 — PARTIAL

N. Steps: Open partial.csv → combined Partial file + table-limit notices above bounded cells → attempt source.

Combined-warning table is captured and reviewed. Recording shows source-only Partial file warning and CSV source around 00:74.6; the source-labelled still was taken before the update and is rejected. Subsequent AX query failed. Return to table and scroll below both notices are unverified.

Checkpoints: 52.8s command-time: M36-AP-L-table.png in [mobile-AP-partial-csv-final.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bff77a2ef10a062e/mobile-AP-partial-csv-final.mp4)

Recording(s): [mobile-AP-partial-csv-final.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bff77a2ef10a062e/mobile-AP-partial-csv-final.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d2fbe571bc93133/baseline-AP-base-L.png)<br>Shared generic ZIP baseline | ![M36-AP-L-table.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb3409d1222a83f2/M36-AP-L-table.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

### M37 · AP-L · 411.43×923.43 — CAPTURED

N. Steps: Empty CSV table → source → table → Back.

Intentional zero-row table body is blank, with toggle/actions retained; not a loading or empty-ZIP notice.

Checkpoints: 171.3s command-time: M37-AP-L-entry.png in [mobile-AP-final-normal.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5002550ac0d9036b/mobile-AP-final-normal.mp4); 179.2s command-time: M37-AP-L-source.png in [mobile-AP-final-normal.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5002550ac0d9036b/mobile-AP-final-normal.mp4); 185.3s command-time: M37-AP-L-return.png in [mobile-AP-final-normal.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5002550ac0d9036b/mobile-AP-final-normal.mp4)

Recording(s): [mobile-AP-final-normal.part-002.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eee59d7b330d73df/mobile-AP-final-normal.part-002.mp4) · [mobile-AP-final-normal.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5002550ac0d9036b/mobile-AP-final-normal.mp4)

| Before | After | Diff0 | DiffT |
| --- | --- | --- | --- |
| [f3b058cd6a][before] | [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] | [f3b058cd6a][before] → [420bc45432][after] |
| ![baseline-AP-base-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d2fbe571bc93133/baseline-AP-base-L.png)<br>Shared generic ZIP baseline | ![M37-AP-L-entry.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f5f06889b4f4fae/M37-AP-L-entry.png) | N/A — new-only state/context baseline | N/A — new-only state/context baseline |

Additional reviewed checkpoints: [M37-AP-L-source.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/283b5c342720b7b0/M37-AP-L-source.png) · [M37-AP-L-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7990913235bb5eea/M37-AP-L-return.png)


[before]: https://github.com/pingdotgg/t3code/commit/f3b058cd6a737e51894bc265927560b23742f0f0
[after]: https://github.com/pingdotgg/t3code/commit/420bc45432a7560a11dc4d0b710cd4155f716c0f
