real dev verification, 2026-10-30, linux boat vm main: github/main at 32ecd71726 pr: 999f2121b48bc6773d769af786c88be2006bec79 main worktree: /home/user/main pr checkout: /home/user/t3code one dev server at a time; fresh isolated state; --no-seed vp i ran in both checkouts. main: vp run dev --no-seed [dev-runner] serverPort=16733 webPort=8693 baseDir=/home/user/main/.t3 pr: vp run dev --no-seed --home-dir /home/user/t3code/.t3 [dev-runner] serverPort=13773 webPort=5733 baseDir=/home/user/t3code/.t3 playwright from apps/web/node_modules/playwright, /usr/bin/google-chrome created project through add project > local folder: /home/user/provider-scope-verification (real git repository) created threads and submitted real codex gpt-6.1-sol turns through the web composer. no mocks, fixtures, replay provider, or seeded database. scope observation: node inspector attached to actual server process. conditional breakpoint in ProviderInstanceRegistry.ts after parentScope destructuring: (globalThis.__verificationScope = parentScope, false) Runtime.evaluate: JSON.stringify({tag:__verificationScope.state._tag, finalizers:__verificationScope.state.finalizers?.size ?? 1}) no source edits or replacement services. settings > providers > codex > display name; fill and press enter each time: main after initial rename: {"tag":"Open","finalizers":12} main after 10 more committed renames: {"tag":"Open","finalizers":22} pr after initial rename: {"tag":"Open","finalizers":11} pr after same 10 committed renames: {"tag":"Open","finalizers":11} pr add provider > codex > configure manually > Scope sibling > add instance: {"tag":"Open","finalizers":12} untouched sibling stays available during default-provider rebuilds and failures. real creation failure: shadow home path=/home/user/.codex, same as shared home. app displays Driver 'codex' failed to create instance: Codex shadow home path '/home/user/.codex' must be different from the shared home path '/home/user/.codex'. after initial failure: {"tag":"Open","finalizers":11} after 10 more failed creations via committed display-name edits: {"tag":"Open","finalizers":11} clear shadow home path; provider recovers: {"tag":"Open","finalizers":12} disable/re-enable, fail and recover again: {"tag":"Open","finalizers":12} real codex shell tool and provider responses: main: pwd exit=0, MAIN_SCOPE_OK /home/user/provider-scope-verification pr initial: pwd exit=0, PR_SCOPE_OK /home/user/provider-scope-verification pr continuation after rebuild/failure/recovery: pwd exit=0, PR_REBUILT_OK /home/user/provider-scope-verification pr untouched sibling: pwd exit=0, SIBLING_SCOPE_OK /home/user/provider-scope-verification delete custom sibling through settings: {"tag":"Open","finalizers":11} remaining provider continuation after removal: pwd exit=0, REMOVAL_SCOPE_OK /home/user/provider-scope-verification all provider turns completed successfully in native provider event logs. rebuilt and post-removal continuation replies appeared live in client. initial main, initial pr, and sibling replies needed reload to appear. blacksmith-check: vp test run apps/server/src/provider/ProviderInstanceRegistry.test.ts 18 passed blacksmith-check: vp test run packages/provider-core/src/server/managedProvider.test.ts 11 passed blacksmith-check: vp run check:changed 97e35bcf23e4dcf34c2dcffadd37c08db0e01e52 pass format, lint, both knip passes, graphql generation check, affected typechecks (3 packages), adjacent tests (19 passed) remote box first needed shallow PR history fetched to find the comparison base. 31/31 hosted PR checks successful on same unchanged head. recording: settings rebuild, disable/re-enable, constructor failure, recovery, real continuation with shell tool and live final response. navigation loading section removed; no turn time compression or performance claim. uploaded video played in chrome and seeking was exercised; frames inspected. not exercised: native mobile, electron shell, macos/windows, other providers, remote/relay/tunnel, secret-vault flows, long-duration heap/OOM behavior. parent shutdown cleanup covered by existing focused tests, not a dedicated live active-turn shutdown experiment.