Proof audit, pass 2 — issue [#33625](https://git.cafe/pingdotgg/t3code/issues/33625)

Findings first:

1. **I0: the draft makes interaction claims that the evidence does not prove.** In `pr-body.md`, “Before: clicking Windows path opened a new tab at /<env>/src%5CExample.cs” and “After: ... clicking the backslash chip opens src/Example.cs ... No new tab opens” exceed the supplied stills. The final after image establishes two chip presentations and a loaded file endpoint; it cannot identify which chip opened the panel or show the absence of a new browser tab. The matrix explicitly says no click causality is accepted from stills and calls I0 a recording row. Either supply a head recording showing both clicks with settled results and the tab outcome, or narrow the draft to the visible classification/loaded-endpoint claims and label any manual observations separately. This is a proof gap, not a reproduced code defect.
2. **The matrix is stale metadata.** It maps C to [648ba9ba14](https://git.cafe/pingdotgg/t3code/commit/648ba9ba14), whereas the draft's current C is [7cbf20ecbe](https://git.cafe/pingdotgg/t3code/commit/7cbf20ecbe). It describes unconditional relative normalization rather than the final parse-first fallback. Update those descriptions. The current review head is [e18682cb42](https://git.cafe/pingdotgg/t3code/commit/e18682cb42), and the actual merge-base/current remote main is [53bcb9af7a](https://git.cafe/pingdotgg/t3code/commit/53bcb9af7a), not the before image's [bbdc7dca32](https://git.cafe/pingdotgg/t3code/commit/bbdc7dca32). The parser blob is identical between the two before revisions (0d4e7556d072babd290d548a7b59662167103818), and between the final code commit and merge head (5b92d33c06356d7d8b24d02e9902b9ad2f5a0855). This establishes source equivalence for this change; it does not establish that the screenshots were captured on the newer revisions.
3. **Pixel comparison artifacts are absent.** Neither supplied document links two diff images, specifies their thresholds, or supplies a formal “what else changed” list. Therefore that checklist item is unverified. The matrix itself requires only W0/W1 static cells, so I have not invented additional visual fixtures or a requirement for a pixel-matched pair. The raw pair visibly also changes panel state, chat wrapping, relative time labels, focus/hover state and message toolbar visibility. Those are not parser implementation changes. The pair proves classification, not otherwise-identical pixels.

| Row | Status | Evidence / reason |
|---|---|---|
| W0 | SUFFICIENT — static | A shows ordinary blue backslash links beside slash chips in both user and agent messages, 1280×800 light. Before revision is source-equivalent to actual merge-base. |
| W1 | SUFFICIENT — static | Current C shows both chips in both senders, readable labels, src/Example.cs selected and loaded code, 1280×800 light. Code commit is parser-equivalent to review head. |
| W2 | WAIVER HOLDS | Existing filename/empty-label branch; both label assertions passed at head. |
| W3 | WAIVER HOLDS | Suffix and #L3C2 assertions pass; collision/length/Unicode/count rendering is unchanged. |
| W4 | WAIVER HOLDS | Missing cwd, empty, fragment, external/protocol-relative and bare-name rejects pass. |
| W5 | WAIVER HOLDS | Rooted/mixed-root, Windows drive and inside/outside UNC guard assertions pass. |
| W6 | WAIVER HOLDS | Same parser and unchanged document/chat render branches; no additional context captures required. |
| W7 | UNAFFECTED / WAIVED | Inline code already returns src/Example.cs; before/head driver outputs agree. |
| W8 | WAIVER HOLDS | Existing non-media embed/file-chip fallback; media destination helper unchanged. No embed integration claim accepted. |
| N0 | WAIVER HOLDS | Mobile still consumes shared parser; no native run or capture claimed. |
| G0 | WAIVER HOLDS | No component/CSS/transport change in fix; no extra theme/viewport/connection matrix needed. |
| I0 | INSUFFICIENT FOR DRAFT CLAIMS | No final-head interaction recording. B remains a Loading code… checkpoint; C is only a loaded endpoint. Optional for classification, required if claiming the supplied visuals establish click/tab behavior. |
| I1 | WAIVED | Existing menu/editor/modifier actions; no recording claim. |
| I2 | WAIVED | No new temporal/error state. B is not accepted as completed loading evidence. |
| I3 | WAIVED | No native interaction claim or recording. |
| S0 | WAIVER HOLDS | Existing shared-parser-derived search text; no Find interaction claimed. |

Inspection: downloaded and visually opened A, B, final C, and the older C still linked by the matrix. All four are 1280×800 light. No duplicated/ghosted UI, stale overlays, clipped/unrendered relevant text or wrong theme/viewport was visible in A or either C. The two intentional white redactions are accepted. The large empty chat/file space is consistent with the short fixture, not evidence of missing content. B's Loading code… makes it insufficient for a settled I0 endpoint; it does not contaminate W0/W1 because neither depends on it. No diff images or head recordings were supplied to inspect. Also inspected all 91 frames of the original issue GIF using contact sheets and four full-size keyframes: the cursor visits the backslash link and later the slash chip; the slash panel appears and loads code. This historical 960×611 recording does not prove the fixed-head I0 result or browser tab behavior. It has no narration.

Reproduction: rebuilding a real-app capture requires creating dev state and an agent turn, so used the explicitly permitted parser fallback. The only uploaded driver linked by the draft is parse-driver.mts; no seeding/capture driver or rendering-environment line is provided. Replaced only its <checkout> placeholder with the supplied checkout path, ran it at head with Node v26.12.1 on Linux, and repeated it with exact git parser sources loaded in memory at the before/base, previous head, final code commit and review head. Shared path.ts/fileLinks.ts dependencies are unchanged between the relevant before/base and final/head pairs. Results:

- Before/base: raw, encoded and line-suffixed backslash destinations reject; slash control resolves.
- Review head: raw and encoded resolve to C:\repo\src\Example.cs (Windows cwd) and /repo/src/Example.cs (POSIX cwd); line case retains :3.
- Uploaded-driver output: byte-identical before-capture revision vs actual merge-base, and byte-identical final code commit vs merge head. The supplied fixture output is also unchanged between the previous implementation and final implementation.
- 23 focused direct assertions: 23 pass at head. Seven fail on main because they request the new classification/derived-label behavior. Two literal-backslash preservation assertions fail at the earlier implementation and pass at final head. Of the four committed Windows-cwd table rows, exactly the three backslash inputs fail on main; the slash control passes.
- Pixel delta against delivered capture: N/A, not zero. This driver emits text, not a bitmap; there is no delivered parser bitmap or rendering-environment line to compare. No visual rebuild or anti-aliasing claim is made.
- Full Vitest/test-count claim was not rerun; these were direct read-only Node diagnostics, not a replacement assertion of the draft's 108-test run.

The final parse-first change narrows the earlier implementation's effect by preserving links that already parsed, so the matrix's renderer/platform/state waivers remain valid. No extra matrix row is required for that preservation: its focused regression assertion is the appropriate proof.

Scope: read-only source inspection, linked evidence inspection and parser reproduction. No edits, pushes, comments, servers, browsers, agent turns, devices, leases or worktrees created. Git status stayed clean. Disk availability was 12 GB. Completed within the 45-minute budget. Only this audit's scratch subdirectory is removed after uploading its contents; the lead's parent scratch directory and worktree remain untouched.

FRICTION:
- tool | Python urllib returned HTTP 403 for an evidence download; curl fetched the same URLs successfully | Use curl for these evidence URLs.
- brief | Request names uploaded seed/capture scripts, rendering-environment line and thresholded diffs, but supplied draft links only a parser driver and unthresholded stills | Include the capture bundle/environment metadata or explicitly scope the request to static classification and parser reproduction.

VERDICT: INSUFFICIENT I0 (draft click/tab claims lack a fixed-head recording)
