Evidence capture: ACP idle error completion

Runtime implementation head: 597823c8ad18a4870c39d834e907b5ef56476e4e.
Test-only follow-up: d230223ec5. No implementation changes, no push or forge writes.

Checks:
- ACP registry: 16 passed, including with-error and without-error regressions.
- Each regression now starts and completes a following prompt, asserting no duplicate failed-turn terminal through that deterministic completion boundary, plus a distinct successful following turn.
- Existing Claude following-agent-work controls: error/end_turn child handoff, nested output, continued work, and Stop all pass.
- ACP adapter: 59 passed, including successful completion, cancelled outcomes, cancellation drain before next prompt, interrupt controls, and exactly-once child terminal controls.
- ACP client: 26 passed (initial combined run: client + registry = 42).
- 101 distinct tests passed; repeated registry run includes the strengthened assertion.
- Changed test file: format and lint pass. No direct server tsc repeated. Earlier scoped effect-acp/provider-acp typechecks were supplied as passing context, not rerun here.

Runtime:
- Primary performed the integrated browser pass on the existing server, both fresh-provider and Codex-to-acplause handoff routes, each now rendering Provider error / Missing Authentication header.
- Test agent independently verified each latest provider turn failed, with one durable failed transition and one provider_error failure item containing Missing Authentication header.
- Real acplause binary, deliberately invalid nonsecret key, isolated worktree .t3.
- Raw logs retained only earlier baseline traffic; do not claim those logs prove fixed behavior.
- Invalid key prevents real successful-provider control; success/cancellation/agent-work controls use deterministic fixtures.
- Visual matrix EMPTY; no UI captures required.

Missing requirements: none within the specified runtime failure and deterministic control scope. Exactly-once assertion is bounded through following prompt completion, not a claim about arbitrary future external events.

FRICTION
- Test targeting | Initial third filename was incorrect and selected no adapter tests | Corrected to AcpAdapterV2.test.ts; ran all 59 controls.
- Dev watch | Tests generate config files that can restart node --watch | Prioritize runtime, coordinate integrated capture, then run remaining tests; no server starts/stops performed.
- RPC auth | Existing unrelated reusable token rejected by server | Reused primary's authorized integrated pass, independently checked isolated DB read-only; no pairing token consumed.
- Hooks | Prior precommit hook reported hanging | Used explicit successful format/lint and focused tests, bypassed hook for test-only commit as requested.
