Triage the three surfaced divergences the governance-correct way (no stack->React
back-edit, no ir/ hand-edit); make adapt-lit/parity-lit/designbook-refresh now
exit 0:
- PipelineStrip: documented TAG_OVERRIDES in scripts/ir-extract.mjs maps the
React 'PipelineStrip' to the established tag wn-pipeline (the web-component tag
is an IR-projection detail, not React-dictated; the component name stays
faithful). Tag now matches the element; parity tests it (no longer skipped).
- PageHeader.actions: the drift detector now collects each element's named slots
and treats an IR prop honoured by a same-named slot (<slot name="actions">) as
satisfied (prop-via-slot, informational) rather than prop-missing.
- Sidebar.current: recorded as an auditable accepted divergence in
adapters/lit/drift.accepted.json (React monolithic 'current' key vs Lit per-item
'active' on composable <wn-sidebar-item>) — listed, downgraded to info, not gated.
Rendered surfaces (src/, examples/) untouched — verified zero diff; parity renders
all 10 components green. Adapt/parity outputs idempotent (stable re-run).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
scripts/designbook-refresh.mjs chains the automatable steps
(check->pull->sync->ir->adapt-lit->parity) and stops for the human drift-triage
step, propagating the adapter-contract exit codes (3=stop for triage, 4=parity
fail). Gating steps call the node scripts directly so make doesn't collapse the
3/4 codes to 2. Best-effort steps (check/pull/sync) warn and continue; --no-pull
/--no-check/--no-parity flags. Documented the loop in stack-and-commands.md and a
step-6 drift-resolution runbook in designbook/README.md.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- scripts/release.mjs + `make release VERSION=x.y.z`: guarded release cut —
bumps package.json, relabels CHANGELOG [Unreleased] → [x.y.z], commits, and
creates the annotated git tag. Refuses on dirty tree, existing tag, duplicate
section, or empty [Unreleased]. Never pushes (outward step stays manual).
- DesignSystemIntroduction.md §6: document the release ritual; §9: fix the
stale bootstrap host + tag note.
- README: bump the install pin to the first real tag (v0.3.0).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- designbook/ local mirror of the Claude Design project, with conventions
(@dsCard/manifest) and freshness marker docs.
- make designbook-sync + scripts/designbook-sync.mjs: record what a sync
changed into RecentChanges.md, grouped by layer, with last /design-sync time.
- make designbook-check + scripts/check_designbook_staleness.py: llm-connect
(claude-code adapter) backend that detects when the cloud designbook moved
ahead and warns the local mirror is outdated.
- .design-sync/config.json: recorded target project pin (WhyNot Design System).
- WHYNOT-WP-0002: workplan for a technology-neutral designbook IR with
scaffold+drift-detect stack adapters (Lit reference).
- gitignore Python artifacts.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>