chore: release v2.3.0-beta.0 (sequential drain-first, #509) - #511
Conversation
Prerelease that ships the opt-in sequential / drain-first account scheduling mode from issue #509 to npm under the beta dist-tag. Set schedulingStrategy=sequential (or CODEX_AUTH_SCHEDULING_STRATEGY=sequential) to drain one account fully before advancing to the next, staggering quota-window recovery across the pool for longer uninterrupted sessions. Default hybrid behavior is unchanged; the mode is fully opt-in. Manual pin still wins and per-session affinity is bypassed in sequential mode.
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughSeverity: Minor This prerelease PR (v2.3.0-beta.0) is a mechanical version and documentation update that packages the opt-in sequential account scheduling feature already merged in Version and manifest updates:
Documentation additions:
Verification status:
Feature details (already merged in
Walkthroughversion 2.3.0-beta.0 updates the plugin and npm package manifests to a beta tag, adds release notes describing the new opt-in sequential account scheduling mode, and indexes the prerelease in both the root and docs readme files. Changesv2.3.0-beta.0 release preparation
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes note: the release notes reference a new sequential scheduling strategy and test coverage areas (drain-first selector coverage, proxy-level coverage, and 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
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 |
| @@ -25,7 +25,7 @@ | |||
| "codex-multi-auth": "scripts/codex-multi-auth.js", | |||
| "codex-multi-auth-app-launcher": "scripts/codex-app-launcher.js", | |||
| "codex-multi-auth-codex": "scripts/codex.js", | |||
There was a problem hiding this comment.
silent bin-path fix bundled into version bump
the mcodex bin entry changed from scripts/mcodex (no extension) to scripts/mcodex.js — a real correctness fix that isn't called out in the PR description or release notes. separately, the lockfile was at 2.2.0 while package.json was already at 2.2.2, meaning two patch releases shipped without regenerating the lockfile. neither issue appears in the release notes, so anyone auditing v2.2.x published artifacts won't find a trace of the bin-path discrepancy here.
Prompt To Fix With AI
This is a comment left during a code review.
Path: package-lock.json
Line: 27
Comment:
**silent bin-path fix bundled into version bump**
the `mcodex` bin entry changed from `scripts/mcodex` (no extension) to `scripts/mcodex.js` — a real correctness fix that isn't called out in the PR description or release notes. separately, the lockfile was at `2.2.0` while `package.json` was already at `2.2.2`, meaning two patch releases shipped without regenerating the lockfile. neither issue appears in the release notes, so anyone auditing v2.2.x published artifacts won't find a trace of the bin-path discrepancy here.
How can I resolve this? If you propose a fix, please make it concise.| - Selector coverage for the drain-first path: sticky-while-usable, advance-on- | ||
| exhaustion, wrap-to-recovered-earlier-account, returns-null when the whole pool is | ||
| exhausted, cooldown/circuit-open/disabled failover, per-family cursor isolation, | ||
| and the policy-blocked-anchor guard. | ||
| - Proxy-level coverage: affinity is ignored, manual pin takes precedence, the active | ||
| pointer advances only on true exhaustion (not on a transient attempted-this-request | ||
| skip), and the mode survives the routing-mutex select+commit path without double- | ||
| advancing the cursor. | ||
| - Config coverage for `schedulingStrategy`: default, explicit value, env override in | ||
| both directions, and invalid env/persisted values falling back safely. |
There was a problem hiding this comment.
no windows filesystem or token-safety coverage noted for sequential drain path
the test inventory is thorough for the happy-path and logic branches, but AGENTS.md explicitly flags windows filesystem safety (EBUSY/EPERM/ENOTEMPTY retries) and prohibits exposing tokens in proxy response headers/logs. the sequential cursor is mutable shared state — write failures mid-advance on windows could leave the cursor corrupt or unadvanced, and a failover that surfaces a fresh token during drain isn't ruled out by the listed test cases. worth documenting whether the routing-mutex commit path has windows-retry coverage and whether token headers are scrubbed on sequential failover, even if only as a notes bullet.
Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/releases/v2.3.0-beta.0.md
Line: 26-35
Comment:
**no windows filesystem or token-safety coverage noted for sequential drain path**
the test inventory is thorough for the happy-path and logic branches, but `AGENTS.md` explicitly flags windows filesystem safety (`EBUSY`/`EPERM`/`ENOTEMPTY` retries) and prohibits exposing tokens in proxy response headers/logs. the sequential cursor is mutable shared state — write failures mid-advance on windows could leave the cursor corrupt or unadvanced, and a failover that surfaces a fresh token during drain isn't ruled out by the listed test cases. worth documenting whether the routing-mutex commit path has windows-retry coverage and whether token headers are scrubbed on sequential failover, even if only as a notes bullet.
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
Release prep for the opt-in sequential / drain-first account scheduling mode (issue #509), already merged to main as the feature commit (#510). This PR carries the version bump to
2.3.0-beta.0plus the release notes and portal wiring. Published to npm under thebetadist-tag.What ships
schedulingStrategy=sequential(envCODEX_AUTH_SCHEDULING_STRATEGY=sequential): drains one account fully before advancing to the next, so quota windows stagger across the pool for longer uninterrupted sessions.hybridbehavior unchanged; the mode is fully opt-in.Files
package.json,package-lock.json,.codex-plugin/plugin.json: version -> 2.3.0-beta.0docs/releases/v2.3.0-beta.0.md: prerelease notes (area-first format)README.md,docs/README.md: add Current prerelease linksVerification
vitest run --maxWorkers=1)schedulingStrategy=sequential, isolated sandbox: all phases passconfig explainsurfacesschedulingStrategy = "hybrid" (default) [CODEX_AUTH_SCHEDULING_STRATEGY]Notes
v2.1.13-beta.*convention (prerelease notes live indocs/releases/).note: greptile review for oc-chatgpt-multi-auth. cite files like
lib/foo.ts:123. confirm regression tests + windows concurrency/token redaction coverage.Greptile Summary
release prep for
v2.3.0-beta.0, wiring in the sequential / drain-first scheduling mode (#510) with a version bump acrosspackage.json,package-lock.json, and.codex-plugin/plugin.json, plus prerelease notes and portal links.2.3.0-beta.0;package-lock.jsonwas silently stale by two patch versions (was2.2.0) and itsmcodexbin entry was corrected fromscripts/mcodex→scripts/mcodex.js, neither of which is noted in the release notes.docs/releases/v2.3.0-beta.0.md): covers drain-first logic, selector/proxy/config test inventory, and beta rationale; no mention of windows filesystem retry behavior or token-safety checks on the sequential failover path, both of whichAGENTS.mdflags as standing requirements.Confidence Score: 4/5
safe to merge as a release-prep PR; the actual feature logic landed in a prior commit and is not touched here.
the changes are version bumps and documentation only. the lockfile carried a two-patch-version lag and a missing
.jsextension on themcodexbin entry — both corrected here but not surfaced in the release notes, which makes the published artifact history slightly harder to audit. the release notes' test inventory is solid for logic coverage but omits explicit confirmation of windows filesystem retry behavior and token-safety checks on the sequential failover path, two areasAGENTS.mdcalls out as standing requirements for this codebase.package-lock.json— carries the silent bin-path fix and version correction worth noting in the changelog;docs/releases/v2.3.0-beta.0.md— worth adding a notes bullet on windows retry and token-header scrubbing coverage.Important Files Changed
Sequence Diagram
sequenceDiagram participant C as Client Request participant P as Runtime Proxy participant S as Scheduler (sequential) participant A1 as Account[0] participant A2 as Account[1] C->>P: request P->>S: selectAccount() S->>A1: is usable? A1-->>S: yes (not exhausted) S-->>P: Account[0] P->>A1: forward request A1-->>P: response P-->>C: response C->>P: next request P->>S: selectAccount() S->>A1: is usable? A1-->>S: no (rate-limited / cooldown) S->>A2: is usable? A2-->>S: yes S-->>P: Account[1] (cursor advances) P->>A2: forward request A2-->>P: response P-->>C: response Note over S: on next scan, if Account[0] quota window recovered → reclaims active slotPrompt To Fix All With AI
Reviews (1): Last reviewed commit: "chore: release v2.3.0-beta.0 (#509 seque..." | Re-trigger Greptile