Overview
Apply the DDD validated constructor pattern to all domain configuration types, ensuring domain invariants are enforced at construction time rather than validated post-hoc.
Refactoring Plan
Full details documented in: docs/refactors/plans/strengthen-domain-invariant-enforcement.md
Related ADRs
Reference Implementation
HttpApiConfig has been refactored as the reference implementation (Phase 0, Proposal #0). Use it as a template for remaining types.
Progress
Phase 0: Foundation (Complete ✅)
Phase 1: Tracker Configuration Aggregate (In Progress 🔄)
Phase 2: Cross-Cutting Invariants
Acceptance Criteria
Contributing Guide
See docs/contributing/ddd-practices.md for implementation patterns.
Overview
Apply the DDD validated constructor pattern to all domain configuration types, ensuring domain invariants are enforced at construction time rather than validated post-hoc.
Refactoring Plan
Full details documented in:
docs/refactors/plans/strengthen-domain-invariant-enforcement.mdRelated ADRs
Reference Implementation
HttpApiConfighas been refactored as the reference implementation (Phase 0, Proposal #0). Use it as a template for remaining types.Progress
Phase 0: Foundation (Complete ✅)
HttpApiConfigvalidated constructorUdpTrackerConfig,HttpTrackerConfig,HealthCheckApiConfigvalidated constructorsPhase 1: Tracker Configuration Aggregate (In Progress 🔄)
TrackerConfigvalidates at constructionTrackerCoreConfigdatabase validationPhase 2: Cross-Cutting Invariants
UserInputsvalidated constructor (Grafana requires Prometheus)Acceptance Criteria
UdpTrackerConfig,HttpTrackerConfig,HealthCheckApiConfig,HttpApiConfig) use validated constructorsDeserializewith validationTryFromtrait./scripts/pre-commit.shContributing Guide
See
docs/contributing/ddd-practices.mdfor implementation patterns.