Skip to content

fix(models): keep distinct codex models out of effort-variant families - #1266

Merged
Harry19081 merged 1 commit into
developfrom
fix/model-grouping-distinct-codex-models
Sep 5, 2026
Merged

fix(models): keep distinct codex models out of effort-variant families#1266
Harry19081 merged 1 commit into
developfrom
fix/model-grouping-distinct-codex-models

Conversation

@Neonforge98

Copy link
Copy Markdown
Collaborator

Problem

groupModels labels every gpt-<version>-codex-* id as the "GPT Codex" family. A distinct model such as gpt-5.3-codex-spark therefore lands in the effort-variant group, whose only in-group control is the reasoning-level pill (low/medium/high/xhigh). The model cannot be selected anywhere in the picker. For ChatGPT-login Codex accounts this is the only model the provider accepts (gpt-5.3-codex is rejected with "not supported when using Codex with a ChatGPT account"), so those users cannot pick a working model.

Solution

In parseModelGroup, tokens that follow a matched GPT tier and are not variant suffixes (low, medium, high, xhigh, fast, thinking, …) stay in the family label. gpt-5.3-codex-spark becomes its own "GPT 5.3 Codex Spark" row while gpt-5.3-codex, gpt-5.3-codex-medium and gpt-5.6-sol-xhigh-fast keep their current families. isModelVariantSuffixToken is exported from modelVariants so both modules share one suffix table.

Potential risks

  • Any provider id with a tier followed by a non-suffix token now forms its own family instead of merging into the tier family. Tierless ids (gpt-4-turbo → "GPT 4") are untouched.
  • The Rust launch mapping already passes unknown suffixes through as the model id (gpt-5.3-codex-spark is sent verbatim with no effort override), so the wire request is unchanged.

Verification

  • New regression test in modelGrouping.test.ts covering the spark row next to the 5.3 family and a 5.6 variant id.
  • pnpm typecheck, eslint --max-warnings 0, prettier, and vitest --changed on the touched tree: 617 files / 4898 tests passed.
  • Reproduced live: with the old grouping the E2E picker selected gpt-5.3-codex-medium when asked for spark; with this change the spark row is selected and the Codex thread resumes on gpt-5.3-codex-spark.

The GPT family grouper labelled any gpt-<version>-codex-* id as the
"GPT <version> Codex" family, so a distinct model such as
gpt-5.3-codex-spark landed in the effort-variant group whose only
in-group control switches reasoning levels. The model could not be
selected in the picker at all; for ChatGPT-login Codex accounts it is
the only model the provider accepts.

Tokens after the tier that are not variant suffixes now stay in the
family label, giving such models their own row. Existing labels are
unchanged.
@Harry19081 Harry19081 added bug Something isn't working agent Agent runtime, behavior, memory, providers, or orchestration frontend-ui Frontend UI, design system, accessibility, layout, or theming labels Sep 4, 2026
@Harry19081
Harry19081 merged commit 6bac8ae into develop Sep 5, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent Agent runtime, behavior, memory, providers, or orchestration bug Something isn't working frontend-ui Frontend UI, design system, accessibility, layout, or theming

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants