PR #21314 — server orchestration behavior proof Current local head: 74912d7dd34b3bb7f32ba5d7aa0d53ef58767ee9 Pinned main:1451e7cb23034d29774338608368a15d8845df36 Harness: Codex in T3 Code, headless Linux, disposable test fixtures. These tests run persisted orchestration and fake-provider effects, not live provider CLIs or live GitHub PR polling. BEFORE: focused PR regressions on main × keeps queued user selections and pauses only the limited provider 94ms × delivers a queued PR update on the current provider through automatic 1290ms × delivers a queued PR update on the current provider through queue.resume 358ms FAIL apps/server/src/orchestration-v2/runtimeLayer.test.ts > OrchestrationV2LayerLive lifecycle > keeps queued user selections and pauses only the limited provider AssertionError: expected 'starting' to equal 'queued' FAIL apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts > orchestration v2 provider switching > delivers a queued PR update on the current provider through automatic AssertionError: expected 'codex' to equal 'claudeAgent' FAIL apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts > orchestration v2 provider switching > delivers a queued PR update on the current provider through queue.resume Test Files 2 failed (2) Tests 3 failed | 154 skipped (157) Duration 10.35s (transform 59%, import 30%, tests 10%, setup 1%) BEFORE REVIEW FIXES: new regressions on416c14c × delivers a queued monitor update from provider after conversation selection {"instanceId":"codex","model":"gpt-5.4"} 74ms × delivers a queued monitor update from provider after conversation selection {"instanceId":"codex_alternate","model":"gpt-5.4"} 56ms × delivers a queued PR update on the current provider through automatic (compatible Codex) 810ms × delivers a queued PR update on the current provider through queue.resume (compatible Codex) 377ms FAIL apps/server/src/orchestration-v2/runtimeLayer.test.ts > OrchestrationV2LayerLive lifecycle > delivers a queued monitor update from provider after conversation selection {"instanceId":"codex","model":"gpt-5.4"} AssertionError: expected 'runtime-layer-queue-current-conversat…' to equal 'provider-thread:provider:codex:native…' FAIL apps/server/src/orchestration-v2/runtimeLayer.test.ts > OrchestrationV2LayerLive lifecycle > delivers a queued monitor update from provider after conversation selection {"instanceId":"codex_alternate","model":"gpt-5.4"} AssertionError: expected { instanceId: 'codex_alternate', …(1) } to deeply equal { instanceId: 'codex', …(1) } FAIL apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts > orchestration v2 provider switching > delivers a queued PR update on the current provider through automatic (compatible Codex) AssertionError: expected 'codex' to equal 'codex-alternate' FAIL apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts > orchestration v2 provider switching > delivers a queued PR update on the current provider through queue.resume (compatible Codex) AssertionError: expected [ { driver: 'codex', …(8) } ] to have a length of 2 but got 1 Test Files 2 failed (2) Tests 4 failed | 3 passed | 155 skipped (162) Duration 11.97s (transform 55%, import 28%, tests 16%, setup 1%) AFTER: primary agent focused verification at74912d7 ✓ apps/server/src/orchestration-v2/runtimeLayer.test.ts > OrchestrationV2LayerLive lifecycle > keeps queued user selections and pauses only the limited provider 127ms ✓ apps/server/src/orchestration-v2/runtimeLayer.test.ts > OrchestrationV2LayerLive lifecycle > delivers a queued monitor update from server after conversation selection {"instanceId":"codex","model":"gpt-5.4"} 29ms ✓ apps/server/src/orchestration-v2/runtimeLayer.test.ts > OrchestrationV2LayerLive lifecycle > delivers a queued monitor update from provider after conversation selection {"instanceId":"codex","model":"gpt-5.4"} 36ms ✓ apps/server/src/orchestration-v2/runtimeLayer.test.ts > OrchestrationV2LayerLive lifecycle > delivers a queued monitor update from provider after conversation selection {"instanceId":"codex_alternate","model":"gpt-5.4"} 39ms ✓ apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts > orchestration v2 provider switching > delivers a queued PR update on the current provider through automatic (Claude) 1231ms ✓ apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts > orchestration v2 provider switching > delivers a queued PR update on the current provider through queue.resume (Claude) 732ms ✓ apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts > orchestration v2 provider switching > delivers a queued PR update on the current provider through automatic (compatible Codex) 841ms ✓ apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts > orchestration v2 provider switching > delivers a queued PR update on the current provider through queue.resume (compatible Codex) 665ms Test Files 2 passed (2) Tests 8 passed | 154 skipped (162) Duration 12.86s (transform 53%, import 28%, tests 17%, setup 1%) AFTER: complete two affected suites at74912d7 Test Files 2 passed (2) Tests 162 passed (162) Duration 71.10s (tests 79%, transform 14%, import 7%) Other scoped checks: server typecheck0errors/0warnings (154 existing Effect suggestions); changed-file lint passed with2existing warnings; format and git diff --check passed. Limitations: no live CLI takeover, real PR-watch polling, Claude/Grok native wake-buffer ingestion, macOS/Windows/iOS/Android/Electron, remote/relay/tunnel runtime verification. No UI code changes; screenshots not applicable.