PR #25564 real development verification, 2026-10-30 (Linux Boat VM) No source changes, mock agents, fixtures, or demo data used. Browser: repository Playwright dependency + /usr/bin/google-chrome. Projects and threads created through the web UI, pointing at /home/user/main (real git repository). MAIN $ git worktree add ../main github/main HEAD: 6575ce3250 $ timeout 600 vp i passed $ T3CODE_DEV_SEED=0 setsid nohup timeout 7000 vp run dev > /tmp/main-dev.log 2>&1 & [dev-runner] serverPort=16733 webPort=8693 baseDir=/home/user/main/.t3 UI: native Codex gpt-6.1-sol, three-step read-only plan, read package.json and README.md. Provider turn completed. Three persisted plan steps completed. UI: local ACP provider @agentclientprotocol/codex-acp@2.5.0, gpt-6.1-sol, same prompt. Provider turn completed and read both files. Agent reported update_plan unavailable. No structured ACP plan was persisted. Original cancelled-plan bug NOT reproduced. $ sqlite3 -readonly ../main/.t3/userdata/statev2.sqlite 'select provider,ordinal,status,json_extract(payload_json,"$.modelSelection.model") from orchestration_v2_projection_runs order by requested_at' codex|1|completed|gpt-6.1-sol acpRegistry_codex_live|1|completed|gpt-6.1-sol Stopped captured main process group before starting PR dev server. PR $ git switch --detach e5e6d4a24cca99a475a366db260ce91750141567 $ timeout 600 vp i passed $ T3CODE_DEV_SEED=0 setsid nohup timeout 6000 vp run dev --home-dir /home/user/t3code/.t3 > /tmp/dev.log 2>&1 & [dev-runner] serverPort=13773 webPort=5733 baseDir=/home/user/t3code/.t3 UI: native Codex gpt-6.1-sol, same three-step read-only plan and file reads. Completed; rendered Tasks 3/3. UI: same local ACP provider and model, same prompt. Completed with tool reads; again reported update_plan unavailable, no ACP plan persisted. UI: requested timeout 90 sleep 60; clicked Stop generation while Running sleep. Client displayed Run interrupted / Stopped by user. UI: next prompt requested RESUMED_OK; assistant replied RESUMED_OK and turn completed. $ sqlite3 -readonly .t3/userdata/statev2.sqlite 'select provider,ordinal,status,json_extract(payload_json,"$.modelSelection.model") from orchestration_v2_projection_runs order by requested_at' codex|1|completed|gpt-6.1-sol acpRegistry_codex_live|1|completed|gpt-6.1-sol acpRegistry_codex_live|2|interrupted|gpt-6.1-sol acpRegistry_codex_live|3|completed|gpt-6.1-sol LIMIT Native Codex uses a separate adapter. codex-acp's TurnPlanStepStatus only permits pending | inProgress | completed, and its event handler passes these statuses through. It cannot emit the ACP cancelled plan entry needed to exercise this PR's changed branch. Source: https://github.com/agentclientprotocol/codex-acp/blob/main/src/app-server/v2/TurnPlanStepStatus.ts Source: https://github.com/agentclientprotocol/codex-acp/blob/main/src/CodexEventHandler.ts#L1068 Mixed completed/cancelled and all-cancelled ACP plans remain unverified. Native mobile and native desktop clients, remote/relay/tunnel modes not exercised. CI at unchanged PR head: 28 successful, 0 failing, 0 pending (cafe pr status). No local test/typecheck/build commands run; no source fixes or pushes made. Recording shows real ACP stop and next-turn recovery, with an idle gap removed.