Skip to content

CI enforces what the docs scripts only offered - #10

Merged
LinzLos merged 1 commit into
mainfrom
claude/beautiful-thompson-s868ip
Sep 28, 2026
Merged

LinzLos merged 1 commit into
mainfrom
claude/beautiful-thompson-s868ip

Conversation

@LinzLos

@LinzLos LinzLos commented Sep 28, 2026

Copy link
Copy Markdown
Owner

What does this change?

checks.yml gains two jobs: docs-current runs scripts/render-docs.py in check mode (the stale-docs check existed but nothing ran it), and tokens-sync runs the new scripts/check-tokens.py, which resolves every var() chain in lib/tokens.css (light :root, then the dark overrides cascaded on top) and compares the results against the literals in lib/tokens.js — 38 primitives, 41 light and 41 dark color values. The last audit hand-checked those matches; now CI does.

Also fixes three pointers that still named globals.css, a two-line import shim since the tokens/base split: the PR template's token checklist line (CONTRIBUTING already said tokens.css), the tokens.js header, and the token-purity job's error message.

No version bump, no changelog entry — same treatment as the last post-release doc fix.

Type

  • New component or variant
  • Fix (visual / a11y / behavior)
  • Token change
  • Docs only

Checklist

  • Components read tokens only — no hardcoded hex in lib/components.css (the CI check passes)
  • Any new value is defined as a token in lib/tokens.css for both light and dark (n/a — no new values)
  • Works in light and dark (data-theme="dark") — the sync check verifies both themes
  • Text/icon colors clear WCAG AA (n/a — no color changes)
  • Added or updated a docs demo (n/a — tooling and doc-reference fixes only)
  • Updated CHANGELOG.md (SemVer) — intentionally not: process/CI change, no shipped-library change; matches the precedent of the post-v1.6 fix commit
  • No build step introduced — still drop-in static CSS/JS (both new jobs are stdlib-only Python)

Screenshots (light + dark)

n/a — no rendered output changes. Verification instead: render-docs.py and check-tokens.py both pass on this branch; check-tokens.py was negative-tested against a mutated JS literal and a mutated CSS primitive (the latter correctly flagged both --brand and --accent in dark via the alias chain).

🤖 Generated with Claude Code

https://claude.ai/code/session_01WmahEexkaJcf2iUFJHbKna


Generated by Claude Code

checks.yml gains two jobs. docs-current runs scripts/render-docs.py in
check mode, so the rendered counts and version markers can no longer
drift silently — the script existed but nothing ran it. tokens-sync runs
the new scripts/check-tokens.py, which resolves every var() chain in
lib/tokens.css (light, then dark cascaded on top) and compares the
result against the literals in lib/tokens.js: 38 primitives, 41 light
and 41 dark color values. The last audit hand-checked those 82 matches;
now the machine does.

Two pointers still named globals.css, which has been a two-line import
shim since the tokens/base split: the PR template told contributors to
add tokens there (CONTRIBUTING already said tokens.css), and the
tokens.js header claimed to mirror it. Both now say lib/tokens.css, as
does the token-purity job's error message.
@LinzLos
LinzLos merged commit be54919 into main Sep 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant