fix(next): keep shell fragments out of running-command titles
Leo: “in general the "paying attn to detail" type thing” and “Like literally just do it better, do it faster”. His running-command strip showed a truncated shell fragment beginning rev-parse HEAD); cmux-ci run --class light ….
The strip now titles that work git rev-parse HEAD · cmux-ci run. It uses the existing shell lexer to keep substitutions whole and name their executed work, while preserving explicit descriptions and the full command in the tooltip and drill-in. The malformed prefix came from #24078 and was carried into the tray by #29921.
References: claude/live/status-background-commands-tray, claude/live/panel-context-and-background-tasks, and Leo’s running-strip capture (private). Gallery: agent-pane.subagent-tray, variants command-substitution, command-substitution-described, command-substitution-folded. Design spec: design/running-tray.md in leo-workspace.
Performance
| Metric | Before | After | Delta | Harness or run link |
|---|---|---|---|---|
| Malformed shell fragments in the reported title | 1 | 0 | −1 | Same reported command evaluated through base e0a3a54a6f40 and head title functions |
This measures title correctness, not frame pacing. No timer, observer or animation loop is added.
Validation: focused title checks and TypeScript parsing passed. The previous candidate's fleet rendered tray suites and three gallery variants passed; the final arithmetic-expansion correction is running the shell parser and both tray suites plus full web checks at ef6f755e68cf9c187b413c7d7d3b348c8d86edc6. Independent review passed at that exact head. The captures cover dark theme; genuine light-theme coverage remains a follow-up. The raw command remains available, and reverting this PR restores the earlier title path.
Changelog
Background command titles show the operation instead of a truncated shell substitution.
🤖 Generated with Codex
Agent session: agent session