Curate the model picker around frontier models - #123
Open
molefrog wants to merge 1 commit into
Open
Conversation
Large merged catalogs (Hermes lists 59 models) now show up to five frontier models per provider section, with the rest behind a scrollable "More models" submenu. Curation lives in lib/frontier-models.ts — a hand-ordered family table plus a committed models.dev release-date snapshot (lib/frontier-catalog.ts, regenerated by scripts/update-frontier-catalog.ts) — so any harness can share it. Within a family the newest full-strength variant wins its slot; demoted tiers (mini/flash/fast/…, image/video models) only fill leftovers. Groups where the submenu would hide fewer than three rows stay inline, which keeps Claude Code, Codex, and local Ollama lists untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XXKdrgK1D9RQAFzeqBF5Uq
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.
The model picker now features up to five frontier models per provider section and moves the rest behind a scrollable "More models" submenu, so Hermes's 59-model merged catalog no longer renders as one viewport-tall list. Curation is shared: a hand-ordered family table plus a committed models.dev release-date snapshot in
lib/, usable by any harness. Sections where the submenu would hide fewer than three rows stay inline, so Claude Code, Codex, and local Ollama lists are unchanged.Probed against the live app (all four harnesses), the Hermes Nous Portal section (39 models) now features:
Ranking is layered because no dataset has a "flagship" flag: the family table owns prominence and tier slots (opus/sonnet/haiku are separate), a demotion rule keeps
-mini/-flash/image/video variants from headlining, and release dates from the snapshot pick the newest variant within a family (Opus 4 < 4.8 < 5). An id the snapshot doesn't know ranks newest, so a freshly launched model surfaces before anyone rerunsbun scripts/update-frontier-catalog.ts.Worth a close look:
lib/frontier-models.ts— the demotion regex and slot rules encode judgment calls; two known effects: OpenClaw features GPT-5.6 Luna (not Sol — same-family, dates can't tell the flagship) and Nous Portal drops gemini from featured (it only serves-flash/-previewvariants).scripts/update-frontier-catalog.ts— dedupes disagreeing provider dates by most-common vote; models.dev data has junk (1970-01-01, an opus-4-8 dated before 4.7) this must keep out.client/features/chat/composer/ModelPicker.tsx— radio items inside a Base UI submenu rely on theDropdownMenuRadioGroupcontext crossing the submenu portal.Verified:
bun testfull suite (1417 pass, 0 fail; 14 new tests incl. real-snapshot Opus ranking),typecheck:client, lint, and live-app probes of claude-code, codex, hermes, and openclaw via/api/workspaces/:id/agent.🤖 Generated with Claude Code
https://claude.ai/code/session_01XXKdrgK1D9RQAFzeqBF5Uq