test(firstleg): mark phase3 gaps pending deployment

This commit is contained in:
2026-08-09 11:25:54 +08:00
parent ed5b9fe77f
commit b1cd1b059d
4 changed files with 8 additions and 8 deletions
@@ -3,8 +3,8 @@ import { registerPendingContract } from './_phase3-pending-contract.mjs'
export async function run(context) {
registerPendingContract(context, {
module: 'phase3-dispatch-gate', scenario: 'domestic-dispatch-gate', name: '国内出仓统一门禁',
reason: '当前无聚合订舱、拖车、拣货复核、柜封证据和报关条件的 check-gate/confirm-dispatch/reverse-dispatch 公开契约', category: 'not-implemented',
fixtures: ['phase3Loading', 'phase3ContainerLoading', 'oceanBooking', 'truckAppointment'], contractSource: '待新增国内出仓门禁 Controller/DTO/OpenAPI',
reason: '统一门禁、confirm-dispatch/reverse-dispatch 已实现并推送,待目标提交部署且真实 HTTP 通过后删除此项', category: 'deployment-validation-pending',
fixtures: ['phase3Loading', 'phase3ContainerLoading', 'oceanBooking', 'truckAppointment'], contractSource: 'PlatformOutboundDispatchController / phase3-outbound-dispatch-v1.yaml',
assertions: ['门禁逐项返回真实阻断原因', '旧 version 和重复确认安全冲突', '确认与撤销均保留审计时间线'],
})
}
@@ -3,8 +3,8 @@ import { registerPendingContract } from './_phase3-pending-contract.mjs'
export async function run(context) {
registerPendingContract(context, {
module: 'phase3-evidence-gate', scenario: 'loading-evidence-gate', name: '四步照片与铅封证据完整性门禁',
reason: '本轮真实 HTTP 上传并绑定 SEAL 文件即可进入 LOADED;服务端未要求 PHOTO_STEP_1..4 齐全,也未将柜次级 PDA 复核结果作为前置', category: 'contract-gap',
fixtures: ['phase3Loading', 'phase3ContainerLoading'], contractSource: '待装柜证据完整性门禁 Controller/DTO/OpenAPI',
reason: '五类证据、真实文件归属和柜次 PDA 复核门禁已实现并推送,待目标提交部署且 phase3-loading 真实 HTTP 通过后删除此项', category: 'deployment-validation-pending',
fixtures: ['phase3Loading', 'phase3ContainerLoading'], contractSource: 'PlatformLoadingDeliveryController / phase3-loading-delivery-v1.yaml',
assertions: ['四步照片和铅封均绑定本轮柜次', '缺任一证据时完成装柜被拒绝', '全部证据与 PDA 复核齐备后幂等完成'],
})
}
@@ -3,9 +3,9 @@ import { registerPendingContract } from './_phase3-pending-contract.mjs'
export async function run(context) {
registerPendingContract(context, {
module: 'phase3-outbound-aggregate', scenario: 'outbound-aggregate', name: '出仓单/柜次主聚合与整体时间线',
reason: '当前公开 API 只有入库单级分柜/预装/装柜状态和独立货柜、订舱、拖车对象;没有出仓单主资源、子流程关联或整体时间线端点', category: 'contract-gap',
reason: '出仓主聚合与整体时间线契约已实现并推送,待目标提交部署且 phase3-outbound-dispatch 真实 HTTP 通过后删除此项', category: 'deployment-validation-pending',
fixtures: ['orders', 'phase3Loading', 'phase3ContainerLoading', 'oceanBooking', 'truckAppointment'],
contractSource: '待新增出仓主聚合 Controller/DTO/OpenAPI',
contractSource: 'PlatformOutboundDispatchController / phase3-outbound-dispatch-v1.yaml',
assertions: ['marker 所属主单与柜次关联唯一', '时间线按真实动作有序且含审计字段', '跨客户 ID 不可见'],
})
}
@@ -3,8 +3,8 @@ import { registerPendingContract } from './_phase3-pending-contract.mjs'
export async function run(context) {
registerPendingContract(context, {
module: 'phase3-waiting-for-loading', scenario: 'waiting-for-loading-status', name: 'WAITING_FOR_LOADING 统一终态',
reason: '当前公开状态链只有 LOADED/DELIVERED 或柜次装柜计划 COMPLETED,没有 WAITING_FOR_LOADING 状态及其查询、筛选和状态历史契约', category: 'not-implemented',
fixtures: ['phase3Loading', 'phase3ContainerLoading'], contractSource: '待状态机与统一查询 OpenAPI 明确 WAITING_FOR_LOADING',
reason: 'WAITING_FOR_LOADING、查询和状态时间线已实现并推送,待目标提交部署且 confirm/reverse 真实 HTTP 通过后删除此项', category: 'deployment-validation-pending',
fixtures: ['phase3Loading', 'phase3ContainerLoading'], contractSource: 'OutboundDispatchStatus / phase3-outbound-dispatch-v1.yaml',
assertions: ['本轮出仓完成后进入 WAITING_FOR_LOADING', '列表与详情状态一致', '历史记录来源状态、操作者和时间完整'],
})
}