Repository navigation
feat(acpmux): durable native workflow CI machines [ask-6ef2624788] - #33982
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
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-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-f13eb5f2f92091514f98
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f13eb5f2f92091514f98
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-f13eb5f2f92091514f98
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f13eb5f2f92091514f98
Adapted from 2379048f121b; exact prompt cancellation is a separate dependency. 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-f13eb5f2f92091514f98
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-b1f8de9bd6990c23fb3c
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-b1f8de9bd6990c23fb3c
|
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:
|
|
Review (subagent claude-opus-5-5 medium): SHIP at ef86e85 Visual verdict: unchanged by this diff (no UI code). I read the whole diff from 63381ba to ef86e85. Here is what I checked:
Findings:
Follow-ups: marker forgery affects only the reported exitCode; full log stored twice in the run record; a transient wait error cancels a live job; unpinned target_worker echo; early error for an unpushed HEAD. |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-b1f8de9bd6990c23fb3c
|
Review (claude-opus-5-5 medium, coordinator delta): SHIP at cf82249 This is a delta from SHIP at ef86e85 (#33982 (comment)). The new head adds one commit, in Carried findings:
Follow-ups: cmux#34029, cmux#34030, cmux#34031, plus the five from the ef86e85 review. |
Native workflow
machine(command, {on: "ci"})now submits through the installed authenticated cmux-ci client. Each activity persists its exact repository, source SHA, relative working directory, requested worker, command, and stable request key before submission; retries attach to the same controller binding and cancellation uses its exact receipt and digest.The adapter reads verified complete output and the command's actual exit status, refuses missing or conflicting bindings, and never falls back to local execution. Arbitrary peer command execution remains refused.
Leo-ask: ask-6ef2624788
Validation: static prepush checks pass. The initial adapter compiled and passed its focused remote test run 41662771589 at
100e4bba495adb5a1dbc453d1e09b5ec0383fdbe. Integrated verification 41670356514 passed 91 workflow library tests and strict acpmux library clippy atef86e85e13feead6c1a5441f772c56cf3346d2d6. Final checked-range successorcf8224938b9f51e366dacbe91512ab7432b3b67apassed the same 91 workflow tests and strict clippy in 41672647323, exit 0. Independent Opus 5.5 medium review is SHIP at that exact head. Coverage exercises lost acknowledgement, immutable resume inputs, conflicting binding, exact conditional cancellation, complete output and nonzero exit status, and unavailable client.Follow-ups from independent review: #34029 retains retryable cleanup after cancellation failure; #34030 handles pause before first submission; #34031 preserves late background-descendant output. Additional Opus follow-ups: #34037 hardens exit-marker framing, #34038 avoids duplicated durable logs, #34039 retries transient wait errors, #34040 verifies unpinned assigned-worker echoes, and #34041 improves unpushed-HEAD diagnostics. The CI adapter lane owns these follow-ups.
The panic ratchet has the same base count (
acpmux: clippy::indexing_slicing 714 > baseline 686), with no added indexing sites. The protocol IR check fails the sameprotocol::tests::protocol_ir_is_currenttest on base63381baf63019d678cffac2288ad00b3cfc2e871, run 41669629482, confirmed by the repository base-red comparator.Risk: replay/cancellation behavior depends on the existing request-key controller contract; older controllers fail closed. No controller, capabilities, or security-policy changes.
Waiting uses bounded controller long polls and rechecks the run generation between waits. Client processes have a 300-second deadline, stop when their future is dropped, and keep the same saved request key. Temporary receipts and complete logs are removed with their activity-owned temporary directory.
Built on merged workflow foundations #33779 and #33811; the integrated diff contains only this CI adapter.
🤖 Generated with Codex
Agent session: agent session