You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
THEME_PALETTES (packages/core/src/settings.ts:129-145) ships 11 palettes, each rendering in light and dark — 22 combinations reachable from 设置 → 外观.
scripts/storybook-visual-smoke.mjs:138 pins every story URL to globals=colorScheme:light and sets no palette, so the gate at .github/workflows/ci.yml:239 renders default × light only.
One story already works around this. packages/ui/stories/palette-matrix.stories.tsx applies data-maka-theme per block and renders all 11 palettes in a single story. Its own header states the reason:
The smoke's catalog pass renders wide/light/default only, so without this story ten palettes have no oracle whatsoever.
Three gaps remain on top of it:
It is a human oracle, not an assertion. The story renders swatches; nothing fails when a value drifts.
It covers 6 base tokens — --background, --foreground, --accent, --info, --success, --destructive (palette-matrix.stories.tsx:70-77). Derived tokens are out of frame. refactor(design-system): finish wiring the Maka theme to Astryx's token seams #3446 F6 measures --color-text-disabled at 2.52:1 light and 2.29:1 dark on transcript body copy, failing WCAG AA on the default palette. Whether the other 10 carry the same failure is unmeasured.
maka-tokens.css:185 records a hand-check for one token ("weakest is tokyo-night at 4.78:1"). That is the current method: manual, per-token, unrepeatable.
Desired outcome
Parameterise storyUrl over colorScheme so the smoke runs both. Storybook already declares both globals (apps/desktop/.storybook/preview.tsx:83-118), so this is a URL change, not new infrastructure.
Decide whether the palette dimension belongs in the gate or stays a human oracle. 11 × 2 over every story is likely not worth the CI time; over the palette matrix plus one reference screen it may be.
Overlaps #3446 slicing item 1, which already proposes the colour-scheme parameterisation and the contrast assertion. If that lands first, this narrows to the palette dimension.
AI use: Claude Code assisted with source and issue investigation; the analysis and conclusions are my own.
Problem
THEME_PALETTES(packages/core/src/settings.ts:129-145) ships 11 palettes, each rendering in light and dark — 22 combinations reachable from 设置 → 外观.scripts/storybook-visual-smoke.mjs:138pins every story URL toglobals=colorScheme:lightand sets no palette, so the gate at.github/workflows/ci.yml:239renders default × light only.One story already works around this.
packages/ui/stories/palette-matrix.stories.tsxappliesdata-maka-themeper block and renders all 11 palettes in a single story. Its own header states the reason:Three gaps remain on top of it:
--background,--foreground,--accent,--info,--success,--destructive(palette-matrix.stories.tsx:70-77). Derived tokens are out of frame. refactor(design-system): finish wiring the Maka theme to Astryx's token seams #3446 F6 measures--color-text-disabledat 2.52:1 light and 2.29:1 dark on transcript body copy, failing WCAG AA on the default palette. Whether the other 10 carry the same failure is unmeasured.maka-tokens.css:185records a hand-check for one token ("weakest is tokyo-night at 4.78:1"). That is the current method: manual, per-token, unrepeatable.Desired outcome
storyUrlovercolorSchemeso the smoke runs both. Storybook already declares both globals (apps/desktop/.storybook/preview.tsx:83-118), so this is a URL change, not new infrastructure.Overlaps #3446 slicing item 1, which already proposes the colour-scheme parameterisation and the contrast assertion. If that lands first, this narrows to the palette dimension.
AI use: Claude Code assisted with source and issue investigation; the analysis and conclusions are my own.