Thin models, fat services
Models carry relationships, query scopes, and simple state checks — nothing else. Every piece of business logic lives in app/Services, organised by bounded context: Inventory, Procurement, Sales, Support.
This was a written rule in the project’s own documentation, not an aspiration, and the codebase holds to it.