cmux NEXT: show Chief agent messages in default Home
Native Home now consumes the persisted Chief tell and report rows from PR #26965. The default MessagesLab Home conversation shows outgoing tells and incoming agent reports inline, including after reload and when the run has ended. Rows are read-only transcript items, anchored to the originating question or answer, and paginated through older silent runs.
This is PR 2 of the split requested for Leo's Chief message visibility ask. PR 1 (backend + Channels) is #26965; this PR is the default Home path that Leo actually sees.
Leo's words:
"I'm still using you right now instead of Chief because the interface of this current thing I feel, like, allows me to do a bit more, especially with, like, the communicating back and forth. I don't know how that, like, messaging back and forth works in Chief. Is it? It's even visible? If we want it to be visible. Because, I don't know, I feel like they hide a lot of tool codes, but I need to, like, see the messages coming in back and forth at the very least."
The native rows reuse Home's quiet transcript styling and do not alter the default Home selection or hide existing controls. Channels remains an opt-in surface. Run metadata preserves wire thread/timestamp fields and revisions. Only runs anchored to loaded messages have their steps fetched, serially with cancellation and monotonic pagination; revision-only tool/talk events do not invalidate the transcript. Refused deliveries retain their reason with a localized error label. Unrelated tools with arbitrary JSON input cannot discard a report page.
Validation: the native app compile passed, as did the focused Home core message and reconnect suites on a fleet Mac (9 tests, including both full-connection and owner-only recovery). Daemon decoding (3 tests), Cloud pagination (1 test with 4 cases), and native message mapping (5 tests) all passed. A later regression reproduced misordered report fragments sharing a timestamp; the fix keeps their numeric step sequence. Its focused Home message and reconnect suites pass (10 tests). This head also incorporates the backend stopped-report and unsupported-port fixes and Channels history repairs from #26965. Static safety checks pass. Refused Cloud tells now update at the same step sequence because sequence is not treated as a revision clock. Before/after native captures and a strict fresh-home launch remain required; captures are paused for a fleet transport repair.
Nested replies retain the answered question as their parent. History reads preserve live step changes received while the snapshot is loading, so an older Cloud payload cannot hide a new refusal. All 12 focused message, hydration-race, and reconnect tests pass at this head (fleet job 840628a4a0c082714f4776f1). The app compile also passes at this head (fleet job 1d1b44eff9b683c557bf746b). Running the new regressions against the preceding implementation reproduces both bugs: nested rows have no parent, and a stale history snapshot replaces the live refusal (job a3c09b167b7088e812649042).
The risk is transcript placement and live/history reconciliation. Synthetic rows remain read-only and preserve existing message controls. Localization uses the existing translated status label. This native change is kept separate from the backend and Channels implementation for review. Its approximately 1,200 changed lines cover one native read/live/placement path plus regression coverage; splitting those parts further would leave incomplete transcript behavior. The endpoint limitation documented in #26965 also applies to Cloud runs sharing a timestamp beyond its 100-row page.
At ca7262d7ea9a0497a0366dc639c212c475fa82de: plans/cmux-next/daemon-capabilities.json lists the new conversation-run-answers-v1 capability (the committed-export freshness check passes); an independent gpt-6.1-sol review found no blocking issue; and the fresh-home launch passed (Home at 6.7 s, 30 s alive, no crash). The area's teammate owner was requested for review.
Related: #26965
Before and after
Synthetic real-app fleet captures of default MessagesLab Home. The baseline has the ordinary question and Chief reply. With this change, the outgoing tell and incoming report appear as additional read-only message rows. No existing control or default is removed.
| Before | After |
|---|---|
![]() | ![]() |
![]() | ![]() |
Changelog
Fixed: Chief messages to agents and their reports appear inline in default Home.
Agent session: agent session



