# MCP continuation evidence

These are live recordings of responses from two real T3 development servers, each running its own checkout with a fresh database. The deterministic ACP agent is a synthetic protocol driver: it does not replace or mock any server service. Its parent delegates a child through the authenticated MCP endpoint; the child completes with DONE. The same parent then makes all four sends through that endpoint.

Both recordings use a 1440 x 1080 dark text display. The recorder watches the timestamped response stream and records it live with ffmpeg. The JSONL files preserve the response fields; display-only links and provider configuration identifiers are omitted. The scripts contain no credentials. The recorder's terminal-cast files also preserve individual output updates that can happen too quickly to read in the video.

## Reproduce

Install each checkout's dependencies with `vp i`. From each fresh checkout start `T3CODE_DEV_SEED=0 vp run dev`. Do not seed from another installation. Then, on the same host:

```sh
python3 record.py CHECKOUT before BASE_SHA DRIVER_MJS SCRATCH_DIRECTORY
python3 record.py CHECKOUT after HEAD_SHA DRIVER_MJS SCRATCH_DIRECTORY
```

Use absolute paths for the checkout, driver and scratch arguments. Each run writes to a new timestamped scratch directory. `driver.mjs` registers a local deterministic ACP provider through the real settings RPC, adds a synthetic project through the CLI, and launches the parent through the CLI. Credentials are minted locally for the isolated development installation and never recorded.

The parent requests orchestration capabilities, delegates `Reply DONE only.` in wait mode, waits for completed status, sends with `steer`, sends with `restart`, replaces `%3A` with literal colons and sends with `auto`, then sends with `auto` using the exact returned ID and waits for completion. Three-second pauses make each error readable. No responses are fabricated and no test suite is used as evidence.

On base, both finished-turn errors lack continuation guidance and the unencoded ID has no suggestion. On head, both finished-turn errors recommend `auto` or `queue`, and the unencoded ID suggests the existing encoded child ID. The exact-ID `auto` send completes run ordinal 2 on both commits.

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