Proposal · Review aid · WebUI design-system program
+A governed, catalogued design system that carries IronClaw to an AI/agentic-first UX — realized natively on React 19 + Tailwind v4, reviewed and regression-tested through Storybook, and delivered in five predefined phases.
+ +main — Phase 1 is in review (PR #7750), Phase 2 is prepared
+ but has no open PR (#7042), so every DESIGN.md / Storybook reference here describes what those phases land.
+ Every rung is relative to crates/product/ironclaw_webui/frontend/src/. The governance notes beside it are not: DESIGN.md lands at crates/product/ironclaw_webui/frontend/DESIGN.md and .claude/rules/design-system.md at the repository root.
Native M3X: the language is applied to our own React/Tailwind primitives and --v2-* tokens — no Material Web <md-*> components, no parallel framework.
Storybook 10 wired to app.css; ~33 stories in five categories; vitest split; addon-mcp.
DESIGN.md constitution + appendix, Storybook Design/Guidelines page, agent rules.
M3 → --v2-* token values (light + dark) + assets; primitives reskinned, validated in Storybook.
Agentic components + expressive, reduced-motion-gated interactions.
Navigation / routes / page structure foregrounding agentic workflows.
Proposal: derive dark values per token by tonal shift (not inversion) in :root[data-theme="dark"]; validate in the Tokens/Colors story.
Owner: Epic #7781 · Phase-3a token-foundation PR author
Proposal: validate every text/token pairing for the high-chroma palette; the Tokens story asserts computed contrast before adoption.
Owner: Epic #7781 · standing invariant, carried by the palette owner
Proposal: vendor Roboto Flex + Roboto Mono (OFL); drop Google Sans (not freely redistributable) — [decision] needed on the substitute.
Owner: Epic #7781 · [decision] — substitute called on #7781 before Phase 3a
Proposal: a small spring lib or spring→bezier CSS, always opt-in and prefers-reduced-motion-gated — never bypassing the static-motion policy.
Owner: Epic #7782 · [decision] — mechanism called on #7782 before Phase 4a
Proposal: an optional, non-blocking CI job runs playwright install chromium + test:storybook; promote to required only once stable.
Owner: Epic #7038 · CI-lane owner; [decision] to promote to required
Proposal: add msw + msw-storybook-addon for the two network-backed components' happy paths; keep deterministic cache-seeding elsewhere.
Owner: Epic #7782 · Phase-4 sub-issue assignee
Design governance has exactly one owner. This package is it.
+DESIGN.md, the --v2-* token architecture, the Storybook
+ catalog / test-harness / MCP, and .claude/rules/design-system.md. Feature packages
+ consume that governance rather than re-proposing it — including
+ docs/internal/design/oobe/, whose D-F6 “DESIGN.md + design tokens” item is
+ subsumed here and keeps only its pilot role: the OOBE card family is catalogued
+ through this system. Full boundary, including the alternative call:
+ PROPOSAL §9.
+ | File | Role |
|---|---|
| README.md | Executive north-star — shape, phase table, how to review. |
| PROPOSAL.md | The case, invariants, alternatives, and §7 dependencies with implementation proposals. |
| PLAN.md | The five phases as waves — intent, milestones, ⚠ ordering, next PRs. |
| CHECKLIST.md | Definition of done — workstreams WS1–WS7, "Landed with #NNNN", final gate. |