Clean architecture rulesΒΆ
Project invariants:
Domain/Application layers must not import infrastructure.
Repositories are interface-driven.
Runtime side effects are explicit and observable.
Public APIs are typed and documented.
This contract is enforced through module boundaries and strict typing checks.