Integrate whynot-design into Economic Observatory UI

Vendor whynot-design Layer 1 (tokens, CSS) and Layer 2 (<wn-*>
components) via scripts/sync-whynot-design.sh with a pinned ref.
Migrate the observatory shell to canonical web components, keep
observatory-specific layout in styles.css, and add vendor integrity
tests plus correct JS MIME types on the dev server.
This commit is contained in:
2026-06-22 03:09:44 +02:00
parent 9c1c2142fc
commit da3b7d66f0
21 changed files with 2903 additions and 354 deletions

View File

@@ -35,12 +35,15 @@ cd projects/coulomb-pricing
python3 -m pytest -q
python3 -m observatory --period 2026-06
python3 -m observatory --period 2026-06 --output reports/economics-2026-06.md
./scripts/sync-whynot-design.sh # pull whynot-design tokens/CSS/components
python3 -m observatory.server
```
Open **http://127.0.0.1:8765/** for the Economic Observatory UI (served from
`ui/`, data via `/api/dashboard`). Design reference:
https://claude.ai/design/p/fb2eef8c-c1fc-4c75-bff4-3782552e5511
`ui/`, data via `/api/dashboard`). The UI consumes **whynot-design** (Layer 1 CSS
+ Layer 2 `<wn-*>` components) from `ui/vendor/whynot-design/` — re-run the sync
script after bumping the pinned ref in `.whynot-design-ref`. Claude atelier mock
(reference only): https://claude.ai/design/p/fb2eef8c-c1fc-4c75-bff4-3782552e5511
Manual ledgers will be replaced by Bubble (Sprint 2), Stripe (Sprint 3), and
OpenRouter (Sprint 4) importers.