# Re-captured iOS composer evidence for [#33512](https://git.cafe/pingdotgg/t3code/pull/33512)

**Differences outside the PR:** live timestamp glyphs and faint R01 compositor-shadow pixels. See measurements and limitations below. No runtime model identifiers, credentials, pairing links, real conversations or real state databases are included.

Before [bbdc7dca32](https://github.com/pingdotgg/t3code/commit/bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41); after [bb8005d7d7](https://github.com/pingdotgg/t3code/commit/bb8005d7d71765e9284f6be12076392ce749983b).

## Evidence

Pooled **iPad Pro 13-inch (M5), iPadOS 27.2**, simbox-1; portrait × light, 1032 × 1376 logical points, native recordings 2064 × 2752 pixels (2×), Large text-size category, agent-device 0.21.32. Device/OS confirmed through Settings → General → About. Separate Metro bundles and fresh synthetic backends with **T3CODE_DEV_SEED=0**; same native client fingerprint. No live database was read or copied. Fixture responses are scripted and synthetic.

Same driver on both: empty → focus → type `Draft` → append `\nSecond line for the iPad composer.` → Send → exact sent text visible → composer cleared. Approximate playback marks: before ~3.6s keyboard, ~5.4–7.3s short text, ~9–13s multiline, ~14–16s sent/clear; after ~9.8s short text, ~22.8–26s multiline, ~28–29.3s sent/clear. Tool pacing differs; clips show behavior, not latency.

| R01 — native send/reset, complete | Before | After | Diff0 | DiffT |
|---|---|---|---|---|
| iPad portrait × light | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2c532ddf563e8855/r01-base.mp4)<br>[bbdc7dca32](https://github.com/pingdotgg/t3code/commit/bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41) | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9cd454ed55f3d602/r01-head.mp4)<br>[bb8005d7d7](https://github.com/pingdotgg/t3code/commit/bb8005d7d71765e9284f6be12076392ce749983b) | [0 threshold, ×32](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1163c07b835d3941/r01-diff0-32x.png)<br>[bbdc7dca32](https://github.com/pingdotgg/t3code/commit/bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41) → [bb8005d7d7](https://github.com/pingdotgg/t3code/commit/bb8005d7d71765e9284f6be12076392ce749983b) | [max channel >8/255](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/79b3c10e3f6cf3d1/r01-diffT8.png)<br>[bbdc7dca32](https://github.com/pingdotgg/t3code/commit/bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41) → [bb8005d7d7](https://github.com/pingdotgg/t3code/commit/bb8005d7d71765e9284f6be12076392ce749983b) |

![Before bbdc7dca32: exact sent multiline text and cleared composer; After bb8005d7d7: same result](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/84228095fa700c45/r01-before-after.png)

**R03 — cannot-verify ios-device.** On both commits, with microphone permission and the same installed 44 MB transcription package: focus `Draft`, tap Start dictation, immediately attempt native `type ' plus more'`. Both return `TEXT_INPUT_NOT_FOCUSED` and show “Could not start voice recording.” Dismiss the error and Send: both send exactly `Draft` and clear. No native suffix was accepted or dropped. R04 shows error/unlock; Preparing is visible behind the base setup permission alert. Steady Recording, Transcribing, Cancel and Finish remain unverified because recording could not start. [Exact attempts, setup and results](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b44a3bc1120c63ab/voice-attempts.md).

Approximate active-attempt playback marks: base ~3.9s `Draft`, ~5.9–10s error, ~11.8s dismissed, ~13.7s sent, ~17.6s settled; head ~4.8s `Draft`, ~6.4–11.2s error, ~12.8s dismissed, ~14.4s sent/cleared. Simulator video timestamps differ from the command wall-clock log.

| R03/R04 — attempted; no native race reproduction | Before | After | Diff0 | DiffT |
|---|---|---|---|---|
| iPad portrait × light | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d1d42ad8a68db7a/r03-r04-active-base.mp4)<br>[bbdc7dca32](https://github.com/pingdotgg/t3code/commit/bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41) | [Recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f952fc204bd44e9f/r03-r04-active-head.mp4)<br>[bb8005d7d7](https://github.com/pingdotgg/t3code/commit/bb8005d7d71765e9284f6be12076392ce749983b) | [0 threshold, ×32](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5cfc4590d1c00589/r03-r04-active-diff0-32x.png)<br>[bbdc7dca32](https://github.com/pingdotgg/t3code/commit/bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41) → [bb8005d7d7](https://github.com/pingdotgg/t3code/commit/bb8005d7d71765e9284f6be12076392ce749983b) | [max channel >8/255](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/284998275c7b4ff0/r03-r04-active-diffT8.png)<br>[bbdc7dca32](https://github.com/pingdotgg/t3code/commit/bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41) → [bb8005d7d7](https://github.com/pingdotgg/t3code/commit/bb8005d7d71765e9284f6be12076392ce749983b) |

**Unit harness only:** [Red/green transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1f51c7792239293/unit-red-green.txt) · [Reproduction commands](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa6dee4b09c3d7b7/unit-proof-recipe.sh). Base [bbdc7dca32](https://github.com/pingdotgg/t3code/commit/bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41) with head’s test file: **10 pass, 1 fails**, specifically “sends text the native editor kept while the composer was locked for voice input” (expected `Draft plus more`, received `Draft`; exit 1). Head [bb8005d7d7](https://github.com/pingdotgg/t3code/commit/bb8005d7d71765e9284f6be12076392ce749983b): **11/11 bridge tests pass** (exit 0), plus **18/18 revision-helper tests pass**. Native view/events are mocked; this does not establish the real iPad trigger or invoke the actual Send handler.

**What else changed:** actual status/message timestamps and their glyph spacing; faint R01 composer-shadow raster differences at low channel values. The clock was not frozen; pool commands expose no clock override. No new content/layout difference was observed. All four final frames passed two pixel-identical screenshots separated by at least 500 ms. R01: 10,420/1,420,032 pixels differ at zero threshold, 781 above 8/255; active voice attempt: 2,952 at zero, 2,690 above 8/255. “Nothing else changed” is not claimed.

Sheets: R01 [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c549b195e374cd6a/r01-base-sheet-review.png) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b82c1502132c6a84/r01-head-sheet-review.png); installed-package R03/R04 attempt [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4202e6cd0ad81c15/r03-r04-active-base-sheet-review.png) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae98e1f41496e23b/r03-r04-active-head-sheet-review.png). Actions: [R01 before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a38a40cf63709057/base-r01-actions.txt) · [R01 after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4f4cda83463499c3/head-r01-actions.txt) · [Voice before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0a0a65c42ddb3d1d/base-voice-active-actions.txt) · [Voice after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12004312133a603e/head-voice-active-actions.txt).

Fixture and original drivers: [setup](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4e3bac15197eb9b6/setup-fixture.py) · [RPC seed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db4bfc633520ad58/seed.mts) · [scripted responder](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/efc857746919f911/fixture-agent.ts) · [R01 driver](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b9382cc3628b9fd8/r01-driver.py) · [voice driver](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9ef2925c04886db/voice-attempt-driver.py). Drivers were downloaded unchanged; [round runner](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/af7c9bc0e39e7211/run-previous.py) only relocates scratch/worktree paths and SHA labels. [Full reproduction recipe](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c592e7fb726c0705/reproduce.md) · [Checkout/bundle provenance](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2c60534aa5e6978/provenance.txt) · [Original driver checksums](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7fb2422060dc220/driver-download-sha256.json).

Disposable base/head connections removed, device lease closed/disconnected, tracked servers stopped, all four owned ports verified closed, base worktree removed, lead tracked files untouched. [Teardown receipt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/57ac20f574c9c1fe/cleanup.txt).

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

## Matrix accounting

**1 of 11 R rows fully captured natively** (R01); R03/R04 have recorded attempts/partial context. The matrix has 13 total rows including the two waived unchanged families. Four primary clips plus two interrupted base setup clips are retained. The authorized minimum includes an explicit native-trigger limitation; unit proof is separately labelled.

| Matrix row | Native status | Proof or limitation |
|---|---|---|
| R01 | Complete, both commits | Multiline exact Send and reset recordings |
| R02 | cannot-verify ios-device | No pending autocorrection candidate/timing established; existing unit fallback passes |
| R03 | cannot-verify ios-device, both attempted | Recording-start failure prevents divergent suffix; unit red/green supplied |
| R04 | Partial | Setup Preparing, both error/unlock/Send/reset; Recording/Transcribing/Cancel/Finish unavailable |
| R05 | cannot-verify ios-device | Parent/native application timing is unit-harness-only |
| R06 | cannot-verify ios-device | Promise-gated parent edit covered by head unit suite |
| R07 | cannot-verify ios-device | Promise-gated clear/reset covered by head unit suite |
| R08 | cannot-verify ios-device | Promise-gated empty-draft switch covered by head unit suite |
| R09 | cannot-verify ios-device | Withheld paste event is unit-harness-only |
| R10 | Native clear sentinel in R01; stale-event timing unverified | Bridge late/reset cases and revision helpers pass |
| R11 | Not exercised; unchanged optional branch | No forced native read rejection; no new coverage claimed |
| U01 | Optional phone/dark expansion not run | Tablet light minimum only; expansion waived by matrix |
| U02 | Extra unchanged call sites not expanded | Waived by matrix; no web/desktop/Android native claim |

## Supplemental setup attempts

[Base microphone permission interruption](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e54ecc57affb162d/r03-r04-permission-base.mp4) with [sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab7551ca9322568c/r03-r04-permission-base-sheet-review.png): Preparing visible behind permission alert, no Send outcome claimed. [Base already-selected destination setup interruption](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f37a4df35c2140ac/r03-r04-attempt-base.mp4) with [sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02ae7ab2ab089c99/r03-r04-attempt-base-sheet-review.png): setup driver expected a confirmation that was no longer present, and did not reach another voice attempt. Both are explicitly excluded from the paired installed-package claim. Exact steps are in voice-attempts.md.

Final settled frames: R01 [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e24d0eaf2589e597/r01-before-final.png) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/182077451aefab71/r01-after-final.png); active attempt [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60b7283feb733bff/r03-r04-active-before-final.png) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c4635a77789363be/r03-r04-active-after-final.png). ![Before bbdc7dca32 and After bb8005d7d7: attempted voice start, exact Draft sent, empty composer](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdf080e29aeeb3b6/r03-r04-active-before-after.png)

[Six original native-resolution recordings](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b13027ba64a82c6f/raw-native-recordings.tar.gz) · [Original SHA-256 index](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f5a893447bb5ef0/raw-recordings.json) · [Sanitized command and focused-test logs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b9715c3af9d5567/sanitized-logs.tar.gz). Videos preserve the entire native surface, downsampled to 1032 × 1376 plus a separate 48-pixel label band, H.264 15 fps. Screenshots are 1× tool exports. No browser or browser emulation was used. No custom font scaling was set. Pool runbook exposes no native reduced-motion override; the four final stills passed within-run pixel identity at least 500 ms apart. Recording sheets were inspected. The fixed-grid helper's empty tiles were superseded by the reviewed full-duration ten-frame sheets.

## Public artifact index

The following Markdown is the ghdrop output verbatim.

[base-r01-actions.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a38a40cf63709057/base-r01-actions.txt)
[base-voice-active-actions.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0a0a65c42ddb3d1d/base-voice-active-actions.txt)
[base-voice-missing-actions.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cafea2fe9a2765a5/base-voice-missing-actions.txt)
[base-voice-permission-actions.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/72aed1367c1f530e/base-voice-permission-actions.txt)
[cleanup-device.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20a9d0f15817d76a/cleanup-device.py)
[cleanup.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/57ac20f574c9c1fe/cleanup.txt)
[configure-head-voice.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3358ce7b7397f522/configure-head-voice.py)
[configure-voice.mts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/147bc507409cadf6/configure-voice.mts)
[contact-sheet.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a3ee74cb925427a4/contact-sheet.py)
[diff-frames.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b5793cd084f0e6a/diff-frames.py)
[driver-download-sha256.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7fb2422060dc220/driver-download-sha256.json)
[fixture-agent.ts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/efc857746919f911/fixture-agent.ts)
[head-r01-actions.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4f4cda83463499c3/head-r01-actions.txt)
[head-voice-active-actions.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12004312133a603e/head-voice-active-actions.txt)
[package-media.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d631723fa966ba1/package-media.py)
[package-round.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f50488f5a44453b/package-round.py)
[provenance.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2c60534aa5e6978/provenance.txt)
![r01-after-final.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/182077451aefab71/r01-after-final.png)
![r01-base-sheet-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c549b195e374cd6a/r01-base-sheet-review.png)
![r01-base-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e7578f1816dc7c9/r01-base-sheet.png)
[r01-base.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2c532ddf563e8855/r01-base.mp4)
![r01-before-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/84228095fa700c45/r01-before-after.png)
![r01-before-final.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e24d0eaf2589e597/r01-before-final.png)
[r01-diff-metrics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5df64740cedb24e1/r01-diff-metrics.json)
![r01-diff0-32x.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1163c07b835d3941/r01-diff0-32x.png)
![r01-diffT8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/79b3c10e3f6cf3d1/r01-diffT8.png)
[r01-driver.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b9382cc3628b9fd8/r01-driver.py)
![r01-head-sheet-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b82c1502132c6a84/r01-head-sheet-review.png)
![r01-head-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/315b2874f10a6145/r01-head-sheet.png)
[r01-head.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9cd454ed55f3d602/r01-head.mp4)
![r03-r04-active-after-final.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c4635a77789363be/r03-r04-active-after-final.png)
![r03-r04-active-base-sheet-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4202e6cd0ad81c15/r03-r04-active-base-sheet-review.png)
![r03-r04-active-base-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f85e86f7aece0ba/r03-r04-active-base-sheet.png)
[r03-r04-active-base.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d1d42ad8a68db7a/r03-r04-active-base.mp4)
![r03-r04-active-before-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cdf080e29aeeb3b6/r03-r04-active-before-after.png)
![r03-r04-active-before-final.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60b7283feb733bff/r03-r04-active-before-final.png)
[r03-r04-active-diff-metrics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6dc425b2d46b227f/r03-r04-active-diff-metrics.json)
![r03-r04-active-diff0-32x.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5cfc4590d1c00589/r03-r04-active-diff0-32x.png)
![r03-r04-active-diffT8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/284998275c7b4ff0/r03-r04-active-diffT8.png)
![r03-r04-active-head-sheet-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae98e1f41496e23b/r03-r04-active-head-sheet-review.png)
![r03-r04-active-head-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0222c890fd559605/r03-r04-active-head-sheet.png)
[r03-r04-active-head.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f952fc204bd44e9f/r03-r04-active-head.mp4)
![r03-r04-attempt-base-sheet-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02ae7ab2ab089c99/r03-r04-attempt-base-sheet-review.png)
![r03-r04-attempt-base-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0375e85568c83442/r03-r04-attempt-base-sheet.png)
[r03-r04-attempt-base.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f37a4df35c2140ac/r03-r04-attempt-base.mp4)
![r03-r04-permission-base-sheet-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab7551ca9322568c/r03-r04-permission-base-sheet-review.png)
![r03-r04-permission-base-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5a91a91830cb9c2a/r03-r04-permission-base-sheet.png)
[r03-r04-permission-base.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e54ecc57affb162d/r03-r04-permission-base.mp4)
[raw-native-recordings.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b13027ba64a82c6f/raw-native-recordings.tar.gz)
[raw-recordings.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f5a893447bb5ef0/raw-recordings.json)
[replace-incomplete-sheets.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/58d78dd4a5904236/replace-incomplete-sheets.py)
[reproduce.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c592e7fb726c0705/reproduce.md)
[run-previous.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/af7c9bc0e39e7211/run-previous.py)
[sanitized-logs.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b9715c3af9d5567/sanitized-logs.tar.gz)
[seed.mts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db4bfc633520ad58/seed.mts)
[settled-frames.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/371ac023087001bc/settled-frames.py)
[setup-fixture.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4e3bac15197eb9b6/setup-fixture.py)
[start-owned.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4bd67121a690440b/start-owned.py)
[stop-owned.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ac26ff1813d2c6a/stop-owned.py)
[unit-proof-recipe.sh](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa6dee4b09c3d7b7/unit-proof-recipe.sh)
[unit-red-green.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1f51c7792239293/unit-red-green.txt)
[upload-files.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/145b30eab8c8c4a4/upload-files.py)
[voice-attempt-driver.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9ef2925c04886db/voice-attempt-driver.py)
[voice-attempts.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b44a3bc1120c63ab/voice-attempts.md)
[voice-to-local.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5ea9c41b3ca90b3e/voice-to-local.py)

