# 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.