# Evidence for [#21789](https://git.cafe/pingdotgg/t3code/issues/21789)

[Public evidence index](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6353d09f1e0de8db/index.md) · Exact upload results: `/tmp/issue-21789-lead/upload-results.md`.

23 BEFORE/AFTER recording pairs (46 videos) cover V1/V2, I1–I13, and added R1/R2. Every interaction row has recordings; stills below are supplemental comparisons. Row I11 has an unavailable native-menu subcase, and R2 has controlled-animation timing, both qualified below. No public forge writes, PR, push or merge.

Baseline: immutable [8d3b061121](https://git.cafe/pingdotgg/t3code/commit/8d3b061121). Product candidate: [cee69f8f29](https://git.cafe/pingdotgg/t3code/commit/cee69f8f29afc0b37e99793de173aab682858d69). Scope expands to two production files: [Sidebar.motion.ts](https://git.cafe/pingdotgg/t3code/blob/cee69f8f29afc0b37e99793de173aab682858d69/apps/web/src/components/Sidebar.motion.ts) and [ui/sidebar.tsx](https://git.cafe/pingdotgg/t3code/blob/cee69f8f29afc0b37e99793de173aab682858d69/apps/web/src/components/ui/sidebar.tsx),25 additions/8 deletions. Local fixture-only commit `4d3e3d92c31957981711527e22cfa78e146157d0` is on fix/issue-21789 and has not been pushed.

Reusable seed: [seed-sidebar-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/139114c7a689f8be/seed-sidebar-evidence.py). Run against stopped, initialized, isolated home: `python3 scripts/seed-sidebar-evidence.py --base-dir <isolated>/.t3 --workspace <synthetic-workspace> [--empty]`. Start server with `T3CODE_AUTO_BOOTSTRAP_PROJECT_FROM_CWD=false`. Repeat seed, empty seed, Python compile, active-server refusal verified. Fixture only seeds UI projections; no backend/event-history claim. No private messages copied or provider turns run.

Same synthetic workspace/project/Alpha-Beta-Gamma seed and ordering, fixed08:00 seed timestamps, browser Date frozen10:00UTC2026-10-22; t3-chat light/dark, system theme off,200ms panel animation, notifications off, rich composer unless I4 plain, legacy onlyI5. Metadata pin/unpin commands retain real backend timestamps; affected Gamma relative label becomes now in both R1 takes. Current orderAlpha/Beta/Gamma; legacyGamma/Beta/Alpha. Environment UUID differs between homes and is not visible. Default native Linux Ctrl+digits; web overrides Ctrl+Alt+1/2/3/9 with !modelPickerOpen; browser stock digits remain browser-owned.

Real app surfaces: web through T3 preview tools in owned tabs; real headless Linux Electron using the custom t3code-dev://app origin and native CDP key input. BEFORE renderer7960 is immutable baseline, AFTER7107 is candidate. Same desktop/backend bundle (no backend changes), restart to switch renderer. No synthetic KeyboardEvent used. The rejected early HMR-based desktop trial is excluded.

Full surfaces:1440×900CSS and390×844CSS in light/dark, plus639×800CSS. T3 snapshot transfer downsizes1440 frames to1280×800; narrow DPR2 screenshots are780×1688; native ElectronDPR1 screenshots use CSS pixel dimensions. No screenshot crops or masking in comparisons. Pointer overlays are hidden for raw stills; videos retain input annotations/cursor.

Diff method: absolute RGB channel difference, zero threshold (`max(abs(RGB))>0`), amplified×8 with saturation255, and separate stated threshold `max(abs(RGB))>16/255`. No tolerance applied to the zero count, no pixels excluded. Raw PNGs preferred; two desktop pairs without raw endpoint stills use decoded final video frames and are explicitly marked. Pixel metrics are supplemental, never substitutes for interaction recordings. [Exact42-comparison statistics](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdf5813fab840d77/diff-stats.json); [46-video codec/duration validation](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9afca666c3d331b1/video-validation.json); [Artifact SHA256/size manifest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97fe7f866f3f0591/artifact-manifest.json); [Capture settings](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd08a1107e70bf9d/capture-metadata.json); [Expanded matrix](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99f5bcdc47b59c65/matrix.md).

## web-V1-1440-light

Desktop control passes both sides; selected Beta, collapsed/open layouts agree. Open still differs only at the T3 header button hover fill.

BEFORE steps/timestamps (approximate elapsed driver time): 00:01.4 Desktop expanded: select Beta → Thread Beta; focus Message; 00:02.8 External trigger collapses desktop sidebar → Thread Beta; focus Toggle main sidebar; 00:04.6 External trigger reopens desktop sidebar → Thread Beta; focus Toggle main sidebar; 00:05.9 Select Alpha; main route matches selection → Thread Alpha; focus Message.

AFTER steps/timestamps (approximate elapsed driver time): 00:01.6 Desktop expanded: select Beta → Thread Beta; focus Message; 00:03.1 External trigger collapses desktop sidebar → Thread Beta; focus Toggle main sidebar; 00:05.1 External trigger reopens desktop sidebar → Thread Beta; focus Toggle main sidebar; 00:06.4 Select Alpha; main route matches selection → Thread Alpha; focus Message.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dbc830484ef85489/web-before-V1-1440-light.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/37b17d1ad26c833e/web-after-V1-1440-light.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e30a4689928a753/web-before-V1-1440-light.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/76383dcf03ea34f5/web-after-V1-1440-light.json)

open — raw full-surface PNG; 1280×800px. Zero threshold: 622 pixels (0.060742%); >16/255: 544 (0.053125%); changed bounding box [11, 10, 37, 36]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-V1-1440-light open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0399152f71e53e48/web-before-V1-1440-light-open.png)

![AFTER web-V1-1440-light open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/62d4f0ce045a152a/web-after-V1-1440-light-open.png)

![web-V1-1440-light open absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/50f91edae7b9fedb/web-V1-1440-light-open-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c8f2da7e99c81fe4/web-V1-1440-light-open-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/25ed34272194f7ec/web-V1-1440-light-open-diff-threshold16.png)

closed — raw full-surface PNG; 1280×800px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-V1-1440-light closed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e8774be76d60324/web-before-V1-1440-light-closed.png)

![AFTER web-V1-1440-light closed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f95c8f602741b7b8/web-after-V1-1440-light-closed.png)

![web-V1-1440-light closed absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6ba40fc5555e13af/web-V1-1440-light-closed-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1736b751196b0c1b/web-V1-1440-light-closed-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b75098dc511d9b6/web-V1-1440-light-closed-diff-threshold16.png)

## web-V1-1440-dark

Desktop control passes both sides; open and collapsed raw stills are pixel-identical.

BEFORE steps/timestamps (approximate elapsed driver time): 00:01.4 Desktop expanded: select Beta → Thread Beta; focus Message; 00:02.8 External trigger collapses desktop sidebar → Thread Beta; focus Toggle main sidebar; 00:04.7 External trigger reopens desktop sidebar → Thread Beta; focus Toggle main sidebar; 00:05.9 Select Alpha; main route matches selection → Thread Alpha; focus Message.

AFTER steps/timestamps (approximate elapsed driver time): 00:01.5 Desktop expanded: select Beta → Thread Beta; focus Message; 00:02.9 External trigger collapses desktop sidebar → Thread Beta; focus Toggle main sidebar; 00:05.4 External trigger reopens desktop sidebar → Thread Beta; focus Toggle main sidebar; 00:06.5 Select Alpha; main route matches selection → Thread Alpha; focus Message.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8b365b0375e6b88/web-before-V1-1440-dark.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ccc916b9e296c51c/web-after-V1-1440-dark.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f856b099d96e956/web-before-V1-1440-dark.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b91ec30868dcafb/web-after-V1-1440-dark.json)

open — raw full-surface PNG; 1280×800px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-V1-1440-dark open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4f4dd5437f99eb47/web-before-V1-1440-dark-open.png)

![AFTER web-V1-1440-dark open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0fbec3350d49602a/web-after-V1-1440-dark-open.png)

![web-V1-1440-dark open absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/32847cbb7decfbef/web-V1-1440-dark-open-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/672a2fc2e6bf70db/web-V1-1440-dark-open-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78cd5d0b1dd12a5c/web-V1-1440-dark-open-diff-threshold16.png)

closed — raw full-surface PNG; 1280×800px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-V1-1440-dark closed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5fd6dc15cef9e229/web-before-V1-1440-dark-closed.png)

![AFTER web-V1-1440-dark closed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ad82957061fdcd8b/web-after-V1-1440-dark-closed.png)

![web-V1-1440-dark closed absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd70948aaef1c28a/web-V1-1440-dark-closed-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/932d1a9efc998481/web-V1-1440-dark-closed-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2191e47d4d32cb99/web-V1-1440-dark-closed-diff-threshold16.png)

## web-V2-I13-390-light-repeat

Stock web Ctrl+2 leaves the route unchanged on both sides, as intended. Explicit Ctrl+Alt+2/3/1 navigates Beta/Gamma/Alpha only on candidate while initially closed;9 is a no-op. Full-surface open/closed raw stills match after returning Alpha.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Stock Ctrl+2 (web default remains browser-owned) → Thread Alpha; focus BODY; 00:01.6 Explicit Ctrl+Alt+2 fresh closed → Thread Alpha; focus BODY; 00:02.3 Explicit Ctrl+Alt+3 fresh closed → Thread Alpha; focus BODY; 00:03.7 Explicit Ctrl+Alt+1 fresh closed → Thread Alpha; focus BODY; 00:04.4 Explicit Ctrl+Alt+9 fresh closed → Thread Alpha; focus BODY; 00:05.2 Open sheet: expose row selection → Thread Alpha; focus Toggle main sidebar; 00:07.3 Escape closes sheet → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Stock Ctrl+2 (browser-owned) → Thread Alpha; focus BODY; 00:01.7 Explicit Ctrl+Alt+2 fresh closed → Thread Beta; focus BODY; 00:02.8 Explicit Ctrl+Alt+3 fresh closed → Thread Gamma; focus BODY; 00:03.9 Explicit Ctrl+Alt+1 fresh closed → Thread Alpha; focus BODY; 00:05.0 Explicit Ctrl+Alt+9 fresh closed → Thread Alpha; focus BODY; 00:05.9 Open sheet and expose selection → Thread Alpha; focus Toggle main sidebar; 00:08.1 Escape closes → Thread Alpha; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e0cbb4f6f45807b4/web-before-V2-I13-390-light-repeat.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d6b6de76d67cf74/web-after-V2-I13-390-light-repeat.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/425deeea0bdff853/web-before-V2-I13-390-light-repeat.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cc25ab161c785c29/web-after-V2-I13-390-light-repeat.json)

closed — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-V2-I13-390-light-repeat closed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe697b07d4596de4/web-before-V2-I13-390-light-repeat-closed.png)

![AFTER web-V2-I13-390-light-repeat closed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4600834105ae1e0/web-after-V2-I13-390-light-repeat-closed.png)

![web-V2-I13-390-light-repeat closed absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3c2b6ee1f0dff83/web-V2-I13-390-light-repeat-closed-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9c66fdcaa14f0d48/web-V2-I13-390-light-repeat-closed-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26c17646bbde4db0/web-V2-I13-390-light-repeat-closed-diff-threshold16.png)

open — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-V2-I13-390-light-repeat open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a5de4be14f8bc024/web-before-V2-I13-390-light-repeat-open.png)

![AFTER web-V2-I13-390-light-repeat open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/71bd19755a47f264/web-after-V2-I13-390-light-repeat-open.png)

![web-V2-I13-390-light-repeat open absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38d7f6425ec2743b/web-V2-I13-390-light-repeat-open-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cee797182c4a8207/web-V2-I13-390-light-repeat-open-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/071d998ec0cba360/web-V2-I13-390-light-repeat-open-diff-threshold16.png)

## web-V2-390-dark

Same fresh-closed 2/3/1/9 behavior in dark. Open still has a different hover fill on the retained toggle; no layout difference.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Fresh closed Ctrl+Alt+2 → Thread Alpha; focus BODY; 00:01.6 Fresh closed Ctrl+Alt+3 → Thread Alpha; focus BODY; 00:02.4 Fresh closed Ctrl+Alt+1 → Thread Alpha; focus BODY; 00:03.2 Fresh closed Ctrl+Alt+9 → Thread Alpha; focus BODY; 00:04.0 Open sheet: observe selection and row order → Thread Alpha; focus Toggle main sidebar; 00:05.9 Escape: close completion and focus → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Explicit Ctrl+Alt+2 fresh closed → Thread Beta; focus BODY; 00:02.0 Explicit Ctrl+Alt+3 fresh closed → Thread Gamma; focus BODY; 00:03.2 Explicit Ctrl+Alt+1 fresh closed → Thread Alpha; focus BODY; 00:04.3 Explicit Ctrl+Alt+9 fresh closed → Thread Alpha; focus BODY; 00:05.2 Open sheet: expose row selection → Thread Alpha; focus Toggle main sidebar; 00:07.2 Escape closes sheet → Thread Alpha; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e207f911fbf88ae6/web-before-V2-390-dark.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5b4d62b0a63354/web-after-V2-390-dark.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a00e3eb413653d9/web-before-V2-390-dark.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0967d9f6fae27a56/web-after-V2-390-dark.json)

closed — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-V2-390-dark closed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/18d2c338b7611458/web-before-V2-390-dark-closed.png)

![AFTER web-V2-390-dark closed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d2e0c1d73b24266/web-after-V2-390-dark-closed.png)

![web-V2-390-dark closed absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bdbd56f13ab6c677/web-V2-390-dark-closed-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/353f744a18dd5e29/web-V2-390-dark-closed-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23a079ac75835cbc/web-V2-390-dark-closed-diff-threshold16.png)

open — raw full-surface PNG; 780×1688px. Zero threshold: 3911 pixels (0.297044%); >16/255: 3859 (0.293095%); changed bounding box [26, 20, 90, 84]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-V2-390-dark open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3126a74b95838e0c/web-before-V2-390-dark-open.png)

![AFTER web-V2-390-dark open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d28a39f686dab301/web-after-V2-390-dark-open.png)

![web-V2-390-dark open absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e608be6390e26a82/web-V2-390-dark-open-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/024c5ed5b371bc0f/web-V2-390-dark-open-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b45c10b7783ca6f/web-V2-390-dark-open-diff-threshold16.png)

## web-I1-I3-390-dark

Escape, row-selection, and backdrop dismissal all restore the toggle. Baseline post-close jumps fail (Alpha then Gamma remain); candidate jumps Beta then Alpha. Repeated keyboard toggle cycles leave no overlay. Narrow breadcrumb truncation hides some title changes in stills; route/title logs resolve them.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Open sheet → Thread Alpha; focus Toggle main sidebar; 00:02.6 Escape close → Thread Alpha; focus Toggle main sidebar; 00:03.5 Closed jump Ctrl+Alt+2 → Thread Alpha; focus Toggle main sidebar; 00:04.4 Reopen sheet → Thread Alpha; focus Toggle main sidebar; 00:05.8 Click Gamma row: auto-close → Thread Gamma; focus Toggle main sidebar; 00:07.3 Closed jump Ctrl+Alt+1 → Thread Gamma; focus Toggle main sidebar; 00:08.2 Reopen sheet → Thread Gamma; focus Toggle main sidebar; 00:10.2 Outside backdrop click x388 y400 → Thread Gamma; focus Toggle main sidebar; 00:11.4 Keyboard toggle Ctrl+B open → Thread Gamma; focus Toggle main sidebar; 00:12.4 Keyboard toggle Ctrl+B closed → Thread Gamma; focus Toggle main sidebar; 00:13.3 Keyboard toggle Ctrl+B open → Thread Gamma; focus Toggle main sidebar; 00:14.3 Keyboard toggle Ctrl+B closed → Thread Gamma; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Open sheet → Thread Alpha; focus Toggle main sidebar; 00:02.0 Escape close → Thread Alpha; focus Toggle main sidebar; 00:02.9 Closed jump Ctrl+Alt+2 → Thread Beta; focus Toggle main sidebar; 00:04.1 Reopen sheet → Thread Beta; focus Toggle main sidebar; 00:05.3 Click Gamma row: auto-close → Thread Gamma; focus Toggle main sidebar; 00:06.7 Closed jump Ctrl+Alt+1 → Thread Alpha; focus Toggle main sidebar; 00:07.8 Reopen sheet → Thread Alpha; focus Toggle main sidebar; 00:09.0 Outside backdrop click x388 y400 → Thread Alpha; focus Toggle main sidebar; 00:10.2 Keyboard toggle Ctrl+B open → Thread Alpha; focus Toggle main sidebar; 00:11.3 Keyboard toggle Ctrl+B closed → Thread Alpha; focus Toggle main sidebar; 00:12.4 Keyboard toggle Ctrl+B open → Thread Alpha; focus Toggle main sidebar; 00:13.5 Keyboard toggle Ctrl+B closed → Thread Alpha; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da526ec2aa6ae72a/web-before-I1-I3-390-dark.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c0bf5073e32f44fd/web-after-I1-I3-390-dark.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/07b504037f52a93e/web-before-I1-I3-390-dark.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2191090846d277ab/web-after-I1-I3-390-dark.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I1-I3-390-dark initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ac0f971a6b679737/web-before-I1-I3-390-dark-initial.png)

![AFTER web-I1-I3-390-dark initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be0d08af4d49537e/web-after-I1-I3-390-dark-initial.png)

![web-I1-I3-390-dark initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/745d0dfda32dbcb1/web-I1-I3-390-dark-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f36271ab80d306e8/web-I1-I3-390-dark-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a6bbe136a1d1d863/web-I1-I3-390-dark-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I1-I3-390-dark final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f4764ed579cccd2/web-before-I1-I3-390-dark-final.png)

![AFTER web-I1-I3-390-dark final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0fa314b8683aaad1/web-after-I1-I3-390-dark-final.png)

![web-I1-I3-390-dark final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da8f1c94935dae63/web-I1-I3-390-dark-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60c3d1f03f4bd6e8/web-I1-I3-390-dark-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e6db65c7a7c5e32/web-I1-I3-390-dark-final-diff-threshold16.png)

## web-I2-adjacent

Candidate follows first/middle/last and boundary behavior with one navigation per input; baseline closed inputs do nothing, while open previous works then listener disappears after close. Final raw still differs only at toggle hover fill.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Initially closed previous from Beta → Thread Beta; focus BODY; 00:01.8 Initially closed next → Thread Beta; focus BODY; 00:02.7 Jump first → Thread Beta; focus BODY; 00:03.7 Previous at first boundary → Thread Beta; focus BODY; 00:04.7 Next from first → Thread Beta; focus BODY; 00:05.7 Jump last → Thread Beta; focus BODY; 00:07.2 Next at last boundary → Thread Beta; focus BODY; 00:08.2 Previous from last → Thread Beta; focus BODY; 00:09.2 Open sheet → Thread Beta; focus Toggle main sidebar; 00:10.6 Previous with sheet open: auto-close → Thread Alpha; focus Toggle main sidebar; 00:11.8 Next after close → Thread Alpha; focus Toggle main sidebar; 00:12.7 Reopen and show resulting selection → Thread Alpha; focus Toggle main sidebar; 00:14.0 Escape → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Initially closed previous from Beta → Thread Alpha; focus BODY; 00:01.9 Initially closed next → Thread Beta; focus BODY; 00:03.0 Jump first → Thread Alpha; focus BODY; 00:04.1 Previous at first boundary → Thread Alpha; focus BODY; 00:05.0 Next from first → Thread Beta; focus BODY; 00:06.0 Jump last → Thread Gamma; focus BODY; 00:07.1 Next at last boundary → Thread Gamma; focus BODY; 00:08.0 Previous from last → Thread Beta; focus BODY; 00:09.1 Open sheet → Thread Beta; focus Toggle main sidebar; 00:10.3 Previous with sheet open: auto-close → Thread Alpha; focus Toggle main sidebar; 00:11.4 Next after close → Thread Beta; focus Toggle main sidebar; 00:12.4 Reopen and show resulting selection → Thread Beta; focus Toggle main sidebar; 00:13.5 Escape → Thread Beta; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e6f882dfd298091/web-before-I2-adjacent.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23442a1dd2c4f965/web-after-I2-adjacent.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4185128b5a7016ff/web-before-I2-adjacent.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df5df8745d9e1f75/web-after-I2-adjacent.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I2-adjacent initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acaccc4002442515/web-before-I2-adjacent-initial.png)

![AFTER web-I2-adjacent initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8ac28e9c67b23a6/web-after-I2-adjacent-initial.png)

![web-I2-adjacent initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e4df4b58eb847eb/web-I2-adjacent-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d26377e6392d495a/web-I2-adjacent-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ee454bacd0cef12/web-I2-adjacent-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 3693 pixels (0.280487%); >16/255: 3372 (0.256106%); changed bounding box [26, 20, 90, 84]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I2-adjacent final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b663d322da063341/web-before-I2-adjacent-final.png)

![AFTER web-I2-adjacent final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d0e6affab8effa7/web-after-I2-adjacent-final.png)

![web-I2-adjacent final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3dce04b60752adf/web-I2-adjacent-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2294eb692a6a0054/web-I2-adjacent-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2956346cb82fd5a/web-I2-adjacent-final-diff-threshold16.png)

## web-I3-rapid

Ordinary cycles and close/reopen after50ms preserve a usable toggle on both sides. Rapid reopen uses actual DOM button.click() twice with50ms pacing, not fabricated keyboard events. Toggle hover fill differs in stills.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Open sheet → Thread Alpha; focus Toggle main sidebar; 00:02.1 Close and reopen same toggle after 50ms (DOM click, no fabricated keyboard) → Thread Alpha; focus Toggle main sidebar; 00:03.4 Escape closes reopened sheet → Thread Alpha; focus Toggle main sidebar; 00:04.3 Keyboard reopen Ctrl+B → Thread Alpha; focus Toggle main sidebar; 00:05.4 Keyboard close Ctrl+B → Thread Alpha; focus Toggle main sidebar; 00:06.4 Pointer reopen → Thread Alpha; focus Toggle main sidebar; 00:07.7 Escape closes → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Open sheet → Thread Alpha; focus Toggle main sidebar; 00:02.0 Close and reopen same toggle after 50ms (DOM click, no fabricated keyboard) → Thread Alpha; focus Toggle main sidebar; 00:03.3 Escape closes reopened sheet → Thread Alpha; focus Toggle main sidebar; 00:04.1 Keyboard reopen Ctrl+B → Thread Alpha; focus Toggle main sidebar; 00:05.1 Keyboard close Ctrl+B → Thread Alpha; focus Toggle main sidebar; 00:06.0 Pointer reopen → Thread Alpha; focus Toggle main sidebar; 00:07.2 Escape closes → Thread Alpha; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4bb2e2fe1ee6867/web-before-I3-rapid.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ddb184226f5e5bf9/web-after-I3-rapid.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/48b93dfd727c5de6/web-before-I3-rapid.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c02597aa399da65/web-after-I3-rapid.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 3698 pixels (0.280866%); >16/255: 3648 (0.277069%); changed bounding box [26, 20, 90, 84]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I3-rapid initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/76ba15ee35135c20/web-before-I3-rapid-initial.png)

![AFTER web-I3-rapid initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a7c3c22c6aa83998/web-after-I3-rapid-initial.png)

![web-I3-rapid initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/692573414a12bc2a/web-I3-rapid-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/311fddb40292dcda/web-I3-rapid-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/979a6be3642dad02/web-I3-rapid-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 3698 pixels (0.280866%); >16/255: 3648 (0.277069%); changed bounding box [26, 20, 90, 84]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I3-rapid final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7fb70ae74a7f6438/web-before-I3-rapid-final.png)

![AFTER web-I3-rapid final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b3d0f3fea549886f/web-after-I3-rapid-final.png)

![web-I3-rapid final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7a6a1688fca6334f/web-I3-rapid-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c3af87b433e66b94/web-I3-rapid-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a33a1d3b307c217/web-I3-rapid-final-diff-threshold16.png)

## web-I4-focus-rich

Tab/Shift+Tab do not land in hidden sidebar; visible search receives focus only when open. Rich composer Ctrl+B stays in composer; unsent draft is cleared; post-close typing works. Initial still toggle hover differs; final matches.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Initial closed Tab → Thread Alpha; focus Toggle thread details panel; 00:01.5 Initial closed Shift+Tab → Thread Alpha; focus BODY; 00:02.4 Expand compact composer → Thread Alpha; focus Message; 00:03.5 Click visible composer → Thread Alpha; focus Message; 00:04.6 Type 'draft' without submission → Thread Alpha; focus Message; 00:05.4 Rich-text Ctrl+B stays in composer → Thread Alpha; focus Message; 00:06.2 Clear draft → Thread Alpha; focus Message; 00:07.0 Open external trigger → Thread Alpha; focus Toggle main sidebar; 00:08.4 Focus visible sidebar search → Thread Alpha; focus Search threads; 00:09.5 Escape closes sheet → Thread Alpha; focus Toggle main sidebar; 00:10.3 Tab after close → Thread Alpha; focus BODY; 00:11.1 Expand compact composer after close → Thread Alpha; focus Message; 00:12.3 Click composer after close → Thread Alpha; focus Message; 00:13.4 Type post-close text → Thread Alpha; focus Message; 00:14.2 Clear unsent text → Thread Alpha; focus Message.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Initial closed Tab → Thread Alpha; focus Toggle thread details panel; 00:01.7 Initial closed Shift+Tab → Thread Alpha; focus BODY; 00:02.6 Expand compact composer → Thread Alpha; focus Message; 00:03.8 Click visible composer → Thread Alpha; focus Message; 00:05.0 Type 'draft' without submission → Thread Alpha; focus Message; 00:05.9 Rich-text Ctrl+B stays in composer → Thread Alpha; focus Message; 00:06.8 Clear draft → Thread Alpha; focus Message; 00:07.7 Open external trigger → Thread Alpha; focus Toggle main sidebar; 00:09.0 Focus visible sidebar search → Thread Alpha; focus Search threads; 00:10.1 Escape closes sheet → Thread Alpha; focus Toggle main sidebar; 00:11.0 Tab after close → Thread Alpha; focus BODY; 00:11.8 Expand compact composer after close → Thread Alpha; focus Message; 00:13.0 Click composer after close → Thread Alpha; focus Message; 00:14.0 Type post-close text → Thread Alpha; focus Message; 00:15.0 Clear unsent text → Thread Alpha; focus Message.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f962f25c1926c24/web-before-I4-focus-rich.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/929f7203b7db6e9d/web-after-I4-focus-rich.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/36f8142650094b41/web-before-I4-focus-rich.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e608f815f55fbdc6/web-after-I4-focus-rich.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 3693 pixels (0.280487%); >16/255: 3372 (0.256106%); changed bounding box [26, 20, 90, 84]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I4-focus-rich initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ca480c2455ad2e6/web-before-I4-focus-rich-initial.png)

![AFTER web-I4-focus-rich initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/424a52e42ba1f98d/web-after-I4-focus-rich-initial.png)

![web-I4-focus-rich initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/019a50f177741f97/web-I4-focus-rich-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bcd7c9a0acbd2da7/web-I4-focus-rich-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d6eea53811e799d/web-I4-focus-rich-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I4-focus-rich final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14bcfb0deed8a05c/web-before-I4-focus-rich-final.png)

![AFTER web-I4-focus-rich final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/49db136acdf4defe/web-after-I4-focus-rich-final.png)

![web-I4-focus-rich final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e24183eaeddf8b2/web-I4-focus-rich-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b3b92ccdc0dad015/web-I4-focus-rich-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6c6a77f00628061b/web-I4-focus-rich-final-diff-threshold16.png)

## web-I4-focus-plain

Plain composer class tested separately (contenteditable with rich-text disabled). Ctrl+B opens sheet; Escape restores access to visible main content; typing works and is cleared. Initial/final stills match.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Expand compact plain composer → Thread Alpha; focus Message; 00:02.1 Click plain composer → Thread Alpha; focus Message; 00:03.2 Type plain unsent text → Thread Alpha; focus Message; 00:04.0 Plain Ctrl+B opens sidebar → Thread Alpha; focus Toggle main sidebar; 00:05.1 Escape returns to main → Thread Alpha; focus BODY; 00:05.9 Expand compact composer after close → Thread Alpha; focus Message; 00:07.1 Click main composer after close → Thread Alpha; focus Message; 00:08.2 Clear plain text → Thread Alpha; focus Message.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Expand compact plain composer → Thread Alpha; focus Message; 00:02.0 Click plain composer → Thread Alpha; focus Message; 00:03.1 Type plain unsent text → Thread Alpha; focus Message; 00:04.1 Plain Ctrl+B opens sidebar → Thread Alpha; focus Toggle main sidebar; 00:05.2 Escape returns to main → Thread Alpha; focus BODY; 00:06.1 Expand compact composer after close → Thread Alpha; focus Message; 00:07.3 Click main composer after close → Thread Alpha; focus Message; 00:08.5 Clear plain text → Thread Alpha; focus Message.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/693deeae20c15654/web-before-I4-focus-plain.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d84474e7cabf59d/web-after-I4-focus-plain.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a761b0d1cbb1eb7a/web-before-I4-focus-plain.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/07e2af2da1a24d4c/web-after-I4-focus-plain.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I4-focus-plain initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3961eb9c0d285c6a/web-before-I4-focus-plain-initial.png)

![AFTER web-I4-focus-plain initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/af24c0d5941d2c8b/web-after-I4-focus-plain-initial.png)

![web-I4-focus-plain initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e264a7904285908b/web-I4-focus-plain-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b0988e6e17e7429c/web-I4-focus-plain-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a9799ba00b4fa92/web-I4-focus-plain-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I4-focus-plain final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb5fb09357029af0/web-before-I4-focus-plain-final.png)

![AFTER web-I4-focus-plain final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b3741cc44b1841b9/web-after-I4-focus-plain-final.png)

![web-I4-focus-plain final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d64e7e1112b7f528/web-I4-focus-plain-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8f0be008ba460e0/web-I4-focus-plain-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5dc06912b89b94ae/web-I4-focus-plain-final-diff-threshold16.png)

## web-I5-legacy

Legacy visible order is Gamma/Beta/Alpha. Candidate closed index2→Beta, previous→Gamma, selectAlpha auto-close, then index1→Gamma. Baseline closed navigation fails. Initial toggle hover differs; final still matches.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Legacy fresh closed numeric index2 (middle Beta) → Thread Alpha; focus BODY; 00:01.7 Legacy closed previous in visible Gamma Beta Alpha order → Thread Alpha; focus BODY; 00:02.7 Open legacy sheet → Thread Alpha; focus Toggle main sidebar; 00:04.0 Select Alpha (last legacy row) and auto-close → Thread Alpha; focus Toggle main sidebar; 00:05.2 Legacy closed numeric index1 (Gamma) → Thread Alpha; focus Toggle main sidebar; 00:06.1 Toggle legacy sheet open → Thread Alpha; focus Toggle main sidebar; 00:07.1 Escape dismiss → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Legacy fresh closed numeric index2 (middle Beta) → Thread Beta; focus BODY; 00:01.8 Legacy closed previous in visible Gamma Beta Alpha order → Thread Gamma; focus BODY; 00:02.9 Open legacy sheet → Thread Gamma; focus Toggle main sidebar; 00:04.1 Select Alpha (last legacy row) and auto-close → Thread Alpha; focus BODY; 00:05.4 Legacy closed numeric index1 (Gamma) → Thread Gamma; focus BODY; 00:06.4 Toggle legacy sheet open → Thread Gamma; focus Toggle main sidebar; 00:07.3 Escape dismiss → Thread Gamma; focus BODY.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0805115dd9115c0f/web-before-I5-legacy.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/230b09ad8546f705/web-after-I5-legacy.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e6da9fe18aa0049a/web-before-I5-legacy.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e7555ea516a9f6e/web-after-I5-legacy.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 3698 pixels (0.280866%); >16/255: 3648 (0.277069%); changed bounding box [26, 20, 90, 84]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I5-legacy initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1867223e69cdb949/web-before-I5-legacy-initial.png)

![AFTER web-I5-legacy initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/670d35ddc99ebc0e/web-after-I5-legacy-initial.png)

![web-I5-legacy initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/971c1721f663dc76/web-I5-legacy-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/63cd81d3096061ec/web-I5-legacy-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08490f2f5f9ef840/web-I5-legacy-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I5-legacy final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/50ed4f0352235c56/web-before-I5-legacy-final.png)

![AFTER web-I5-legacy final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ede02b833e3e230f/web-after-I5-legacy-final.png)

![web-I5-legacy final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/af0d5f2f1b0cdcbc/web-I5-legacy-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df40499f7a64df0c/web-I5-legacy-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/afb2ac705e7bc68b/web-I5-legacy-final-diff-threshold16.png)

## web-I6-settings

Candidate Ctrl+F and body slash open/focus visible search before first open and after close. Baseline fails both and the recording explicitly labels a conditional pointer fallback so later controls can run. Search Enter and Appearance section close; native slash in editable search stays text; Escape clears then closes. Initial toggle hover differs; final has five RGB-level antialias pixels around the Interface font card (all below threshold16), no visible text/layout change.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Fresh closed Settings Ctrl+F opens search → /settings/general; focus BODY; 00:01.6 Ensure sheet open (fallback pointer only if Ctrl+F failed) → /settings/general; focus Toggle main sidebar; 00:02.6 Search font → /settings/general; focus Search settings; 00:03.5 Select first search result via Enter → /settings/appearance; focus DIV; 00:04.7 Focus noneditable body → /settings/appearance; focus BODY; 00:05.6 Slash from body reopens → /settings/appearance; focus BODY; 00:06.4 Ensure sheet open after slash (fallback if failed) → /settings/appearance; focus Toggle main sidebar; 00:07.3 Clear query → /settings/appearance; focus Search settings; 00:08.1 Click Appearance section and close → /settings/appearance; focus BODY; 00:09.3 Reopen external trigger → /settings/appearance; focus Toggle main sidebar; 00:10.4 Empty editable Settings search → /settings/appearance; focus Search settings; 00:11.2 Native slash in editable field stays text → /settings/appearance; focus Search settings; 00:12.1 Escape clears search → /settings/appearance; focus Search settings; 00:12.9 Escape closes sheet → /settings/appearance; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Fresh closed Settings Ctrl+F opens search → /settings/general; focus Search settings; 00:01.7 Ensure sheet open (fallback pointer only if Ctrl+F failed) → /settings/general; focus Search settings; 00:02.6 Search font → /settings/general; focus Search settings; 00:03.5 Select first search result via Enter → /settings/appearance; focus DIV; 00:05.2 Focus noneditable body → /settings/appearance; focus BODY; 00:06.1 Slash from body reopens → /settings/appearance; focus Search settings; 00:07.0 Ensure sheet open after slash (fallback if failed) → /settings/appearance; focus Search settings; 00:07.8 Clear query → /settings/appearance; focus Search settings; 00:08.7 Click Appearance section and close → /settings/appearance; focus BODY; 00:10.0 Reopen external trigger → /settings/appearance; focus Toggle main sidebar; 00:11.1 Empty editable Settings search → /settings/appearance; focus Search settings; 00:12.0 Native slash in editable field stays text → /settings/appearance; focus Search settings; 00:12.8 Escape clears search → /settings/appearance; focus Search settings; 00:13.7 Escape closes sheet → /settings/appearance; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/69fad03bf518fdcc/web-before-I6-settings.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9306868fb27ddeeb/web-after-I6-settings.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6382409f78ff4348/web-before-I6-settings.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb8f5224dc847581/web-after-I6-settings.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 3693 pixels (0.280487%); >16/255: 3372 (0.256106%); changed bounding box [26, 20, 90, 84]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I6-settings initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9bb043ec6d587a8/web-before-I6-settings-initial.png)

![AFTER web-I6-settings initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e69224945d50912d/web-after-I6-settings-initial.png)

![web-I6-settings initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/baa5fa04ad5154fd/web-I6-settings-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/36b53cbc301d95ff/web-I6-settings-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4a49b53441bec244/web-I6-settings-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 5 pixels (0.000380%); >16/255: 0 (0.000000%); changed bounding box [54, 678, 726, 704]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I6-settings final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7f5d60c7fc2ad87/web-before-I6-settings-final.png)

![AFTER web-I6-settings final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4c509574b8a5e625/web-after-I6-settings-final.png)

![web-I6-settings final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8458ce9b4eedb625/web-I6-settings-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d241f9cb7d41db4e/web-I6-settings-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7dcd241179c7c419/web-I6-settings-final-diff-threshold16.png)

## web-I7-routes

Settings, Usage, and available Pull Requests utility route close and return correctly; no stale thread listener on Settings. New thread opens an unsent local draft. Both sides return the same views; initial/final stills match. No provider or forge action executed.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Open main sheet → Thread Alpha; focus Toggle main sidebar; 00:02.1 Settings utility auto-close and child replacement → /settings/general; focus Toggle main sidebar; 00:03.7 No stale thread jump listener on Settings → /settings/general; focus Toggle main sidebar; 00:04.5 Open Settings navigation → /settings/general; focus Toggle main sidebar; 00:05.7 Back to main → Thread Alpha; focus Toggle main sidebar; 00:07.2 Open main sheet → Thread Alpha; focus Toggle main sidebar; 00:08.7 Usage utility auto-close → /usage; focus Toggle main sidebar; 00:10.0 Open Usage sheet → /usage; focus Toggle main sidebar; 00:11.2 Back from Usage → Thread Alpha; focus Toggle main sidebar; 00:12.7 Open main sheet → Thread Alpha; focus Toggle main sidebar; 00:14.0 Pull Requests utility auto-close → /pull-requests; focus Toggle main sidebar; 00:15.4 Open utility sheet → /pull-requests; focus Toggle main sidebar; 00:16.6 Back from Pull Requests → Thread Alpha; focus Toggle main sidebar; 00:18.2 Open main sheet for draft → Thread Alpha; focus Toggle main sidebar; 00:19.4 New local draft without send → New thread; focus Message.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Open main sheet → Thread Alpha; focus Toggle main sidebar; 00:02.1 Settings utility auto-close and child replacement → /settings/general; focus Toggle main sidebar; 00:04.3 No stale thread jump listener on Settings → /settings/general; focus Toggle main sidebar; 00:05.1 Open Settings navigation → /settings/general; focus Toggle main sidebar; 00:06.3 Back to main → Thread Alpha; focus Toggle main sidebar; 00:07.8 Open main sheet → Thread Alpha; focus Toggle main sidebar; 00:09.0 Usage utility auto-close → /usage; focus Toggle main sidebar; 00:10.3 Open Usage sheet → /usage; focus Toggle main sidebar; 00:11.6 Back from Usage → Thread Alpha; focus Toggle main sidebar; 00:13.2 Open main sheet → Thread Alpha; focus Toggle main sidebar; 00:14.4 Pull Requests utility auto-close → /pull-requests; focus Toggle main sidebar; 00:15.6 Open utility sheet → /pull-requests; focus Toggle main sidebar; 00:16.7 Back from Pull Requests → Thread Alpha; focus Toggle main sidebar; 00:18.2 Open main sheet for draft → Thread Alpha; focus Toggle main sidebar; 00:19.5 New local draft without send → New thread; focus Message.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a79074b7f706874c/web-before-I7-routes.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9ab7b9416a481200/web-after-I7-routes.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/24db649d63e1dafa/web-before-I7-routes.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e8ffe26ad6fbbaf/web-after-I7-routes.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I7-routes initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/daf1c95144bac651/web-before-I7-routes-initial.png)

![AFTER web-I7-routes initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d75d635d0a7662c/web-after-I7-routes-initial.png)

![web-I7-routes initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/72a3fae943f32db0/web-I7-routes-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6888c0ebb7f34b99/web-I7-routes-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ad14330abd9a36a/web-I7-routes-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I7-routes final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fcde9d2197d6534b/web-before-I7-routes-final.png)

![AFTER web-I7-routes final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/026b1239ecea48ee/web-after-I7-routes-final.png)

![web-I7-routes final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6be8012630881db/web-I7-routes-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b93f0077a0102003/web-I7-routes-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d957123ee7dcffe7/web-I7-routes-final-diff-threshold16.png)

## web-I8-empty

Separate zero-thread seed in both homes. Jump/adjacent commands do not invent a target; sheet toggles and new local draft work. Initial still differs at blinking composer caret and a few composer-border pixels; final matches.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Empty no-thread home jump2 (no phantom target) → New thread; focus BODY; 00:01.7 Empty previous → New thread; focus BODY; 00:02.5 Empty next → New thread; focus BODY; 00:03.6 Open empty sheet → New thread; focus Toggle main sidebar; 00:04.8 Escape closes → New thread; focus Toggle main sidebar; 00:05.8 Reopen empty sheet → New thread; focus Toggle main sidebar; 00:07.0 New local draft, no send → New thread; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Empty no-thread home jump2 (no phantom target) → New thread; focus Message; 00:01.8 Empty previous → New thread; focus Message; 00:02.7 Empty next → New thread; focus Message; 00:03.6 Open empty sheet → New thread; focus Toggle main sidebar; 00:04.8 Escape closes → New thread; focus Toggle main sidebar; 00:05.7 Reopen empty sheet → New thread; focus Toggle main sidebar; 00:06.9 New local draft, no send → New thread; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7256285592006be0/web-before-I8-empty.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/182878e33c5351cf/web-after-I8-empty.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8eb572b4ef310f52/web-before-I8-empty.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5671ee672b27d1e/web-after-I8-empty.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 240 pixels (0.018228%); >16/255: 70 (0.005317%); changed bounding box [50, 739, 730, 960]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I8-empty initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/640d2efb64f54981/web-before-I8-empty-initial.png)

![AFTER web-I8-empty initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/21415c95a668a668/web-after-I8-empty-initial.png)

![web-I8-empty initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5ef807a143e12f1/web-I8-empty-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d81f33db3cee0950/web-I8-empty-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb36a637f900f758/web-I8-empty-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I8-empty final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc723d247d803b19/web-before-I8-empty-final.png)

![AFTER web-I8-empty final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b8e65e87cd652ac/web-after-I8-empty-final.png)

![web-I8-empty final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5ea649881c69bbc/web-I8-empty-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e1d3a738037a8903/web-I8-empty-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2bfed6dae863d65/web-I8-empty-final-diff-threshold16.png)

## web-I9-R2-responsive

Closed/open390→767→768→1440→390 remount controls pass; candidate closed navigation stays available, baseline narrow closed navigation fails. Natural close-crossing attempt is labeled as an attempt only; exact unfinished-close proof is the separate controlled R2 pair. Final toggle hover differs.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Closed viewport → 767 → Thread Alpha; focus BODY; 00:01.7 Navigate Ctrl+Alt+2 at 767 → Thread Alpha; focus BODY; 00:02.5 Closed viewport → 768 → Thread Alpha; focus BODY; 00:03.7 Navigate Ctrl+Alt+2 at 768 → Thread Beta; focus Message; 00:04.8 Closed viewport → 1440 → Thread Beta; focus Message; 00:05.8 Navigate Ctrl+Alt+2 at 1440 → Thread Beta; focus Message; 00:06.7 Closed viewport → 390 → Thread Beta; focus Message; 00:07.6 Navigate Ctrl+Alt+2 at 390 → Thread Beta; focus Message; 00:08.5 Open narrow sheet → Thread Beta; focus Toggle main sidebar; 00:09.9 Open sheet crosses to desktop 768 → Thread Beta; focus Toggle main sidebar; 00:10.9 Open state returns to narrow 390 → Thread Beta; focus Toggle main sidebar; 00:12.0 Escape closes → Thread Beta; focus Toggle main sidebar; 00:12.8 Open for close-cross768 race → Thread Beta; focus Toggle main sidebar; 00:15.4 Returned narrow toggle remains usable: open → Thread Beta; focus Toggle main sidebar; 00:16.6 Escape final close → Thread Beta; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Closed viewport → 767 → Thread Alpha; focus BODY; 00:01.8 Navigate Ctrl+Alt+2 at 767 → Thread Beta; focus Message; 00:03.0 Closed viewport → 768 → Thread Beta; focus Message; 00:04.0 Navigate Ctrl+Alt+2 at 768 → Thread Beta; focus Message; 00:04.9 Closed viewport → 1440 → Thread Beta; focus Message; 00:06.0 Navigate Ctrl+Alt+2 at 1440 → Thread Beta; focus Message; 00:06.9 Closed viewport → 390 → Thread Beta; focus Message; 00:07.9 Navigate Ctrl+Alt+2 at 390 → Thread Beta; focus Message; 00:09.0 Open narrow sheet → Thread Beta; focus Toggle main sidebar; 00:10.4 Open sheet crosses to desktop768 → Thread Beta; focus Toggle main sidebar; 00:11.5 Open state returns narrow390 → Thread Beta; focus Toggle main sidebar; 00:12.6 Escape closes → Thread Beta; focus Toggle main sidebar; 00:13.5 Open for close-cross768 attempt → Thread Beta; focus Toggle main sidebar; 00:14.8 Escape then cross768 and return390 (natural timing attempt, not R2 proof) → Thread Beta; focus Toggle main sidebar; 00:16.3 Returned narrow toggle opens → Thread Beta; focus Toggle main sidebar; 00:17.5 Escape final close → Thread Beta; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/211cb65a64aa4bc9/web-before-I9-R2-responsive.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4ae98e1824415e8/web-after-I9-R2-responsive.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6dbf7aa2463afdb/web-before-I9-R2-responsive.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4321c7cc579f06bf/web-after-I9-R2-responsive.json)

final — raw full-surface PNG; 780×1688px. Zero threshold: 3698 pixels (0.280866%); >16/255: 3648 (0.277069%); changed bounding box [26, 20, 90, 84]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I9-R2-responsive final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22497a95ac9e8bfc/web-before-I9-R2-responsive-final.png)

![AFTER web-I9-R2-responsive final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/652e0f68b1e11378/web-after-I9-R2-responsive-final.png)

![web-I9-R2-responsive final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1c568e6636cf8245/web-I9-R2-responsive-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ee9ac81acd6f1c0/web-I9-R2-responsive-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7213efa645e9a3cf/web-I9-R2-responsive-final-diff-threshold16.png)

## web-I10-639-light

Issue-width639 covers the sheet edge and backdrop. Candidate closed navigation works before/after close; baseline fails. Initial web still has a small header icon hover change; final matches. Native companion below shows selected row and title differences.

BEFORE steps/timestamps (approximate elapsed driver time): 00:01.3 Fresh closed explicit jump Beta at639 → Thread Alpha; focus BODY; 00:02.1 Open sheet at639; inspect sheet edge → Thread Alpha; focus Toggle main sidebar; 00:04.1 Escape closes → Thread Alpha; focus Toggle main sidebar; 00:05.0 Post-close jump Gamma → Thread Alpha; focus Toggle main sidebar; 00:05.8 Reopen → Thread Alpha; focus Toggle main sidebar; 00:07.1 Click Alpha closes → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Fresh closed explicit jump Beta at639 → Thread Beta; focus BODY; 00:02.0 Open sheet at639; inspect sheet edge → Thread Beta; focus Toggle main sidebar; 00:03.2 Escape closes → Thread Beta; focus Toggle main sidebar; 00:04.1 Post-close jump Gamma → Thread Gamma; focus Toggle main sidebar; 00:05.2 Reopen → Thread Gamma; focus Toggle main sidebar; 00:06.4 Click Alpha closes → Thread Alpha; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a5d275397bd2142e/web-before-I10-639-light.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5528f439b77ea97f/web-after-I10-639-light.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/93db652f67a83921/web-before-I10-639-light.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f086ebb6c679f64/web-after-I10-639-light.json)

initial — raw full-surface PNG; 1278×1600px. Zero threshold: 64 pixels (0.003130%); >16/255: 64 (0.003130%); changed bounding box [701, 47, 719, 57]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I10-639-light initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8eb004e069260c1/web-before-I10-639-light-initial.png)

![AFTER web-I10-639-light initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64513697795e42e9/web-after-I10-639-light-initial.png)

![web-I10-639-light initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5c89775d93b0b3ba/web-I10-639-light-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b87b8ab5b8971304/web-I10-639-light-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1bbd0b7b2f4f179/web-I10-639-light-initial-diff-threshold16.png)

final — raw full-surface PNG; 1278×1600px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I10-639-light final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ac81eb7fed41cc5a/web-before-I10-639-light-final.png)

![AFTER web-I10-639-light final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ac7ead7084a2b6f3/web-after-I10-639-light-final.png)

![web-I10-639-light final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a540f8f73600b4d3/web-I10-639-light-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a6e496a76c32fe1/web-I10-639-light-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff075139e8a4a0a5/web-I10-639-light-final-diff-threshold16.png)

## web-I12-arbitration

Command palette/model picker suppress background numeric/adjacent navigation; actual Ghostty Terminal input receives focus and retains route. No terminal command submitted. Initial still matches; final candidate model-picker chip hover fill remains highlighted whereas baseline is unhighlighted.

BEFORE steps/timestamps (approximate elapsed driver time): 00:01.1 Command palette Ctrl+K → Thread Beta; focus INPUT; 00:02.2 Numeric jump suppressed behind palette → Thread Beta; focus INPUT; 00:03.0 Adjacent suppressed behind palette → Thread Beta; focus INPUT; 00:04.0 Escape palette → Thread Beta; focus BODY; 00:04.9 Open model picker → Thread Beta; focus INPUT; 00:06.2 Jump suppressed behind model picker → Thread Beta; focus INPUT; 00:07.1 Adjacent suppressed behind model picker → Thread Beta; focus INPUT; 00:07.9 Escape picker → Thread Beta; focus BODY; 00:08.8 Open terminal Ctrl+J; actual Terminal input receives focus → Thread Beta; focus Terminal input; 00:09.9 Configured jump with terminal focused → Thread Beta; focus Terminal input; 00:10.8 Adjacent with terminal focus → Thread Beta; focus Terminal input; 00:11.6 Close terminal Ctrl+J → Thread Beta; focus BODY.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Command palette Ctrl+K → Thread Beta; focus INPUT; 00:01.9 Numeric jump suppressed behind palette → Thread Beta; focus INPUT; 00:02.8 Adjacent suppressed behind palette → Thread Beta; focus INPUT; 00:03.7 Escape palette → Thread Beta; focus BODY; 00:04.6 Open model picker → Thread Beta; focus INPUT; 00:05.9 Jump suppressed behind model picker → Thread Beta; focus INPUT; 00:06.9 Adjacent suppressed behind model picker → Thread Beta; focus INPUT; 00:07.8 Escape picker → Thread Beta; focus BODY; 00:08.7 Open terminal Ctrl+J; actual Terminal input receives focus → Thread Beta; focus Terminal input; 00:09.8 Configured jump with terminal focused → Thread Beta; focus Terminal input; 00:10.7 Adjacent with terminal focus → Thread Beta; focus Terminal input; 00:11.6 Close terminal Ctrl+J → Thread Beta; focus BODY.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb6f7e49760f76e1/web-before-I12-arbitration.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8efede6b06e27cbb/web-after-I12-arbitration.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/007033fd0c0bef86/web-before-I12-arbitration.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6e1164d289608531/web-after-I12-arbitration.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I12-arbitration initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b3b46ab89fc65864/web-before-I12-arbitration-initial.png)

![AFTER web-I12-arbitration initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f3ba2200602a1e2/web-after-I12-arbitration-initial.png)

![web-I12-arbitration initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a221fe09996ffd49/web-I12-arbitration-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0025fdf11380485e/web-I12-arbitration-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8308eeca3614e0d/web-I12-arbitration-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 5652 pixels (0.429275%); >16/255: 5343 (0.405806%); changed bounding box [84, 1592, 188, 1648]. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I12-arbitration final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6184b66214892378/web-before-I12-arbitration-final.png)

![AFTER web-I12-arbitration final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb71f049094b9d36/web-after-I12-arbitration-final.png)

![web-I12-arbitration final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/473682f8a1b0a645/web-I12-arbitration-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/191c77999749aa26/web-I12-arbitration-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00d60b2cbafd4bf2/web-I12-arbitration-final-diff-threshold16.png)

## web-I12-keycapture

Native Ctrl+B is captured by the Sidebar Toggle shortcut editor without opening the sheet. Capture auto-saves the existing same binding; the following Escape label says cancel but the editor has already closed. This is same-binding capture/control proof, not proof of canceling an unsaved edit. Initial/final stills match.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Filter bindings: sidebar → /settings/keybindings; focus Search keybindings; 00:01.6 Edit sidebar toggle shortcut → /settings/keybindings; focus Keybinding for Sidebar: Toggle; 00:02.7 Capture native Ctrl+B, do not toggle sidebar → /settings/keybindings; focus BODY; 00:03.7 Escape cancels edit → /; focus BODY.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Filter bindings: sidebar → /settings/keybindings; focus Search keybindings; 00:01.7 Edit sidebar toggle shortcut → /settings/keybindings; focus Keybinding for Sidebar: Toggle; 00:02.8 Capture native Ctrl+B, do not toggle sidebar → /settings/keybindings; focus BODY; 00:03.7 Escape cancels edit → /; focus BODY.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e4d57dfb192dd59/web-before-I12-keycapture.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f69507f4050a1b5a/web-after-I12-keycapture.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc7728e3438b05ce/web-before-I12-keycapture.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c8bb565ed3f8ced2/web-after-I12-keycapture.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I12-keycapture initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3ecd9674c6d9e1d9/web-before-I12-keycapture-initial.png)

![AFTER web-I12-keycapture initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9cf09d737bf85a30/web-after-I12-keycapture-initial.png)

![web-I12-keycapture initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/63bffbe0f75e6353/web-I12-keycapture-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00dfafae49f3b9dd/web-I12-keycapture-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/618ab14326aeb660/web-I12-keycapture-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-I12-keycapture final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b2080ff30a731d2/web-before-I12-keycapture-final.png)

![AFTER web-I12-keycapture final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3df5edbcfcc6c3e1/web-after-I12-keycapture-final.png)

![web-I12-keycapture final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/37369f8b6cf17bfb/web-I12-keycapture-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8663a073097055d5/web-I12-keycapture-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3da97291542a5c84/web-I12-keycapture-final-diff-threshold16.png)

## web-R1-hidden-reorder

Both sides show hidden pin/reorder→open and visible unpin/reorder, twice. Baseline unmounts the list; candidate retains it hidden. Candidate read-only Element.animate trace has zero row animations across this sequence; no flight from zero appears. Baseline trace records ordinary visible reorder offsets83/−166px. This checks zero-position suppression; it does not assert that candidate animates the first visible reorder after hidden suspension. Initial/final stills match.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.9 Open initial Alpha Beta Gamma order → Thread Gamma; focus Toggle main sidebar; 00:02.8 Escape closes list completely → Thread Gamma; focus Toggle main sidebar; 00:03.9 Pin Gamma while hidden, moving it to first → Thread Gamma; focus Toggle main sidebar; 00:10.1 Open after hidden reorder; no rows from zero → Thread Gamma; focus Toggle main sidebar; 00:11.4 Unpin Gamma while visible; ordinary reorder → Thread Gamma; focus Toggle main sidebar; 00:12.6 Escape closes → Thread Gamma; focus Toggle main sidebar; 00:13.5 Pin Gamma while hidden again → Thread Gamma; focus Toggle main sidebar; 00:15.8 Open after second hidden reorder → Thread Gamma; focus Toggle main sidebar; 00:20.7 Unpin Gamma while visible → Thread Gamma; focus Toggle main sidebar; 00:22.2 Escape final close → Thread Gamma; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.9 Open initial Alpha Beta Gamma order → Thread Gamma; focus Toggle main sidebar; 00:02.1 Escape closes list completely → Thread Gamma; focus Toggle main sidebar; 00:03.0 Pin Gamma while hidden, moving it to first → Thread Gamma; focus Toggle main sidebar; 00:04.1 Open after hidden reorder; no rows from zero → Thread Gamma; focus Toggle main sidebar; 00:05.4 Unpin Gamma while visible; ordinary reorder → Thread Gamma; focus Toggle main sidebar; 00:06.3 Escape closes → Thread Gamma; focus Toggle main sidebar; 00:07.3 Pin Gamma while hidden again → Thread Gamma; focus Toggle main sidebar; 00:08.3 Open after second hidden reorder → Thread Gamma; focus Toggle main sidebar; 00:09.5 Unpin Gamma while visible → Thread Gamma; focus Toggle main sidebar; 00:10.6 Escape final close → Thread Gamma; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/41c40adaacd55a44/web-before-R1-hidden-reorder.mp4) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fda8dd14e5805585/web-after-R1-hidden-reorder.mp4) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b6f76ab9a4ca6d53/web-before-R1-hidden-reorder.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a9918b5ee92dc4a/web-after-R1-hidden-reorder.json)

initial — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-R1-hidden-reorder initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6f241bfdff6a2aa1/web-before-R1-hidden-reorder-initial.png)

![AFTER web-R1-hidden-reorder initial](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f524da18e0b22f6e/web-after-R1-hidden-reorder-initial.png)

![web-R1-hidden-reorder initial absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d7084417d4fecc0/web-R1-hidden-reorder-initial-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a4c3292aee8de30/web-R1-hidden-reorder-initial-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d2cd8555130de25e/web-R1-hidden-reorder-initial-diff-threshold16.png)

final — raw full-surface PNG; 780×1688px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE web-R1-hidden-reorder final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7a805b50c11bcc85/web-before-R1-hidden-reorder-final.png)

![AFTER web-R1-hidden-reorder final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8dbae2077cd9a495/web-after-R1-hidden-reorder-final.png)

![web-R1-hidden-reorder final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bdcc329a9e8d725f/web-R1-hidden-reorder-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99deb9188752dc3e/web-R1-hidden-reorder-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0acae48f83c3cca6/web-R1-hidden-reorder-final-diff-threshold16.png)

## desktop-V2-I11-390-dark

Real Electron, native Linux Ctrl+2/3/1/9. Baseline fresh/post-close Ctrl+2 staysAlpha; candidate jumpsBeta. Both finish Alpha. Final decoded video frames include unequal overlay labels/cursor positions, one-channel compression differences, and tiny text rasterization noise; they are not raw pixel-equivalence proof.

BEFORE steps/timestamps (approximate elapsed driver time): 00:02.6 Fresh closed default Ctrl+2 → Thread Alpha; focus BODY; 00:11.4 Fresh closed default Ctrl+3 → Thread Alpha; focus BODY; 00:18.9 Fresh closed default Ctrl+1 → Thread Alpha; focus BODY; 00:25.8 Fresh closed default Ctrl+9 → Thread Alpha; focus BODY; 00:31.7 Open sheet and show Alpha/Beta/Gamma order → Thread Alpha; focus Toggle main sidebar; 00:37.9 Escape closes sheet → Thread Alpha; focus Toggle main sidebar; 00:43.7 Post-close Ctrl+2 → Thread Alpha; focus Toggle main sidebar; 00:49.3 Reopen to expose selection → Thread Alpha; focus Toggle main sidebar; 00:55.3 Escape returns focus → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Fresh closed default Ctrl+2 → Thread Beta; focus BODY; 00:01.8 Fresh closed default Ctrl+3 → Thread Gamma; focus BODY; 00:02.7 Fresh closed default Ctrl+1 → Thread Alpha; focus BODY; 00:03.7 Fresh closed default Ctrl+9 → Thread Alpha; focus BODY; 00:04.5 Open sheet and show Alpha/Beta/Gamma order → Thread Alpha; focus Toggle main sidebar; 00:05.3 Escape closes sheet → Thread Alpha; focus Toggle main sidebar; 00:06.0 Post-close Ctrl+2 → Thread Beta; focus Toggle main sidebar; 00:07.0 Reopen to expose selection → Thread Beta; focus Toggle main sidebar; 00:07.8 Escape returns focus → Thread Beta; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/581890816b0b9949/desktop-before-V2-I11-390-dark.webm) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e22e34bd0ae530ff/desktop-after-V2-I11-390-dark.webm) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff36cf9bdea86932/desktop-before-V2-I11-390-dark.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db93f580844f6f72/desktop-after-V2-I11-390-dark.json)

video-final — decoded final video frame; includes input overlay/cursor/compression; 390×844px. Zero threshold: 239413 pixels (72.734536%); >16/255: 2197 (0.667457%); changed bounding box [0, 0, 390, 844]. All nonzero regions are accounted for in the pair notes above.

![BEFORE desktop-V2-I11-390-dark video-final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/74ec4b146dab1841/desktop-before-V2-I11-390-dark-video-final.png)

![AFTER desktop-V2-I11-390-dark video-final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26e51437c1e49bd1/desktop-after-V2-I11-390-dark-video-final.png)

![desktop-V2-I11-390-dark video-final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/760fbf3ba1dc5129/desktop-V2-I11-390-dark-video-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7de7d275839ce14d/desktop-V2-I11-390-dark-video-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aeb0a8af13a2e9f6/desktop-V2-I11-390-dark-video-final-diff-threshold16.png)

## desktop-I11-1440-dark

Real Electron native digits, adjacent shortcuts, keyboard collapse, Tab, rail reopen all pass on both sides. Native sidebar menu item is absent in this build, so no menu-click proof is claimed. Final video-frame diff is predominantly encoder noise with tiny overlay/header/cursor residuals; no layout shift.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Default Ctrl+2 desktop expanded → Thread Beta; focus Message; 00:01.8 Default Ctrl+3 desktop expanded → Thread Gamma; focus Message; 00:02.9 Default Ctrl+1 desktop expanded → Thread Alpha; focus Message; 00:03.9 Default previous Ctrl+Shift+[ → Thread Alpha; focus Message; 00:04.7 Default next Ctrl+Shift+] → Thread Beta; focus Message; 00:05.7 Collapse desktop via Ctrl+B → Thread Beta; focus Message; 00:06.4 Tab while desktop collapsed → Thread Beta; focus BUTTON; 00:07.2 Reopen collapsed desktop via rail → Thread Beta; focus BUTTON.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Default Ctrl+2 desktop expanded → Thread Beta; focus Message; 00:01.8 Default Ctrl+3 desktop expanded → Thread Gamma; focus Message; 00:02.8 Default Ctrl+1 desktop expanded → Thread Alpha; focus Message; 00:03.8 Default previous Ctrl+Shift+[ → Thread Alpha; focus Message; 00:04.6 Default next Ctrl+Shift+] → Thread Beta; focus Message; 00:05.6 Collapse desktop via Ctrl+B → Thread Beta; focus Message; 00:06.3 Tab while desktop collapsed → Thread Beta; focus BUTTON; 00:07.1 Reopen collapsed desktop via rail → Thread Beta; focus BUTTON.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4271c2534b4624f1/desktop-before-I11-1440-dark.webm) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02085b00afe63636/desktop-after-I11-1440-dark.webm) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9ffe2061193f41f0/desktop-before-I11-1440-dark.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb1e0b95329006fb/desktop-after-I11-1440-dark.json)

video-final — decoded final video frame; includes input overlay/cursor/compression; 1440×900px. Zero threshold: 26098 pixels (2.013735%); >16/255: 7 (0.000540%); changed bounding box [0, 0, 1432, 900]. All nonzero regions are accounted for in the pair notes above.

![BEFORE desktop-I11-1440-dark video-final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6378037e42390a8b/desktop-before-I11-1440-dark-video-final.png)

![AFTER desktop-I11-1440-dark video-final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba8485e51f8aab91/desktop-after-I11-1440-dark-video-final.png)

![desktop-I11-1440-dark video-final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/30384037afb1a71d/desktop-I11-1440-dark-video-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b578d3e808562f5b/desktop-I11-1440-dark-video-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d8fcdcac37a1ce6/desktop-I11-1440-dark-video-final-diff-threshold16.png)

## desktop-I12-repeat

Real CDP Input keydown (trusted) plus autoRepeat true ×4 keepsBeta; keyup followed by a new physical press movesGamma on both sides. Raw final diff is one vertical sidebar rail column at x256 (hover border state), not different sidebar width.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Hold native Ctrl+Shift+] : first navigates, repeats ignored → Thread Beta; focus Message; 00:03.2 New physical Ctrl+Shift+] next navigation → Thread Gamma; focus Message.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Hold native Ctrl+Shift+] : first navigates, repeats ignored → Thread Beta; focus Message; 00:02.5 New physical Ctrl+Shift+] next navigation → Thread Gamma; focus Message.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/03d093aebb2a1ece/desktop-before-I12-repeat.webm) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ce3051821a1c5c1/desktop-after-I12-repeat.webm) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/95460990ee6bec44/desktop-before-I12-repeat.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9d04082406e4366/desktop-after-I12-repeat.json)

final — raw full-surface PNG; 1440×900px. Zero threshold: 900 pixels (0.069444%); >16/255: 900 (0.069444%); changed bounding box [256, 0, 257, 900]. All nonzero regions are accounted for in the pair notes above.

![BEFORE desktop-I12-repeat final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e5a31a9cfd2c208/desktop-before-I12-repeat-final.png)

![AFTER desktop-I12-repeat final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe6c74a053f4c1e0/desktop-after-I12-repeat-final.png)

![desktop-I12-repeat final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c94ede00f00c5cd2/desktop-I12-repeat-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3da12193f57faabf/desktop-I12-repeat-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/adf1ede0f9e68017/desktop-I12-repeat-final-diff-threshold16.png)

## desktop-R2-controlled-closing

Real Escape starts the actual CSS closing animation while CDP Animation playbackRate=0. The logged animation has duration200ms,currentTime0 before viewport768→390; resume rate1; external toggle opens/closes successfully on both sides. This deliberately controls animation time to make the unfinished-close state deterministic. Baseline also passes because it predates the keepMounted flag regression. Natural wall-clock crossing within200ms remains unverified. Final raw diff is external toggle focus/hover outline and pointer antialiasing.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Open narrow sheet → Thread Alpha; focus Toggle main sidebar; 00:01.7 Freeze animation clock at real Escape close (200ms duration); cross768 then390; resume → Thread Alpha; focus Toggle main sidebar; 00:03.8 Restored external toggle opens → Thread Alpha; focus Toggle main sidebar; 00:04.7 Escape closes normally → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Open narrow sheet → Thread Alpha; focus Toggle main sidebar; 00:01.6 Freeze animation clock at real Escape close (200ms duration); cross768 then390; resume → Thread Alpha; focus Toggle main sidebar; 00:03.8 Restored external toggle opens → Thread Alpha; focus Toggle main sidebar; 00:04.6 Escape closes normally → Thread Alpha; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/737751b781f13707/desktop-before-R2-controlled-closing.webm) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/975d3cacbb7cb9ca/desktop-after-R2-controlled-closing.webm) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9bace08ded1a16f9/desktop-before-R2-controlled-closing.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/04f4e4dd84477734/desktop-after-R2-controlled-closing.json)

final — raw full-surface PNG; 390×844px. Zero threshold: 209 pixels (0.063495%); >16/255: 91 (0.027646%); changed bounding box [14, 5, 44, 35]. All nonzero regions are accounted for in the pair notes above.

![BEFORE desktop-R2-controlled-closing final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6e8759cb4e6b230a/desktop-before-R2-controlled-closing-final.png)

![AFTER desktop-R2-controlled-closing final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d10ea00f32e1cc80/desktop-after-R2-controlled-closing-final.png)

![desktop-R2-controlled-closing final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a31bf3b63152580d/desktop-R2-controlled-closing-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/628c3302e7e51ba0/desktop-R2-controlled-closing-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/389c6cf63d5684a7/desktop-R2-controlled-closing-final-diff-threshold16.png)

## desktop-I10-639-light

Native issue reproduction: firstCtrl+2 leavesAlpha on baseline, selectsBeta on candidate. Opening then shows Alpha versus Beta selection and corresponding main title. These are the intended visible changes; toggle hover also differs. Final Alpha row-close stills match exactly.

BEFORE steps/timestamps (approximate elapsed driver time): 00:00.8 Initial closed Alpha; native Ctrl+2 → Thread Alpha; focus BODY; 00:01.6 Open sidebar at issue width639 → Thread Alpha; focus Toggle main sidebar; 00:02.7 Escape closes → Thread Alpha; focus Toggle main sidebar; 00:03.4 Post-close native Ctrl+3 → Thread Alpha; focus Toggle main sidebar; 00:04.1 Reopen to reveal selected row → Thread Alpha; focus Toggle main sidebar; 00:05.0 Alpha row closes → Thread Alpha; focus Toggle main sidebar.

AFTER steps/timestamps (approximate elapsed driver time): 00:00.8 Initial closed Alpha; native Ctrl+2 → Thread Beta; focus BODY; 00:02.0 Open sidebar at issue width639 → Thread Beta; focus Toggle main sidebar; 00:03.4 Escape closes → Thread Beta; focus Toggle main sidebar; 00:04.3 Post-close native Ctrl+3 → Thread Gamma; focus Toggle main sidebar; 00:05.4 Reopen to reveal selected row → Thread Gamma; focus Toggle main sidebar; 00:06.4 Alpha row closes → Thread Alpha; focus Toggle main sidebar.

[BEFORE recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a632076ba35cb285/desktop-before-I10-639-light.webm) · [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf696d2f4cbe9997/desktop-after-I10-639-light.webm) · [BEFORE route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/79fe1db2ca9be60f/desktop-before-I10-639-light.json) · [AFTER route/focus/input log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2efb393f1d11de9/desktop-after-I10-639-light.json)

first — raw full-surface PNG; 639×800px. Zero threshold: 294 pixels (0.057512%); >16/255: 262 (0.051252%); changed bounding box [302, 14, 344, 28]. All nonzero regions are accounted for in the pair notes above.

![BEFORE desktop-I10-639-light first](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ad1a8f933c9530ad/desktop-before-I10-639-light-first.png)

![AFTER desktop-I10-639-light first](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/92e863085d46a8e6/desktop-after-I10-639-light-first.png)

![desktop-I10-639-light first absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4c5af8d1c8b9deb4/desktop-I10-639-light-first-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c86273165efe75a1/desktop-I10-639-light-first-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d1b70a47a4ac295d/desktop-I10-639-light-first-diff-threshold16.png)

open — raw full-surface PNG; 639×800px. Zero threshold: 47549 pixels (9.301448%); >16/255: 46572 (9.110329%); changed bounding box [8, 14, 344, 251]. All nonzero regions are accounted for in the pair notes above.

![BEFORE desktop-I10-639-light open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4bf74c1ae602e18/desktop-before-I10-639-light-open.png)

![AFTER desktop-I10-639-light open](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d18591b9a9a6efa1/desktop-after-I10-639-light-open.png)

![desktop-I10-639-light open absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c386e9f52014c1b8/desktop-I10-639-light-open-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8129cfb06aaf4d10/desktop-I10-639-light-open-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a7c40ede65df82c/desktop-I10-639-light-open-diff-threshold16.png)

final — raw full-surface PNG; 639×800px. Zero threshold: 0 pixels (0.000000%); >16/255: 0 (0.000000%); changed bounding box None. All nonzero regions are accounted for in the pair notes above.

![BEFORE desktop-I10-639-light final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4a94142ae20d82f5/desktop-before-I10-639-light-final.png)

![AFTER desktop-I10-639-light final](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26bb0ca16c15c390/desktop-after-I10-639-light-final.png)

![desktop-I10-639-light final absolute RGB difference amplified ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc402086ff64eaf1/desktop-I10-639-light-final-diff-x8.png)

[Unmasked zero-threshold mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6355acd398c2a3b6/desktop-I10-639-light-final-diff-zero.png) · [Unmasked >16/255 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/366f1cdb9e5af1a4/desktop-I10-639-light-final-diff-threshold16.png)

## Row completeness / unverified surfaces

V1 light/dark, V2 light/dark, I1–I10, I12/I13 and R1 each have both recordings and matching controls. I11 default native shortcuts, collapse, rail, and narrow shell are recorded before/after; native sidebar menu subcase is unavailable because no item exists. R2 unfinished200ms close across768 is recorded before/after with controlled animation time; natural wall-clock sub200ms cadence is unverified. Both baseline and candidate pass R1/R2; these prevent regressions introduced by retaining hidden children, not failures expected in the older unmounted baseline.

Native iOS/Android untested: their separate React Native sidebar does not import this web primitive. macOS Cmd and Windows Electron untested: native shell run was Linux Ctrl. Production-hosted app.t3.codes, relay/tunnel, multi-environment/multi-device, OS-native menus absent from this build, and provider permutations were not exercised; no transport, backend/provider or contract change. Unused primitive variants (right/top/bottom, floating, icon, inset, none) have no production caller. No command-palette sidebar-toggle caller exists; palette tested only as shortcut arbitration. No exhaustive row-reorder animation smoothness/performance profiling beyond the recorded R1 sequence.

## Runtime handoff

Closed both owned T3 preview tabs and dedicated issue21789-capture agent-browser session. Stopped every runtime started during capture, including BEFORE16000 and AFTER Electron/backend15147/CDP19389. Inherited Vite servers7107 and7960 remain for lead shutdown; worktrees retained. No live ~/.t3 database server/write, no process killing by pattern. The lead may resume browser/desktop ownership after this handoff.

## FRICTION

- Inherited PTY session IDs were not usable in this harness. Port owners and /proc cwd were checked before replacing task-owned backends/Electron; later sessions were captured and stopped directly.
- First Electron encoder attempt at60fps fell behind; discarded. Accepted native videos are30fps. Cached npx agent-browser binary used in its dedicated session.
- Natural close→resize operations crossed after the200ms transition because renderer/automation work exceeded the window. Several attempts were discarded from accepted evidence. Controlled CDP animation playback validates the unfinished-close lifecycle deterministically; natural cadence remains unverified.
- Initial screenshots could race app loading despite awaited navigation. Added explicit thread-header readiness and replaced affected takes. No splash frames are used as accepted static comparisons.
- Legacy uses reverse visible orderGamma/Beta/Alpha; corrected paired sequence and replaced baseline/candidate takes.
- Plain composer remains contenteditable; terminal is Ghostty Terminal input, not an xterm selector. Used actual focused elements; no synthetic keyboard events.
- Keybinding capture auto-saves the unchanged binding; subsequent Escape does not prove cancellation. Labeled above.
- Browser default numeric shortcuts are desktop-gated by design. Explicit overrides plus real Electron defaults avoid false browser-default failure claims.
- Pointer hover and caret persistence differ when nodes remain mounted; full-frame diffs retain and enumerate these effects instead of masking them. Encoded frame comparisons have compression noise.
- Automatic empty-workspace bootstrap initially added a fourth row; corrected with T3CODE_AUTO_BOOTSTRAP_PROJECT_FROM_CWD=false and reseeded while stopped. Accepted fixtures contain only the stated synthetic rows.
- An immediate Electron restart briefly found its backend port still shutting down; waited for release and restarted. Fixture refuses to seed while runtime PID remains live.
- No native Sidebar menu item exists; that subcase cannot be captured honestly. No browser or shell substitution is claimed for untested OS/native mobile surfaces.

Work performed with GPT-6.1-sol through the Codex harness; capture used test-t3-app, agent-browser, and [ghdrop skill](/home/ubuntu/.codex/skills/ghdrop/SKILL.md).

## Final artifact validation

All314 then-published URLs returned HTTP200 with curl. [Exact link checks](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ed1dfa797433ced/public-link-validation-curl.json). All46 videos fully decoded with exit0. [Exact decode results](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ead8407f1d0f62a/full-video-decode-validation.json). The36 original T3 preview MP4s emit duplicate/nonmonotonic DTS warnings at FFmpeg’s null-output muxer;10 Electron WebMs do not. Original captures are preserved, without retiming/re-encoding. Timestamp annotations are approximate driver elapsed times, including recording-start handshake and automation overhead.

Additional FRICTION: Python urllib HEAD returned403 on the same public URLs where curl returned200; curl verified every link. FFmpeg timestamp warnings above are retained as a capture-tool limitation, not hidden as a clean mux validation.
