https://github.com/lossless-group/augment-it/blob/rebuild/turbo-rsbuild/context-v/issues/Tokens-Landed-Components-Didnt-The-UI-Needs-An-Overhaul.md
Follow-up that measures what #? / No-Component-Library-UI-Improvised-Not-Component-Based jotted on 2026-07-24 and left at Open · Jotted.
The measurement. The token half of the design system shipped; the component half did not.
| Signal |
Value |
Apps depending on @augment-it/theme |
19 of 20 |
Components in packages/shared-ui/src |
2 |
Apps importing from shared-ui |
3 + shell |
node scripts/design-drift.mjs |
99 fail · 0 warn across 16 apps |
| Contrast pairs |
30/30 pass |
Failures: 53 hardcoded hex, 17 missing DESIGN.md, 22 raw z-index (ten distinct values, no stacking contract), 6 hardcoded box-shadow, 1 tier-2 token gap.
The load-bearing finding. org-workbench has zero drift failures and is still the surface that reads as improvised. The linter checks values (is this colour a token) and cannot check form (is this button the same shape as the one beside it). A remote can pass every rule we own and still invent its own visual dialect — so closing all 99 failures would not fix the screenshot.
Colours are fine (30/30 contrast). It is shapes, spacing, and states that have no shared grammar — three button dialects in one row, an unanchored status pill, a 900px unstyled void where an empty/error state belongs.
Proposed sequence: ratify the primitive list → fix the --z-* stacking contract → build primitives in shared-ui → migrate surface-by-surface most-visible-first → standardise the connection-status slot → retire hex as a by-product → teach the linter about form → DESIGN.md per member.
Open question for the operator, in the linked doc: incremental overhaul vs. genuine visual redesign.
https://github.com/lossless-group/augment-it/blob/rebuild/turbo-rsbuild/context-v/issues/Tokens-Landed-Components-Didnt-The-UI-Needs-An-Overhaul.md
Follow-up that measures what #? /
No-Component-Library-UI-Improvised-Not-Component-Basedjotted on 2026-07-24 and left atOpen · Jotted.The measurement. The token half of the design system shipped; the component half did not.
@augment-it/themepackages/shared-ui/srcshared-uinode scripts/design-drift.mjsFailures: 53 hardcoded hex, 17 missing
DESIGN.md, 22 rawz-index(ten distinct values, no stacking contract), 6 hardcodedbox-shadow, 1 tier-2 token gap.The load-bearing finding.
org-workbenchhas zero drift failures and is still the surface that reads as improvised. The linter checks values (is this colour a token) and cannot check form (is this button the same shape as the one beside it). A remote can pass every rule we own and still invent its own visual dialect — so closing all 99 failures would not fix the screenshot.Colours are fine (30/30 contrast). It is shapes, spacing, and states that have no shared grammar — three button dialects in one row, an unanchored status pill, a 900px unstyled void where an empty/error state belongs.
Proposed sequence: ratify the primitive list → fix the
--z-*stacking contract → build primitives inshared-ui→ migrate surface-by-surface most-visible-first → standardise the connection-status slot → retire hex as a by-product → teach the linter about form →DESIGN.mdper member.Open question for the operator, in the linked doc: incremental overhaul vs. genuine visual redesign.