# Round 3: normalized tooltip proof

For [#11558](https://git.cafe/pingdotgg/t3code/pulls/11558), captured on replacement [3490923](https://github.com/pingdotgg/t3code/commit/3490923fb6c723fb50139d7184173ba18f4ee444). Before reverses exactly the two tooltip production hunks to [eea9895](https://github.com/pingdotgg/t3code/commit/eea989536849e5b5049987ee24318b5a77326542) through CDP response interception; surrounding app remains the replacement. This is component A/B on the replacement app, not a whole-checkout baseline. Tooltip source snapshots and source manifest are published below. Captures precede the lead's subsequent main merge; this round does not certify that later commit.

All six replacement pairs are **hover-trigger static parity controls**, not popup-entry frames. Each side asserts the correct visible tooltip identity and nonzero popup geometry, loaded fonts, and stable repeated frames. Every pair has exactly **0 total changed pixels and 0 unrelated changed pixels**, both at strict threshold 0 and threshold 16. No masks, crops, alignment or resampling were applied to measurement inputs. Amplified diffs multiply absolute RGB differences by 4; threshold-16 images mark any pixel whose maximum RGB channel difference exceeds 16. Both are black for every accepted pair.

The six controls use identical viewport, timeline scroll top/height/client height, trigger rectangle, draft/attachment content, focus state and fonts. They preserve the branch-banner and footer-hover appearance in each pair, as independently checked by full-frame zero-delta comparison. F3 desktop has the same fixed **Unsent evidence draft.** on both sides; other cases have empty text drafts, with the real synthetic attachment required for M1/N2. Wall-clock capture times are recorded separately and are not asserted equal. Narrow F3's existing 480px popup still exceeds the 390px viewport; it is visible on both sides, not a new sizing fix.

These controls supersede the contaminated normalized-still claims in the earlier index. The [existing valid interaction recordings](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce407a750ecd0788/index.md) remain the behavioral proof: file-path entry/selection/copy, F3 popup scrolling and timeline/focus behavior, plus representative unchanged nonfile interactions. Static equality does not demonstrate entry retention. No universal shared-tooltip retention claim is made. The earlier M1 cancellation assertion is superseded by the explicit assertions and paired recording below.

P1 is an accepted **pre-existing exception outside the file-path specification**: its controlled production PreviewCard query harness opens the correct error tooltip but loses it on entry on both pins; success PreviewCard/exclusion remains unchanged. No production scope expansion was made. F2/C1/E1/G1Footer remain labeled production-component harness evidence, not newly exercised real routes. The actual sidebar footer is informational; glass text selection remains unverified. No exact plain-text clipboard equality is claimed for N2.

## Six normalized controls

Pair | Before | After | Diff 0 ×4 | Diff 16 | Total/unrelated pixels at 0 / 16
---|---|---|---|---|---
F3-1440x900 | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bbe62a22fbe5283/F3-1440x900-before.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4c0de2fd2099ab2/F3-1440x900-after.png) | [Diff 0 ×4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c9edeb1fcb270920/F3-1440x900-diff0-amplified4.png) | [Diff 16](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dada1ce525d59f03/F3-1440x900-diff16.png) | 0 / 0
F3-390x844 | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1823d9e7d3f1156/F3-390x844-before.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5caa772d445183e3/F3-390x844-after.png) | [Diff 0 ×4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6a0965f8ed639d4a/F3-390x844-diff0-amplified4.png) | [Diff 16](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f5a0016a9ba4f4bd/F3-390x844-diff16.png) | 0 / 0
G1H1-1440x900 | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b54d499c7a34a0f5/G1H1-1440x900-before.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2c90bc36a0b49ff/G1H1-1440x900-after.png) | [Diff 0 ×4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b20aa92510e56c04/G1H1-1440x900-diff0-amplified4.png) | [Diff 16](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d10f2ea065365caa/G1H1-1440x900-diff16.png) | 0 / 0
G1H1-390x844 | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c50f0c12d1fd64e5/G1H1-390x844-before.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/754372d4417a56d2/G1H1-390x844-after.png) | [Diff 0 ×4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ec967f5a006e297e/G1H1-390x844-diff0-amplified4.png) | [Diff 16](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c23852cf9e4ea976/G1H1-390x844-diff16.png) | 0 / 0
M1-1440x900 | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c96f66d85f7817f0/M1-1440x900-before.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e46408b56c173014/M1-1440x900-after.png) | [Diff 0 ×4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e6f9d9acf41d820/M1-1440x900-diff0-amplified4.png) | [Diff 16](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/07e8c49bebd8dd31/M1-1440x900-diff16.png) | 0 / 0
N2-1440x900 | [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8bd9842e63945630/N2-1440x900-before.png) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f6f258b106f90fc/N2-1440x900-after.png) | [Diff 0 ×4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fa29e90a604d3d80/N2-1440x900-diff0-amplified4.png) | [Diff 16](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c79d38101c3de95a/N2-1440x900-diff16.png) | 0 / 0

[Machine-readable identity/state/pixel assertions](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e2394c2906d402db/validation.json); [Independent RGB diff statistics](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35ff127e18d42666/diff-statistics.json).

### F3-1440x900: static parity, before left / after right

![F3-1440x900 hover-trigger static parity: before left, after right](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f1440d37204dd81a/F3-1440x900-paired.png)

[Before state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/71511b3fa97fc632/F3-1440x900-before.json) · [After state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a3b253a19bdc6d09/F3-1440x900-after.json)

### F3-390x844: static parity, before left / after right

![F3-390x844 hover-trigger static parity: before left, after right](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ba2b2777aeb19d7/F3-390x844-paired.png)

[Before state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1968698d1c9814d9/F3-390x844-before.json) · [After state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20fbbcac59e6d212/F3-390x844-after.json)

### G1H1-1440x900: static parity, before left / after right

![G1H1-1440x900 hover-trigger static parity: before left, after right](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3b08c24f08cc9ec/G1H1-1440x900-paired.png)

[Before state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c8c95a56026ed29/G1H1-1440x900-before.json) · [After state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b6f362fd6c05b52/G1H1-1440x900-after.json)

### G1H1-390x844: static parity, before left / after right

![G1H1-390x844 hover-trigger static parity: before left, after right](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1817a8b429b15e94/G1H1-390x844-paired.png)

[Before state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a93f1e7bbaaa3d0d/G1H1-390x844-before.json) · [After state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7eb39168c5fc45a/G1H1-390x844-after.json)

### M1-1440x900: static parity, before left / after right

![M1-1440x900 hover-trigger static parity: before left, after right](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e0c1478a761d3ef/M1-1440x900-paired.png)

[Before state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9478e740fa6f98d/M1-1440x900-before.json) · [After state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b56afc768e6c3f5/M1-1440x900-after.json)

### N2-1440x900: static parity, before left / after right

![N2-1440x900 hover-trigger static parity: before left, after right](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20d1a711b00744ef/N2-1440x900-paired.png)

[Before state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/239d354069ce2bf7/N2-1440x900-before.json) · [After state / tooltip / stability](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c9b7c2745e220eb/N2-1440x900-after.json)

## M1: explicit menu cancellation and reopen

Both raw desktop takes assert these states independently for right-click and focused Shift+F10: Save image / Copy image menu present; tooltip null while menu open, including movement onto exposed image; outside click makes visible menu-item count exactly zero; media dialog remains present; leave/rehover restores demo.png tooltip with menu still absent. The first outside click also zooms the image, an unchanged image action on both sides. The pointer is subsequently parked outside the actual zoomed image bounds before rehovering. Escape is not used to cancel either tested menu.

[M1 paired recording — BEFORE left / AFTER right](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2883252aec7dc270/M1-cancel-paired.mp4)

![M1 paired recording frame: before left and after right; menu absent and tooltip reopening](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4e3d39fdcc76ef74/M1-cancel-paired-review.png)

**BEFORE:** [raw Xvfb recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/543348a0dca9c9a9/M1-cancel-before-raw.mp4) · [explicit assertions and timestamps](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3109ecb50a68a15a/M1-cancel-before.json)

[opened](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5451b336590b3ed2/M1-cancel-before-opened.png) · [menu](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2c550db8cf17f63a/M1-cancel-before-menu.png) · [suppressed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/62d90e1b5207f444/M1-cancel-before-suppressed.png) · [cancel](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5011da1152deb69c/M1-cancel-before-cancel.png) · [reopened](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/57c95d39e08ec4e3/M1-cancel-before-reopened.png) · [keyboard-menu](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9359d1a0e7808ca2/M1-cancel-before-keyboard-menu.png) · [keyboard-cancel](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/84676d2556e52757/M1-cancel-before-keyboard-cancel.png) · [final-reopen](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86c22aeced9b221d/M1-cancel-before-final-reopen.png) · 

**AFTER:** [raw Xvfb recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/82edd64e02b6d3a1/M1-cancel-after-raw.mp4) · [explicit assertions and timestamps](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a45775cf0342ddac/M1-cancel-after.json)

[opened](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/038cce3c2abc330d/M1-cancel-after-opened.png) · [menu](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/16a1e3401b34675f/M1-cancel-after-menu.png) · [suppressed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0b92279464b61680/M1-cancel-after-suppressed.png) · [cancel](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9ae314955823aa23/M1-cancel-after-cancel.png) · [reopened](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7aa657303ade1c6d/M1-cancel-after-reopened.png) · [keyboard-menu](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee5a46400567e6de/M1-cancel-after-keyboard-menu.png) · [keyboard-cancel](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7305c870a02fef88/M1-cancel-after-keyboard-cancel.png) · [final-reopen](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/07c14b784b9b3d1b/M1-cancel-after-final-reopen.png) · 

## Capture provenance and review

Only synthetic state under /tmp was used. Stills and videos come from Xvfb :158 through ffmpeg x11grab; CDP and native XTest perform UI interaction. No production source changes, commits, pushes, merge, forge comments, watch or live ~/.t3 access were performed by this capture round. All twelve accepted static captures, all M1 state stills, all twelve diff images, and one-second temporal samples spanning both full raw M1 recordings were opened and visually inspected. The paired recording's labels/captions were also inspected. Public downloads were byte-compared to local artifacts after upload.

Browser/CDP control was released at completion of capture, before publication; no capture driver remains running. Retained server 2063373, Vite 2063360, Chromium 2014664, Xvfb 2014410 and fresh Chromium 2024755 were checked alive and left running for the final auditor.

FRICTION | Observed | Resolution / prevention
---|---|---
Viewport state | F3 desktop inherited sidebar width and branch-banner state across narrow-to-desktop transition | Resize before reload; use the real dismiss control; retake both sides. Final full-frame delta is zero.
Composer state | Empty desktop submit-button rendering retained 144 single-channel ±1 pixels; an intermediate comparison also mixed new-before and old-after draft states | Use the same fixed unsent draft on both sides and compare only finalized takes. Final delta is zero at threshold 0, not merely threshold 16.
M1 cancellation | Escape previously also closed the media dialog while leaving its menu; tooltip-null alone overclaimed cancellation | Outside click; assert visible menu items separately, dialog presence, suppression and actual reopen.
M1 zoom | Clicking exposed image dismisses menu and also zooms image | Park pointer outside current image bounds before rehover; verify reopen independently.
Attachment fixture | Clearing stale draft removed the expanded-image trigger | Attach the same synthetic PNG/file explicitly on each side through the real file input.
CDP reload | A reload briefly invalidated Runtime evaluation | Wait past navigation before checking the real mounted timeline; failed takes excluded.
Scope | Earlier wording could imply universal shared retention or real-route harness coverage | File-path claim plus representative unchanged nonfile interactions only; P1 exception and harness boundaries explicit.

## Scripts, source snapshots and hashes

Scripts retain their /tmp prerequisite paths: use this directory with the prior supplemental capture archive at /tmp/ev11558-supplement. normalize.py runs the six static controls; m1_cancel.py records each M1 side; diffs.py and validate.py independently recompute the final proof. Historical helper capture.py supplies only wait/LONG to normalize.py; its CDP screenshot helper is not used by this round. New capture functions use ffmpeg exclusively. Source snapshots reproduce the pins, not a later merge.

[after-override.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/89162f286ae143fc/after-override.json)

[before-override.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d59eb23b0cb79141/before-override.json)

[capture.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/965cd62df9ba6a52/capture.py)

[cdp.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d9c1934158a0847/cdp.py)

[diffs.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb1c43ebde46576e/diffs.py)

[driver.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/810109ccf441bd1a/driver.py)

[intercept.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb187764e7491f1a/intercept.py)

[m1_cancel.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35d7271a41acaca7/m1_cancel.py)

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

[normalize.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b4e8b796e799dcb7/normalize.py)

[pair_video.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1fc246ada8408f0/pair_video.py)

[publish.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ba572973cc4a622/publish.py)

[review_media.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/072c28b3db4c02b6/review_media.py)

[source-diff.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78e6d0348615d174/source-diff.txt)

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

[stage.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/925ba9c45dc580c9/stage.py)

[tooltip-after.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7a3e97c41f8debc/tooltip-after.tsx)

[tooltip-before.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e6003ff63f2c6ea/tooltip-before.tsx)

[validate.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bff9acf70c82d72c/validate.py)

Model/harness: GPT-6.1-Sol / Codex through T3 Code. Final merged-source audit belongs to the lead.
