Skip to content

fix(models): preserve GPT-5.6 variant capabilities - #35

Merged
steipete merged 1 commit into
mainfrom
codex/fix-gpt56-openrouter-suffixes
Jul 10, 2026
Merged

fix(models): preserve GPT-5.6 variant capabilities#35
steipete merged 1 commit into
mainfrom
codex/fix-gpt56-openrouter-suffixes

Conversation

@steipete

Copy link
Copy Markdown
Collaborator

Summary

  • recognize GPT-5.6 Sol, Terra, and Luna behind terminal OpenRouter routing variants
  • retain 372K context and 128K output capabilities without rewriting routed model IDs
  • cover all three GPT-5.6 variants across :online, :nitro, :floor, and :exacto

Testing

  • swift test --filter 'ModelParsingTests|OpenAICompatibleHelperTests' (51 tests)
  • TACHIKOMA_DISABLE_API_TESTS=true TACHIKOMA_TEST_MODE=mock swift test --no-parallel (797 tests)
  • mint run nicklockwood/SwiftFormat@0.61.1 swiftformat --lint .
  • swiftlint lint --reporter xcode --strict --quiet
  • autoreview: clean, no accepted/actionable findings

@clawsweeper

clawsweeper Bot commented Jul 10, 2026

Copy link
Copy Markdown

ClawSweeper status: review started.

I am starting a fresh review of this pull request: fix(models): preserve GPT-5.6 variant capabilities This is item 1/1 in the current shard. Shard 0/1.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a9e0d31827

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +170 to +173
let suffixSeparator = modelComponent.firstIndex(of: ":"),
modelComponent.index(after: suffixSeparator) < modelComponent.endIndex
{
modelComponent[..<suffixSeparator]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restrict route-suffix stripping to OpenRouter variants

This strips any non-empty colon suffix before capability detection, but gpt56Model(for:) is also used by OpenAICompatibleProvider and TogetherProvider, where a colon can be part of an arbitrary model tag rather than OpenRouter routing metadata. In those contexts an ID such as gpt-5.6-sol:4k is now classified as the full GPT-5.6 Sol model and gets 372K context / 128K output capabilities instead of the safe defaults, which can make clients send requests the backend cannot handle. Please limit this stripping to known OpenRouter route suffixes or OpenRouter-specific code paths.

Useful? React with 👍 / 👎.

@steipete

Copy link
Copy Markdown
Collaborator Author

Exact-head proof for a9e0d31827f7dc681cb21294f2d5f6954fd732a0:

  • regression matrix: GPT-5.6 Sol/Terra/Luna × :online, :nitro, :floor, and :exacto; exact routed IDs retained
  • focused production-path tests: 51 passed
  • full mock-safe suite: 797 tests in 104 suites passed
  • SwiftFormat 0.61.1: 0/188 files require formatting
  • SwiftLint 0.65.0 strict: clean
  • autoreview: no accepted/actionable findings (0.96 confidence)
  • GitHub Actions: all applicable exact-head macOS, Ubuntu, Swift 6, package, examples, format, and lint checks passed

@steipete
steipete merged commit 0ece63e into main Jul 10, 2026
18 checks passed
@steipete
steipete deleted the codex/fix-gpt56-openrouter-suffixes branch July 10, 2026 12:58
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