Simplicity
Spend complexity only where it buys a required property. Keep the real problem, constraints, and failure cost visible, then choose the smallest design that satisfies them.
- Separate the required result from preferences and future options.
- Inspect existing mechanisms before adding abstractions or dependencies.
- Prefer a direct design with a clear boundary and local proof.
- Remove complexity that no longer earns its cost.
Read the detailed guide when simplifying an architecture, API, workflow, or long-lived interface.