Skip to content

Refresh the model catalog and make Claude the default - #135

Merged
Programcode merged 8 commits into
mainfrom
t3/anthropic-default-model-catalog
Oct 11, 2026
Merged

Programcode merged 8 commits into
mainfrom
t3/anthropic-default-model-catalog

Conversation

@Programcode

@Programcode Programcode commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

Every family in the catalog now uses its newest OpenRouter model, and Claude models are the defaults: Claude Haiku 5.5 for Basic and Claude Opus 5.5 for Pro. Basic accounts get exactly three models. The catalog stays at 10.

Catalog

Basic (Free):

  • anthropic/claude-haiku-5.5: default, and the model Auto Fast prefers and falls back to.
  • openai/gpt-6-luna: replaces GPT-5.6 Luna.
  • meta/muse-spark-1.3-contributor: the contributor tier, which replaces the regular Muse Spark 1.3. It shows as "Muse Spark 1.3". The privacy copy is unchanged, by Adam's decision.

Pro:

  • anthropic/claude-opus-5.5: default, and the model Auto Pro prefers and falls back to.
  • anthropic/claude-sonnet-5.5: replaces Claude Sonnet 5.
  • openai/gpt-6.1-sol: replaces GPT-5.6 Sol and Terra (GPT-6 has no Terra).
  • google/gemini-3.8-flash: moved from Basic to Pro.
  • deepseek/deepseek-v4.1-flash: replaces DeepSeek V4 Flash and moves to Pro.
  • deepseek/deepseek-v4-pro-0813 and z-ai/glm-5.3-flash: unchanged; still the newest in their family.

Auto Fast now routes only among the three Basic models, so it no longer sends Basic users to GLM.

Not added: Claude Fable 5.1 and GPT-6 Astra cost $10/$50 per million tokens. New entries carry no supportsTemperature, matching #134.

Retired IDs

A saved setting or an installed PWA that still sends an old ID keeps working. The settings store and both ai and ai-stream resolve it before validation:

  • GPT-5.6 Luna and DeepSeek V4 Flash (both were Basic) become Claude Haiku 5.5.
  • Claude Sonnet 5 and Claude Opus 5 become Claude Opus 5.5.
  • GPT-5.6 Sol and Terra become GPT-6.1 Sol.
  • Muse Spark 1.3 becomes Muse Spark 1.3 contributor.

A retired Basic ID never resolves to a Pro model; a catalog test covers that. A Basic user with Gemini saved is moved to Haiku on the next load, the same as any Pro-only model.

Deploy order

ai, ai-stream and voice went to staging and then production from the PR head (920154b) before the merge. The new frontend rewrites every saved GPT-5.6 Luna setting to anthropic/claude-haiku-5.5, which the old server rejects, so shipping the frontend first would have broken AI for most users until the functions caught up. The new functions accept every old ID through retiredModelSuccessor, so the old frontend kept working in the meantime. One exception: a Basic user with Gemini 3.8 Flash saved gets a 403 until the new frontend loads and moves them to Haiku.

The PR head was main plus this PR. After the merge, the functions are redeployed from main if backend:status flags them, so the deploy record and the staging-sync timer agree. The production rollback baseline is at ~/ops/backups/debatelab-functions/prod-20261011T1207.

Verification

  • GitHub Actions did not run. Every job fails in 1–3 s with zero steps, the same as on Stop sending temperature to OpenRouter (fixes Claude Opus 5 404) #134 (Actions billing). The local results below stand in for CI and are not a CI pass.

  • Local npm run verify at 45c9cff: exit 0, with 275 client tests, 334 Edge tests and 30/30 desktop smoke tests. Codex review r4 on 920154b found nothing. lint, typecheck, docs:check and build are clean. The full npm run verify and recipe results are in comments below.

  • Direct OpenRouter calls with the exact payload provider.ts builds (JSON format, reasoning.effort, exclude: true, require_parameters: true, max_tokens 32768, no temperature) returned HTTP 200 with JSON for every new model at low, medium and high: Haiku, Sonnet and Opus 5.5, GPT-6 Luna, GPT-6.1 Sol, DeepSeek V4.1 Flash and Muse Spark 1.3 contributor. That is 21 of 21.

  • Staging, real calls as the seeded users after the deploy:

    • Pro: Opus 5.5 returns 200.
    • Trial: Haiku 5.5 and Muse Spark contributor return 200.
    • Trial asking for Opus 5.5 gets a 403.
    • Old IDs still work: gpt-5.6-luna resolves to Haiku 5.5 and claude-sonnet-5 to Opus 5.5.
    • Auto Pro and Auto Fast (streamed) return 200.
  • Production: all three functions answer CORS and return 401 without auth. The deployed model-catalog.ts is identical to the PR head. No production Pro login exists, so no authenticated production call was made.

🤖 Generated with Claude Code

Programcode and others added 2 commits October 9, 2026 17:00
Add Claude Haiku 5.5 (Basic), Claude Opus 5.5 and Claude Sonnet 5.5 (Pro)
to the catalog and retire Claude Sonnet 5 and Claude Opus 5. Haiku 5.5 is
the Basic default and Opus 5.5 the Pro default. Auto Fast now prefers and
falls back to Haiku; Auto Pro prefers and falls back to Opus.

Older clients that still send a retired ID resolve to Opus 5.5 on the
server and in the settings store instead of getting a 400.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
debate-navigator Ready Ready Preview Oct 9, 2026 5:32pm UTC
debatelab-staging Ready Ready Preview Oct 9, 2026 5:32pm UTC

Copilot AI balanced review requested due to automatic review settings October 9, 2026 17:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Next included review available in 30 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository YAML (base), Organization UI (inherited)
  • Review profile: CHILL
  • Plan: Free
  • Run ID: e6ed2ae3-4b22-465f-b189-09e358413c13

📥 Commits

Reviewing files that changed from the base of the PR and between 781d603 and 920154b.


📒 Files selected for processing (31)
  • .claude/skills/verify-debatelab/features/README.md
  • .claude/skills/verify-debatelab/features/case-generation.md
  • .claude/skills/verify-debatelab/features/model-defaults.md
  • .claude/skills/verify-debatelab/recipes/model-defaults.spec.ts
  • docs/architecture.md
  • docs/testing.md
  • e2e/production/canary.spec.ts
  • scripts/prompt-examples.ts
  • src/lib/stores/settings-store.ts
  • src/locales/en.json
  • src/locales/es.json
  • src/locales/hu.json
  • src/test/ai/streaming.test.ts
  • src/test/debate/debate-context.test.tsx
  • src/test/security-hardening.test.ts
  • src/test/settings/settings-migration.test.ts
  • supabase/README.md
  • supabase/functions/_shared/auto-model-router.test.ts
  • supabase/functions/_shared/auto-model-router.ts
  • supabase/functions/_shared/entitlements.test.ts
  • supabase/functions/_shared/model-catalog.test.ts
  • supabase/functions/_shared/model-catalog.ts
  • supabase/functions/ai-stream/auth_test.ts
  • supabase/functions/ai-stream/handler_test.ts
  • supabase/functions/ai-stream/index.ts
  • supabase/functions/ai-stream/index_test.ts
  • supabase/functions/ai/debate-context.test.ts
  • supabase/functions/ai/generate-honesty_test.ts
  • supabase/functions/ai/handler-research.test.ts
  • supabase/functions/ai/index.ts
  • supabase/functions/ai/voice.test.ts


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Essentials by visiting https://app.coderabbit.ai/settings/billing.


Comment @coderabbitai help to get the list of available commands.

Programcode and others added 2 commits October 9, 2026 17:14
GPT-5.6 Luna becomes GPT-6 Luna, GPT-5.6 Sol becomes GPT-6.1 Sol, and
DeepSeek V4 Flash becomes DeepSeek V4.1 Flash. GPT-6 has no Terra, so
GPT-5.6 Terra retires into GPT-6.1 Sol. The catalog is back to ten
models.

Retired IDs resolve in the settings store and at both Edge Function
boundaries. GPT-5.6 Luna, the old Basic default, moves to the new Basic
default, Claude Haiku 5.5. A retired Basic ID never resolves to a Pro
model.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Live verify rewrites every upstream call to the Muse Spark pin, so the
provider call's model is the pin, not Opus 5.5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Programcode

Copy link
Copy Markdown
Owner Author

Codex review r1 (head 6f556bb) found one issue: the model-defaults recipe checked the upstream model, which live verify rewrites to the Muse Spark pin. Fixed in 30e9ccf: the recipe now checks requestedModel ?? model. The recipe hasn't been run yet because the shared local stack is held by another worktree. 3b04533 also moves the rest of the catalog to each family's newest model; the PR description has the details.

Basic accounts now get Claude Haiku 5.5, GPT-6 Luna and Muse Spark 1.3 on
its contributor tier (meta/muse-spark-1.3-contributor), which replaces the
regular Muse Spark 1.3. Gemini 3.8 Flash and DeepSeek V4.1 Flash move to
Pro. Auto Fast routes only among the three Basic models.

The retired DeepSeek V4 Flash was Basic, so it now resolves to the Basic
default instead of the Pro-only V4.1 Flash. Retired Muse Spark 1.3 resolves
to the contributor tier.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Programcode
Programcode deleted the branch main October 9, 2026 17:24
@Programcode Programcode closed this Oct 9, 2026
@Programcode Programcode changed the title Make Claude the default models and add the Claude 5.5 family Refresh the model catalog and make Claude the default Oct 9, 2026
Programcode and others added 2 commits October 9, 2026 17:25
GPT-5.6 Luna is now a retired ID that hydration rewrites to Claude Haiku
5.5, so the test's stand-in model has to be one that is still current.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ic model

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Programcode

Copy link
Copy Markdown
Owner Author

Codex review r3 (head d0894e3) found no entitlement or retired-ID problems. It raised one low finding: docs/testing.md still said the Muse Spark contributor model is test-only and not in the app catalog. Fixed in 920154b; the doc now says it is also the Basic "Muse Spark 1.3" model, and recipes check the requested model. Since r3, the branch also merged main (#134) and switched the settings cleanup test to current models (45c9cff). r4 reviews the new head.

@Programcode

Copy link
Copy Markdown
Owner Author

Local npm run verify passed at 45c9cff, exit 0: docs check, lint, typecheck, npm test 275/275, collaboration tests, test:edge 334/334, build, service-worker test and desktop Chromium @smoke 30/30. The only commit since then, 920154b, changes docs. This is a local pass, not CI: GitHub Actions jobs still fail in 1–3 s with zero steps (billing). The model-defaults recipe is still waiting for the shared local stack, which another worktree holds.

@Programcode

Copy link
Copy Markdown
Owner Author

recipes/model-defaults passed 6/6 on the fake-mode verify stack at 920154b, desktop-chromium and mobile-chromium:

  • model-pro-default: a new Pro account's settings and selector start on Claude Opus 5.5, and Generate records anthropic/claude-opus-5.5 in ai_requests.
  • model-basic-default: a Basic account starts on Claude Haiku 5.5. GPT-6 Luna and Muse Spark 1.3 are enabled; Opus, Sonnet and Gemini are disabled. Generate records Haiku 5.5.
  • model-retired: saved anthropic/claude-sonnet-5 configs are rewritten to Opus 5.5 on screen and in user_settings.

Desktop: Basic model list

Desktop: Pro generate with Opus 5.5

Mobile: Pro default Opus 5.5

Mobile: retired Sonnet 5 migrated

@Programcode
Programcode merged commit bb1b7f8 into main Oct 11, 2026
8 of 19 checks passed
@Programcode
Programcode deleted the t3/anthropic-default-model-catalog branch October 11, 2026 12:10

This branch was successfully deployed

2 active deployments
Preview – debatelab-staging — 920154be Deployed Oct 9, 2026 by vercel[bot]
Preview – debate-navigator — 920154be Deployed Oct 9, 2026 by vercel[bot]
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.

2 participants