feat(routing): tier parity when Codex drives (GPT-6 Astra as reasoning tier) - #235
Merged
Merged
Conversation
…g tier) A Codex-primary seed mirrors the default routes, but Codex had no reasoning tier: reasoning work fell back to the workhorse (gpt-6-sol), and the implementation/testing escalation stepped sideways (claude-sonnet-5 -> gpt-6-sol, same $2/$10 tier) instead of up. - gpt-6-astra takes the codex `reasoning` tier, pairing with claude-opus-5-5. Codex-led architecture, design, security-analysis and debugging run on Astra, and escalation steps Sonnet -> Astra, as Claude-led steps Sol -> Opus. - Catalog entries may list `pairs`: extra tiers they answer for when the other host has no same-tier model. Astra pairs with claude `flagship`, so Fable 5.1 pins still mirror to Astra rather than the workhorse. - Claude-led defaults are unchanged. Tier parity is not price parity: Astra is $10/$50 per MTok vs Opus 5.5 at $4/$20, stated in ADR-0006 and PROVIDERS.md. Docs: ADR-0006 (Updated; replaces the "mirror is coarse" consequence), ADR-0002, PROVIDERS.md tier table, MODEL-PRICING-AUDIT. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Problem
When Claude drives, reasoning work runs on Claude's reasoning-tier model (
claude-opus-5-5), and the implementation/testing escalation steps up a tier (gpt-6-sol→claude-opus-5-5).When Codex drives, the seed mirrors those routes, but Codex had no
reasoningtier:gpt-6-sol).claude-sonnet-5→gpt-6-sol. Both cost $2/$10, so escalating gained nothing.ADR-0006 had recorded this as a known consequence: "the mirror is coarse where host model tiers don't line up".
Change
gpt-6-astratakes the Codexreasoningtier, paired withclaude-opus-5-5.pairs: extra tiers a model answers for when the other host has no model of that tier. Astra pairs with Claude'sflagship, so Fable 5.1 pins still mirror to Astra rather than to the workhorse.claude-opus-5-5gpt-6-astraclaude-sonnet-5gpt-6-solclaude-haiku-4-5-20251001gpt-6-lunaCodex-led seed:
codex:gpt-6-solcodex:gpt-6-astraclaude:claude-sonnet-5→codex:gpt-6-solclaude:claude-sonnet-5→codex:gpt-6-astracodex:gpt-6-solTrade-off (stated in ADR-0006 and PROVIDERS.md)
Matching tiers doesn't mean matching prices. Astra is $10/$50 per million tokens; Opus 5.5 is $4/$20. Why Astra anyway:
The cost: Codex-led reasoning uses more Codex plan allowance. We considered two alternatives:
Docs
PROVIDERS.md: tier table and the Codex-led seed.MODEL-PRICING-AUDIT.md.Verification
pnpm run check: exit 0. Tests: 4327 pass, 0 fail, 6 skipped. Lint warnings are the same as onmain.routing-primary.test.mjsfail onmainand pass here. They cover:ak x host refresh.🤖 Generated with Claude Code