Repository navigation
workflow: execute durable local agent and machine activities - #33779
Conversation
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
…-workflow-executor # Conflicts: # cmux-tui/crates/acpmux/src/lib.rs
… outcomes Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d39ec4d1a1c69bb721ec
…errupted prompts Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d39ec4d1a1c69bb721ec
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d39ec4d1a1c69bb721ec
… lifecycles Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d39ec4d1a1c69bb721ec
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d39ec4d1a1c69bb721ec
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d39ec4d1a1c69bb721ec
|
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)
Shipped in:
|
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-62212972239ec6a32fed
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d8021dc40c61c7f7b852
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-911d6e3b0a43b52512dd
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-911d6e3b0a43b52512dd
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Review (subagent claude-opus-5-5 medium): SHIP at 644ca8e Delta since the SHIP at 44b2ead: one hunk in Checked: Findings:
Follow-ups: regression test for stalled automatic retry -> fallback prompt identity; check |
Persist the original retry prompt cancellation target alongside Restart before clearing its admission identity. Replay cancels that target before admitting the fallback; a regression simulates the crash gap with an active original retry. Also flatten the activity-cleanup guard for strict clippy. Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c3deabb1b73f18aa4204
|
Review (subagent claude-opus-5-5 medium): SHIP at bb14a21 Delta 644ca8e..bb14a21 is one commit (no base merge): What I checked:
CI at bb14a21: 8 passed, 0 failed, 3 pending. GitHub reports the PR as CONFLICTING with feat-cmux-next, so it needs a base update before it can land. Follow-ups: [follow-up] |
…-workflow-executor # Conflicts: # cmux-tui/crates/acpmux/src/bg_run.rs
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
…unch Preserve the newly merged background description and completion-notification arguments in the stable-ID adapter, including the Arc receiver its watcher needs. Ordinary tasks retain the base behavior; workflow tasks use their own durable completion path. Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c3deabb1b73f18aa4204
|
Review (subagent claude-opus-5-5 medium, carried): SHIP at 0b9a897 This carries the SHIP at bb14a21 (#33779 (comment)). The new head merges base a34003d. I compared the PR's own diff against its base parent at both heads. Apart from the conflict resolution in adjacent bg_run.rs tests, which keeps both sides, the only difference is two lines in the regression test. The test now drives the real gap: a Follow-ups: cmux#33976, cmux#33977, cmux#33978 (filed by the lane). |
|
Review (claude-opus-5-5 medium, coordinator): SHIP at 46beb0d This is a delta review from the carried SHIP at 0b9a897. The only new commit is 46beb0d, in bg_tasks.rs and workflow_activity.rs. It brings the stable-ID launch in line with the background
There is no behaviour change beyond that. The exact-head run 41662804193 passed fmt, 83 workflow tests, 15 bg_ tests, strict clippy and the mutation proof. Follow-ups: none new (cmux#33976, cmux#33977 and cmux#33978 stand). |
#33317 added result_line to bg_start and the Spec, and #33779 moved the spawn into bg_start_with_id without it, so feat-cmux-next fails with E0425 at hub/bg_tasks.rs:160. Workflow activities start with result_line false. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa (cherry picked from commit 124e4c1)
…#33347 met #33779) (#34058) Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Workflow
agent()andmachine()calls reserve durable child identities before effects, reattach interrupted work, and preserve the exact final assistant reply or complete machine output. Parallel activities enqueue independently and receive distinct session names. A fallback after a stalled daemon retry reserves its own prompt identity before admission.Agent replies get one schema correction; inactivity nudges once, then restarts on a configured permitted harness or route, then fails. Account, capacity and permission waits keep the existing recovery path. Exact child ownership prevents cancelling logical siblings, and waiting for a machine task cannot delay daemon shutdown. Uncertain machine launches fail closed.
This executor replaces one seam of #33755 and builds on the merged journal, reply policy, lifecycle and cancellation foundations. QuickJS, remote agent placement and public CLI/tool wiring remain separate PRs. CI placement stays refused here and is tracked in #33778. At 2,357 added lines this is one coupled executor state machine, its authenticated activity RPC, complete-output adapter and regression tests. The independent seams—QuickJS engine, CLI/tool wiring, remote placement and CI adapter—stay in their own PRs; splitting these handlers from their recovery tests would leave neither independently useful.
Validation: exact-head fleet run https://github.com/manaflow-ai/cmux/actions/runs/41662804193 passed at
46beb0d5c95d851ce9b590f42c3fae4fcbf8b4d6: the route-nudge crash regression fails with the persisted cancellation target omitted, the source is restored, then formatting, all 83 workflow tests, 15 background-task tests and strict acpmux all-targets clippy pass. Static prepush checks pass. The separate protocol IR check reports inherited drift for two MCP connect methods; its registry, source and committed spec are unchanged from the merged base, and all other protocol tests pass. The separate clippy job fails only the inherited indexing panic count: all emitted diagnostics were compared against this diff, with zero hits on added lines; strict all-targets clippy passes in the focused run.Independent review: Opus 5.5 medium SHIP at
46beb0d5c95d851ce9b590f42c3fae4fcbf8b4d6: #33779 (comment).Follow-up: complete machine output is retained in its spool but still collected and serialized whole in memory; #33851 tracks reading it in pages. Additional review follow-ups are #33976 (coalescing detached lock waits), #33977 (explicit-null placement semantics), and #33978 (validating an alternate before recording Restart). #33841’s route-nudge crash boundary is covered here. Signing, notarizing and publishing credentials remain outside the workflow runtime.
Leo-ask: ask-6ef2624788
Leo asked: “go do all those/help out where you can + examine how you can improve yourself and your available options and capabilities and speed”. Design: teamleaderleo/leo-workspace#624 §3.2–3.3.
🤖 Generated with Codex
Agent session: agent session