fix(llm): namespace github-models model ids for the GA endpoint (bare id → 404) - #2825
Conversation
The GitHub Models GA endpoint (models.github.ai/inference) requires publisher-namespaced ids (e.g. openai/gpt-5). A bare id returns "404 page not found" — which is why github-models/codex-mini-latest failed the maint-78 pilot (run 30112277194). Add _github_model_id(): default a bare id to the openai/ publisher; already-namespaced ids pass through unchanged. Scope/honesty: this fixes the bare-id-on-GA-endpoint 404 CLASS. If a specific id (e.g. codex-mini-latest) is not in the GitHub Models catalog at all, namespacing won't help and the durable fix is an owner-reviewed change of the github-models selection to a catalogued id (openai/gpt-5 is already catalogued). Per-candidate preflight tolerance (#2824) already prevents this from aborting a whole pilot. Updated two tests that asserted verbatim pass-through (a pre-GA assumption) to the namespaced expectation. ruff/black/mypy (CI-pinned) clean; 63 tests pass incl. 4 new. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 36 minutes Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a487c8d222
ℹ️ 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".
| ) -> object: | ||
| kwargs: dict = { | ||
| "model": model, | ||
| "model": _github_model_id(model), |
There was a problem hiding this comment.
Update the task decomposer's model assertion
When the broader test suite exercises the GitHub Models path, this normalization makes tests/scripts/test_task_decomposer.py::test_get_llm_client_github_token_defaults fail because line 514 still expects the registry's bare codex-mini-latest, while the constructed client now contains openai/codex-mini-latest. Running pytest -q tests/scripts/test_task_decomposer.py tests/tools/test_llm_provider.py tests/test_github_models_provider.py reproduces the failure (1 failed, 161 passed), so the change cannot pass Gate until that downstream contract is updated.
Useful? React with 👍 / 👎.
…guard) # Conflicts: # tests/tools/test_langchain_client.py
Workflow source neededPR #2825 needs either a linked GitHub issue or one valid non-issue Workflow Source before PR metadata automation can manage it safely. Please do one of:
Once a valid source is present, this warning will not be reposted. |
Automated Status SummaryHead SHA: d972dff
Coverage Overview
Coverage Trend
Top Coverage Hotspots (lowest coverage)
Low Coverage Files (<50.0%)
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeNo scope information available Tasks
Acceptance criteria
|
|
Runner dispatch state for autofix on PR #2825. Do not edit. |
… for GA namespacing Two follow-ups to the #2825 merge: - tests/tools/test_langchain_client.py: commit the black-formatted version (the post-merge black ran in the worktree but the staged pre-format version was committed, so CI black flagged 'would reformat'). - tests/scripts/test_task_decomposer.py: the github client model kwarg is now publisher-namespaced (openai/...), so assert against _github_model_id(...) of the configured model rather than the bare id. ruff/black (CI-pinned) clean on the whole tree; affected test files pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
What
github-models/codex-mini-latestreturned404 page not foundin the maint-78 pilot (run 30112277194). The GitHub Models GA endpoint (models.github.ai/inference, already the value in code) requires publisher-namespaced ids likeopenai/gpt-5(which is in the catalog and works); a bare id likecodex-mini-latest404s.Fix
_github_model_id()defaults a bare id to theopenai/publisher; already-namespaced ids (openai/gpt-5,mistral-ai/…) pass through unchanged._build_github_clientuses it.Honest scope
codex-mini-latestworks: if that id isn't in the GitHub Models catalog at all, namespacing won't help, and the durable fix is an owner-reviewed change of the github-models selection to a catalogued id (openai/gpt-5already exists in the registry). Flagging, not changing, the production selection.Verification
ruff==0.15.20/black==26.5.1 -l100/mypy==2.1.0(CI-pinned) clean;pytest tests/tools/test_langchain_client.py→ 63 passed, incl. 4 new (_github_model_idnamespaces bare / preserves namespaced;_build_github_clientsends namespaced). Updated 2 tests that asserted verbatim pass-through (a pre-GA assumption).🤖 Generated with Claude Code