feat(codex): add exact account routing - #671
Draft
chrisae9 wants to merge 1 commit into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #425. This is the second layer split out of #426 after the maintainer review; the namespace foundation is already on
devasc9bed7c5a.What this adds
An account-qualified native model now routes to the one stored Codex account mapped by its namespace. For example,
side/gpt-5.6-soluses thesidebinding and sendsgpt-5.6-solon the wire through the canonicalopenaiprovider.gpt-*models keep their existing Direct or Pool behavior.The binding is carried through Responses HTTP/SSE, compact, WebSocket
response.create, and the translated chat/Claude paths that use the shared Responses core. Standalone endpoints that do not receive the qualified model selector (Images, Search, and Live) retain normal provider routing.The latest
devpause controls are respected: pausing an account blocks new exact selections without invalidating an already-started request.Not in this PR
Catalog generation/model-picker rows, account lifecycle and settings UI, documentation/localization, and account-qualified fallback-chain candidates remain separate follow-up layers. Keeping those out is intentional so this review stays focused on the credential-routing boundary.
Security review
This changes credential-to-model routing and therefore needs the explicit maintainer security review required by
MAINTAINERS.md.The main invariants are covered by regressions for Direct override, exact main and added accounts, missing/paused/cooled accounts, 400/402/429 handling, HTTP/SSE, compact, WebSocket, public-only logging, quota probes, Pool state preservation, and spawned-child fallback behavior.
Validation
bun run prepushgui/Per the current integration policy, this TypeScript routing change will also need its
dev2-gocounterpart (or a recorded no-counterpart decision) after it lands ondev.