# Extended proof matrix for [#24577](https://git.cafe/pingdotgg/t3code/pulls/24577)

Read-only planning audit, 2026-10-25. **Extended scope UNVERIFIED: recordings are required, none were made in this pass.** “recording” below is the required evidence medium, never a completion status. Existing settled evidence remains a separate narrower claim. No browser/server, code edit, checkout, PR edit/comment or test execution occurred.

Before: [c4fa4629](https://git.cafe/pingdotgg/t3code/commit/c4fa4629eb645b95aae2beef56c70f705b736049); after: [69b0eb2c](https://git.cafe/pingdotgg/t3code/commit/69b0eb2c4c9b20210a40c1fad35977ba056aa946). Cafe PR view and diff independently report these exact head/comparison-base SHAs and four changed marketing files. Do not silently substitute a newer head.

Inputs: [existing evidence index](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a514c823e1485117/evidence-index.md), [existing static audit](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/748323c645bf2066/audit.md), [exact fixtures](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/356887e25774c6cd/fixtures.json), [original matrix](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b3ca05ae1d9b077a/matrix.md), [existing driver](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3b8cdb3370fac1fd/capture.mjs). This pass read these documents and source; it did not independently reopen the historical image set or rerun its audit.

## Exact inherited emulation profiles

Headed Chrome for Testing 145.0.7632.6, Playwright 1.58.2/CDP, Linux x86_64/Xvfb, software compositing, hidden scrollbars. All profiles below are Chromium emulation; Safari UA strings do not establish Safari/WebKit or hardware behavior. Zoom/font scaling 100%, natural text autosizing; dark preference/fixed-dark theme; reduced-motion=reduce unless a separately labeled motion run is added. Do not expand viewport to document height for recordings: scroll the fixed viewport. Original stills expanded height and rasterized CSS pixels at CDP scale=1 while retaining DPR.

| Profile | Touch points | isMobile | hasTouch | DPR | Exact UA |
|---|---|---|---|---|---|
| iphone | 5 | true | true | 3 | `Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 Version/18.6 Mobile/15E148 Safari/604.1` |
| android | 5 | true | true | 3 | `Mozilla/5.0 (Linux; Android 15; Pixel 9) AppleWebKit/537.36 Chrome/140.0.0.0 Mobile Safari/537.36` |
| ipad-desktop | 5 | false | true | 2 | `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 Version/18.6 Safari/605.1.15` |
| mac | 0 | false | false | 1 | `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36` |
| windows | 0 | false | false | 1 | `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36` |
| linux | 0 | false | false | 1 | `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36` |
| unknown | 0 | false | false | 1 | `ProofAuditUnknown/1.0` |

Apply CDP `Emulation.setTouchEmulationEnabled` with enabled=true and maxTouchPoints=5 for all three touch profiles, before navigation; context hasTouch alone can report 1 and miss iPad desktop detection. No navigator/app-state injection. Record actual UA, touch points, isMobile configuration, UA-CH, pointer/hover media, DPR, inner/visual viewport and scale in every sidecar. Existing driver does not explicitly override UA-CH; record actual values rather than inventing matching Safari/OS metadata.

## New recording rows

Each row requires matched before/after recordings plus timestamped DOM/network/input sidecars. Each listed viewport, target, phase and input is an explicit subcase; a combined clip is allowed only with indexed time ranges and independent resets where specified. All rows have status **UNVERIFIED**.

“Footer” in this request means lower primary `#cta-download-btn`, not `footer a`. Hero is `#download-btn`. Capture the actual footer as a separate unchanged control: Download → `/download`, iOS app/Android app → explicit stores. Do not accidentally activate the lower alternate `/download` instead of the lower primary.

| ID | Profile / CSS viewport(s) | Sequence / expected oracle | Required medium | Status |
|---|---|---|---|---|
| I01-iphone-hero | iphone; 390×844 and 1440×900 | Settled hero: touch tap, then fresh load + real Tab/Shift+Tab focus + Enter. DMG → App Store. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-iphone-footer-lower | iphone; 390×844 and 1440×900 | Settled footer-lower: touch tap, then fresh load + real Tab/Shift+Tab focus + Enter. DMG → App Store. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-android-hero | android; 390×844 and 1440×900 | Settled hero: touch tap, then fresh load + real Tab/Shift+Tab focus + Enter. AppImage → Google Play. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-android-footer-lower | android; 390×844 and 1440×900 | Settled footer-lower: touch tap, then fresh load + real Tab/Shift+Tab focus + Enter. AppImage → Google Play. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-ipad-desktop-hero | ipad-desktop; 390×844 and 1440×900 | Settled hero: touch tap, then fresh load + real Tab/Shift+Tab focus + Enter. DMG → App Store. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-ipad-desktop-footer-lower | ipad-desktop; 390×844 and 1440×900 | Settled footer-lower: touch tap, then fresh load + real Tab/Shift+Tab focus + Enter. DMG → App Store. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-mac-hero | mac; 390×844 and 1440×900 | Settled hero: pointer click, then fresh load + real Tab/Shift+Tab focus + Enter. arm64 DMG unchanged. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-mac-footer-lower | mac; 390×844 and 1440×900 | Settled footer-lower: pointer click, then fresh load + real Tab/Shift+Tab focus + Enter. arm64 DMG unchanged. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-windows-hero | windows; 390×844 and 1440×900 | Settled hero: pointer click, then fresh load + real Tab/Shift+Tab focus + Enter. x64 EXE unchanged. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-windows-footer-lower | windows; 390×844 and 1440×900 | Settled footer-lower: pointer click, then fresh load + real Tab/Shift+Tab focus + Enter. x64 EXE unchanged. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-linux-hero | linux; 390×844 and 1440×900 | Settled hero: pointer click, then fresh load + real Tab/Shift+Tab focus + Enter. x86_64 AppImage unchanged. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-linux-footer-lower | linux; 390×844 and 1440×900 | Settled footer-lower: pointer click, then fresh load + real Tab/Shift+Tab focus + Enter. x86_64 AppImage unchanged. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-unknown-hero | unknown; 390×844 and 1440×900 | Settled hero: pointer click, then fresh load + real Tab/Shift+Tab focus + Enter. Releases unchanged; no release fetch. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| I01-unknown-footer-lower | unknown; 390×844 and 1440×900 | Settled footer-lower: pointer click, then fresh load + real Tab/Shift+Tab focus + Enter. Releases unchanged; no release fetch. Native request captured and blocked before external delivery. | recording | UNVERIFIED |
| T01-android-first-paint | android; 390×844 and 1440×900 | First paint → delayed homepage script release → synchronous platform init → delayed release response → settled; log both CTAs and visible labels/icons/hint continuously. | recording | UNVERIFIED |
| T01-android-early-activation | android; 390×844 and 1440×900 | Independent fresh runs for BOTH CTAs at pre-script, post-init/pre-release, and settled milestones; tap/click + Tab/Enter; correlate input with href and blocked destination request. Throttled and gate-controlled runs, no networkidle before activation. | recording | UNVERIFIED |
| T02-iphone-first-paint | iphone; 390×844 and 1440×900 | First paint → delayed homepage script release → synchronous platform init → delayed release response → settled; log both CTAs and visible labels/icons/hint continuously. | recording | UNVERIFIED |
| T02-iphone-early-activation | iphone; 390×844 and 1440×900 | Independent fresh runs for BOTH CTAs at pre-script, post-init/pre-release, and settled milestones; tap/click + Tab/Enter; correlate input with href and blocked destination request. Throttled and gate-controlled runs, no networkidle before activation. | recording | UNVERIFIED |
| T02-ipad-desktop-first-paint | ipad-desktop; 390×844 and 1440×900 | First paint → delayed homepage script release → synchronous platform init → delayed release response → settled; log both CTAs and visible labels/icons/hint continuously. | recording | UNVERIFIED |
| T02-ipad-desktop-early-activation | ipad-desktop; 390×844 and 1440×900 | Independent fresh runs for BOTH CTAs at pre-script, post-init/pre-release, and settled milestones; tap/click + Tab/Enter; correlate input with href and blocked destination request. Throttled and gate-controlled runs, no networkidle before activation. | recording | UNVERIFIED |
| I02-iphone | iphone; 390×844 ↔ 1440×900 plus breakpoint sweep | Both CTAs: hover where supported, Tab/Shift+Tab focus, pointer/touch down-up active, Enter activation; resize down/up across source breakpoints; scroll hero → lower → real footer. Preserve profile/DPR, labels/hrefs. Touch-only hover is N/A, not a pass. | recording | UNVERIFIED |
| T03-iphone | iphone; 390×844 and 1440×900; JavaScript disabled | Disable page JS BEFORE navigation. Record first paint, real scroll to lower/footer, both primary activations and keyboard focus/Enter in separate runs. Both revisions remain default macOS/Apple/Releases and command hint; no release fetch, no platform attribute. Explicit store links stay stores. | recording | UNVERIFIED |
| I02-android | android; 390×844 ↔ 1440×900 plus breakpoint sweep | Both CTAs: hover where supported, Tab/Shift+Tab focus, pointer/touch down-up active, Enter activation; resize down/up across source breakpoints; scroll hero → lower → real footer. Preserve profile/DPR, labels/hrefs. Touch-only hover is N/A, not a pass. | recording | UNVERIFIED |
| T03-android | android; 390×844 and 1440×900; JavaScript disabled | Disable page JS BEFORE navigation. Record first paint, real scroll to lower/footer, both primary activations and keyboard focus/Enter in separate runs. Both revisions remain default macOS/Apple/Releases and command hint; no release fetch, no platform attribute. Explicit store links stay stores. | recording | UNVERIFIED |
| I02-ipad-desktop | ipad-desktop; 390×844 ↔ 1440×900 plus breakpoint sweep | Both CTAs: hover where supported, Tab/Shift+Tab focus, pointer/touch down-up active, Enter activation; resize down/up across source breakpoints; scroll hero → lower → real footer. Preserve profile/DPR, labels/hrefs. Touch-only hover is N/A, not a pass. | recording | UNVERIFIED |
| T03-ipad-desktop | ipad-desktop; 390×844 and 1440×900; JavaScript disabled | Disable page JS BEFORE navigation. Record first paint, real scroll to lower/footer, both primary activations and keyboard focus/Enter in separate runs. Both revisions remain default macOS/Apple/Releases and command hint; no release fetch, no platform attribute. Explicit store links stay stores. | recording | UNVERIFIED |
| I02-mac | mac; 390×844 ↔ 1440×900 plus breakpoint sweep | Both CTAs: hover where supported, Tab/Shift+Tab focus, pointer/touch down-up active, Enter activation; resize down/up across source breakpoints; scroll hero → lower → real footer. Preserve profile/DPR, labels/hrefs. Touch-only hover is N/A, not a pass. | recording | UNVERIFIED |
| T03-mac | mac; 390×844 and 1440×900; JavaScript disabled | Disable page JS BEFORE navigation. Record first paint, real scroll to lower/footer, both primary activations and keyboard focus/Enter in separate runs. Both revisions remain default macOS/Apple/Releases and command hint; no release fetch, no platform attribute. Explicit store links stay stores. | recording | UNVERIFIED |
| I02-windows | windows; 390×844 ↔ 1440×900 plus breakpoint sweep | Both CTAs: hover where supported, Tab/Shift+Tab focus, pointer/touch down-up active, Enter activation; resize down/up across source breakpoints; scroll hero → lower → real footer. Preserve profile/DPR, labels/hrefs. Touch-only hover is N/A, not a pass. | recording | UNVERIFIED |
| T03-windows | windows; 390×844 and 1440×900; JavaScript disabled | Disable page JS BEFORE navigation. Record first paint, real scroll to lower/footer, both primary activations and keyboard focus/Enter in separate runs. Both revisions remain default macOS/Apple/Releases and command hint; no release fetch, no platform attribute. Explicit store links stay stores. | recording | UNVERIFIED |
| I02-linux | linux; 390×844 ↔ 1440×900 plus breakpoint sweep | Both CTAs: hover where supported, Tab/Shift+Tab focus, pointer/touch down-up active, Enter activation; resize down/up across source breakpoints; scroll hero → lower → real footer. Preserve profile/DPR, labels/hrefs. Touch-only hover is N/A, not a pass. | recording | UNVERIFIED |
| T03-linux | linux; 390×844 and 1440×900; JavaScript disabled | Disable page JS BEFORE navigation. Record first paint, real scroll to lower/footer, both primary activations and keyboard focus/Enter in separate runs. Both revisions remain default macOS/Apple/Releases and command hint; no release fetch, no platform attribute. Explicit store links stay stores. | recording | UNVERIFIED |
| I02-unknown | unknown; 390×844 ↔ 1440×900 plus breakpoint sweep | Both CTAs: hover where supported, Tab/Shift+Tab focus, pointer/touch down-up active, Enter activation; resize down/up across source breakpoints; scroll hero → lower → real footer. Preserve profile/DPR, labels/hrefs. Touch-only hover is N/A, not a pass. | recording | UNVERIFIED |
| T03-unknown | unknown; 390×844 and 1440×900; JavaScript disabled | Disable page JS BEFORE navigation. Record first paint, real scroll to lower/footer, both primary activations and keyboard focus/Enter in separate runs. Both revisions remain default macOS/Apple/Releases and command hint; no release fetch, no platform attribute. Explicit store links stay stores. | recording | UNVERIFIED |

I01 includes 14 explicit profile/target rows, T01/T02 six timing rows, I02 seven profile rows, T03 seven disabled-JS rows: **34 new recording rows**. Two viewports and named input/phase subcases are not collapsed into one successful sample. Existing M/C/U/L/F/B evidence is inherited by reference, not relabeled as recordings.

## Findings and claim boundary

1. Existing audit explicitly excludes every requested extension. Its SUFFICIENT verdict applies only to settled rendering/hrefs. No observed product regression is established by this planning pass.
2. Initial HTML has default macOS label, Apple icon and Releases href on BOTH revisions for ALL profiles, including mobile. Routing runs in an Astro page script, not a React hydration boundary. Delaying script execution can expose this initial fallback. A no-flash or safe early-tap claim cannot follow from synchronous mobile init alone.
3. After script init, mobile assigns stores synchronously and never fetches latest release. Desktop and before-mobile await release data after updating labels/platform. During that wait the href remains Releases. Unknown exits without changing initial markup. Verify these windows rather than treating the settled oracle as universal.
4. Existing driver waits for networkidle, fonts, scrolling/image decoding and another 1s, then checks settled hrefs. It cannot supply first-paint or early-activation proof unchanged. Its full-document viewport expansion also cannot stand in for actual scrolling/resizing recordings.
5. `#pr-button-kbd` is a decorative span, not a CTA keybinding. Test native focused-anchor Enter. Space normally scrolls; do not require it to activate an anchor. Global command/return behavior is not implemented by this hint.
6. Actual footer links and lower CTA differ. JS-disabled is also distinct from unknown-UA with JS enabled; neither can substitute for the other.

## FRICTION

FRICTION | category=proof-gap | id=RECORDINGS_MISSING | observed=existing evidence excludes I01/I02/T01/T02/T03 | action=all 34 extension rows remain UNVERIFIED pending matched recordings and sidecars
FRICTION | category=target-ambiguity | id=FOOTER_VS_LOWER | observed=lower primary CTA changes but actual footer Download remains /download | action=use IDs and capture real footer as separate control
FRICTION | category=timing | id=EARLY_FALLBACK | observed=both revisions ship Releases/macOS markup before script execution | action=record gated script and release windows; report observed fallback without claiming universal early-tap safety
FRICTION | category=environment | id=EMULATED_SAFARI | observed=Safari UA profiles execute Chromium on Linux | action=retain emulation limitation; native Safari and hardware remain unverified
FRICTION | category=tooling | id=SETTLED_DRIVER_ONLY | observed=existing driver waits for networkidle and expands height | action=use dedicated temporal driver with recording started before navigation and fixed viewport
FRICTION | category=scope | id=READ_ONLY | observed=no browsers or servers authorized in this pass | action=deliver capture specification only; no product or PR changes
