System
What holds Poesía together: its health, its taste, and the twin an agent reads.
All green · 2 off in CI
@rrios-forge/ui 0.16.1 · gates ran on 21 Oct 2026 on main
106
26 atoms · 65 molecules · 15 organisms
616
607 with a visual baseline
46
Each one cited where it applies
50
Each answered by a component
Gates
What every change is checked against, by what it guards.
Code
Types, lint and the forbidden-class rules, and that it all builds.
Types
Not run herebun run check-typesLint
Not run herebun run lintR02 / R04 / atoms-only
16.1 sbash .claude/hooks/poesia-lint-forbidden.sh --treeGenerated output in sync
Not run herebun run ds:build && git diff --exit-code -- packages/design-system-tokens/generated packages/design-system-themes/generatedStorybook builds
Not run herebun run storybook:build
Tokens and themes
Every value is a token, and every theme only changes values.
Token tiers, references, cycles
0.1 sbun run tokens:validateContrast per theme
0.1 sbun run tokens:contrastThemes override existing semantics only
0.0 sbun run themes:validateTheme tests (density order, OS reduce-motion last)
0.1 sbun --filter @rrios-forge/design-system-themes test
Stories and docs
Every component documented, pictured and tested.
Inventory, story metadata, server boundary, ADR citations
0.2 scd tooling/storybook && bun run check:inventory && bun run check:story-meta && bun run check:server-boundary && bun run check:citationsAxis vocabulary, focus ring
0.1 scd tooling/storybook && bun run check:axes -- --strict && bun run check:focus-ringVisual snapshots + axe + play tests
Off in CIbun run storybook:test (needs Playwright's Chromium)
Taste and legibility
What a reader sees: no generic tells, glass that stays legible.
Taste: generic-AI tells in source (
0.2 staste.yaml, J-13)cd tooling/storybook && bun run check:tasteGlass gate
Off in CIcd tooling/storybook && bun run test:glass (headed)Legibility, gutters
Not run herecd tooling/storybook && bun run check:legibility && bun run check:gutters (headed)
Latest decisions
46 in all; the newest first.
ADR-046
A screen's controls pin and condense
2026-10-18
ADR-045
Navigation is a rail that peeks
2026-10-18
ADR-044
The default theme is monochrome
2026-10-18
ADR-043
ADR-042
Experimental
Each one is adopted or retired before it ages (R15).
One message in a conversation, sent or received.
One comment: who wrote it, what they said, and the reactions to it.
Narrows a list by a few filters and shows which ones are on.
Model or editorial Markdown painted with atoms; app pieces through render slots.
Quick emoji reactions with their counts; the reader's own stands out.
Without a visual baseline
9 of 616 stories: a visual change here would pass unnoticed.
Theme layers
Set by attribute on any ancestor; layers combine (ADR-032).
light
Basedata-color-scheme="light"dark
Appearancedata-color-scheme="dark"desktop-density
Densitydata-density="desktop"full-transparency-dark
Accessibilitydata-color-scheme="dark"data-transparency="full"full-transparency
Accessibilitydata-transparency="full"high-contrast-dark
Accessibilitydata-color-scheme="dark"data-contrast="more"high-contrast
Accessibilitydata-contrast="more"less-transparency-dark
Accessibilitydata-color-scheme="dark"data-transparency="less"less-transparency
Accessibilitydata-transparency="less"reduced-motion
Accessibilitydata-motion="reduce"reduced-transparency-dark
Accessibilitydata-color-scheme="dark"data-transparency="reduce"reduced-transparency
Accessibilitydata-transparency="reduce"