# Pre-merge checklist (Core) - [ ] One first-level `*UseCase` is the UI/CLI entry for the action - [ ] Application DTO is the input to `__invoke` - [ ] All I/O goes through Domain ports - [ ] No ORM / host facades in Application or Domain - [ ] Peer needs answer **now** → local ACL port + Infrastructure adapter → **thin** peer façade - [ ] Peer side effect **later** → rich Domain Event (`eventId`, `schemaVersion`, payload) + translation listener → inbound Use Case - [ ] Consumer idempotent on `eventId` - [ ] ACL validate-before-commit (or explicit compensation); no cross-module DB transaction - [ ] No foreign Application/Domain imports - [ ] Shared candidates are technical and already needed by ≥2 modules - [ ] No literal `Feature/` directory under UseCases / DTO / Ports - [ ] Greenfield example names only (`Ordering`, `Warehouse`, `Directory`, `Identity`) - [ ] Replaceability test answered “yes” - [ ] Boundary tests cover forbidden imports (host tool OK)