Skip to content

Latest commit

 

History

History
60 lines (36 loc) · 6.36 KB

File metadata and controls

60 lines (36 loc) · 6.36 KB

v2.6.0

Follows up the GPT-5.6 launch in 2.5.0: the diagnostic live/quota probe now leads with GPT-5.6, the Codex CLI and VS Code model pickers can surface the GPT-5.6 tiers, and parallel-agent fan-out spreads across accounts by default. Closes #626, #627, and #628.

Routing, rotation, storage, and the auth flow are unchanged. DEFAULT_MODEL (the general routing default and the gpt-5 alias target) stays on gpt-5.5, so this is not a breaking change; the one behavior change to note is that pidOffsetEnabled now defaults on (see Rotation below).

Diagnostics

Features

  • The live/quota probe used by check, report, forecast, best, and fix now leads with GPT-5.6. A dedicated DEFAULT_PROBE_MODEL (gpt-5.6-sol) drives the probe and the QUOTA_PROBE_MODEL_CHAIN (gpt-5.6-solgpt-5.5gpt-5.4 → codex), so check reports Model probe: gpt-5.6-sol and report --json reports model: gpt-5.6-sol instead of gpt-5.5 (#627). Accounts without GPT-5.6 entitlement fall through the chain to a model they can use.
  • DEFAULT_PROBE_MODEL is intentionally separate from DEFAULT_MODEL: only the diagnostic probe moved to GPT-5.6, while the general routing default and the gpt-5 alias remain on gpt-5.5.

Fixes

  • The probe body no longer hardcodes reasoning.effort: "none". It now resolves the cheapest effort each probe model actually declares (low for the GPT-5.6 tiers and the codex models, none for the pre-5.6 general models), keeping the probe consistent with how a real request is routed through getReasoningConfig.

Model Pickers

Fixes

  • GPT-5.6 now appears in the legacy config template. config/codex-legacy.json gained the GPT-5.6 tiers in the flattened per-effort format used by older Codex builds — Sol and Terra at lowultra, Luna at lowmax — matching the collapsed variants in config/codex-modern.json (#626).
  • Upgrades no longer miss newly shipped models. The config installer merged provider.openai shallowly, so an existing config's models map shadowed the template wholesale and an upgraded config never gained models added after it was first written. The installer now merges the models map at the model-id level: new template models (such as the GPT-5.6 tiers) appear on upgrade while the user's per-id customizations and top-level provider options are preserved.

Wrapper

Fixes

  • The codex-multi-auth-codex wrapper understands GPT-5.6. The wrapper re-implements the model map because it runs before the TypeScript build, and it never gained the 2.5.0 GPT-5.6 work — so a gpt-5.6-* request through the wrapper mis-bucketed its family, mis-coerced reasoning effort, and canonicalized to gpt-5.5. It now mirrors lib/request/helpers/model-map.ts: the max/ultra effort fallbacks, the Sol/Terra/Luna tiers and their supported-effort sets, effort aliases (none/minimal excluded; ultra on Sol/Terra only), the ultramax wire rewrite, the gpt-5.2 prompt family, and a dedicated resolver so unrecognised gpt-5.6-* ids resolve to a 5.6 tier instead of silently to gpt-5.5.

Rotation

Changes

  • pidOffsetEnabled now defaults on. It gives each codex-multi-auth-codex process a small deterministic account-selection bias so parallel agents spread across accounts instead of all selecting the same one and cascading into 429s (#628). It is a no-op for single-account pools, and a manual pin plus health/quota scoring still take precedence over the small offset. Set pidOffsetEnabled: false or CODEX_AUTH_PID_OFFSET_ENABLED=0 to force every process to score accounts identically.

Docs

Fixes

  • Corrected two documented defaults that did not match the code: retryAllAccountsRateLimited (false, not true) and retryAllAccountsMaxRetries (0, not Infinity).
  • Added a "High parallelism / swarms of agents" playbook to the troubleshooting and configuration references — pidOffsetEnabled, the retryAllAccounts* trio, routingMutex (with its in-process-only caveat), and the "more accounts ⇒ less contention" structural note.
  • Clarified that a Provider response headers timed out after 10000ms error is emitted by the host client's own provider header timeout (~10s), not by this plugin, whose request timeout (fetchTimeoutMs) defaults to 60000 and is a separate mechanism.
  • Added an upgrade-path troubleshooting entry for newest models missing from a model picker after an upgrade.

Testing

Improvements

  • Added test/codex-model-resolution.test.ts, which pins the wrapper's GPT-5.6 behavior and asserts wrapper ↔ lib/request/helpers/model-map.ts parity across a model × effort matrix, so the wrapper's duplicated model map cannot silently drift from the library again.
  • Added a regression test that the config installer adds newly shipped template models on upgrade while preserving user customizations.
  • Updated the probe/default-model and pidOffsetEnabled-default assertions across the manager, config, and rotation suites; the per-process offset is pinned off in the global test sandbox for deterministic account-selection assertions, with its own behavior covered directly in rotation.test.ts.
  • Hardened two tests that only failed on Windows checkouts (a CRLF over-capture in the workflow-parity test, and a too-tight timeout on the 513-request thread-goal eviction test). Neither was a product defect.

Notes

  • Minor release published under the latest dist-tag (npm i -g codex-multi-auth).
  • Verified end-to-end against a live ChatGPT (Pro) account: check --live reports Model probe: gpt-5.6-sol and returns live quota headers; the real config installer adds the GPT-5.6 tiers to a pre-5.6 config while preserving user models.
  • The VS Code extension and Codex CLI build their model pickers from the installed Codex config's model list, so an existing install must re-run its config install (and restart the app/extension) to surface the GPT-5.6 tiers; code-level model resolution already handled gpt-5.6-* requests before this release.
  • .codex-plugin/plugin.json is aligned to the package version (2.6.0).