cmux: add first-class space CLI commands
Leo, 2026-10-30: “oh also spaces warrant good commnds too” / “good intuitive stuff”.
Add cmux space list, new <name>, switch <name>, rename <old> <new>, move workspace <workspace> <space>, move tab <tab> <space>, and close <name>. Each supports --json; existing flag-based space actions keep working. Names use the existing space resolver.
Mutations use the shared app action registry, with matching MCP operations. Moving a tab promotes only that tab into its own workspace and assigns it to the destination space; sibling tabs stay in the original workspace. The operation preserves window ownership and does not switch the person's space. Errors are returned through tracked asynchronous work.
Builds on the landed spaces model from #27308 and #27327. Tests cover CLI dispatch, JSON options, help, flag compatibility, and live-daemon tab membership and refusal behavior. Risk: moving a tab spans promotion and pinning; a failed pin is reported and leaves the promoted workspace owned by its original window.
Validation: app/package compilation, 14 action/link export parity tests, and both live-daemon TabMoveToSpaceTests passed. The new action title is translated in all 21 supported locales. The pre-push gate passes and an independent gpt-6-astra review approved fed20211fecf38c22880cc5ab27aad745e66a705.
Remaining validation: a broad Rust CLI run found 22 acpmux test stack-overflow aborts covered by open #29851, plus two cloud-help assertions for the share-machine action from #29283. The failed run is not excused as a base red. A current-head focused CLI run is in progress. The remaining CI panic-ratchet finding is being compared against base before landing.
Agent session: agent session