Repository navigation
cmux-next: a DEBUG-only control that shows the Chief group in captures - #23638
Conversation
debug.chief_workspaces opens named workspaces on the local Chief machine through the same createWorkspace path as the sidebar's New Workspace, folds or opens the Chief group, and shows a row's hover card, so a capture slot can show the Chief group. The file and its registration are compiled out of release builds; a guard test pins both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-9c97-76c3-88d7-6d0422d2fadc&host=cosmic-gray
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-9c97-76c3-88d7-6d0422d2fadc&host=cosmic-gray
…rompt shows Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-9c97-76c3-88d7-6d0422d2fadc&host=cosmic-gray
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on e07aaec to compare; do not merge until green; see lane-rules |
|
Owned by chief-sidebar-2 on cosmic-gray · session |
|
Found 9 test failures on Blacksmith runners: Failures
|
Registers tests/test_cmux_next_debug_only_controls.py (linux-guard) and runs it in cmux-next guards; a registration in an #else branch no longer counts as DEBUG-only. The Chief wait stops on cancellation, and the tour gives the Chief owner 10 s to connect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-9c97-76c3-88d7-6d0422d2fadc&host=cosmic-gray
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-9c97-76c3-88d7-6d0422d2fadc&host=cosmic-gray
|
Bead |
…leep Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-9c97-76c3-88d7-6d0422d2fadc&host=cosmic-gray
|
Review (subagent, correctness first): SHIP at e2f1d90. Remaining reds are base reds: cmux-next checks fails only on Tier routing (and the ChiefWorkspaceName namespace lint, fixed by #23678), and crash-class rules flags HomeSidebarSplitView+Drop.swift:11, a base file. Fast gates pass; the app compiles on the fleet. |
…23684) * test(next): folding the Chief group keeps every sidebar section once Red: with the sidebar document active, the Chief group's chevron (.toggleCollapse(.section)) makes SidebarModel arrange its already arranged sections again. The document's sections above the machine lists come twice, and the second copy takes their rows, so the list drops by their height (~52 pt in #23638's folded captures). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-3a52-79c2-936b-9d51b5b12a8c&host=cosmic-gray * fix(next): folding a sidebar section folds it, not the whole list again A section fold (the Chief group's chevron, a selection opening a folded section) applied the window's collapsed sections by passing the shown, already arranged sections back into setSections. With the sidebar document active, setSections arranges its input, and arranging an arranged list inserts the document's sections above the machine lists a second time. The second copy took their rows (the layout keeps the last row per key), so the list dropped by their height and the top showed an empty band (#23638's folded captures: Home at y 96, not 44). A fold now toggles isCollapsed on the shown list as it is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-3a52-79c2-936b-9d51b5b12a8c&host=cosmic-gray * refactor(next): the section fold helper lives in SidebarModel+Folding.swift SidebarModel.swift is over the god-file ceiling on the base (566 lines); the fold fix grew it to 573. The helper moves to its own file; the model is 562 lines now. No behavior change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-3a52-79c2-936b-9d51b5b12a8c&host=cosmic-gray --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
The base merge brought +1103 more App lines from 26 commits since fee17be; the cap is the count at the merged head, and the baseline names the largest (#23651 +305, #23155 +285, #23527 +132, #23324 +92, #23638 +82, #23492 +57, #23588 +53, #23109 +48). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15bd2-60d2-70e1-8179-d3aa717c8828&host=cosmic-gray
…h (app size base red) (#23540) * cmux-next: raise the CmuxNextApp size cap to 134745, naming the growth (app size base red) check-app-size.sh is red on every feat-cmux-next push: "CmuxNextApp is capped at 128667 lines (now 134745, +6078)". The cap was set at 7817f10; since then 203 first-parent commits changed the target, net +6078. None of it is generated or dead (types checked for references across Packages/macOS); it is feature code, +4040 of it direct pushes (Files and Find +1795) and +2038 from PRs. The baseline comment names the largest. Follow-ups that would pay it back (SW14): FileExplorer/ (22 files, 1647 lines) into its own target with CmuxNextFiles.FolderWatcher instead of its own FSEvents stream, and BrowserDownloadsPopup.swift (468) out of the App target. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15bd2-60d2-70e1-8179-d3aa717c8828&host=cosmic-gray * cmux-next: the App size cap is the count at ae0d9b7 (135848) The base merge brought +1103 more App lines from 26 commits since fee17be; the cap is the count at the merged head, and the baseline names the largest (#23651 +305, #23155 +285, #23527 +132, #23324 +92, #23638 +82, #23492 +57, #23588 +53, #23109 +48). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15bd2-60d2-70e1-8179-d3aa717c8828&host=cosmic-gray --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
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.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.open: [name]opens the named workspaces;commandsets what each one runs, so a still can avoid showing the mini's shell prompt;collapse: Boolfolds or opens the Chief group through the sidebar's own.toggleCollapseintent;card: Intshows the hover card of one opened workspace.Server/ChiefCaptureControl.swiftis wrapped in#if DEBUGas a whole, and its one registration sits inside AppControl's existing#if DEBUGblock.tests/test_cmux_next_debug_only_controls.pypins both.debug.*method on the existing router.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-1d7dabed80at1c393a7ed552(fleet build, capture mini, text checked for private data)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_snapshottakes 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
Need help on this PR? Tag
@codesmith-botwith 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
createWorkspacepath 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. Acommandandcwdparam 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.pypins both and now runs in CI. Adds a tour atscripts/cmux-next/media/tours/chief-group.json.Written for commit e2f1d90. Summary will update on new commits.