From 4e01733f31125e28d6e2636bb214add2404dec2e Mon Sep 17 00:00:00 2001 From: Saravana Achu Mac Date: Wed, 6 May 2026 11:13:34 -0700 Subject: [PATCH] docs(ui): record platform core migration verification --- docs/UI_UX_PLATFORM_CORE_ROADMAP.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/UI_UX_PLATFORM_CORE_ROADMAP.md b/docs/UI_UX_PLATFORM_CORE_ROADMAP.md index acddb32..529580a 100644 --- a/docs/UI_UX_PLATFORM_CORE_ROADMAP.md +++ b/docs/UI_UX_PLATFORM_CORE_ROADMAP.md @@ -20,7 +20,7 @@ Common platform currently provides: - `@bytelyst/design-tokens`: product token packages, including NoteLett `--nl-*` - `@bytelyst/dashboard-components`: app-level `ErrorPage`, `NotFoundPage`, `LoadingSpinner`, `LoadingSkeleton`, `PageHeader`, `EmptyState` -NoteLett currently has a thin local wrapper at `web/src/components/ui/Primitives.tsx`, but it only exposes `Button`, `Badge`, and `Card`. +NoteLett currently has a thin local wrapper at `web/src/components/ui/Primitives.tsx`. It now exposes the first platform-core migration set: `Button`, `Badge`, `Card`, `Panel`, `IconButton`, `ListItemButton`, `StatusBadge`, `Input`, `Textarea`, `Select`, `Label`, `Timeline`, and `DiffCard`. Large product surfaces still use raw markup and inline styles: @@ -112,10 +112,11 @@ Principles: ### Phase UI0 — Baseline Audit And Rules -- [ ] Add UI migration audit commands for raw controls, global surface classes, hardcoded inline styles, and direct `@bytelyst/ui` imports. -- [ ] Document the allowed component layers in `AGENTS.md`: common-platform core UI first, NoteLett wrapper second, product-domain components third. -- [ ] Add a short UI ownership section to `README.md`. -- [ ] Verify: `rg` audits, `pnpm --filter @notelett/web run typecheck`, `git diff --check`. +- [x] Add UI migration audit commands for raw controls, global surface classes, hardcoded color literals, and direct `@bytelyst/ui` imports. Commit: `b73c969d142728fb854fc3ac1e527272a0ad66f0`. Verified with `pnpm run audit:ui`; strict mode remains intentionally gated until legacy raw controls and surface classes are migrated. +- [x] Document the allowed component layers in `AGENTS.md`: common-platform core UI first, NoteLett wrapper second, product-domain components third. Commit: `5009a22`. +- [x] Add a short UI ownership section to `README.md`. Commit: `5009a22`. +- [ ] Add CI guard for `pnpm run audit:ui:strict` after UI8 removes legacy matches. +- [x] Verify: `pnpm run audit:ui`, `pnpm --filter @notelett/web run typecheck`, `pnpm run install:common-plat --frozen-lockfile`, `git diff --check`. Verification: passed on May 6, 2026; `audit:ui` reports remaining legacy matches for migration tracking, with no hardcoded color literals or direct `@bytelyst/ui` imports outside the adapter. ### Phase UI1 — Harden Common-Platform Core UI @@ -123,7 +124,8 @@ Repo: `../learning_ai/learning_ai_common_plat` - [ ] Replace raw color literals in `@bytelyst/ui` status components with semantic `--bl-*` tokens and fallbacks owned by design tokens. - [ ] Add product-safe variants to existing `Button`, `Badge`, `Card`, `Input`, `Textarea`, and `Select`. -- [ ] Add `IconButton`, `Panel`, `PanelHeader`, `PanelBody`, `Surface`, `SurfaceList`, `ListItemButton`, `StatusBadge`, and `StatusDot`. +- [x] Add first migration primitives: `IconButton`, `Panel`, `PanelHeader`, `PanelBody`, `PanelTitle`, `PanelDescription`, `ListItemButton`, `StatusBadge`, `StatusDot`, `Timeline`, and `DiffCard`. Common-platform commit: `23e1400`. +- [ ] Add remaining surface primitives: `Surface`, `SurfaceList`, and any table/list layout variants needed by search/workspaces/dashboard. - [ ] Add `Tabs`, `SegmentedControl`, `Tooltip`, `DropdownMenu`, `Checkbox`, `RadioGroup`, and `Switch` using Radix where appropriate. - [ ] Add `DataList`/`DataTable`, `Timeline`, and `DiffCard` for operational workflows. - [ ] Add Storybook stories and basic rendering/a11y tests for every new primitive. @@ -133,7 +135,7 @@ Repo: `../learning_ai/learning_ai_common_plat` Repo: `learning_ai_notes` -- [ ] Expand `web/src/components/ui/Primitives.tsx` to re-export or wrap all approved common primitives. +- [x] Expand `web/src/components/ui/Primitives.tsx` to re-export or wrap the first approved common primitive set. Commit: `b73c969d142728fb854fc3ac1e527272a0ad66f0`. Verified by `pnpm --filter @notelett/web run typecheck`. - [ ] Ensure wrappers map `--bl-*` to `--nl-*` through global token aliases, not per-component hardcoding. - [ ] Add NoteLett defaults for radius, density, focus ring, status mapping, and operational list rows. - [ ] Remove direct product code dependence on `surface-card`, `surface-muted`, `badge`, and `input-shell` for new or migrated screens.