feat(cmux-next): add shared harness /status card
This adds a cmux-owned /status command and a shared inline status card for every ACP harness. The card renders the effective session metadata already carried by acpmux: version, session id, cwd, host, model, effort, named auth source, route, settings sources, context usage and usage limits. Credential values are never rendered.
The status action is handled in the existing composer dispatch path, so it cannot silently pass through or no-op. The card dismisses locally and resets when the session changes. Public gallery fixtures cover Claude, Codex and OpenCode with deterministic light/dark-compatible states.
Lawrence asked for this surface: "/status to show" and "for all the harnesses would be nice too".
Validation:
python3 scripts/verify-local.py(10/11 selected checks passed; no native compilation selected)scripts/web-lint.shreached the web checks; the remaining failures are pre-existing base design-token/text-focus violations, while the changed files are clean after fixing the two type errorscmuxCommands.test.tscovers cmux ownership and readiness filtering
Design reference: manaflow-ai/cmux-design-references/apps/claude/live/usage-status-popover.png and composer-status-row-below.png; the card keeps the same quiet secondary status treatment and avoids a boxed transcript panel.
Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a16b97-50ba-7f72-aca2-e1353517ee60&host=huge-blue
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Adds a cmux-owned /status command and a shared inline status card for every ACP harness.
The card renders the effective session metadata already carried by acpmux—version, session id, cwd, host, model, effort, named auth source, route, settings sources, context usage, and usage limits. Credential values are never rendered. The status action is handled in the existing composer dispatch path, so it cannot silently pass through or no-op. The card dismisses locally and resets when the session changes. Public gallery fixtures cover Claude, Codex, and OpenCode with deterministic light/dark-compatible states.
New Features
/statusis available in every harness chat, stays cmux-owned, and can be disabled while a pane is not ready.- acpmux now carries
agentInfo, auth source, base URL, route, settings sources, and usage limits from the agent summary.