# Web proof repair round 2

Scope: [#21088](https://git.cafe/pingdotgg/t3code/pulls/21088), also [#21088](https://github.com/pingdotgg/t3code/pull/21088). Before [3cc31ed27c](https://git.cafe/pingdotgg/t3code/commit/3cc31ed27c8956b36cee35a50509fb7c6869592b) → replacement [0b086662f3](https://git.cafe/pingdotgg/t3code/commit/0b086662f350c79b19295e6ceec12169a6422bdf). Only the two changed production web render files were temporarily baselined. Exact replacement HEAD restored, worktree clean at completion. No native sources, emulator, Metro, shared backend or fixture-server lifecycle touched.

This fills pass-2 mandatory web gaps W5, W6 PR shell and W7 label/generic searches. Prior W1–W4/W6-file proof remains at the [prior index](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b05c271b533e02c/index.md). Mobile is owned by lead; iOS remains unverified. Full original matrix is not newly claimed complete.

## Results

- W5: all four viewport/theme combinations have paired narrated playback recordings; fallback visibly advances past 2 seconds and pauses. No pairing warning. Synthetic generic signing Failure is explicitly injected into the real app source-control asset atom; valid MP4 fallback bytes are provided by a browser fixture route. This is not fabricated source-control filesystem denial.
- W6 PR: paired normal app PR Summary shell, generic failed video, Retry/Open original, and narrated close/reopen through app panel state. PR detail comes from synthetic existing snapshot cache. State-driven shell integration is disclosed; no mouse-click PR-link route is claimed. Expanded dialog and unchanged onOpen callers have explicit source assertions below, not fabricated captures.
- W7: Denied video and Generic video each also occur in authored headings. Before highlights include failed-player labels; after only authored text stays highlighted. Server-backed counters stay 1/1 because canonical indexing already excludes media labels. Video unavailable zero-result search remains 0/0 with no painted highlight on both revisions; this is a regression control, not claimed count change. Horizon lantern stays findable and navigable at 1/1 on both.

## Pixel result

W5 desktop light and both narrow pairs, W6 PR and the W7 zero-result control are pixel-identical. W5 desktop dark retains 2 pixels at delta 1/255 in a composer shadow corner after both sides were retaken: 0 pixels above 16/255. No masks and no pixel-zero claim for that pair. W7 differences are confined to the denied alert/retry and placeholder highlights.

## Environment and provenance

Normal running app at loopback Vite 7694/backend 15734, isolated /tmp/ev-21088/web-home, fixture HTTP 18088. Headed Chromium 148 / Playwright 1.60 / ffmpeg Xvfb. DPR1, 1440×900 and 390×900, light/dark, reduced motion, fixed Date 2026-10-24T12:00Z, fonts ready. Every accepted still has a byte-identical second frame at least 500ms later. No masks. Diff0amp = max RGB channel delta >0, diffT = >16/255; x8 amplified RGB delta on #181818. Recordings contain visible step captions. Browser chrome is cropped away using recorded offsets; the entire app viewport remains.

## Capture links

| Row | Before still | After still | Before recording | After recording | Pixel >0 / >16 | Differences |
|---|---|---|---|---|---|---|
| W5-1440-light | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f0109387ab744b99/before-W5-1440-light.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/13f47bb2788dccd5/after-W5-1440-light.png) | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/91b20f1efbc6bd45/before-W5-1440-light.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60bac66359e61cab/after-W5-1440-light.mp4) | 0 / 0 | [diff0amp](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/006a4f777912d58d/diff0amp-W5-1440-light.png) · [diffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4119c26f443447e2/diffT-W5-1440-light.png) |
| W5-1440-dark | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/52b84db4544ccb15/before-W5-1440-dark.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d66dc69f6cd5e6e/after-W5-1440-dark.png) | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78802cfed0c15593/before-W5-1440-dark.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8501f31d36e2dc97/after-W5-1440-dark.mp4) | 2 / 0 | [diff0amp](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/588f4d3de4cbf146/diff0amp-W5-1440-dark.png) · [diffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2819a654d3b7f805/diffT-W5-1440-dark.png) |
| W5-390-light | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/feb2b448e19906a1/before-W5-390-light.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/06d152d1cb0e1b3f/after-W5-390-light.png) | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ed6067f4413053b/before-W5-390-light.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8797c3f29a99450a/after-W5-390-light.mp4) | 0 / 0 | [diff0amp](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f983915f70cb9a0c/diff0amp-W5-390-light.png) · [diffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6553654696c64add/diffT-W5-390-light.png) |
| W5-390-dark | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a70e8dd7e9266734/before-W5-390-dark.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2eabd54992179abc/after-W5-390-dark.png) | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/860e9847a8517924/before-W5-390-dark.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d11b9ea177fb93da/after-W5-390-dark.mp4) | 0 / 0 | [diff0amp](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f73a8adb6d4a6fa7/diff0amp-W5-390-dark.png) · [diffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9fd921f255d0bc79/diffT-W5-390-dark.png) |
| W6-PR | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b83faacf9e9fc0c/before-W6-PR.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc26516c015e32a2/after-W6-PR.png) | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8759d98110c11cca/before-W6-PR.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4fc92574af218c93/after-W6-PR.mp4) | 0 / 0 | [diff0amp](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a0393e1f8aaddfef/diff0amp-W6-PR.png) · [diffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a3a5f119ff06cc31/diffT-W6-PR.png) |
| W7-label-query | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/43b05842ed81c72b/before-W7-label-query.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0315352eb53ca06d/after-W7-label-query.png) | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c29a4a613f6dc9cf/before-W7-label.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dae99b927ae44180/after-W7-label.mp4) | 8951 / 5547 | [diff0amp](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/94dd7f130988c642/diff0amp-W7-label-query.png) · [diffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/51ec5328a9aaf537/diffT-W7-label-query.png) |
| W7-generic-query | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6cb3553db3f4125a/before-W7-generic-query.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6cde196e126dcf9/after-W7-generic-query.png) | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d00ac943e35bafdd/before-W7-generic.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/92157ae896f6ddd9/after-W7-generic.mp4) | 0 / 0 | [diff0amp](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ed29696a5a6a5629/diff0amp-W7-generic-query.png) · [diffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17ea533b1e264e08/diffT-W7-generic-query.png) |
| W7-generic-label-query | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2b1e8048b26d8df/before-W7-generic-label-query.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c80f82d16e0455c5/after-W7-generic-label-query.png) | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d7de9f1fe1e196ca/before-W7-generic-label.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b09c026d7234aeab/after-W7-generic-label.mp4) | 1760 / 1760 | [diff0amp](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14262125fa558af9/diff0amp-W7-generic-label-query.png) · [diffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86091a4b2f2d66ee/diffT-W7-generic-label-query.png) |

## Paired whole-app stills

### W5-1440-light

![Before on left, after on right: W5-1440-light](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f01fcbbce1ea9524/pair-W5-1440-light.png)

### W5-1440-dark

![Before on left, after on right: W5-1440-dark](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6191ff26317559b0/pair-W5-1440-dark.png)

### W5-390-light

![Before on left, after on right: W5-390-light](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/caf9a7ad78487293/pair-W5-390-light.png)

### W5-390-dark

![Before on left, after on right: W5-390-dark](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17ba0280fe65a0ab/pair-W5-390-dark.png)

### W6-PR

![Before on left, after on right: W6-PR](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c03732e444c9d6a8/pair-W6-PR.png)

### W7-label-query

![Before on left, after on right: W7-label-query](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cefb884aacba3048/pair-W7-label-query.png)

### W7-generic-query

![Before on left, after on right: W7-generic-query](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb24c847416953bb/pair-W7-generic-query.png)

### W7-generic-label-query

![Before on left, after on right: W7-generic-label-query](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4bfa41c3c93c2b00/pair-W7-generic-label-query.png)

## Reproducibility and source files

[capture.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e7bcd65e8588b751/capture.mjs) · [seed.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d2d6e1efd8cbc629/seed.py) · [pr-fixture.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4db85cdc3e734ca3/pr-fixture.json) · [auth.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/453468174bef5206/auth.mjs) · [revision.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb568ac8490bd37c/revision.py) · [process.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c892dd5b47237fb3/process.py) · [reproduce.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/19e4aaabab6c4b80/reproduce.md)

[environment.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de951f43e0092a54/environment.json) · [fixture-hashes.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c9a11e54404c6ff/fixture-hashes.json) · [before-revision.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d34d08421486a5d6/before-revision.json) · [after-revision.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5375e8fba8330e5/after-revision.json) · [stability.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/204c53e5da13155a/stability.json) · [diff-stats.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/679afae33c277e16/diff-stats.json) · [caller-assertions.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3395acff6c29071a/caller-assertions.md) · [inspection.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86eeaa0ecccd73b4/inspection.md)

## Reports

- [after-denied-find-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a564494e043f668/after-denied-find-report.json)
- [after-generic-find-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb8fd1c16a2851e7/after-generic-find-report.json)
- [after-generic-label-find-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6e2cce4992aa1f4/after-generic-label-find-report.json)
- [after-pr-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ec6ba47b69fa38e9/after-pr-report.json)
- [after-pr-stills-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9fa30045b3731fdb/after-pr-stills-report.json)
- [after-w6-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7bcc365e521cb3dc/after-w6-report.json)
- [before-denied-find-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20606ac4957e612f/before-denied-find-report.json)
- [before-generic-find-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f1df4448203b542/before-generic-find-report.json)
- [before-generic-label-find-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/830edd01bb6bc3d3/before-generic-label-find-report.json)
- [before-pr-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/af5b208a2090de8b/before-pr-report.json)
- [before-pr-stills-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c706daa14b616078/before-pr-stills-report.json)
- [before-w6-report.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5eaf5448b6292fbd/before-w6-report.json)

## FRICTION

| category | happened | prevention |
|---|---|---|
| tool | Audit path was absent locally | Downloaded the supplied immutable audit URL before capture |
| infra | Native build caused long app startup under CPU load | Extended bounded app waits; left shared native/build/server processes untouched |
| tool | Initial launched browser host exited after its four valid W5 recordings | Replaced it with a standalone Chromium process, retained its PID and re-paired |
| tool | Standalone browser infobar shifted app origin from y87 to y143 | Inspected full-desktop frames and corrected full-viewport crops; no content masking |
| tool | Generic zero-result query cannot demonstrate highlight exclusion by itself | Added same-query authored Generic video heading control and paired label highlights |
| tool | Small incidental shadow deltas in initial W5 still pairs | Retook affected stable stills and recomputed unmasked differences; final counts are above |
| tool | One ghdrop upload returned a transport error | Resumed from the SHA256 upload manifest; already uploaded files were retained |
| brief | PR/fallback cannot use a real filesystem denial for source-control assets | Disclosed synthetic generic signing failure and cached synthetic PR fixture |

No push, comment, watch, delegation, live userdata access or native manipulation. Own browser/Xvfb stopped at completion; backend/fixture server retained.

## Complete archive

[web-supplement-round2.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/964c5776514601cc/web-supplement-round2.tar.gz)

SHA256: `4b8c4b81d0b4710e5acd4d07892584cd245f7152eb7dcd9472d42e5da6a3be88`. Includes accepted originals, stable duplicates, raw/captioned recordings, diffs, source drivers and synthetic fixture bytes. No credentials or browser profiles.
