Principles
How we make decisions.
Boundaries before featuresWell-defined boundaries let teams change one part without surprising another.
Observability from the startIf you cannot see a system, you cannot depend on it.
Boring and reversiblePrefer well-understood, reversible choices over clever, permanent ones.
Data as a long-term assetSchemas and migrations accumulate interest. Treat them accordingly.
Honest claimsState only what is supported. Never fabricate clients, numbers or partners.
Design for inheritorsBuild for the team that inherits the work, not only the team that ships it.