- README: correct the Node-tooled install host (placeholder gitea.example.com →
gitea.coulomb.social/coulomb/whynot-design) and rewrite the Type/font prose to
match the actual tokens (system font stacks, no webfont; Plex kept as history).
- WHYNOT-WP-0003 T06: add a "Tracking whynot-design from a consuming repo" README
section (pin → inspect → drift → adopt) and reconcile the install pin once
T01/T02 publish a tag.
- Record the README fixes as ADHOC-2026-06-27.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Versioned IR releases (Gitea npm) + a consumer-side drift-check so downstream
repos can pin whynot-design, inspect a version, and track changes at their own
pace. Status: proposed (awaiting review). Defaults: Gitea npm distribution +
snapshot-diff drift basis; live contract-parity deferred.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Visual baselines are large binary test artifacts; keep them out of the repo.
They stay on disk locally (regenerate with `pnpm test:visual:update`); the
infra fixes that make rendering deterministic remain committed. Also folds in
the state_hub_task_id writeback from `make fix-consistency`.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Regenerate the four whynot-control visual baselines against the T06 token
regen, and make the harness render deterministically:
- serve.json (cleanUrls:false): serve was 301-redirecting /…/index.html and
stripping the trailing slash, shifting the document base so every relative
asset 404'd (also broke `pnpm showcase` in a browser).
- examples/whynot-control/index.html: token stylesheet pointed at a
non-existent root path; repoint to ../../src/styles/colors_and_type.css so
the page actually loads the T06 tokens.
- examples/vendor/lit.js: vendor a self-contained esbuild lit bundle and point
the showcase importmap at it, removing the multi-hop live esm.sh dependency.
- tests/visual/ui-kit.spec.mjs: abort the unused Google-Fonts CDN (fonts are
system-ui post-IBM-Plex); a hung font request blocked module execution.
The showcase "every component" test is marked test.fixme: that page wedges the
renderer main thread (a demo composition loops) and has never produced a
baseline. Tracked as WHYNOT-WP-0002-T11. Components + vendored lit render fine
in isolation; the four control baselines pass deterministically.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Review integration files; fill SCOPE where templated
- Document dev workflow in stack-and-commands.md
- Seed WP-0002 implementation workplan; mark bootstrap finished
- Hub sync via fix-consistency
- 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>
CLAUDE.md modular rules, AGENTS/INTENT/SCOPE/.custodian-brief, and the
state-hub bootstrap workplan (WHYNOT-WP-0001).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>