Skip to content

acpmux: regenerate the protocol IR for the machine consent methods (base red) - #27438

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
fix/acpmux-protocol-ir-stale
Oct 29, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
fix/acpmux-protocol-ir-stale

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes a base red. protocol::tests::protocol_ir_is_current fails on every cargo test -p acpmux --lib run on feat-cmux-next (60 of 60 in our runs at 13531e3): "spec/acpmux-protocol.json is stale". Never blocked.

Cause

#27216 registered _acpmux/machine_consent_set, _acpmux/machine_consent_get and _acpmux/machine_consent_refused in the protocol registry. It did not refresh the committed IR or the web method catalog generated from it.

Fix

Regenerated, with no hand edits:

  1. ACPMUX_PROTOCOL_BLESS=1 cargo test -p acpmux --lib -- --exact protocol::tests::protocol_ir_is_current
  2. bun run acpmux-protocol:codegen in webviews

Only the three new methods appear, in the IR and in generated/methods.ts. They are untyped (params: unknown), like their pair_* neighbours.

Evidence (Linux, cmux-ci test)

run tree result
protocol_ir_is_current base stale, failed (run)
cargo test -p acpmux --lib -- protocol:: and bun run acpmux-protocol:check this head 5 passed; codegen check clean (run)

No capture: generated protocol catalog only; no UI renders differently.

Risk: none at runtime. These are generated files only.

Agent session: agent session

🤖 Generated with Claude Code

…ase red)

#27216 registered `_acpmux/machine_consent_set`, `_acpmux/machine_consent_get`
and `_acpmux/machine_consent_refused` without refreshing
spec/acpmux-protocol.json, so `protocol::tests::protocol_ir_is_current` fails
on every lib run. Regenerated with ACPMUX_PROTOCOL_BLESS=1, then
`bun run acpmux-protocol:codegen` for the web method catalog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-1288bbb2b5d2f5c6b66a
@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 0b15beb: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr27438 -f ref=fix/acpmux-protocol-ir-stale -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards. This PR merged before its CI finished: fix forward on main.

CI failed on 0b15beb189 (run 40889365564 attempt 1): 3 code, 1 unknown.

Job Verdict Why
web / react-apps-base-check (3) code a web test failed
web / react-apps-base-check (1) code a web test failed
web / react-apps-base-check (2) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs chiefLook.test.tsx search renders Bubble Style in the Look card: failed (job)
  • seen on other PRs rowSummary.test.tsx no description line on any Settings page is over 60 characters, in any language: failed (job)
  • seen on other PRs rowSummary.test.tsx every schema summary fits 60 characters in every language: failed (job)
  • seen on other PRs glyph-alignment.test.ts glyphs use shared row geometry in light and dark: failed (job)
  • seen on other PRs transcript-fold-no-blank-space-browser.test.ts a long turn with notifications, bookkeeping and messages draws no blank space, folded or open: failed (job)
  • seen on other PRs transcript-gap-select-browser.test.ts chromium: RTL document gaps and both gutters preserve rtl line endpoints: failed (job)
  • seen on other PRs transcript-gap-select-browser.test.ts chromium: RTL document gaps and both gutters preserve ltr line endpoints: failed (job)
  • seen on other PRs transcript-gap-select-browser.test.ts webkit: RTL document gaps and both gutters preserve rtl line endpoints: failed (job)
  • seen on other PRs transcript-gap-select-browser.test.ts webkit: RTL document gaps and both gutters preserve ltr line endpoints: failed (job)
  • seen on other PRs transcript-gutter-select-browser.test.ts chromium: a drag from each row gap starts at its nearest mounted caret: failed (job)
  • ... 9 more in the job logs
Matched log lines
web / react-apps-base-check (3): (fail) search renders Bubble Style in the Look card [3479.78ms]
web / react-apps-base-check (1): (fail) glyphs use shared row geometry in light and dark [15173.13ms]
web / react-apps-base-check (2): (fail) keeps shell command dollar signs as plain text without dropping content [4.14ms]

Not re-run automatically: web / react-apps-base-check (3), web / react-apps-base-check (1), web / react-apps-base-check (2), web / react-apps-check are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 5889445; does not block
red: web / Web status; base red: the same failure on the base 5889445; does not block
red: web / react-apps-base-check (1); no finished base run on 5889445 to compare; do not merge until green; see lane-rules
red: web / react-apps-base-check (2); no finished base run on 5889445 to compare; do not merge until green; see lane-rules
red: web / react-apps-base-check (3); no finished base run on 5889445 to compare; do not merge until green; see lane-rules
red: web / react-apps-check; base red: the same failure on the base 5889445; does not block

Gallery before/after for 0b15beb: 16 states rendered, 1 images differ, 2249 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 40889365359 -R manaflow-ai/cmux -n gallery-advisory-27438-0b15beb1898eda9af7363da65d50f27b22e4ab57 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.auth-health/signed-in Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.auth-health/signed-in Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.auth-health/signed-out Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.auth-health/signed-out Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.auth-health/expired Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.auth-health/expired Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.auth-health/unknown Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.auth-health/unknown Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.chat-width/standard Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.chat-width/wide Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-edge/short-edge Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-edge/short-edge Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-edge/wide-edge Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-edge/wide-edge Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-edge/no-edge Apple System Colors Light changed 0.0056% imports methods.ts (2 hops)
agent-pane.composer-edge/no-edge Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-floats/scrolled-to-end Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-floats/scrolled-to-end Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-floats/composer-grown Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.composer-floats/composer-grown Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.continuation-spacing/shipped Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.continuation-spacing/shipped Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.continuation-spacing/two-thirds Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.continuation-spacing/two-thirds Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.continuation-spacing/half-tucked Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.continuation-spacing/half-tucked Apple System Colors unchanged 0% imports methods.ts (2 hops)
agent-pane.continuation-spacing/before Apple System Colors Light unchanged 0% imports methods.ts (2 hops)
agent-pane.continuation-spacing/before Apple System Colors unchanged 0% imports methods.ts (2 hops)

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 29, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@blacksmith-sh

blacksmith-sh Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Found 7 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp37mbevum/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmp6j1lm097/summary-fail.json (live):/summary-fail.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
test_live_raw_v12_layout_and_history_contracts_are_exact (test_ir.IrTests.test_live_raw
_v12_layout_and_history_contracts_are_exact) (command='new-pane-right')/
test_live_raw_v12_layout_and_history_contracts_are_exact (test_ir.IrTests.test_live_raw
_v12_layout_and_history_contracts_are_exact) (command='new-pane-right')
View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-sev31u created for this PR by the cmux coordinator.

@teamleaderleo teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review (gpt-6-astra, high, fast; independent Codex reviewer): SHIP at 0b15beb

No correctness findings. Only the two expected generated files change. All three methods appear in registry order (set, get, refused), with matching untyped request shapes in the JSON IR, the TypeScript interface and the method catalog. Nothing is missing and nothing unrelated changed.

Reds at this head, all base reds that fail the same way on feat-cmux-next, none this PR's:

  • cmux-tui SDKs / protocol contract and cmux-tui spec inventory / inventory: test_ir test_live_raw_v12_layout_and_history_contracts_are_exact, command new-pane-right.
  • cmux-next checks: No new SwiftUI.

@teamleaderleo
teamleaderleo merged commit 5f448b1 into feat-cmux-next Oct 29, 2026
191 of 201 checks passed
@teamleaderleo
teamleaderleo deleted the fix/acpmux-protocol-ir-stale branch October 29, 2026 14:30
@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

teamleaderleo added a commit that referenced this pull request Oct 29, 2026
…ux (#27599)

* ci(cmux-tui-spec): run acpmux's protocol tests on PRs that touch acpmux

spec/acpmux-protocol.json is generated from acpmux's protocol registry, but
only the dispatch-only cmux-tui.yml ran protocol_ir_is_current, so #27050 and
the machine consent methods left a stale IR on base until #27556 and #27438
regenerated it. A new acpmux-protocol-ir job in cmux-tui-spec.yml (already
path-filtered to cmux-tui/**) runs `cargo test -p acpmux --lib -- protocol::`
when the change touches the acpmux crate, the cmux-tui manifest, lockfile or
toolchain, and skips the build otherwise. Lib target only, on Blacksmith 32
vCPU, with its own cargo cache saved from feat-cmux-next pushes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-1288bbb2b5d2f5c6b66a

* ci(cmux-tui-spec): quote the acpmux test step's name (a trailing :: is YAML)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-1288bbb2b5d2f5c6b66a

* ci(cmux-tui-spec): the acpmux scope diff lists both sides of a rename

Moving the IR out of the crate reported only the new path, which the scope
missed, so the job skipped while protocol_ir_is_current would fail.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-1288bbb2b5d2f5c6b66a

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

This branch was previously deployed

3 inactive deployments
artifacts — 0b15beb1 Deployed Oct 29, 2026 by teamleaderleo via add the Windows daemon to the tree #77175
sentry-dsyms — 0b15beb1 Deployed Oct 29, 2026 by teamleaderleo via upload cmux-tui dSYMs to Sentry #77175
ci-routing-agent — 0b15beb1 Deployed Oct 29, 2026 by teamleaderleo via cmux-tui tree preflight #77175
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant