triple-layer-invariant-enforcement-pydantic-postgres-service
Critical domain invariants (e.g., exactly-one-source on Widget) should be enforced at three independent layers: Pydantic validator on the schema (input rejection), Postgres CHECK constraint (DB-level rejection), and service-layer domain error (business logic rejection). Any single layer can be bypassed — e.g., direct DB inserts bypass Pydantic, ORM bypasses CHECK in some drivers, service errors can be caught. Three layers make violation structurally impossible.