Why the Best Design Systems Document Their Exceptions
Every design system has a documentation problem. Not a lack of documentation — most have plenty. The problem is what they document.
Rules. Specs. Usage guidelines. What a component is, when to use it, which variant applies. The do’s and don’ts.
That’s all necessary. But it’s not where the intelligence is.
The intelligence is in the exceptions.
What an exception actually is
An exception is what happens when the system meets a real problem and the right answer isn’t the default answer. The card component that needed custom padding because the content type was different. The CTA that broke the color rule because the context made the rule actively harmful. The spacing that went off-grid because off-grid read better.
Every one of those decisions carries reasoning. Why this, why here, why not the standard path. And in most organizations, that reasoning lives in someone’s head, or in a Slack thread that gets buried in two days, or in a Figma comment nobody reads six months later.
So the next person who hits the same edge case starts from scratch. Or worse, they copy the exception without understanding it — and misapply it somewhere it doesn’t belong.
Exceptions are your principles, made visible
The thing about exceptions is they force you to name your actual values.
When you decide to break your own rule, you’re implicitly weighing something. Readability over consistency. User context over visual uniformity. The specific over the general. That’s a design principle. But most design systems bury their principles in an “overview” section that nobody reads after day one.
The exception log is where your principles get stress-tested against reality. If you document it — if you write down why you broke the rule, what you weighed, what you’d have sacrificed to stay on-system — you’re building the most honest artifact in your entire design practice.
What good exception documentation looks like:
- The case. What screen, what component, what was different about the context.
- The decision. What you did instead of the standard path.
- The reasoning. What you were optimizing for, what you were willing to sacrifice.
- The flag. Whether this is a one-off or a signal the system needs a new pattern.
That last one matters. Some exceptions are genuinely singular. Others are the same exception appearing six times — which means the system has a gap, not an edge case.
Why it’s worth the overhead
Writing this stuff down feels slow. Especially when the decision was made under time pressure and you just need to ship.
But the cost of not writing it compounds fast. New designers inherit a system they can’t reason about — they know the rules, not the thinking. They don’t know which rules can flex and which can’t, which exceptions were intentional and which were lazy, which gap in the system is worth reopening.
The rules in a design system are documentation. The exceptions are the design education.
One is a record of decisions. The other is a record of reasoning. Most teams only write one of them down.