Status
Roadmap
The work required to move fe-distillery from the current legacy token system to full Cognition v1.3 compliance.
Epics 1 and 2 are rebrand blockers. Epics 7 through 10 are Cognition v1.3 additions. A brand color swap becomes a single CSS file change once Epics 1 and 2 land.
Epic 1
Dark Mode Foundation
Rebrand blocker
Blocks everything. Ship first.
- Switch tailwind.config.js to [data-theme="dark"] strategy
- Replace all .dark selectors in base.css and impls/demos/App.css
- Update theme provider to set dataset.theme instead of toggling .dark class
- Remove 26 raw dark: Tailwind classes from impl code
- Fix alert.tsx and tabs.tsx primitives first. They propagate
Epic 2
Token Introduction
Rebrand blocker
The rename that makes the rebrand possible.
- Define all 32 Cognition v1.2 tokens in components/ui/base.css
- Keep legacy --primary etc. as aliases during migration window
- Update tailwind.config.js to expose Cognition tokens as semantic utilities
- Delete duplicate token block in impls/demos/App.css
Epic 3
Primitive Rewrites
In queue
Fix the components poisoning their consumers.
- Rewrite badge.tsx — replace 30+ raw Tailwind utilities with semantic tokens
- Rewrite toast.tsx — remove text-red-300/50 and similar
- Introduce canonical Tag primitive
- Move 4 direct @radix-ui imports onto the shared ui/ wrappers
Epic 4
Typography
In queue
Silent brand issue today.
- Set Geist as :root body font in base.css (currently Inter)
- Audit and update six MUI theme files to reflect Geist
- Resolve AlliancePlatt-Bold references in demo files
Epic 5
Token Adoption
Planned
Not a rebrand blocker but defines long-term health.
- Replace 2,061 raw Tailwind palette utilities with semantic tokens
- Replace 344 hardcoded hex literals with token references
- Standardize spacing violations in ReactMarkdownOverrides files
Epic 6
MUI Decision
Planned
Multi-quarter. Needs an architectural call.
- Inventory which user-visible surfaces still render through MUI
- Decision: retire MUI per impl or extend Cognition tokens into MUI theme
- Execute per impl in order of customer visibility