Real ACP subagent persistence proof

Environment: Linux, two isolated T3 web dev servers, Grok CLI 1.0.77, model grok-4.7-build-fast; fresh synthetic project/thread state, T3CODE_DEV_SEED=0. Browser: 1280x800 CSS pixels, light theme. Videos crop the chat column to exclude host details, preserving normal playback speed.

Reproduction: enable Grok with binaryPath pointing to grok-auth-wrapper.py, which only adds the missing xai.api_key auth advertisement and records raw text chunks. Export ACP_PROOF_RAW to a distinct file per side. Register the same empty git project on both servers. From each checkout run: python3 drive.py <new-output-directory> <project-path>. The driver uses the actual T3 CLI to launch the same native background subagent request and reads only that server's SQLite event log. No fake model, replay, test, or direct database insertion is used.

Base: 6cb47acfb8c1e9913c8760a5b677dbf63361a501
Head: b59490b934a2ff9bc0759640a061c09017f55790

Each side contains raw ACP child chunks, persisted assistant snapshots with exact original payload byte counts, timed stdout recording (asciicast v2), human-readable transcript, final reply and CLI result. snapshots.jsonl excludes the child prompt; the live transcript's turn-item count includes that one user item. measurements.json reports assistant-only counts.

Base: 914 chunks, 914 assistant message snapshots and 914 assistant turn-item snapshots. Head: 1094 chunks, 52 of each snapshot. Median message gap: 18ms / 410ms. Combined snapshot payload: 5451110 / 364218 bytes. Final reply equals concatenated raw ACP chunks exactly on each side. The two real model responses differ naturally in wording and length. Head's last snapshot precedes the child's completed status event by 54ms. Parent finishes with done on both sides.

The plots are measurements from captured real events, not UI screenshots. Browser videos show the actual child reply streaming to completion. They are supplementary; the persistence defect is established by the event records.

Not exercised: failure/cancellation flushes, child restart and interleaved child-message identities, other ACP providers, or exact WebSocket byte counts.

Model/harness: GPT-6.1-sol / Codex.
