cmux NEXT: the Chief's status, subagents and actions in its pane's tab row
Merged
TE
16d ago+581+581+012345678901234567890123456789-6-6-0123456789
Follows #22759 (merged): the sidebar's Chief item.
Summary
Leo asked (2026-10-20) for the Chief's pane to get a top-right area like a normal workspace's, holding its status, subagents and actions, in the same place as a chat's tools in the pane's tab row (PaneTabRowSharing, #22655, #22758, #22769).
- The docked Home's Messages view (the Chief's chat) shares its pane's tab row.
HomeDockSwitchViewconforms toPaneTabRowSharing:tabRowToolsWidth/tabRowToolsNeedgive the shown view's tools' width (tabRowToolsNeedis kept after the row ends).- The tools sit at the row's trailing end, left of the pane's own toolbar.
- The view lays its content under the row, and sets
setTabRowCover, only while the tools are in the row. - Channels has no tools; switching to it tells the pane.
- The page-tab wrapper forwards the row.
InternalPageViewforwards the row to its page through a newPaneTabRowForwardingprotocol in CmuxNextDesign. That is a one-line conformance, so CmuxNextApp does not grow. ChiefPaneTools(CmuxNextAgentLanes) draws the tools:- the Chief's status mark: the same
ChiefSidebar.statusas the sidebar item; its slot is kept while idle; - Subagents: every subagent with its status; a row opens like its sidebar row;
- Chief Actions: Stop Chief, Chief Settings, the Memory Inspector, Usage, New Chief, all from the catalog with their shortcuts.
- the Chief's status mark: the same
- Wiring.
ChiefSidebar.bindregisters the tools factory (HomeDockSwitchView.makeRowTools). - Off switch. The tools follow
ChromeTunables.tabRowTools: with it off, there are no tools.
Testing
HomeDockTabRowToolsTests(new):- the width is reported;
fitsTabRowholds and fails in the right rooms;- the tool and content frames are right with the row offered and without it;
- Channels reports no tools, keeps the need and tells the pane once.
prepush-gate.py: no new violations.check-app-size.sh --base origin/feat-cmux-next: OK.
Observed / Not run
- Observed: the static gate and the size cap, run locally.
- Not run: the Swift build and the tests. Per the repo rules, they run on CI, not on this Mac. I have not dogfooded this in a tagged build.
Changelog
- Added: The Chief's pane shows the Chief's status, its subagents and its actions at the right end of its tab row.
Strings: 2 new keys (chief.tools.subagents, chief.tools.actions) in 21 locales, in a new CmuxNextAgentLanes string catalog.
Agent session: cosmic-gray
🤖 Generated with Claude Code