Skip to content

feat(providers): add GPT-6 Sol and Luna budgets to OpenAI and Azure registries - #650

Merged
rng1995 merged 1 commit into
NVIDIA:mainfrom
Yoseph-Zuskin:feat/gpt-6-sol-luna-budgets
Sep 28, 2026
Merged

rng1995 merged 1 commit into
NVIDIA:mainfrom
Yoseph-Zuskin:feat/gpt-6-sol-luna-budgets

Conversation

@Yoseph-Zuskin

Copy link
Copy Markdown
Contributor

Add GPT-6 Sol and Luna budgets to the OpenAI and Azure registries

Problem

The bundled openai and azure_openai registries stop at gpt-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 to
the 128K default budget and risk truncated or over-allocated token windows.

Fixes: #649

Approach

  • Registry data only, no code or default-model changes: 2 entries per
    provider (openai + azure_openai), both at 1.05M/128K, numbers
    verified 2026-09-28 against the official OpenAI model pages (cited
    inline per file).
  • Azure mirrors stock IDs: deployments resolve by model name, so the same
    budgets apply. Omitted deliberately: default-model bumps (behavior
    change, separate proposal).
  • Tests extend the existing lookup-assertion pattern: both new IDs join
    test_metadata_flagship_generation in both provider suites — no entry
    lands without loop coverage (addresses the blocking review on feat(providers): add current GPT budgets to OpenAI and Azure registries #539).
  • Adds test_each_model_is_mapped_once: reads keys via yaml.compose
    across 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 #539
    gpt-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 .py files
    (ruff check on .yaml files reports invalid-syntax — ruff parses
    YAML as Python; pre-existing at HEAD, not a meaningful gate).
  • git diff --check: clean.

Risks

  • Registry numbers pin vendor documentation at a point in time; if OpenAI
    revises a window, the entry needs a matching update (each block cites
    its source and verification date).
  • Overlaps open feat(providers): register GPT-5.6 models (sol, terra, luna) #598 (GPT-5.6 registration), which currently carries
    duplicate provider keys and a redundant lookup loop per maintainer
    review; rebase after it lands. The test_each_model_is_mapped_once
    added 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 #539
    scope); happy to add on request.
  • DCO: commit carries Signed-off-by (maintainer: verify on push).

…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]>
@Yoseph-Zuskin Yoseph-Zuskin changed the title feat(providers): add GPT-6 Sol and Luna budgets to OpenAI and Azure regiestries feat(providers): add GPT-6 Sol and Luna budgets to OpenAI and Azure registries Sep 28, 2026

@rng1995 rng1995 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

[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_MODEL label, 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 main and with #598. My yaml.compose key scan of both merge results finds no duplicate keys.
  • Scope: the root sample and default models are untouched, which matches #539.

Findings

  1. [Non-blocking] tests/unit/test_providers.py:361 duplicates a check that #598 already adds. #598 has been open since 09-21, fixed its duplicate keys on 09-23 in c885fed, and adds TestModelRegistryFiles.test_each_model_is_mapped_once with the same yaml.compose approach. 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.
  2. [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 always model_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)

@rng1995
rng1995 merged commit 09555eb into NVIDIA:main Sep 28, 2026
6 checks passed
@Yoseph-Zuskin
Yoseph-Zuskin deleted the feat/gpt-6-sol-luna-budgets branch October 4, 2026 00:16
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.

GPT-6 Sol and Luna budgets (openai + azure_openai)

2 participants