# Custom snooze evidence — issue [#19930](https://git.cafe/pingdotgg/t3code/issues/19930)

Before [3b95e7831b](https://git.cafe/pingdotgg/t3code/commit/3b95e7831b11b17627dff16843bc087bfca397ec) → After [c3d36d858c](https://git.cafe/pingdotgg/t3code/commit/c3d36d858c643e189b5b0ca48ac3ac22d4eef384). No PR, push, merge, or forge write.

32/32 AFTER row/configuration checks captured at the available DPR2; requested DPR1 remains 0/32 verified. Eight before/after walkthrough groups, sixteen final videos. Paired proof is partial: native baseline popup motion is omitted by Browser video in all eight segments. R3/R4/R5 native-popup portions remain unverified; genuine popup PNGs are retained. Custom-select expectations are N/A on the native-input base.

## Environment and interpretation

Full real Vite app, API and WebSocket server in separate isolated worktree homes. Synthetic stopped empty threads only; no provider turns, messages, pending work, or live-user database mutation. Browser Date is fixed at 2030-01-15T16:30:00.000Z, UTC. The committed proxy injects fixed Date and default Intl locale before modules; it does not replace the component or its styles. Intl en-US resolves h12; Intl en-GB resolves h23. This is **FULL APP fixture / Intl-default-locale emulation**, not a claim that OS or native input locale changed. Native Chrome remains en-US.

Chrome154 Linux, DPR2, zoom/visual scale1, default interface 16px and system sans font. Default T3 light/dark palettes. CSS viewports 1440×900 and 390×844. Desktop videos 2880×1800; narrow videos 780×1688. Native snapshot tooling automatically reduces desktop PNGs to 1280×800; narrow PNGs remain 780×1688. Diffs use actual matching PNG pixels, not inferred viewport pixels. Sheets may scale images for presentation; raw frames are retained.

Recordings are original silent native Browser captures. Linked written narration lists interaction request timestamps, observations, commands and persisted projections. Timestamps are relative tool-request starts and may precede visible completion by tool latency. Supplemental footage and concatenation offsets are recorded in the manifest.

## Coverage

| Config (CSS px) | R1/R3/R5/R6/R7/R8 | R2/R4 and distinct12h paths |
|---|---|---|
| 1440×900 light / DPR2 | 24h group | 12h group |
| 1440×900 dark / DPR2 | 24h group | 12h group |
| 390×844 light / DPR2 | 24h group | 12h group |
| 390×844 dark / DPR2 | 24h group | 12h group |

R6 persisted Jan 16 targets: 24h00:00/12:00/23:59; 12h12AM→00:00,12PM→12:00,11:59AM→11:59,11:59PM→23:59. Every transcript retains the full ISO date. R7 full shared path uses Jan 16 17:59,45Minutes, remount, then duration target2030-01-15T17:15:00.000Z. R8 checks past errors, each changed control clearing error, future date, three cancel paths, fresh reopen, nested popup Escape and no-command observations.

## Paired evidence

### 24h-1440-light

![Before / After 24h-1440-light](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/25a6b1af859fc048/24h-1440-light-sheet.png)

[Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/68aa68fec1406a66/before-24h-1440-light.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c2951bdaf93ff403/before-24h-1440-light-narration.md)
[After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/519646a07576d85f/after-24h-1440-light.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e9b54693e58d9dd/after-24h-1440-light-narration.md)

[Raw Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee5c33b5b4e2068c/24h-1440-light-before.png) · [Raw After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2b099bbab0830e2d/24h-1440-light-after.png) · [Zero threshold ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e98a041b4af6818/24h-1440-light-diff0-x8.png) · [Threshold16 ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2de5ef96c7537bc/24h-1440-light-diff16-x8.png)

### 12h-1440-light

![Before / After 12h-1440-light](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/13b8916a5b889983/12h-1440-light-sheet.png)

[Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27ba87a6e19ed06a/before-12h-1440-light.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c526f65112cea176/before-12h-1440-light-narration.md)
[After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/821f4068a46143a0/after-12h-1440-light.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/92306aa2865dd84b/after-12h-1440-light-narration.md)

[Raw Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a6b848a85ae309e/12h-1440-light-before.png) · [Raw After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1be4a3a04e701b58/12h-1440-light-after.png) · [Zero threshold ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/88827ff4633bccd3/12h-1440-light-diff0-x8.png) · [Threshold16 ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/302dbb3f646c35b5/12h-1440-light-diff16-x8.png)

### 24h-1440-dark

![Before / After 24h-1440-dark](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eede8e72af819ec7/24h-1440-dark-sheet.png)

[Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b24b857c6cf83035/before-24h-1440-dark.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/575d19f9615df8a7/before-24h-1440-dark-narration.md)
[After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2f2738f5d94b2240/after-24h-1440-dark.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/914e7de96079805d/after-24h-1440-dark-narration.md)

[Raw Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2c902605e282672c/24h-1440-dark-before.png) · [Raw After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/af25432d7281dd99/24h-1440-dark-after.png) · [Zero threshold ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6fbca5d14c05f0cf/24h-1440-dark-diff0-x8.png) · [Threshold16 ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/37cc3223b159ff36/24h-1440-dark-diff16-x8.png)

### 12h-1440-dark

![Before / After 12h-1440-dark](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08c9e501956d6250/12h-1440-dark-sheet.png)

[Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9375777df9677a47/before-12h-1440-dark.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8403c0054241d534/before-12h-1440-dark-narration.md)
[After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/312bde16143567a0/after-12h-1440-dark.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bcef9b4931b5c491/after-12h-1440-dark-narration.md)

[Raw Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eaab20f2e03d73ba/12h-1440-dark-before.png) · [Raw After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78a325dee5bfc976/12h-1440-dark-after.png) · [Zero threshold ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/76351a5496503f04/12h-1440-dark-diff0-x8.png) · [Threshold16 ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6b328da43a5c47f/12h-1440-dark-diff16-x8.png)

### 24h-390-light

![Before / After 24h-390-light](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba30b3cf240e942e/24h-390-light-sheet.png)

[Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f530a526653cb5a/before-24h-390-light.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da373964f4456ede/before-24h-390-light-narration.md)
[After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56c09721799621de/after-24h-390-light.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/61009157cb715be6/after-24h-390-light-narration.md)

[Raw Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdd1b18aa0564a6c/24h-390-light-before.png) · [Raw After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ca7879c3919f1e4/24h-390-light-after.png) · [Zero threshold ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2483d537c27b2305/24h-390-light-diff0-x8.png) · [Threshold16 ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e3da417546f002a/24h-390-light-diff16-x8.png)

### 12h-390-light

![Before / After 12h-390-light](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b5881be9cb431bd/12h-390-light-sheet.png)

[Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0775afee32007970/before-12h-390-light.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/636b2d91a9b50316/before-12h-390-light-narration.md)
[After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0efc890fcfe7a9fa/after-12h-390-light.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/187d97324cf19323/after-12h-390-light-narration.md)

[Raw Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/67381e5e0e1ca680/12h-390-light-before.png) · [Raw After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea00ef6698746906/12h-390-light-after.png) · [Zero threshold ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/429fb3663e67c761/12h-390-light-diff0-x8.png) · [Threshold16 ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4854a23c4193cbcd/12h-390-light-diff16-x8.png)

### 24h-390-dark

![Before / After 24h-390-dark](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35ec3cfccdcd06af/24h-390-dark-sheet.png)

[Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/971f1bf1a3d3c7bc/before-24h-390-dark.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60652ae16d133e06/before-24h-390-dark-narration.md)
[After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d152ff239498213/after-24h-390-dark.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/daf54f526daafa8e/after-24h-390-dark-narration.md)

[Raw Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c16f71d0f4b4bccb/24h-390-dark-before.png) · [Raw After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b729016ec6a6739/24h-390-dark-after.png) · [Zero threshold ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d7ded7f3560d5c9/24h-390-dark-diff0-x8.png) · [Threshold16 ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66539b463ed93e17/24h-390-dark-diff16-x8.png)

### 12h-390-dark

![Before / After 12h-390-dark](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14e5b17a3a4a70ab/12h-390-dark-sheet.png)

[Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73484062df523d7e/before-12h-390-dark.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2084386f51c78364/before-12h-390-dark-narration.md)
[After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4d363c8d01ca2063/after-12h-390-dark.mp4) · [timestamped narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dfc4209b48cae026/after-12h-390-dark-narration.md)

[Raw Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/224615e79f4f9d12/12h-390-dark-before.png) · [Raw After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/310fa47182ff4dea/12h-390-dark-after.png) · [Zero threshold ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acff8aaac78d32c7/12h-390-dark-diff0-x8.png) · [Threshold16 ×8 diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9dbb213550dad455/12h-390-dark-diff16-x8.png)

## Native baseline picker captures

[before-24h-1440-light native popup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b1a124012dae411/before-24h-1440-light.png)
[before-12h-1440-light native popup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6cfb3d81308e3ca3/before-12h-1440-light.png)
[before-24h-1440-dark native popup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a696c3ed5c1d9b6d/before-24h-1440-dark.png)
[before-12h-1440-dark native popup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b7fbace064c074ad/before-12h-1440-dark.png)
[before-24h-390-light native popup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14be4b3222ca8380/before-24h-390-light.png)
[before-12h-390-light native popup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5ad25c4a7dd969c0/before-12h-390-light.png)
[before-24h-390-dark native popup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2b5f3a7b81f0c015/before-24h-390-dark.png)
[before-12h-390-dark native popup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3b154ad666f36c04/before-12h-390-dark.png)

## Visible differences and other changes

- Native time textbox becomes Hour/Minute, with AM/PM only in the 12h branch; explicit24h now overrides the 12h native browser appearance. All minute values remain available.
- Date is stacked above Time at every width, including desktop; the Date anchor becomes full width. Desktop dialog geometry changes with that layout.
- Narrow sheet controls and overall geometry shift slightly (about2CSS px in the first pair). Full-frame diffs include backdrop blur/antialiasing differences; above-dialog differences in the first pair were below threshold16.
- Independent synthetic environments have different project/environment IDs and repository metadata. Thread sorting/visit state and details-panel visibility in original walkthroughs can differ. Clean comparable supplemental checkpoints disclose their provenance rather than editing pixels.
- Product changes are confined to CustomSnoozeDialog. The fixture script and knip entry are additional committed evidence infrastructure. No server, contracts or native mobile product changes.

Diffs are full-frame absolute RGB differences amplified×8. Zero threshold marks any channel delta>0; threshold16 marks pixels whose maximum absolute RGB delta>16. No image masking, synthetic downscaling to claim390px/DPR1, or pixel removal.

## Callers and surfaces

Header actions is the canonical matrix caller. Sidebar button reaches Custom and cancels without a command. Sidebar context reaches Custom, persists primary-only 18:45 on Jan 16, and has a separate cancellation segment. Bulk Snooze(2) cancels without a command and applies 2030-01-16T19:05:00.000Z to both fixture IDs; both persisted status=idle and itemCount=0. Sidebar parking navigates forward; reset uses supported thread.unsnooze commands. Bulk selection used DOM MouseEvent Ctrl-click dispatch through preview_evaluate because native preview click exposes no held modifier; subsequent context menu, dialog and confirmation are native pointer actions. Caller footage is included in the canonical desktop24h-light final asset.

**CANNOT VERIFY DESKTOP**: no Electron runtime. Native mobile is unchanged; narrow web does not verify iOS/Android. Remote/relay/tunnel runtime was not exercised. Actual OS locale change and requested DPR1 remain unverified. Native Chrome time picker popups are visible in all eight linked PNG stills, retaining actual en-US 12h appearance under both Intl-default contexts. Verification of extracted video frames showed the Browser recording omits this platform popup. The recorded pointer clicks/input values do not prove its motion. R3/R4/R5 native-popup portions on base remain unverified pending whole-window recording; custom-select popup motion on head is captured.

## Reproduce

Fixture commit: [c3d36d858c](https://git.cafe/pingdotgg/t3code/commit/c3d36d858c643e189b5b0ca48ac3ac22d4eef384). Runtime fixture first stabilized in[ccf5f05820](https://git.cafe/pingdotgg/t3code/commit/ccf5f0582059f6ccffc1d3e6cb4fdacb4e031817); final commit only adds its knip entry. Actual head is recorded per clip. The first pre-recapture clip spanned the knip-only commit and is archived, not the final paired asset.

```sh
T3CODE_DEV_SEED=0 vp run dev --no-seed
node scripts/custom-snooze-proof.mjs 5744 5745
# Base: exact detached3b95e7831b worktree; pnpm install --frozen-lockfile
# Run its isolated dev server with T3CODE_DEV_SEED=0; use reported Vite port.
node /home/ubuntu/wt/issue-19930/scripts/custom-snooze-proof.mjs 7652 7653
```

Pair each native Browser tab normally using a fresh local pairing link (never publish it). Open the fixture origin with?proofLocale=en-US or en-GB before app modules. In native preview_evaluate: `await import("/__proof/fixture.js"); await proof.seed(); await proof.settings("24-hour")` (or12-hour/locale). Navigate to environmentID/proof-19930-primary. Use actual header → Snooze → Custom… and follow linked timestamped narration. `proof.reset()` unsnoozes only the two synthetic IDs; `proof.cleanup()` deletes only them through supported commands. Do not run against~/.t3/userdata.

## FRICTION

- Reviewer runtime commands triggered isolated backend auto-restarts; interrupted raw clips were retained locally and not counted as complete. Reviewer runtime work then stopped.
- Fresh pairing at an existing/pair hash did not reinitialize the page; a fresh query forced full navigation. Pairing secrets are absent from uploaded artifacts.
- Unrelated provider-update toast blocked Wake now; it was dismissed through UI. Clean replacement default screenshots have recorded provenance.
- Native select focus restores asynchronously; waits use closed-popup and focused-trigger milestones. Hover is required to reach the narrow Snooze submenu.
- NumberField clear typing initially produced 245 rather than 45; the superseded clip recorded correction. Final recapture uses Ctrl+A,type45,Tab.
- Sidebar snooze advances to the next thread, so header Wake now is unavailable there; supported fixture unsnooze resets it.
- Baseline initial automatic seed attempted a read-only live snapshot before it was stopped. Relaunch used T3CODE_DEV_SEED=0 and--no-seed. Baseline snapshot was verified to contain only the empty default project/thread before supported synthetic seeding. No live database writes or live server restarts.
- Native Browser PNG captures platform time picker popups, but Browser recording omits them. Native-popup motion on baseline remains unverified; no synthetic video replacement was made.
- Requested DPR1 unavailable; actual DPR2 disclosed. Snapshot downscaling is separate from full-resolution video.
- Frozen browser Date/Intl fixture and DOM Ctrl-click selection are explicitly disclosed test setup boundaries. Native input locale remains actual Chrome en-US.

Machine-readable metadata and all asset URLs are in the companion manifest. Verbatim ghdrop Markdown output is preserved separately.

Cleanup: supported commands removed only the two fixture threads in each isolated environment. Original empty New thread records remain idle with zero items and no active runs. Proxy-origin timestamp preferences restored to locale and theme to default/system. Owned sessions 3114,25902,2981,15488 stopped; no listeners remain on 5744,5745,13784,7652,7653,15692. Isolated head runner is stopped; live T3 untouched. Both worktrees clean.

[Machine-readable manifest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dec78f60392332cf/manifest.json)
