# Domain layer

Business logic shared by the branch service and the centre — orders, charges, billing,
shifts, stock. Populated from Phase 2 onward.

Two rules from [doc 12 §7/§10](../../docs/12-stack-and-platform.md), enforced in review:

1. **The domain layer knows nothing about HTTP.** It is what branch and centre share.
2. **Modules communicate through the domain layer**, never by reaching into each
   other's tables.

All SQL goes through `Cafe\Kernel\Db\Db` and must pass the dual-dialect (SQLite + MySQL)
test suite.
