# Recaptured evidence for [#33199](https://git.cafe/pingdotgg/t3code/pull/33199)

Two rejected rows are fully replaced below: F3 web and F5 Android. F3 Android before is recaptured; its after recording is supplied as UNACCEPTED and the strict row remains incomplete. All captures use exactly the requested revision pair. The previously accepted settled web PNGs and other evidence rows were not recaptured. No product source changes, commits, pushes, comments or PR-body edits. Synthetic state only; every host used a fresh isolated database and `T3CODE_DEV_SEED=0`.

## F3 web · 390×844 · dark · labelled component harness

Environment: T3 Browser panel / Chrome 157 on Linux x86_64; no device emulation, zoom 100%, DPR 2, viewport 390×844 CSS px / 780×1688 physical px, default font scale with 16px root / InterVariable. Whole viewport. Date frozen to 2026-11-10T10:30:00Z; the elapsed-seconds footer is a capture annotation.

Same keyboard script on both sides. Approximate video seconds: before/after: lift long manual A **3.5/3.1**, ArrowDown to middle **4.8/4.4**, ArrowDown to last **6.1/5.7**, drop **7.9/7.1**; lift **9.4/8.5**, ArrowUp **10.7/9.9**, Escape **12.0/11.3**; Remove **13.2/12.7**, Cancel **14.4/14.4**; Remove **16.9/17.1**, Confirm **18.2/18.5**; pointer away and settled final list **20.8/21.6** through the end.

| Before | After |
| --- | --- |
| [bcee0f5d28](https://git.cafe/pingdotgg/t3code/commit/bcee0f5d2872ba193c66ed9ba979bbe424f89ff9) | [ad38094ff5](https://git.cafe/pingdotgg/t3code/commit/ad38094ff5ff1e74128cecdfaf3c689985006b41) |
| [F3-web-before-lossless.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d664a6d6fe493f9/F3-web-before-lossless.mp4) | [F3-web-after-lossless.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc339235f0dd6762/F3-web-after-lossless.mp4) |


What else changed: refusal badges/hints increase row height and change wrapping, truncation and following-row positions. Healthy B retains In use; the learned row has no Remove control. Harness mutations acknowledge synthetic state changes. No additional interaction change was observed.

Quality: timestamped Browser-panel PNG frames captured at approximately 3.3–4.5 fps, encoded with their actual elapsed timing as lossless H.264 (frame holds, no interpolation). The final dwell starts only after the dialog is unmounted and exit animations finish. Every 2-fps review range and the final four seconds amplified ×16 were opened. Both final bottom regions have exact black RGB pixels, with no faint dialog residue.

![F3-web-before-lossless-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2d096d5c852214a/F3-web-before-lossless-review-1.png)

![F3-web-before-lossless-review-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4a976f7e6dedfde/F3-web-before-lossless-review-2.png)

![F3-web-before-lossless-review-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/388671cddc7bdfd5/F3-web-before-lossless-review-3.png)

![F3-web-after-lossless-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/43b5a2ab71861099/F3-web-after-lossless-review-1.png)

![F3-web-after-lossless-review-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/099917dfe7dfec07/F3-web-after-lossless-review-2.png)

![F3-web-after-lossless-review-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c0c3a774ce512ff2/F3-web-after-lossless-review-3.png)

![F3-web-before-lossless-tail-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/96cfbb5d40591564/F3-web-before-lossless-tail-x16.png)

![F3-web-after-lossless-tail-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d4e99050d2fc5b61/F3-web-after-lossless-tail-x16.png)

## F3 Android · dark · labelled native harness · INCOMPLETE

Environment: Pixel 9 portrait, pooled Android 16 / API 36; native dev client with React Native 0.88.1 and embedded DM Sans; 1080×2424 physical px, 411.43×923.43 dp, density 2.625 / 420 dpi, font scale 0.94. Whole screen, top scroll position. JS Date frozen to 2026-11-10T10:30:00Z; advancing OS status bar hidden equally, gesture bar retained. Theme: dark. Production `EnvironmentRoutesSection` and production Android dialog host, with synthetic catalog/presentation/prepared/session atoms and mutation acknowledgements; no HTML reproduction.

Same handle-to-handle script on both sides: normal → Edit; hold the long manual A handle, drag across the learned row and healthy B, drop A third; lift A again and release in place (cancel/no order change); Remove → Cancel; Remove → Confirm; Done. The after long and learned rows are refused. Approximate seek times are below; command-completion logs are also uploaded. The before clip contains extra idle time from pool RPC latency.

| Step | Before seconds | After seconds |
| --- | --- | --- |
| Edit | 3.5 | 3.5 |
| Lift, cross neighbours, drop third | 8–12 | 8–12 |
| Lift again and release in place | 15–17 | 15–17 |
| Remove dialog, Cancel | 45–50 | 22–27 |
| Remove dialog, Confirm | 54–59 | 31–36 |
| Done and settled final list | 63.5–end | 40–end |

| Before | After |
| --- | --- |
| [bcee0f5d28](https://git.cafe/pingdotgg/t3code/commit/bcee0f5d2872ba193c66ed9ba979bbe424f89ff9) | [ad38094ff5](https://git.cafe/pingdotgg/t3code/commit/ad38094ff5ff1e74128cecdfaf3c689985006b41) |
| [F3-native-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd41c39571ecff52/F3-native-before.mp4) | [F3-native-after-unaccepted.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7f8f9d783b4cebd0/F3-native-after-unaccepted.mp4) |


What else changed: badges and wrapped hints make refused rows taller, shifting neighbours, remove controls and handles. The drag shows lifted translation and neighbour shifts across unequal row heights. **UNACCEPTED after:** moving the taller refused row all the way to B’s handle overshoots its final slot and briefly clips the lifted hint at the card bottom (about 11–13 s). This file is diagnostic evidence, not a passing replacement. A corrected 490px drop reached Done, but its export aborted and the pool worker disconnected. The learned row keeps its blank remove slot; healthy B retains In use. The final list contains the learned row and B. Mutation failure/rollback and real long-hostname transport are outside this harness claim.

Quality: full-screen native recordings; final encoded frame held for four seconds because Android screenrecord omits unchanged dwell frames. Every delivered range was extracted at 2 fps and opened; the final four seconds were opened amplified ×16. No settled dialog or stale overlay remained. The after drag clipping described above fails the strict quality requirement, so this pair is not claimed complete.

![F3-native-before-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9fc4846045e624ac/F3-native-before-review-1.png)

![F3-native-before-review-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38bd0bc3591ff34e/F3-native-before-review-2.png)

![F3-native-before-review-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/55f1cd7276903cce/F3-native-before-review-3.png)

![F3-native-before-review-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e9117e401596473/F3-native-before-review-4.png)

![F3-native-before-review-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e9004d054f88772/F3-native-before-review-5.png)

![F3-native-before-review-6.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9915fa590aa340f9/F3-native-before-review-6.png)

![F3-native-before-tail-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/13449ff27d2297d6/F3-native-before-tail-x16.png)

[F3-native-before-steps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4459d30a53ff76c4/F3-native-before-steps.json)

![F3-native-after-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bbaff77fc4f8b3f4/F3-native-after-review-1.png)

![F3-native-after-review-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cc35ba7aed6648ed/F3-native-after-review-2.png)

![F3-native-after-review-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/299f7b3b4abf0fa9/F3-native-after-review-3.png)

![F3-native-after-review-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7fd2395edd8e0c2/F3-native-after-review-4.png)

![F3-native-after-tail-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/646d53fc379d51ee/F3-native-after-tail-x16.png)

## F5 Android · light · real fallback and exact-address repair

Environment: Pixel 9 portrait, pooled Android 16 / API 36; native dev client with React Native 0.88.1 and embedded DM Sans; 1080×2424 physical px, 411.43×923.43 dp, density 2.625 / 420 dpi, font scale 0.94. Whole screen, top scroll position. JS Date frozen to 2026-11-10T10:30:00Z; advancing OS status bar hidden equally, gesture bar retained. Theme: light. Fresh host databases for both sides. A = `http://fs-87.tail131df4.ts.net:19181/`; B = `http://100.73.218.5:19181/`. Both origins independently paired with separate credentials; no injected refusal state.

Same flow on both sides. Approximate video seconds: **0–2** healthy A In use with independently paired B; **2–4.5** host revokes only A and app falls back to B; **8.5–12** Add route → Cancel; **14.5–17** reopen Add route and enter A’s exact address; **17–26** enter a fresh code and submit; **26.5–end** A In use, warning cleared, exactly two routes with no duplicate. Native command-completion timestamps are uploaded.

| Before | After |
| --- | --- |
| [bcee0f5d28](https://git.cafe/pingdotgg/t3code/commit/bcee0f5d2872ba193c66ed9ba979bbe424f89ff9) | [ad38094ff5](https://git.cafe/pingdotgg/t3code/commit/ad38094ff5ff1e74128cecdfaf3c689985006b41) |
| [F5-native-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/31ebe3b64270e830/F5-native-before.mp4) | [F5-native-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d30757c771f8d9d7/F5-native-after.mp4) |


What else changed: only the after side shows A’s refusal pill/hint and resulting reflow after revocation. Exact-address repair clears that warning and restores the same two-route list on both sides. Transient connection/page-transition timing differs slightly.

Quality and privacy: the lost old private original could not be restored, so both recordings were made again. Only the pairing-code field is masked; the address stays readable throughout entry and submission. Every original frame in and around credential entry was opened in the redacted review sheets, and every full-screen range was opened at 2 fps. Credential-region contact sheets supplement the full-screen reviews. Decoded mask pixels were also verified black. The final four seconds were reviewed amplified ×16. Public exports append four seconds of the genuine settled final frame. Only redacted files and redacted reviews were uploaded; private originals remain solely in the requested scratch directory.

![F5-native-before-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26356c072dd8500b/F5-native-before-review-1.png)

![F5-native-before-review-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/879f7733c54c1fe6/F5-native-before-review-2.png)

![F5-native-before-review-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4d8a103e5479251/F5-native-before-review-3.png)

![F5-native-before-tail-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/48b2d05b8e85c9ed/F5-native-before-tail-x16.png)

![F5-before-every-code-frame-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d2ae1854eaf2ca91/F5-before-every-code-frame-1.png)

![F5-before-every-code-frame-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9342301e71acd726/F5-before-every-code-frame-2.png)

![F5-before-every-code-frame-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab13668f1331f6e6/F5-before-every-code-frame-3.png)

![F5-before-every-code-frame-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b0aa032a9262c4f/F5-before-every-code-frame-4.png)

![F5-before-every-code-frame-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3981c5cea1b95bcc/F5-before-every-code-frame-5.png)

![F5-before-every-code-frame-6.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3fe76ed22e4f4db8/F5-before-every-code-frame-6.png)

![F5-before-every-code-frame-7.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/217dcde00748f580/F5-before-every-code-frame-7.png)

[F5-before-mask-verification.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23d989910c6a1ed4/F5-before-mask-verification.json)

![F5-native-after-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c20bbdd542e9d5/F5-native-after-review-1.png)

![F5-native-after-review-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/885543519f097a29/F5-native-after-review-2.png)

![F5-native-after-review-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee5c15acbe5e1b23/F5-native-after-review-3.png)

![F5-native-after-tail-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a6818906b6115021/F5-native-after-tail-x16.png)

![F5-after-every-code-frame-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c32def513d3f4f77/F5-after-every-code-frame-1.png)

![F5-after-every-code-frame-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6e04a0237f6f40a7/F5-after-every-code-frame-2.png)

![F5-after-every-code-frame-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc0191e107d5f92a/F5-after-every-code-frame-3.png)

![F5-after-every-code-frame-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bcd45ef0af5382ef/F5-after-every-code-frame-4.png)

![F5-after-every-code-frame-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08f429ceec136652/F5-after-every-code-frame-5.png)

![F5-after-every-code-frame-6.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa7ea971ef1b3623/F5-after-every-code-frame-6.png)

![F5-after-every-code-frame-7.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d79a1d88ce13865/F5-after-every-code-frame-7.png)

![F5-after-every-code-frame-8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf46895c2b50240c/F5-after-every-code-frame-8.png)

![F5-after-every-code-frame-9.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/59a00743a9aa45f8/F5-after-every-code-frame-9.png)

[F5-after-mask-verification.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/951d8ce6b9ace5ac/F5-after-mask-verification.json)

## Scripts and verification

Tools: T3 Browser panel preview tools, pooled agent-device, Metro and Hermes CDP, FFmpeg/ffprobe, Pillow, ghdrop. No new automated test or source audit is claimed by this capture-only pass. All ghdrop Markdown below is copied verbatim.

[F3-web-before-steps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c38f832559a7da3d/F3-web-before-steps.json)
[F3-web-after-steps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c053f36a7266e463/F3-web-after-steps.json)
[web-tail-verification.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/006732576fe0646d/web-tail-verification.json)
[F5-before-steps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be39a3e39317156a/F5-before-steps.json)
[F5-after-steps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/49028d7280e27ccc/F5-after-steps.json)
[F5-native-before-redaction.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/557ec886c5084980/F5-native-before-redaction.json)
[F5-native-after-redaction.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/72635a5f5230a84c/F5-native-after-redaction.json)
[F3-native-after-unaccepted-steps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cecb35e3b73791e6/F3-native-after-unaccepted-steps.json)

[ad.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20e703a562cb0849/ad.py)
[auth-driver.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8bd1a2722dc26090/auth-driver.py)
[cdp.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e6964f0b4fc0e3e/cdp.mjs)
[component-harness.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75443bdd53674d69/component-harness.js)
[encode-web.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ba2212b9f5d245d/encode-web.py)
[export-native.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/228d6490b39af44c/export-native.py)
[f3-native-handle-drag.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7079774d3bb3dee8/f3-native-handle-drag.py)
[f3-native.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2dd342c0a2a30f2a/f3-native.py)
[f5.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1c4e234c46de7cd8/f5.py)
[finish-pair-b.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2aef4cb4542923a2/finish-pair-b.py)
[font-probe.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/48af67bf634a929e/font-probe.js)
[fonts.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/698b186eddc0c3d9/fonts.js)
[freeze.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8502ce81762a3fb/freeze.js)
[generate-report.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b8ba9497080e4e1/generate-report.py)
[init.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/880f891f74524cf0/init.js)
[inspect-native.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/247c49dcdd303ed6/inspect-native.js)
[manage.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/763dd3660f77e994/manage.py)
[native-env.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/943e6d4e60500701/native-env.js)
[native-harness.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/669375af3e3280cc/native-harness.js)
[navigate.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d26aa59a9ad4f6b0/navigate.py)
[pair-a.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b7cb1099b33c89d3/pair-a.py)
[pair-b.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e0b95a05ed5b67f2/pair-b.py)
[pair-ui.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1e32d3661d0625b4/pair-ui.py)
[recording-clock.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b6df1b257e22830f/recording-clock.js)
[redact-f5.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6a7660637f30d1f7/redact-f5.py)
[reset-f3.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9a813adf322d9d9/reset-f3.js)
[review-code.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ace52d2f76cbcbcc/review-code.py)
[review.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a504d84d449a9d2/review.py)
[row-geometry.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df72d4df004fada1/row-geometry.js)
[run-web-lossless.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/19bd8b1daf26a77e/run-web-lossless.mjs)
[run-web.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c5ef24b14075b104/run-web.mjs)
[setup-host.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/316f6bc32d106d93/setup-host.py)
[show-f3.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7c0a8f52943ba42/show-f3.js)
[state.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/267b2c3ff5676f7f/state.js)
[unfreeze.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c3b420e866a6d1d0/unfreeze.js)
[upload-scripts.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f838f53d84f21de1/upload-scripts.py)
[verify-redaction.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e68f16d9b4ab73c/verify-redaction.py)
[verify-web-tail.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a63429a670c2f1f2/verify-web-tail.py)

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

FRICTION:
```text
infra | Another step removed the shared scratch parent, destroying the original F5 recording and recovered scripts | Keep cleanup scoped to each agent’s own literal paths
tool | Pool RPCs intermittently failed and three completed native video exports aborted with ECONNRESET | Durable retryable recording exports and stable gateway connections; worker disconnected before the corrected retake could export
tool | Device install initially used a different workspace from the lease owner | Create and operate the lease from the installing worktree
runbook | Recovered native harness lacked the Android dialog host; a short-lived repair code expired during setup | Include Dialog.Host and mint repair credentials immediately before recording
tool | Browser video encoding retained faint dialog pixels after DOM removal | Use timestamped lossless Browser-panel frames and verify amplified tails
```

Cleanup verified: lease `rc33199` closed; all spawned server/Metro process groups stopped; capture ports no longer listening; both detached worktrees removed. Private originals retained only under the requested scratch path. Disk available: 242 GB.

Still missing: a quality-accepted F3 Android after recording. F3 web and both fresh F5 Android recordings are complete.
