Conversation
…43-01a07240 [WRONG BRANCH] chore(release): promote verified candidate to 2.43.0
…lease-244-main-07c0
…in-07c0 chore(release): promote validated 2.44.0 to main
Promote frozen dev source cf9f662; no new runtime changes. Candidate CI34061274315 and service34061276621 are the validation references. Publication waits for successful validation and the final main push CI at the exact release SHA.
Promote frozen dev source cf9f662 as 2.45.0. The repository owner explicitly authorized this main/preview release promotion and admin PR-only merge. This is a release-specific owner decision, not an independent approval or the dev-only maintainer exception. Frozen candidate full CI34061274315 passed all25jobs after one unchanged-source rerun of Windows5; the initial holder busy assertion remains recorded without a root-cause resolution claim. Service lifecycle34061276621 passed Linux/macOS/Windows. Dev version pre-move3812 is merged. Publication still requires this actual main merge SHA's own successful push CI and Service lifecycle. No local suites were run.
[WRONG BRANCH] chore(release): promote verified 2.46.0 to main
[WRONG BRANCH] release: promote 2.47.0 to main
[WRONG BRANCH] release: apply final roster correction to main
[WRONG BRANCH] release: promote 2.48.0 to main
…in-01a08498 release: promote verified 2.49.0 product tree to main
…in-01a08a81 [WRONG BRANCH] release: promote verified 2.50.0 product tree to main
[WRONG BRANCH] release: promote verified 2.51.0 product tree to main
Product tree is dev at 7bfb2ad. Only package.json differs, carrying the stable channel version 2.52.0. This promotion follows a CI repair and a regression sweep: dev had drifted 79 commits past its last finished run and the one run allowed to complete had failed. lidge-jun#4390 fixed an integration test that never denied anything and had been red on dev since lidge-jun#4342; lidge-jun#4396/lidge-jun#4397/lidge-jun#4398 closed four gaps in the quota avoidance contract lidge-jun#4368 introduced; lidge-jun#4403 made a port fixture deterministic.
release: promote verified 2.52.0 product tree to main
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 588cb85c0d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| getPoolAccountPlanForSelection(config, accountId, selectionOptions), | ||
| now, | ||
| ); | ||
| return isUnknownUsage(usage) || usage < 100; |
There was a problem hiding this comment.
Honor a disabled auto-switch threshold
When accountPoolStrategy is quota, cache affinity is enabled, and autoSwitchThreshold is 0, a cached 100% reading makes this predicate false even though 0 disables usage-driven re-evaluation. During a model-gated detour, the resolver consequently deletes the ordinary thread affinity and may promote the detour account, whereas the normal affinity path deliberately keeps the binding when the threshold is disabled; this also contradicts the documented contract in docs-site/src/content/docs/reference/configuration/providers.md:505. Short-circuit to true when the configured threshold is non-positive so only actual failure evidence retires the shared state in this configuration.
AGENTS.md reference: src/AGENTS.md:L10-L10
Useful? React with 👍 / 👎.
|
✅ Deterministic PR hygiene checks passed. |
⏳ DRAFT
What to do
Its title has been prefixed with |
Motivation
autoSwitchThresholdheadroom predicate and could delete an ordinary thread affinity whenpool.cacheAffinityis enabled, causing ordinary requests to move off a cache-warm account before genuine exhaustion.pool.cacheAffinityis to delay moving a bound conversation until the account is actually exhausted or cannot serve, so the detour path must use the same exhaustion semantics as the live-affinity rebind logic.Description
hasCodexSharedStateQuotaHeadroom(...)insrc/codex/routing.tswhich preserves the old threshold behaviour for new/unbound selection but uses a 100% exhaustion boundary whenpool.cacheAffinityistrueand the strategy isquota.hasCodexQuotaHeadroom(...)in shared-state/affinity checks withhasCodexSharedStateQuotaHeadroom(...)so shared selection, ordinary thread-affinity preservation, and active-selection preservation follow the new cache-affinity semantics.tests/codex-integration/codex-routing.test.tsthat exercises A (bound, > threshold) → gated-model detour B → ordinary A withpool.cacheAffinity: true.structure/providers/openai-tiers.mdto document that model detours preserve ordinary bindings under cache-affinity until genuine exhaustion.Testing
node_modules/.bin/bun test tests/codex-integration/codex-routing.test.tsand observed focused routing tests pass:182passed,1skipped,0failed.--test-name-patternfilter and it passed.node_modules/.bin/bun run typecheckandnode_modules/.bin/bun run structure:check, both succeeded.node_modules/.bin/bun run test; the environment-running full suite exited nonzero with numerous unrelated server/auth fixture failures and timeouts in this environment, but the focused routing coverage for the changed logic is green.Codex Task