feat(chief): continue stopped turns and retry replies in Home

TE
5d ago
+1521-72

Home now offers Continue in the Stop button’s place after an accepted Chief stop, and Retry Reply on the person’s committed messages in a Chief conversation. Failed sends keep their existing Try Again action. Both new labels are translated in all 21 supported Home locales.

The Rust brain reopens the stopped reply obligations or the named owner message and queues one turn. It refuses Retry while busy, validates message ownership and conversation, preserves the stopped turn’s approval floor, and expires Continue when another message or turn arrives. Existing replies remain in the conversation. The owner-only daemon operations are registered in the protocol catalog and SDK descriptors. Native presentation and control forwarding live in the Home package; the app has 34 fewer lines.

Leo asked:

so lawrence was talkin bout makin all this "cohesive" between the chief and the gui capabilities/ui as in like whatever stuff im capable of seeing and doing in the gui i should be able to do in the chief and likewise the minimalist imessage (for now) ui of chief should be doable

Start Continue after Stop plus Chief turn retry now. Give it the extra-care path: a different-model review and a fresh-home launch, and ask Lawrence to look.

Risk: Chief turn lifecycle, persisted reply bookkeeping, and the owner-only control boundary. The Rust regression tests cover reopening, no-op Continue, busy refusals, duplicate clicks, retractions, edited text, and the approval floor after restart. Native intent tests cover Chief-only eligibility, canonical message IDs, and separation from failed delivery retries. This stays together because the brain operations, wire registration, and native controls form one usable feature; translation and generated API metadata account for much of the diff.

Related prior art: #30082 adds Chief acpmux tools; this change adds explicit owner turn actions and preserves the current brain sources and screen ingestion. #30065 and #30003 are untouched.

Validation

Head: bfecb8ff457fb33c9cad8fbb2cf87af48e69212f. Two commits: red regression tests, then implementation.

  • Pre-push static checks and architecture ratchet: pass. Rust formatting and diff checks: pass. Resource API boundary check: pass (366 public files).
  • Original red test receipt: fleet step 96bd2734117423ddaf698c5e at 2be03c3e9a8d4b73a9c9709e8a9384657982319c; Stop→Continue failed the expected continued == true assertion. The rebased test commit f5d44e1130fdb380fc32175470c72ca208f44398 also failed exactly that assertion in step c11ef1ae55c6c45c14c54d6b (one executed test; clippy and formatting passed).
  • Final-head Chief suite ccaa359d9494094179692029 (at the final fix head): 786 passed, zero failed, 24 existing opt-in tests ignored; clippy and formatting passed (243 s / 19 s / 1 s). All 11 Continue/Retry regressions passed, including resuming a stopped turn without open reply obligations.
  • Linux control-routing tests: final-head step e8d5bc25bc10f0ca065c6502 passed 10/10. The earlier step 8478d555bddd87a3950f63cc compiled successfully but selected zero tests because its filter used the filename instead of the Rust module name; it is not a test pass.
  • Native menu intent tests: df2363f8ae602fe4a64983e3 passed all six tests across HomeChiefRetryTests and HomeRetrySendTests; package test compile and five string catalogs passed. The final head has identical native Swift package trees to this receipt.
  • App compile at ea368: c095b445451ce244d65b0871 passed (app 61 s, bundled cmux-tui check 15 s). Final-head app compile 61b98ee519eb8ca745d6cfb6 passed (app 60 s, bundled cmux-tui check 15 s). Final-head app compile 79314340ed1cbbb2b7887f84 passed (app 61 s, bundled cmux-tui check 26 s). Final-head signed Mac debug build 875d00e86ed0f38a23ba5218 passed. Fresh-home passed at 7.7 s, stayed up 30 s with no crash: https://github.com/manaflow-ai/cmux/pull/30774#issuecomment-6558586419. The previous-head Mac build 44d231ceeb949625ce9e6154 completed successfully; launch validation will use the final-head build.
  • Lawrence is formally requested as a reviewer. Opus 5.5 medium review: SHIP at bfecb8ff457fb33c9cad8fbb2cf87af48e69212f: https://github.com/manaflow-ai/cmux/pull/30774#issuecomment-6558694118. Awareness comment: https://github.com/manaflow-ai/cmux/pull/30774#issuecomment-6556877878.
  • No screenshot attached; visual capture is a follow-up.

Changelog

Added: Continue a stopped Chief turn and retry a reply from your message’s menu.

Agent session: agent session

Review fix-forward at final head: quiet stopped-subagent reports no longer block Continue/Retry; all Home Stop entrypoints share the owner stop path with refusal feedback; Stop All records Continue availability; Retry Reply is hidden while the Chief is working.

Follow-up issue: https://github.com/manaflow-ai/cmux/issues/30959