8.3.17 motir.co serves `@motir/design-system@0.1.0`, which predates MOTIR-3745 AND MOTIR-3774 — five accent-ink cells fail AA on the live site, and `/design` is about to make every one of them reachable in one click
Both accent-ink AA fixes — MOTIR-3745 (dark, --el-surface-soft) and MOTIR-3774 (light, --el-tint-lavender, four palettes) — are merged in motir-core/packages/design-system/theme.css. Neither has ever been published to npm. motir-marketing pins @motir/design-system@0.1.0, published 2026-07-02, which predates both. So the fixes exist in the source and are not on the live site.
Measured, not inferred
Both versions' theme.css were compiled with the repository's own Tailwind (@tailwindcss/postcss) and probed in headless chromium, reading getComputedStyle off <html> with data-theme × data-palette set — i.e. the resolved values a browser actually paints, not the var() chains.
--el-accent-on-surface on --el-tint-lavender | light | dark |
|---|---|---|
@motir/design-system@0.1.0 (what motir.co installs) | 4 of 10 FAIL — evergreen 4.19, amber 4.00, sienna 4.13, candy 4.29 | 1 of 10 FAIL — motir, the DEFAULT palette, at 3.59 |
motir-core origin/main (current source) | 0 of 10 fail | 0 of 10 fail |
Five failing cells on the live site; zero in the source. AA for normal text is 4.5:1.
Three controls, so the pipeline is not the thing being measured
--el-accent-on-surfaceon--el-surface-soft, dark,motir→ 4.41 on 0.1.0. That is MOTIR-3745's own independently recorded number, to the digit.- The light
tint-lavenderarm fails on exactly four palettes on 0.1.0 — MOTIR-3774's title says "the LIGHT theme of four palettes". - The same probe over
origin/mainreturns 0/10 on both arms, so the harness can distinguish a fixed theme from a broken one.
One correction on the record, because it nearly became the finding. A first run of this sweep reported 10/10 dark failures against origin/main. That was my parser: the fixed inks are color-mix(), which computes to color(srgb 0.567 0.519 0.910), and the parser read those 0–1 floats as 0–255. The numbers above are from the corrected parser. A contrast harness that cannot parse color() reports a fixed theme as catastrophically broken — worth knowing before anyone writes the AA matrix gate.
Why it is filed here, and what it blocks
MOTIR-1043 carries this acceptance criterion verbatim:
AA holds for body text and controls on the page in light and dark, for every style × palette pair — checked programmatically over the registries rather than by eye, and reported as a matrix, not a sample.
That criterion is unsatisfiable against 0.1.0: the matrix it asks for is the table above, and it has five red cells. /design is a picker over all 10 palettes × both themes, so unlike the landing — which only ever paints the default — it makes every failing cell reachable by a visitor in one click, on the page whose entire argument is "the design system Motir gives you is the one Motir wears."
Fix direction
motir-core— publish the currentpackages/design-systemas0.1.1(or later). Nothing in the theme needs changing; the fixes are already there. Note the published artifact must be pulled and verified as the consumer, anonymously, before this is called done.motir-marketing— bump the@motir/design-systempin, re-run the sweep, and confirm 0/10 on both arms.
@motir/brand@0.1.0 should be checked for the same lag in passing; this card does not assume it.
Reproduce
# in motir-marketing, against the installed package and against motir-core's source
node .render-harness/sweep.mjs # 0.1.0 -> light 4/10 FAIL, dark 1/10 FAIL
node .render-harness/sweep-core.mjs # origin/main -> light 0/10, dark 0/10
The harness is attached to MOTIR-3861's notes as the method; it is a temporary render harness and is not committed.
Found by
MOTIR-3861, the /design design pass, while rendering the real shipped pickers to design against them rather than reading their source. The defect is not that card's to fix and is not absorbed into it.
Comments (0)
No comments yet — be the first to weigh in.