@comity/customer
v0.9.0
Published
Customer domain abstractions for Comity modules.
Readme
@comity/customer
Customer domain abstractions for Comity modules.
Purpose
Defines the customer domain model — the Customer entity, the CustomerId value object, and the contracts modules use to store, load, and validate customers. Provides a stable domain boundary so application logic depends on contracts rather than infrastructure.
Scope
This package:
- ✅ defines the
Customerentity andCustomerIdvalue object - ✅ defines the
CustomerRepositorycontract - ✅ defines the
CustomerValidatorcontract - ✅ defines customer data, state, snapshot, create, and update types
- ✅ depends only on
@comity/primitivesand@comity/validation
This package does NOT:
- ❌ provide a repository implementation
- ❌ provide validation logic
- ❌ depend on infrastructure or adapters
Public API
Customer— customer entityCustomerId— customer identifier value objectCustomerRepository— repository contractCustomerValidator— validation contractCustomerSearchCriteria/CustomerSearchResult— repository search contractCustomerData/CustomerState/CustomerSnapshot— customer data typesCustomerCreate/CustomerUpdate— mutation input typesCustomerContact/CustomerPreferences— customer detail types
No exhaustive reference; see docs for constraints.
Documentation
None — no package-specific documentation exists.
Related Packages
- @comity/primitives — foundational types used by the domain model
- @comity/validation — validation contracts referenced by the domain
Status
Draft
Review Completed: 2026-08-15 Reviewer: Hobiri MAGI (DeepSeek v4 Pro) Compliance Score: 98% (Green)
