Skip to content

Treat explicit provider model catalogs as authoritative - #49135

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/ac323a94178e3c48df8d4a159a86fdbac20b03a2
Sep 29, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/ac323a94178e3c48df8d4a159a86fdbac20b03a2

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Treat explicit provider model catalogs as authoritative

Why

Providers with model_catalog_url could advertise bundled models absent from their catalog or reuse stale models after a failed refresh. Model metadata could also match by prefix or namespaced suffix instead of the provider's exact model ID.

What changed

  • Suppress bundled model fallback and merging for explicit provider catalogs, including when discovery is disabled.
  • Require unique, non-empty catalog slugs and match metadata by exact model ID.
  • Serialize explicit catalog refreshes and invalidate in-memory and persisted catalog entries after fetch failures, preventing stale cache reuse.
  • Report a clear configuration error when startup has no available model, while allowing an explicitly configured model.

Testing

Add regression coverage for exact model matching, hidden catalog entries, cache invalidation across restart and recovery, invalid slugs, and empty-catalog startup with and without an explicit model. Update app-server model-list expectations and verify the TUI configuration error.

## Why

Providers with `model_catalog_url` could advertise bundled models absent from their catalog or reuse stale models after a failed refresh. Model metadata could also match by prefix or namespaced suffix instead of the provider's exact model ID.

## What changed

- Suppress bundled model fallback and merging for explicit provider catalogs, including when discovery is disabled.
- Require unique, non-empty catalog slugs and match metadata by exact model ID.
- Serialize explicit catalog refreshes and invalidate in-memory and persisted catalog entries after fetch failures, preventing stale cache reuse.
- Report a clear configuration error when startup has no available model, while allowing an explicitly configured `model`.

## Testing

Add regression coverage for exact model matching, hidden catalog entries, cache invalidation across restart and recovery, invalid slugs, and empty-catalog startup with and without an explicit model. Update app-server model-list expectations and verify the TUI configuration error.

GitOrigin-RevId: ac323a94178e3c48df8d4a159a86fdbac20b03a2
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/ac323a94178e3c48df8d4a159a86fdbac20b03a2 branch from eb68087 to 458f704 Compare September 29, 2026 02:34
@github-actions

Copy link
Copy Markdown
Contributor


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@copyberry
copyberry Bot merged commit 458f704 into main Sep 29, 2026
1 check failed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/ac323a94178e3c48df8d4a159a86fdbac20b03a2 branch September 29, 2026 02:34
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 29, 2026
@JayceLau
JayceLau deployed to issue-triage September 29, 2026 02:37 — with GitHub Actions Active
@JayceLau
JayceLau deployed to issue-triage September 29, 2026 02:37 — with GitHub Actions Active
@JayceLau
JayceLau deployed to issue-triage September 29, 2026 02:37 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
issue-triage — 458f7046 Deployed Sep 29, 2026 by JayceLau via Identify potential duplicates (all issues) #49606
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants