cmux NEXT Settings > Chief: Chiefs names models and efforts as people say them, on one glass card

Merged
TE
16d ago
+950-13

Summary

Settings > Chief redesign, card 1 of 4 (Chiefs, Look, Behavior, Diagnostics; Leo's list #89(2)). The Chiefs card names each Chief's model and effort as people say them and is one glass card.

  • Names, not ids. A row's backend read Codex · gpt-6-astra · high and Claude · claude-opus-5-5 · xhigh. It now reads Codex · GPT-6 Astra · High and Claude · Opus 5.5 · Extra High.
    • The model name comes from the harness's model catalog (cmux.chief.backend.list). If the catalog has none, it's read off the id the way the composer does (modelIdName). If neither works, the id shows.
    • The effort uses the composer's level names. There are six new chief.* strings (five levels, plus "%@ · 1M context"), with all 21 locales copied from the pane's catalog.
    • The Chief editor's Model and Effort pickers use the same names. Option values stay ids.
    • The helper is webviews/src/pages/home-channels/chiefNames.ts.
  • Glass card. The card is .ui-glass, with its title, help and rows inside it. In the refined look, the rows lose their own outline and their near-solid fill, because glass is never opaque. The title and help sit on the rows' 16px text edge.
  • Rows lay out across again. This was broken on base: layout.css's .row { flex-direction: column } loads after styles.css's .chiefs-row. So every Chief row stacked its picture, name, backend and Locked badge down the middle of the card (see the before shots).
  • The gallery's mock Codex harness now lists named models, so the gallery shows the catalog path.

Before / after (gallery pages.settings, 16x9 window)

Before (base 7692cfb)After (head e3a40aa)
before, Chiefs, darkafter, Chiefs, dark
before, Chiefs, lightafter, Chiefs, light
before, editor, lightafter, editor, light

Before: each Chief row is stacked down the middle with gpt-6-astra · high. After: rows lay out across on one glass card, reading GPT-6 Astra · High. The editor's Effort says High.

Test

bun test src/pages/settings/chiefsCard.test.tsx

  • Red at 6708cdd: 3 fail. A row read Codex · gpt-6-astra · high and Claude · claude-opus-5-5 · xhigh, the card had no ui-glass, and the effort options read low, medium, high.
  • Green at edcaebe: 9 pass.

Observed / Not run

  • Observed on cmux16 at e3a40aa:
    • bun run check: exit 0. Its one warning, check-system-blue on ui/importCards.css, is in a file this PR doesn't touch.
    • bun test src/pages/settings src/pages/home-channels: 260 pass, 0 fail.
    • Gallery before/after: base 7692cfb vs head e3a40aa, built and shot on cmux16 with Playwright.
  • Not run: no Swift build (no Swift changes) and no native capture. The page is the same web bundle in the app.
  • Follow-up, not in this PR: the editor's Agent harnesses checkboxes still show harness ids (claude, codex, opencode, pi).

Changelog

  • Changed: Settings > Chief names each Chief's model and effort as people say them ("Opus 5.5 · High"), not by id, on one glass card.

Agent session: huge-blue

🤖 Generated with Claude Code