Complexity policy
August 16, 2026 ยท View on GitHub
Evaluate additions in order:
- Is it required?
- Does the repository already solve it?
- Does an existing project abstraction solve it?
- Does the standard library solve it?
- Does the native platform solve it?
- Does an installed dependency solve it?
- Can the database enforce it declaratively?
- Can a small implementation solve it?
- Only then add architecture.
This is a safety-preserving simplicity policy, not code golf. Keep authentication/authorization, trust-boundary validation, constraints, accessibility, error handling, rollback/data-loss protection, observability, and explicit user requirements. Avoid one-use abstractions, wrapper-on-wrapper APIs, unnecessary dependencies, premature caching/configuration, and oversized modules.
complexityDecision() returns a review recommendation, not permission to delete a needed control. The model must still inspect callers and the real flow.