## Evidence

Captured **11/11 requested after rows** for [#33276](https://git.cafe/pingdotgg/t3code/pull/33276), all on [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d); reused the five valid first-pass before recordings on [934c7f8d8e](https://git.cafe/pingdotgg/t3code/commit/934c7f8d8e7a012aa55be9c0b17498979040fe02). No requested row remains unverified. Native Browser recordings and a chrome-navigation control are linked below.

**Environment, every desktop capture:** Ubuntu 24.04.4 LTS, Linux 6.8.0-117-generic x86_64; real Electron **44.10.1**, `vp run dev:desktop`, `headless-desktop` (Xvfb + D-Bus, X11); display **1920×1080×24**, app **1920×900 at (0,0)**, **DPR 1**, light theme, `--no-sandbox --disable-gpu`. Real `xdotool` buttons 8/9; desktop ffmpeg 15 fps, H.264/yuv420p. Same size/theme/readout/masks as before. No macOS, Windows, Wayland, mobile or standalone-web claim.

Fresh isolated T3/XDG state, `T3CODE_DEV_SEED=0`, two synthetic empty threads, synthetic pages only; no live database. Before environment `049f2b54-e5ed-4dd1-a299-66407d022245`; after `cbf3b6ad-f8fc-416d-9e42-2258101f6129`. A/B are their `capture-thread-a` / `capture-thread-b` routes. p1/p2 are `http://127.0.0.1:18776/p1.html` / `p2.html`; cross-site iframe uses `localhost`. R6 alone uses p1f (p1 plus that iframe), p1f → p2 → plain-content Back → iframe Forward.

Each row resets host A → B and opens a fresh guest; history is confirmed before input, with R7 opened directly at p2. R2/R3/R6/R7/C4 click inside the named iframe first; A1 hovers the cross-site iframe with the picker active. The external CDP readout reports host/guest/history throughout, including the retained hidden guest after host navigation. Identical external provider-control mask and fixed public strip x=300..1499/y=837..876; no app source edits. Times below are relative to the desktop recorder launch.

| Row / action | Before | After |
|---|---|---|
| R1: Back, plain content | [934c7f8d8e](https://git.cafe/pingdotgg/t3code/commit/934c7f8d8e7a012aa55be9c0b17498979040fe02) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e5550cb09d93f1e/before-R1.mp4) · B/p1; down 1.803s / up 1.901s. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab6a78d4a992cd27/after-R1.mp4) · B/p1; down 1.804s / up 1.901s. |
| R2: Back, clicked same-origin iframe | [934c7f8d8e](https://git.cafe/pingdotgg/t3code/commit/934c7f8d8e7a012aa55be9c0b17498979040fe02) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f96186d57d285388/before-R2.mp4) · A/p2 (bug); down 1.803s / up 1.900s. [settled result](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9efe1d6672dc7424/before-R2-post.png) | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e2035e8f4ef08a7/after-R2.mp4) · B/p1; down 1.803s / up 1.900s. [settled result](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d12dc0d702ea7abb/after-R2-post.png) |
| R3: Back, clicked cross-site iframe | [934c7f8d8e](https://git.cafe/pingdotgg/t3code/commit/934c7f8d8e7a012aa55be9c0b17498979040fe02) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb3b032eec7f70ab/before-R3.mp4) · A/p2 (bug); down 1.930s / up 2.153s. [settled result](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/51ec2b0c27804150/before-R3-post.png) | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/29356488d8383d1b/after-R3.mp4) · B/p1; down 1.803s / up 1.898s. [settled result](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e1a2be6a160482b/after-R3-post.png) |
| R6: Forward, cross-site iframe on p1f with p2 ahead | Not requested. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/929ee1d92c37aebf/after-R6.mp4) · B/p2; down 1.804s / up 1.901s. |
| R7: Back, iframe, no guest history | [934c7f8d8e](https://git.cafe/pingdotgg/t3code/commit/934c7f8d8e7a012aa55be9c0b17498979040fe02) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc3fcd4609acb51a/before-R7.mp4) · A/p2 (bug); down 1.803s / up 1.904s. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17bf51d7dbf86bb1/after-R7.mp4) · B/p2; neither moves; down 1.803s / up 1.903s. |
| R10: Composer focused; pointer moved over guest | Not requested. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6e9fa7c628387e81/after-R10.mp4) · B/p1; composer stays focused; down 1.803s / up 1.900s. |
| R12: Back over main chat | Not requested. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/efcf1372df7d99cf/after-R12.mp4) · A/p2; host navigates; down 1.803s / up 1.903s. |
| R14: Back held ~1 second | Not requested. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a902d686210c4469/after-R14.mp4) · held B/p2; release B/p1 once; down 1.803s / up 2.822s. |
| C1: Recording + Show mouse presses; plain Back | [934c7f8d8e](https://git.cafe/pingdotgg/t3code/commit/934c7f8d8e7a012aa55be9c0b17498979040fe02) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/195c80729179080e/before-C1.mp4) · B/p1; blue ripple; down 1.804s / up 1.912s. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08c02de3c2fb9be1/after-C1.mp4) · B/p1; blue ripple; saved p1; down 1.804s / up 1.903s. [saved ripple frame](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3345c1a37d98b5a3/C1-ripple.png) |
| C4: Recording + Show mouse presses; cross-site iframe Back | Not requested. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/104de8fc623ef07a/after-C4.mp4) · B/p1; no misplaced marker; saved p1; down 1.804s / up 1.899s. [saved iframe-press frame](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b07ed0c42c8dbefd/C4-no-misplaced-marker.png) |
| A1: Picker active; Back over cross-site iframe | Not requested. | [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) · [video](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/11b65950cd32b772/after-A1.mp4) · B/p1; picker exits; no visible error; down 1.802s / up 1.899s. |

![Before: host A / retained p2. After: host B / visible p1, cross-site iframe Back.](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f50f06d5a4b9766b/before-after-R3.png)

**C1 saved-recording investigation:** the earlier p2-ending anomaly does **not reproduce on the current head**. Two unchanged thumb-Back runs and the ordinary left-click Browser Back control all save p1. A separate continuation probe also saves a synthetic page change injected five seconds after thumb navigation. There is no demonstrated current-head thumb-specific freeze; the earlier-head anomaly’s cause remains unproven. The conditional new before-side rerun was not triggered because C1 did not freeze.

| Saved run / build | Native recording | First p1 / last visible change (video PTS) | Last encoded frame / file duration | Result |
|---|---|---|---|---|
| First-pass C1 · [934c7f8d8e](https://git.cafe/pingdotgg/t3code/commit/934c7f8d8e7a012aa55be9c0b17498979040fe02) | [saved guest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5852fcb29701aed0/before-C1-guest.mp4) | p1 2.543s; ripple finishes by 3.060s | 3.060s / 3.093s | Includes p1 and blue ripple. |
| C1 · [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) | [saved guest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8bfd91a2e3051cc/after-C1-guest.mp4) | p1 2.505s; ripple finishes by 3.094s | 3.094s / 3.128s | Includes p1 and restored ripple. |
| C1 repeat · [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) | [saved guest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97db26e3e002eabf/after-C1-repeat-guest.mp4) | p1 2.476s; ripple finishes by 3.054s | 3.054s / 3.088s | Same outcome. |
| Chrome Back, left click · [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) | [saved guest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2df51533a39f3afb/after-C1Chrome-guest.mp4) · [desktop control](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f388744885642f5f/after-C1Chrome.mp4) | p1 2.512s; content static afterward | 8.981s / 9.014s | Includes post-navigation p1. |
| C4 iframe Back · [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) | [saved guest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/791b3d2e5484969a/after-C4-guest.mp4) | p1 4.429s; no press marker in any saved frame | 4.429s / 4.462s | Includes p1; no wrong-position marker. |
| C1 + late page change · [385579457a](https://git.cafe/pingdotgg/t3code/commit/385579457add6399b53fc79cfc2f01309346250d) | [saved guest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7aed68a2f9ebc338/after-C1-continuation-guest.mp4) · [desktop probe](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e04acb2ce090083/after-C1-continuation.mp4) | p1 2.528s; injected text appears 7.476s | 7.476s / 7.509s | Capture continues beyond navigation. |

All live recording runs remain active for eight seconds after navigation before stop/save. Native output is sparse on static pages; short file duration alone is not evidence of a freeze. [Every native frame PTS](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/268bf1b78b355bde/recording-analysis.json) and [late-change frame sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6501398c2c6b9c4/after-C1-continuation-guest-sheet.png). A dependency watcher restarted Electron during an additional chrome probe after the accepted captures; that interrupted attempt is excluded.

**Settled frames / pixel differences:** R1/R2/R3/R7 pre-state and R2/R3 result stills were accepted after two pixel-identical root captures 500 ms apart. Each comparison has a 0%-fuzz zero-threshold amplified diff and a 5%-fuzz diff; no alignment or readout exclusion. Links below are zero / 5%:
- R1 pre: [zero](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7828e39b317fb5b1/diff-R1-pre-zero-amplified.png) / [5%](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e6025df62ebc4ca6/diff-R1-pre-fuzz-5pct.png).
- R2 pre: [zero](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d12d6ab5103b5d8/diff-R2-pre-zero-amplified.png) / [5%](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b05bf0acff3f51a3/diff-R2-pre-fuzz-5pct.png).
- R3 pre: [zero](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/84332071899071ad/diff-R3-pre-zero-amplified.png) / [5%](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f836617397749e0d/diff-R3-pre-fuzz-5pct.png).
- R7 pre: [zero](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d7c7459756d3e943/diff-R7-pre-zero-amplified.png) / [5%](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f601536aa3db513e/diff-R7-pre-fuzz-5pct.png).
- R2 post: [zero](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b06d03c90e7f7924/diff-R2-post-zero-amplified.png) / [5%](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e9905557fb97a37/diff-R2-post-fuzz-5pct.png).
- R3 post: [zero](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/47047a38ad82b6f7/diff-R3-post-zero-amplified.png) / [5%](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0495079cd6c158d4/diff-R3-post-fuzz-5pct.png).

[Diff metrics](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/648dea08c11abff8/diff-metrics.json) · [New-head input/state transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bbe3ed2b1d274da8/after-transcript.txt) · [Before transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05d2428bbb5891d3/before-transcript.txt) · [Capture manifest](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/70a823b078984928/manifest.json) · [Desktop sample times](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f532834c30f7a645/media-validation.json) · [18 videos decoded successfully](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/363dc978943ce1ea/decode-validation.json). Every published desktop clip was inspected before/after input, R14 during hold, C1 late in its active recording, and every native guest frame was inspected. Accepted captures contain no stale dialog, spinner, duplicated ghost, clipped relevant text or unintended blank area.

**What else changed:**

- R2/R3: before switches host B → A, hides B’s Browser panel and widens chat; after keeps B and replaces beige p2/lavender iframes with green p1. R7 before similarly switches to A; after keeps B/p2.
- R1/R10/R14/C1/C4/A1 replace p2 with p1 without switching host; titles, URLs, colors, text, iframe visibility and Back/Forward enabled states follow navigation. R14 moves once, on release. R6 makes the inverse p1f → p2 transition. R12 intentionally switches the host to A and hides B’s Browser panel.
- A1 starts with picker toolbar and cross-site iframe outline; navigation removes them without a visible error. C1 preserves the plain-content blue ripple from before, reports down/up decoration events, and saves p1; C4 reports no decoration events and draws no misplaced iframe press marker.
- Synthetic environment/tab IDs, build labels, input phases and thread relative ages differ between runs. Hover, caret/focus and pointer positions follow the action. Readout/masks are external harness additions shared by both sides. Pixel diffs also include metadata and text antialiasing; no product styling change is observed.
- The separate late-change probe deliberately adds synthetic “POST-NAV CAPTURE at +5 seconds” text to prove continued recording; it is not part of the matrix recordings. Native static-page frame counts/durations vary.

**Scripts / reproduction:** serve `pages/` at 18776; run `launch.py after /home/user/wt/pr-33276 19222` with retained process ownership, `seed.mjs`, `setup-ui.mjs`; size/move Electron with xdotool to 1920×900/(0,0); run observer/readout; run `run-matrix.mjs after 19222 <rows>`. `run-continuation.mjs` adds the explicit late synthetic-page change. Built dependencies skip repeated license generation; each capture writes a new timestamped scratch directory. Failed setup/history attempts are excluded. No tracked source changed.

Current scripts/fixtures: [seed.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/add6ad7ea1e1d24b/seed.mjs) · [setup-ui.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9c4053632793bb0/setup-ui.mjs) · [run-matrix.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f32150533cde16c4/run-matrix.mjs) · [run-continuation.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c8e17141eefd0130/run-continuation.mjs) · [cdp.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6e3b919a35e89be6/cdp.mjs) · [launch.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c19f6bea737fa04/launch.py) · [start-desktop.sh](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df7ae77b240545dc/start-desktop.sh) · [launch-shim.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73911ed7be56a309/launch-shim.cjs) · [owned.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8e3b93feb54ca0b3/owned.py) · [xenv.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab0696c0f67fd299/xenv.py) · [observer.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/29862a04287aed96/observer.mjs) · [readout.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3ef797c085817153/readout.py) · [publish-media.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/564786f5b78693c9/publish-media.py) · [make-diffs.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/556c4f010b2e4b1f/make-diffs.py) · [review-media.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/197a10ced843fa47/review-media.py) · [analyze-recordings.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9372a25a3259fcc/analyze-recordings.py) · [p1.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d33c49a3b437204/p1.html) · [p1f.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/495ca467b7dfd73e/p1f.html) · [p2.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7f34dbbffb886c25/p2.html) · [frame.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d67242eb9f64f4a/frame.html).
First-pass before scripts/fixtures: [cdp.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0b4aa9a4734e574a/cdp.mjs) · [cleanup.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b3c58c53410dcdd9/cleanup.py) · [launch-shim.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/48ea1a656e2ff485/launch-shim.cjs) · [launch.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4e03c779d8d29da1/launch.py) · [make-diffs.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2e08bec14f0f647/make-diffs.py) · [make-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aabce0853b2f3702/make-evidence.py) · [observer.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d0e3752aee3152d/observer.mjs) · [owned.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/312b317fe5ca2ead/owned.py) · [process-ledger.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd85a72a8c452f78/process-ledger.py) · [publish-media.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/62af99d448ed584e/publish-media.py) · [readout.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/825c5ef1acfe2865/readout.py) · [review-media.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5eacb35178d6ac6b/review-media.py) · [run-matrix.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ec1ed7a5cb017a4/run-matrix.mjs) · [seed.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eba58103c80d6c7f/seed.mjs) · [setup-ui.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a20dd0366d86cac/setup-ui.mjs) · [start-desktop.sh](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2c24bf3b943c5b6/start-desktop.sh) · [stop-side.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64e4e3fee1afa14d/stop-side.py) · [upload-assets.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d4af0c96432f44e/upload-assets.py) · [xenv.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/37c6821fef836b19/xenv.py) · [frame.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75720d880c702dfd/frame.html) · [p1.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d35386f7cd1fdba/p1.html) · [p2.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/352b9a6ce994bb08/p2.html).

[Cleanup verification](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea0b5aa51cae91fb/cleanup.txt): owned desktop, backend, Vite, Xvfb, observers and fixture server stopped; temporary Browser tab closed; no device lease; no before checkout created; after checkout clean. All uploaded data is synthetic.

AI-assisted; verified with the tests and tools listed above.
