Architecture before complexity
Complexity isn't managed: it's prevented. Before choosing libraries, we define domain boundaries, allowed dependencies and shapes of change. Architecture is a written contract, not an intuition.
module Sales {
domain Customer
domain Order
domain Invoice
}
policy: no cross-domain SQL.