verification: linux, system chrome + repo playwright, 2026-11-01 main: 8b74a69019; pr: 75408277981a28f431834841ab369efde0b6fefa (unchanged) vp i in both checkouts; one background dev server at a time. project and provider instances configured through the actual web app. CODEX_HOME values: /tmp/verify24664/home-a and /tmp/verify24664/home-b. explicit home and shadow paths blank. real codex CLI 0.164.0, gpt-6.1-sol, low reasoning, local CLIProxyAPI. main: ask to remember cedar in home a -> ready cedar. switch to home b: no handoff row. ask for remembered word -> cedar, but server logs: [01:41:21.337] WARN: Recovering provider context in a fresh native session reason: resume_failed; errorTag: ProviderAdapterResumeThreadError main recovers automatically; missing proactive handoff and wrong-home resume reproduced. pr fresh thread, matching prompts/model: home a -> ready cedar. switch a to b -> Context handoff pending. ask remembered word -> cedar; Context handoff retained. same-home followup -> same home cedar; handoff count stays 1. switch b to a -> pending handoff, reply cedar; handoff count becomes 2. rg resume_failed or Recovering provider in pr server log -> zero matches. actual session files in both configured homes contain gpt-6.1-sol turn contexts. blacksmith: vp i && vp test run apps/server/src/provider/Drivers/CodexDriver.test.ts exit 0; 1 file passed, 15 tests passed. GitHub checks queried at unchanged head: no failed/pending checks. unverified: native desktop/mobile, macos/windows, direct OpenAI auth/inference, relay/tunnel, managed/shadow accounts, explicit-home precedence in live turns, trailing-space home in live turns (covered by existing driver regression). recording demonstrates interaction, not a latency benchmark.