Clustered overrides mean the parent's assumption is wrong — restructure, don't accumulate exceptions
When multiple children override the same inherited property, restructure the hierarchy rather than accumulating individual overrides, as clustered overrides indicate the parent's assumption is systematically wrong.
Why This Is a Rule
In any hierarchical system — code inheritance, organizational structure, knowledge taxonomy — child nodes inherit properties from their parent. When individual children override inherited properties, that's normal exception handling. When multiple children override the same property, that's a structural signal: the parent's assumption about that property is systematically wrong for this group of children.
The one-third threshold is the diagnostic trigger: if more than one-third of children override the same inherited property, the property doesn't belong at the parent level. It should either be removed from the parent (making it a child-level property) or the hierarchy should be restructured so the overriding children form their own group with a different parent.
Accumulating individual overrides instead of restructuring produces the "exception zoo" — a hierarchy where the structure says one thing and dozens of overrides say the opposite. The overrides are doing the actual work while the structure provides misleading default information. This is structural dishonesty: the hierarchy claims a pattern that the overrides contradict.
When This Fires
- When you notice the same override applied to multiple items in the same category
- During hierarchy audits when exception lists are growing
- In code when multiple subclasses override the same method from a parent class
- In organizational design when multiple teams operate differently from their division's stated practices
Common Failure Mode
Adding one more override: "This is just another exception." Each individual override seems reasonable. But the pattern of repeated overrides signals that the rule is wrong for this population, not that each exception is unique.
The Protocol
When multiple children override the same property: (1) Count: what percentage of children override this property? (2) If >33% → the property doesn't belong at the parent level. (3) Restructure: either remove the property from the parent (it's not a shared trait), split the children into two groups (those who inherit and those who don't), or change the parent's default to match the majority. (4) The goal: a hierarchy where inheritance works correctly, not one where inheritance is systematically overridden.