[Feature] Add GPT-6 Astra Day-0 support - #3561
Conversation
✅ Deploy Preview for vllm-semantic-router ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
🟡 Changes recommended
The Day-0 guide’s make impact ... CHANGED_FILES=... example references a non-existent path, so the copy/paste instructions are currently incorrect.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR adds Day-0 built-in support for the OpenAI GPT-6 Astra model across the router’s catalog pipeline (authored resources → validation → generated projections), including protocol-specific reasoning-effort narrowing (Chat vs Responses) and corresponding unit + E2E coverage.
Changes:
- Introduces GPT-6 Astra model card, OpenAI provider binding (pricing + restrictions), reasoning family, and 5 official launch evaluation records.
- Adds
reasoning_efforts_by_protocolto express per-protocol effort narrowing, plus validation and runtime materialization support. - Adds/extends contract tests and an E2E test case in the default
response-apiprofile to assert provider-native request shapes.
File summaries
| File | Description |
|---|---|
| website/static/model-catalog/catalog.json | Updates website model catalog snapshot to include GPT-6 Astra data and evaluation slots. |
| website/src/data/modelHubCatalogTypes.ts | Extends website binding types to include reasoning modes/efforts and per-protocol effort overrides. |
| website/docs/proposals/unified-model-catalog-and-evaluation-index.md | Updates proposal text/counts and documents the per-protocol effort narrowing concept. |
| website/docs/community/model-provider-day-0-support.md | Adds a worked Day-0 Astra example and updates generation/validation guidance. |
| tools/catalog/tests/test_generate_model_catalog.py | Adds catalog-generation assertions for Astra’s full authored contract and inventory inclusion. |
| tools/catalog/tests/test_generate_model_catalog_validation.py | Adds validation tests for protocol-scoped restrictions and reasoning_efforts_by_protocol. |
| tools/catalog/catalog_validation.py | Implements validation for reasoning_efforts_by_protocol and protocol-scoped API restrictions. |
| src/vllm-sr/cli/model_assets/latest/catalog.yaml | Regenerates CLI embedded catalog assets to include Astra. |
| src/semantic-router/pkg/extproc/provider_request_catalog_contract_test.go | Adds request-shape wire contract tests for Astra Chat vs Responses. |
| src/semantic-router/pkg/config/canonical_router_replay_test.go | Adds config materialization tests to assert Astra reasoning constraints and startup rejection behavior. |
| src/semantic-router/pkg/config/canonical_catalog.go | Applies reasoning_efforts_by_protocol when materializing provider profiles. |
| src/semantic-router/pkg/catalog/zz_generated_catalog.go | Regenerates router embedded catalog JSON and digest. |
| src/semantic-router/pkg/catalog/types.go | Adds ReasoningEffortsByProtocol to the Go catalog binding type. |
| src/semantic-router/pkg/catalog/registry.go | Ensures provider/model binding cloning deep-copies the new map field. |
| src/semantic-router/pkg/catalog/compiler_model_provider.go | Deep-copies ReasoningEffortsByProtocol when returning catalog bindings. |
| e2e/testcases/model_catalog_astra_day0.go | Adds black-box E2E test asserting provider-native request shapes for Astra across protocols. |
| e2e/profiles/response-api/values.yaml | Adds Astra aliases to the response-api profile and injects fixture OpenAI API key env var. |
| e2e/profiles/response-api/profile.go | Includes the Astra Day-0 test case in the default response-api profile list. |
| dashboard/frontend/src/types/modelCatalog.ts | Extends dashboard model catalog binding types to include reasoning_efforts_by_protocol. |
| dashboard/frontend/src/generated/modelCatalog.json | Regenerates dashboard catalog snapshot including Astra. |
| dashboard/backend/handlers/model_catalog_test.go | Updates dashboard catalog contract test counts for added model/evaluations. |
| config/recipes/built-in/latest/catalog.yaml | Regenerates built-in recipe catalog projection to include Astra resources. |
| config/catalog/schemas/catalog-resources-v1.schema.json | Adds schema support for reasoning_efforts_by_protocol. |
| config/catalog/resources/reasoning-families.yaml | Adds the gpt-6-astra reasoning family (levels + enabled-only mode). |
| config/catalog/resources/providers/openai.yaml | Adds Astra provider binding (protocols, pricing, restrictions, per-protocol effort narrowing). |
| config/catalog/resources/models/single/openai.yaml | Adds the GPT-6 Astra physical model card. |
| config/catalog/resources/evaluations/single/openai.yaml | Adds 5 official launch evaluation records for Astra with evidence provenance. |
| config/catalog/README.md | Updates baseline physical model count to reflect Astra addition. |
| config/catalog/catalog.yaml | Updates curated OpenAI representative models to include Astra. |
Review details
- Files reviewed: 26/29 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
cf25087 to
e5b7e04
Compare
Signed-off-by: Xunzhuo Liu <xunzhuo.liu@amd.com>
e5b7e04 to
4f3f27d
Compare
Related #2358
Purpose
Add GPT-6 Astra as a built-in OpenAI model and make this change a complete,
copyable Day-0 reference for future model contributors.
long-context pricing tiers, unsupported request fields, always-on reasoning
family, and five official launch evaluation records.
lowthroughxhigh, while Responses additionally supportsmax. The newreasoning_efforts_by_protocolfield can only narrow a model binding'svalidated global effort set.
the final provider-native Chat and Responses request shapes in unit tests.
response-apiprofile. It verifiesthe native model ID, Chat
reasoning_effort, Responsesreasoning.effort, the Responses-onlymaxlevel, removal of competingshapes, and tool preservation at the provider boundary.
minimal user YAML, evidence rules, generated artifacts, current
impact/check/verifycommands, and the named E2E command.projections from the authored resources.
Authoritative sources:
Test Plan
Test Result
model-catalog-check: passed, 57 tests.make check: passed, including pre-commit, security and architecture checks,the complete Semantic Router suite, CLI tests (49 total; 40 passed and 9
expected skips), Dashboard lint/typecheck/frontend tests (184 files, 858
tests), Dashboard backend tests, 50 recipe conformance tests, and E2E binary
build.
model-catalog-astra-day0: passed 1/1 in a clean Kubernetes environmentthrough Envoy, ExtProc, and the local provider simulator.
PR Gatepassed on rebased head4f3f27d7d83075f7682fd948536f0f2a35ca7855, including the fullresponse-apiE2E profile, Core test/build, full pre-commit, Dashboard,memory integration, security, and all live recipe-conformance shards.
Semantic Router PR Checklist
[Feature],[Bug],[Docs],[Test],[Research],[Community], or[CI/Build][Router][Docs]; affected modules belong in labels and the PR bodyacceptedissue with exactly one owner: onewg/*label for project work orowner/maintainersfor repository governancegit commit -sSee CONTRIBUTING.md for the full contributor workflow and commit guidance.