{ "schemaVersion": 1, "description": "Development-stage Firstleg slice dependency baseline. Existing edges may be removed; new edges require architecture review.", "allowedSliceEdges": [ "booking-customs-trucking->inbound", "booking-customs-trucking->measurement-pricing", "booking-customs-trucking->outbound", "booking-customs-trucking->pricebook-query", "booking-customs-trucking->shared-technical", "booking-customs-trucking->shipping-nodes", "booking-customs-trucking->split-loading", "customer-statistics->shared-technical", "finance-integration->inbound", "finance-integration->measurement-pricing", "finance-integration->shared-technical", "finance-integration->split-loading", "inbound->measurement-pricing", "inbound->outbound", "inbound->shared-technical", "inbound->split-loading", "measurement-pricing->booking-customs-trucking", "measurement-pricing->finance-integration", "measurement-pricing->inbound", "measurement-pricing->pricebook-query", "measurement-pricing->shared-technical", "outbound->booking-customs-trucking", "outbound->shared-technical", "outbound->shipping-nodes", "outbound->split-loading", "shared-technical->booking-customs-trucking", "shared-technical->finance-integration", "shared-technical->inbound", "shared-technical->measurement-pricing", "shared-technical->split-loading", "shipping-nodes->booking-customs-trucking", "shipping-nodes->inbound", "shipping-nodes->shared-technical", "shipping-nodes->split-loading", "split-loading->booking-customs-trucking", "split-loading->inbound", "split-loading->outbound", "split-loading->pricebook-query", "split-loading->shared-technical" ], "requiredClassLocations": { "com.baiyue.firstleg.customerstatistics.adapter.in.web.PlatformCustomerTransitStatisticsController": "src/main/java/com/baiyue/firstleg/customerstatistics/adapter/in/web/PlatformCustomerTransitStatisticsController.java", "com.baiyue.firstleg.customerstatistics.adapter.out.persistence.CustomerTransitStatisticsMapper": "src/main/java/com/baiyue/firstleg/customerstatistics/adapter/out/persistence/CustomerTransitStatisticsMapper.java", "com.baiyue.firstleg.customerstatistics.application.CustomerTransitStatisticsService": "src/main/java/com/baiyue/firstleg/customerstatistics/application/CustomerTransitStatisticsService.java", "com.baiyue.firstleg.customerstatistics.application.model.CustomerTransitStatisticsDtos": "src/main/java/com/baiyue/firstleg/customerstatistics/application/model/CustomerTransitStatisticsDtos.java", "com.baiyue.firstleg.customerstatistics.application.port.out.CustomerTransitStatisticsReader": "src/main/java/com/baiyue/firstleg/customerstatistics/application/port/out/CustomerTransitStatisticsReader.java", "com.baiyue.firstleg.pricebookquery.adapter.out.persistence.PriceBookQueryMapper": "src/main/java/com/baiyue/firstleg/pricebookquery/adapter/out/persistence/PriceBookQueryMapper.java", "com.baiyue.firstleg.pricebookquery.application.PriceBookQueryService": "src/main/java/com/baiyue/firstleg/pricebookquery/application/PriceBookQueryService.java", "com.baiyue.firstleg.pricebookquery.application.model.PriceBookQueryRows": "src/main/java/com/baiyue/firstleg/pricebookquery/application/model/PriceBookQueryRows.java", "com.baiyue.firstleg.pricebookquery.application.port.in.PriceBookQueryUseCase": "src/main/java/com/baiyue/firstleg/pricebookquery/application/port/in/PriceBookQueryUseCase.java", "com.baiyue.firstleg.pricebookquery.application.port.out.PriceBookQueryReader": "src/main/java/com/baiyue/firstleg/pricebookquery/application/port/out/PriceBookQueryReader.java" }, "applicationDependencyRules": [ { "packagePrefix": "com.baiyue.firstleg.customerstatistics.application", "allowedInternalPrefix": "com.baiyue.firstleg.customerstatistics.application", "forbiddenImportPrefixes": [ "org.springframework.web", "org.apache.ibatis", "com.baomidou.mybatisplus" ] }, { "packagePrefix": "com.baiyue.firstleg.pricebookquery.application", "allowedInternalPrefix": "com.baiyue.firstleg.pricebookquery.application", "forbiddenImportPrefixes": [ "org.springframework.web", "org.apache.ibatis", "com.baomidou.mybatisplus" ] } ], "sliceExposureRules": [ { "slicePrefix": "com.baiyue.firstleg.pricebookquery.", "allowedTargetPrefixes": [ "com.baiyue.firstleg.pricebookquery.application.model.", "com.baiyue.firstleg.pricebookquery.application.port.in." ] } ], "sliceSpecificRules": { "customer-statistics": { "allowedOutgoing": [ "shared-technical" ], "allowedIncoming": [] }, "pricebook-query": { "allowedOutgoing": [], "allowedIncoming": [ "booking-customs-trucking", "measurement-pricing", "split-loading" ] } }, "reviewedClassDependencies": [ { "source": "com.baiyue.firstleg.controller.InternalOverseasContainerEventController", "target": "com.baiyue.firstleg.service.OverseasInboundOrderDetainedConsumer", "reason": "海外事件HTTP适配器按事件类型派发到暂扣消费者;入仓数据仍由消费者维护。" }, { "source": "com.baiyue.firstleg.loading.service.LoadingDeliveryService", "target": "com.baiyue.firstleg.service.FbaPricingService", "reason": "装柜实物完成时按真实分配刷新费用,调用既有计价应用服务,不读取计价持久化。" }, { "source": "com.baiyue.firstleg.service.LoadingListService", "target": "com.baiyue.firstleg.domain.PriceBookChannelCatalog", "reason": "分柜按当前有效渠道目录校验,复用纯领域目录,不访问价格簿实现。" }, { "source": "com.baiyue.firstleg.service.LoadingListService", "target": "com.baiyue.firstleg.service.FbaPricingService", "reason": "装柜分配变动触发既有计价服务按客户重算,费用冻结门槛保留在原服务。" }, { "source": "com.baiyue.firstleg.service.SmartLoadingService", "target": "com.baiyue.firstleg.service.FbaPricingService", "reason": "智能排柜分配后调用原计价服务守恒重算,不跨域修改费用表。" } ], "reviewedPackageCycles": [ { "packages": [ "com.baiyue.firstleg.loading.bridge.service", "com.baiyue.firstleg.loading.service", "com.baiyue.firstleg.oceanbooking.service", "com.baiyue.firstleg.service" ], "reason": "既有全局service包混合了入仓暂扣、装柜费用与订舱文档的应用编排。本轮不拆分这些无关既有服务;仅冻结当前四包SCC,新增节点或第二环继续失败。价格簿查询切片仍必须独立无环。" } ] }