Repository navigation
feat(providers): add GPT-6 Sol and Luna budgets to OpenAI and Azure registries - #650
Merged
Merged
Conversation
…egistries - Add gpt-6-sol and gpt-6-luna at 1,050,000/128,000 in both provider registries; numbers verified 2026-09-28 against official OpenAI model pages, sources cited inline - Azure mirrors stock IDs since deployments resolve by model name - Cover both IDs in test_metadata_flagship_generation in both provider suites, so no entry can regress while CI stays green - Add test_each_model_is_mapped_once (yaml.compose across root + all bundled registries) to catch duplicate-key mappings that safe_load collapses and lookup loops cannot see - No code or default-model changes - Verified: 156 passed / 9 skipped (pre-existing); ruff + format + diff-check clean Signed-off-by: Yoseph Zuskin <[email protected]> Co-Authored-By: OpenCode Muse Spark 1.3 Free (1M context) <[email protected]>
This was referenced Sep 28, 2026
rng1995
approved these changes
Sep 28, 2026
rng1995
left a comment
Collaborator
There was a problem hiding this comment.
[SkillSpector Review]
Hi @Yoseph-Zuskin, thank you for your contribution to SkillSpector — we really appreciate it!
This PR adds gpt-6-sol and gpt-6-luna (1,050,000 context, 128,000 max output) to the bundled openai and azure_openai registries. It extends both test_metadata_flagship_generation loops and adds a yaml.compose duplicate-key test.
What I checked:
- Values: match the official OpenAI model pages. Both models have 1,050,000 context, 922,000 max input and 128,000 max output, with a single snapshot ID and no alias.
- Budgets: the 75% input budget (787,500) stays under the 922,000 input cap. Output resolves to min(262,500, 128,000) = 128,000.
- Azure: Microsoft's 2026-09-22 Foundry announcement confirms GA for GPT-6 Sol and Luna but publishes no token limits. Mirroring the OpenAI budgets follows the existing Azure convention from #539: lookups are keyed by the
SKILLSPECTOR_MODELlabel, and the deployment name defaults to that label. - Schema: the new entries use the same fields as their neighbours.
- Merges: the head merges cleanly with current
mainand with #598. Myyaml.composekey scan of both merge results finds no duplicate keys. - Scope: the root sample and default models are untouched, which matches #539.
Findings
- [Non-blocking]
tests/unit/test_providers.py:361duplicates a check that #598 already adds. #598 has been open since 09-21, fixed its duplicate keys on 09-23 inc885fed, and addsTestModelRegistryFiles.test_each_model_is_mapped_oncewith the sameyaml.composeapproach. The description's statement that #598 "currently carries duplicate provider keys and a redundant lookup loop" is therefore out of date. The two PRs merge cleanly with each other, which would leave two copies of the same check. Whichever lands second should drop its copy. - [Non-blocking] If this copy is kept, it needs a few fixes:
assert registries(line 374) can never fail, because the root path is always in the list. Assert that the glob found provider registries instead.- The failure message uses
registry_path.name(line 380), which is alwaysmodel_registry.yaml. Use the repo-relative path so the failing provider is identifiable. - The test covers every registry, so it belongs in a module-level class rather than
TestOpenAIProvider.
Tests/CI: All six checks pass. This was a static review; contributor code and tests were not run locally.
Decision: Approved (reviewed head 4d0bd05de8e91755f24633fa607868f0b035088c)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add GPT-6 Sol and Luna budgets to the OpenAI and Azure registries
Problem
The bundled
openaiandazure_openairegistries stop atgpt-6-astra.OpenAI released GPT-6 Sol and GPT-6 Luna on 2026-09-22 (
gpt-6-sol,gpt-6-luna; both live on Azure), so scans on either model fall back tothe 128K default budget and risk truncated or over-allocated token windows.
Fixes: #649
Approach
provider (
openai+azure_openai), both at 1.05M/128K, numbersverified 2026-09-28 against the official OpenAI model pages (cited
inline per file).
budgets apply. Omitted deliberately: default-model bumps (behavior
change, separate proposal).
test_metadata_flagship_generationin both provider suites — no entrylands without loop coverage (addresses the blocking review on feat(providers): add current GPT budgets to OpenAI and Azure registries #539).
test_each_model_is_mapped_once: reads keys viayaml.composeacross the root + all bundled registries, catching the duplicate-key
mappings that
safe_load-based lookup tests cannot see (the post-feat(providers): add current GPT budgets to OpenAI and Azure registries #539gpt-5.6-*duplication). RED-witnessed against an injected duplicate.Verification
tests/unit/test_providers.py+tests/unit/test_new_providers.py:156 passed, 9 skipped (pre-existing skips).
ruff check+ruff format --check: clean on both touched.pyfiles(
ruff checkon.yamlfiles reportsinvalid-syntax— ruff parsesYAML as Python; pre-existing at HEAD, not a meaningful gate).
git diff --check: clean.Risks
revises a window, the entry needs a matching update (each block cites
its source and verification date).
duplicate provider keys and a redundant lookup loop per maintainer
review; rebase after it lands. The
test_each_model_is_mapped_onceadded here is the unique-key coverage that review calls for, so any
duplicate-key regression from that merge will fail loudly here.
Root-registry entries for
gpt-6-*deliberately omitted (matches feat(providers): add current GPT budgets to OpenAI and Azure registries #539scope); happy to add on request.
Signed-off-by(maintainer: verify on push).