feat(codex): add account-qualified catalog entries - #949
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThe change adds account-qualified native Codex models. It filters selectors, generates and reconciles account-bound catalog rows, updates discovery and parsing, applies provider-aware visibility, and scopes multi-agent guidance by account namespace. ChangesAccount-bound native catalog
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Client
participant ModelDiscovery
participant CatalogSync
participant CatalogStore
participant MultiAgentGuidance
Client->>ModelDiscovery: Request model listings
ModelDiscovery->>CatalogSync: Provide provider state and account selectors
CatalogSync->>CatalogStore: Generate and reconcile account-bound rows
CatalogStore-->>ModelDiscovery: Return visible catalog entries
ModelDiscovery-->>Client: Return Codex and OpenAI model listings
Client->>MultiAgentGuidance: Request guidance with account namespace
MultiAgentGuidance-->>Client: Return namespace-filtered model guidance
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
2bf0a71 to
f9bbc72
Compare
f9bbc72 to
2b84389
Compare
2b84389 to
0f24517
Compare
2308180 to
18aedec
Compare
18aedec to
1d737c2
Compare
1d737c2 to
c6c9e7e
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
c6c9e7e to
c2132f0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7f82a4ded4
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
[GD] Verdict: approve-commentTLDR
Full re-reviewConcerns vs new commits
Residual
Security (light re-check)
Bottom lineShip-worthy on product correctness relative to the earlier requested changes. Clear the unrelated CI flake and optionally close stale bot threads; no further account-catalog code change is required for the previous blockers. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3704869c1b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
e315902 to
0a6f93c
Compare
[GD] Verdict: gatedTLDR
Full re-reviewDelta since previous re-review (
|
| Concern | Status on 0a6f93c5 |
|---|---|
Plain /v1/models bare + selector availability |
fixed (NATIVE_OPENAI_MODELS + disabled filters) |
Exact disabledModels for selector rows |
fixed |
| Cooled exact-account fallbacks | fixed |
| Account selectors in fallback routability | fixed |
| Restore unhides bare natives | fixed |
| Docs/dashboard boundary claims | fixed |
Ambiguous bare {{model}} |
fixed |
| Case-distinct global fallbacks | fixed |
| Exact-account primaries skip fallback | accepted design (fail-closed; not a silent rewrite to another account) |
| Role-TOML case-distinct de-dup | residual non-blocking |
Gate
- Draft / WIP: yes (PR is draft again)
- Base drift: head diverged from current
dev(owner update required; foreign PR — no push from this review) - Required CI: incomplete on this head (no full suite result yet)
Bottom line
No new account-catalog correctness regression. Mark ready, refresh from dev, and land green CI; then this is ready for a merge-ready pass.
0a6f93c to
acb5ad8
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0a6f93c5de
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Role-TOML model_fallback lists now reuse the selector-aware de-dupe key so work/gpt-5.5 and Work/gpt-5.5 stay independent when both selectors are configured.
|
[GD] Thanks @chrisae9 — merging this. Why it helps: this completes the account-catalog layer of the #426 split — account-qualified rows are generated per eligible public account selector, surfaced in Codex and OpenAI discovery without leaking stored ids/aliases/emails, and honored end-to-end by routing, Ship it. |
Summary
dev; this layer adds the catalog, discovery, and subagent projection that make those selectors usable from model pickers./v1/modelsavailability. Missing stored-account targets are not advertised, and stored ids, aliases, and email addresses never enter public model metadata.disabledModelsconsistent: a bare native id hides that model for every selector, while an account-qualified id hides only the matching selector row.{{model}}is blank unless the request resolves a unique/current-route candidate, while explicit routed or account-qualified ids retain their existing raw fallback.Verification
e8df9782: Cross-platform CI and itsciaggregate passed on Ubuntu, macOS, and Windows; React Doctor also passed.e8df9782: 108 focused catalog/subagent tests passed with 2 platform-specific skips and 0 failures across 3 files; TypeScript typecheck andgit diff --checkpassed.devatde7f5c81; the original 12-patch stack remained unchanged bygit range-diffand retained valid GPG signatures. The maintainer-authored follow-upe8df9782reuses the selector-aware de-duplication key for role-TOML fallbacks.Checklist
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
All CI tests are green on my local testing.
I pushed my PR to the latest dev commit.
I fixed all correct Codex and CodeRabbit findings.
My PR is ready for review.