@utopia-studio-design/design-system-cli 0.8.1 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/utopia-ds-mcp.mjs +15 -4
- package/bin/utopia-ds.mjs +16 -3
- package/data/blocks/semantic-pattern-parts/AuthParts.tsx +48 -0
- package/data/blocks/semantic-pattern-parts/ChoiceCards.tsx +7 -0
- package/data/blocks/semantic-pattern-parts/ListFilters.tsx +9 -0
- package/data/blocks/semantic-pattern-parts/OutcomeNotice.tsx +7 -0
- package/data/blocks/semantic-pattern-parts/PatternParts.tsx +7 -0
- package/data/blocks/semantic-pattern-parts/ProductParts.tsx +38 -0
- package/data/blocks/semantic-pattern-parts/ProgressSteps.tsx +6 -0
- package/data/blocks/semantic-pattern-parts/ReviewList.tsx +7 -0
- package/data/blocks/semantic-pattern-parts/ValidatedField.tsx +8 -0
- package/data/blocks/semantic-pattern-parts/WorkflowParts.tsx +339 -0
- package/data/blocks/semantic-pattern-parts/auth-parts.css +27 -0
- package/data/blocks/semantic-pattern-parts/pattern-parts.css +25 -0
- package/data/blocks/semantic-pattern-parts/product-parts.css +25 -0
- package/data/blocks/semantic-pattern-parts/types.ts +3 -0
- package/data/blocks/semantic-pattern-parts/workflow-parts.css +118 -0
- package/data/blocks/ux-pattern-examples/AccessExamples.tsx +46 -0
- package/data/blocks/ux-pattern-examples/AccountExamples.tsx +133 -0
- package/data/blocks/ux-pattern-examples/OnboardingExample.tsx +15 -0
- package/data/blocks/ux-pattern-examples/ProductExamples.tsx +79 -0
- package/data/blocks/ux-pattern-examples/ReviewExample.tsx +14 -0
- package/data/blocks/ux-pattern-examples/SignupExample.tsx +22 -0
- package/data/blocks/ux-pattern-examples/WorkflowExample.tsx +1761 -0
- package/data/blocks/ux-pattern-examples/WorkflowExamples.tsx +190 -0
- package/data/blocks/ux-pattern-examples/copy.ts +6 -0
- package/data/blocks/ux-pattern-examples/ux-examples.css +18 -0
- package/data/blocks/ux-pattern-examples/workflow-copy.ts +76 -0
- package/data/blocks/ux-pattern-examples/workflow-definitions.ts +1291 -0
- package/data/docs/ui-parts-qa.md +172 -0
- package/data/docs/ui-parts.md +105 -0
- package/data/docs/ux-pattern-adaptation-qa.md +38 -0
- package/data/docs/ux-pattern-adaptation.md +41 -0
- package/data/docs/ux-pattern-migration.md +111 -0
- package/data/docs/ux-pattern-publish-2026-09-13.md +31 -0
- package/data/docs/ux-pattern-release-2026-09-13.md +26 -0
- package/data/docs/ux-source-evidence/account-auth.json +41 -0
- package/data/docs/ux-source-evidence/account-forgot-password.json +36 -0
- package/data/docs/ux-source-evidence/account-invite.json +63 -0
- package/data/docs/ux-source-evidence/account-locked.json +63 -0
- package/data/docs/ux-source-evidence/account-login.json +28 -0
- package/data/docs/ux-source-evidence/account-mfa.json +62 -0
- package/data/docs/ux-source-evidence/account-onboarding-credentials.json +52 -0
- package/data/docs/ux-source-evidence/account-onboarding-legal.json +56 -0
- package/data/docs/ux-source-evidence/account-onboarding-orientation.json +66 -0
- package/data/docs/ux-source-evidence/account-onboarding-profile.json +50 -0
- package/data/docs/ux-source-evidence/account-onboarding.json +69 -0
- package/data/docs/ux-source-evidence/account-reset-password.json +27 -0
- package/data/docs/ux-source-evidence/account-session-expired.json +62 -0
- package/data/docs/ux-source-evidence/account-signup.json +33 -0
- package/data/docs/ux-source-evidence/account-verify-email.json +34 -0
- package/data/docs/ux-source-evidence/account-welcome.json +41 -0
- package/data/docs/ux-source-evidence/admin-analytics.json +54 -0
- package/data/docs/ux-source-evidence/admin-audit.json +31 -0
- package/data/docs/ux-source-evidence/admin-broadcasts-new.json +36 -0
- package/data/docs/ux-source-evidence/admin-broadcasts.json +41 -0
- package/data/docs/ux-source-evidence/admin-closures.json +52 -0
- package/data/docs/ux-source-evidence/admin-devices.json +51 -0
- package/data/docs/ux-source-evidence/admin-escalations.json +35 -0
- package/data/docs/ux-source-evidence/admin-incidents.json +54 -0
- package/data/docs/ux-source-evidence/admin-loading.json +17 -0
- package/data/docs/ux-source-evidence/admin-onboarding-detail.json +80 -0
- package/data/docs/ux-source-evidence/admin-onboarding.json +62 -0
- package/data/docs/ux-source-evidence/admin-payments.json +45 -0
- package/data/docs/ux-source-evidence/admin-providers.json +38 -0
- package/data/docs/ux-source-evidence/admin-settings.json +18 -0
- package/data/docs/ux-source-evidence/admin-subscriptions-detail-allocate.json +42 -0
- package/data/docs/ux-source-evidence/admin-subscriptions-detail.json +48 -0
- package/data/docs/ux-source-evidence/admin-subscriptions-new.json +43 -0
- package/data/docs/ux-source-evidence/admin-subscriptions.json +41 -0
- package/data/docs/ux-source-evidence/admin-transactions.json +41 -0
- package/data/docs/ux-source-evidence/error.json +30 -0
- package/data/docs/ux-source-evidence/loading.json +19 -0
- package/data/docs/ux-source-evidence/marketing-blog.json +48 -0
- package/data/docs/ux-source-evidence/marketing-contact.json +36 -0
- package/data/docs/ux-source-evidence/marketing.json +64 -0
- package/data/docs/ux-source-evidence/not-found.json +28 -0
- package/data/docs/ux-source-evidence/portal-loading.json +17 -0
- package/data/docs/ux-source-evidence/portal-mentor-messages.json +31 -0
- package/data/docs/ux-source-evidence/portal-mentor-profile.json +23 -0
- package/data/docs/ux-source-evidence/portal-mentor-requests-detail.json +54 -0
- package/data/docs/ux-source-evidence/portal-mentor-sessions-detail-assess.json +42 -0
- package/data/docs/ux-source-evidence/portal-mentor-settings.json +18 -0
- package/data/docs/ux-source-evidence/portal-mentor.json +38 -0
- package/data/docs/ux-source-evidence/portal-sessions-detail-live.json +48 -0
- package/data/docs/ux-source-evidence/portal-sponsor-billing.json +28 -0
- package/data/docs/ux-source-evidence/portal-sponsor-profile.json +22 -0
- package/data/docs/ux-source-evidence/portal-sponsor-sessions.json +28 -0
- package/data/docs/ux-source-evidence/portal-sponsor-settings.json +18 -0
- package/data/docs/ux-source-evidence/portal-sponsor-trainees.json +36 -0
- package/data/docs/ux-source-evidence/portal-sponsor.json +52 -0
- package/data/docs/ux-source-evidence/portal-trainee-competency.json +42 -0
- package/data/docs/ux-source-evidence/portal-trainee-credits.json +40 -0
- package/data/docs/ux-source-evidence/portal-trainee-mentors.json +48 -0
- package/data/docs/ux-source-evidence/portal-trainee-messages.json +32 -0
- package/data/docs/ux-source-evidence/portal-trainee-notifications.json +35 -0
- package/data/docs/ux-source-evidence/portal-trainee-profile.json +26 -0
- package/data/docs/ux-source-evidence/portal-trainee-request.json +54 -0
- package/data/docs/ux-source-evidence/portal-trainee-sessions-detail-feedback.json +36 -0
- package/data/docs/ux-source-evidence/portal-trainee-sessions-detail-precheck.json +42 -0
- package/data/docs/ux-source-evidence/portal-trainee-sessions-detail.json +55 -0
- package/data/docs/ux-source-evidence/portal-trainee-sessions.json +36 -0
- package/data/docs/ux-source-evidence/portal-trainee-settings-notifications.json +38 -0
- package/data/docs/ux-source-evidence/portal-trainee-settings.json +18 -0
- package/data/docs/ux-source-evidence/portal-trainee.json +44 -0
- package/data/docs/ux-source-evidence/portal-tv-detail.json +39 -0
- package/data/docs/ux-source-evidence/portal-tv.json +44 -0
- package/data/docs/ux-source-evidence/shared-admin-admin-shell.json +35 -0
- package/data/docs/ux-source-evidence/shared-auth-auth-primitives.json +105 -0
- package/data/docs/ux-source-evidence/shared-auth-auth-shell.json +25 -0
- package/data/docs/ux-source-evidence/shared-auth-onboarding-primitives.json +52 -0
- package/data/docs/ux-source-evidence/shared-auth-onboarding-shell.json +28 -0
- package/data/docs/ux-source-evidence/shared-auth-status-indicator.json +41 -0
- package/data/docs/ux-source-evidence/shared-portal-empty-state.json +24 -0
- package/data/docs/ux-source-evidence/shared-portal-loading-skeleton.json +27 -0
- package/data/docs/ux-source-evidence/shared-portal-notifications-dropdown.json +39 -0
- package/data/docs/ux-source-evidence/shared-portal-portal-shell.json +36 -0
- package/data/docs/ux-source-evidence/shared-portal-profile-form.json +32 -0
- package/data/docs/ux-source-evidence/shared-portal-settings-view.json +81 -0
- package/data/docs/ux-source-evidence/shared-portal-usage-sparkline.json +18 -0
- package/data/docs/ux-source-evidence/shared-portal-user-menu.json +34 -0
- package/data/manifests/blocks.json +230 -21
- package/data/manifests/patterns.json +330 -0
- package/data/manifests/ui-patterns.json +1029 -0
- package/data/manifests/ux-examples.json +2177 -0
- package/data/manifests/ux-patterns.json +1135 -0
- package/data/manifests/ux-source-inventory.json +4669 -0
- package/data/ui-parts/blocks/analytics-dashboard/AnalyticsMetricBlocks.tsx +87 -0
- package/data/ui-parts/blocks/analytics-dashboard/analytics-dashboard.css +92 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/AuthParts.tsx +48 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/ChoiceCards.tsx +7 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/ListFilters.tsx +9 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/OutcomeNotice.tsx +7 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/ProductParts.tsx +38 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/ProgressSteps.tsx +6 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/ReviewList.tsx +7 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/ValidatedField.tsx +8 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/WorkflowParts.tsx +339 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/auth-parts.css +27 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/pattern-parts.css +25 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/product-parts.css +25 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/types.ts +3 -0
- package/data/ui-parts/blocks/semantic-pattern-parts/workflow-parts.css +118 -0
- package/data/ui-parts/blocks/ux-pattern-examples/AccessExamples.tsx +46 -0
- package/data/ui-parts/blocks/ux-pattern-examples/AccountExamples.tsx +133 -0
- package/data/ui-parts/blocks/ux-pattern-examples/ProductExamples.tsx +79 -0
- package/data/ui-parts/blocks/ux-pattern-examples/WorkflowExample.tsx +1761 -0
- package/data/ui-parts/blocks/ux-pattern-examples/WorkflowExamples.tsx +190 -0
- package/data/ui-parts/blocks/ux-pattern-examples/copy.ts +6 -0
- package/data/ui-parts/blocks/ux-pattern-examples/ux-examples.css +18 -0
- package/data/ui-parts/blocks/ux-pattern-examples/workflow-copy.ts +76 -0
- package/data/ui-parts/blocks/ux-pattern-examples/workflow-definitions.ts +1291 -0
- package/data/ux-source-evidence/account-auth.json +41 -0
- package/data/ux-source-evidence/account-forgot-password.json +36 -0
- package/data/ux-source-evidence/account-invite.json +63 -0
- package/data/ux-source-evidence/account-locked.json +63 -0
- package/data/ux-source-evidence/account-login.json +28 -0
- package/data/ux-source-evidence/account-mfa.json +62 -0
- package/data/ux-source-evidence/account-onboarding-credentials.json +52 -0
- package/data/ux-source-evidence/account-onboarding-legal.json +56 -0
- package/data/ux-source-evidence/account-onboarding-orientation.json +66 -0
- package/data/ux-source-evidence/account-onboarding-profile.json +50 -0
- package/data/ux-source-evidence/account-onboarding.json +69 -0
- package/data/ux-source-evidence/account-reset-password.json +27 -0
- package/data/ux-source-evidence/account-session-expired.json +62 -0
- package/data/ux-source-evidence/account-signup.json +33 -0
- package/data/ux-source-evidence/account-verify-email.json +34 -0
- package/data/ux-source-evidence/account-welcome.json +41 -0
- package/data/ux-source-evidence/admin-analytics.json +54 -0
- package/data/ux-source-evidence/admin-audit.json +31 -0
- package/data/ux-source-evidence/admin-broadcasts-new.json +36 -0
- package/data/ux-source-evidence/admin-broadcasts.json +41 -0
- package/data/ux-source-evidence/admin-closures.json +52 -0
- package/data/ux-source-evidence/admin-devices.json +51 -0
- package/data/ux-source-evidence/admin-escalations.json +35 -0
- package/data/ux-source-evidence/admin-incidents.json +54 -0
- package/data/ux-source-evidence/admin-loading.json +17 -0
- package/data/ux-source-evidence/admin-onboarding-detail.json +80 -0
- package/data/ux-source-evidence/admin-onboarding.json +62 -0
- package/data/ux-source-evidence/admin-payments.json +45 -0
- package/data/ux-source-evidence/admin-providers.json +38 -0
- package/data/ux-source-evidence/admin-settings.json +18 -0
- package/data/ux-source-evidence/admin-subscriptions-detail-allocate.json +42 -0
- package/data/ux-source-evidence/admin-subscriptions-detail.json +48 -0
- package/data/ux-source-evidence/admin-subscriptions-new.json +43 -0
- package/data/ux-source-evidence/admin-subscriptions.json +41 -0
- package/data/ux-source-evidence/admin-transactions.json +41 -0
- package/data/ux-source-evidence/error.json +30 -0
- package/data/ux-source-evidence/loading.json +19 -0
- package/data/ux-source-evidence/marketing-blog.json +48 -0
- package/data/ux-source-evidence/marketing-contact.json +36 -0
- package/data/ux-source-evidence/marketing.json +64 -0
- package/data/ux-source-evidence/not-found.json +28 -0
- package/data/ux-source-evidence/portal-loading.json +17 -0
- package/data/ux-source-evidence/portal-mentor-messages.json +31 -0
- package/data/ux-source-evidence/portal-mentor-profile.json +23 -0
- package/data/ux-source-evidence/portal-mentor-requests-detail.json +54 -0
- package/data/ux-source-evidence/portal-mentor-sessions-detail-assess.json +42 -0
- package/data/ux-source-evidence/portal-mentor-settings.json +18 -0
- package/data/ux-source-evidence/portal-mentor.json +38 -0
- package/data/ux-source-evidence/portal-sessions-detail-live.json +48 -0
- package/data/ux-source-evidence/portal-sponsor-billing.json +28 -0
- package/data/ux-source-evidence/portal-sponsor-profile.json +22 -0
- package/data/ux-source-evidence/portal-sponsor-sessions.json +28 -0
- package/data/ux-source-evidence/portal-sponsor-settings.json +18 -0
- package/data/ux-source-evidence/portal-sponsor-trainees.json +36 -0
- package/data/ux-source-evidence/portal-sponsor.json +52 -0
- package/data/ux-source-evidence/portal-trainee-competency.json +42 -0
- package/data/ux-source-evidence/portal-trainee-credits.json +40 -0
- package/data/ux-source-evidence/portal-trainee-mentors.json +48 -0
- package/data/ux-source-evidence/portal-trainee-messages.json +32 -0
- package/data/ux-source-evidence/portal-trainee-notifications.json +35 -0
- package/data/ux-source-evidence/portal-trainee-profile.json +26 -0
- package/data/ux-source-evidence/portal-trainee-request.json +54 -0
- package/data/ux-source-evidence/portal-trainee-sessions-detail-feedback.json +36 -0
- package/data/ux-source-evidence/portal-trainee-sessions-detail-precheck.json +42 -0
- package/data/ux-source-evidence/portal-trainee-sessions-detail.json +55 -0
- package/data/ux-source-evidence/portal-trainee-sessions.json +36 -0
- package/data/ux-source-evidence/portal-trainee-settings-notifications.json +38 -0
- package/data/ux-source-evidence/portal-trainee-settings.json +18 -0
- package/data/ux-source-evidence/portal-trainee.json +44 -0
- package/data/ux-source-evidence/portal-tv-detail.json +39 -0
- package/data/ux-source-evidence/portal-tv.json +44 -0
- package/data/ux-source-evidence/shared-admin-admin-shell.json +35 -0
- package/data/ux-source-evidence/shared-auth-auth-primitives.json +105 -0
- package/data/ux-source-evidence/shared-auth-auth-shell.json +25 -0
- package/data/ux-source-evidence/shared-auth-onboarding-primitives.json +52 -0
- package/data/ux-source-evidence/shared-auth-onboarding-shell.json +28 -0
- package/data/ux-source-evidence/shared-auth-status-indicator.json +41 -0
- package/data/ux-source-evidence/shared-portal-empty-state.json +24 -0
- package/data/ux-source-evidence/shared-portal-loading-skeleton.json +27 -0
- package/data/ux-source-evidence/shared-portal-notifications-dropdown.json +39 -0
- package/data/ux-source-evidence/shared-portal-portal-shell.json +36 -0
- package/data/ux-source-evidence/shared-portal-profile-form.json +32 -0
- package/data/ux-source-evidence/shared-portal-settings-view.json +81 -0
- package/data/ux-source-evidence/shared-portal-usage-sparkline.json +18 -0
- package/data/ux-source-evidence/shared-portal-user-menu.json +34 -0
- package/lib/api.mjs +230 -4
- package/package.json +2 -2
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Optional semantic UI parts — QA
|
|
2
|
+
|
|
3
|
+
## Workflow expansion — 2026-09-13
|
|
4
|
+
|
|
5
|
+
**PASS WITH RISKS for representative local coverage; full source migration remains IN PROGRESS.**
|
|
6
|
+
|
|
7
|
+
- 59 dedicated examples, 188 selectable states, 20 independent parts. 65 product source pages have representative mappings; `/auth` is the reference index replaced by the catalogue. No complete upstream portal shell is copied.
|
|
8
|
+
- 38 desktop/mobile Chromium checks passed: catalogue/navigation/reload, every route at 1440/959/390px without the application sidebar, all states across 8 themes at 959px, Arabic mobile, original account interactions, new form validation, file format rejection, conditional matching, localized plan values, allocation limits, prerequisites and assessment submission gates, record lifecycle/CSV, session tabs, separate file/chat state, local conversation/media behavior and code-file selection.
|
|
9
|
+
- TypeScript, `audit:semantic-pages`, and `test:cli` passed. CLI verifies theme resolution, standalone code dependencies, candidate discovery/composition, MCP protocol, source hashes and bounded fragment retrieval. Source coverage assertions do not assert interaction parity.
|
|
10
|
+
- Visually inspected Korean credit allocation in the real application (1440×1000) and Arabic profile setup fixture (390×900). No horizontal spill or docs sidebar in these views. Native file chooser text follows browser locale, not app locale.
|
|
11
|
+
- Fixed missing standalone dependency references, accessible select/feedback names, status-tab mapping, and an attachment filename leaking into the chat draft. Shared workflow semantics own all added presentation; pages do not import CSS.
|
|
12
|
+
- `design-system-ux-qa` guided the rendered-consumer checks and separation of tested coverage from source parity. Rams quick_review was attempted again after final UI fixes but the workspace has exhausted its 30-credit allowance; no Rams score/review was obtained.
|
|
13
|
+
- Not verified: WebKit/Firefox, real signed-in account-specific chrome, full source visual/interaction parity, real upload/storage/auth/provider/media/payment services. Original detailed credential matrices, per-item verification, plan comparisons, some record/dashboard-specific actions, profile defaults and public content sections remain reduced examples. See `ux-pattern-migration.md`.
|
|
14
|
+
- Nothing was committed, published, pushed or deployed. Generated CLI data was synchronized locally.
|
|
15
|
+
|
|
16
|
+
The sections below retain earlier checkpoints, not the current example counts.
|
|
17
|
+
|
|
18
|
+
## Sidebar regression remediation — 2026-09-13
|
|
19
|
+
|
|
20
|
+
PASS WITH RISKS. The previous fixture-heavy coverage missed a P2 application
|
|
21
|
+
shell regression: `/templates/patterns/:id` rendered TemplatesPage but
|
|
22
|
+
getActiveAreaId returned a nested string, so getSidebarArea fell back to docs.
|
|
23
|
+
The real-app area assertion failed before the fix. Detail routes now resolve
|
|
24
|
+
the templates area and template pages do not mount app-sidebar at any width.
|
|
25
|
+
No CSS override or unrelated page changes were needed.
|
|
26
|
+
|
|
27
|
+
22 Chromium checks passed after the fix, including all 12 real-app detail routes
|
|
28
|
+
at 1440/959/390px, catalogue, reload, Arabic detail, equal shell/main widths and
|
|
29
|
+
retained documentation navigation. TypeScript and semantic page ownership passed.
|
|
30
|
+
Rams review was attempted but quota-blocked. Authenticated session-specific
|
|
31
|
+
chrome and WebKit/Firefox were not exercised; route classification is independent
|
|
32
|
+
of auth. This narrow fix does not alter the incomplete source migration scope.
|
|
33
|
+
|
|
34
|
+
## Current evidence — individual pages, 2026-09-13
|
|
35
|
+
|
|
36
|
+
**PASS WITH RISKS for this local change.** Catalogue → one dedicated pattern
|
|
37
|
+
page replaces the stacked one-pager, following the latest user clarification.
|
|
38
|
+
There are now 12 source-backed examples, 41 selectable states and 13 independent
|
|
39
|
+
parts. The full source migration is still incomplete.
|
|
40
|
+
|
|
41
|
+
- Observed: real app catalogue, search, dedicated route, reload and back/forward;
|
|
42
|
+
no simultaneous full-page previews. Legacy example-query links show one example.
|
|
43
|
+
- Added invitation acceptance/code/expiry, session recovery, people directory,
|
|
44
|
+
conversation list, notification inbox and delivery preferences. Source portal
|
|
45
|
+
shells are not copied. ActivityList, DirectoryCards and ChannelPreferences are
|
|
46
|
+
independently available to MCP composition discovery.
|
|
47
|
+
- 20 Chromium desktop/mobile tests passed. Behavioral checks cover invitation
|
|
48
|
+
validation/accept/decline, session reauth/cancel, directory filter/sort/detail,
|
|
49
|
+
read status, archive empty state and channel restrictions/save/reset, alongside
|
|
50
|
+
existing account interactions. All 41 selectable states render in 8 themes at
|
|
51
|
+
959px. New pages also render at Arabic/RTL 360px; full-width preview at 1440px.
|
|
52
|
+
- Fixed native directory select accessible names after a failing interaction
|
|
53
|
+
test. Removed a generic search keyword that incorrectly selected people cards
|
|
54
|
+
for unrelated dashboard searches. Retained visible focus on interactive links;
|
|
55
|
+
route-focused headings do not draw a full-width control outline.
|
|
56
|
+
- TypeScript, semantic page ownership, CLI contracts, source hash coverage and
|
|
57
|
+
standalone MCP bundles passed. Earlier brandbooks type errors did not recur;
|
|
58
|
+
no edits were made to that service in this change.
|
|
59
|
+
- Browser artifacts: `pattern-catalogue-ko.png`, `people-page-ko.png`,
|
|
60
|
+
`preferences-ar.png` in the corresponding `test-results/ui-pattern-library-*`
|
|
61
|
+
directories. Korean catalogue/detail and Arabic preferences were inspected.
|
|
62
|
+
- Rams quick_review was attempted; quota exhausted, no external review score.
|
|
63
|
+
- Deliberate boundaries: session recovery is inline, not the source fixed modal;
|
|
64
|
+
no countdown navigation. Invitation strength uses sample host rules. Directory
|
|
65
|
+
and message destinations are local handoff previews, not a full booking/chat
|
|
66
|
+
backend. No actual mail, auth, preferences or membership mutations occur.
|
|
67
|
+
- Untested: WebKit/Firefox, screen-reader application testing, real service
|
|
68
|
+
callbacks, custom unregistered themes and source-only pages. These examples
|
|
69
|
+
are not a claim of complete branch-for-branch upstream parity or npm release.
|
|
70
|
+
|
|
71
|
+
## Historical first account batch — superseded
|
|
72
|
+
|
|
73
|
+
**PASS WITH RISKS for the first account port batch. Full requested migration is
|
|
74
|
+
INCOMPLETE.** The older two-example report below is historical, not current scope.
|
|
75
|
+
|
|
76
|
+
- Imported the complete pinned source inventory: 66 page definitions, 85 entries
|
|
77
|
+
including shared/system helpers, 104 indexed states and 218 exact function
|
|
78
|
+
fragments. Source hash checks and remote HEAD match the pinned revision.
|
|
79
|
+
- Fixed static-route precedence and indexed settings pages absent from screenshots.
|
|
80
|
+
- Local MCP supports full source discovery and bounded fragment reads, with
|
|
81
|
+
user/room theme then Cloudblur, source-only status, required semantic adaptation
|
|
82
|
+
and no automatic whole-portal import. Composition discovery includes source
|
|
83
|
+
candidates without asking the user to choose patterns.
|
|
84
|
+
- Removed invented review/workspace examples from public/MCP discovery. Gallery
|
|
85
|
+
now contains six source-backed account examples with 22 selectable states.
|
|
86
|
+
- Source differences are deliberate: no original branding, sample medical
|
|
87
|
+
identities, compliance/trial promises, mock navigation/localStorage auth or
|
|
88
|
+
automatic account side effects. No QR placeholder is presented as a real key.
|
|
89
|
+
- Added password visibility/rules, code entry and provider selection as independent
|
|
90
|
+
registered parts. Code cells and feedback surfaces have bounded semantic radii.
|
|
91
|
+
- 12 Chromium desktop/mobile tests passed: roles, opt-in separation, form
|
|
92
|
+
validation, password visibility, link-login, resend cooldown, email edit, code
|
|
93
|
+
paste/arrows/recovery, independent gallery state/code/viewport/copy, all 22
|
|
94
|
+
exposed states × 8 themes at 959px, full-width 1440px and Arabic at 360px.
|
|
95
|
+
- CLI contracts, standalone MCP bundles and semantic-page ownership passed.
|
|
96
|
+
TypeScript passed during the first batch check, but the final whole-workspace
|
|
97
|
+
rerun is blocked by TS7022/TS7006 in `src/services/brandbooks.ts:29-30`, outside
|
|
98
|
+
this change. That file was not edited here. Source tests validate every function
|
|
99
|
+
fragment and Korean intent discovery.
|
|
100
|
+
- Rams quick_review was attempted but blocked by review quota; no score exists.
|
|
101
|
+
- Untested: Safari/Firefox, actual auth/provider/email backends, custom unregistered
|
|
102
|
+
themes, all source-only page interactions as rendered Ceramic ports. State
|
|
103
|
+
renderability is not full behavioral equivalence to every source branch.
|
|
104
|
+
- No deployment, npm publication, commit or production mutation occurred.
|
|
105
|
+
|
|
106
|
+
Remaining work is tracked per source page in `ux-pattern-migration.md`.
|
|
107
|
+
|
|
108
|
+
## Historical gallery-only review — superseded
|
|
109
|
+
|
|
110
|
+
Verdict: PASS WITH RISKS (local implementation, not a release)
|
|
111
|
+
|
|
112
|
+
## Scope
|
|
113
|
+
|
|
114
|
+
Single-example regression repaired: both registered examples render together,
|
|
115
|
+
with independent per-article controls. Navigation does not unmount other
|
|
116
|
+
examples; search alone filters. The gallery count reflects two implemented
|
|
117
|
+
examples, NOT completion of the original source-pattern migration. Desktop and
|
|
118
|
+
mobile regression includes simultaneous rendering, vertical order, input state
|
|
119
|
+
retention across navigation, and independent Code/Preview/viewport controls.
|
|
120
|
+
|
|
121
|
+
Presentation follows the user's block-gallery screenshot: horizontal navigation,
|
|
122
|
+
compact Preview/Code and viewport/reset/install/AI toolbar above a full-width
|
|
123
|
+
example. No documentation sidebar or oversized hero. Usage guidance is collapsed
|
|
124
|
+
by default. Tests assert full preview width, absence of the old sidebar/install
|
|
125
|
+
section, tablet sizing, copy fallback and mobile containment. Rams quick review
|
|
126
|
+
was attempted again; credits remain exhausted.
|
|
127
|
+
|
|
128
|
+
The human-facing library now lists UX patterns with two contextual page
|
|
129
|
+
examples: signup and request review. The unrequested workspace-creation example
|
|
130
|
+
was withdrawn from the UI and MCP registry. Preview/code, actual
|
|
131
|
+
dependency files, base npm installation and optional AI handoff replace the
|
|
132
|
+
previous seven isolated cards. Seven independent parts remain the AI building
|
|
133
|
+
blocks: choices, validated input, filters, review list, existing KPIGrid,
|
|
134
|
+
progress steps and outcome notice. No required customer assembly flow,
|
|
135
|
+
source branding, source screenshots or role-specific portal categories appear
|
|
136
|
+
in the library. The former screen-copy approach is retired; 101 original source
|
|
137
|
+
screens remain internal references, not claimed migrations.
|
|
138
|
+
|
|
139
|
+
The agent optionally discovers parts from the product goal, checks fit and
|
|
140
|
+
retrieves actual exports/dependencies through MCP. No user selection is required.
|
|
141
|
+
No match produces `no-pattern-needed`. User/room theme takes precedence; absence
|
|
142
|
+
falls back to Cloudblur. Unknown explicit themes fail instead of rebranding.
|
|
143
|
+
|
|
144
|
+
## Evidence
|
|
145
|
+
|
|
146
|
+
- `tests/e2e/ui-pattern-library.spec.ts`: desktop and mobile Chromium, Korean/
|
|
147
|
+
English/Arabic, list/search, no source branding, local signup validation and
|
|
148
|
+
completion, shared filters/review rows, empty results, non-authorizing review
|
|
149
|
+
feedback, retired-link fallback in Arabic, code inspection, clipboard-denied
|
|
150
|
+
fallback, optional AI prompt with exact example/theme, no document overflow.
|
|
151
|
+
Isolated real-consumer fixture exercises all eight themes at the 959px
|
|
152
|
+
breakpoint and captures a clean 1440px page preview.
|
|
153
|
+
- `scripts/test-ui-parts.mjs`: seven exports across every registered theme,
|
|
154
|
+
real source files and component/motion contracts, negative inputs, optional
|
|
155
|
+
intent discovery, filter/list/metric bindings, account-theme precedence,
|
|
156
|
+
MCP schemas/calls and standalone package with no workspace source. Two UX
|
|
157
|
+
examples resolve full source/dependencies under all themes; unknown example
|
|
158
|
+
IDs and themes are rejected.
|
|
159
|
+
- Semantic page ownership, TypeScript and existing CLI/recipe regression tests.
|
|
160
|
+
|
|
161
|
+
## Risks and untested cells
|
|
162
|
+
|
|
163
|
+
- Rams review attempted but blocked by exhausted workspace credits. No Rams score.
|
|
164
|
+
- Safari/Firefox and live signed-in custom-brand UI were not exercised. Theme
|
|
165
|
+
fallback was browser-tested; room/explicit theme precedence is API-tested.
|
|
166
|
+
- Candidate retrieval is keyword-based. The coding agent must interpret the
|
|
167
|
+
user's intent, negation and context before using a candidate; this is not a
|
|
168
|
+
mandate to add every matching part.
|
|
169
|
+
- Fixtures do not validate production permissions, pagination, notifications or
|
|
170
|
+
persistence. Those remain explicit consumer bindings.
|
|
171
|
+
- No npm package or production deployment was published. Existing installed MCP
|
|
172
|
+
processes need updated local code and a restart to expose the new tools.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# UX examples and optional parts for Ceramic agents
|
|
2
|
+
|
|
3
|
+
The user describes an outcome, not a pattern selection. The coding agent decides
|
|
4
|
+
whether a pattern is useful while building with Ceramic. Do not ask the user to
|
|
5
|
+
pick parts, visit the pattern library, copy a prompt or approve a layout recipe.
|
|
6
|
+
The library is optional documentation, not onboarding or a required workflow.
|
|
7
|
+
|
|
8
|
+
## Human-facing UX pattern library
|
|
9
|
+
|
|
10
|
+
`#/templates?view=patterns` is a searchable catalogue of 59 source-backed examples.
|
|
11
|
+
Every entry opens its own `#/templates/patterns/:id` page; only that example is
|
|
12
|
+
mounted. Back/forward, refresh, and old `?view=patterns&example=:id` links work.
|
|
13
|
+
This supersedes the earlier vertically stacked gallery. The original 12 account,
|
|
14
|
+
directory and messaging examples now have 47 additional examples covering setup,
|
|
15
|
+
profiles/settings, scheduling, verification/operations, subscriptions/credits,
|
|
16
|
+
assessment, media and public content. There are 188 selectable states. The invented
|
|
17
|
+
`review-01` and workspace example are retired. This is representative coverage,
|
|
18
|
+
not complete source-interaction parity; see the migration ledger. Users can inspect a full interactive example,
|
|
19
|
+
switch to actual source/dependencies, copy the base npm installation command,
|
|
20
|
+
or optionally ask their AI to use that example. This optional action does not
|
|
21
|
+
make manual selection a prerequisite for AI-assisted building.
|
|
22
|
+
|
|
23
|
+
`list_ux_examples` and `get_ux_example({id, theme?})` expose the same registry and
|
|
24
|
+
actual code. AI should inspect context and adapt only the relevant parts, not
|
|
25
|
+
copy a whole screen blindly. Demo completion never creates an account, records
|
|
26
|
+
consent, provisions a workspace, or approves a request. Base components are
|
|
27
|
+
published on npm; these examples and MCP tools ship in CLI 0.8.0 and later.
|
|
28
|
+
|
|
29
|
+
## Agent workflow
|
|
30
|
+
|
|
31
|
+
1. Read the current room and product goal. Keep the user's theme; when none
|
|
32
|
+
exists, use `utopia-cloudblur`. An unknown custom theme must be registered,
|
|
33
|
+
not silently replaced.
|
|
34
|
+
2. Use `search` or `find_ui_parts` with the relevant UI intent in the goal.
|
|
35
|
+
Matching is keyword-based candidate discovery, not a fit decision. The agent
|
|
36
|
+
checks `useWhen` and `avoidWhen` in context, including negations and constraints.
|
|
37
|
+
Both discovery and composition also return sourceCandidates from the full
|
|
38
|
+
original inventory. Those are adaptation evidence, NOT runnable Ceramic parts.
|
|
39
|
+
No appropriate match means build with ordinary Ceramic components.
|
|
40
|
+
3. Retrieve a suitable export using `get_ui_part({id, theme?})`, or call
|
|
41
|
+
`prepare_ui_composition({goal, theme?})` for an optional composition proposal.
|
|
42
|
+
Keep only relevant parts. Never treat all returned candidates as mandatory.
|
|
43
|
+
4. Connect product-owned props and callbacks. Filters and lists share host-owned
|
|
44
|
+
query/status state; metrics use the same authorized scope. A review callback
|
|
45
|
+
opens a review, never approves it. Result notices wait for real service results.
|
|
46
|
+
5. Build and test. These tools return code and contracts, not finished production
|
|
47
|
+
integrations. Follow normal authority boundaries for external mutations.
|
|
48
|
+
|
|
49
|
+
There are 20 independently discoverable parts. New workflow exports are
|
|
50
|
+
`WorkflowFields`, `RecordTable`, `StepChecklist`, `StatStrip`, `RatingFields`,
|
|
51
|
+
`TrendSummary` and `MediaStage`. Use their host-owned props/callbacks rather than
|
|
52
|
+
importing the demo controller. `WorkflowFields` multi-select values are newline-
|
|
53
|
+
separated strings; the integrating host may map these to its own array schema.
|
|
54
|
+
Files expose selected metadata to the host; no transfer is implied. `MediaStage`
|
|
55
|
+
does not request microphone/camera access or establish a call.
|
|
56
|
+
|
|
57
|
+
### Complete source inventory, not screenshot placeholders
|
|
58
|
+
|
|
59
|
+
`list_ux_source_patterns` covers 66 original page definitions plus shared helpers
|
|
60
|
+
and system states: 85 entries and 218 exact named function fragments at a pinned
|
|
61
|
+
revision. The screenshot index omitted settings pages and incorrectly matched
|
|
62
|
+
the new-subscription route to a dynamic detail page; source discovery fixes both.
|
|
63
|
+
|
|
64
|
+
`find_ux_source_patterns({goal})` finds candidates in English/Korean and common
|
|
65
|
+
Arabic intents. `get_ux_source_part({id, part, theme?})` returns **one named
|
|
66
|
+
fragment**, source hash evidence, import references, semantic mapping and the
|
|
67
|
+
resolved theme/motion contract. It never silently copies a complete portal.
|
|
68
|
+
Use only relevant pieces; no human selection is required. Original code can
|
|
69
|
+
contain mock auth, navigation, data, placeholders or incomplete callbacks: these
|
|
70
|
+
must be replaced, never promoted to production behavior. Source provenance stays
|
|
71
|
+
internal. The public gallery shows actual ports, not original screenshots.
|
|
72
|
+
|
|
73
|
+
This inventory makes all original interactions inspectable by local MCP, but
|
|
74
|
+
does **not** mean all are implemented or verified in Ceramic. See
|
|
75
|
+
`ux-pattern-migration.md` for the remaining per-page migration ledger.
|
|
76
|
+
|
|
77
|
+
Examples:
|
|
78
|
+
|
|
79
|
+
- A searchable approval queue may use `ListFilters` + `ReviewList`; add `KPIGrid`
|
|
80
|
+
only when the goal needs useful, trustworthy metrics.
|
|
81
|
+
- A short form may use `ValidatedField` and `OutcomeNotice`. Do not import a
|
|
82
|
+
signup page, a complete portal, a marketing header or source-specific roles.
|
|
83
|
+
- For an unrelated task, use no pattern at all.
|
|
84
|
+
|
|
85
|
+
## Code and theme contract
|
|
86
|
+
|
|
87
|
+
`ui-patterns.json` registers 20 independently composable parts, including
|
|
88
|
+
password visibility/rules, code entry, provider selection, activity rows,
|
|
89
|
+
directory cards, delivery preferences and workflow primitives. Workflow exports
|
|
90
|
+
live in `blocks/semantic-pattern-parts/WorkflowParts.tsx`. Product exports live in
|
|
91
|
+
`blocks/semantic-pattern-parts/ProductParts.tsx`. Account exports
|
|
92
|
+
live in `blocks/semantic-pattern-parts/AuthParts.tsx`; metrics reuse
|
|
93
|
+
the existing `KPIGrid`. MCP returns only the selected source files and dependencies,
|
|
94
|
+
not a source application. Packaged CLI data contains these files so the tools work
|
|
95
|
+
without a monorepo checkout. No package has been published by this change.
|
|
96
|
+
|
|
97
|
+
Props carry labels, data and callbacks. Shared CSS owns layout and semantic roles;
|
|
98
|
+
pages do not import CSS. Surface radius is bounded independently from control
|
|
99
|
+
radius. Preserve keyboard interaction, logical layout, native scrolling without
|
|
100
|
+
scrollbar chrome, and loading/empty/error/retry states. Theme motion remains owned
|
|
101
|
+
by Ceramic; these parts do not need artificial entrance animation.
|
|
102
|
+
|
|
103
|
+
The customer-facing library shows neither upstream branding nor source credits.
|
|
104
|
+
Pinned source references remain internal engineering records only. Source
|
|
105
|
+
screenshots are not advertised as migrated or themeable UI.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# UX recipe import — 2026-09-12
|
|
2
|
+
|
|
3
|
+
**PASS WITH RISKS** — Discovery and semantic adaptation contracts pass; no runnable Mentix UI or production service is claimed.
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
- 16 interaction recipes from `The-Utopia-Studio/mentix-design` at `6b4b2770d04e42cc2e5453c3d80e35c282b3438f`.
|
|
8
|
+
- Local GitHub CLI API access returned 404, but existing SSH access successfully read and cloned the specified repository. No account switch or authorization change was required. Source repository files were not modified.
|
|
9
|
+
- Canonical registry, CLI/MCP discovery, theme-aware adaptation planning, generated agent guidance, semantic token mapping, public-contract checks and packaged-data parity.
|
|
10
|
+
- No source screenshots, brand artwork, source code, sample identities or agent/deployment instructions copied into the package. No customer GitHub synchronization or source repository execution was introduced.
|
|
11
|
+
|
|
12
|
+
## Evidence
|
|
13
|
+
|
|
14
|
+
- `node scripts/test-ux-patterns.mjs`: all 16 recipes × registered themes × permitted variants; actual component and motion references; negative inputs (unknown IDs/themes/variants, arbitrary style, oversized goals); duplicate/broken registry rejection; source/distribution parity; CLI flag ordering; MCP discovery/get/prepare/error; standalone CLI/MCP without monorepo sources. Passed.
|
|
15
|
+
- `npm run test:cli`: existing CLI generation and MCP protocol tests passed. The UX recipe suite is now part of this gate.
|
|
16
|
+
- All recipe `sourceFiles` paths exist at the pinned source checkout. Reference documentation and selected implementation paths were inspected; no blanket implementation audit of every source page is claimed.
|
|
17
|
+
- Required target token names occur in Ceramic core. All referenced Ceramic component names and theme motion profiles resolve. This proves registered roles, not rendered contrast or visual quality.
|
|
18
|
+
|
|
19
|
+
## Observed source gaps carried into recipes
|
|
20
|
+
|
|
21
|
+
- Notification Mark all read closes the preview without persistence; Escape dismissal described in source docs is absent in the inspected component.
|
|
22
|
+
- Request submission uses a timed mock success, not a production request service.
|
|
23
|
+
- Onboarding shell paths in source UX documentation are stale; current source components are under `components/auth`.
|
|
24
|
+
- Several source flows use mock data. Live-session failover, clinical safety, credit/escrow and billing behavior are not inferred as implemented capabilities.
|
|
25
|
+
|
|
26
|
+
## Coverage / remaining scope
|
|
27
|
+
|
|
28
|
+
| Surface | Status |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| Search, registry, planning, semantic dependencies | Passed |
|
|
31
|
+
| CLI, MCP, standalone package data | Passed |
|
|
32
|
+
| Rendered layout, keyboard, responsive, RTL, light/dark contrast | Not tested: no UI renderer was added |
|
|
33
|
+
| Live data, authorization, payments, realtime services | Not implemented by recipes; required host bindings |
|
|
34
|
+
| Production package release / existing MCP client reload | Not performed |
|
|
35
|
+
|
|
36
|
+
UX QA skill required separating documented source behavior from observed implementation; the token skill informed role-based mapping rather than source color/radius substitution. No UI file changed, so Rams UI review and visual composition approval are not applicable in this batch.
|
|
37
|
+
|
|
38
|
+
Consumers can inspect and prepare recipes with the updated local CLI/MCP. Newly generated applications must implement and test the selected recipe before calling it complete; use the existing component and shared composition contracts rather than importing Mentix pages wholesale.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Semantic UX pattern adaptation
|
|
2
|
+
|
|
3
|
+
Ceramic exposes **16 brand-neutral recipes** derived from an inspected revision of `The-Utopia-Studio/mentix-design`. These are interaction contracts, not copied React pages, installed UI renderers or production backend implementations.
|
|
4
|
+
|
|
5
|
+
## One source of truth
|
|
6
|
+
|
|
7
|
+
`packages/design-system/src/manifests/ux-patterns.json` holds pinned provenance, selection guidance, source-file references, permitted variants, component dependencies, slots, states, data requirements and immutable interaction rules. It is synchronized into CLI package data. `search`, `pattern` and the MCP tools consume that same registry. `doctor` checks dependency and contract completeness.
|
|
8
|
+
|
|
9
|
+
The existing `patterns.json` continues to register **implemented shared visual behavior**. `composition-registry.json` continues to describe executable dashboard blocks. A UX recipe is not automatically inserted into either and is explicitly `renderable: false`.
|
|
10
|
+
|
|
11
|
+
## Agent workflow
|
|
12
|
+
|
|
13
|
+
1. Read the user's goal and authorized company/brand context. Retrieve candidates with `search`; keyword matches do not establish suitability.
|
|
14
|
+
2. Read `useWhen`, `avoidWhen`, required data and source limitations. Choose one pattern and an allowed variant, not an entire source application.
|
|
15
|
+
3. Prepare a proposal with a registered company theme. It returns actual Ceramic component contracts, semantic mapping, motion profile, permitted changes and required invariants.
|
|
16
|
+
4. Resolve missing persistence, authorization, permissions and product callbacks. Adapt domain labels and permitted structure, never replace real behavior with mock success.
|
|
17
|
+
5. Compose existing Ceramic components. If a new shared visual composition is necessary, register its slots/states/tokens and implement it in the shared component/block layer. Pages retain data/routing/composition only. A raw source Tailwind class or Framer Motion timing is not a Ceramic contract.
|
|
18
|
+
6. Run product-specific behavior and accessibility tests. Test loading, empty, error, retry, permissions, mobile, RTL, keyboard, theme modes and reduced motion. Do not claim a recipe plan is a verified UI.
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
utopia-ds search "승인 검토" --json
|
|
22
|
+
utopia-ds pattern approval-queue --json
|
|
23
|
+
utopia-ds pattern approval-queue --goal "ABC 직원들의 구매 요청 검토" --theme utopia-cloudblur --variant split-review --json
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
MCP equivalents: `list_patterns`, `get_pattern`, `prepare_pattern_adaptation` (id, goal, theme, variant). These are read-only discovery/planning tools. They do not clone repositories, execute source instructions, deploy software, grant membership or write customer data. Restart a local MCP server to discover newly added tools; published package users can use CLI 0.8.0 or later.
|
|
27
|
+
|
|
28
|
+
## Example: applying a pattern to ABC
|
|
29
|
+
|
|
30
|
+
For an internal purchasing app, `approval-queue` can become **purchase requests → request detail → approve/request changes/reject**. Keep reviewer permission checks, explicit decisions, conflict handling, audit events and failure recovery. Replace Mentix role names, clinical evidence fields and branding with ABC's own labels, data and selected registered theme. Theme and motion come from Ceramic, not the reference project's teal palette or literal transition timings.
|
|
31
|
+
|
|
32
|
+
For a notification preview, reuse the interaction idea but implement an actual mark-read mutation. The inspected source button only closes the preview; its documentation also describes Escape dismissal which the implementation does not contain. Ceramic must preserve real keyboard/focus behavior and truthful unread state.
|
|
33
|
+
|
|
34
|
+
## Import boundary and evidence
|
|
35
|
+
|
|
36
|
+
Source revision: `6b4b2770d04e42cc2e5453c3d80e35c282b3438f` (inspected 2026-09-12).
|
|
37
|
+
Inspected source includes `docs/UX-PATTERNS.md`, `docs/UX-FLOWS.md`, `docs/TOKENS-SEMANTIC.md`, notification/empty-state components, and request/review implementation behavior. Source-file paths for all recipes are checked against the pinned repository tree. Some source flow documentation overstates production behavior: request submission uses a timer and onboarding/admin flows use mock data. These limitations are carried into the corresponding recipes.
|
|
38
|
+
|
|
39
|
+
The import includes paraphrased interaction rules and source references only. It does not distribute private repository source files, screenshots, logos, customer records, credentials, source agent instructions or deployment hooks. No medical, billing, escrow or realtime safety capability is inferred from a prototype screen.
|
|
40
|
+
|
|
41
|
+
Marketing-only browser frames and image fades, the Next.js Suspense convention, and framework-specific page-transition code are not portable UX recipes in this batch. Visual ornaments require their own registered shared pattern; framework adapters stay application-owned. No Mentix page has been replaced or deployed.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Complete UX source migration ledger
|
|
2
|
+
|
|
3
|
+
Status: **IN PROGRESS — broad representative coverage, not full source-interaction parity.**
|
|
4
|
+
|
|
5
|
+
Pinned source: `The-Utopia-Studio/mentix-design` at `6b4b2770d04e42cc2e5453c3d80e35c282b3438f`.
|
|
6
|
+
Remote HEAD was checked against this revision on 2026-09-13.
|
|
7
|
+
|
|
8
|
+
## What is actually done
|
|
9
|
+
|
|
10
|
+
- Source inventory: 66 page definitions + shared/system helpers = 85 entries.
|
|
11
|
+
- 104 indexed screenshot states, plus pages omitted from that screenshot index.
|
|
12
|
+
- 218 exact named function fragments available as bounded, internal MCP evidence.
|
|
13
|
+
- 59 source-backed examples on individual pages, with 188 selectable states. These represent 65 of 66 source page definitions; the original `/auth` reference index is superseded by the catalogue.
|
|
14
|
+
- 20 independent Ceramic parts available to composition discovery. Fields, record tables, checklists, ratings, measures, trends and media stages extend the existing account, activity, directory and delivery parts.
|
|
15
|
+
- Catalogue and individual `#/templates/patterns/:id` routes replace the stacked one-pager. Legacy example-query links remain usable.
|
|
16
|
+
- The invented review and workspace examples are retired from UI/MCP discovery.
|
|
17
|
+
|
|
18
|
+
"Source indexed" means readable reference code, not a semantic implementation or a production service.
|
|
19
|
+
|
|
20
|
+
## Remaining parity work
|
|
21
|
+
|
|
22
|
+
1. Replace remaining generic record/dashboard fixtures with source-specific columns, filters and decision states. A page mapping alone does not establish this parity.
|
|
23
|
+
2. Preserve the finer onboarding interactions: credential matrices, document previews, per-item checks, orientation completion and plan comparison. Current drafts and progress are local examples, not cross-page persistence.
|
|
24
|
+
3. Complete scheduling detail variations. Upcoming, pending and completed tabs now select distinct matching records; booking, feedback and assessment exercise key validations but not every original branch.
|
|
25
|
+
4. Expand profile defaults, settings variants and original public-page sections. Current forms and content pages are representative compositions.
|
|
26
|
+
5. Session-expiry modal remains unported; existing recovery is inline. Shared application/portal shells intentionally are not copied into the library.
|
|
27
|
+
6. Compare each source fragment with its representative port before marking it complete. Live authentication, storage, payments, media and provider integration remain host responsibilities, not required side effects of gallery demos.
|
|
28
|
+
|
|
29
|
+
Each port must preserve actual source interaction intent, expose useful pieces independently, replace brand-specific policies/data, map to registered Ceramic semantics, and prove the rendered consumer. Never fill a missing preview with a made-up screen or original screenshot labeled as themed.
|
|
30
|
+
|
|
31
|
+
## Per-page ledger
|
|
32
|
+
|
|
33
|
+
| Source page | Source-pattern ID | Gallery implementation |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| `/auth` | `account-auth` | Reference index; replaced by the UX catalogue, not duplicated as a product flow |
|
|
36
|
+
| `/forgot-password` | `account-forgot-password` | `password-recovery-01` — representative port; 4 selectable states |
|
|
37
|
+
| `/invite` | `account-invite` | `invitation-01` — representative port; 4 selectable states |
|
|
38
|
+
| `/locked` | `account-locked` | `account-protection-01` — representative port; 4 selectable states |
|
|
39
|
+
| `/login` | `account-login` | `login-01` — representative port; 4 selectable states |
|
|
40
|
+
| `/mfa` | `account-mfa` | `two-factor-01` — representative port; 4 selectable states |
|
|
41
|
+
| `/onboarding/credentials` | `account-onboarding-credentials` | `credentials-01` — representative port; 5 selectable states |
|
|
42
|
+
| `/onboarding/legal` | `account-onboarding-legal` | `agreements-01` — representative port; 5 selectable states |
|
|
43
|
+
| `/onboarding/orientation` | `account-onboarding-orientation` | `orientation-01` — representative port; 3 selectable states; `plan-selection-01` — representative port; 3 selectable states |
|
|
44
|
+
| `/onboarding` | `account-onboarding` | `setup-progress-01` — representative port; 4 selectable states |
|
|
45
|
+
| `/onboarding/profile` | `account-onboarding-profile` | `profile-setup-01` — representative port; 5 selectable states |
|
|
46
|
+
| `/reset-password` | `account-reset-password` | `password-reset-01` — representative port; 4 selectable states |
|
|
47
|
+
| `/session-expired` | `account-session-expired` | `session-recovery-01` — representative port; 4 selectable states |
|
|
48
|
+
| `/signup` | `account-signup` | `signup-01` — representative port; 3 selectable states |
|
|
49
|
+
| `/verify-email` | `account-verify-email` | `verify-email-01` — representative port; 3 selectable states |
|
|
50
|
+
| `/welcome` | `account-welcome` | `welcome-01` — representative port; 2 selectable states |
|
|
51
|
+
| `/admin/analytics` | `admin-analytics` | `analytics-01` — representative port; 2 selectable states |
|
|
52
|
+
| `/admin/audit` | `admin-audit` | `audit-log-01` — representative port; 3 selectable states |
|
|
53
|
+
| `/admin/broadcasts/new` | `admin-broadcasts-new` | `broadcast-schedule-01` — representative port; 3 selectable states |
|
|
54
|
+
| `/admin/broadcasts` | `admin-broadcasts` | `broadcast-management-01` — representative port; 3 selectable states |
|
|
55
|
+
| `/admin/closures` | `admin-closures` | `closure-queue-01` — representative port; 3 selectable states |
|
|
56
|
+
| `/admin/devices` | `admin-devices` | `device-monitoring-01` — representative port; 3 selectable states |
|
|
57
|
+
| `/admin/escalations` | `admin-escalations` | `matching-escalations-01` — representative port; 3 selectable states |
|
|
58
|
+
| `/admin/incidents` | `admin-incidents` | `incident-tracking-01` — representative port; 3 selectable states |
|
|
59
|
+
| `/admin/onboarding/[id]` | `admin-onboarding-detail` | `verification-checklist-01` — representative port; 3 selectable states |
|
|
60
|
+
| `/admin/onboarding` | `admin-onboarding` | `verification-queue-01` — representative port; 3 selectable states |
|
|
61
|
+
| `/admin/payments` | `admin-payments` | `payment-cycle-01` — representative port; 3 selectable states |
|
|
62
|
+
| `/admin/providers` | `admin-providers` | `provider-connections-01` — representative port; 3 selectable states |
|
|
63
|
+
| `/admin/settings` | `admin-settings` | `account-settings-01` — representative port; 6 selectable states |
|
|
64
|
+
| `/admin/subscriptions/[id]/allocate` | `admin-subscriptions-detail-allocate` | `credit-allocation-01` — representative port; 3 selectable states |
|
|
65
|
+
| `/admin/subscriptions/[id]` | `admin-subscriptions-detail` | `subscription-detail-01` — representative port; 3 selectable states |
|
|
66
|
+
| `/admin/subscriptions/new` | `admin-subscriptions-new` | `subscription-create-01` — representative port; 3 selectable states |
|
|
67
|
+
| `/admin/subscriptions` | `admin-subscriptions` | `subscriptions-01` — representative port; 3 selectable states |
|
|
68
|
+
| `/admin/transactions` | `admin-transactions` | `credit-transactions-01` — representative port; 3 selectable states |
|
|
69
|
+
| `/marketing/blog` | `marketing-blog` | `article-library-01` — representative port; 2 selectable states |
|
|
70
|
+
| `/marketing/contact` | `marketing-contact` | `contact-form-01` — representative port; 3 selectable states |
|
|
71
|
+
| `/marketing` | `marketing` | `product-introduction-01` — representative port; 1 selectable states |
|
|
72
|
+
| `/portal/mentor/messages` | `portal-mentor-messages` | `conversation-list-01` — representative port; 2 selectable states |
|
|
73
|
+
| `/portal/mentor` | `portal-mentor` | `expert-overview-01` — representative port; 2 selectable states |
|
|
74
|
+
| `/portal/mentor/profile` | `portal-mentor-profile` | `profile-editing-01` — representative port; 4 selectable states |
|
|
75
|
+
| `/portal/mentor/requests/[id]` | `portal-mentor-requests-detail` | `request-decision-01` — representative port; 3 selectable states |
|
|
76
|
+
| `/portal/mentor/sessions/[id]/assess` | `portal-mentor-sessions-detail-assess` | `structured-assessment-01` — representative port; 2 selectable states |
|
|
77
|
+
| `/portal/mentor/settings` | `portal-mentor-settings` | `account-settings-01` — representative port; 6 selectable states |
|
|
78
|
+
| `/portal/sessions/[id]/live` | `portal-sessions-detail-live` | `live-session-01` — representative port; 3 selectable states |
|
|
79
|
+
| `/portal/sponsor/billing` | `portal-sponsor-billing` | `invoices-01` — representative port; 3 selectable states |
|
|
80
|
+
| `/portal/sponsor` | `portal-sponsor` | `subscription-detail-01` — representative port; 3 selectable states |
|
|
81
|
+
| `/portal/sponsor/profile` | `portal-sponsor-profile` | `profile-editing-01` — representative port; 4 selectable states |
|
|
82
|
+
| `/portal/sponsor/sessions` | `portal-sponsor-sessions` | `session-list-01` — representative port; 3 selectable states |
|
|
83
|
+
| `/portal/sponsor/settings` | `portal-sponsor-settings` | `account-settings-01` — representative port; 6 selectable states |
|
|
84
|
+
| `/portal/sponsor/trainees` | `portal-sponsor-trainees` | `team-allocations-01` — representative port; 3 selectable states |
|
|
85
|
+
| `/portal/trainee/competency` | `portal-trainee-competency` | `skill-progression-01` — representative port; 2 selectable states |
|
|
86
|
+
| `/portal/trainee/credits` | `portal-trainee-credits` | `credit-balance-01` — representative port; 3 selectable states |
|
|
87
|
+
| `/portal/trainee/mentors` | `portal-trainee-mentors` | `people-directory-01` — representative port; 3 selectable states |
|
|
88
|
+
| `/portal/trainee/messages` | `portal-trainee-messages` | `conversation-list-01` — representative port; 2 selectable states |
|
|
89
|
+
| `/portal/trainee/notifications` | `portal-trainee-notifications` | `notifications-01` — representative port; 4 selectable states |
|
|
90
|
+
| `/portal/trainee` | `portal-trainee` | `personal-overview-01` — representative port; 3 selectable states |
|
|
91
|
+
| `/portal/trainee/profile` | `portal-trainee-profile` | `profile-editing-01` — representative port; 4 selectable states |
|
|
92
|
+
| `/portal/trainee/request` | `portal-trainee-request` | `booking-request-01` — representative port; 5 selectable states |
|
|
93
|
+
| `/portal/trainee/sessions/[id]/feedback` | `portal-trainee-sessions-detail-feedback` | `session-feedback-01` — representative port; 2 selectable states |
|
|
94
|
+
| `/portal/trainee/sessions/[id]` | `portal-trainee-sessions-detail` | `session-detail-01` — representative port; 3 selectable states |
|
|
95
|
+
| `/portal/trainee/sessions/[id]/precheck` | `portal-trainee-sessions-detail-precheck` | `connectivity-check-01` — representative port; 3 selectable states |
|
|
96
|
+
| `/portal/trainee/sessions` | `portal-trainee-sessions` | `session-list-01` — representative port; 3 selectable states |
|
|
97
|
+
| `/portal/trainee/settings/notifications` | `portal-trainee-settings-notifications` | `notification-preferences-01` — representative port; 2 selectable states |
|
|
98
|
+
| `/portal/trainee/settings` | `portal-trainee-settings` | `account-settings-01` — representative port; 6 selectable states |
|
|
99
|
+
| `/portal/tv/[id]` | `portal-tv-detail` | `broadcast-viewer-01` — representative port; 3 selectable states |
|
|
100
|
+
| `/portal/tv` | `portal-tv` | `media-library-01` — representative port; 3 selectable states |
|
|
101
|
+
|
|
102
|
+
## Evidence and boundaries
|
|
103
|
+
|
|
104
|
+
- Exact source functions and hashes: `docs/design-system/ux-source-evidence/` (internal, never customer attribution).
|
|
105
|
+
- Source registry: `packages/design-system/src/manifests/ux-source-inventory.json`.
|
|
106
|
+
- CLI source read-only tools: list_ux_source_patterns, find_ux_source_patterns, get_ux_source_part.
|
|
107
|
+
- Public gallery only renders entries registered in ux-examples.json.
|
|
108
|
+
- No accounts, messages, uploads, payments, media permission, security changes, commits, deployment or npm publishing occurred.
|
|
109
|
+
- Source token mappings are adaptation guidance requiring slot-level decisions, not a global string replacement or proof of theme compliance.
|
|
110
|
+
- Browser QA: all 59 routes and 188 exposed states across the existing 8-theme matrix; desktop/mobile Chromium, 959px and Arabic/360px. Validation, file-type rejection, allocation limits, verification prerequisites, assessment gating, record lifecycle and local media/chat behavior have targeted tests. This is not a pixel/interaction parity check of every upstream fragment.
|
|
111
|
+
- Rams quick_review blocked by account review quota; no score exists.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# UX pattern package and website release — 2026-09-13
|
|
2
|
+
|
|
3
|
+
Built on current production commit b04761f, incorporating UX-only commit
|
|
4
|
+
077596e and retaining existing Brandbook MCP discovery and preparation tools.
|
|
5
|
+
|
|
6
|
+
Published packages: design-system 0.11.0 and design-system-cli 0.8.0.
|
|
7
|
+
Includes 59 runnable UX examples, 20 semantic parts, 16 adaptation recipes,
|
|
8
|
+
and an evidence inventory of 85 entries / 218 fragments. Evidence entries
|
|
9
|
+
are not a claim that all original interactions have been implemented.
|
|
10
|
+
|
|
11
|
+
Validation: package/app builds, bundle budgets, CLI/MCP and standalone bundle
|
|
12
|
+
checks, semantic page ownership, and 38 desktop/mobile Chromium tests passed.
|
|
13
|
+
An initial browser run overlapped package rebuilding; the isolated rerun passed
|
|
14
|
+
all 38. Downloaded public npm tarballs verified all 59 examples, UX and existing
|
|
15
|
+
Brandbook MCP calls, plus all nine template commands and documented tokens.
|
|
16
|
+
The website release snapshot was generated from those public tarballs.
|
|
17
|
+
|
|
18
|
+
Rams quick_review and review_files were both requested, but the workspace
|
|
19
|
+
allowance was exhausted. No Rams score is claimed.
|
|
20
|
+
|
|
21
|
+
Production authentication/backend environment settings are preserved. This
|
|
22
|
+
release does not deploy Convex or include unrelated local room/auth changes.
|
|
23
|
+
|
|
24
|
+
## Concurrent release reconciliation
|
|
25
|
+
|
|
26
|
+
A separate Brandbook task published CLI 0.8.1 during this release without the
|
|
27
|
+
UX APIs. CLI 0.8.2 combines both releases: all UX APIs and source bundles,
|
|
28
|
+
Brandbook validation, and version-pinned generated MCP launch configuration.
|
|
29
|
+
CLI tests passed again; public 0.8.2 tarball verification covers UX discovery,
|
|
30
|
+
Brandbook tool retention and validation, all 59 examples, and nine templates.
|
|
31
|
+
Final versions: design-system 0.11.0, design-system-cli 0.8.2.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# UX-only production merge
|
|
2
|
+
|
|
3
|
+
Scope: 59 representative UX examples, 188 selectable states, 20 independent
|
|
4
|
+
semantic parts, catalogue/detail routing, source inventory, CLI/MCP discovery
|
|
5
|
+
and adaptation logic. Based on `origin/main` e669f43; no local room/auth/billing,
|
|
6
|
+
Convex, environment, domain, dependency or unrelated brand changes are included.
|
|
7
|
+
|
|
8
|
+
PASS WITH RISKS: clean npm installation, design-system build, app production
|
|
9
|
+
build, bundle budgets, CLI/MCP/standalone tests, semantic page ownership, and
|
|
10
|
+
38 desktop/mobile Chromium tests passed in the isolated release worktree.
|
|
11
|
+
Detailed interaction parity remains incomplete as recorded in the migration ledger.
|
|
12
|
+
No npm release is part of this merge; existing npm versions are unchanged.
|
|
13
|
+
|
|
14
|
+
Bounded input geometry is applied only inside UX examples. The shared token
|
|
15
|
+
definitions do not restyle existing room consumers. Current membership guards
|
|
16
|
+
are preserved for catalogue and nested detail routes.
|
|
17
|
+
|
|
18
|
+
Rams quick_review and pre-commit review_files were requested but the workspace
|
|
19
|
+
review quota is exhausted, so no score was obtained. Its one partial warning
|
|
20
|
+
about the pre-existing presentation thumbnail does not reproduce from the
|
|
21
|
+
stylesheet: its parent reserves 16/10 aspect ratio and the image fills that area.
|
|
22
|
+
No baseline or guard was weakened. Browser-engine parity and live authenticated
|
|
23
|
+
account-specific chrome remain untested. npm reported existing dependency audit
|
|
24
|
+
findings (24 total, including 3 high); dependency files are unchanged.
|
|
25
|
+
|
|
26
|
+
Room validation is a separate local task; production room code is unchanged.
|