Skip to content

fix(ci): use one browser for gallery head and base renders - #33836

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
lane/limits-gallery-browser-consistency
Nov 3, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
lane/limits-gallery-browser-consistency

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Gallery health resolved its browser inside the head render step. The helper writes CMUX_CHROME_HEADLESS_SHELL to GITHUB_ENV, which Actions imports only for later steps: the head ran full Chrome while the base replay ran headless-shell. This produced different text widths and layout-shift scores for unchanged source during the limits audit. Shell selection arrived in c2933eb.

Resolve the browser in its own preceding step, under the same render condition, so both sides receive the same executable. The existing dependency installation moves with setup.

Leo's audit request: “why are there prompt limits anyways?” and “well we ought to audit the limits and make sure 1. don't have nonsense 2. do some super sweet ergo perf stuff”. This corrects the validation used by that audit.

Validation: python3 -m unittest tests.test_playwright_system_chrome tests.test_ci_gallery_health_merge_ref — 17 passed. The regression executes the workflow commands with fake build/browser commands and imports GITHUB_ENV between steps: it fails on ca064c2 with head=chrome, base=resolved shell, and passes after the fix. python3 tests/test_ci_workflow_guards_are_wired.py passes; the regression lives in the already-wired gallery guard suite. Static pre-push checks and pr-overlap pass. No browser is launched by the portable regression.

Paired gallery replays 41637515269 and 41647896883 rendered the original and current clipboard change against their respective bases under the same full Chrome engine. The current replay rendered merge 907a576a40b114bfbb6bf94629ae6ab84eac5b58 and base 8d08eaaf21413c0a39d72231bb54099fe75c31c3, including both themes: each reports identical repo-worktrees-search layout shift 0.00699 (baseline 0.00447) and moves, with no fresh render or geometry failure. This confirms the previously different scores disappear when the executable matches.

🤖 Generated with Codex

Agent session: agent session

teamleaderleo and others added 2 commits November 3, 2026 12:42
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-1b496497f308a88c14c8
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-1b496497f308a88c14c8
@cursor

cursor Bot commented Nov 3, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot 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.

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 583b1f5: 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=pr33836 -f ref=lane/limits-gallery-browser-consistency -f platform=macos -f backend_mode=local

red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: green on the base 044672e; do not merge until green; see lane-rules

Shipped in:

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 3, 2026
@blacksmith-sh

blacksmith-sh Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Found 10 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp59v3axyg/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmps7reb_mu/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_every_routed_input_triggers_the_workflow (main.PullRequestTiers.test_every_rou
ted_input_triggers_the_workflow) (path='skills/cmux-customization/SKILL.md')
View Logs
test_every_routed_input_triggers_the_workflow (main.PullRequestTiers.test_every_rou
ted_input_triggers_the_workflow) (path='skills/cmux-customization/references/
examples.md')
View Logs
test_every_routed_input_triggers_the_workflow (main.PullRequestTiers.test_every_rou
ted_input_triggers_the_workflow) (path='skills/cmux-customization/references/
local-app-views.md')
View Logs
test_every_routed_input_triggers_the_workflow (main.PullRequestTiers.test_every_rou
ted_input_triggers_the_workflow) (path='skills/cmux-customization/references/
viewer-types.md')
View Logs

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

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-1b496497f308a88c14c8

@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 (codex gpt-6.1-sol xhigh, next-review, since=20261103T140023Z): SHIP at 583b1f5

SHIP at 583b1f5
Visual verdict: no images; Leo tries the build

No correctness findings. All 13 gallery guard tests passed; broader Git-dependent checks require metadata absent from this snapshot.

Follow-ups: none

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium): SHIP at 583b1f5

Visual verdict: unchanged by this diff (CI-only change, no UI).

Checked: ensure-system-chrome.sh writes CMUX_CHROME_HEADLESS_SHELL to GITHUB_ENV, which only later steps see. Before this PR it ran inside the render step, so the head render fell back to channel chrome and the base replay (a later step) got headless-shell. The new "Setup gallery browser" step uses the render step's own if and runs before it, so the head render and both base passes read the same executable. The comparison still pits head against base: the replay still runs git restore --source="$BASE_SHA" and keeps every existing fail-closed path (no base SHA, no health.json, setup/tool failure with no named red state). The base step's git restore excludes only scripts/gallery-matrix, and the browser env carries over unchanged, so restoring the base cannot change which browser runs. If the browser setup fails, the job now goes red at that step instead of the render's continue-on-error path. Either way it ends red, so no failure gets hidden. The new regression test runs the real step scripts with stubs and imports GITHUB_ENV between steps the way Actions does. All 8 health (N) shards pass at this head with the whole gallery rendered (the PR touches gallery-health.yml).

The only red, cmux-next checks, is the frame-timing / "window draws no frames" display probes (tab_switch, new_workspace), in code this diff doesn't touch. [follow-up, not this PR's]

Follow-ups: none.

Different-model review (router-review, gpt-6.1-sol xhigh): SHIP at 583b1f5. Its 17 targeted tests and the workflow wiring guard pass, and reverting the workflow fix brings the browser mismatch back. Not posted with --post; quoted here.

Held: the body has a "HOLD: Awaiting coordinator review." line, so this review does not merge it. The owner decides when to lift the hold.

@teamleaderleo
teamleaderleo merged commit ac27e26 into feat-cmux-next Nov 3, 2026
201 of 203 checks passed
@teamleaderleo
teamleaderleo deleted the lane/limits-gallery-browser-consistency branch November 3, 2026 15:01

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 583b1f50 Deployed Nov 3, 2026 by teamleaderleo via cmux-tui tree preflight #106315
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