Skip to content

Claude: label resolved defaults with live model names - #711

Open
katulevskiy wants to merge 1 commit into
zeronsh:mainfrom
katulevskiy:fix/claude-resolved-model-labels
Open

katulevskiy wants to merge 1 commit into
zeronsh:mainfrom
katulevskiy:fix/claude-resolved-model-labels

Conversation

@katulevskiy

@katulevskiy katulevskiy commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • When Claude's default row resolved to a newly released model such as claude-sonnet-5-5, Zeron persisted its Default (recommended) alias label under the concrete model ID. The subsequent named row was discarded as a duplicate, even though Claude had supplied the actual model name.
  • Match the default row to Claude's named row by resolvedModel before deduplication. Use the named row's live display metadata and description. Claude's descriptions supply versioned headings such as Sonnet 5.5; extract that heading when displayName is a short alias, while retaining explicit provider/custom display names.
  • Model identity and default ordering still use the CLI's resolved ID. If Claude supplies no matching named row, display that concrete ID rather than inventing a name. No models, versions, or family-name mappings are added to production code; the existing static fallback catalog is unchanged. Add a read-only Claude model probe, following the existing provider probes, to make live verification reproducible.

Test plan

  • Ran the new fixtures against an isolated checkout of upstream 42926c80: all three new regressions fail with Default (recommended) as the actual label.
  • Fixtures cover Sonnet 5.5 in both row orders, unknown future families/versions, opaque provider IDs, explicit custom names, context variants, descriptions without capability prose, and unnamed defaults. Sonnet 5.5 is explicitly asserted absent from the static fallback catalog.
  • cargo run --locked -p zeron-harness --example claude_models_probe: read-only live discovery against Claude Code 2.1.286 confirms claude-sonnet-5-5 => Sonnet 5.5 using Claude's supplied metadata, without sending a user prompt/model turn.
  • cargo test --locked -p zeron-harness
  • cargo test --locked -p zeron-ui --lib normalize_ -- --test-threads=1 (2 passed).
  • rustfmt --edition 2024 --check crates/harness/src/claude/catalog.rs crates/harness/tests/claude_models.rs crates/harness/examples/claude_models_probe.rs; git diff --check.
  • cargo clippy --locked -p zeron-harness --all-targets -- -A clippy::non_octal_unix_permissions passes with no new warnings in changed code. Unmodified cargo clippy --locked -p zeron-harness --all-targets fails on existing Permissions::from_mode(0) calls at crates/harness/src/skills.rs:874 and :911, both present on upstream main.
  • Native selector screenshots were not captured. The label is verified through the production catalog and picker normalization tests; this patch changes no UI layout or styling.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

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