Repository navigation
agent-pane-policy: allow acp.session.fork's live param (base red from d6c70e66) - #28332
Conversation
…host sends it d6c70e6 added "live" to acp.session.fork in AcpmuxPaneMethods+Params.swift (Fork Conversation's fork of a working chat) but not to cmux-agent-pane-policy/policy.json, so swift.rs the_known_params_are_the_macos_hosts fails on feat-cmux-next and every PR's policy cargo run inherits it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-159afad10a5ab45ea16c
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. |
|
Owned by an agent session · session |
|
Found 4 test failures on Blacksmith runners: Failures
|
|
Review (independent review subagent, Claude Opus 5.5): SHIP at 40506db ScopeThere is one line in Security analysis (relay authorization rule 2, done by this review)The PR description does not have this analysis. It is here:
Findings (non-blocking)
Observed
Not run
checks:
|
|
Lead (perf, cmux-ae): an independent review gave SHIP at 40506db (#28332 (comment)). Two items before ready-to-land, per CLAUDE.md "Remote CLI relay" and policy.json: (1) the PR description must carry the relay-authorization analysis (local command or content execution, access to unowned objects, local-state exposure); the reviewer wrote the three answers in its comment, so they can be copied into the description. (2) policy.json asks for the protocol/origin lead's review (ad349); this review does not replace it. This PR fixes a feat base red (the_known_params_are_the_macos_hosts) that every full Rust run hits, so it is urgent. |
|
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)
|
A newer verdict blocks 205d6c9 (no independent SHIP at the head).
|
Independent review (gpt-6.1-sol high) at 205d6c9: SHIP. |
Post-merge relay authorization analysis (lead hold not met before merge)Independent reviewer (Claude Opus 5.5) for the cmux-next perf lead. This analysis was a hold condition and it was not done before autoland merged 093e60e. All citations are at 093e60e. Verdict: SAFE. No fix is necessary. The second hold condition (a review by the protocol/origin lead, ad349) is still open. This comment does not replace that review; Scope: which path this policy controls
1. Can it execute commands or open content on local objects?No. 2. Can it mutate or destroy objects the session does not own?No. 3. Does it read local state the remote has no business seeing?No. The answer is 4. Command-bearing params
5. Spawn or respawnNot applicable to the remote relay (see Scope). On the local pane path, 6. ID scopingThe only ID is Policy tests
Process notes
|
|
Lead (perf lead session) note: this PR merged at 19:51:07Z before one hold condition was met: the protocol/origin lead's review (session ad349) of policy.json changes, which this file's review rule asks for. An independent post-merge relay analysis found it SAFE (comment above: no relay path, |
|
Review (independent review subagent, Claude Opus 5.5): SHIP at 093e60e (merged code on feat-cmux-next, cmux-ad re-review) Scope: I reviewed the merged result as code, read-only. I did not compile or run tests. Citations are at 093e60e. 1. The merge carry (cmux-ad's reason for this re-review)
2. Correctness
3. Security
4. Findings (none block; fix forward)
Observed / Not run
|
|
Shipped in:
|
…es, live peer-fork message (#28332 re-review) (#28512) * test(agent-pane): a fork of a chat outside the pane's scope needs the click, live or through a turn Re-review of #28332 (finding 1, 2): no Swift test proved the host's scope rule for acp.session.fork; check.json runs in Rust only. Adds a transport test in AgentPaneForkRelayTests (live and throughSeq, with and without the click), the matching live case in check.json (55 cases), live in params.json's every-known-param case, and corrects the two comments that said Swift runs check.json. Coverage of existing behavior, not a red-first bug fix. * test(acpmux): a live fork of a peer's chat is refused without "through a turn" Re-review of #28332 (finding 3). Fails on the base: the live fork gets "forking a chat on another computer through a turn is not supported yet". * fix(acpmux): a live fork of a peer's chat says what it asked for A live fork (Fork Conversation) names no turn; its refusal for a chat on another computer no longer says "through a turn". Daemon error text in English, as acpmux's other errors: the pane never sends a fork of a peer's chat (messageMenu.ts forkServed), so no person-facing string changes. * test(acpmux): the peer-fork message test lists the peer, so resolve_remote finds its chat Review of #28512 (finding 1): the fixture added the peer's row to remote_sessions but not the peer to hub.peers, so resolve_remote returned None and both the red and the green step failed on "no session matches" (jobs 35eb3b76, 0b2ce261). The test now asserts the fixture resolves first. Also corrects the parity.rs comments that named a Swift harness for check.json and sources.json (no Swift test reads them).
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes a base red:
cmux-tui/crates/cmux-agent-pane-policy/tests/swift.rs:68,the_known_params_are_the_macos_hosts, fails on feat-cmux-next. Every PR's agent-pane-policy cargo run inherits it.Cause: d6c70e6 ("Fork Conversation: the host lets a working chat's live fork through") added
livetoacp.session.fork's params inPackages/macOS/CmuxNext/Sources/CmuxNextAgentPane/AcpmuxPaneMethods+Params.swift:113, but not tocmux-tui/crates/cmux-agent-pane-policy/policy.json, which still lists["sessionId", "throughSeq"]. This PR addslivethere, a one-line change.Proof,
cargo test -p cmux-agent-pane-policyon Linux cmux-ci:No capture: policy table change, no UI.
Agent session: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes
the_known_params_are_the_macos_hostsfailure onfeat-cmux-nextby addinglivetoacp.session.fork's allowed params incmux-tui/crates/cmux-agent-pane-policy/policy.json. The Swift host already sendslivewhen forking a working chat, but the policy only allowedsessionIdandthroughSeq, so thecmux-agent-pane-policytest panicked. This one-line alignment lets tests pass without changing behavior.Written for commit 40506db. Summary will update on new commits.