cmux NEXT Settings > Chief: Diagnostics says whether the Chief runs and checks each backend

Closed
TE
12d ago
+1238-4

Summary

Settings > Chief redesign, card 4 of 4 (Chiefs #23851, Look #23871, Behavior, Diagnostics; Leo's list #89(2)). Behavior follows once #23773 and #23781 land.

The Chief page ends with one glass Diagnostics card. It changes no settings.

  • Chief row: says Running, or Not running with the reason ("Chiefs show here when this build's Chief is running."). It reads the same cmux.chief.profile.list relay the Chiefs card reads.
  • One row per backend that acpmux lists for a Chief (cmux.chief.backend.list), named the way acpmux names it (Claude Code, Codex). Each reads Ready, or its unavailable reason, and has a Check button.
  • Check runs the hello turn the Chief editor runs before it saves a backend (cmux.chief.backend.doctor {id, prompt: true}). The answer stays in the row: "Checked: it answered.", or "The check failed at prompt." followed by the step's detail and "Fix: …". After that the button reads Check Again. Check is disabled while the Chief isn't running.

Changes:

  • SettingsPageLayout.Card.chiefDiagnostics, the Chief category's trail. The settings exports (settings-schema.json) come from the PR autofix; none is hand-edited.
  • webviews/src/pages/settings/components/ChiefDiagnosticsCard.tsx, plus its wiring in categories.ts and SectionView.tsx.
  • Eight chief.diagnostics.* strings in all 21 locales. The rest reuse the editor's chief.backend.checking/passed/failed/fix/recheck.
  • The mock answers doctor per harness (MockOptions.chiefDoctor).
  • New gallery state pages.settings / chief-diagnostics, with a failed Codex check.
  • Stale comments from #23871's review are updated in SectionView.tsx and SettingsPageLayout.swift.

Before / after

MEDIA

Test

  • bun test src/pages/settings/chiefDiagnostics.test.tsx
    • Red at 5cc398f: 4 fail (no chief-diagnostics card).
    • Green at 461f62d: 4 pass. That run used a local, uncommitted export with the Chief trail the autofix will write. CI runs it against the regenerated export.
  • ChiefSettingsPageTests.chiefEndsWithDiagnostics (Swift): the Chief category's trail ends with .chiefDiagnostics. It runs in CI's cmux-next swift test.

Observed / Not run

  • Observed: on huge-blue, bun test chiefDiagnostics chiefsCard chiefPetCard gave 18 pass with the patched export.
  • Not run locally: the Swift test and the Swift compile (they run in CI), and the full bun run check, which runs on cmux16 after autofix.

No capture: Settings > Chief is the Settings web bundle; the gallery before/after renders that page. The native-side changes are a layout enum case and its test, with no Swift UI code.

Changelog

  • Added: Settings > Chief > Diagnostics shows whether the Chief is running, and checks that each backend answers.

Agent session: huge-blue

šŸ¤– Generated with Claude Code


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


Summary by cubic

Adds a Diagnostics card as the last card in Settings > Chief, showing whether the Chief is running and letting you check that each backend answers a hello turn.

  • Each backend row shows Ready or its unavailable reason, plus a Check button that runs the same doctor call the Chief editor uses and keeps the result in the row, including the failed step, its detail, and its fix.
  • Check is disabled while the Chief isn't running, and a doctor reply that lands after the card closes is dropped.
  • Each Check is labeled "Check " for screen readers, and its answer is an <output> status.
  • Adds eight chief.diagnostics.* strings across all locales (Chief kept untranslated) and a gallery state with a failed check.