# R3 — evidence for [#32334](https://git.cafe/pingdotgg/t3code/pull/32334)

Before [e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea); After [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07). Only these pinned revisions are claimed; current forge head/checks/reviews were not assessed.

A/B/R1/R2: T3 preview, Chromium 157.0.0.0 on Linux, no device emulation, mouse, DPR 2, 100% zoom/font scaling, Inter Variable, root 16px/chat 14px; 1440×1000 or 390×844 CSS px as labelled; light/dark. Reduced-motion emulation unavailable in preview (actual false). R3: agent-browser 0.42.0, Playwright Chromium headless 148.0.7778.96 Linux, no device emulation, mouse, DPR 2, 100% scaling, 390×844 light, reduced motion true. Both sides freeze Date at 2026-11-10 16:55 UTC after authentication; timers continue.

All stills passed fonts/visible-image readiness, resource quiet, and two pixel-identical full-surface PNGs 500 ms apart. Each full capture and both diffs was inspected in a labelled sheet. Videos were inspected using full-viewport timestamped frame sheets. Diff0: exact RGB nonzero per-channel deltas amplified ×32, minimum 64 brightness. DiffT: maximum channel difference **strictly >16/255**, highlighted pink. Full surfaces are retained; icon crops are extra.

What else changed:

- File-chip SVGs move **0.25 CSS px upward**, not downward as anticipated in the brief. F3 icon top: 336.3671875 → 336.1171875; chip/text/paragraph bounds unchanged. This appearance change is outside the PR title’s selection wording and should be routed to Julius.
- Selected favicon images now receive the blue selection tint. Before, the icon itself remains untinted. Native triple-click selection includes the complete paragraph/cell on the changed revision.
- Zero-threshold differences also include faint backdrop-blur pixels behind the sticky composer/attachment modal, caused by changed icon pixels underneath. Example button-menu pair: 670 changed pixels, maximum channel delta 2/255; none above threshold 16.
- No other visible static differences found in the accepted pairs: text positioning, wrapping, punctuation, RTL/LTR ordering, document colors, ellipsis, focus/menu anchors and tooltip wrapping remain aligned. This conclusion uses Diff0, not just the thresholded images.
- Both R3 recordings move content upward by 43 CSS px when the Working header disappears at turn completion. This shared transition is not introduced by the PR. Replacing pending icons/metadata causes no additional vertical movement. Ordinary loading frames and differing action latency in recordings are timing, not static comparison evidence.

Real app on fresh isolated databases created by each revision with T3CODE_DEV_SEED=0. Same synthetic payloads, file tree, themes and scroll poses; no live database or component harness. R3 uses a labelled real-app network fixture intercepting actual favicon and metadata responses. 

Rebuild: [reproduction.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38595ef844a06fa9/reproduction.md); complete scripts bundle [reproduction-scripts.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e1830ece3d4dca1/reproduction-scripts.zip). Seed [seed-fixtures.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/432c1b5e0c72fd49/seed-fixtures.py), ACP agent [fixture-agent.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e0a01c1b75aa19de/fixture-agent.mjs), RPC seed [browser-seed.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e0f8efe633afeb5/browser-seed.js), preview driver [preview-capture-driver.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8c2068f3d499013e/preview-capture-driver.mjs) + [final-preview-drivers.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/04cdd9cb52cfb6a9/final-preview-drivers.json), browser helpers [browser-utils.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/28cc11fffec47818/browser-utils.js), network driver [r3-driver.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e83ff9713ae57c02/r3-driver.mjs) + [r3-init.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/792d90ef02b4112e/r3-init.js). Exact observations [accepted-observations.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/253db9a5c02c973e/accepted-observations.json); pixel counts [accepted-pixel-counts.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6ba0dfd6808ed74/accepted-pixel-counts.json).

Labelled real-app network fixture, 390×844 light. Both initial states start at Working for 0s. Hold distinct favicon requests and actual metadata responses; release stream gate; fulfill loaded host, fail another; release metadata; navigate to empty synthetic control thread and back. Failed-host request count remains one; remount retains globe. Folder resolves; missing path retains fallback.

| Step | Before seconds | After seconds |
| --- | --- | --- |
| pending initial partial markdown | 0.040 | 0.042 |
| pending held | 1.041 | 1.044 |
| complete stream | 1.450 | 1.495 |
| release loaded image and fail distinct host | 1.456 | 1.498 |
| metadata released | 1.641 | 1.692 |
| R3-N-L-resolved | 4.010 | 4.155 |
| remount failed host; request count must stay one | 5.402 | 5.575 |
| R3-N-L-remount | 8.029 | 8.476 |

Actual timed release/remount steps are listed above. Both retain the same 43px turn-settlement reflow. No extra shift occurs at metadata/favicon resolution.

| Before [e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | After [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |
| --- | --- |
| [R3-N-L-before.webm](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4618f6486c0de64c/R3-N-L-before.webm) | [R3-N-L-after.webm](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee12118105c41040/R3-N-L-after.webm) |

![R3-N-L-before-video-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aeadd88b1d10799b/R3-N-L-before-video-review.png)

![R3-N-L-after-video-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2f407832ec2377f4/R3-N-L-after-video-review.png)

| Pose | Before | After | Diff0 | DiffT >16 |
| --- | --- | --- | --- | --- |
| R3-N-L-resolved — 390×844 light — full surface | ![R3-N-L-resolved-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a55f5318c734f93/R3-N-L-resolved-before.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | ![R3-N-L-resolved-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/633f0f86ffadccb1/R3-N-L-resolved-after.png)<br>[f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R3-N-L-resolved-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea3185737435c35f/R3-N-L-resolved-diff0.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R3-N-L-resolved-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae69136cc07a7c80/R3-N-L-resolved-diff16.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |

![R3-N-L-resolved-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6e91ddd35764783c/R3-N-L-resolved-sheet.png)

Diff0 pixels: 280; >16: 204.


| Pose | Before | After | Diff0 | DiffT >16 |
| --- | --- | --- | --- | --- |
| R3-N-L-remount — 390×844 light — full surface | ![R3-N-L-remount-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4ecacca2f6124b2/R3-N-L-remount-before.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | ![R3-N-L-remount-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dd093e05d9ee06a2/R3-N-L-remount-after.png)<br>[f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R3-N-L-remount-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81cd663b668b43a5/R3-N-L-remount-diff0.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R3-N-L-remount-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/98e233c79d44ed79/R3-N-L-remount-diff16.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |

![R3-N-L-remount-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bec5e016cd7fbae/R3-N-L-remount-sheet.png)

Diff0 pixels: 280; >16: 204.

Event transcripts: [R3-before-events.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7fcf7e4f381cdfc/R3-before-events.json); [R3-after-events.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/783628cc940c39b4/R3-after-events.json)

Unverified matrix rows: none. Firefox, Safari and native mobile gestures not tested.

AI-assisted; verified with the tests and tools listed above.
