# R2 — 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.

Fix-up captures: 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 CSS px; R1 desktop main pair light, R2 button-menu pair dark. Reduced motion false (preview emulation unavailable). Date frozen at 2026-11-10 16:55 UTC after authentication; timers continue. The 390×844 dark main pair is unchanged; its frames were re-audited.

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: 677 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).

Fix-up reproduction: [fixup-reproduction.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/28ff851f04265661/fixup-reproduction.md) + [fixup-reproduction-scripts.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75eae457fc17f585/fixup-reproduction-scripts.zip) + [fixup-preview-driver.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/46e7fdfec6b98b54/fixup-preview-driver.mjs). Fix-up records: [corrected-timestamps.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90915761b179ba25/corrected-timestamps.md) + [corrected-timestamps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca96ac07417990ab/corrected-timestamps.json) + [capture-validation.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/084e5feb013fe3cc/capture-validation.json) + [r1-retake-actions.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5a6b6a9220782b3f/r1-retake-actions.json) + [fixup-video-metadata.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/afc7911fccf92838/fixup-video-metadata.json). These supersede only the affected R1 main-pair timestamps and R2 button-menu stills/counts in the earlier records.

Continuous desktop-dark A+B interaction; unchanged-handler permutations not separately exercised: editor/reveal/system/integrated browser execution, media actions and permission-denial paths. Representative panel open/close and menu copy succeeded.

| Action (same sequence) | Before seconds | After seconds |
| --- | --- | --- |
| hover short chip | 0.973 | 1.200 |
| hover long chip | 2.340 | 3.127 |
| hover external link | 3.843 | 5.211 |
| Tab to GitHub link | 4.676 | 6.319 |
| Tab to settings.json chip | 5.510 | 7.523 |
| App.tsx panel opens | 6.811 | 9.481 |
| close App.tsx panel | 7.594 | 11.262 |
| file context menu | 8.867 | 12.721 |
| copy full path | 9.974 | 13.980 |
| external context menu | 11.306 | 15.687 |
| Tab to button App.tsx | 13.796 | 18.668 |
| Space opens button menu | 14.572 | 19.515 |
| click opens button menu | 17.526 | 24.520 |
| right click opens button menu | 21.487 | 28.787 |

Steps and actual timestamps above; full path tooltip → external hover → Tab focus → file panel open/close → file menu/copy → external menu → attachment button focus/Space/click/right-click. Different durations reflect automation latency; compare matching actions, not equal video timestamps.

| Before [e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | After [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |
| --- | --- |
| [R2-D-K-complete-retake-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b49f9150b1afef08/R2-D-K-complete-retake-before.mp4) | [R2-D-K-complete-retake-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cfb65e4f07f2fb9a/R2-D-K-complete-retake-after.mp4) |

![R2-D-K-complete-retake-before-video-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d5ca8d29ea87269/R2-D-K-complete-retake-before-video-review.png)

![R2-D-K-complete-retake-after-video-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/655351c65546d604/R2-D-K-complete-retake-after-video-review.png)

| Pose | Before | After | Diff0 | DiffT >16 |
| --- | --- | --- | --- | --- |
| R2-D-K-long-hover-final — 1440×1000 dark — full surface | ![R2-D-K-long-hover-final-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/773035adb9463a73/R2-D-K-long-hover-final-before.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | ![R2-D-K-long-hover-final-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/57bc634f0c12d7cb/R2-D-K-long-hover-final-after.png)<br>[f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-long-hover-final-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/088ff13e6fbc1527/R2-D-K-long-hover-final-diff0.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-long-hover-final-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acf789f088b079b5/R2-D-K-long-hover-final-diff16.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |

![R2-D-K-long-hover-final-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db6f8050057a5345/R2-D-K-long-hover-final-sheet.png)

Diff0 pixels: 2762; >16: 2163.


| Pose | Before | After | Diff0 | DiffT >16 |
| --- | --- | --- | --- | --- |
| R2-D-K-focus — 1440×1000 dark — full surface | ![R2-D-K-focus-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8b54d7399a15853/R2-D-K-focus-before.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | ![R2-D-K-focus-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdc4848dab54d451/R2-D-K-focus-after.png)<br>[f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-focus-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/94e3f8c8e49db0e4/R2-D-K-focus-diff0.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-focus-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2fdf02cd44472d55/R2-D-K-focus-diff16.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |

![R2-D-K-focus-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6512ffeba526f4bc/R2-D-K-focus-sheet.png)

Diff0 pixels: 2760; >16: 2161.


| Pose | Before | After | Diff0 | DiffT >16 |
| --- | --- | --- | --- | --- |
| R2-D-K-external-menu-clean — 1440×1000 dark — full surface | ![R2-D-K-external-menu-clean-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f913afee482e5169/R2-D-K-external-menu-clean-before.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | ![R2-D-K-external-menu-clean-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce107a45e1cec864/R2-D-K-external-menu-clean-after.png)<br>[f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-external-menu-clean-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/32bf30910cb088c3/R2-D-K-external-menu-clean-diff0.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-external-menu-clean-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b6f6de828088d251/R2-D-K-external-menu-clean-diff16.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |

![R2-D-K-external-menu-clean-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1630a727bb131f97/R2-D-K-external-menu-clean-sheet.png)

Diff0 pixels: 2935; >16: 1830.


| Pose | Before | After | Diff0 | DiffT >16 |
| --- | --- | --- | --- | --- |
| R2-D-K-file-menu-clean — 1440×1000 dark — full surface | ![R2-D-K-file-menu-clean-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1746349c5a6bade2/R2-D-K-file-menu-clean-before.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | ![R2-D-K-file-menu-clean-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da9b4747b8eef66e/R2-D-K-file-menu-clean-after.png)<br>[f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-file-menu-clean-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/82a168ca99788e67/R2-D-K-file-menu-clean-diff0.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-file-menu-clean-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fa710bcd797e8e29/R2-D-K-file-menu-clean-diff16.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |

![R2-D-K-file-menu-clean-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/843206fd7bbbd864/R2-D-K-file-menu-clean-sheet.png)

Diff0 pixels: 2762; >16: 2163.


Button-menu fix-up: both stills were retaken with the original keyboard menu anchor/focus, no visible toast, and no Full path copied text. Fonts/images and resources settled; two full PNGs 500 ms apart were pixel-identical on each side. [Settled witnesses](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2c154af1f8e02e04/R2-settled-witnesses.zip); [validation](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/084e5feb013fe3cc/capture-validation.json).

| Pose | Before | After | Diff0 | DiffT >16 |
| --- | --- | --- | --- | --- |
| R2-D-K-button-menu-clean — 1440×1000 dark — full surface | ![R2-D-K-button-menu-clean-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1854060b990b116/R2-D-K-button-menu-clean-before.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) | ![R2-D-K-button-menu-clean-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eda17eb578563da/R2-D-K-button-menu-clean-after.png)<br>[f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-button-menu-clean-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdff633b9ebe15df/R2-D-K-button-menu-clean-diff0.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) | ![R2-D-K-button-menu-clean-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d77db18f94f1887/R2-D-K-button-menu-clean-diff16.png)<br>[e5b0718](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea) → [f34b5b6](https://github.com/pingdotgg/t3code/commit/f34b5b6cf9d143c859cce17f6af5939697753d07) |

![R2-D-K-button-menu-clean-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a9062553d7afe53c/R2-D-K-button-menu-clean-sheet.png)

Diff0 pixels: 677; >16: 0.


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

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