Skip to content

base red: Cloud start state words hide with no 1 px box (design-token check, after #33139) - #33175

Merged
lawrencecchen merged 1 commit into
feat-cmux-nextfrom
base-red/design-tokens-33139
Nov 3, 2026
Merged

lawrencecchen merged 1 commit into
feat-cmux-nextfrom
base-red/design-tokens-33139

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Fixes the web-lint red at feat-cmux-next tip (webviews: bun run check:design-tokens, exit 1). Culprit: #33139 (adb7fe3).

Cause

#33139 gave the Cloud start card its own .visually-hidden rule with height: 1px. The design-token ratchet does not allow 1px for height (it is not on the control-height scale) and the baseline for cloudStart.css has no 1px height.

Takes back #33139: only the 1 px box of its .visually-hidden rule; the words stay hidden for sight and stay for screen readers, so #33139's fix stays.

Fix

The state words stay in the 16 px mark (position: relative). The rule clips them to nothing with clip and clip-path: inset(50%), with no 1 px box, as modelPicker.css's .sr-only does. No exception and no baseline change. The words are still in the DOM for screen readers, and they do not draw over the step names.

Red at the base, green at the head

Command: cd webviews && bun run check:design-tokens

Changelog

none

Observed / Not run

Observed: bun run check:design-tokens red and green as above; bun test src/agent-session/acpmux/CloudStartView.test.tsx 15 pass (it includes #33139's test that the card hides the words itself); scripts/web-lint.sh passed; prepush-gate.py passed.
Not run: no gallery capture. The change only touches a rule for text that is clipped to nothing.


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


Summary by cubic

Fixes the design-token violation that made bun run check:design-tokens fail on feat-cmux-next after #33139.

The .visually-hidden rule added in #33139 used a 1px height, which the design-token ratchet rejects. The state words now stay in the 16px mark and are clipped to nothing with clip and clip-path: inset(50%), matching modelPicker.css's .sr-only pattern so no 1px box is needed. The words remain in the DOM for screen readers and no longer draw over the step names.

Written for commit e819bc4. Summary will update on new commits.

View guided diff Turn on auto-fix

… check, after #33139)

#33139 (adb7fe3) gave the card its own .visually-hidden with height: 1px,
which the design-token ratchet refuses (1px is off the control-height scale).
The words sit in the 16 px mark (position: relative); they are clipped to
nothing with clip and clip-path, as modelPicker.css's .sr-only does.

Red at adb7fe3 and at tip: bun run check:design-tokens
  new design token violation (1 > 0): agent-session/acpmux/cloudStart.css height height 1px
Green here: Design token ratchet passed: 2039 recorded violations.
bun test src/agent-session/acpmux/CloudStartView.test.tsx: 15 pass.
@lawrencecchen lawrencecchen added the risk:low Risk tier (docs/ci/risk-tiers.md) label Nov 3, 2026
@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 e819bc4: 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=pr33175 -f ref=base-red/design-tokens-33139 -f platform=macos -f backend_mode=local

Gallery before/after for e819bc4: 16 states rendered, 12 images differ, 1676 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 41590320491 -R manaflow-ai/cmux -n gallery-advisory-33175-e819bc4052c914b3ab75e264c62dcd65ed814745 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.cloud-start/sent Apple System Colors Light changed 0.0167% own cloudStart.css
agent-pane.cloud-start/sent Apple System Colors changed 0.0115% own cloudStart.css
agent-pane.cloud-start/machine Apple System Colors Light changed 0.039% own cloudStart.css
agent-pane.cloud-start/machine Apple System Colors changed 0.036% own cloudStart.css
agent-pane.cloud-start/copying Apple System Colors changed 0.0358% own cloudStart.css
agent-pane.cloud-start/copying Apple System Colors Light changed 0.0346% own cloudStart.css
agent-pane.cloud-start/opening Apple System Colors Light changed 0.0296% own cloudStart.css
agent-pane.cloud-start/opening Apple System Colors changed 0.0265% own cloudStart.css
agent-pane.cloud-start/failed Apple System Colors Light unchanged 0% own cloudStart.css
agent-pane.cloud-start/failed Apple System Colors unchanged 0% own cloudStart.css
agent-pane.cloud-start/checklist-machine Apple System Colors Light changed 0.0054% own cloudStart.css
agent-pane.cloud-start/checklist-machine Apple System Colors changed 0.0021% own cloudStart.css
agent-pane.cloud-start/checklist-clone Apple System Colors changed 0.0177% own cloudStart.css
agent-pane.cloud-start/checklist-clone Apple System Colors Light changed 0.0135% own cloudStart.css
agent-pane.cloud-start/checklist-setup-cached Apple System Colors Light unchanged 0% own cloudStart.css
agent-pane.cloud-start/checklist-setup-cached Apple System Colors unchanged 0% own cloudStart.css
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% imports cloudStart.css (2 hops)
agent-pane.chat-width/standard Apple System Colors unchanged 0% imports cloudStart.css (2 hops)
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% imports cloudStart.css (2 hops)
agent-pane.chat-width/wide Apple System Colors unchanged 0% imports cloudStart.css (2 hops)
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% imports cloudStart.css (2 hops)
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-edge/short-edge Apple System Colors Light unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-edge/short-edge Apple System Colors unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-edge/wide-edge Apple System Colors Light unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-edge/wide-edge Apple System Colors unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-edge/no-edge Apple System Colors Light unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-edge/no-edge Apple System Colors unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-floats/scrolled-to-end Apple System Colors Light unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-floats/scrolled-to-end Apple System Colors unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-floats/composer-grown Apple System Colors Light unchanged 0% imports cloudStart.css (2 hops)
agent-pane.composer-floats/composer-grown Apple System Colors unchanged 0% imports cloudStart.css (2 hops)

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); base red: the same failure on the base 191abdc; does not block

Shipped in:

@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 3, 2026
@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Review (independent subagent): SHIP at e819bc4

Checked:

  • Hiding: the 5 state-word spans render only from mark(), inside .acpmux-cloud-start__mark (position: relative, 16x20). With no height, the absolute span is 1 px wide and one 20 px line high. As an absolute child of the inline-flex mark it sits at the center, fully inside the mark, so it does not change the layout and adds no scroll overflow. overflow: hidden, clip: rect(0 0 0 0) and clip-path: inset(50%) each clip it to nothing; any one of them is enough. Removing margin: -1px has no effect on an absolute box. pointer-events: none does no harm.
  • Screen readers: clip and clip-path do not remove the words from the accessibility tree (there is no display: none or visibility: hidden), and the box has a non-zero size.
  • No exception, allowlist or baseline change: the diff touches only cloudStart.css, and design-tokens-baseline.jsonl and check-design-tokens.ts are the same as at adb7fe3.
  • bun scripts/check-design-tokens.ts on the extracted trees: red at adb7fe3 and at HEAD1 (cloudStart.css height 1px), green at adb7fe31 and at this head (2039 recorded violations).
  • bun test src/agent-session/acpmux/CloudStartView.test.tsx: 15 pass. bun test test/design-tokens.test.ts: 13 pass.
  • Not run: no rendered capture of the card.

@lawrencecchen lawrencecchen added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Nov 3, 2026
@blacksmith-sh

blacksmith-sh Bot commented Nov 3, 2026

Copy link
Copy Markdown

Found 6 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp8koztzyb/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmptzpp0oi7/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

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

@lawrencecchen
lawrencecchen merged commit 76505c9 into feat-cmux-next Nov 3, 2026
236 of 253 checks passed
@lawrencecchen
lawrencecchen deleted the base-red/design-tokens-33139 branch November 3, 2026 06:52

This branch was previously deployed

1 inactive deployment
ci-routing-agent — e819bc40 Deployed Nov 3, 2026 by lawrencecchen via cmux-tui tree preflight #104372
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant