cmux-next: a DEBUG-only control that shows the Chief group in captures

Merged
TE
16d ago
+201-0

Adds a DEV-only control method, debug.chief_workspaces, so a capture slot can show the Chief's sidebar group from #23391 and #23546. In a slot the app starts the Chief owner, but nothing starts subagents there, so the group is empty and draws nothing.

  • Same path as a person's New Workspace. It opens named workspaces on the local Chief machine through services.windows.createWorkspace(_:on:into:), the call behind the sidebar machine's New Workspace. It waits up to 30 s for the Chief owner to connect.
  • Params: open: [name] opens the named workspaces; command sets what each one runs, so a still can avoid showing the mini's shell prompt; collapse: Bool folds or opens the Chief group through the sidebar's own .toggleCollapse intent; card: Int shows the hover card of one opened workspace.
  • Compiled out of release builds, not just hidden at runtime. Server/ChiefCaptureControl.swift is wrapped in #if DEBUG as a whole, and its one registration sits inside AppControl's existing #if DEBUG block. tests/test_cmux_next_debug_only_controls.py pins both.
  • No new socket permissions. It is one more debug.* method on the existing router.
  • New tour: scripts/cmux-next/media/tours/chief-group.json.

The Chief group, expanded, from a capture slot through this method (open, command: cat, cwd: /tmp):

Capture steps-1d7dabed80 at 1c393a7ed552 (fleet build, capture mini, text checked for private data)

LightDark
lightdark

The folded group and both themes were captured too (local only); folding moves the list about 52 pt down, which is a separate fix. The right-click menu's "Started by Chief" item cannot be captured: debug.window_snapshot takes only the main window, and an NSMenu is a separate window. I have not worked around that.

Agent session: cosmic-gray

🤖 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 debug.chief_workspaces, a DEBUG-only control that lets a capture slot show the Chief's sidebar group, which is otherwise empty because nothing starts subagents there.

The control opens named workspaces through the same createWorkspace path as the sidebar's New Workspace, waits on an observation for the Chief owner (up to a 60 s deadline), and can fold the group or show a row's hover card. A command and cwd param keep the mini's shell prompt and home path out of stills. The control and its registration sit inside #if DEBUG, so release builds compile them out; tests/test_cmux_next_debug_only_controls.py pins both and now runs in CI. Adds a tour at scripts/cmux-next/media/tours/chief-group.json.