ACP raw unread retention: real-server proof

No test runner is involved. Both commits run the actual T3 server, CLI, orchestration and ACP subprocess adapter, each on a fresh database. The standard local Replay (dev) provider is instrumented as a synthetic ACP provider. No paid model is used.

Apply instrument.py once to each clean checkout: python3 instrument.py CHECKOUT
Install dependencies with vp i in each checkout.
Run: python3 run.py CHECKOUT before 18431
Run: python3 run.py CHECKOUT after 18432
Optional live Xvfb/Ghostty recording: python3 record.py before CHECKOUT 18431 (then after with another checkout and port).

Instrumentation changes client.ts and dev-replay-agent.ts only; protocol.ts is untouched. Notifications use an extension method to avoid application handlers consuming the raw stream. After notification 2 is decoded and queued, the diagnostic raw reader starts and blocks on 1. It signals the provider via ACP notification to send 3,4,5. After 5 is queued the reader is released. Receipt of 5 signals the provider to complete the prompt.

Payloads 1-4 each contain 6*1024*1024 ASCII characters; payload 5 contains one. Wire JSON overhead also counts. All five are confirmed decoded and queued on each side. Base delivers [1,2,3,4,5]; head delivers [1,3,4,5].

Screenshots: 1600x900, same Ghostty dark theme and font; consecutive captures 500 ms apart compare identical. Videos capture live terminal output, not rendered transcripts. Transcripts contain only synthetic diagnostic lines.

The scripts are scratch evidence and are not committed.
