Skip to content

ci(cmux-next checks): clear base reds (fixture host name, rollup placement job) - #34979

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
fix/cmux-next-checks-base-red
Nov 4, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
fix/cmux-next-checks-base-red

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

cmux-next checks has been red on feat-cmux-next since f8a134a (10 base runs, e.g. run 41784431837). Three blocking checks fail; this PR fixes each one.

Changes

  1. No fleet host names in gallery fixtures. Regressed by f8a134a (Running tray: background commands read in words, not shell #34845), and kept by 08b7547 (Agent pane: generic command labels, with fleet rules as an opt-in preset #34937), which moved the line into the cmux-fleet preset scene: SubagentTray.gallery.ts used a fleet CI wait command as a tray command. The preset scene (command-words-preset) now runs a sessions new -n 'Tray command labels' ... line, which the same preset reads as "Starting Tray command labels". Its note and play assertion were updated to match. command-rules.test.ts (not a fixture) still covers the CI-wait rule.
  2. Base-red classifier (per test). Regressed by 6fef0f8 (ci: route status reports through live light capacity #34849): ci-guards.yml gave guard-status a new need, portable-placement, whose if is not a route input, so derive_rollups refused the routed rollup (test_the_committed_contract_is_the_workflows). The job only places the rollup's runner and has no guard verdict of its own. base_red_excuse.py now names it in ROLLUP_PLACEMENT_JOBS and leaves it out of the routes. The committed base_red_rollups.json is unchanged and still equals the derived contract.
  3. Check the app FFI pin. 2e0b6ac (focus-core: a window whose focus waits for another tab is unsettled in the Rust world check (P0 INVERSE-KEY rule; A12 step A, R-INPUT S2) #34641) changed FFI sources and the re-pin job was stuck queued. The release bot has since landed the re-pin (cmux-next: pin CCmuxAppFFI to cmux-app-ffi-2e0b6acc359319c06eddc608d50e84895de41cc7 #34995), so this PR no longer touches Package.swift.

The warn-only style guards (Swift god files, scrollbars and the rest) report findings but do not turn the job red, so they are left alone.

Verification

  • python3 tests/test_base_red_excuse.py: 173 tests OK. On base, test_the_committed_contract_is_the_workflows errored.
  • python3 -I scripts/cmux-next/check-fixture-host-names.py: ok (580 fixture files). On base it reported 1 hit.
  • Fleet: bun test test/command-rules.test.ts test/subagent-tray.test.tsx gives 133 pass and 0 fail.

Changelog

none

Agent session: agent session

🤖 Generated with Claude Code

@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

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

Review a517670: 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=pr34979 -f ref=fix/cmux-next-checks-base-red -f platform=macos -f backend_mode=local

Gallery before/after for ca481f9: 16 states rendered, 22 images differ, 254 more touched states not rendered. Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41810435130 -R manaflow-ai/cmux -n gallery-advisory-34979-ca481f998c163bbc010358014866ae90fe0f0564 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.subagent-tray/geometry Apple System Colors Light changed 1.41% own SubagentTray.gallery.ts
agent-pane.subagent-tray/geometry Apple System Colors unchanged 0% own SubagentTray.gallery.ts
agent-pane.subagent-tray/grid-31 Apple System Colors Light changed 0% own SubagentTray.gallery.ts
agent-pane.subagent-tray/grid-31 Apple System Colors changed 0% own SubagentTray.gallery.ts
agent-pane.subagent-tray/panel-two Apple System Colors Light changed 0.0213% own SubagentTray.gallery.ts
agent-pane.subagent-tray/panel-two Apple System Colors changed 0.0183% own SubagentTray.gallery.ts
agent-pane.subagent-tray/panel-one-running Apple System Colors Light changed 0.0101% own SubagentTray.gallery.ts
agent-pane.subagent-tray/panel-one-running Apple System Colors changed 0.0094% own SubagentTray.gallery.ts
agent-pane.subagent-tray/short-dock Apple System Colors Light changed 0.104% own SubagentTray.gallery.ts
agent-pane.subagent-tray/short-dock Apple System Colors unchanged 0% own SubagentTray.gallery.ts
agent-pane.subagent-tray/panel-118 Apple System Colors Light changed 0% own SubagentTray.gallery.ts
agent-pane.subagent-tray/panel-118 Apple System Colors changed 0% own SubagentTray.gallery.ts
agent-pane.subagent-tray/workflow-progress Apple System Colors Light unchanged 0% own SubagentTray.gallery.ts
agent-pane.subagent-tray/workflow-progress Apple System Colors unchanged 0% own SubagentTray.gallery.ts
agent-pane.subagent-tray/one-running Apple System Colors changed 0.0279% own SubagentTray.gallery.ts
agent-pane.subagent-tray/one-running Apple System Colors Light changed 0.007% own SubagentTray.gallery.ts
agent-pane.agent-runs/card-running Apple System Colors Light changed 0.0046% same-folder SubagentTray.gallery.ts
agent-pane.agent-runs/card-running Apple System Colors changed 0.0044% same-folder SubagentTray.gallery.ts
agent-pane.agent-runs/card-done Apple System Colors Light unchanged 0% same-folder SubagentTray.gallery.ts
agent-pane.agent-runs/card-done Apple System Colors unchanged 0% same-folder SubagentTray.gallery.ts
agent-pane.agent-runs/card-failed Apple System Colors Light unchanged 0% same-folder SubagentTray.gallery.ts
agent-pane.agent-runs/card-failed Apple System Colors unchanged 0% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/full Apple System Colors Light changed 0.0971% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/full Apple System Colors changed 0.0175% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/compact-more Apple System Colors changed 0.259% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/compact-more Apple System Colors Light changed 0.0201% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/compact-more-open Apple System Colors Light changed 3.17% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/compact-more-open Apple System Colors changed 0.0871% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/compact-folded Apple System Colors Light changed 0.0681% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/compact-folded Apple System Colors unchanged 0% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/compact-capped Apple System Colors changed 0.0438% same-folder SubagentTray.gallery.ts
agent-pane.chat-inspector/compact-capped Apple System Colors Light unchanged 0% same-folder SubagentTray.gallery.ts

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

red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on e830594 to compare; do not merge until green; see lane-rules

Shipped in:

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent opus medium): SHIP at 4b82314

Checked: the app FFI checksum matches the published release asset digest (62eb4a41...2eba) and check-app-ffi-pin.sh reports sources match 2e0b6ac; test_base_red_excuse.py (173) and the fixture host-name check pass, and derive_rollups() now equals the committed base_red_rollups.json. Skipping portable-placement in the routed contract does not widen excuses: guard-status's routing script never reports placement's result, so a placement failure stays its own check judged per test, and if guard-status ever printed a portable-placement: failure line, validate_guard_routes would still refuse it as an unknown routed job (fail closed). The replacement gh run watch ID -R manaflow-ai/cmux line goes through the gh command rule's run watch branch (waitChecks, target cmux, run link), so the gallery's "Waiting on cmux checks" assertion still holds.

Follow-ups: [follow-up] add a derive_rollups unit case for ROLLUP_PLACEMENT_JOBS (a placement need with a non-route if is skipped; any other such need still refuses).

@github-actions github-actions Bot added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Nov 4, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 4b82314

Reviewer: codex gpt-6-astra high, fast tier.

Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward.

SHIP at 4b82314

Visual verdict: no images; Leo tries the build

Python contract and fixture checks pass.

Follow-ups:

  • [P2] [follow-up] [category:ux] [finding:F1] [outcome:pending] No gallery after screenshots were available for visual comparison.

@cmux-bot cmux-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

cmux-bot approves 4b82314: an independent review passed this exact head (router-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

@teamleaderleo
teamleaderleo force-pushed the fix/cmux-next-checks-base-red branch from 4b82314 to 2cf33e0 Compare November 4, 2026 07:43
@teamleaderleo teamleaderleo changed the title ci(cmux-next checks): clear three base reds (fixture host name, rollup placement job, app FFI pin) ci(cmux-next checks): clear base reds (fixture host name, rollup placement job) Nov 4, 2026
@cmux-bot cmux-bot Bot removed the stack-blocker label Nov 4, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 2cf33e0

Reviewer: codex gpt-6-astra high, fast tier.

Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward.

SHIP at 2cf33e0

Visual verdict: no images; Leo tries the build

Python contract and fixture-host checks pass. No correctness or regression findings.

Follow-ups:

  • [P2] [follow-up] [category:ux] [finding:F1] [outcome:pending] No after screenshot was provided for the changed gallery scene.

cmux-bot[bot]
cmux-bot Bot previously approved these changes Nov 4, 2026

@cmux-bot cmux-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

cmux-bot approves 2cf33e0: an independent review passed this exact head (router-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

teamleaderleo and others added 2 commits November 4, 2026 00:37
…p placement job, app FFI pin)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
…e fleet CI tool

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
@teamleaderleo
teamleaderleo force-pushed the fix/cmux-next-checks-base-red branch from 2cf33e0 to a517670 Compare November 4, 2026 08:37
@cmux-bot
cmux-bot Bot dismissed their stale review November 4, 2026 08:38

A newer verdict blocks a517670 (no independent SHIP at the head).

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at a517670

Reviewer: codex gpt-6-astra high, fast tier.

SHIP at a517670

Visual verdict: no images; Leo tries the build

Python checks passed, including all 173 base-red tests and the fixture host-name scan. No correctness or regression findings.

Follow-ups: none

cmux-bot[bot]
cmux-bot Bot previously approved these changes Nov 4, 2026

@cmux-bot cmux-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

cmux-bot approves a517670: an independent review passed this exact head (router-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

@blacksmith-sh

blacksmith-sh Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Found 9 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp2_0alc8j/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpoc8pgxox/summary-missing.json (live):/summary-missing.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
nightly cmux-tui resolve/nightly cmux-tui resolve View Logs
test_the_committed_contract_is_the_workflows (main.RollupsFromNeeds.test_the_commit
ted_contract_is_the_workflows)/
test_the_committed_contract_is_the_workflows (main.RollupsFromNeeds.test_the_commit
ted_contract_is_the_workflows)
View Logs
the short nightly decide gate must use the pooled Linux route with a Blacksmith fallbac
k/
the short nightly decide gate must use the pooled Linux route with a Blacksmith fallbac
k
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

Review (Codex independent): SHIP at a517670

The rollup repair is scoped correctly: portable-placement is only a runner-placement dependency, and validate_guard_routes still fails closed if a placement verdict is ever emitted. The existing 173-test contract suite fails on the pre-fix workflow and passes at this exact head; the committed rollup contract remains unchanged.

Follow-up (P2, non-blocking): add a focused derive_rollups fixture proving a portable-placement need with a non-route if is omitted while another need with that shape still raises Refused. This protects the intentional exception from becoming a broad route-validation bypass.

@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 09:50 Inactive
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 09:50 Inactive
@cmux-bot
cmux-bot Bot dismissed their stale review November 4, 2026 09:52

A newer verdict blocks ca481f9 (no independent SHIP at the head).

@teamleaderleo
teamleaderleo merged commit 81418cb into feat-cmux-next Nov 4, 2026
183 of 186 checks passed
@teamleaderleo
teamleaderleo deleted the fix/cmux-next-checks-base-red branch November 4, 2026 10:33

This branch was previously deployed

1 inactive deployment
ci-routing-agent — ca481f99 Deployed Nov 4, 2026 by cmux-bot[bot] via wait for same-key tree publisher #111022
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