Skip to content

Retry transient Codex Apps connector omissions#31443

Open
malsamiri-oai wants to merge 3 commits into
mainfrom
codex/se-7829-protect-codex-apps-cache
Open

Retry transient Codex Apps connector omissions#31443
malsamiri-oai wants to merge 3 commits into
mainfrom
codex/se-7829-protect-codex-apps-cache

Conversation

@malsamiri-oai

@malsamiri-oai malsamiri-oai commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

Why

The shared Codex Apps tools cache treats a successful tools/list response as authoritative in memory and on disk. A transient response can omit a connector group declared by an active plugin and make that app disappear from later discovery.

This is a bounded client-side mitigation for that cache-poisoning path. It does not fix the upstream reason a successful response can omit a connector.

What changed

  • Carry active plugin connector IDs into the Codex Apps cache context and scope raw tools-cache entries by the canonical expected connector set. Server-info caching remains auth-scoped.
  • Validate non-synthetic connector groups before publishing startup and hard-refresh responses. The first omission retries once within the existing timeout; a recovered retry publishes normally, a repeated omission is accepted as removal, and a retry with a new omission fails without updating the cache.
  • Bump the tools disk-cache schema so pre-fix snapshots are ignored.
  • Pass plugin provenance through threadless app-list discovery and skip accessible-connectors cache writes after failed or not-ready refreshes.
  • Add focused retry classifier coverage and an end-to-end app-list omission/recovery regression.

Verification

  • just test -p codex-mcp
  • just test -p codex-app-server list_apps_force_refetch_retries_plugin_omission
  • just test -p codex-core connectors
  • just fix -p codex-mcp -p codex-core -p codex-app-server

@malsamiri-oai malsamiri-oai requested a review from a team as a code owner July 7, 2026 17:40
@malsamiri-oai

Copy link
Copy Markdown
Collaborator Author

@codex review

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

Copy link
Copy Markdown
Contributor

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: 24b80b14f3

ℹ️ 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 codex-rs/codex-mcp/src/codex_apps_cache.rs Outdated
Comment thread codex-rs/codex-mcp/src/codex_apps_cache.rs Outdated
Comment thread codex-rs/codex-mcp/src/codex_apps_cache.rs Outdated
Comment thread codex-rs/codex-mcp/src/codex_apps_cache.rs Outdated
@malsamiri-oai malsamiri-oai force-pushed the codex/se-7829-protect-codex-apps-cache branch 3 times, most recently from 60bbc51 to 1a59c3d Compare July 7, 2026 20:45
@malsamiri-oai malsamiri-oai force-pushed the codex/se-7829-protect-codex-apps-cache branch from 1a59c3d to c11996e Compare July 7, 2026 22:42
@malsamiri-oai malsamiri-oai changed the title Protect Codex Apps cache from connector omissions Retry transient Codex Apps connector omissions Jul 7, 2026
@malsamiri-oai

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown
Contributor

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

Reviewed commit: ac63dba574

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

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