# Pass 2 proof audit — issue 16248

Read-only audit of [56c5a379c4](https://git.cafe/pingdotgg/t3code/commit/56c5a379c4a4a4a50e47ed66b6b8c6830d8901f7) against [4eae8ae011](https://git.cafe/pingdotgg/t3code/commit/4eae8ae011e2e56ca20159c13f3fb8a2ac49a991), using the [evidence index](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/65f975406438aac6/issue-16248-evidence.md) and [pass 1 matrix](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aca49066aca60db0/issue-16248-pass1-matrix.md). All 15 rows checked against the index, raw image pairs, metadata, source diff, and sampled recording frames. Recording sampling verifies the described states/actions; it does not certify every frame or absence of transient flicker.

## Findings

1. **Settled density proof passes; the full matrix does not.** Eight dense viewport images exist: base/head × 1440/390 × light/dark, with rail details, zero-threshold and >16/255 differences. At loaded N600/H512, base M600 has ~0.855px spacing; head M129 has 4px spacing. Marks remain 2px and endpoints remain y170/682 CSS px. Narrow web uses actual fine-pointer focus reveal, not a visibility override. Core integrated grouping claims remain incomplete for original-item pointer targeting, regrouping visibility through resize, and ID/count replacement. These are rows 7, 8, 11, 12, with related runtime gaps in 13–14. They cannot be silently waived by calling the evidence “partial.”

2. **Raster arithmetic is correct and reproducible.** Independently recomputed all 16 supplied base/head pairs. Every Diff0 and DiffT file matches exactly: Diff0 is abs RGB ×8/clamped with no nonzero difference discarded; DiffT is magenta iff maximum channel delta >16, not >=16. No masking, alignment or resizing was introduced. Both dense 1440 pairs have 3,648 nonzero pixels, confined to [238,151,246,607) in the saved 1280×711 raster. Above-threshold counts are 3,592 light / 3,426 dark. Narrow light has 97,730 nonzero / 18,896 >16 pixels; narrow dark 90,670 / 19,171. Narrow preview/shadow/hover changes extend beyond the rail; the index explicitly describes them. Threshold/control pairs also retain repository-panel text/action changes, hover controls and transition pixels. These are not evidence of whole-app equivalence.

3. **Independent capture rebuild passes exactly.** Started head with the authorized isolated `.t3/proof` home, using its restored generation-a committed fixture, in a new incognito T3 preview tab. Fixture README/data/seed hashes match the retained evidence fixture copies, and all three are tracked at head. Loaded history until the button disappeared, verified live N600/M129, returned to scrollTop0, closed the details panel through its button, awaited fonts, and captured light at 1440×800 CSS px, DPR2, scale1, rem16, fine pointer. H512 and endpoints match. Saved raster is 1280×711, as disclosed. Comparison with both local and downloaded published head image: **0/910,080 changed pixels, 0 >16, maximum delta0, no bounding box**. Anti-alias delta: zero. Other delta: zero. PNG SHA256 also matches: `6ae0d07626f34ea9e5d9fa3fa0f489e53700bdd80ce7dccbcdc674ab94e484a9`. This rebuild reused the restored isolated seed; it did not reseed or prove event consistency/live mutation.

4. **Provenance correction:** pass 1 audited [bae7262afb](https://git.cafe/pingdotgg/t3code/commit/bae7262afb111bd50daeaed305cf42a27b0dfcd3), where optional `validate.ts` existed. Final head deletes that validator and its README invocation only; production renderer and seed/data are unchanged between these commits. Final base→head diff is six files, +231/-10, not pass 1's seven-file inventory. The matrix's validator instructions are historical, not executable at final head. Committing the fixture is expressly required by the user and is not an objection.

5. **Interaction narration exists but is not a pass certificate.** Main before/after movies, shared-visibility, paging, width, thread-switch and work/Find movies exist and decode. Sampled frames confirm the described previews, wheel, resize, switching and completed-layout actions. The main interaction movies are dark, including rows whose planned minimum requested light; paging is light despite row12 requesting dark. Before thread-switch is dark and after is light. These theme differences are disclosed here rather than treated as matching interaction pairs. Timestamp labels are approximate: e.g. after at6.0s already shows blank “User message,” at7.4s shows message3, and at11.9s shows the settled message3 timeline rather than a visible last-item preview. Use surrounding frames and metadata, not the timestamp alone. Videos also show temporary blank virtualized content during jumps; sampled scroll offsets do not prove a final24px landing or absence of flicker. No demonstrated regression is inferred from this incomplete proof.

## Row table

P=minimum adequately established; C=changed-path/core integration gap; R=unverified regression/control/surface. A partial row is not a pass.

| Row | Result | Checked proof and remaining gap |
|---|---|---|
|1 Dense defect|P|1440 light/dark pairs, details, geometry and both diffs; independent light rebuild exact.|
|2 Narrow web|Partial R|390 light/dark fine-pointer pairs show separated marks and real focus preview; disclosed transients. Both coarse-pointer controls missing. No native-mobile claim.|
|3 Absent/empty|Partial R|HEAD light 0/1/work-only contact sheet has no rail. “1-assistant” is command-only, correctly relabeled. Reused coarse control missing; actual assistant-message-only shape unverified.|
|4 Small rail|P|HEAD light/dark N2/M2/H8; blank fallback demonstrated in dense keyboard sequence.|
|5 Height cap|P|65/66/75 light contact sheet, raw base controls and metadata: H512, same counts.|
|6 Grouping boundary|P|129/130 light/dark base/head pairs and both diffs; 129→129,130→129. No rail delta for N129.|
|7 Shared visibility|Partial C|Dark top/middle/bottom plus light shared-boundary movie and ID/span geometry demonstrate positive ANY-member case: bucket65 true while members305/306 outside. Assistant/work-only viewport and transient behavior unverified.|
|8 Pointer/preview|Partial C|Dark paired movie shows center301, blank/third keyboard previews, last Markdown preview and near-end599. Adjacent original members by pointer, exact first/last clicks,24px final offset, all preview shapes/bounds unverified. Requested light movie missing.|
|9 Keyboard/navigation|Partial R|Home/Down/End/Enter/blur attempts recorded in dark; metadata distinguishes original items sharing a mark. Space failed to visibly navigate; null/bounds prev-next, Up, reduced motion, accidental page scroll and reliable390 sequence unverified.|
|10 Wheel/drag|Partial R|Dark paired movie shows wheel changes scroll. No faithful text-selection drag/release/pass-through/preview selection recording; requested light segment missing.|
|11 Resize/width|Partial C|Dark movie establishes dense129→79→129; dark width movie hit40→36→0→40/persistent transitions. No no-scroll highlight refresh oracle, N75/H312 control, exact G13/G26 transitions or chat-width/sidebar/panel toggles. Requested light sequence missing.|
|12 Paging/append/IDs|Partial C|Light HEAD paging movie exists, ends reported N600/M129; independent rebuild also exhausts paging to600. No base paging movie (matrix only requires HEAD). Generation-b readiness failed N12/no earlier button; no valid same-count replacement/append proof or live mutation. Requested dark paging missing.|
|13 Thread/Find|Partial C/R|Before-dark/after-light switching600↔2↔0 restores middle; dark paired Find user300/close exists. Same-count replacement inherits row12 gap; browser back/history, assistant result and follow-stop unverified.|
|14 Layout over time|Partial C/R|Dark paired work expansion/collapse/Find movies establish completed-layout behavior. Streaming/optimistic append/reduced-motion navigation remain unverified; completed projections cannot prove them.|
|15 Desktop|Missing R|No attached Electron smoke. Same renderer reduces scope but does not execute this row. Native mobile is unaffected, not substituted by390 web.|

The narrow **settled static density** claim is supported. Missing coarse-pointer, drag, keyboard acceptance and desktop checks are documented regression/surface gaps, not direct counterexamples to that claim. Missing original-member pointer, resize-refresh and identity/count-change proof blocks certifying the complete changed behavior. No focused logic regression tests were added; this proof-only audit did not run implementation checks beyond `git diff --check`, which passed.

## FRICTION

- Fresh incognito app startup took compilation/initialization time. Startup pairing succeeded. No live database was opened or written by audit commands.
- First evaluate attempted to return a React object and failed serialization; corrected to scalar fields. A bounded paging evaluation exceeded the tool's15s response limit but completed in-page; a subsequent live read confirmed N600/M129 and no earlier button. No duplicate paging task was started.
- First rebuilt image had the details panel open: 145,696 changed pixels,22,645 >16, rail delta0. That is a different layout, not anti-alias noise. After closing the panel and matching state, the final rebuild is exact. Only the final matched capture is the rebuild result.
- Server session66869 stopped via Ctrl+C, exit130. Ports6911/14951 have no listeners. Owned tab `tab_j_35eada70-19cd-4501-8985-a64f995eb5b8` closed. Checkout remains clean; no code edits, pushes, PRs or child tasks.
- Cleanup: all audit scratch under `/tmp/issue-16248-audit2/`, including report, rebuilt/published PNG, diff verification JSON, rebuild delta/diffs, recording inventory, extracted JPG frames/sheets, and server log (contains consumed startup pairing URL). Exact file inventory is `cleanup-manifest.txt`. Two preview-owned original PNGs also exist at `/home/ubuntu/.t3/userdata/browser-artifacts/browser-screenshot-localhost-mvjxoxqz-560ec35f.png` (panel-open draft) and `/home/ubuntu/.t3/userdata/browser-artifacts/browser-screenshot-localhost-mvjxpi63-a99e909f.png` (final). These are product-managed screenshot artifacts, not a server run against live userdata. Existing input evidence remains under `/tmp/issue-16248-evidence/`, `/tmp/issue-16248-evidence.md`, `/tmp/issue-16248-pass1-matrix.md`; this audit did not remove it. Authorized isolated home remains `/home/ubuntu/wt/issue-16248/.t3/proof`.

VERDICT: INSUFFICIENT rows 2,3,7,8,9,10,11,12,13,14,15 (full matrix); settled static density proof sufficient in rows1,4,5,6 and fine-pointer portion of2.
