- move runtime policy/diag contracts to domain-owned facade and remove control_plane leapfrog usage - enforce single declaration point for direct debug config in domain public API (constraint #6) - harden timeout/idempotent semantics in REST/voice/printer/wifi/ble paths
Domain Layer
Purpose: business capabilities with single responsibility per domain service.
Rules:
- Expose stable domain APIs in
include/. - Keep implementation details in
internal/andsrc/. - No direct cross-domain internal state access.
- Cross-domain interactions must use events or Port interfaces.