feat(adapter): plain-css second-adapter smoke — proves the IR seam (WHYNOT-WP-0002 T10)

A deliberately-unfinished second adapter that consumes the same ir/ and honours
the same adapters/ADAPTER_CONTRACT.md (token full-gen + write-once stubs + drift
roll-up shape + exit codes), with zero changes to ir/. Every IR component is
'new' for a fresh stack → 10 class stubs + tokens.css (80 props). Not a usable
plain-CSS kit — the deliverable is confidence the boundary holds so the
architecture can be lifted into a coulomb-level tool later. make adapt-plain-css.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 09:21:16 +02:00
parent 7cf524137f
commit 36f7b9f7b9
15 changed files with 367 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/Button.json — write-once. */
/* Button: Button — extracted from designbook ui_kits/whynot-control/Atoms.jsx. */
.wn-button { /* TODO: base appearance per ir/exemplars/Button.html */ }
.wn-button--secondary { /* variant=secondary */ }
.wn-button--primary { /* variant=primary */ }
.wn-button--ghost { /* variant=ghost */ }

View File

@@ -0,0 +1,3 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/Eyebrow.json — write-once. */
/* Eyebrow: Eyebrow — extracted from designbook ui_kits/whynot-control/Atoms.jsx. */
.wn-eyebrow { /* TODO: base appearance per ir/exemplars/Eyebrow.html */ }

View File

@@ -0,0 +1,3 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/Icon.json — write-once. */
/* Icon: Icon — extracted from designbook ui_kits/whynot-control/Atoms.jsx. */
.wn-icon { /* TODO: base appearance per ir/exemplars/Icon.html */ }

View File

@@ -0,0 +1,3 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/PageHeader.json — write-once. */
/* PageHeader: PageHeader — extracted from designbook ui_kits/whynot-control/Chrome.jsx. */
.wn-page-header { /* TODO: base appearance per ir/exemplars/PageHeader.html */ }

View File

@@ -0,0 +1,3 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/PipelineStrip.json — write-once. */
/* PipelineStrip: PipelineStrip — extracted from designbook ui_kits/whynot-control/Chrome.jsx. */
.wn-pipeline-strip { /* TODO: base appearance per ir/exemplars/PipelineStrip.html */ }

View File

@@ -0,0 +1,4 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/Sidebar.json — write-once. */
/* Sidebar: Sidebar — extracted from designbook ui_kits/whynot-control/Chrome.jsx. */
.wn-sidebar { /* TODO: base appearance per ir/exemplars/Sidebar.html */ }
.wn-sidebar--doc: { /* current=doc: */ }

View File

@@ -0,0 +1,3 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/StageDot.json — write-once. */
/* StageDot: StageDot — extracted from designbook ui_kits/whynot-control/Atoms.jsx. */
.wn-stage-dot { /* TODO: base appearance per ir/exemplars/StageDot.html */ }

View File

@@ -0,0 +1,3 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/Stamp.json — write-once. */
/* Stamp: Stamp — extracted from designbook ui_kits/whynot-control/Atoms.jsx. */
.wn-stamp { /* TODO: base appearance per ir/exemplars/Stamp.html */ }

View File

@@ -0,0 +1,3 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/Tag.json — write-once. */
/* Tag: Tag — extracted from designbook ui_kits/whynot-control/Atoms.jsx. */
.wn-tag { /* TODO: base appearance per ir/exemplars/Tag.html */ }

View File

@@ -0,0 +1,3 @@
/* @generated STUB by adapters/plain-css (T10) from ir/components/TopNav.json — write-once. */
/* TopNav: TopNav — extracted from designbook ui_kits/whynot-control/Chrome.jsx. */
.wn-top-nav { /* TODO: base appearance per ir/exemplars/TopNav.html */ }