Skip to content

[openai] 🤖 feat: add project-specific Codex OAuth accounts - #4102

Open
coadler wants to merge 24 commits into
mainfrom
oauth-auth-zfnm
Open

[openai] 🤖 feat: add project-specific Codex OAuth accounts#4102
coadler wants to merge 24 commits into
mainfrom
oauth-auth-zfnm

Conversation

@coadler

@coadler coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

Support multiple Codex OAuth accounts with a global default and project-specific account selection.

Background

Projects can require different ChatGPT accounts. A single saved login forces users to reconnect when they switch projects.

Implementation

  • Add account controls under Settings → Providers → OpenAI and six command-palette actions.
  • Preserve the existing login as the default account without a credential migration.
  • Apply project selection to chat, title generation, status generation, and CLI runs.
  • Pin the selected account for each request. Report missing selections instead of substituting another account.
  • Serialize token refreshes across processes and preserve refreshed CLI credentials in the permanent provider store.
  • Return account labels, IDs, and reconnect status to the renderer without credentials.
  • Preserve credential identity across model requests, token rotation, and reconnects.
  • Keep compaction limits and model credentials on the same per-turn snapshot.

Risks

Incorrect account routing can charge the wrong account. Explicit selection and missing-account errors prevent silent account substitution.

Concurrent refreshes can invalidate credentials. Account-specific leases and conditional writes protect token rotation and account removal.

Older versions use only the legacy account. Named-only configurations require this version or newer. Existing legacy credentials remain until explicit disconnect.

We do not duplicate rotating credentials for downgrade support. Duplicate refresh tokens can invalidate named accounts across versions.

Live OpenAI authorization remains untested.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $226.69

@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1cad0e2ef6

ℹ️ 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".

Comment thread src/node/services/codexOauthService.ts
Comment thread src/browser/features/ChatInput/index.tsx Outdated
Comment thread src/node/services/codexOauthService.ts Outdated
Comment thread src/node/services/codexOauthService.ts
Comment thread src/node/utils/codexOauthAuth.ts Outdated
Comment thread src/cli/trust.ts
Comment thread src/common/utils/providers/codexOauthRouting.ts Outdated
Comment thread src/node/services/codexOauthService.ts Outdated
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 8dcc53b addresses seven findings:

  • 3942614514: Browser and backend account routing share effective project scope.
  • 3942614516: Local refreshes update pending reconnect snapshots before the reconnect commits.
  • 3942614517: Named login repairs malformed account maps.
  • 3942614519: Account readers exclude invalid stored IDs.
  • 3942614520: CLI startup verifies account selection after persistence.
  • 3942614521: Missing selections disable direct API controls and retain OAuth context limits.
  • 3942614523: First-login credentials and default selection commit together.

3942614509 is an intentional compatibility limit, explained in the thread and PR risks. Existing legacy credentials remain until explicit disconnect. Named-only configurations need this version or newer. We do not duplicate rotating credentials or silently substitute another account.

Please review the changes and this compatibility rationale.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8dcc53ba2f

ℹ️ 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".

Comment thread src/node/services/codexOauthService.ts Outdated
Comment thread src/cli/trust.ts Outdated
Comment thread src/node/services/codexOauthService.ts Outdated
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 9c6e6e2 addresses the second review:

  • 3942653428: Durable credential IDs distinguish cross-process token rotation from replacement. Refresh preserves the ID. Interactive completion replaces it.
  • 3942653433: CLI account selection uses the deepest registered project that contains the explicit directory.
  • 3942653436: Failed newer startup preserves the previous active login selection.

CI also exposed a metadata issue. The provider response now preserves an unset account selection instead of inventing an explicit default. API-key-only configurations retain direct API controls.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9c6e6e28f5

ℹ️ 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".

Comment thread src/node/services/codexOauthService.ts
Comment thread src/node/services/codexOauthService.ts Outdated
Comment thread src/node/services/codexOauthService.ts
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 6d23a15 addresses the remaining findings:

  • 3942681803 and duplicate 3942681805: Invalid-grant CAS marks the credential without removing its identity. Pending reconnect can replace it. Marked tokens cannot serve requests or refresh again. Explicit disconnect still removes them.
  • 3942681804: Every request read checks the pinned credential ID. Waiting requests adopt only same-ID rotations and reject replacements.

The tests cover both reconnect/invalidation orders and local-mutex and cross-process lease waiters.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6d23a15fb2

ℹ️ 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".

Comment thread src/node/services/providerModelFactory.ts Outdated
Comment thread src/browser/features/Settings/Sections/CodexAccounts.tsx
Comment thread src/node/services/providerService.ts
Comment thread src/node/services/codexOauthService.ts Outdated
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 94c7612 addresses the fourth review:

  • 3942711077: Each model fetch requires the construction-time credential ID, including retries and legacy IDs.
  • 3942711078: Six command-palette actions reuse account settings handlers and controls. Tests cover repeated commands, busy states, stale IDs, policy changes, and StrictMode.
  • 3942711080: Invalid accounts retain their labels and expose reconnectRequired. They no longer count as usable OAuth credentials.
  • 3942711081: Desktop and device terminal cleanup remove only their matching login selection.

All reported threads are resolved. Local static checks and 1,436 regression tests pass. The 13 account stories pass at desktop and phone widths.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 94c76122c8

ℹ️ 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".

Comment thread src/node/services/codexOauthService.ts Outdated
Comment thread src/browser/features/Settings/Sections/CodexAccounts.tsx Outdated
Comment thread src/common/utils/compaction/contextLimit.ts
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit f9b8442 addresses the latest findings:

  • 3942778346: Disconnect deletion and revision advancement share the account mutation lock. Failed deletion preserves requests and reconnects.
  • 3942778347: OAuth precedence requires usable credentials. The recovery story verifies the selector stays disabled until reconnect succeeds.
  • 3942778349: Backend pre-send, streaming, continuous, and headless compaction limits use workspace account scope. Explicit API-key preference remains unchanged.

Local static checks, 1,520 regression tests, and all 13 account stories at desktop and phone widths pass.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f9b8442090

ℹ️ 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".

Comment thread src/browser/features/Settings/Sections/CodexAccounts.tsx Outdated
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit d7a3f37 addresses 3942811576. All new useCallback wrappers are removed. The component now uses ordinary functions and React Compiler memoization.

The installed hooks linter predates React Compiler. A scoped declaration-only suppression handles its callback-stability warnings. The effect retains its complete dependency list, and dependency checking resumes before the effect.

Static checks, focused keyboard/provider tests, and all 13 account stories at desktop and phone widths pass.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d7a3f37930

ℹ️ 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".

Comment thread src/node/services/providerModelFactory.ts Outdated
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit b7d0905 addresses finding 3942839838. Route availability now requires usable OAuth credentials. Revoked-only configurations permit configured gateway routes. CLI provider detection uses the same rule.

Local static checks and 182 focused tests pass. Tests cover legacy slots, named slots, direct priority, and direct overrides.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b7d09057eb

ℹ️ 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".

Comment thread src/node/utils/providerRequirements.ts
Comment thread src/node/services/providerModelFactory.ts
Comment thread src/node/services/agentSession.ts Outdated
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 2052332 addresses all three findings:

  • 3942863192: CLI provider detection excludes disabled OAuth providers.
  • 3942863194: Direct OAuth route availability uses canonical model support, including custom model mappings.
  • 3942863195: Pre-send, streaming, retry, and headless compaction use one provider and account snapshot.

Snapshot capture uses the injected permanent provider store for CLI runs. Public metadata and model credentials derive from the same read. Tests cover account inheritance changes, provider preference changes, wire format, and concurrent provider-file changes.

All 732 focused tests and local static checks pass.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2052332c32

ℹ️ 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".

Comment thread src/node/services/projectService.ts Outdated
Comment thread src/node/utils/codexOauthAuth.ts
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 5cdb0d8 addresses both findings:

  • 3942922284: Project account updates verify persisted state before reporting success, including clearing an override.
  • 3942922286: Malformed optional credential IDs retain valid tokens and account visibility. Reconnect assigns a valid durable ID.

All 528 focused tests and local static checks pass. Regressions cover failed writes and reconnects for legacy and named accounts.

@chatgpt-codex-connector

This comment has been minimized.

@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit e5b47cd fixes PRRT_kwDOPxxmWM6fuvFz.
Advisor and intuition now reuse the accepted account snapshot and retain their separate provider options.
Six regressions verify request endpoints and authentication after account or preference changes.

Local static checks and 1,418 regression tests pass.
The prior Storybook failure does not reproduce locally; all seven remote-connection stories pass.
The prior unit job reports a Bun segmentation fault. Its focused kernel tests pass locally with coverage.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $379.64

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e5b47cd11f

ℹ️ 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".

Comment thread src/node/services/modelRoutingSnapshot.ts
Comment thread src/browser/features/ChatInput/index.tsx
Capture route preferences with account snapshots for delayed model creation.
Send only the effective numeric context limit to live usage meters.
Use current settings after the active stream ends.

Co-authored-by: Mux <noreply@coder.com>

---

_Generated with `xum` • Model: `openai:gpt-6-astra` • Thinking: `high` • Cost: `$397.18`_

<!-- mux-attribution: model=openai:gpt-6-astra thinking=high costs=397.18 -->
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 5076fc7 addresses both findings:

  • PRRT_kwDOPxxmWM6fu2x_: Captured route priorities and overrides now reach main, nested, fallback, and compaction model creation.
  • PRRT_kwDOPxxmWM6fu2yB: Both live context meters use the accepted numeric limit. Idle meters use current settings.

The browser receives no routing snapshot or credentials.
Static checks and 1,733 regression tests pass.
All 21 account stories pass at desktop and phone widths.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $397.18

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5076fc75e7

ℹ️ 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".

Comment thread src/node/services/turnRequestBuilder.ts Outdated
Comment thread src/node/services/turnRequestBuilder.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Security Review

Here are some automated security review suggestions for this pull request.

Reviewed commit: 5076fc75e7

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

Comment thread src/node/services/codexOauthService.ts Outdated
…ounts

Derive live context limits from the resolved route and emitted headers.
Retain the initiating snapshot for same-session workflow fallback continuations.
Keep durable grouped attention on current routing as a new turn.

Co-authored-by: Mux <noreply@coder.com>

---

_Generated with `xum` • Model: `openai:gpt-6-astra` • Thinking: `high` • Cost: `$409.22`_

<!-- mux-attribution: model=openai:gpt-6-astra thinking=high costs=409.22 -->
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 008d2d8 addresses both findings.

PRRT_kwDOPxxmWM6fvCMb: Live limits now use the resolved route and emitted Anthropic beta header.
Tests cover automatic gateways, direct routes, header passthrough, and fallback.

PRRT_kwDOPxxmWM6fvCMd: The direct fallback continues one initiating turn in memory.
It now retains that turn's routing snapshot through internal WorkspaceService options.
The normal TaskService attention path intentionally starts a new turn and can combine multiple workflow results.
It can also recover after restart.
That path has no single initiating credential snapshot, so it keeps current-routing behavior.
Comments and tests define this boundary. No RPC input or durable record contains the snapshot.

Static checks and 1,743 regression tests pass.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $409.22

@chatgpt-codex-connector

This comment has been minimized.

Store named account secrets under the legacy-redactable credentials field.
Preserve account recovery and remove unsafe fields during account writes.

---

_Generated with `xum` • Model: `openai:gpt-6-astra` • Thinking: `high` • Cost: `$437.95`_

<!-- mux-attribution: model=openai:gpt-6-astra thinking=high costs=437.95 -->
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit dbf0bad addresses finding 3945271442 (thread PRRT_kwDOPxxmWM6fvC5D).

Named accounts now store tokens and account identities under credentials. The pre-PR recursive redactor protects this field.
Account writes remove unsafe extra fields and repair damaged labels. No auth-only migration or credential duplication exists.

All 673 targeted tests and make static-check pass.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $437.95

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dbf0badf56

ℹ️ 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".

Comment thread src/node/services/providerModelFactory.ts
Comment thread src/common/orpc/schemas/stream.ts
Keep one routing snapshot across branch-summary candidates and metadata resolution.
Publish the accepted context limit before the first usage event.

---

_Generated with `xum` • Model: `openai:gpt-6-astra` • Thinking: `high` • Cost: `$437.95`_

<!-- mux-attribution: model=openai:gpt-6-astra thinking=high costs=437.95 -->
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 02b47f8 addresses both findings:

  • PRRT_kwDOPxxmWM6fvO2e: Branch summaries capture one snapshot before candidate retries.
  • PRRT_kwDOPxxmWM6fvO2g: Stream-start publishes the accepted limit before any usage event.

Model construction also captures a default snapshot for matching metadata. Separate operations still use current settings.
Both context meters preserve the limit through account changes and reconnects.

All 1,733 targeted tests and static checks pass. All 21 account stories pass at desktop and phone widths.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $437.95

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 02b47f88b3

ℹ️ 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".

Comment thread src/node/services/codexOauthService.ts
Comment thread src/browser/utils/commands/sources.ts Outdated
Keep legacy request identity valid until successful authorization replaces it.
Hide account commands when provider policy omits OpenAI.
Complete snapshot methods in the disposal-test fixtures.

---

_Generated with `xum` • Model: `openai:gpt-6-astra` • Thinking: `high` • Cost: `$437.95`_

<!-- mux-attribution: model=openai:gpt-6-astra thinking=high costs=437.95 -->
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Commit 35b6e37 addresses both findings:

  • PRRT_kwDOPxxmWM6fvXkp: A UUID-bound legacy alias preserves pinned requests through canceled or expired reconnects.
  • PRRT_kwDOPxxmWM6fvXku: Account commands require visible built-in OpenAI metadata.

Successful authorization replaces the credential identity and clears the alias. Refresh preserves the alias and cross-process identity checks.

The missing disposal-test snapshot fixture now matches the required service methods.
The CI failure reproduces locally before this correction. All 2,105 regression tests and static checks now pass.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $437.95

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 35b6e3724e

ℹ️ 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".

Comment thread src/node/services/streamManager.ts Outdated
Comment thread src/cli/trust.ts Outdated
Resolve CLI project account selection through physical paths.
Publish fallback model metadata before its first usage event.

---

_Generated with `xum` • Model: `openai:gpt-6-astra` • Thinking: `high` • Cost: `$437.95`_

<!-- mux-attribution: model=openai:gpt-6-astra thinking=high costs=437.95 -->
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

This update addresses both findings:

  • PRRT_kwDOPxxmWM6fveR5: CLI account selection matches canonical project and workspace paths, including non-git symlink aliases.
  • PRRT_kwDOPxxmWM6fveR1: A model-update event publishes fallback metadata before its first usage event.

Fallback updates preserve stream parts, tool timing, and replay state. Reconnect also restores the active fallback metadata.

All 2,139 targeted tests and static checks pass. All 23 account stories pass at desktop and phone widths.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $437.95

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: 7ba64e49d5

ℹ️ 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".

@chatgpt-codex-connector

This comment has been minimized.

Include the accepted-model update in compaction fallback event expectations.
Keep the existing reset-order and prefix-invalidation assertions.

---

_Generated with `xum` • Model: `openai:gpt-6-astra` • Thinking: `high` • Cost: `$437.95`_

<!-- mux-attribution: model=openai:gpt-6-astra thinking=high costs=437.95 -->
@coadler

coadler commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

This update changes two test expectation lines only. Production code remains identical to approved commit 7ba64e49d.

Compaction fallback tests now expect stream-model-update before any prefix invalidation event.
The existing reset-order and prefix-preservation assertions remain intact.

The CI failures reproduce locally before this correction. All 832 stream and session regressions now pass.
Static checks also pass.


Generated with xum • Model: openai:gpt-6-astra • Thinking: high • Cost: $437.95

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: 55f5a28c11

ℹ️ 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".

@chatgpt-codex-connector

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant