# Evidence recovery r3 — partial, gaps retained

Web-only evidence capturer for [#23462](https://git.cafe/pingdotgg/t3code/pulls/23462), 2026-10-22 UTC. Exact BEFORE [3b95e7831b](https://git.cafe/pingdotgg/t3code/commit/3b95e7831b11b17627dff16843bc087bfca397ec); AFTER [366ec74cf8](https://git.cafe/pingdotgg/t3code/commit/366ec74cf818a8b0ccd032d115e2f6d353f61245). Both actual worktrees were checked before and after capture; status clean. No code, branch, PR body, claim, comment, watch, CI polling, server action, fixture seed or direct database write. Primary-owned servers retained. App-required PR registration only. Original valid literal Wide primary and previous C0/C1/fine-pointer controls are preserved unchanged; this package adds supplements, not replacement proof.

Read current PR envelope, proof2, r3 then source-verified r4 before capture. Used test-t3-app and ghdrop skills; only new owned T3 preview tabs, no alternate browser. AFTER localhost:7456/default profile. BEFORE localhost:8656/incognito profile; its actual environment ID is984a87a1-f625-4d1e-84c1-0e30ed9ca09f, versus AFTER9bae4e32-2090-4242-95dc-10bfab7f1fd7. Supplied AFTER environment route showed empty BEFORE main pane; normal seeded sidebar thread opened correct route. Pairing credentials and server logs are excluded. Private pairing notes are in terminal progress report.

## Delivered and still missing

| Row | New observed evidence | Remaining limit |
|---|---|---|
| Wide reference | One visually checked AFTER light hover41 screenshot; loaded80, viewport1184/content1088, g48/h36; paragraph41 y240.1953125, x308; stable scroll33285. Exact rebuild script/setup included. | Independent auditor must acquire its own image and compare; producer does not claim independent sign-off. |
| D light/dark | Both revisions: cross-rail message-origin and rail-origin native drag calls, then settled first/middle/last endpoint and opposite-neighbor clicks; native keys ArrowUp/Down, Home/End, Enter/Space, focus-open preview to underlying text and click/blur. Disabled first/last click keeps identical scroll; enabled opposite moves1→2 and80→79; middle41→40→41. Encoded sampled frames show these destinations. | Both cross-rail drags produced EMPTY selected text. No observed scroll change across those inside-page drags, but this is not successful text-selection proof. No held-pointer outside-window release/re-entry capability. Full D remains open. |
| N20 | Labelled same real-app CSS supplement, computed g32/h20; identical mounted paragraph41 anchor/relative geometry on both; BEFORE active rail352px and pointer footprint retains opacity1; AFTER active20px, pointer exit clears preview and opacity reaches0. Neighbor coordinate click navigates41→42; intentional rail click returns41. | Geometry overflow intervention is explicitly artificial. Cross-rail drag selected nothing; outside-window gap persists. Fade samples too sparse to prove exact150ms duration. |
| N8 | Corrected labelled supplement g20/h8 after real viewport resize; neighbors computed pointer-events none. Native click at neighbor coordinate leaves scroll unchanged; rail click still navigates. BEFORE hover352px/retains preview at footprint; AFTER active8px/clears and fades. | Initial AFTER attempt retained stale h20 despite root1144; it is explicitly historical, never N8 proof. Same text-drag/outside/timing gaps. |
| Actual Full | Actual persisted Full preference, no geometry CSS, both revisions. Measured content1088/g48/h36, NOT h0. Native paragraph→reference drag owns message41 range; double-click selects Selectable; trusted actual reference-link hit on both; wheel +120; keyboard focus/ArrowDown preview and pointer/blur observed. | Requested h0 control NOT reached by actual Full in this layout. Timeline horizontal padding42px plus gutter accounts for g48. Do not call this zero gutter/pointer inert, or promote old CSS h0 supplement to actual-Full proof. |
| C2 | Paired comfortable real two-user recordings: exactly2 strips, rail HEIGHT8px, hit WIDTH40px; first blank fallback/no assistant, last short assistant; click/keys/recovery. Stable AFTER idle/first/last shots supplied. | Selectable assistant y237–259.75 versus last preview y410–480: no overlap. Native cross-rail drag selected nothing. Cannot prove drag beneath preview in this fixed fixture/layout. BEFORE has unmatched provider-update toast; snapshots/diffs are qualified. |
| M-coarse | No new capture. Catalog has viewport/appearance but no actual pointer/touch emulation. | Missing. Resize/CSS/matchMedia overrides would be false proof; none used. No native-mobile testing. |

## Rebuild and capture package

[Independent Wide rebuild script](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/95df371a2c2a823f/rebuild-wide.mjs) · [Exact reference setup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/10e25c0438b9bdf2/Wide-reference-rebuild.md) · [Capture replay wrapper](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6100b137cf82534c/replay-captures.mjs) · [Exact capture expressions](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/65475bcbef6a62e4/capture-routines.json) · [Rebuild diffs/keyframes/contact sheets](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d07cc471d2428a2c/package.py) · [Raw steps/states/screenshots](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/169402d97e607219/capture-manifest-raw.json) · [Exact difference counts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8c2ae3e797a9da0a/pairs.json) · [All recording steps/timestamps](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aba254f3dafc85fa/recordings.json) · [Upload inventory script](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e33608596f8d036c/upload.py)

Scripts run with the T3 MCP tools object supplied by an authorized agent harness; replay requires existing owned/authenticated tabId and running isolated servers. They do not start servers or seed state. replay-captures uses JSON expressions with the real app and real native preview calls; browser evaluation sets preferences/layout, positions scroll/focus for setup and passively observes events. It never dispatches input DOM events or constructs a selected range. Dstart helper explicitly selects dark; original light acquisition is recorded exactly in raw steps/manifest and manual preparation. Wide script is independently callable. Coordinate exclusive preferences before any replay.

Committed seed and fixture: [issue-16447.py](https://git.cafe/pingdotgg/t3code/src/commit/366ec74cf818a8b0ccd032d115e2f6d353f61245/scripts/fixtures/issue-16447.py), [issue-16447.json](https://git.cafe/pingdotgg/t3code/src/commit/366ec74cf818a8b0ccd032d115e2f6d353f61245/scripts/fixtures/issue-16447.json). Already-applied primary-owned synthetic projection DBs reused; never reseeded. UI proof, not event/backend proof. Long initial10 turns; load button checked each time:30,50,70,80, then absent. C2 exactly2. No provider turns requested.

Stable AFTER Wide reference (original snapshot acquisition, PNG1280×800):

![AFTER — Wide light, paragraph41 preview, loaded80, g48/h36](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b6a5a068f7f086c/after-light-Wide-reference.png)

Desktop all1440×900 CSS, DPR2, root16px, 100% text scale, Linux Chrome154.0.0.0, fonts loaded, fine=true/coarse=false, reduced motion=false. Desktop snapshot PNG1280×800 is tool-downscaled; videos2880×1800. Theme changed using prefers-color-scheme while app followed system. Width through updateClientSettings, same persistence path as UI. Details panel closed; sidebar256px. BEFORE sidebar has an extra New thread and status/age differences; no database/UI-content surgery to conceal them. C2 BEFORE update toast arrived after initial setup and persists through its recording. These are non-AA sources of pixel changes.

N CSS: every [data-timeline-root] width/max-width1120px for N20 or1144px for N8, padding-left/right0!important. Real viewport1184. Banner explicitly labels supplement. This computes g32/20 and h20/8 through the real measurement path, but root can overflow its1088px parent; physical left margin stays48px. It is a geometry supplement, not ordinary Wide layout. After CSS changes, real preview_resize1439→1440 triggers ResizeObserver, then18 stable animation frames and paragraph41 normalization. Scroll normalization is setup, never input proof. Absolute scroll differs because independent virtualized lists retain different measured height caches; anchor41 and paragraph first-text y240±0.5, same text/wrapping/geometry are the comparison target. All differences remain in whole-surface pairs.

Native preview_drag scrollIntoView is disclosed: source/target were visible before drag and endpoint scroll recorded before/after; tool success never counted as a range proof. Full paragraph→link drag DID yield message-owned range. Cross-rail drag DID NOT. Focus setup used DOM focus() because no focused-native tool exists; subsequent keyboard/pointer events are native. Do not call focus setup a Tab-navigation proof. Native disabled endpoint clicks used coordinates rather than force-clicking disabled locators. h8 neighbor target was a normal coordinate click, never forced. Link listener prevents external navigation only after actual native target resolves to known synthetic link; it does not retarget clicks.

## Recording outcomes and action times

Times are action-call offsets relative to recording acknowledgement, not guaranteed encoded-frame deadlines. Raw passive performance timestamps independently record pointer/button/key/selection/scroll outcomes. Contacts are sampled encoded frames, not a claim of exhaustive frame-by-frame inspection. All12 canonical contacts were visually inspected; screenshots also inspected via paired contact sheets. Historical failed attempts remain locally and in raw manifest/recordings index, explicitly superseded.

| Segment | Recording | Duration | Native drag call(s) | Encoded frames inspected |
|---|---|---:|---|---|
| after-light-D | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f65b2ff9682a948/after-light-D.mp4) | 49.474s | 0.384s, 2.291s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9587d3deb924ad9/after-light-D-contact.jpg) |
| before-light-D | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d88e1c7f9be2925/before-light-D.mp4) | 42.145s | 0.372s, 1.958s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b70c008ee11857e/before-light-D-contact.jpg) |
| before-dark-D | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/30e7c9abb0c2c09f/before-dark-D.mp4) | 29.023s | 0.321s, 2.006s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6102c4e3bf30ae6a/before-dark-D-contact.jpg) |
| after-dark-D | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/490d28d7d45ec8f4/after-dark-D.mp4) | 29.156s | 0.297s, 1.736s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b71561972cd0bc5f/after-dark-D-contact.jpg) |
| after-light-N20 | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6aefcd39b6d69c7e/after-light-N20.mp4) | 10.502s | 4.902s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d2926ff0136e7fc/after-light-N20-contact.jpg) |
| after-light-N8-corrected | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/45ff3aa0e1dccd1d/after-light-N8-corrected.mp4) | 9.546s | 4.928s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a25e75eec3628d2/after-light-N8-corrected-contact.jpg) |
| before-light-N20 | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e28be1ebe3934631/before-light-N20.mp4) | 9.489s | 4.014s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e206d5a06b273959/before-light-N20-contact.jpg) |
| before-light-N8 | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3eec58fa8ee39623/before-light-N8.mp4) | 8.298s | 3.868s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0b39914c33118df7/before-light-N8-contact.jpg) |
| before-light-actualFull-corrected | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4702a6e305d40024/before-light-actualFull-corrected.mp4) | 7.343s | 0.372s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/36ed625ff996e4b2/before-light-actualFull-corrected-contact.jpg) |
| after-light-actualFull | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/122c9b35db0c177b/after-light-actualFull.mp4) | 7.087s | 0.366s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd48ad82ce737e0e/after-light-actualFull-contact.jpg) |
| after-light-C2-corrected | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e21a7ea2ffb067c2/after-light-C2-corrected.mp4) | 13.567s | 3.264s, 4.809s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe4259ae2858796c/after-light-C2-corrected-contact.jpg) |
| before-light-C2 | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/707b469db0801ac7/before-light-C2.mp4) | 14.235s | 3.221s, 5.168s | [Contact sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9711e912cc9b0296/before-light-C2-contact.jpg) |

Every click/key/hover/wheel time and arguments: [recordings.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aba254f3dafc85fa/recordings.json). Passive logs are cumulative per browser page (performance clock restarts on navigation); use state time and segment chronology to isolate the relevant event range. isTrusted is logged, but trusted scroll/focus alone does not prove a native initiating action: setup can generate them. Native mouse/key action steps provide input provenance.

- [after-C2-corrected-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/70e9202d5db0f309/after-C2-corrected-passive.json)
- [after-C2-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6614a21ab75f86a4/after-C2-passive.json)
- [after-D-dark-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f20dd853151163b/after-D-dark-passive.json)
- [after-D-light-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5eb7c8a11683ff86/after-D-light-passive.json)
- [after-N20-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/44fae78ab0d9d4e6/after-N20-passive.json)
- [after-N8-corrected-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8702f8a4f1691835/after-N8-corrected-passive.json)
- [after-N8-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/078d754ea9220aa4/after-N8-passive.json)
- [after-actualFull-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f216928d78d009ee/after-actualFull-passive.json)
- [before-C2-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/68a3e5b3db19a70b/before-C2-passive.json)
- [before-D-dark-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e7317502bbb4000/before-D-dark-passive.json)
- [before-D-light-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c865c59d8c36673b/before-D-light-passive.json)
- [before-N20-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a1053ba4485e3cb/before-N20-passive.json)
- [before-N8-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea5a3642e2d1aeed/before-N8-passive.json)
- [before-Z-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7af0bf82fbf58667/before-Z-passive.json)
- [before-actualFull-corrected-passive.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/293546817ec59b52/before-actualFull-corrected-passive.json)

N opacity observations between hover/released states: AFTER N20 last sampled1 at508896.5ms, first sampled0 at509072.4ms (175.9ms gap). AFTER corrected N8 sampled1 at565280.3ms,0.967229 at565298.6ms,0 at565494.6ms (214.3ms from1). Sampling/recording stalls dominate uncertainty; these bound rendered samples, NOT an exactly measured150ms transition. BEFORE corresponding footprint samples stay1 with no focus retention. Preview removal is separate from rail fade. No tight fade duration claim.

## Before/After original snapshots and exact pixel differences

Absolute per-channel RGB difference ×8, saturating255; changed0 iff max channel>0. Strict threshold mask max-channel>16/255, magenta on black. No registration, spatial tolerance, masking, cropping, content replacement or resizing. Original1280×800 RGB PNGs compared directly. All pairs have1024000 pixels. Threshold16 is sensitivity, not an AA classifier. Nonzero differences include sidebar extra thread/status/ages, font rasterization/subpixel placement, selection/focus rings, intended preview removal, geometry label/wrapping, toast, compositor lag. No zero-regression/AA-only claim.

Some saved snapshots visibly lag actions. Most notably actualFull-released AFTER shows an empty/stale timeline while same recording frames show paragraph41; N8-focus snapshots may omit focus visuals. Such stills are raw capture artifacts, not proof of blank-content regression or completed focus state. C2 BEFORE toast makes its still pairs unclean. Use recordings/passive logs for interaction outcomes; screenshot differences never close timing/input gaps.

| State | BEFORE | AFTER | Abs RGB ×8 | Strict >16 | Changed0 / >16 |
|---|---|---|---|---|---|
| light-D-idle | ![BEFORE light-D-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e92bef1ae18a308/before-light-D-idle.png) | ![AFTER light-D-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b52c53c1422f102/after-light-D-idle.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/443a7ed9f3a50f9f/light-D-idle-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3001cc9ac901cb18/light-D-idle-diff16.png) | 88671 / 31041 of 1024000 |
| light-D-message-drag | ![BEFORE light-D-message-drag](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1639caa148121b99/before-light-D-message-drag.png) | ![AFTER light-D-message-drag](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ca85e6a864055b3/after-light-D-message-drag.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d08f4b6c81cb0f3/light-D-message-drag-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4187fc8c5e6f3574/light-D-message-drag-diff16.png) | 88200 / 30671 of 1024000 |
| light-D-focus | ![BEFORE light-D-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/25a7d65a6555cc59/before-light-D-focus.png) | ![AFTER light-D-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ceb5d59a7152bb4/after-light-D-focus.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe93c4caa5b0e0f6/light-D-focus-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c248d290c8b24203/light-D-focus-diff16.png) | 61645 / 11535 of 1024000 |
| dark-D-idle | ![BEFORE dark-D-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/39615879e403495e/before-dark-D-idle.png) | ![AFTER dark-D-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75288fdf3803daa5/after-dark-D-idle.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2b4ef73374cd7919/dark-D-idle-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c16ab73986df4281/dark-D-idle-diff16.png) | 51992 / 34613 of 1024000 |
| dark-D-message-drag | ![BEFORE dark-D-message-drag](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdbd36df48b60ce9/before-dark-D-message-drag.png) | ![AFTER dark-D-message-drag](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4a30037ca6563dd6/after-dark-D-message-drag.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64ee4ce96e1f1896/dark-D-message-drag-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e4c47c1b0849f06/dark-D-message-drag-diff16.png) | 51915 / 34603 of 1024000 |
| dark-D-focus | ![BEFORE dark-D-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b0385d9cd2653f18/before-dark-D-focus.png) | ![AFTER dark-D-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eeb45d8ee6117ee0/after-dark-D-focus.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cf9e3d2dc1ce55f4/dark-D-focus-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c70d70980ebc021c/dark-D-focus-diff16.png) | 82438 / 56870 of 1024000 |
| light-N20-idle | ![BEFORE light-N20-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8903932d0f934bc/before-light-N20-idle.png) | ![AFTER light-N20-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/65cb6c25d362a59b/after-light-N20-idle.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14b716f06186250f/light-N20-idle-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/16a5026afd35fecc/light-N20-idle-diff16.png) | 84778 / 31492 of 1024000 |
| light-N20-hover | ![BEFORE light-N20-hover](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d81b16015aea396/before-light-N20-hover.png) | ![AFTER light-N20-hover](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73b5565d4f125c70/after-light-N20-hover.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c77f1d89a59d054/light-N20-hover-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c12174ac56eeadca/light-N20-hover-diff16.png) | 89632 / 30125 of 1024000 |
| light-N20-released | ![BEFORE light-N20-released](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aff0fa4e4885958b/before-light-N20-released.png) | ![AFTER light-N20-released](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56a302d09420bed2/after-light-N20-released.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2bec92bca46d9b4e/light-N20-released-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8fb3f3ab7fbadb35/light-N20-released-diff16.png) | 142029 / 44632 of 1024000 |
| light-N20-focus | ![BEFORE light-N20-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f3d38070e3cdaf6/before-light-N20-focus.png) | ![AFTER light-N20-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f843910f745d9ba/after-light-N20-focus.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/31b84ee2591cc560/light-N20-focus-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0116b28b767b496d/light-N20-focus-diff16.png) | 115870 / 34326 of 1024000 |
| light-N8-idle | ![BEFORE light-N8-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ee5b7e4ea835d72/before-light-N8-idle.png) | ![AFTER light-N8-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a5d5cbd0cc3b9fa4/after-light-N8-corrected-idle.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f08f339ec984bc7e/light-N8-idle-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df14b1a933bead8e/light-N8-idle-diff16.png) | 69182 / 31607 of 1024000 |
| light-N8-hover | ![BEFORE light-N8-hover](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4c75ea7728aa7aa6/before-light-N8-hover.png) | ![AFTER light-N8-hover](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/32f341d261c0f3aa/after-light-N8-corrected-hover.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cf69a07bd698d245/light-N8-hover-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f25d299227562d1c/light-N8-hover-diff16.png) | 73431 / 29830 of 1024000 |
| light-N8-released | ![BEFORE light-N8-released](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8724907ebb738676/before-light-N8-released.png) | ![AFTER light-N8-released](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ca32912473efd06/after-light-N8-corrected-released.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d9b21660e0ae86e/light-N8-released-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/690617d929e23798/light-N8-released-diff16.png) | 127932 / 44216 of 1024000 |
| light-N8-focus | ![BEFORE light-N8-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5128257fefcb065/before-light-N8-focus.png) | ![AFTER light-N8-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/743e1c00a7090ca9/after-light-N8-corrected-focus.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b0f3f56777ffc98/light-N8-focus-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/601f5200b498f644/light-N8-focus-diff16.png) | 98046 / 29785 of 1024000 |
| light-actualFull-idle | ![BEFORE light-actualFull-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8de35ed3b3035fd7/before-light-actualFull-corrected-idle.png) | ![AFTER light-actualFull-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/69e532b6402c762a/after-light-actualFull-idle.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f384d01fdb75df7/light-actualFull-idle-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3b52d13e42071c1/light-actualFull-idle-diff16.png) | 33578 / 5548 of 1024000 |
| light-actualFull-selection | ![BEFORE light-actualFull-selection](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ad3b7f9c2f719c1/before-light-actualFull-corrected-selection.png) | ![AFTER light-actualFull-selection](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/466f62d58f6b17d6/after-light-actualFull-selection.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e54266f7f42426d3/light-actualFull-selection-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/941f890269b42e0c/light-actualFull-selection-diff16.png) | 33328 / 5293 of 1024000 |
| light-actualFull-focus | ![BEFORE light-actualFull-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/58b0459bcadd4447/before-light-actualFull-corrected-focus.png) | ![AFTER light-actualFull-focus](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db9c4a222bb07fa4/after-light-actualFull-focus.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0647eaf412db9923/light-actualFull-focus-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e22d03bfb5e02cbd/light-actualFull-focus-diff16.png) | 47346 / 10453 of 1024000 |
| light-actualFull-released | ![BEFORE light-actualFull-released](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/67648ee61b5f969f/before-light-actualFull-corrected-released.png) | ![AFTER light-actualFull-released](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd8c824027848da9/after-light-actualFull-released.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc812589d17e7412/light-actualFull-released-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ec4b2d284891869/light-actualFull-released-diff16.png) | 237107 / 84079 of 1024000 |
| light-C2-idle | ![BEFORE light-C2-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c500e924884d2cf6/before-light-C2-idle.png) | ![AFTER light-C2-idle](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ebbc016495219d62/after-light-C2-corrected-idle.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ec19ec31adb832a/light-C2-idle-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf42580856b92b51/light-C2-idle-diff16.png) | 83199 / 16358 of 1024000 |
| light-C2-first | ![BEFORE light-C2-first](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc218fa046210d95/before-light-C2-first.png) | ![AFTER light-C2-first](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/10aa3ddd8bd042f6/after-light-C2-corrected-first.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/18e29429f0474c11/light-C2-first-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc807078fafe85dc/light-C2-first-diff16.png) | 83100 / 16357 of 1024000 |
| light-C2-last | ![BEFORE light-C2-last](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d8ee26518e42652/before-light-C2-last.png) | ![AFTER light-C2-last](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/89226dd0f4228db2/after-light-C2-corrected-last.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6af82b600c915ebd/light-C2-last-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8e5689f24c07d12c/light-C2-last-diff16.png) | 83101 / 16296 of 1024000 |
| light-C2-message-drag | ![BEFORE light-C2-message-drag](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/965c8b367dd540e6/before-light-C2-message-drag.png) | ![AFTER light-C2-message-drag](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fa38cf90047c579e/after-light-C2-corrected-message-drag.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a473e82bb13c535b/light-C2-message-drag-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b92f3e421b67cf5/light-C2-message-drag-diff16.png) | 83109 / 16436 of 1024000 |
| light-C2-released | ![BEFORE light-C2-released](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/415017048e3350e0/before-light-C2-released.png) | ![AFTER light-C2-released](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c078859a4f21d8e1/after-light-C2-corrected-released.png) | ![Absolute RGB difference ×8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/668f732c3e212a5e/light-C2-released-diff0-x8.png) | ![Strict max-channel >16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dcf7f8284481e96a/light-C2-released-diff16.png) | 82942 / 16269 of 1024000 |

## FRICTION

- Default AFTER tab initially lacked cookie and reached /pair. Navigating same mounted /pair with startup hash did not auto-submit; normal token form submission succeeded. No credential in this package. BEFORE incognito startup URL auto-paired. No pair CLI, live userdata or auth copying.
- Wrong supplied environment ID on BEFORE produced an authenticated empty main pane and one15s minimap wait timeout; clicking seeded sidebar thread recovered actual environment route. Extra BEFORE New thread and sidebar statuses are retained, not hidden.
- First N8 changed CSS without viewport ResizeObserver update, so h remained20; corrected real1439→1440 resize yields h8. First attempt explicitly historical; not reused in canonical pairs.
- First Z coordinate285/245 hit live h36 rail because actual Full did not reach h0, causing navigation. Superseded corrected recording uses actual paragraph/link coordinates. A later setup found paragraph41 unmounted; restored it through intentional rail navigation before capture. No forced app state.
- First C2 capture retained per-thread details panel and used y480 boundary outside rail; superseded with panel closed and y473/479 inside8px rail. Exact preview/text rectangles then show no overlap. BEFORE toast remains disclosed.
- Raw passive export exceeded64KB MCP result cap; exported events/fade in bounded chunks. No missing export claimed successful.
- Snapshot/compositor lag remains visible in raw pairs; encoded samples checked separately. No tool-call success promoted to behavior proof.
- Outside-window held release and actual coarse emulation unavailable. No alternate browser, synthetic input, matchMedia override or invented passing proof.
- Both tabs restored Wide/light; recording stopped; preference-safe handoff posted before packaging. Primary owns servers throughout. No native surface used.

Status: PARTIAL. Improved D endpoints and normalized N geometry comparisons, actual-Full acquisition and stable Wide recapture target delivered. D text/outside-release, N text/outside/tight timing, Z h0, C2 overlapped-text drag, M-coarse, and independent auditor comparison remain open. No new implementation bug or merge-readiness verdict asserted.

