Living Documentation

Rubric: stylesheet contract

Written by a person. Last read by a person on 2026-09-05, 3 days ago. Its facts were checked by the eval suite on 2026-09-07.

Enforced by check_style_contract against data/style-contract.yaml.

The claim

Every class the built site puts in front of a reader is either styled by every design stylesheet, or declared unstyled with a stated reason.

Observable evidence

The pass bar

Every emitted class appears in exactly one of claimed or unclaimed. Every claimed class has a rule in every listed stylesheet and is emitted by at least one page. Every unclaimed class carries a non-empty reason.

Why this rubric exists

Unstyled markup does not look broken, it looks plain. A page of annotations with no rules renders as a nested list in the browser's default type, and a reader has no way to tell that from a deliberately minimal design. It is never reported, and no build notices.

That is exactly how it happened here. The three design directions were written during 0004. 0007 then added guided-example annotations, concept registers and a help page rendered from the error taxonomy. Nothing connected the two, and the classes carrying the project's most important ideas — what an error already proves, reasoning in the margin — were styled by none of the four stylesheets.

The contract also keeps the directions comparable. A design comparison only means something if each direction is styling the same content, and a class one stylesheet handles and another ignores makes the comparison quietly unfair.

Ambiguous cases

A container with no rule of its own is a real decision, not an oversight, so it goes in unclaimed with that as the reason rather than receiving a rule invented to satisfy the check.

A hook for a change not yet built belongs in unclaimed, naming the change. It becomes claimed when that change lands.

A stale claim — a class the contract claims and no page emits — is a failure. The contract is a statement about this site, and an entry describing markup that no longer exists weakens every other assertion it makes.

An unclaimed class with an empty reason is a failure. An unexplained exemption cannot be told apart from someone silencing a real finding, which is the same standard the volatile layer's volatile-ok escape hatch is held to.