Stylelint enforcing what it can, and three rules that stayed as prose.
1 a component must not set margin on itself.
spacing is the parent's decision.
— expressible as a rule, and it produces false
positives on utilities, which are a component
in the rule's eyes.
2 a layout primitive takes exactly one variable.
— not expressible. it is about the shape of the
abstraction rather than about syntax.
3 a colour must come from the palette OR be
documented as an optical exception.
— the first half is enforced. the second is a
comment convention nobody can check.
The first one is the interesting failure: a rule exists, it works, and its false positive rate on the utility layer made it unusable. Scoping it to the components layer would fix that and requires the linter to know about cascade layers, which it does not.