Skip to content

feat(openai): add GPT-5.6 Sol/Terra/Luna models - #3

Merged
zephg merged 1 commit into
local/daily-driverfrom
local/gpt-5.6-support
Jul 12, 2026
Merged

feat(openai): add GPT-5.6 Sol/Terra/Luna models#3
zephg merged 1 commit into
local/daily-driverfrom
local/gpt-5.6-support

Conversation

@zephg

@zephg zephg commented Jul 12, 2026

Copy link
Copy Markdown
Owner

What

Adds first-class support for the GPT-5.6 family (GA 2026-07-09) to the native OpenAI provider — Sol (flagship), Terra (balanced), Luna (fast/cheap) — and, transitively, OpenRouter. gpt-5.6-sol becomes the default OpenAI model.

Model API id Context / Output In / Out ($/1M) Cache read Reasoning effort
Sol gpt-5.6-sol 1.05M / 128K 5 / 30 0.5 none…max (default high)
Terra gpt-5.6-terra 1.05M / 128K 2.5 / 15 0.25 none…max (default medium)
Luna gpt-5.6-luna 1.05M / 128K 1 / 6 0.1 none…max (default low)

How

  • packages/types/src/providers/openai.ts — three openAiNativeModels entries templated on the existing gpt-5.5; adds the new max effort level, verbosity, and per-model pricing. Default → gpt-5.6-sol.
  • packages/types/src/providers/index.tsgetProviderDefaultModelId("openai-native") now returns openAiNativeDefaultModelId instead of a stale hardcoded "gpt-4o", so the loading-time fallback also honors Sol.
  • OpenRouter — no code change: parseOpenRouterModel already mirrors the static effort array for any openai/* id, so openai/gpt-5.6-* surfaces max automatically; caching auto-detects from API pricing.

Everything downstream (handler selection, cost, UI picker, reasoning dropdown) is data-driven off ModelInfo, so no handler/UI code was needed. max is already plumbed end-to-end (precedent: Anthropic Opus 4.8).

Scope / deferred (deliberate)

  • Bedrock deferred — GPT-5.6 is not GA on Bedrock and AWS hasn't published openai.gpt-5-6-* IDs; our existing openai.gpt-oss-* Bedrock entries also expose no reasoning. Revisit when AWS ships it.
  • Verify against OpenAI's official pricing page before relying on cost at scale: the >272K long-context surcharge is mirrored from gpt-5.5 (drop if removed for this family); flex/priority service tiers, the new 1.25× cache-write price, and 30-min cache retention are omitted for now (base in/out/cache-read pricing is high-confidence).
  • Out of scope: Programmatic Tool Calling (separate Responses-API feature), the openai-codex provider, Requesty.

Test plan

  • pnpm --filter @roo-code/types check-typespass (catalog conforms to ModelInfo).
  • Targeted specs 96/96 pass, incl. new: Sol getModel(), "effort":"max" request-body passthrough (openai-native.spec.ts), and openai/gpt-5.6-sol effort-mirror (openrouter fetcher spec).
  • Pre-existing 22-failure reasoning/model-params baseline unchanged (no regressions).
  • Pre-commit lint/prettier hooks passed.

Remaining runtime check (needs a live key): send a max-effort request to gpt-5.6-sol end-to-end and confirm a 200 — the unit test confirms we emit "effort":"max"; only live API acceptance is unverified.

🤖 Generated with Claude Code

Add the GPT-5.6 family (GA 2026-07-09) to the native OpenAI provider, and by
extension OpenRouter.

- packages/types/src/providers/openai.ts: three openAiNativeModels entries
  (gpt-5.6-sol/terra/luna) templated on gpt-5.5 — 1.05M context, 128K output,
  the new `max` reasoning-effort level, verbosity, and pricing $5/$30,
  $2.50/$15, $1/$6 (in/out) with 90%-off cache reads. Promote gpt-5.6-sol to
  openAiNativeDefaultModelId.
- packages/types/src/providers/index.ts: getProviderDefaultModelId(
  "openai-native") now returns openAiNativeDefaultModelId instead of a stale
  hardcoded "gpt-4o", so the loading-time fallback also honors Sol.

OpenRouter needs no code change: parseOpenRouterModel already mirrors the
static effort array for any openai/* id, so openai/gpt-5.6-* surfaces `max`
automatically and caching auto-detects from API pricing.

Bedrock deferred: GPT-5.6 is not GA on Bedrock and AWS has not published model
IDs. Long-context surcharge, flex/priority service tiers, and the new 1.25x
cache-write price are omitted pending confirmation against OpenAI's official
pricing page.

Tests: default-model assertion updated to gpt-5.6-sol; new getModel() and
`"effort":"max"` request-body passthrough tests (openai-native.spec.ts); new
openai/gpt-5.6-sol effort-mirror case (openrouter fetcher spec). check-types
passes and the pre-existing 22-failure reasoning/model-params baseline is
unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@zephg
zephg merged commit ded8095 into local/daily-driver Jul 12, 2026
7 of 11 checks passed
@zephg
zephg deleted the local/gpt-5.6-support branch August 1, 2026 22:12
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.

1 participant