# Corrective proof audit — final

Issue [#21821](https://git.cafe/pingdotgg/t3code/issues/21821). Read-only source audit of [67c9f4b5d8](https://git.cafe/pingdotgg/t3code/commit/67c9f4b5d8362d519f979f132282228b5c2f609e), against [fef851bee0](https://git.cafe/pingdotgg/t3code/commit/fef851bee09102641061aeb78a3092c2ba2c72ab), worktree `/home/ubuntu/wt/issue-21821`, branch `fix/issue-21821`.

The [authoritative corrective evidence](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02c5e8f78b555b5e/issue-21821-evidence-r2.md) satisfies the bounded primary A/B acceptance. This is not certification of every original matrix row or every client. The previous insufficient verdict was history to investigate, not carried forward automatically.

## Inspection and provenance

Read AGENTS, test-t3-app, ghdrop, original matrix, prior audit, revised report/protocol/scripts and source diff. No implementation edits, seeds, tests, pushes, comments, PR work or merges. The two-file change alters the shared loader and its tests; no renderer, provider, server contract or new entry point was added. Plain paging continues through activity-only pages until a qualifying start/notification or termination flag; targeted loading retains its conversation/full phases. Historical 39-test success is not a fresh test result from this audit.

Opened every delivered new PNG still and all eight Diff0/DiffT images. Opened every chronological all-frame sheet for all eight recordings: after wide-light97, wide-dark102, narrow-light85, narrow-dark86; base wide-light79, wide-dark80, narrow-light64, narrow-dark65, totaling658 encoded frames independently counted with ffprobe. This is frame-by-frame coverage at contact-sheet resolution, supplemented by full-size accepted stills, not a claim that every frame was opened individually full-size. No accepted still is blank, the wrong state, tooltip-contaminated or obscured by an unrelated overlay. Temporary expansion anchoring under the top fade is visible in recordings; the later scrolled expanded stills show the complete opener.

Fetched and byte-compared all95 entries in uploads.json against local originals:95/95 match. Separately fetched the authoritative report and compared it byte-for-byte. The task's “97 uploads” is not the length of uploads.json; this audit verifies the actual95-entry manifest plus the report, and does not assert an unidentified97th object. This inventory wording does not invalidate any accepted visual. Local verification records: `/tmp/issue-21821-final-audit/verified-public.json` and `verified-pixels.json`.

## Primary comparisons

Each row uses before fef851bee0 and after67c9f4b5d8. CSS viewports1440×900 and390×844, both themes, same synthetic existing environment. Wide screenshot output is full-frame scaled1280×800, video2880×1800; narrow output780×1688. This scaling is disclosed, not a viewport mismatch. Independently regenerated Diff0 as saturated absolute RGB×8 and DiffT as strict max-channel>16/255; delivered diffs match exactly.

| CSS width/theme | Changed pixels | Pixels >16 | Bottom13% changed/max channel delta | Temporal pair base/head |
|---|---:|---:|---|---|
|1440 light|15,579|3,462|51 /2|0 /0|
|1440 dark|15,237|3,449|34 /2|0 /0|
|390 light|42,081|5,803|0 /0|0 /0|
|390 dark|42,043|5,465|0 /0|0 /0|

Base recordings show two separate75-row requests from two clicks, growing Worked1m15 to2m30 without recovering the opener. Head shows one click fetching75×7+7 rows, Worked8m52 and the opener. Accepted differences correspond to the earlier control, opener, duration/time and navigation marks. Wide common text rasterization edges and tiny bottom deltas are visible and disclosed; no semantic unrelated UI change was found. Narrow shared Completed run1 content beneath the glass composer is aligned through actual scrolling (base0/head16 CSSpx), without masking or modifying the image/composer. Newer-turn endings retain Completed run11 and User follow-up10.

## Previous findings

| Prior objection | Resolution |
|---|---|
| Narrow composer showed unrelated underlying content | Resolved. Both narrow bottom regions and composer regions now differ by0 pixels; actual shared-content alignment is disclosed. |
| Expanded opener hidden under sticky fade | Resolved for accepted final states. All four expanded stills show the full opener after scrolling. Transient expansion frames are not misrepresented as final proof. |
| Wide-light “exact identity” claim contradicted by359 pixels at1/255 | Resolved by replacement captures: independently recomputed every new temporal pair as0 changed RGB pixels. Old assertion remains retracted. |
| Details/branch statistics and tooltip contamination | New accepted primary captures close details and park the pointer. Old supplemental limitations remain disclosed, not silently recertified. |

## Matrix status

| Row | Final status and limit |
|---|---|
|A primary plain loader|PASS: four before/after width/theme pairs, traces, stable stills, full-frame diffs and recordings; independent narrow-light rebuild below.|
|B folds, opener and newer turns|PASS for delivered fold expand/collapse, reachable full opener and return to newer content across four variants. A separate stop-before-exhaustion/remaining-older-button case is still unverified under D.|
|C loading/busy|Accepted retained supplemental gated scenario only; not expanded to every timing/input case.|
|D start before exhaustion|Source/test support only; runtime older-history/button continuation unverified.|
|E human/queued boundary starts|Runtime boundary fixtures unverified; ordinary visible human messages do not substitute.|
|F steer exclusions/mixed activities|Steer and promoted-queued-to-steer runtime fixtures unverified. A proves command-only continuation.|
|G notifications|Final predicate stops at any notification; focused historical test/source support, notification/mixed runtime fixture unverified.|
|H exhaustion without opener|Unverified. A's exhaustion with an opener is not this case.|
|I independent flags/empty advancing pages|Protocol edges unverified in runtime.|
|J byte-heavy checkpoint paging|Unverified; row-count fixture does not prove byte-boundary behavior.|
|K follow-up failure/retry|Accepted retained supplied503/retry scenario, including its previously disclosed clipped error/fade limitations; no new unrestricted error-layout claim.|
|L first failure/disconnect|Unverified.|
|M replacement/deletion during follow-up|Unverified; first-request tests do not prove moving-cursor follow-up.|
|N leave/remount/cancel/cache follow-up|Unverified; adjacent first-request coverage is not certification.|
|O find|Normal supplied find/highlight accepted. Delayed/error activity phase remains unverified. Do not claim an entire search is limited to two requests.|
|P literal two-run control|Accepted as already-loaded/no-button control only, not a reproduction of the repair.|
|Q Electron|Unverified; desktop sharing web source is not desktop runtime proof.|
|R native iOS/Android|Both unverified;390px web is responsive web only.|
|S connection modes|Local direct web only. Remote/relay/tunnel unverified.|
|T citation callback|Source-only, dormant optional paging prop; no additional active production caller found.|

Retained supplemental failure/find/literal contact sheets were reopened for corroboration. They are scoped as above; old evidence was not upgraded into new W4 proof. Settings/palette/keybindings, six provider adapters, agent tools, scheduled tasks and contract captures are not additional changed paths in this diff. No demand for an infinite input matrix is implied.

## Independent rebuild

Used the authorized integrated T3 browser in an owned incognito tab and one owned `vp run dev` session8892, existing `.t3` fixture, no seed. Exact audited head, same local origin8102/server16142. Fresh390×844 light navigation, dev-origin thread IndexedDB cache reset, same frozen time/fonts/reduced-motion setup, real Load earlier turns button activated once, actual scrollTop16 alignment and parked pointer. Eight sequential successful200 history responses returned75×7+7 rows, final cursor null/hasMore false; request chain approximately833ms.

Compared my newly captured780×1688 screenshot to delivered after390light-still1.png: **0 changed pixels,0 above16, maximum channel difference0, no bounding box**. My second stable screenshot also differs by0. This independently establishes the delivered affected head capture, not merely its schema or script. Saved trace, original rebuild stills, recording and regenerated zero diffs under `/tmp/issue-21821-final-audit/`.

![Independent after —390px light, exact match to delivered head still](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8c0cc05f57cd64c/rebuild390light-still1.png)

## FRICTION

Public downloads through Python urllib returned403; ordinary curl succeeded and all manifest comparisons completed. Browser initially displayed startup loading before authentication settled; corrected viewport/navigation and fresh cache produced the expected fixture. No fixture reseed or source change was needed. The wide tool screenshot scaling required checking actual dimensions rather than assuming DPR output. Upload inventory is95 entries, rather than mechanically repeating the brief's97 count.

## Cleanup

Stopped the sole owned dev runner via retained session8892 (exit130), after stopping the owned recording. Final socket query found no8102 or16142 listener. `git status --short` is empty; HEAD remains67c9f4b5d8362d519f979f132282228b5c2f609e on fix/issue-21821. No live userdata writes or nonidempotent fixture setup. All audit artifacts are outside the worktree.

The primary corrective evidence is sufficient. Broader unprepared rows remain explicitly unverified as permitted by this audit brief; they are not silently passed or grounds to reject the corrected primary capture.

VERDICT: SUFFICIENT
