# Question text selection: evidence and coverage

Issue [#16821](https://git.cafe/pingdotgg/t3code/issues/16821). Actual baseline [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee); final implementation [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef). Fixture-only commit [0add3539f1](https://git.cafe/pingdotgg/t3code/commit/0add3539f1a8a5d03e66d994f1ee2885ade69329) is the final branch HEAD. After captures were made on the corrected implementation before the fixture commit; that commit changes no renderer. No PR created; nothing pushed.

**Result:** actual label/description drags select and copy exact text without changing the checked count on the corrected implementation. Baseline drags fail to select option text and toggle the option. Four matched still pairs have zero differing pixels at both thresholds. Coverage is partial overall: see every matrix row below. Double-click still toggles on its first click; the parent accepted that preexisting interaction as outside the reporter’s drag-focused scope.

## Environment and capture limits

Linux x86_64 Chromium 154.0.0.0, user agent `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36`. Browser zoom/visualViewport.scale 1 (100%); DPR 2. CSS viewports 1440×900 (wide web viewport) and 390×900 (narrow responsive web). Wide PNG screenshots are **1280×800, resized by the preview tool’s 1280-pixel screenshot cap**; narrow PNGs are 780×1800. Recordings are 2880×1800 and 780×1800 respectively. Pixel results certify these saved, tool-resized PNGs only, not native-resolution render invariance.

Computed UI font stack: `-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif`. Code stack: `ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace`. Installed fallback font identity was not independently queried in the remote browser. Themes use the app’s stored light/dark appearance preference. Same pending request, selected Wait/unselected others, viewport, scroll, and theme for each pair. Chat timeline at bottom (wide scrollTop/max 680/680; narrow 1009/1009); question scrollTop 0. Browser Date/new Date frozen to `2026-10-21T23:13:00.000Z`; the existing Input requested CSS shimmer is paused at animation currentTime 0 for matched stills. No option layout or text was replaced for capture.

Own Default-profile tab, opened with reuseExistingTab=false. Reused server on port 6226; isolated worktree state. Initial expected cookie was absent, so documented standard pairing was used after clarification. No token or pairing URL is published. The copied thread sidebar was collapsed/hidden before capture; update toast was hidden with capture-only CSS. The optional clipboard scratch textarea is a clearly labeled, client-only evidence overlay; no pasted content was submitted. DOM Range measured glyph coordinates for double-clicks only; selection itself used native preview click/drag controls. No alternate browser automation, direct SQLite writes, implementation edits, auth configuration changes, or permission/mode changes.

## Matched stills and diffs

Diff0: every nonzero RGB channel delta, amplified ×32 with saturation. DiffT: any channel delta >16/255 (black otherwise). All eight diff files are black: changed pixels 0, maximum channel delta 0. No intended or unintended visible difference exists in these four frozen samples. This statement does not extend to other states or live animation timing.

### 1440×900 CSS, light

| Before | After | Diff0 (×32) | DiffT (>16/255) |
|---|---|---|---|
| ![before-1440-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5640f4bcf67a638a/before-1440-light.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) | ![after-1440-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f70a60342f353b66/after-1440-light.png)<br>[f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | ![diff0-1440-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1467235d0b386fe7/diff0-1440-light.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) → [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | ![diffT-1440-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90e5a3c13d4752ec/diffT-1440-light.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) → [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |

### 1440×900 CSS, dark

| Before | After | Diff0 (×32) | DiffT (>16/255) |
|---|---|---|---|
| ![before-1440-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/369cb4d9ea12f29b/before-1440-dark.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) | ![after-1440-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9e11e334b448c48/after-1440-dark.png)<br>[f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | ![diff0-1440-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/879689156342252d/diff0-1440-dark.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) → [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | ![diffT-1440-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20b6d9ae5ac0dfb5/diffT-1440-dark.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) → [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |

### 390×900 CSS, light

| Before | After | Diff0 (×32) | DiffT (>16/255) |
|---|---|---|---|
| ![before-390-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87cbd235928ace2c/before-390-light.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) | ![after-390-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd9ab0ec3453a26a/after-390-light.png)<br>[f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | ![diff0-390-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81c715944cd6039f/diff0-390-light.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) → [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | ![diffT-390-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c76ae9f4a672c23d/diffT-390-light.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) → [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |

### 390×900 CSS, dark

| Before | After | Diff0 (×32) | DiffT (>16/255) |
|---|---|---|---|
| ![before-390-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a6c684f76c04d4ef/before-390-dark.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) | ![after-390-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc03c5998eec61e1/after-390-dark.png)<br>[f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | ![diff0-390-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ac6e5d6a8934dc7/diff0-390-dark.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) → [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | ![diffT-390-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08b87dcc27b00b34/diffT-390-dark.png)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) → [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |

## Actual drag proof (primary evidence)

For each direction, the scratch clipboard is first set to `CLIPBOARD_UNCHANGED`. A real pointer drag starts in the label and ends in the description (then reverses). State is observed after pointer release and 600 ms idle, then Ctrl+C and a visible paste are compared with the exact DOM selection string. This is an actual drag, not a programmatic selection or double-click substitute. Native text boundaries can begin/end inside a word because the preview drag uses locator centers.

| Placement | Before | After | Observed behavior |
|---|---|---|---|
| 1440 CSS, light | [before-1440-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83e23bce806c7931/before-1440-drag-proof.mp4)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) | [after-1440-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e8a49871306dc26/after-1440-drag-proof.mp4)<br>[f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | Forward and reverse: corrected checked count 1→1, exact paste equality true. Ordinary click afterward 1→2. Baseline selection remains the scratch sentinel and counts 1→2→1 during the two drags. Sentinel equality in the raw baseline log is **not** successful option copying. |

Exact corrected 1440-width selected-and-pasted text (both directions):
```text
emporary working directory
Run git status --short in /tmp/repro Keep ticket T3-1682
```

| 390 CSS, dark | [before-390-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4014905e473ff471/before-390-drag-proof.mp4)<br>[a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) | [after-390-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b7b822e02d74df2/after-390-drag-proof.mp4)<br>[f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) | Forward and reverse: corrected checked count 1→1, exact paste equality true. Ordinary click afterward 1→2. Baseline selection remains the scratch sentinel and counts 1→2→1 during the two drags. Sentinel equality in the raw baseline log is **not** successful option copying. |

Exact corrected 390-width selected-and-pasted text (both directions):
```text
rary working directory
Run git status --short in /tmp/repro Keep ticket T3-16821 pend
```

## Matrix coverage (no omitted rows)

Original derivation: [matrix.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e07ae37a8a68106/matrix.md). Its earlier-head Space concern is superseded by the corrected implementation and the ordinary Space recordings below; held/repeat and blur parity still require separate proof.

| Row | Status | Captured evidence and remaining limits |
|---|---|---|
| V1 | VERIFIED for the four-option real fixture | Four matched pairs above: long question with inline code, long/wrapped label and description, empty description, equal-description suppression, selected check and unselected digit. No visible overflow/clipping in these samples. Claude allows at most four options; ninth/tenth-option tail is not included. |
| I1 | PARTIAL; reporter’s drag reproduction verified | Primary recordings above prove forward/reverse drag across label+description, exact clipboard paste, stable answer count and idle. Light interaction recordings add cross-option drag and question prose/inline-code copy. Independent drag confined entirely within one label or one description was not separately captured. Double-click option copying works but its first click toggles; it is not counted as side-effect-free drag proof. Single-select drag-induced submission and custom-answer preservation during drag remain UNVERIFIED. |
| I2 | PARTIAL | Supplement recordings show label, description and empty row clicks toggling on/off once. Primary drag recordings show a later plain click still activates after copy/selection clearing. Light interaction recordings include plain clicks on the same and another option following cross-option selection. A retained selection wholly outside the options followed immediately by an option click was not separately isolated: UNVERIFIED. |
| I3 | VERIFIED for ordinary click/Enter/Space transitions | Fresh real two-question requests, before/after recordings for each method. First pick checks then advances; question two starts unchecked; terminal pick removes request. Videos preserve brief optimistic states that some immediate readbacks missed. The 200 ms delay is implementation timing, not independently measured to millisecond precision here. Held Enter across a transition and single-select drag remain UNVERIFIED. |
| I4 | PARTIAL | Dark wide-web keyboard recordings: Tab/Shift+Tab, visible focus, Enter and Space toggles, no Space scroll, digit 1, absent-option digits 9/0 no-op, Ctrl+C and Ctrl+1 do not activate; editable typing does not invoke option shortcut. Supplement records Alt/Ctrl/Meta+Enter with unchanged choices and defaultPrevented=false, matching baseline. Held Space/key repeat, keydown/keyup separation and blur cancellation UNVERIFIED: focused preview press exposes complete key presses. Ninth/tenth-option reachability UNVERIFIED: live Claude schema max 4. Separate input and generic contenteditable shortcut contexts were not all independently captured. |
| I5 | UNVERIFIED, both guards separately | No real permission-limited session was available within the instruction not to change permissions. Responding was too brief in ordinary terminal submissions to capture and exercise a distinct in-flight guard; this is not inferred from normal disabled styling, source, or permission behavior. No artificial spinner/prop fixture is presented as real guard evidence. |
| I6 | PARTIAL | Narrow dark before/after drag proof gives exact paste, stable counts and ordinary click; narrow single recordings give real question advance/terminal response. Wrapped samples show no horizontal clipping; inspected document horizontal overflow=false. Dedicated manual scrolling, touch gestures and native-mobile behavior UNVERIFIED. This is Chromium responsive web, not RN. |
| I7 | PARTIAL | Light recordings collapse/reopen with digit pressed while collapsed and draft retained. Single recordings change questions with cleared marker and end with no active card. Supplement types a custom answer then selects an option: custom text leaves the pending composer on both baseline and head. Its later recovery/persistence is not certified. Empty-questions edge fixture, not_resumable and stopped message-capable variants UNVERIFIED: no authorized live state or safe stopped-server seeding session established. Existing running DB was never edited. |
| B1 | UNVERIFIED | Native macOS Electron unavailable on Linux. Web evidence does not certify Electron CSS, native Cmd+C, OS clipboard integration or native drag. |
| B2 | UNAFFECTED / outside proof | Native mobile uses its separate unchanged renderer. No RN testing performed or claimed. |
| B3 | SHARED RENDERER / source boundary only | Other providers and local/relay/tunnel modes share normalized web rendering; no changed wire contract or separate Settings/palette renderer. No actual alternate-provider or connection-mode verification claimed. Approvals did not obscure the captured requests. |

## Recording inventory and narration

All before files use the actual baseline; all after files use the corrected implementation. The same control script was replayed for each matching pair. These are raw browser recordings; no fake pointer movement or reconstructed selection. Approximate video offsets below are derived from logged milestones and recording duration, rounded to tenths; allow about ±1 second for tool/encoding lead-in. Raw session-clock timestamps are also given so preparation outside the recording is not misrepresented as recorded time. Single-flow prompt preparation is outside its video. The raw local log is `/tmp/issue-16821-evidence/final-capture-log.json`.

| Recording | Duration | SHA |
|---|---|---|
| [before-light-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/121ecab5bee0f9e3/before-light-interactions.mp4) | 22.60s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-light-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1555a539d8ea9828/after-light-interactions.mp4) | 10.76s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-dark-keyboard.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66646f5697bc0e47/before-dark-keyboard.mp4) | 7.31s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-dark-keyboard.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9fd24830605a5b90/after-dark-keyboard.mp4) | 6.15s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-narrow-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8139a228f755d487/before-narrow-interactions.mp4) | 7.72s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-narrow-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dba438959da3cee5/after-narrow-interactions.mp4) | 7.02s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-supplement.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f44ccb7b0ef5876/before-supplement.mp4) | 10.27s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-supplement.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4642c22949ff3254/after-supplement.mp4) | 12.05s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-1440-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83e23bce806c7931/before-1440-drag-proof.mp4) | 8.60s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-1440-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e8a49871306dc26/after-1440-drag-proof.mp4) | 6.81s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-390-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4014905e473ff471/before-390-drag-proof.mp4) | 4.77s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-390-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b7b822e02d74df2/after-390-drag-proof.mp4) | 4.37s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-single-click.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3cbc0eb6453be58e/before-single-click.mp4) | 3.85s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-single-click.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64be04793e0f1320/after-single-click.mp4) | 5.25s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-single-enter.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1da214d7c38d94f6/before-single-enter.mp4) | 7.41s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-single-enter.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a42c2345b834f1d/after-single-enter.mp4) | 7.97s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-single-space.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea3c0abd5a843556/before-single-space.mp4) | 13.87s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-single-space.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00241caf93c4f297/after-single-space.mp4) | 6.36s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |
| [before-single-narrow.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4e3384d91619098/before-single-narrow.mp4) | 4.21s | [a12d6ed942](https://git.cafe/pingdotgg/t3code/commit/a12d6ed9428d8e64d76ca86d178abbf564b57cee) |
| [after-single-narrow.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35bea590ea2b842f/after-single-narrow.mp4) | 3.03s | [f1ed10f572](https://git.cafe/pingdotgg/t3code/commit/f1ed10f57239f09a7d93318666eaf5466c34f4ef) |

### before-light-interactions

[before-light-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/121ecab5bee0f9e3/before-light-interactions.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 1.1 | 1.669 | double-click command |
| 1.5 | 2.051 | Ctrl+C |
| 1.7 | 2.253 | visible paste result; paste `CLIPBOARD_UNCHANGED`, checked=1 |
| 1.9 | 2.483 | double-click status |
| 2.3 | 2.855 | Ctrl+C |
| 2.6 | 3.177 | visible paste result; paste `CLIPBOARD_UNCHANGED`, checked=1 |
| 2.9 | 3.465 | double-click ticket |
| 3.1 | 3.723 | Ctrl+C |
| 3.6 | 4.226 | visible paste result; paste `ticket`, checked=1 |
| 4.1 | 4.708 | double-click status |
| 4.5 | 5.050 | Ctrl+C |
| 5.1 | 5.641 | visible paste result; paste `status`, checked=1 |
| 5.2 | 5.818 | cross-option forward drag |
| 10.1 | 10.670 | cross drag selection; selected chars=0, checked=1 |
| 10.2 | 10.795 | reverse cross-option drag |
| 12.9 | 13.430 | reverse selection; selected chars=0, checked=1 |
| 12.9 | 13.503 | plain click same option label |
| 14.5 | 15.117 | plain click other description |
| 17.3 | 17.850 | collapse |
| 20.9 | 21.518 | digit 1 while collapsed |
| 21.7 | 22.236 | reopen |
| 22.6 | 23.175 | draft after reopen |

### after-light-interactions

[after-light-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1555a539d8ea9828/after-light-interactions.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.9 | 1.307 | double-click command |
| 1.2 | 1.624 | Ctrl+C |
| 1.4 | 1.855 | visible paste result; paste `command`, checked=2 |
| 1.8 | 2.221 | double-click status |
| 2.2 | 2.563 | Ctrl+C |
| 2.4 | 2.828 | visible paste result; paste `status`, checked=1 |
| 2.9 | 3.304 | double-click ticket |
| 3.2 | 3.600 | Ctrl+C |
| 3.4 | 3.825 | visible paste result; paste `ticket`, checked=1 |
| 3.9 | 4.273 | double-click status |
| 4.2 | 4.646 | Ctrl+C |
| 4.6 | 5.015 | visible paste result; paste `status`, checked=1 |
| 4.6 | 5.049 | cross-option forward drag |
| 6.2 | 6.615 | cross drag selection; selected chars=155, checked=1 |
| 6.3 | 6.672 | reverse cross-option drag |
| 7.2 | 7.646 | reverse selection; selected chars=155, checked=1 |
| 7.3 | 7.728 | plain click same option label |
| 8.2 | 8.567 | plain click other description |
| 8.7 | 9.112 | collapse |
| 9.7 | 10.071 | digit 1 while collapsed |
| 9.7 | 10.119 | reopen |
| 10.8 | 11.175 | draft after reopen |

### before-dark-keyboard

[before-dark-keyboard.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66646f5697bc0e47/before-dark-keyboard.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 1.7 | 2.123 | Tab; selected=['Wait'] |
| 4.1 | 4.527 | Tab; selected=['Wait'] |
| 4.2 | 4.681 | Enter; selected=['Inspect a long command and its harmless temporary working directory', 'Wait'] |
| 4.3 | 4.813 | Enter; selected=['Wait'] |
| 4.5 | 5.009 | Space; selected=['Inspect a long command and its harmless temporary working directory', 'Wait'] |
| 4.8 | 5.239 | Space; selected=['Wait'] |
| 5.0 | 5.428 | Tab; selected=['Wait'] |
| 5.1 | 5.600 | Shift+Tab; selected=['Wait'] |
| 5.2 | 5.708 | Control+c; selected=['Wait'] |
| 5.4 | 5.839 | 1; selected=['Inspect a long command and its harmless temporary working directory', 'Wait'] |
| 5.5 | 5.957 | 1; selected=['Wait'] |
| 5.6 | 6.042 | 9; selected=['Wait'] |
| 5.7 | 6.150 | 0; selected=['Wait'] |
| 5.8 | 6.244 | Control+1; selected=['Wait'] |
| 6.9 | 7.374 | 1; selected=[] |
| 7.1 | 7.618 | Control+a; selected=[] |
| 7.3 | 7.779 | Backspace; selected=[] |

### after-dark-keyboard

[after-dark-keyboard.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9fd24830605a5b90/after-dark-keyboard.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 1.3 | 1.951 | Tab; selected=['Wait'] |
| 2.8 | 3.508 | Tab; selected=['Wait'] |
| 3.1 | 3.746 | Enter; selected=['Inspect a long command and its harmless temporary working directory', 'Wait'] |
| 3.4 | 4.056 | Enter; selected=['Wait'] |
| 3.5 | 4.181 | Space; selected=['Inspect a long command and its harmless temporary working directory', 'Wait'] |
| 3.7 | 4.365 | Space; selected=['Wait'] |
| 3.8 | 4.515 | Tab; selected=['Wait'] |
| 4.1 | 4.751 | Shift+Tab; selected=['Wait'] |
| 4.2 | 4.871 | Control+c; selected=['Wait'] |
| 4.4 | 5.076 | 1; selected=['Inspect a long command and its harmless temporary working directory', 'Wait'] |
| 4.5 | 5.208 | 1; selected=['Wait'] |
| 4.6 | 5.278 | 9; selected=['Wait'] |
| 4.7 | 5.345 | 0; selected=['Wait'] |
| 4.8 | 5.493 | Control+1; selected=['Wait'] |
| 5.9 | 6.544 | 1; selected=[] |
| 6.1 | 6.728 | Control+a; selected=[] |
| 6.2 | 6.828 | Backspace; selected=[] |

### before-narrow-interactions

[before-narrow-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8139a228f755d487/before-narrow-interactions.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.6 | 0.601 | double-click command |
| 0.9 | 0.976 | Ctrl+C |
| 1.1 | 1.160 | visible paste result; paste `CLIPBOARD_UNCHANGED`, checked=1 |
| 1.3 | 1.359 | double-click status |
| 1.7 | 1.738 | Ctrl+C |
| 1.9 | 1.908 | visible paste result; paste `CLIPBOARD_UNCHANGED`, checked=1 |
| 2.1 | 2.101 | double-click ticket |
| 2.4 | 2.390 | Ctrl+C |
| 2.6 | 2.646 | visible paste result; paste `ticket`, checked=1 |
| 2.8 | 2.824 | double-click status |
| 3.1 | 3.120 | Ctrl+C |
| 3.3 | 3.331 | visible paste result; paste `status`, checked=1 |
| 3.4 | 3.417 | cross-option forward drag |
| 4.1 | 4.100 | cross drag selection; selected chars=0, checked=1 |
| 4.1 | 4.140 | reverse cross-option drag |
| 4.8 | 4.834 | reverse selection; selected chars=0, checked=1 |
| 4.8 | 4.862 | plain click same option label |
| 5.4 | 5.411 | plain click other description |
| 6.0 | 5.998 | collapse |
| 6.6 | 6.592 | digit 1 while collapsed |
| 6.6 | 6.627 | reopen |
| 7.7 | 7.749 | draft after reopen |

### after-narrow-interactions

[after-narrow-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dba438959da3cee5/after-narrow-interactions.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.7 | 0.724 | double-click command |
| 1.1 | 1.110 | Ctrl+C |
| 1.3 | 1.303 | visible paste result; paste `command`, checked=2 |
| 1.7 | 1.747 | double-click status |
| 2.1 | 2.111 | Ctrl+C |
| 2.3 | 2.284 | visible paste result; paste `status`, checked=1 |
| 2.5 | 2.532 | double-click ticket |
| 2.8 | 2.857 | Ctrl+C |
| 3.1 | 3.103 | visible paste result; paste `ticket`, checked=1 |
| 3.3 | 3.323 | double-click status |
| 3.6 | 3.636 | Ctrl+C |
| 3.8 | 3.848 | visible paste result; paste `status`, checked=1 |
| 3.9 | 3.888 | cross-option forward drag |
| 4.4 | 4.380 | cross drag selection; selected chars=142, checked=1 |
| 4.4 | 4.415 | reverse cross-option drag |
| 4.9 | 4.938 | reverse selection; selected chars=142, checked=1 |
| 5.0 | 5.004 | plain click same option label |
| 5.3 | 5.352 | plain click other description |
| 5.8 | 5.827 | collapse |
| 6.3 | 6.311 | digit 1 while collapsed |
| 6.3 | 6.354 | reopen |
| 7.0 | 7.040 | draft after reopen |

### before-supplement

[before-supplement.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f44ccb7b0ef5876/before-supplement.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.7 | 1.637 | Plain label click toggles off; selected=[] |
| 1.7 | 2.720 | Description click toggles on; selected=['Wait'] |
| 2.8 | 3.776 | Empty row area click toggles on; selected=['Inspect a long command and its harmless temporary working directory', 'Wait'] |
| 3.3 | 4.328 | Empty row area click toggles off; selected=['Wait'] |
| 4.0 | 4.935 | Type a custom answer; selected=[] |
| 4.5 | 5.516 | Choose option after custom answer; selected=['Wait'] |
| 5.4 | 6.391 | Clear composer without submitting; selected=['Wait'] |
| 6.7 | 7.730 | Focus first option via Tab; selected=['Wait'] |
| 9.2 | 10.188 | Alt+Enter; selected=['Wait'] |
| 9.4 | 10.390 | Control+Enter; selected=['Wait'] |
| 9.7 | 10.651 | Meta+Enter; selected=['Wait'] |

### after-supplement

[after-supplement.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4642c22949ff3254/after-supplement.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.9 | 1.130 | Plain label click toggles off; selected=[] |
| 1.8 | 2.080 | Description click toggles on; selected=['Wait'] |
| 2.7 | 2.988 | Empty row area click toggles on; selected=['Inspect a long command and its harmless temporary working directory', 'Wait'] |
| 3.3 | 3.512 | Empty row area click toggles off; selected=['Wait'] |
| 3.7 | 3.927 | Type a custom answer; selected=[] |
| 4.0 | 4.292 | Choose option after custom answer; selected=['Wait'] |
| 5.4 | 5.691 | Clear composer without submitting; selected=['Wait'] |
| 6.8 | 7.069 | Focus first option via Tab; selected=['Wait'] |
| 11.0 | 11.282 | Alt+Enter; selected=['Wait'] |
| 11.2 | 11.448 | Control+Enter; selected=['Wait'] |
| 11.5 | 11.707 | Meta+Enter; selected=['Wait'] |

### before-1440-drag-proof

[before-1440-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83e23bce806c7931/before-1440-drag-proof.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 3.3 | 5.525 | forward label/description drag; checked 1→2; no option text selected; clipboard sentinel remains |
| 5.6 | 7.835 | reverse label/description drag; checked 2→1; no option text selected; clipboard sentinel remains |
| 7.9 | 10.110 | ordinary click after copying; checked=2 |

### after-1440-drag-proof

[after-1440-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e8a49871306dc26/after-1440-drag-proof.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 1.0 | 1.388 | forward label/description drag; checked 1→1; option text pasted exactly |
| 3.9 | 4.340 | reverse label/description drag; checked 1→1; option text pasted exactly |
| 6.1 | 6.511 | ordinary click after copying; checked=2 |

### before-390-drag-proof

[before-390-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4014905e473ff471/before-390-drag-proof.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.6 | 0.653 | forward label/description drag; checked 1→2; no option text selected; clipboard sentinel remains |
| 2.2 | 2.220 | reverse label/description drag; checked 2→1; no option text selected; clipboard sentinel remains |
| 4.1 | 4.140 | ordinary click after copying; checked=2 |

### after-390-drag-proof

[after-390-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b7b822e02d74df2/after-390-drag-proof.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.4 | 0.530 | forward label/description drag; checked 1→1; option text pasted exactly |
| 1.9 | 1.952 | reverse label/description drag; checked 1→1; option text pasted exactly |
| 3.7 | 3.759 | ordinary click after copying; checked=2 |

### before-single-click

[before-single-click.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3cbc0eb6453be58e/before-single-click.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.6 | 12.368 | first question before activation; checked=0; card First question |
| 1.5 | 13.250 | immediately after first activation; checked=1; card First question |
| 1.8 | 13.494 | second question after delayed advance; checked=0; card Final question |
| 2.6 | 14.360 | immediately after terminal activation; checked=1; card Final question |
| 3.1 | 14.887 | request consumed; no active question; checked=0; card absent |

### after-single-click

[after-single-click.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64be04793e0f1320/after-single-click.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 1.1 | 12.961 | first question before activation; checked=0; card First question |
| 2.4 | 14.328 | immediately after first activation; checked=1; card First question |
| 2.6 | 14.547 | second question after delayed advance; checked=0; card Final question |
| 4.0 | 15.913 | immediately after terminal activation; checked=1; card Final question |
| 4.6 | 16.458 | request consumed; no active question; checked=0; card absent |

### before-single-enter

[before-single-enter.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1da214d7c38d94f6/before-single-enter.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.7 | 9.040 | first question before activation; checked=0; card First question |
| 3.6 | 11.928 | immediately after first activation; checked=1; card First question |
| 3.8 | 12.113 | second question after delayed advance; checked=0; card Final question |
| 6.0 | 14.389 | immediately after terminal activation; checked=1; card Final question |
| 6.7 | 15.076 | request consumed; no active question; checked=0; card absent |

### after-single-enter

[after-single-enter.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a42c2345b834f1d/after-single-enter.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.7 | 11.593 | first question before activation; checked=0; card First question |
| 2.8 | 13.732 | immediately after first activation; checked=1; card First question |
| 3.2 | 14.060 | second question after delayed advance; checked=0; card Final question |
| 6.3 | 17.220 | immediately after terminal activation; checked=1; card Final question |
| 7.3 | 18.163 | request consumed; no active question; checked=0; card absent |

### before-single-space

[before-single-space.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea3c0abd5a843556/before-single-space.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 3.4 | 21.674 | first question before activation; checked=0; card First question |
| 7.3 | 25.544 | immediately after first activation; checked=0; card Final question |
| 7.4 | 25.707 | second question after delayed advance; checked=0; card Final question |
| 12.3 | 30.632 | immediately after terminal activation; checked=1; card Final question |
| 13.2 | 31.457 | request consumed; no active question; checked=0; card absent |

### after-single-space

[after-single-space.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00241caf93c4f297/after-single-space.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.6 | 11.121 | first question before activation; checked=0; card First question |
| 2.7 | 13.202 | immediately after first activation; checked=1; card First question |
| 3.0 | 13.513 | second question after delayed advance; checked=0; card Final question |
| 5.0 | 15.508 | immediately after terminal activation; checked=1; card Final question |
| 5.7 | 16.159 | request consumed; no active question; checked=0; card absent |

### before-single-narrow

[before-single-narrow.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4e3384d91619098/before-single-narrow.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.5 | 10.638 | first question before activation; checked=0; card First question |
| 1.7 | 11.870 | immediately after first activation; checked=0; card Final question |
| 2.0 | 12.197 | second question after delayed advance; checked=0; card Final question |
| 2.8 | 12.934 | immediately after terminal activation; checked=1; card Final question |
| 3.5 | 13.666 | request consumed; no active question; checked=0; card absent |

### after-single-narrow

[after-single-narrow.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35bea590ea2b842f/after-single-narrow.mp4)

| Video ~s | Raw session s | Action / observation |
|---|---|---|
| 0.4 | 10.052 | first question before activation; checked=0; card First question |
| 0.9 | 10.519 | immediately after first activation; checked=1; card First question |
| 1.1 | 10.809 | second question after delayed advance; checked=0; card Final question |
| 1.8 | 11.427 | immediately after terminal activation; checked=1; card Final question |
| 2.3 | 11.988 | request consumed; no active question; checked=0; card absent |

## Visible differences and limits

Frozen stills: no differing pixels in any pair at either threshold. Live interaction differences: intended native text-selection highlight and exact option clipboard text become available; drag release stops toggling the option. Baseline native-button drags instead change the selected check. Normal clicks, focus, ordinary Enter/Space and question transitions remain observable on both revisions. Custom-answer text leaves the pending composer when displaced on both revisions; later recovery was not proven. Option double-click’s first-click toggle is explicitly retained and accepted by the parent. No claim is made that all other states, animations, native pixels or platforms are invariant.

## Rebuild and final workspace

Fixture resources are committed only in [0add3539f1](https://git.cafe/pingdotgg/t3code/commit/0add3539f1a8a5d03e66d994f1ee2885ade69329): `apps/web/test/fixtures/pending-user-input/questions.json`, `request.mjs`, and README. Run `node apps/web/test/fixtures/pending-user-input/request.mjs multi` or `single` and paste its AskUserQuestion-only prompt in a real Claude thread on isolated dev state. No database or private thread payload is required. Fixture format/lint and Node syntax checks pass. No implementation test suite was rerun by this capture agent; parent’s correction-test report is separate.

Branch restored to `fix/issue-16821`, clean at the fixture commit. Reused server remains running; no server started or stopped by this agent. Fresh two-option real multiselect is left pending in the original test thread. Own tab remains available at wide web viewport; no lead tab was operated. No SQLite seed was applied because stopping the reused server/live callback was unnecessary and no retained server session was owned by this agent.

## Verbatim ghdrop -m output (stills/diffs)

![before-1440-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5640f4bcf67a638a/before-1440-light.png)
![after-1440-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f70a60342f353b66/after-1440-light.png)
![diff0-1440-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1467235d0b386fe7/diff0-1440-light.png)
![diffT-1440-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90e5a3c13d4752ec/diffT-1440-light.png)
![before-1440-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/369cb4d9ea12f29b/before-1440-dark.png)
![after-1440-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9e11e334b448c48/after-1440-dark.png)
![diff0-1440-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/879689156342252d/diff0-1440-dark.png)
![diffT-1440-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20b6d9ae5ac0dfb5/diffT-1440-dark.png)
![before-390-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87cbd235928ace2c/before-390-light.png)
![after-390-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd9ab0ec3453a26a/after-390-light.png)
![diff0-390-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81c715944cd6039f/diff0-390-light.png)
![diffT-390-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c76ae9f4a672c23d/diffT-390-light.png)
![before-390-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a6c684f76c04d4ef/before-390-dark.png)
![after-390-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc03c5998eec61e1/after-390-dark.png)
![diff0-390-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ac6e5d6a8934dc7/diff0-390-dark.png)
![diffT-390-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08b87dcc27b00b34/diffT-390-dark.png)

## Verbatim ghdrop -m output (recordings)

[before-light-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/121ecab5bee0f9e3/before-light-interactions.mp4)
[after-light-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1555a539d8ea9828/after-light-interactions.mp4)
[before-dark-keyboard.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66646f5697bc0e47/before-dark-keyboard.mp4)
[after-dark-keyboard.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9fd24830605a5b90/after-dark-keyboard.mp4)
[before-narrow-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8139a228f755d487/before-narrow-interactions.mp4)
[after-narrow-interactions.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dba438959da3cee5/after-narrow-interactions.mp4)
[before-supplement.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f44ccb7b0ef5876/before-supplement.mp4)
[after-supplement.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4642c22949ff3254/after-supplement.mp4)
[before-1440-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83e23bce806c7931/before-1440-drag-proof.mp4)
[after-1440-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e8a49871306dc26/after-1440-drag-proof.mp4)
[before-390-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4014905e473ff471/before-390-drag-proof.mp4)
[after-390-drag-proof.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b7b822e02d74df2/after-390-drag-proof.mp4)
[before-single-click.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3cbc0eb6453be58e/before-single-click.mp4)
[after-single-click.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64be04793e0f1320/after-single-click.mp4)
[before-single-enter.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1da214d7c38d94f6/before-single-enter.mp4)
[after-single-enter.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a42c2345b834f1d/after-single-enter.mp4)
[before-single-space.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea3c0abd5a843556/before-single-space.mp4)
[after-single-space.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00241caf93c4f297/after-single-space.mp4)
[before-single-narrow.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4e3384d91619098/before-single-narrow.mp4)
[after-single-narrow.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35bea590ea2b842f/after-single-narrow.mp4)

## FRICTION

category|what happened|prevention
---|---|---
auth|New Default-profile tab lacked expected cookie; standard worktree pairing succeeded after clarification|Authorize ordinary isolated pairing explicitly; never publish token
capture|Wide preview PNG cap produced 1280×800 from CSS1440×900/DPR2|State CSS and saved sizes; compare only matched saved sizes
theme|Palette application alone did not activate dark mode|Use stored app appearance preference and verify root dark class; discarded earlier mislabeled captures
synchronization|Timeline scroll and existing Input requested shimmer caused unrelated diffs|Match scroll and freeze Date/CSS animation frame; recompute all pairs
clipboard|Old clipboard content can look like a successful copy|Prime a harmless sentinel, paste visibly, and compare exact selected text plus checked count
keyboard|Literal space key argument did not emulate native Space; named Space did|Use named Space and verify baseline toggle; discarded earlier misleading keyboard take
coordination|Parent cherry-pick landed just before this agent attempted the same correction; empty cherry-pick was skipped|Coordinate revision ownership and re-read HEAD; final after uses corrected SHA
responsive|After terminal narrow-web flow, collapsed composer could not be typed into; pending recreation waits timed out|Resize own tab to wide viewport before restoring a pending fixture; no alternate browser
coverage|Live Claude allows max four options; no permission-limited/Electron/held-key state available|Keep gaps explicit; do not fabricate guard or native-platform proof
fixtures|Snapshot contains private/runtime-specific state and cannot recreate provider callbacks|Commit public synthetic question inputs; generate real AskUserQuestion; never upload DB
