Commit Graph
5 Commits
Author SHA1 Message Date
araharah-executor b462936678 feat(01-04): Playwright capture toolchain + DSGN-02 approval gallery (D-14, D-12)
- screenshot.mjs: committed real-browser capture tool — tiny node static
  server (theme/ docroot), sheet fullPage capture (390px), 4 mockup captures
  via file:// (network CDN renders; committed screen.png fallback on failure —
  mockups never edited, D-06), basemap capture gated on the proof page's
  RAMS-BASEMAP-READY console signal + 2s tile settle (1280x800); blank gate
  >=10KB per capture; wired as root+theme `capture`
- gallery.html: the DSGN-02 mechanism template — 4 mockup-vs-sheet comparison
  rows + basemap direction row + token ledger (13 typography specimens + 6 hero
  color swatches, names only per D-07) + approval scope strip; CDN-free, built
  from dist/rams.css + var()-only page shell; every later UI phase extends
  this same page
- audit.mjs: gallery.html registered as an implementation page — audit
  covers its <style> block + style attributes + class harvest (354
  declarations, still 0 off-token)
- verified: CAPTURE OK 6/6 (45KB-1.2MB), gallery render check 0 failed
  requests / all 6 images decode, AUDIT CLEAN
2026-10-22 08:31:14 +08:00
araharah-executor 0b3eebf7d0 feat(01-04): audit inline style attributes — close D-13 evasion path (GREEN)
- implementation pages' style="…" attributes are rendered CSS: every
  declaration checked like <style>-block CSS, violations reported as
  file:line: style attribute { prop: value }
- token-var references pass by construction; only off-token literals flag
- 16/16 audit tests green; real build still AUDIT CLEAN
2026-10-22 08:28:43 +08:00
araharah-executor 9ba73f207d test(01-04): add failing inline-style-attribute audit test (RED)
- T8: style="color: #00ff00" on an implementation page currently passes
  silently — an evasion path around the <style>-block scan (Rule 2 hole
  in the D-13 evidence: the gallery itself will use style attributes)
2026-10-22 08:28:30 +08:00
araharah-executor b39317de64 feat(01-04): automated off-token audit (GREEN) — D-13
- audit.mjs: zero-dep rendered-CSS scanner — flags off-token hex/rgb()/hsl()
  literals, non-sanctioned font families, non-zero border-radius, box-shadow,
  backdrop-filter, blur/drop-shadow; violations printed as file:line: declaration
- drift guards (exit 2): <40 color tokens, any non-zero --radius-* token,
  missing token sheet / registered page / CSS input — no silent passes (T-1-07)
- scope adjudication: framework layers + @property --tw-* skipped; @layer
  utilities audited only for classes used by implementation pages (mockup
  vocabulary is reference material, D-06; sheet/basemap pages are the registry)
- token-hue+alpha 8-digit forms sanctioned; rounded-full sanctioned as circle
  primitive (spec geometry — puck/medallion signets); 50% radius stays flagged
- wired: theme npm audit + test scripts (root audit delegate resolves)
2026-10-22 08:26:57 +08:00
araharah-executor 6a7c256c62 test(01-04): add failing off-token audit tests (RED)
- TDD harness for the D-13 audit: 13 checks across 7 test groups
- clean/dirty/drift/components-layer/used-utilities fixtures under /tmp/opencode
- real-build integration test (npm run build + default dist audit → exit 0)
- contract: exit 0 clean, 1 violations (file:line: declaration), 2 token drift
2026-10-22 08:23:40 +08:00