Skip to content

Three review findings: a text token at 2.19:1, a check that saw half its ground, a dead rule - #52

Merged
robertblust merged 1 commit into
mainfrom
tidy-and-scope
Sep 2, 2026
Merged

Three review findings: a text token at 2.19:1, a check that saw half its ground, a dead rule#52
robertblust merged 1 commit into
mainfrom
tidy-and-scope

Conversation

@robertblust

Copy link
Copy Markdown
Owner

Three findings from the whole-branch review of the theme work, now that it has merged. Takes @robertblust/design v0.11.3.

--c-weak was carrying text at 2.19:1. .never li b{color:var(--c-weak)} coloured the terms in the "Not used at all" card — Cookies, Analytics, Third-party requests. The intent was good, and the comment above it said so: --c-weak means "a candidate: considered, not accepted", which is exactly what that card lists.

But it is a text use of a token the spec declares must never carry text, at 2.38:1 dark and 2.19:1 light. And .card li i — the explanation beside each term — is --dim at ~5.6:1, so the term read paler than its own description and the hierarchy ran backwards.

The rule is gone. .card li b already inherits --ink, which is the right strength for a term, and the meaning an unreadable colour was trying to restate is already carried by the card's own heading. The comment stays, reworded to explain the card rather than a colour choice that no longer exists.

It also appeared on more pages than the class does — on blust.ch, model/ and principles/ carried the rule with no .never element at all. No text-bearing --c-weak remains anywhere in the family.

readoutInvariant is switched on for the four decks. The deck's readout stays dark in both themes while the slab around it pales, and a test already enforced that nothing which flips is painted inside .lcd — but it scanned only the package's own block. A .lcd rule in a deck page's own CSS was invisible to it, and to design:check, which compares bytes between markers only. The new check fetches the served page and scans all of it. Proven by injecting .lcd{color:var(--c-mid)} outside the fence and watching it fail.

A dead rule and its token are gone.lcd .n.msg and --lcd-flag, the last survivors of the message path deck runtime v4 deleted.

Every card re-rendered byte-identical; only the stamps moved.

🤖 Generated with Claude Code

…eadable --c-weak text override

- design tokens v10 and deck transport v8 land on every page and both decks
- verify/check.mjs: readoutInvariant: true on both deck pages (mental-model, essential-complexity)
- remove `.never li b{color:var(--c-weak)}` from privacy/, principles/ and model/ — a text
  use of a token the spec forbids for text, measuring 2.38:1 dark / 2.19:1 light and paler
  than its own explanation text; `.card li b` already inherits --ink, the correct strength

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@robertblust
robertblust merged commit 094ff01 into main Sep 2, 2026
1 check passed
@robertblust
robertblust deleted the tidy-and-scope branch September 2, 2026 04:08
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