# Reproduce the evidence

All commands run with working directory `/home/ubuntu/wt/pr-16308`. Never run against the main checkout. Captures use authored synthetic fixtures only. The app home is `/tmp/ev-16308`; seeding is disabled.

Rebuild every pixel diff and JSON report from the retained originals (no server or browser needed):

```bash
python /tmp/to-16308/make-diffs.py
```

Verify fixture/upload/persisted hashes and the complete metadata assertions:

```bash
python /tmp/to-16308/verify-proof.py
```

Rebuild chaptered videos and selected frames from the original x11grab recordings:

```bash
python /tmp/to-16308/video-chapters.py
python /tmp/to-16308/review-video-frames.py
```

To repeat a real-app capture on the current after revision, start these separately, retaining each spawned PID:

```bash
T3CODE_DEV_SEED=0 vp run dev --no-seed --home-dir /tmp/ev-16308 > /tmp/to-16308/repro-dev-private.log 2>&1
Xvfb :163 -screen 0 1440x1000x24 -nolisten tcp
DISPLAY=:163 AUDIT_STORAGE_STATE=/tmp/to-16308/after-storage-private.json node /tmp/to-16308/capture-run.cjs after
```

Wait for the dev runner's actual ports before starting the browser; this run used web 6573 and server 14613. Stop only retained PIDs. The driver pairs with the retained isolated session through its local-only storage state, selects the existing worktree project through the actual UI, and uses the real composer and WebSocket/HTTP uploads. It does not seed or mock app transports. The standalone invocation will overwrite capture files in `/tmp/to-16308`; copy public evidence first if retaining both runs.

`before-storage-private.json`, `after-storage-private.json`, app homes and private server logs remain local because they contain isolated authentication state. They are intentionally excluded from public artifacts. A different machine must pair its own fresh isolated browser session and provide its own storage-state path. No live T3 userdata or production credentials were copied.

Before revision: [c4fa4629eb](https://github.com/pingdotgg/t3code/commit/c4fa4629eb645b95aae2beef56c70f705b736049). After local unpushed revision: `8ea57ac19f782aeaa82003c5ddff73419f35bdef`. The same branch name was retained during sequential exclusive-checkout captures to keep the footer identical. The branch is restored to the after revision on completion.

Native chooser MIME was empty on Linux. Deterministic MIME-labelled picker/paste/drop cases are synthetic File transfers through real app DOM handlers, not claims about OS clipboard MIME. Spellcheck is disabled on the composer to eliminate native dictionary decoration; reduced motion, settled fonts, DPR 1 and viewport-only resizing are used. Screenshot stability requires two PNGs 500 ms apart to be byte-identical.

Full continuous playback review remains pending; decoding all frames and inspecting selected endpoints does not replace that review. Videos contain real sends; screenshot pair endpoints show staged state. Persisted message records and file hashes prove send/persistence independently.
