# Final proof audit: typography evidence pass 2

No blocking evidence defect found in C1–C5 or P1. The independently rebuilt C3 after frame is pixel-identical to the delivered frame. All 36 delivered PNGs were opened individually and visually inspected, including every stability and diff image. All six pixel counts and all twelve diff images independently reproduce exactly.

Claim qualification: do not say all regular-text pixels or all layout are unchanged. C1–C5 move the user bubble and its regular prefix; P1 moves the table’s second column and punctuation following widened strong text. These are ordinary width consequences of the sole weight change, with no clipping or wrapping in these fixtures. The delivered index already describes the bubble and table movement, but its “Plain text … remaining pixels match” wording should be qualified to exclude adjacent punctuation. This is a wording limitation, not a failed row. No PR or proposed PR body exists in the supplied set, so this audit approves only the scoped claims below.

| Row | Settings and real surface | Diff0 / DiffT pixels | Stability before / after | Status |
|---|---|---:|---:|---|
| C1 | 1440×900 CSS, light, new on, Inter; user + assistant | 1671 / 1062 | 0 / 0 | SUFFICIENT |
| C2 | 390×844 CSS, dark, new on, Inter; user + assistant | 5632 / 5025 | 0 / 0 | SUFFICIENT |
| C3 | 1440×900 CSS, dark, new off, Inter; user + assistant | 1648 / 1096 | 0 / 0 | SUFFICIENT; independently rebuilt |
| C4 | 390×844 CSS, light, new off, Inter; user + assistant | 5618 / 4920 | 0 / 0 | SUFFICIENT |
| C5 | 1440×900 CSS, light, new on, resolved Roboto Flex; user + assistant | 1605 / 1044 | 0 / 0 | SUFFICIENT for tab-loaded alternate family |
| P1 | 1440×900 CSS, light, new off, Inter; actual maximized workspace Markdown preview | 2766 / 2192 | 0 / 0 | SUFFICIENT; both phases recorded fresh |

Diff0 means max absolute RGB channel difference >0; DiffT means >16/255, strictly greater. Counts use original unamplified pixels. Display diffs use absolute RGB difference ×4 with saturation at 255 and black below threshold. Independent implementation in verify.py used full frames without alignment, cropping, masks, or resizing. Every supplied diff image has zero mismatching pixels against the independent result. Desktop PNGs are 1280×800 from the preview service’s 1440×900 CSS viewport; narrow PNGs are 780×1688 at 390×844 CSS. Aspect ratios, full header and composer/preview chrome, and metadata agree. Narrow title ellipsis and the composer’s two-tier layout are present in both phases; they are not a crop or a regression.

The large empty chat area is expected for the existing two-message thread: both messages and the composer are present, with no missing panel, loading region, spinner, duplicated UI, ghosting, backdrop, wrapping, or clipped sample. P1 shows the complete 321-byte Markdown fixture in the workspace file panel with breadcrumb, filename tab, rendered-mode controls and maximize control. It is not an attachment modal. The plain heading and inline-code literal remain unchanged; paragraph/list/italic/quote/table/link strong text gets heavier, with the width effects described above. No motion claim requires a recording for this static declaration.

## Revision and provenance checks

Read-only checkout guards at entry, capture, and exit found branch `fix/issue-25396`, clean, at [5f0a0cf558](https://git.cafe/pingdotgg/t3code/commit/5f0a0cf55824f0ecff00a65216422a7d3a937cd2), full SHA `5f0a0cf55824f0ecff00a65216422a7d3a937cd2`, tree `eea77b79094e0acbe6e935bca5687d49775ae372`. Base is [0604547a3a](https://git.cafe/pingdotgg/t3code/commit/0604547a3ae7bca2e5cad1c17b40be5de17dd2cc), full SHA `0604547a3ae7bca2e5cad1c17b40be5de17dd2cc`. The complete base-to-head source diff is only `.chat-markdown strong { font-weight: 600 → 700; }` in apps/web/src/index.css. No checkout switching or source changes occurred in this audit.

Git independently confirms [da6e1e6b07](https://git.cafe/pingdotgg/t3code/commit/da6e1e6b070422435a4542b47d36562413db8245) has the same tree as the pinned new head. For every C row, both retained before files are byte-identical to the original package and the fresh after frame has zero pixel differences against the original old-head after. All 24 capture entries’ listed SHA256 values match their local deliverables and every listed browser artifact path. The distinct fresh artifact timestamps and provenance records support the delivered fresh-after account; a still image alone cannot authenticate historical checkout state. This pass independently authenticates C3 at the current exact head and does not pretend to have witnessed the other historical capture sessions.

Every row’s metadata identifies the required base/head. Both chat roles record strong 600 before and 700 after, parent 400, message 14px. Both fonts have distinct recorded metrics from the nonexistent-family control and documented variable-weight ranges. Before metadata uses `fontStatus: loaded`; new metadata uses `fonts: loaded`. C5 is a resolved FontFace loaded in the tab and selected through Appearance, not proof of an installed OS family or native discovery. This is explicitly disclosed in the final evidence index and is adequate for the alternative-rendered-family purpose; do not claim the historical matrix’s installed-font mechanism was tested.

P1 before/after metadata records six strong samples at the required revisions and weights, on the actual replacement workspace preview surface. Its fixture bytes match the original fixture. Its two fresh phases replace the modal entirely; no claim that the attachment-modal capture artifact was fixed is supported.

The change commit [074ef89913](https://git.cafe/pingdotgg/t3code/commit/074ef899134fadb087785a168cb333a9f6bcd1da) contains the full GitHub closing reference to [#25395](https://github.com/pingdotgg/t3code/issues/25395), corresponding to GitCafe [#25396](https://git.cafe/pingdotgg/t3code/issues/25396). This was checked in local commit metadata, without forge access. The tip is a merge commit; it need not repeat that closing reference.

## Independent C3 rebuild

Used preview_status, then a new owned tab at the existing localhost:6241 app. Paired through the app’s CLI and real pairing form against the isolated worktree .t3 home; no credentials entered report files. Used the existing Format Regular and Bold Text thread, with two actual rendered messages and an empty composer. Set dark through Appearance and New design off through Beta; closed thread details and main sidebar. Did not send, clear, or edit a draft, seed data, or start provider activity.

Loaded and executed the delivered capture-driver.js unchanged. Applied only its tab-local motion/transition/caret suppression. The driver sampled the live Vite stylesheet source `/home/ubuntu/wt/issue-25396/apps/web/src/index.css` and its actual 700 rule, fonts loaded, zero animations, and both rendered strong spans. Exact head/tree and clean status were checked while capturing. Saved two full frames via the driver, at least 550ms apart.

Environment: Linux x86_64 on fs-35, Chrome 156.0.0.0, DPR 2, scale 1, root 16px, 1440×900 CSS, 1280×800 PNG, antialiased smoothing. Inter Variable loaded at range 100–900. User strong rectangle x=1016 y=90.5 w=60 h=17; assistant x=468.5 y=171.5 w=60 h=17. Both strong weights 700, parents 400. These match supplied C3 after geometry exactly.

Rebuild versus delivered C3 after: **0 pixels >0, 0 pixels >16, maximum channel delta 0**. Rebuild versus its second frame: **0 differing pixels**. Both rebuilt frames and the black full-frame comparison diff were opened and visually inspected. See C3-rebuild.json and rebuild-delta.json.

![Independently rebuilt C3 after: classic dark, both roles visible, exact head](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ebc4890418ded46/C3-rebuild.png)

## Publication and claim boundaries

Independently fetched all 67 distinct file URLs linked in the delivered index with curl: all HTTP 200, exit 0, byte-identical to local files. The result is in independent-public.json. Earlier Python 403 is not evidence of a missing public artifact. The delivered public index itself was also fetched and compared separately in this audit.

Supported PR wording: “Rendered Markdown strong text uses weight 700 instead of 600. Linux Chrome paired stills cover both chat roles across the five documented theme/design/width/font combinations, plus a rendered workspace Markdown fixture. All stability pairs match; an independent C3 rebuild exactly matches the delivered after frame.” Mention width-induced movement if discussing layout or unchanged controls.

Unsupported wording: verified native Windows rasterization/fonts, native OS font discovery for C5, Electron shell/IPC, native mobile, streaming/reveal behavior, fixed attachment-modal capture artifacts, all possible Markdown callers visually tested, or all non-bold pixels/layout unchanged. The shared renderer source supports the scope inference for equivalent callers; only the listed fixtures have direct visual proof. Native React Native mobile does not consume this stylesheet; 390px is narrow web. No need to run tests or unrelated interactions for this pure visual declaration. Local/hosted/remote modes and provider adapters have no changed protocol path.

## FRICTION

- New owned tab needed CLI pairing. A diagnostic redaction mistakenly left the short-lived one-time token visible in a tool result; it was then consumed successfully and is excluded from every audit file/upload. No reusable credential was printed or copied into deliverables.
- The new tab began with New design on, despite the requested initial off state; settings were independent of the lead’s tab. Set it off through Beta for the rebuild. An Appearance link selector timed out because the control is a button; a sidebar selector was ambiguous until restricted to the visible button. These navigation attempts produced no accepted capture.
- OS reduced-motion is false. This rebuild uses the supplied CSS suppression with zero sampled animations and the existing 0ms panel setting, not reduced-motion emulation. No clock override or typography/layout override was used.
- Historical revision labels rely partly on delivered provenance; source tree, artifact hashes, original-package identity and current exact-head rebuild were independently checked. No historical session was invented or inferred as directly observed.

## Cleanup and retained files

Closed the sole owned tab after restoring Appearance light, Interface font empty/default, New design off, and verifying panel duration remains 0ms. No temporary project or fixture was created. No server process was started/stopped/restarted/reconfigured; lead-owned web 6241/server 14281 were reused. No source edit, commit, push, forge action, PR, or subagent. Final checkout is clean on the same branch/head/tree.

All audit files are confined to `/home/ubuntu/proof-audits/issue-25396-final-audit`. cleanup-files.txt lists exact audit paths and the two new browser screenshot sources for optional targeted cleanup. Original evidence packages and their browser artifacts remain untouched. Do not bulk-clean shared browser-artifacts. The audit bundle contains the report, independent scripts/results, recomputed diffs, rebuild frames/metadata, source guard record, and cleanup manifest. It contains no pairing credentials.

Audit model/harness: GPT-6.1-sol through Codex in T3 Code. Completed within the requested 60-minute budget.

VERDICT: SUFFICIENT
