For: the design system's own ratchet (#2678, #2939) paid down one file at a time, so the forge reads as one product and respects people who ask for less motion or forced colours.
Done:
[ ] src/web/standards.ts has colour: 0 in the baseline (2 today): each hex, rgb() or named colour is a var(--token) from docs/DESIGN.md, or, where a standard file needs a literal (a web manifest's theme colour), it is read from src/design/themes.ts so there is one source.
[ ] Run bun scripts/design-lint.ts --update so docs/design/baseline.json records the lower number, and bun scripts/design-lint.ts passes. The pull carries a before/after screenshot of one page that uses these rules, in light and dark, showing nothing changed by eye. Touch only the file named; a rule another file needs stays where it is.
Files: src/web/standards.ts, docs/design/baseline.json.
Risk: a rule rewritten by hand changes how a page looks; the screenshots are the proof it did not.
For: the design system's own ratchet (#2678, #2939) paid down one file at a time, so the forge reads as one product and respects people who ask for less motion or forced colours.
Done:
src/web/standards.tshascolour: 0in the baseline (2 today): each hex, rgb() or named colour is avar(--token)from docs/DESIGN.md, or, where a standard file needs a literal (a web manifest's theme colour), it is read fromsrc/design/themes.tsso there is one source.bun scripts/design-lint.ts --updateso docs/design/baseline.json records the lower number, andbun scripts/design-lint.tspasses. The pull carries a before/after screenshot of one page that uses these rules, in light and dark, showing nothing changed by eye. Touch only the file named; a rule another file needs stays where it is.Files:
src/web/standards.ts,docs/design/baseline.json. Risk: a rule rewritten by hand changes how a page looks; the screenshots are the proof it did not.