Repository navigation
fix(codex): attribute a pool account move to its recovery kind and real failed status - #7197
vadymhimself wants to merge 2 commits into
Conversation
|
@coderabbitai review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
✅ Action performedReview finished.
|
|
✅ Deterministic PR hygiene checks passed. |
1444e2d to
c11aa3d
Compare
⏳ DRAFT
What to do
Review readiness checklist
0/4 boxes ticked. This pull request was already a draft. Its draft status will be preserved after every issue above is resolved. |
…atus The alternate-account send passed no recovery kind, so the second send on the row had no cause and the first account's sealed attempt showed an inferred 502 instead of the status it answered (e.g. 429). Reuse the roster kinds: oauth-account-429 for quota (429/402), transient-5xx for a 5xx move. Co-Authored-By: Claude Code <noreply@anthropic.com>
c11aa3d to
cd5409d
Compare
|
Being carried into #7224 with your authorship preserved; this PR will be closed when the bundle lands. |
A Codex 402 move was recorded as oauth-account-429, so request metrics counted it as rate_limit and the dashboard labelled it an OAuth 429. Add oauth-account-402 mapped to quota-exhausted and wire it into the cooldown set, the dashboard label map and all locale catalogs. Co-Authored-By: Claude Code <noreply@anthropic.com>
…evidence fixes (#7191, #7204, #7187, #7209, #7175, #7185, #7193, #7197, #7198) (#7224) Carried from #7191, #7204, #7187, #7209, #7175, #7185, #7193, #7197, #7198 (one commit per source PR, original author preserved). Security review follow-up: the Anthropic 402 combo cooldown now validates the sending credential's ownership before cooling an account. Remote validation (hosted GitHub Actions unreliable; local tests not run by maintainer rule): union candidate codex/prr-integ-8 = dev c03eafd + #7224 + #7223 + #7225 + #7217 + #6454 + #6594 plus a Gentle Shell import-cycle fix (integ-9 e1f289c: typecheck + full suite on mini (Windows) and lidge (Linux), compared with the same host's dev runs) and a test-only Windows path-escaping fix for the reasoning-retention routing test (integ-10 0d4cba7, tree a2b309a: that file re-run on both hosts). Co-authored-by: Vadym O <bolein95@gmail.com>
Summary
retryCodexPoolOnAlternateAccount), the alternate send callednoteProviderAttemptSend(...)with no recovery kind. The second physical send on the row therefore had no cause (a burn monitor cannot tell a funded rotation from a duplicate send, andopencodex_recoveries_totalmisses it), and the first account's sealed attempt carried an inferred502instead of the status it actually answered (e.g.429), with a cause derived from that wrong status.oauth-account-429for a quota move (429/402, including a body-confirmed quota wrapped in 5xx), andtransient-5xxfor a transient 5xx move. The gated-model 400 move has no fitting roster kind and stays unattributed, as before.429withfailureCause: "rate-limit"rather than502/upstream-fault.Verification
dev: the new assertions intests/responses/responses-account-label.test.ts("a pre-stream quota retry updates attribution to the serving alternate account") fail: the first account is sealed withstatus: 502and neither attempt has a recovery kind.bun test tests/responses/responses-account-label.test.ts9/0.responses-pool-overload-failover,codex-pool-rotation,responses-pool-401-refresh,server-auth,codex-quota-rejection,responses-account-change-scrub,codex-model-denial-evidence,responses-main-quota-observation,responses-alternate-main-cancellation): 466/0.bun run typecheck: clean.bun run test:changed: 14674 pass, 1 fail. The failure (tests/cli/cli-connect-readiness.test.ts> "a rejected preferred runtime falls back without rewriting the saved selection") fails identically on a cleandevcheckout and does not touch this path.Checklist
🤖 Generated with Claude Code
Summary by CodeRabbit
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
Required local validation passed; commands, results, and any full-suite exception are documented.
I pushed my PR to a recent dev commit (at most 10 behind; a maintainer may still ask for the exact tip before merge).
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.