# Reveal routing evidence for [#33064](https://git.cafe/pingdotgg/t3code/pull/33064)

**Additional findings outside the PR title:** nested-workspace changed-file card and diff-header reveals duplicate `src` in their target on both revisions. Read-only Ctrl+O sends an ordinary directory-open request (without `reveal`) which the server rejects on both revisions. Neither is a new regression established by this capture.

16 / 41 matrix rows have paired recordings. A04/A05 include a failed path oracle on both revisions; captured does not mean passed. Windows selection and performance remain unverified.

Before [4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63); after [93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3). These are the requested local commits, not a claim about remote CI.

## Environment and method

Linux x86_64; desktop Electron 44.10.1 / Chromium 152.0.7977.169 under headless-desktop + Xvfb, --no-sandbox --disable-gpu. Full app window 1440×1000 dark, DPR 1, 100% zoom and font scale, no device emulation. Plain web A06: Playwright-controlled real Headless Chromium 148.0.7778.96 at loopback Vite origin, same viewport/theme/DPR/scale. prefers-reduced-motion: reduce; client Date frozen at 2026-11-10T12:00:00Z, timers run normally. FFmpeg x11grab records the desktop; Playwright records A06. A03 and renderer harnesses use a 1440×1000 framebuffer so native popup menus remain within the recorded surface; other desktop clips use the same 1440×1000 app window on a 1920×1080 framebuffer.

Fresh databases at each revision’s migration level, T3CODE_DEV_SEED=0 on every server. Synthetic files and actual free Replay (dev) turns create real persisted checkpoints. No live database was read or seeded. Both sides share the same synthetic project path and contents. No paid provider turn.

Renderer harnesses A07/A08/H01/H02 prepend a compiled-preload shim and supply labelled synthetic bridge outcomes from a separate capture-only IPC channel. They never call the real native reveal channel or change platform/registry. The original preload is restored before A23/A17. The bottom overlay is evidence instrumentation, not product UI. It passively observes actual shell.openInEditor WebSocket requests/replies, registered Electron IPC, and launcher arguments. gdbus/xdg-open stubs prove invocation only. Main-process logs are polled for display, so their trace timestamps can appear after the RPC that followed the IPC; do not use these buffered times for an ordering or latency claim. Each trace retains exact payloads.

Every accepted recording was opened through a chronological contact sheet, with unsuitable takes replaced. No static before/after still pair is published, so still-frame zero-threshold and thresholded diffs do not apply. No pixel-identical or speed claim is made.

## What else changed

- A17 deliberately adds a synthetic missing-file link to guide.md before both sides. A23 injects typed RPC failure before transport; A07/A08/H01/H02 alter only the optional preload bridge method while preserving Linux platform and the remaining bridge. These harnesses are labelled in-frame.
- Evidence labels say BEFORE/AFTER; head-only IPC lines change the overlay’s visible tail. Mock labels appear only in explicitly labelled renderer harnesses.

- Separately generated server event timestamps differ (root turn 7:41 AM vs 7:42 AM), as do Replay durations (5.3s vs 5.2s; nested turn durations also differ), sidebar relative ages, request identifiers and trace identifiers.

- Pointer positions, native-menu paint and asynchronous request completion vary slightly during interactions. The scripts normalize theme, viewport, scroll and text selection before each pair. Details and preview transitions are part of the recorded actions.

- The existing nested-workspace duplicated path and read-only shortcut rejection are recorded on both sides, as noted above. The nested markdown request preserves ../ segments on both sides; the server normalizes the launcher URI.

## Paired recordings

Times below are the visible on-screen trace clock (t+ seconds); the player can include a short ready lead-in. Steps and times are written before each pair. See the linked exact trace for request/result details.

### A01 — 1440×1000 dark

Eleven reveals: nine chip representations, keyboard menu, and a chip inside rendered guide.md. Each side: 11 reveal RPCs and 11 ShowItems invocations; head: 11 actual IPC false results. Line/column suffixes are absent from reveal targets.

Before steps: t+3.54s ACTION 1 markdown shape a.ts · project/src · L2 → right-click → reveal; t+5.63s ACTION 2 markdown shape a.ts · project/src → right-click → reveal; t+7.73s ACTION 3 markdown shape a.ts · project/src · L2:C3 → right-click → reveal; t+9.81s ACTION 4 markdown shape a.ts · project/other → right-click → reveal; t+11.87s ACTION 5 markdown shape guide.md → right-click → reveal; t+13.94s ACTION 6 markdown shape guide.md → right-click → reveal; t+16.03s ACTION 7 markdown shape a.ts · project/src → right-click → reveal; t+18.09s ACTION 8 markdown shape a.ts · project/src → right-click → reveal; t+20.16s ACTION 9 markdown shape long-ユニコード-file-name.ts → right-click → reveal; t+22.20s ACTION keyboard Shift+F10 on first chip → reveal; t+24.29s ACTION nested rendered markdown: open guide.md preview; t+25.22s ACTION document-relative nested chip → reveal

After steps: t+3.32s ACTION 1 markdown shape a.ts · project/src · L2 → right-click → reveal; t+5.39s ACTION 2 markdown shape a.ts · project/src → right-click → reveal; t+7.50s ACTION 3 markdown shape a.ts · project/src · L2:C3 → right-click → reveal; t+9.62s ACTION 4 markdown shape a.ts · project/other → right-click → reveal; t+11.70s ACTION 5 markdown shape guide.md → right-click → reveal; t+13.77s ACTION 6 markdown shape guide.md → right-click → reveal; t+15.88s ACTION 7 markdown shape a.ts · project/src → right-click → reveal; t+17.95s ACTION 8 markdown shape a.ts · project/src → right-click → reveal; t+20.04s ACTION 9 markdown shape long-ユニコード-file-name.ts → right-click → reveal; t+22.11s ACTION keyboard Shift+F10 on first chip → reveal; t+24.22s ACTION nested rendered markdown: open guide.md preview; t+25.19s ACTION document-relative nested chip → reveal



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A01-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee47fbb26c6b9eb4/A01-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A01-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fade6106d002536c/A01-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/33925484de4fce0e/A01-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/afd6dadfaec65ba3/A01-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/211f8aa2531ce6f7/A01-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6fcf44195de5ba3/A01-after.json) |



### A02 — 1440×1000 dark

Selecting a preference does not launch. Primary click and Ctrl+O each reveal once. Two RPCs and two ShowItems invocations per side; head IPC false twice; file-manager preference retained.

Before steps: t+2.66s ACTION choose VS Code as initial preference (no launch); t+3.55s ACTION dropdown → select Files preference (no launch); t+4.56s ACTION primary toolbar click → reveal current file; t+6.40s ACTION Ctrl+O favorite-editor shortcut → reveal same file

After steps: t+2.67s ACTION choose VS Code as initial preference (no launch); t+3.56s ACTION dropdown → select Files preference (no launch); t+4.54s ACTION primary toolbar click → reveal current file; t+6.40s ACTION Ctrl+O favorite-editor shortcut → reveal same file



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A02-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02600a8f5689a76a/A02-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A02-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/07316de193dda5f1/A02-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1fa64f0718f33b09/A02-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe01517603d22e39/A02-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1da03f7f63ebe733/A02-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e61115f2fdb5968d/A02-after.json) |



### A03 — 1440×1000 dark

Pointer and Menu-key context menus under both ShowItems-success and ShowItems-failure. Four reveal RPCs, four gdbus calls, and two parent-directory xdg-open calls per side; head IPC false four times.

Before steps: t+2.63s ACTION file browser src/a.ts right-click → Reveal in Files; launcher showitems; t+4.95s ACTION file browser src/a.ts Menu key → Reveal in Files; launcher showitems; t+7.26s ACTION file browser src/a.ts right-click → Reveal in Files; launcher fallback; t+9.58s ACTION file browser src/a.ts Menu key → Reveal in Files; launcher fallback

After steps: t+2.63s ACTION file browser src/a.ts right-click → Reveal in Files; launcher showitems; t+4.97s ACTION file browser src/a.ts Menu key → Reveal in Files; launcher showitems; t+7.29s ACTION file browser src/a.ts right-click → Reveal in Files; launcher fallback; t+9.59s ACTION file browser src/a.ts Menu key → Reveal in Files; launcher fallback



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A03-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d1ab8ec2335fad0/A03-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A03-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f971b4188135157/A03-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01e530acdff18d6d/A03-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd52842fdca9b589/A03-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0bfa1dd956522033/A03-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7dd31cc454fdc4e7/A03-after.json) |



### A04 — 1440×1000 dark

Root checkpoint: two actual changed-file rows target other/a.ts and src/a.ts. Two RPCs and two ShowItems calls per side.

Before steps: t+2.68s ACTION changed-files card other/a.ts → context menu → Reveal in Files; t+5.02s ACTION changed-files card src/a.ts → context menu → Reveal in Files

After steps: t+2.56s ACTION changed-files card other/a.ts → context menu → Reveal in Files; t+4.89s ACTION changed-files card src/a.ts → context menu → Reveal in Files



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A04-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c5c831b0814a0105/A04-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A04-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de4fe8c966af3d4b/A04-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b80e2101fa10833d/A04-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9ec1ea1f5d1aec4e/A04-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81e7dc90447ddcdb/A04-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6f9317fd2a1ba3fa/A04-after.json) |



### A05 — 1440×1000 dark

Root checkpoint diff: two actual header titles target the clicked other/a.ts and src/a.ts. Two RPCs and two ShowItems calls per side.

Before steps: t+2.83s ACTION diff header other/a.ts → right-click → Reveal in Files; t+5.26s ACTION diff header src/a.ts → right-click → Reveal in Files

After steps: t+2.85s ACTION diff header other/a.ts → right-click → Reveal in Files; t+5.32s ACTION diff header src/a.ts → right-click → Reveal in Files



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A05-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4bafa502ac969476/A05-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A05-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2664e518787de198/A05-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23e213552407147c/A05-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99241e494ff44c3f/A05-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97865847a5822630/A05-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08cf5aae9f49d337/A05-after.json) |



### A04-subdir — 1440×1000 dark

FAILED PATH ORACLE ON BOTH: workspace project/src with repository project resolves changed rows to project/src/src/a.ts and project/src/src/long-ユニコード-file-name.ts. The PR preserves this existing defect.

Before steps: t+2.75s ACTION nested workspace project/src, repository project: a.ts → reveal; t+5.20s ACTION nested workspace project/src, repository project: long-ユニコード-file-name.ts → reveal

After steps: t+2.68s ACTION nested workspace project/src, repository project: a.ts → reveal; t+5.14s ACTION nested workspace project/src, repository project: long-ユニコード-file-name.ts → reveal



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A04-subdir-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97d21b323531a78a/A04-subdir-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A04-subdir-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2dbdd4a3890c575f/A04-subdir-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a04fb07a53ed6c0/A04-subdir-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b7d1a5ebbfd4657/A04-subdir-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ed638326747f11fe/A04-subdir-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b1411b6ff474d18/A04-subdir-after.json) |



### A05-subdir — 1440×1000 dark

FAILED PATH ORACLE ON BOTH: actual nested-workspace diff headers resolve to duplicated project/src/src paths. The PR preserves this existing defect.

Before steps: t+2.87s ACTION nested workspace project/src, repository project: src/a.ts → reveal; t+5.33s ACTION nested workspace project/src, repository project: src/long-ユニコード-file-name.ts → reveal

After steps: t+2.75s ACTION nested workspace project/src, repository project: src/a.ts → reveal; t+5.20s ACTION nested workspace project/src, repository project: src/long-ユニコード-file-name.ts → reveal



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A05-subdir-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4fde196cf604f0c3/A05-subdir-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A05-subdir-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8338a5530d032f53/A05-subdir-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/264616e6d8ce0027/A05-subdir-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02ec386f155ffd7e/A05-subdir-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7bd97ddef2abd709/A05-subdir-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b16a8cdb3d271db9/A05-subdir-after.json) |



### A06 — 1440×1000 dark

All three entry-point families in a real browser. desktopBridge is undefined; three reveal RPCs and three ShowItems calls on each side. No IPC bridge is installed.

Before steps: t+4.67s ACTION 1 markdown file chip → right-click → Reveal in Files; t+6.43s ACTION 2 file preview → choose Files → primary reveal; t+9.32s ACTION 3 file browser src/a.ts → right-click → Reveal in Files

After steps: t+4.92s ACTION 1 markdown file chip → right-click → Reveal in Files; t+6.72s ACTION 2 file preview → choose Files → primary reveal; t+9.26s ACTION 3 file browser src/a.ts → right-click → Reveal in Files



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A06-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c313dde086e38659/A06-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A06-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/395d911d78707e24/A06-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87f50163ebfb19f5/A06-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb7155e962b5a22d/A06-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d6af81d166ec205/A06-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b020816f9cfb04bf/A06-after.json) |



### A09 — 1440×1000 dark

Real server-issued bearer with no operate scope, carried in the CDP HTTP Authorization header. Markdown menu has copy actions and no editor/reveal. Preview remains usable. Zero IPC, reveal RPCs or launchers.

Before steps: t+2.32s ACTION markdown right-click: reveal/editor absent, copy retained; t+4.14s ACTION primary chip click → preview remains available

After steps: t+2.45s ACTION markdown right-click: reveal/editor absent, copy retained; t+4.34s ACTION primary chip click → preview remains available



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A09-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ceef03dcb8f11abf/A09-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A09-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4941061091555ff4/A09-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5941c4417dda6947/A09-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f022b58d5d023255/A09-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02689eedf8315c7a/A09-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b420a07bcb265ed4/A09-after.json) |



### A10 — 1440×1000 dark

Real read-only grant. Preview primary/dropdown and Details Files/choose-editor are disabled. Ctrl+O sends one ordinary directory-open RPC without reveal, rejected by the server. Zero IPC/reveal RPC/launchers.

Before steps: t+2.46s ACTION pointer click disabled primary; t+3.19s ACTION pointer click disabled dropdown; t+3.90s ACTION Ctrl+O with read-only grant; t+5.46s ACTION show thread Details open-in controls with same read-only grant

After steps: t+3.12s ACTION pointer click disabled primary; t+3.86s ACTION pointer click disabled dropdown; t+4.57s ACTION Ctrl+O with read-only grant; t+6.12s ACTION show thread Details open-in controls with same read-only grant



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1bcfe05e8bc37fa0/A10-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/990ba5467c0eb906/A10-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bbf9605eb03eb279/A10-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4833d05b20b09b4a/A10-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d350ca91a39e40c/A10-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/974ae09b2d684514/A10-after.json) |



### A11 — 1440×1000 dark

Real read-only grant. Context-menu reveal remains advertised; activation sends one reveal RPC rejected for missing orchestration:operate. Zero IPC/launchers, with Unable to reveal file toast.

Before steps: t+2.92s ACTION file-browser context menu → advertised Reveal in Files

After steps: t+3.02s ACTION file-browser context menu → advertised Reveal in Files



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A11-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6ae0786d4357533/A11-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A11-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/893ab1356845fcf2/A11-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf7006e2f4bf318c/A11-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7cbb5e26ec14e556/A11-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7be26322271c1293/A11-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b90349775fda806/A11-after.json) |



### H03 — 1440×1000 dark

Labelled direct IPC diagnostic. Base has no method. Head’s actual registered channel returns false for POSIX and drive-letter-looking strings, rejects numeric payload with SchemaError(Expected string). Zero shell.showItemInFolder/launcher calls. No platform override or fake registry.

Before steps: t+2.58s DIAGNOSTIC invoke real registered IPC with "/tmp/lead-33064-r1/evidence-capture-1/project/src/a.ts"; t+3.69s DIAGNOSTIC invoke real registered IPC with "C:\\fixture\\a.ts"; t+4.79s DIAGNOSTIC invoke real registered IPC with 42

After steps: t+3.15s DIAGNOSTIC invoke real registered IPC with "/tmp/lead-33064-r1/evidence-capture-1/project/src/a.ts"; t+4.26s DIAGNOSTIC invoke real registered IPC with "C:\\fixture\\a.ts"; t+5.37s DIAGNOSTIC invoke real registered IPC with 42



| Before | After | Trace / metadata |
| --- | --- | --- |
| [H03-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f319e69d0d3a57a/H03-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [H03-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0fa632906d0827eb/H03-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b9ce596686c37509/H03-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6d82f753ece4a84/H03-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5c87fbd249bb270a/H03-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/996fb989a60dcda4/H03-after.json) |



### A07 — 1440×1000 dark

Labelled renderer compatibility harness: actual desktop identity and all old bridge methods remain; only the new optional method is removed. All M/P/C actions fall back exactly once. This is not an old shipped shell claim.

Before steps: t+2.65s ACTION missing / markdown → reveal (MOCK bridge outcome); t+4.64s ACTION missing / picker → reveal (MOCK bridge outcome); t+5.91s ACTION missing / context → reveal (MOCK bridge outcome)

After steps: t+3.33s ACTION missing / markdown → reveal (MOCK bridge outcome); t+5.34s ACTION missing / picker → reveal (MOCK bridge outcome); t+6.60s ACTION missing / context → reveal (MOCK bridge outcome)



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A07-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f159548f7080700/A07-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A07-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7ba8982587cb4100/A07-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6375228d552dce9/A07-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/85a1650b1897cf8f/A07-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9c0d0f96466a811/A07-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/105633386a2522f2/A07-after.json) |



### A08 — 1440×1000 dark

Labelled renderer bridge harness: synchronous throw, rejected promise, and missing mock main handler, each through M/P/C. Real server fallbacks are observed; no Windows platform or registry is simulated.

Before steps: t+2.67s ACTION sync-throw / markdown → reveal (MOCK bridge outcome); t+4.66s ACTION sync-throw / picker → reveal (MOCK bridge outcome); t+5.93s ACTION sync-throw / context → reveal (MOCK bridge outcome); t+7.94s ACTION reject / markdown → reveal (MOCK bridge outcome); t+9.94s ACTION reject / picker → reveal (MOCK bridge outcome); t+11.19s ACTION reject / context → reveal (MOCK bridge outcome); t+13.19s ACTION nohandler / markdown → reveal (MOCK bridge outcome); t+15.19s ACTION nohandler / picker → reveal (MOCK bridge outcome); t+16.44s ACTION nohandler / context → reveal (MOCK bridge outcome)

After steps: t+2.69s ACTION sync-throw / markdown → reveal (MOCK bridge outcome); t+4.68s ACTION sync-throw / picker → reveal (MOCK bridge outcome); t+5.95s ACTION sync-throw / context → reveal (MOCK bridge outcome); t+7.95s ACTION reject / markdown → reveal (MOCK bridge outcome); t+9.95s ACTION reject / picker → reveal (MOCK bridge outcome); t+11.21s ACTION reject / context → reveal (MOCK bridge outcome); t+13.20s ACTION nohandler / markdown → reveal (MOCK bridge outcome); t+15.20s ACTION nohandler / picker → reveal (MOCK bridge outcome); t+16.45s ACTION nohandler / context → reveal (MOCK bridge outcome)



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A08-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba5aa8044ba112e7/A08-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A08-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/def895fcc47170b6/A08-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23b2b618ef4f1b89/A08-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ee50b112637808e/A08-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de572a869bdf6aec/A08-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/189b0299129b5519/A08-after.json) |



### H01 — 1440×1000 dark

Labelled renderer-only bridge harness: boolean true and held-then-true for M/P/C. This is a mocked bridge result, not native selection or Windows evidence. Head suppresses fallback only after true settles; base uses server routing.

Before steps: t+2.68s ACTION true / markdown → reveal (MOCK bridge outcome); t+4.67s ACTION true / picker → reveal (MOCK bridge outcome); t+5.94s ACTION true / context → reveal (MOCK bridge outcome); t+7.93s ACTION delayed-true / markdown → reveal (MOCK bridge outcome); t+9.73s HELD mock promise; RPC count since activation=1; t+9.73s RELEASE mock bridge promise; t+10.94s ACTION delayed-true / picker → reveal (MOCK bridge outcome); t+12.01s HELD mock promise; RPC count since activation=1; t+12.01s RELEASE mock bridge promise; t+13.22s ACTION delayed-true / context → reveal (MOCK bridge outcome); t+15.00s HELD mock promise; RPC count since activation=1; t+15.00s RELEASE mock bridge promise

After steps: t+2.70s ACTION true / markdown → reveal (MOCK bridge outcome); t+4.67s ACTION true / picker → reveal (MOCK bridge outcome); t+5.94s ACTION true / context → reveal (MOCK bridge outcome); t+7.93s ACTION delayed-true / markdown → reveal (MOCK bridge outcome); t+9.73s HELD mock promise; RPC count since activation=0; t+9.73s RELEASE mock bridge promise; t+10.94s ACTION delayed-true / picker → reveal (MOCK bridge outcome); t+12.00s HELD mock promise; RPC count since activation=0; t+12.00s RELEASE mock bridge promise; t+13.21s ACTION delayed-true / context → reveal (MOCK bridge outcome); t+14.99s HELD mock promise; RPC count since activation=0; t+15.00s RELEASE mock bridge promise



| Before | After | Trace / metadata |
| --- | --- | --- |
| [H01-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3449cc15e8afbfd8/H01-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [H01-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26b71a0dc7d593bc/H01-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d6af86ca2ad3221/H01-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd3131f7d8b7dc80/H01-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f4d6c470999e8f7/H01-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ec43ea8bb7aa756/H01-after.json) |



### H02 — 1440×1000 dark

Labelled renderer-only bridge harness: false, undefined, null, string true, and held false, each through M/P/C. Only strict boolean true is a success; fallbacks and held-promise counts are visible.

Before steps: t+3.20s ACTION false / markdown → reveal (MOCK bridge outcome); t+5.18s ACTION false / picker → reveal (MOCK bridge outcome); t+6.42s ACTION false / context → reveal (MOCK bridge outcome); t+8.42s ACTION undefined / markdown → reveal (MOCK bridge outcome); t+10.42s ACTION undefined / picker → reveal (MOCK bridge outcome); t+11.67s ACTION undefined / context → reveal (MOCK bridge outcome); t+13.67s ACTION null / markdown → reveal (MOCK bridge outcome); t+15.67s ACTION null / picker → reveal (MOCK bridge outcome); t+16.92s ACTION null / context → reveal (MOCK bridge outcome); t+18.93s ACTION nonboolean / markdown → reveal (MOCK bridge outcome); t+20.92s ACTION nonboolean / picker → reveal (MOCK bridge outcome); t+22.18s ACTION nonboolean / context → reveal (MOCK bridge outcome); t+24.17s ACTION delayed-false / markdown → reveal (MOCK bridge outcome); t+25.97s HELD mock promise; RPC count since activation=1; t+25.98s RELEASE mock bridge promise; t+27.18s ACTION delayed-false / picker → reveal (MOCK bridge outcome); t+28.24s HELD mock promise; RPC count since activation=1; t+28.24s RELEASE mock bridge promise; t+29.45s ACTION delayed-false / context → reveal (MOCK bridge outcome); t+31.25s HELD mock promise; RPC count since activation=1; t+31.25s RELEASE mock bridge promise

After steps: t+2.95s ACTION false / markdown → reveal (MOCK bridge outcome); t+4.96s ACTION false / picker → reveal (MOCK bridge outcome); t+6.23s ACTION false / context → reveal (MOCK bridge outcome); t+8.24s ACTION undefined / markdown → reveal (MOCK bridge outcome); t+10.24s ACTION undefined / picker → reveal (MOCK bridge outcome); t+11.54s ACTION undefined / context → reveal (MOCK bridge outcome); t+13.53s ACTION null / markdown → reveal (MOCK bridge outcome); t+15.54s ACTION null / picker → reveal (MOCK bridge outcome); t+16.79s ACTION null / context → reveal (MOCK bridge outcome); t+18.78s ACTION nonboolean / markdown → reveal (MOCK bridge outcome); t+20.78s ACTION nonboolean / picker → reveal (MOCK bridge outcome); t+22.04s ACTION nonboolean / context → reveal (MOCK bridge outcome); t+24.07s ACTION delayed-false / markdown → reveal (MOCK bridge outcome); t+25.87s HELD mock promise; RPC count since activation=0; t+25.87s RELEASE mock bridge promise; t+27.08s ACTION delayed-false / picker → reveal (MOCK bridge outcome); t+28.13s HELD mock promise; RPC count since activation=0; t+28.13s RELEASE mock bridge promise; t+29.34s ACTION delayed-false / context → reveal (MOCK bridge outcome); t+31.13s HELD mock promise; RPC count since activation=0; t+31.14s RELEASE mock bridge promise



| Before | After | Trace / metadata |
| --- | --- | --- |
| [H02-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54f821e01d5fc433/H02-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [H02-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2b4bd024aa9de107/H02-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/587a96b9f7db6dba/H02-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/61396a03f76f4b0e/H02-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bfe6200fcc1b38b3/H02-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ad645c3d9d871e13/H02-after.json) |



### A23 — 1440×1000 dark

Labelled renderer RPC error harness. Each M/P/C activation gets one injected ExternalLauncherCommandNotFoundError at WebSocket send; no actual shell request reaches the server and no launcher runs. Head uses the real Linux bridge and returns false three times. M/C show Unable to reveal file; picker follows existing command error reporting with no success announcement. This proves renderer failure handling only.

Before steps: t+2.59s ACTION markdown → reveal → injected typed failure; t+4.91s ACTION picker → reveal → injected typed failure; t+6.50s ACTION context → reveal → injected typed failure

After steps: t+2.50s ACTION markdown → reveal → injected typed failure; t+4.83s ACTION picker → reveal → injected typed failure; t+6.40s ACTION context → reveal → injected typed failure



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A23-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/abd9db816bc8bbf4/A23-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A23-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17d7ff8fc5111edf/A23-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3535cd19fd4f8e31/A23-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba9c36d6e4a12a68/A23-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/88d059d331514497/A23-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8dee5b5c6de9139a/A23-after.json) |



### A17 — 1440×1000 dark

Actual missing host file read error with Attempted path retained. Primary file-manager reveal still sends one RPC and one ShowItems invocation on each side; head real Linux IPC declines once. This does not establish a Windows missing-file outcome.

Before steps: t+2.59s ACTION guide.md → rendered document → missing local file; t+2.92s ACTION file-manager primary reveal after read error

After steps: t+2.61s ACTION guide.md → rendered document → missing local file; t+3.05s ACTION file-manager primary reveal after read error



| Before | After | Trace / metadata |
| --- | --- | --- |
| [A17-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/67c8e835e611ccd4/A17-before.mp4)<br>[4c361199f4](https://github.com/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [A17-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e765aed308ac9e13/A17-after.mp4)<br>[93a2245059](https://github.com/pingdotgg/t3code/commit/93a2245059f7b9c2555269b24d168dbadc68b3c3) | [Before trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/48d0988fe557817f/A17-before.txt) · [After trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/28d219cfe0d00d10/A17-after.txt)<br>[Before environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f9c47ac68c3d7ad/A17-before.json) · [After environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/077e48d3b8dd3703/A17-after.json) |



## Every matrix row and remaining gaps

| Row | Status / reason |
| --- | --- |
| A01 | Paired recordings above; see row outcome and limits. |
| A02 | Paired recordings above; see row outcome and limits. |
| A03 | Paired recordings above; see row outcome and limits. |
| A04 | Paired recordings above; see row outcome and limits. |
| A05 | Paired recordings above; see row outcome and limits. |
| A06 | Paired recordings above; see row outcome and limits. |
| A07 | Paired recordings above; see row outcome and limits. |
| A08 | Paired recordings above; see row outcome and limits. |
| A09 | Paired recordings above; see row outcome and limits. |
| A10 | Paired recordings above; see row outcome and limits. |
| A11 | Paired recordings above; see row outcome and limits. |
| A12 | not captured: retained-interaction grant-revocation fixture was not built within the 85-minute budget. |
| A13 | not captured: no independent remote/relay/tunnel environment was paired; routing harness was not built within the 85-minute budget. |
| A14 | not captured: unavailable-route harness was not built within the 85-minute budget. |
| A15 | not captured: held-resolution and streaming state harness was not built within the 85-minute budget. |
| A16 | not captured: deterministically held file/folder read harness was not built within the 85-minute budget. |
| A17 | Paired recordings above; see row outcome and limits. |
| A18 | not captured: pending/denied filesystem-access fixture was not built within the 85-minute budget. |
| A19 | not captured: attachment/pathless/non-primary fixtures were not seeded within the 85-minute budget. |
| A20 | not captured: contextless renderer caller fixtures were not built within the 85-minute budget. |
| A21 | not captured: editor-count and discovery capability harness was not built within the 85-minute budget. |
| A22 | not captured: reveal-disabled capability fixture was not built within the 85-minute budget. |
| A23 | Paired recordings above; see row outcome and limits. |
| A24 | not captured: ordinary-open controls were not reached within the 85-minute budget. |
| A25 | not captured: invalid-target guard harness was not built within the 85-minute budget. |
| A26 | not captured: additional search/metadata resolution control variants were not reached within the 85-minute budget. |
| A27 | not captured: 900×800 light/narrow fixture was not reached within the 85-minute budget. |
| A28 | not captured: unused menu-presentation component harness was not built within the 85-minute budget. |
| H01 | Paired recordings above; see row outcome and limits. |
| H02 | Paired recordings above; see row outcome and limits. |
| H03 | Paired recordings above; see row outcome and limits. |
| W01 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W02 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W03 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W04 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W05 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W06 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W07 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W08 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W09 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |
| W10 | cannot-verify windows: no actual Windows capture host; no fake platform, registry, Explorer, or performance substitute. |

## Cleanup and limits

Both capture worktrees were removed after all recordings. All tracked desktop, Xvfb and dev-server processes were stopped; capture ports were verified unbound. Scratch evidence is retained. Checks and reviews were not assessed. FRICTION: tool | agent-browser absent and two shared-preview automation calls failed | working locator tooling; infra | system Node 20 did not run Replay TS, so Vite-plus Node was used | documented runtime path; infra | native popup exceeded the initial Xvfb frame and required retakes | 1440 framebuffer upfront; infra | no Windows host | real Windows capture environment.

## Rebuild scripts and exact ghdrop output

All seed and driver scripts written during the session are uploaded below, including exploratory/obsolete drivers. The accepted clips use observe.mjs, capture-a01-full.mjs, capture-a02.mjs through capture-a05.mjs, capture-subdir.mjs, capture-readonly.mjs, capture-h03.mjs, capture-web.mjs and prepare-capture.mjs. setup-before/after.js have the correct Vite-plus Node path; the generic setup-client.js records an earlier Node-20 attempt and is not the accepted setup. Generated thread scripts contain the synthetic project IDs from this run. Rebuild instructions regenerate IDs rather than reusing them. Auth credentials and raw app logs remain private and are excluded.

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

## Rebuild guide

[REBUILD.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/06a46f599561dbce/REBUILD.md)



[A01-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee47fbb26c6b9eb4/A01-before.mp4)
[A01-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/33925484de4fce0e/A01-before.txt)
[A01-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/211f8aa2531ce6f7/A01-before.json)
[A01-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fade6106d002536c/A01-after.mp4)
[A01-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/afd6dadfaec65ba3/A01-after.txt)
[A01-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6fcf44195de5ba3/A01-after.json)
[A02-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02600a8f5689a76a/A02-before.mp4)
[A02-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1fa64f0718f33b09/A02-before.txt)
[A02-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1da03f7f63ebe733/A02-before.json)
[A02-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/07316de193dda5f1/A02-after.mp4)
[A02-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe01517603d22e39/A02-after.txt)
[A02-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e61115f2fdb5968d/A02-after.json)
[A03-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d1ab8ec2335fad0/A03-before.mp4)
[A03-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01e530acdff18d6d/A03-before.txt)
[A03-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0bfa1dd956522033/A03-before.json)
[A03-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f971b4188135157/A03-after.mp4)
[A03-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd52842fdca9b589/A03-after.txt)
[A03-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7dd31cc454fdc4e7/A03-after.json)
[A04-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c5c831b0814a0105/A04-before.mp4)
[A04-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b80e2101fa10833d/A04-before.txt)
[A04-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81e7dc90447ddcdb/A04-before.json)
[A04-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de4fe8c966af3d4b/A04-after.mp4)
[A04-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9ec1ea1f5d1aec4e/A04-after.txt)
[A04-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6f9317fd2a1ba3fa/A04-after.json)
[A05-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4bafa502ac969476/A05-before.mp4)
[A05-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23e213552407147c/A05-before.txt)
[A05-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97865847a5822630/A05-before.json)
[A05-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2664e518787de198/A05-after.mp4)
[A05-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99241e494ff44c3f/A05-after.txt)
[A05-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08cf5aae9f49d337/A05-after.json)
[A04-subdir-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97d21b323531a78a/A04-subdir-before.mp4)
[A04-subdir-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a04fb07a53ed6c0/A04-subdir-before.txt)
[A04-subdir-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ed638326747f11fe/A04-subdir-before.json)
[A04-subdir-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2dbdd4a3890c575f/A04-subdir-after.mp4)
[A04-subdir-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b7d1a5ebbfd4657/A04-subdir-after.txt)
[A04-subdir-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b1411b6ff474d18/A04-subdir-after.json)
[A05-subdir-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4fde196cf604f0c3/A05-subdir-before.mp4)
[A05-subdir-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/264616e6d8ce0027/A05-subdir-before.txt)
[A05-subdir-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7bd97ddef2abd709/A05-subdir-before.json)
[A05-subdir-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8338a5530d032f53/A05-subdir-after.mp4)
[A05-subdir-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02ec386f155ffd7e/A05-subdir-after.txt)
[A05-subdir-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b16a8cdb3d271db9/A05-subdir-after.json)
[A06-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c313dde086e38659/A06-before.mp4)
[A06-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87f50163ebfb19f5/A06-before.txt)
[A06-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d6af81d166ec205/A06-before.json)
[A06-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/395d911d78707e24/A06-after.mp4)
[A06-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb7155e962b5a22d/A06-after.txt)
[A06-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b020816f9cfb04bf/A06-after.json)
[A09-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ceef03dcb8f11abf/A09-before.mp4)
[A09-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5941c4417dda6947/A09-before.txt)
[A09-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02689eedf8315c7a/A09-before.json)
[A09-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4941061091555ff4/A09-after.mp4)
[A09-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f022b58d5d023255/A09-after.txt)
[A09-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b420a07bcb265ed4/A09-after.json)
[A10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1bcfe05e8bc37fa0/A10-before.mp4)
[A10-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bbf9605eb03eb279/A10-before.txt)
[A10-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7d350ca91a39e40c/A10-before.json)
[A10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/990ba5467c0eb906/A10-after.mp4)
[A10-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4833d05b20b09b4a/A10-after.txt)
[A10-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/974ae09b2d684514/A10-after.json)
[A11-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6ae0786d4357533/A11-before.mp4)
[A11-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf7006e2f4bf318c/A11-before.txt)
[A11-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7be26322271c1293/A11-before.json)
[A11-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/893ab1356845fcf2/A11-after.mp4)
[A11-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7cbb5e26ec14e556/A11-after.txt)
[A11-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b90349775fda806/A11-after.json)
[H03-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f319e69d0d3a57a/H03-before.mp4)
[H03-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b9ce596686c37509/H03-before.txt)
[H03-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5c87fbd249bb270a/H03-before.json)
[H03-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0fa632906d0827eb/H03-after.mp4)
[H03-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6d82f753ece4a84/H03-after.txt)
[H03-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/996fb989a60dcda4/H03-after.json)
[auth-switch.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/323e7e17c5eb84aa/auth-switch.mjs)
[buttons.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27a7eb47552b7a95/buttons.js)
[capture-a01-full.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c9091e370ba1e70a/capture-a01-full.mjs)
[capture-a01.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c3be927a989f35c9/capture-a01.mjs)
[capture-a02.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/69298bb9d7e50237/capture-a02.mjs)
[capture-a03.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20f2bb924c8e627c/capture-a03.mjs)
[capture-a04.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5587d0dfb766a105/capture-a04.mjs)
[capture-a05.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d96a8d090859cef/capture-a05.mjs)
[capture-h03.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e17677d0c0589fd1/capture-h03.mjs)
[capture-nested-markdown.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d7c3916c782f4917/capture-nested-markdown.mjs)
[capture-readonly.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9fd53fbe71073d5c/capture-readonly.mjs)
[capture-subdir.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1fa750a327fb84ab/capture-subdir.mjs)
[capture-web.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/617d47187cde4374/capture-web.mjs)
[cleanup-seed.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c4e9c5ae4f964c74/cleanup-seed.js)
[collect-tier1.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6cbec3ea626f85ab/collect-tier1.py)
[config-inspect.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9cdfb3bc37342ad6/config-inspect.js)
[control.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9af42e3a1e530810/control.mjs)
[create-thread.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/669578dc39c03cfe/create-thread.js)
[current-scopes.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dd40250630e88bf5/current-scopes.js)
[desktop-observer.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97910b7cd72ee48f/desktop-observer.cjs)
[dom-tree.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1454f5a9e4b0dff3/dom-tree.mjs)
[expand-changes.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f064d1b0085c835/expand-changes.mjs)
[goto-root.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/18d59dc02da06971/goto-root.mjs)
[goto-subdir.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/162e0243747f8f07/goto-subdir.mjs)
[inspect-desktop.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4dc0df5b4756fc4d/inspect-desktop.mjs)
[inspect-recordings.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2b4ac56506160f78/inspect-recordings.py)
[inspect-tree.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db6d52aa6d2439ea/inspect-tree.js)
[launcher-stub.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8e25138b2962c746/launcher-stub.py)
[observe.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca00a6117c60b691/observe.mjs)
[open-diff.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ece4c0c5584ffbe5/open-diff.mjs)
[open-preview.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb50f5367bc6e58d/open-preview.js)
[page-info.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/41ce8f4f7712e80e/page-info.js)
[picker-state.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db29a98b91e35ce4/picker-state.js)
[picker-try.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53d71daedd93fce5/picker-try.mjs)
[prepare-capture.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b3af9d5cbb7ed4ec/prepare-capture.mjs)
[prepare-observation.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/43ddd30505fed935/prepare-observation.mjs)
[probe-menu.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e0fd034edcb26617/probe-menu.mjs)
[probe-picker.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dea8e3d3268121d7/probe-picker.mjs)
[probe-rows.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d445886624acbe69/probe-rows.mjs)
[probe-tree.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3af9232adf3e196a/probe-tree.mjs)
[restore-session.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4803eed142b4582b/restore-session.mjs)
[run-tier1-rest.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/763bf922ba0eae5d/run-tier1-rest.py)
[scope-session.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd358db5ab4b4827/scope-session.mjs)
[seed-changes.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6fed4c12e1284b11/seed-changes.mjs)
[seed-project.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a9e5e446bb948148/seed-project.py)
[seed-run.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/15d23548698a1029/seed-run.mjs)
[seed-subdir.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/019afdd9d3c8ede5/seed-subdir.mjs)
[setup-after.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5755dd86bbd06f9f/setup-after.js)
[setup-before.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eedc86c8289bb7f6/setup-before.js)
[setup-client.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ed27f78f4c07bcc5/setup-client.js)
[start-desktop.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ac02db9d518317ec/start-desktop.py)
[thread-after.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9dcd390b269fd601/thread-after.js)
[thread-before.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b4e15acce14ce4b1/thread-before.js)
[thread-subdir-after.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de2bae91e7c150e5/thread-subdir-after.js)
[thread-subdir-before.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/07561abb0489c659/thread-subdir-before.js)
[thread-v3-after.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4499f0180b022e40/thread-v3-after.js)
[thread-v3-before.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b7d6ae09bf79b1d1/thread-v3-before.js)
[ui-inspect.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f91b7f1a3827b18/ui-inspect.js)
[upload-reviewed.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f473bd1d7f72fea3/upload-reviewed.py)
[web-observer.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5362607107bf833e/web-observer.js)
[xenv.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e2e73550d7ceab06/xenv.py)
[headless-desktop-1440.sh](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c56b2102ba3d3841/headless-desktop-1440.sh)

[A07-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f159548f7080700/A07-before.mp4)
[A07-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6375228d552dce9/A07-before.txt)
[A07-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9c0d0f96466a811/A07-before.json)
[A07-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7ba8982587cb4100/A07-after.mp4)
[A07-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/85a1650b1897cf8f/A07-after.txt)
[A07-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/105633386a2522f2/A07-after.json)
[A08-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba5aa8044ba112e7/A08-before.mp4)
[A08-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23b2b618ef4f1b89/A08-before.txt)
[A08-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de572a869bdf6aec/A08-before.json)
[A08-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/def895fcc47170b6/A08-after.mp4)
[A08-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ee50b112637808e/A08-after.txt)
[A08-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/189b0299129b5519/A08-after.json)
[H01-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3449cc15e8afbfd8/H01-before.mp4)
[H01-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d6af86ca2ad3221/H01-before.txt)
[H01-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f4d6c470999e8f7/H01-before.json)
[H01-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26b71a0dc7d593bc/H01-after.mp4)
[H01-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd3131f7d8b7dc80/H01-after.txt)
[H01-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ec43ea8bb7aa756/H01-after.json)
[H02-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54f821e01d5fc433/H02-before.mp4)
[H02-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/587a96b9f7db6dba/H02-before.txt)
[H02-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bfe6200fcc1b38b3/H02-before.json)
[H02-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2b4bd024aa9de107/H02-after.mp4)
[H02-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/61396a03f76f4b0e/H02-after.txt)
[H02-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ad645c3d9d871e13/H02-after.json)
[A23-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/abd9db816bc8bbf4/A23-before.mp4)
[A23-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3535cd19fd4f8e31/A23-before.txt)
[A23-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/88d059d331514497/A23-before.json)
[A23-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17d7ff8fc5111edf/A23-after.mp4)
[A23-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba9c36d6e4a12a68/A23-after.txt)
[A23-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8dee5b5c6de9139a/A23-after.json)
[A17-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/67c8e835e611ccd4/A17-before.mp4)
[A17-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/48d0988fe557817f/A17-before.txt)
[A17-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f9c47ac68c3d7ad/A17-before.json)
[A17-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e765aed308ac9e13/A17-after.mp4)
[A17-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/28d219cfe0d00d10/A17-after.txt)
[A17-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/077e48d3b8dd3703/A17-after.json)
[REBUILD.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/06a46f599561dbce/REBUILD.md)
[bridge-info.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca9b1edf6515ea6b/bridge-info.js)
[capture-failure.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f82ab59f070a682/capture-failure.mjs)
[capture-missing.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e0a53f17a736e873/capture-missing.mjs)
[capture-renderer-harness.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9283e22a4a7bb41b/capture-renderer-harness.mjs)
[enable-renderer-harness.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7198ee1d359f09e9/enable-renderer-harness.py)
[main-harness.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00b4a2864e6fa100/main-harness.cjs)
[make-index.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee700bc780b3f04e/make-index.py)
[preload-harness-prefix.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ac8ae5f349bbb82/preload-harness-prefix.cjs)
[rebuild-seed.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2b255be6c08038f4/rebuild-seed.mjs)
[restore-preload.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d3e3c69d3b975ad/restore-preload.py)
[run-renderer-harness.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a88e680d6ee3023/run-renderer-harness.py)
[seed-missing.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2b247472698483a/seed-missing.py)
[switch-renderer-mode.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8983974533217f19/switch-renderer-mode.mjs)
[upload-tier2.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cafb1793d3998a68/upload-tier2.py)
[desktop-observer-renderer-harness.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4d4a04c714692f4b/desktop-observer-renderer-harness.cjs)

[seed-and-driver-scripts.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/15664bdaa8e66afb/seed-and-driver-scripts.tar.gz)
[cleanup-owned.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3209a353a6524e5/cleanup-owned.py)
[make-index.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce45da88a6e9bf15/make-index.py)

