Repository navigation
docs(dashboard): UI kit migration — docs, ratchets and final report (KEA-7886, Task 42) - #17918
Merged
Merged
Conversation
…s (KEA-7886) ARCHITECTURE.md (Dashboard Surface) describes the one shell every page renders in and where screens get components, icons and theme from; CODEBASE_DOCUMENTATION.md gains the Dashboard UI row, the three npm workspaces, the @omniroute/ui-kit path aliases and the components/ adapter layer; REPOSITORY_MAP.md lists packages/ (ui-kit, browser-pool), src/shared/components + iconMap and the kit tooling scripts.
…egacy UI removal (KEA-7886) features/: the dashboard on the vendored kit (identity, theme default system, retired accent presets, kit shell, adapters, Lucide icons). maintenance/: legacy shell + UI_KIT_SHELL, Material Symbols font and package, dead shared Footer and unused token aliases removed. Prefix 0000: the final PR number is not known yet.
… and how to add a screen (KEA-7886) DESIGN_SYSTEM.md, on top of F4-A's text: where the vendored kit lives and how it is consumed (subpath imports, never the barrel), the token bridge incl. the text-primary ink, the theme preference (system by default), the adapter list and prop mapping, the shell (DashboardShell, skip link, Header title vs PageHeader, CommandPalette on Dialog), the icon guards, the dashboard-kit-sweep rules, and new sections on adding a screen and adding or changing an adapter. FEATURE_FLAGS.md: drop the duplicated COMBO_EMPTY_POOL_NO_ELIGIBLE_TARGETS_ENABLED row (added by both #16255 and #16256), so the catalog has the 111 rows and Runtime the 53 its headings state.
…wn after the UI kit migration (KEA-7886) Both keep the velocity-phase 20% headroom (quality-baseline.json _policy) instead of freezing at the live count: - dashboard-typecheck-baseline.json: (file, code) pairs now at 0 removed, the rest set to min(baseline, ceil(live * 1.2)); live 194, sum of counts 322 -> 270 (16 pairs changed). - rtlPhysicalClasses: 1214 -> 843 = ceil(live 702 * 1.2). cycles (14/14), deadExports (362 <= 377) and the rest are unchanged.
…7886) Measured with REQUIRE_AXE=1 on this branch (feat/new-uikit af38584 + docs): /login 1 -> 0, /dashboard 4 -> 1, /dashboard/providers 3 -> 0, /dashboard/settings 5 -> 0. 5/5 passed.
This was referenced Oct 22, 2026
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.
Task 42 of the Keak CI UI Kit migration (KEA-7886): final documentation, ratchets and changelog fragments, on top of
feat/new-uikit@af385849(F4-A #17896 back-merged). No production code changes.Docs (verified behaviour only — every path, name and flag was grepped)
docs/architecture/DESIGN_SYSTEM.mdtext-primaryink and chart tokens, theme preference (systemby default,appConfig.ts), the adapter list and prop mapping, the shell (DashboardShell, skip link first, Header title hidden while aPageHeaderis mounted, CommandPalette on Dialog), icon guards, thedashboard-kit-sweeprules, and new sections Adding a screen and Adding or changing an adapterdocs/architecture/ARCHITECTURE.mddocs/architecture/CODEBASE_DOCUMENTATION.mdopen-ssewas the only one);@omniroute/ui-kitpath aliases;packages/in the layout tree;components/adapter layerdocs/architecture/REPOSITORY_MAP.mdpackages/in the tree + apackages/section (ui-kit withUPSTREAM.md/PATCHES.md, browser-pool);src/shared/componentsandiconMap.tsrows; the 4 kit tooling scriptsdocs/reference/FEATURE_FLAGS.mdCOMBO_EMPTY_POOL_NO_ELIGIBLE_TARGETS_ENABLEDwas listed twice (identical rows added by #16255 and #16256, already onrelease/v3.8.53). Duplicate removedNot touched on purpose:
AGENTS.md— the plan's Task 42 brief proposed one line (UI kit — packages/ui-kit (vendored Keak CI UI Kit; adapters in src/shared/components/) → docs/architecture/DESIGN_SYSTEM.md).AGENTS.mdis an agent-instruction surface, so it needs the owner's explicit approval; recorded as a pending owner decision. Owner: approve/decline adding that line in the final PR.npm run check:docs-allrc 0.Changelog fragments
changelog.d/features/0000-dashboard-keak-ci-ui-kit.md—feat(dashboard): the dashboard on the vendored kitchangelog.d/maintenance/0000-dashboard-legacy-ui-removal.md—refactor(dashboard): legacy shell +UI_KIT_SHELL, Material Symbols font/package, deadFooter, unused token aliases removedPrefix
0000because the final PR number is not known yet (rename at the final PR if wanted).check:changelog-integrityOK. No AI credit anywhere.Ratchets (measured on this branch after the F4-A back-merge)
Policy: the velocity phase (
quality-baseline.json→_policy, 20 % headroom until v4.0) is kept. No blind--update; where a metric genuinely improved the baseline goes tomin(current, ceil(live × 1.2)).check:dashboard-typecheckconfig/quality/dashboard-typecheck-baseline.jsonRedisLauncherPanel14,MemoriesTab,CompatibleModelsSection,RuntimePageClient,QuotaEnvGroup,sseMerger);combos/page.tsxTS2322 16→15,OAuthModal.tsxTS2769 4→3. Every other pair already sits atceil(live×1.2). The gate still prints "N baselined errors no longer present" — that is the kept headroom, by designrtlPhysicalClasses(check:rtl-ratchet)config/quality/quality-baseline.jsonceil(702×1.2); note_tighten_2026_10_22_kea7886/logintests/e2e/a11y.spec.tsREQUIRE_AXE=1, 5/5 passed (dev server, after the F4-A merge)/dashboard/dashboard/providers/Ncontrast/dashboard/settingsSystemStorageTabcheck:cycles:ratchetquality-baseline.jsondeadExports(check:dead-code)quality-baseline.jsonceil(362×1.2)= 435 > 377check:duplication)duplication-baseline.jsoneslintWarnings, coverage,bundleSize,openapiCoverage,i18nUiCoveragequality-baseline.jsonnpm run lintrc 0Validation (local devbox, this branch)
npm run check:docs-allnpm run check:dashboard-typechecknpm run check:rtl-ratchet -- --ratchetnpm run check:cycles:ratchetnpm run check:known-symbolsnpm run check:changelog-integritynpm run lint -- --concurrency=6(local gate lock)npx playwright test tests/e2e/a11y.spec.ts(REQUIRE_AXE=1, dev server)check-rtl-ratchet,quality-ratchet, coverage-floor)material-symbols-removed,dashboard-kit-sweep,icon-map-coverage,icon-map-object-values,design-kit-bridge, ratchet testscheck-key-completeness --warnNo build: no production code changed (docs, baselines, one e2e baseline block, changelog fragments).
Reports (private
_tasks, published by the controller)_tasks/reports/uikit/final-report.md— scope, PR list with merge commits, checkpoint gates, before/after counts, ratchets, deviations, deploy note, lessons, KEA-7886 status text_tasks/reports/uikit/pendencias.md— final deduplicated pendências: kit gaps (upstream), screen follow-ups by owner, test/infra, i18n wave, owner decisions, resolved itemsLicense (for the final PR):
packages/ui-kit/UPSTREAM.md→license-authorization: Diego Souza (Keak, dono do repositório), 2026-10-19, …— unchanged here.