Architecture Principles
- Make boundaries follow business capabilities and rates of change.
- Keep dependencies pointing toward stable policy, away from volatile details.
- Hide decisions likely to change behind clear interfaces.
- Prefer explicit data flow and ownership over invisible coupling.
- Make invalid states difficult to represent.
- Design operations to be observable, retryable, and safe under partial failure.
- Delay distributed complexity until scale or organizational evidence requires it.
Architecture is the set of consequential decisions that are expensive to reverse. Record those decisions with Architecture Decision Record.