furniture-service/docs/application/use-case-boundaries.md
2026-03-09 11:57:46 -06:00

19 lines
996 B
Markdown

# Furniture Service Use-Case Boundaries
## Orchestration Responsibilities
- Application use cases orchestrate domain workflows.
- Use cases depend on DAL-facing ports, not persistence implementations.
- Use cases consume BuildingBlock capability contracts through adapter and port boundaries.
- Transport handlers map to use-case contracts and do not own orchestration logic.
- Demo/runtime aliases (`demo-context`, `FURN-*`, `PROD-FURN-*`) are normalized at use-case orchestration before port calls.
## Current Skeleton
- `IGetFurnitureAvailabilityUseCase`: orchestration boundary contract.
- `GetFurnitureAvailabilityUseCase`: orchestration implementation.
- `IFurnitureAvailabilityContractAdapter`: maps service contracts to inventory and catalog contracts.
- `ICatalogProductReadPort`: catalog capability read boundary.
- `IFurnitureAvailabilityReadPort`: inventory capability read boundary.
- `IFurnitureAvailabilityGrpcContractAdapter`: gRPC translation boundary for service contracts.