Skip to content

feat(dashboard): expand Model dropdown labels with point releases + param counts#385

Merged
functionstackx merged 7 commits into
masterfrom
feat/dashboard-model-labels-versions
May 26, 2026
Merged

feat(dashboard): expand Model dropdown labels with point releases + param counts#385
functionstackx merged 7 commits into
masterfrom
feat/dashboard-model-labels-versions

Conversation

@functionstackx
Copy link
Copy Markdown
Contributor

@functionstackx functionstackx commented May 26, 2026

Summary

Two coordinated changes to the global Model dropdown (used on `/inference`, `/historical`, calculator, and elsewhere via `getModelLabel()`):

1. Show both point releases for grouped entries

`Kimi K2.5` and `MiniMax M2.5` each cover two DB point releases sharing one architecture, but the dropdown label only named the older one. Matches the `GLM5/5.1` pattern that was already correct:

  • `Kimi K2.5` → `Kimi K2.5/2.6` (covers `kimik2.5` + `kimik2.6`)
  • `MiniMax M2.5` → `MiniMax M2.5/2.7` (covers `minimaxm2.5` + `minimaxm2.7`)

2. Append total parameter count

So users can see model scale at a glance in the dropdown — same pattern Llama and gpt-oss already use (size is part of the canonical name):

Before After
DeepSeek R1 0528 DeepSeek R1 670B
DeepSeek V4 Pro DeepSeek V4 Pro 1.6T
Kimi K2.5/2.6 Kimi K2.5/2.6 1T
Qwen3.5 Qwen3.5 397B
GLM5/5.1 GLM5/5.1 355B
MiniMax M2.5/2.7 MiniMax M2.5/2.7 456B
gpt-oss 120B (unchanged)
Llama 3.3 70B Instruct (unchanged)
Llama 3.1 70B Instruct (unchanged)

The `0528` release-date suffix on DeepSeek R1 drops in favor of the param count to keep the label compact.

Param-count sources

Numbers pulled from each model's published release / model card:

  • DeepSeek-R1: 671B total / 37B active per forward pass
  • DeepSeek-V4-Pro: 1.6T
  • Kimi K2 series: 1T
  • Qwen3.5: 397B / 17B active
  • GLM 4.5: ~355B / 32B active (GLM 5 follows the same architecture family)
  • MiniMax M1: 456B / 45B active (M2 series same scale)

If GLM 5 or MiniMax M2.7's published specs differ from these numbers, this is a one-line registry edit to correct.

Surface area

Single edit to `MODEL_CONFIG` in `packages/app/src/lib/data-mappings.ts` → propagates to every caller of `getModelLabel(model)`:

  • `ModelSelector` (the dropdown itself) — `chart-selectors.tsx`
  • Inference chart title — `ChartDisplay.tsx`
  • Chart watermark text — `ThroughputCalculatorDisplay.tsx`, `HistoricalTrendsDisplay.tsx`
  • Submissions table model column — `SubmissionsTable.tsx`

The `Model` enum values (hyphenated form `Kimi-K2.5`, `MiniMax-M2.5`) are internal identifiers used for routing and DB-key mapping — they stay unchanged. No breakage in URL params (`?g_model=Kimi-K2.5`) or DB lookups.

Tests

  • `packages/app/src/lib/data-mappings.test.ts` — expanded `getModelLabel()` assertions to cover every model. 33/33 pass.
  • `packages/app/cypress/e2e/model-architecture.cy.ts` — updated the two `cy.contains()` selectors that match by visible text (`'Kimi K2.5'` → `'Kimi K2.5/2.6'`; same for MiniMax).

No string-literal branching exists in production code (grepped: zero `if (model === 'Kimi K2.5')` style checks). All runtime comparisons use the `Model` enum values, never the display labels.

Verification

`pnpm typecheck && pnpm lint && pnpm fmt` all clean via pre-commit. Unit tests pass. Dropdown is a Radix `` that hydrates client-side, so full visual verification happens on Vercel preview + Cypress in CI. Test plan [ ] Vercel preview: open the Model dropdown on `/inference`, confirm all 6 modified labels show the new text [ ] Switch to a model that previously had only one version label (e.g. Kimi K2.5/2.6), confirm chart still loads (DB lookup still works since the enum value is unchanged) [ ] Existing share-links like `?g_model=Kimi-K2.5` still resolve correctly 🤖 Generated with Claude Code [!NOTE] Low Risk Presentation-only label changes; no auth, data pipeline, or routing/enum changes. Overview Updates global model display labels via MODEL_CONFIG in data-mappings.ts so getModelLabel() shows total parameter scale (e.g. 671B, 1.6T, 397B, 744B, 230B) and both point releases where one enum covers two DB variants (Kimi K2.5/2.6, MiniMax M2.5/2.7), matching the existing GLM5/5.1 pattern. Internal Model enum values and DB routing are unchanged. Docs and copy: AGENTS.md adds a verified parameter-count reference and common mislabel traps. The About FAQ model list explicitly includes Kimi-K2.6, MiniMax-M2.7, and GLM-5.1 bullets alongside collapsed dropdown names. Tests: Unit expectations for getModelLabel and Cypress model-selector strings are updated to match the new visible labels. Reviewed by Cursor Bugbot for commit a8b3a31. Bugbot is set up for automated code reviews on this repo. Configure here.

functionstackx and others added 2 commits May 25, 2026 22:27
…abels

Match the GLM5/5.1 pattern for the Kimi and MiniMax entries — when a single
display option covers two DB point releases sharing one architecture, the
dropdown label now joins both versions with a slash so users see what the
underlying data actually spans:

  - Kimi K2.5 -> Kimi K2.5/2.6  (groups kimik2.5 + kimik2.6)
  - MiniMax M2.5 -> MiniMax M2.5/2.7  (groups minimaxm2.5 + minimaxm2.7)

GLM5/5.1, DeepSeek R1 0528, DeepSeek V4 Pro, Qwen3.5, gpt-oss 120B, and the
Llama labels stay as-is.

Label change is scoped to MODEL_CONFIG in packages/app/src/lib/data-mappings.ts,
so every consumer of getModelLabel() automatically picks up the new text:
the dropdown itself (ModelSelector), inference chart watermark + title,
historical-trends chart, throughput-calculator chart, submissions table.

The Model enum values (hyphenated form Kimi-K2.5, MiniMax-M2.5) are
internal identifiers used for routing and DB-key mapping and stay unchanged
- no breakage in URL params (?g_model=Kimi-K2.5) or DB lookups.

33/33 unit tests pass. data-mappings.test.ts assertions and the
model-architecture Cypress selector strings updated to the new labels.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…label

Users browsing the Model dropdown on /inference, /historical, the calculator,
etc. now see model scale alongside the name. Same pattern Llama and gpt-oss
already use (the size is part of the canonical name) — extended to the
other models:

  - DeepSeek R1 0528    -> DeepSeek R1 670B
  - DeepSeek V4 Pro     -> DeepSeek V4 Pro 1.6T
  - Kimi K2.5/2.6       -> Kimi K2.5/2.6 1T
  - Qwen3.5             -> Qwen3.5 397B
  - GLM5/5.1            -> GLM5/5.1 355B
  - MiniMax M2.5/2.7    -> MiniMax M2.5/2.7 456B

DeepSeek R1's "0528" release-date suffix drops in favor of the param count
to keep the label compact. gpt-oss 120B, Llama 3.3 70B Instruct, and
Llama 3.1 70B Instruct already encode the size and stay unchanged.

Param counts pulled from each model's published release / model card:
DeepSeek-R1 671B, DeepSeek-V4-Pro 1.6T, Kimi K2 series 1T, Qwen3.5 397B,
GLM 4.5 ~355B (GLM 5 follows the same architecture family), MiniMax M1
456B (M2 series same scale).

Single registry edit in MODEL_CONFIG → propagates to ModelSelector dropdown,
chart watermarks, chart titles, submissions table. 33/33 unit tests pass;
data-mappings.test.ts assertions extended to cover all dropdown labels.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 26, 2026

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

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview, Comment May 26, 2026 2:46am

Request Review

@blacksmith-sh

This comment has been minimized.

functionstackx and others added 2 commits May 25, 2026 22:36
Chart-controls cypress tests expected "DeepSeek R1 0528" but the label
was still "DeepSeek R1 670B". Renames to "DeepSeek R1 0528 670B" so the
version + param-count pattern matches Kimi K2.5/2.6 1T and GLM5/5.1 355B.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
DB_MODEL_TO_DISPLAY collapses point releases (e.g. kimik2.5/kimik2.6 →
"Kimi-K2.5") for the dashboard, which made the /about "Which AI models
are tested?" list show duplicate names and hide K2.6, M2.7, GLM-5.1.
Apply an /about-only override that expands those entries back out.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
functionstackx and others added 2 commits May 25, 2026 22:41
…m counts

Two labels carried over numbers from older sibling models:
- GLM5/5.1: 355B → 744B total / 40B active (355B was GLM-4.5).
  Source: zai-org/GLM-5 model card.
- MiniMax M2.5/2.7: 456B → 230B total / 10B active (456B was
  MiniMax-Text-01 / M1, a different MoE architecture with 32 large
  experts vs the M2 series' 256 small experts).
  Sources: MiniMaxAI/MiniMax-M2.5 model card; NVIDIA M2.7 blog.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a reference table sourced from HuggingFace model cards so future
label changes don't drift back into the GLM-4.5/355B and
MiniMax-M1/456B traps that just had to be corrected. Lists the four
mislabel patterns that have already bitten us so they don't recur.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 61077e2. Configure here.

Comment thread packages/app/src/lib/data-mappings.ts Outdated
…URES (671B)

Bugbot caught a 670B/671B mismatch between the new dropdown label
and the inference architecture summary card. 671B is the real HF
model-card number; the rounded 670B was incidental.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@functionstackx functionstackx merged commit 0a692af into master May 26, 2026
18 checks passed
@functionstackx functionstackx deleted the feat/dashboard-model-labels-versions branch May 26, 2026 02:48
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