chore(ds): bump to design system 0.9.0 + full compliance sweep - #37
Merged
Conversation
Re-vendors tokens at 0.9.0 (0.7.0 -> 0.9.0 is purely additive) and closes every gap the bump exposes, so the app is DS-compliant end to end rather than merely pinned. - The page ground turns white: 0.9.0 resolves --surface to --warm-0, and --surface-alt with it, so a card is now told apart from the canvas by its border and shadow alone. That makes the elevation pin mandatory: Tailwind owns the --shadow-* namespace, so the DS publishes its rungs as --elev-* and index.css pins the four of them. Every primitive already writing shadow-sm inherits DS elevation with no component edit. - The DS semantic names are exposed as utilities. The registry sidebar paints `bg-surface`, which resolved to nothing here — the app only ever mapped the shadcn aliases, never the token names behind them. - Control boundaries move to --border-control (new in 0.9.0). WCAG 1.4.11 wants 3:1 for the visual information identifying a UI component, which the card-edge --border does not reach. - The radius scale stops guessing. The canon has rungs at 6/8/10px and nothing outside that; xs and xl were falling through to Tailwind's own defaults (2px/12px), a silent fork. Both are clamped to the nearest rung, and sm/md/lg are aliased to --r-2/3/4 instead of being derived by calc(). - The 11 registry primitives are re-adopted at 0.9.0. components.json flips rsc to true so the CLI stops stripping "use client" from registry sources on write — the stripping is what made three of them read as edited. The directive is inert in a Vite build. The compliance gate drops its two escape hatches: it reads the tokens and the registry from the design-system checkout now (4242labs/design-system#90), so DS_SKIP_DIFF is gone and Gate 3 diffs for real. Pin moves to 0.9.0. Validated in Chrome DevTools MCP at 1440x900 and 390x844, both views and both grounds: white ground, mint mark on ink, no console output.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-vendors tokens at 0.9.0 (0.7.0 -> 0.9.0 is purely additive) and closes
every gap the bump exposes, so the app is DS-compliant end to end rather
than merely pinned.
--surface-alt with it, so a card is now told apart from the canvas by its
border and shadow alone. That makes the elevation pin mandatory: Tailwind
owns the --shadow-* namespace, so the DS publishes its rungs as --elev-*
and index.css pins the four of them. Every primitive already writing
shadow-sm inherits DS elevation with no component edit.
paints
bg-surface, which resolved to nothing here — the app only evermapped the shadcn aliases, never the token names behind them.
wants 3:1 for the visual information identifying a UI component, which the
card-edge --border does not reach.
nothing outside that; xs and xl were falling through to Tailwind's own
defaults (2px/12px), a silent fork. Both are clamped to the nearest rung,
and sm/md/lg are aliased to --r-2/3/4 instead of being derived by calc().
rsc to true so the CLI stops stripping "use client" from registry sources
on write — the stripping is what made three of them read as edited. The
directive is inert in a Vite build.
The compliance gate drops its two escape hatches: it reads the tokens and
the registry from the design-system checkout now (4242labs/design-system#90),
so DS_SKIP_DIFF is gone and Gate 3 diffs for real. Pin moves to 0.9.0.
Validated in Chrome DevTools MCP at 1440x900 and 390x844, both views and
both grounds: white ground, mint mark on ink, no console output.