PR #24579 real-environment verification, 2026-10-30 UTC No mocked providers, replay data, fixtures, telemetry edits, or source changes. Projects, provider settings and all messages created through the web UI with repository Playwright and /usr/bin/google-chrome. github/main 44d508fd8b read-only persisted run, model, native identity, and token-usage queries: [ { "ordinal": 1, "status": "completed", "model": { "instanceId": "codex", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a77-c32d-7193-a04f-2bf69c9d52a1", "usage": { "usedTokens": 16242, "maxTokens": 258400, "inputTokens": 16231, "cachedInputTokens": 9216, "outputTokens": 11, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:41:23.430Z" } }, { "ordinal": 2, "status": "completed", "model": { "instanceId": "codex_codex_b", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a78-b1c2-76a2-b6cc-d18038e7b66e", "usage": { "usedTokens": 17063, "maxTokens": 258400, "inputTokens": 17053, "cachedInputTokens": 9216, "outputTokens": 10, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:42:32.248Z" } }, { "ordinal": 3, "status": "completed", "model": { "instanceId": "codex", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a79-9d38-71b1-a4db-2f860600f754", "usage": { "usedTokens": 17425, "maxTokens": 258400, "inputTokens": 17415, "cachedInputTokens": 9216, "outputTokens": 10, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:43:22.296Z" } }, { "ordinal": 4, "status": "completed", "model": { "instanceId": "codex_codex_b", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a7a-d515-7732-9755-8c544d0056da", "usage": { "usedTokens": 17815, "maxTokens": 258400, "inputTokens": 17805, "cachedInputTokens": 0, "outputTokens": 10, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:44:43.058Z" } }, { "ordinal": 5, "status": "completed", "model": { "instanceId": "codex", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a79-9d38-71b1-a4db-2f860600f754", "usage": { "usedTokens": 18217, "maxTokens": 258400, "inputTokens": 18207, "cachedInputTokens": 9216, "outputTokens": 10, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:45:09.334Z" } }, { "ordinal": 6, "status": "completed", "model": { "instanceId": "codex_codex_b", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a7c-1506-7e42-9fbb-0dbfeba441ce", "usage": { "usedTokens": 77456, "maxTokens": 258400, "inputTokens": 77442, "cachedInputTokens": 11264, "outputTokens": 14, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:46:03.692Z" } } ] handoffs targeting overflow run 6: [ { "strategy": "delta_since_target_last_seen", "delivery": { "nativeThreadId": "01a18a7c-1506-7e42-9fbb-0dbfeba441ce", "status": "injected", "itemIds": [ "turn-item:message:3ae124dc-6b96-45ae-b5fc-e6b6ff801950", "turn-item:provider:codex:native-item:msg_04028f80ac267bc6016ae3f6a4fc988191a5cdafedf013021c" ], "omittedItemIds": [] }, "status": "ready", "coveredRunOrdinals": { "from": 5, "to": 5 } }, { "strategy": "full_thread_summary", "delivery": { "nativeThreadId": "01a18a7c-1506-7e42-9fbb-0dbfeba441ce", "status": "injected", "itemIds": [ "turn-item:message:b2987c6e-05c1-439e-a3ee-62ebba71d34a", "turn-item:provider:codex:native-item:workspace-preparation%3Arun%3Athread%3Ae2d04711-87dc-4b1e-ba59-901775165fe0%3Aordinal%3A1", "turn-item:provider:codex:native-item:msg_0bfdf88d8419e8bd016ae3f5c2d7408191bca2b069bed614e9", "turn-item:message:adbd4444-1487-42d4-b495-ba9d5c221653", "turn-item:provider:codex:native-item:msg_0885d4f4b7fd5026016ae3f6077a908191b9b8b9a75bf613c1", "turn-item:message:4bc04a94-f9e9-49b0-92dd-4f939e72d198", "turn-item:provider:codex:native-item:msg_04028f80ac267bc6016ae3f639a5f0819192c5fe9a3be0fb57", "turn-item:message:18d6323f-66f4-4175-816b-893e792f6ff8", "turn-item:provider:codex:native-item:msg_055294fc32c6c37b016ae3f68a8c9081919de232971e114055", "turn-item:message:3ae124dc-6b96-45ae-b5fc-e6b6ff801950", "turn-item:provider:codex:native-item:msg_04028f80ac267bc6016ae3f6a4fc988191a5cdafedf013021c" ], "omittedItemIds": [] }, "status": "ready", "coveredRunOrdinals": { "from": 1, "to": 5 } } ] PR head 0e73689c9fa07a50651c69ac85dd5a0a54c4f36f read-only persisted run, model, native identity, and token-usage queries: [ { "ordinal": 1, "status": "completed", "model": { "instanceId": "codex", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a82-e51c-7e10-9779-48f5c7b466e8", "usage": { "usedTokens": 16152, "maxTokens": 258400, "inputTokens": 16141, "cachedInputTokens": 9216, "outputTokens": 11, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:54:03.984Z" } }, { "ordinal": 2, "status": "completed", "model": { "instanceId": "codex_codex_b", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a86-e924-76d2-b383-0939614d1599", "usage": { "usedTokens": 14216, "maxTokens": 258400, "inputTokens": 14206, "cachedInputTokens": 9216, "outputTokens": 10, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:57:47.869Z" } }, { "ordinal": 3, "status": "completed", "model": { "instanceId": "codex", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a82-e51c-7e10-9779-48f5c7b466e8", "usage": { "usedTokens": 16962, "maxTokens": 258400, "inputTokens": 16952, "cachedInputTokens": 9216, "outputTokens": 10, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:57:53.163Z" } }, { "ordinal": 4, "status": "completed", "model": { "instanceId": "codex_codex_b", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a86-e924-76d2-b383-0939614d1599", "usage": { "usedTokens": 15030, "maxTokens": 258400, "inputTokens": 15020, "cachedInputTokens": 14080, "outputTokens": 10, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:58:24.353Z" } }, { "ordinal": 5, "status": "completed", "model": { "instanceId": "codex", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a82-e51c-7e10-9779-48f5c7b466e8", "usage": { "usedTokens": 17782, "maxTokens": 258400, "inputTokens": 17771, "cachedInputTokens": 16768, "outputTokens": 11, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T01:58:29.341Z" } }, { "ordinal": 6, "status": "completed", "model": { "instanceId": "codex_codex_b", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a8a-4c26-7010-a5c5-bf893e4f5e96", "usage": { "usedTokens": 75666, "maxTokens": 258400, "inputTokens": 75652, "cachedInputTokens": 9216, "outputTokens": 14, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T02:01:31.111Z" } }, { "ordinal": 7, "status": "completed", "model": { "instanceId": "codex_codex_b", "model": "gpt-6.1-sol" }, "nativeThreadId": "01a18a8a-4c26-7010-a5c5-bf893e4f5e96", "usage": { "usedTokens": 75722, "maxTokens": 258400, "inputTokens": 75704, "cachedInputTokens": 75520, "outputTokens": 18, "reasoningOutputTokens": 0, "updatedAt": "2026-10-30T02:02:20.313Z" } } ] handoffs targeting overflow run 6: [ { "strategy": "delta_since_target_last_seen", "delivery": { "nativeThreadId": "01a18a8a-4c26-7010-a5c5-bf893e4f5e96", "status": "injected", "itemIds": [ "turn-item:message:e166634d-d489-4ddf-9aef-19004855af09", "turn-item:provider:codex:native-item:msg_0032b6913461b57d016ae3f9c4fd4c8191984747cddebb6340" ], "omittedItemIds": [] }, "status": "ready", "coveredRunOrdinals": { "from": 5, "to": 5 } }, { "strategy": "full_thread_summary", "delivery": { "nativeThreadId": "01a18a8a-4c26-7010-a5c5-bf893e4f5e96", "status": "injected", "itemIds": [ "turn-item:message:e220fe74-5d1f-4afb-a31c-e2cf8cebe2f2", "turn-item:provider:codex:native-item:workspace-preparation%3Arun%3Athread%3Acbfe1e83-3dd8-4e15-845b-aefa9666e18f%3Aordinal%3A1", "turn-item:provider:codex:native-item:msg_0032b6913461b57d016ae3f8bbba30819197c85b56d50ff6f3", "turn-item:message:e27ed5a4-c727-4c6f-9012-e445e296fd31", "turn-item:provider:codex:native-item:msg_00142f5151f7bea4016ae3f99b3024819198239fe0e635664a", "turn-item:message:9d2d2ec0-28f4-4bc9-b75b-c003af95d9a8", "turn-item:provider:codex:native-item:msg_0032b6913461b57d016ae3f99fd4cc81918d550d0407f63546", "turn-item:message:69a318c7-0ab7-48c6-9af3-c5ec25b27898", "turn-item:provider:codex:native-item:msg_00142f5151f7bea4016ae3f9bfe0b081918b170ce097381aea", "turn-item:message:e166634d-d489-4ddf-9aef-19004855af09", "turn-item:provider:codex:native-item:msg_0032b6913461b57d016ae3f9c4fd4c8191984747cddebb6340" ], "omittedItemIds": [] }, "status": "ready", "coveredRunOrdinals": { "from": 1, "to": 5 } } ] main overflow prompt JSON UTF-8 bytes: 175910 PR overflow prompt JSON UTF-8 bytes: 178910 Both ask for second/third codewords, followed by multibyte padding under the client 120000-character limit. Different padding length compensates for different real usage. main resumed budget 258400 - 17815 - 175910 - 64600 = 75 bytes. PR resumed budget max(0,258400 - 15030 - 178910 - 64600) = 0 bytes; fresh budget 14890 bytes. server log /tmp/main-dev.log [01:45:50.079] WARN (#26500): Recovering provider context in a fresh native session { driver: 'codex', providerThreadId: 'provider-thread:provider:codex:native-thread:pending%3Arun%3Athread%3Ae2d04711-87dc-4b1e-ba59-901775165fe0%3Aordinal%3A4', runId: 'run:thread:e2d04711-87dc-4b1e-ba59-901775165fe0:ordinal:6', reason: 'handoff_budget_exhausted', errorTag: 'ContextHandoffBudgetError' } [01:45:50.189] INFO (#26636) http.span=8ms: Sent HTTP response server log /tmp/dev.log [02:01:21.688] WARN (#18435): Replacing the native provider thread with portable context { driver: 'codex', providerThreadId: 'provider-thread:provider:codex:native-thread:pending%3Arun%3Athread%3Acbfe1e83-3dd8-4e15-845b-aefa9666e18f%3Aordinal%3A2', runId: 'run:thread:cbfe1e83-3dd8-4e15-845b-aefa9666e18f:ordinal:6', reason: 'handoff_overflow' } [02:01:21.746] INFO (#18570) http.span=7ms: Sent HTTP response http.method: POST Browser observed both main and PR answer: maple-24579 birch-24579. PR normal follow-up answered cedar-24579 maple-24579 birch-24579 and preserved run 6 native ID. Original bug did not reproduce on current main: #25610 (07242abff3) independently implements recovery. This is not before-failure/after-success evidence. Focused checks this turn through blacksmith-check: command: vp i && vp test run apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts apps/server/src/orchestration-v2/ContextHandoffBudget.test.ts exit: 0 ProviderSwitch.integration.test.ts: 42 passed ContextHandoffBudget.test.ts: 18 passed 2 test files, 60 tests passed. Duration 21.58s. Recorded CI at exact PR head: 28 successful, 0 pending, 0 failing. No source changes or push, so check:changed was not re-run.