fix(composer): center menu checkmarks across picker surfaces
Leo: “i feel like this is misaligned checkmark :( can we all audit the checkmarks and whatnot”.
Makes vertical centering and a unit line-height explicit in the shared .ui-menu-check styles, preserving the existing model/access/effort columns and surface overrides. The regression checks all three stylesheet entrypoints.
Audited model selection, effort selection, project/worktree selection, environment selection, the fast-mode toggle, status dots and disclosure chevrons. These captured glyphs are aligned; the before/after images are pixel-identical. This is a shared CSS contract reinforcement, not evidence of a visible shift in those fixtures. Folder/environment SVG checks use their own existing centered slots and are unchanged.
Verification:
- Independent Astra HIGH review: SHIP at 515af35e2d4b.
- Focused regression: 1 pass, 0 fail in remote run 40849021184. That run stopped at a shallow-checkout lint preflight; explicit base/head lint passed in 40851691500.
- Gallery health 40820047886 attempt 2 passed; the initial isolated incoming-message timeout did not recur.
- Prepush gate: no new violations in remote recovery 40852800094, using the real head with its parent fetched. The preceding shallow snapshot falsely treated the source commit as a root.
- The same recovery ran the SwiftUI guard on CI base
dda79621eecd18981c3b9bb31a62e31c3b55fbef: the sameHomeChatColorsPanel.swiftandHomeChatColorsView.swiftviolations reproduce. They are unrelated inherited base findings; this PR changes no Swift. git diff --checkpassed.
Before/after light and dark captures are in managed run 40851811275, artifact gallery-advisory-27232-515af35e2d4b2519c29a10f9e15c7371159300e8. Base 0e6a19e48ba4ab0dfc6702cbe48a4ccb26628e92, head 515af35e2d4b2519c29a10f9e15c7371159300e8. Paths below are relative to the artifact root; images remain in the artifact, not on this public PR.
| Surface / theme | Before | After |
|---|---|---|
| agent-pane.model-picker/quick-menu / light | base/agent-pane.model-picker--quick-menu--en--Apple_System_Colors_Light--w360-chromium.png | head/agent-pane.model-picker--quick-menu--en--Apple_System_Colors_Light--w360-chromium.png |
| agent-pane.model-picker/quick-menu / dark | base/agent-pane.model-picker--quick-menu--en--Apple_System_Colors--w360-chromium.png | head/agent-pane.model-picker--quick-menu--en--Apple_System_Colors--w360-chromium.png |
| agent-pane.composer-pickers/effort-menu / light | base/agent-pane.composer-pickers--effort-menu--en--Apple_System_Colors_Light--w400-chromium.png | head/agent-pane.composer-pickers--effort-menu--en--Apple_System_Colors_Light--w400-chromium.png |
| agent-pane.composer-pickers/effort-menu / dark | base/agent-pane.composer-pickers--effort-menu--en--Apple_System_Colors--w400-chromium.png | head/agent-pane.composer-pickers--effort-menu--en--Apple_System_Colors--w400-chromium.png |
| agent-pane.composer-context/repo-worktrees / light | base/agent-pane.composer-context--repo-worktrees--en--Apple_System_Colors_Light--w400-chromium.png | head/agent-pane.composer-context--repo-worktrees--en--Apple_System_Colors_Light--w400-chromium.png |
| agent-pane.composer-context/repo-worktrees / dark | base/agent-pane.composer-context--repo-worktrees--en--Apple_System_Colors--w400-chromium.png | head/agent-pane.composer-context--repo-worktrees--en--Apple_System_Colors--w400-chromium.png |
| agent-pane.composer-context/environment-picker / light | base/agent-pane.composer-context--environment-picker--en--Apple_System_Colors_Light--w400-chromium.png | head/agent-pane.composer-context--environment-picker--en--Apple_System_Colors_Light--w400-chromium.png |
| agent-pane.composer-context/environment-picker / dark | base/agent-pane.composer-context--environment-picker--en--Apple_System_Colors--w400-chromium.png | head/agent-pane.composer-context--environment-picker--en--Apple_System_Colors--w400-chromium.png |
The access-menu fixture clips its selected row above the viewport, so it is not counted as visual alignment evidence. The transcript tool-row glyph in the supplied private reference remains with the transcript audit. Browser geometry assertions would strengthen the declaration test; no such measurement is claimed here.
Reference: existing Claude/Codex compact menu icon columns from the private design-reference menus/composer notes; private user captures are not published.
Agent session: agent session