# ACP health probe session cleanup evidence

These recordings capture a terminal driving two real T3 servers through their authenticated WebSocket RPC. They are not test-runner results.

Both sides use OpenCode 2.1.4, fresh isolated XDG directories, one imported synthetic conversation with one stored user message, and an ACP Registry `opencode-v2` provider. The live registry has moved to 2.2.7, so an executable override pins the downloaded official 2.1.4 binary. Managed installation itself is not covered.

The driver keeps a client connected and calls `server.refreshProviders` every five minutes, matching the default client health refresh interval. It makes no production code changes and does not change the 15-minute successful-probe cache. Each displayed history count is read from the real OpenCode database. Provider status comes from `server.getConfig`.

Base: a03d9bce026ef11930b35e9855adc1cdb5ea6eb7
Head: 969e8c4e62bd5dfa0f1452d09808310f9cbab96b

`prove.mjs before` and `prove.mjs after` use the same steps; `record.sh` captures their real terminal output through Xvfb. Set EVIDENCE_SCRATCH to a private scratch directory and RUN_STAMP to a unique timestamp. The scratch directory must contain the official OpenCode 2.1.4 executable named `opencode`, plus each T3 server's private startup log (`base-server.log`, `head-server.log`) containing a fresh pairing URL. Start the base and head servers on loopback ports 14897 and 14797 respectively, using separate fresh T3 homes and T3CODE_DEV_SEED=0. Never publish these private logs.

The uploaded videos are accelerated recordings; wall-clock timestamps in the terminal preserve the actual elapsed time. The screenshots and videos use the same terminal geometry, font and theme. Empty black margins are cropped equally from both sides.

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