diff --git a/scripts/admin-test-env-modules/phase3-dispatch-gate.mjs b/scripts/admin-test-env-modules/phase3-dispatch-gate.mjs index 8a960c6c1..59b07db0c 100644 --- a/scripts/admin-test-env-modules/phase3-dispatch-gate.mjs +++ b/scripts/admin-test-env-modules/phase3-dispatch-gate.mjs @@ -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 和重复确认安全冲突', '确认与撤销均保留审计时间线'], }) } diff --git a/scripts/admin-test-env-modules/phase3-evidence-gate.mjs b/scripts/admin-test-env-modules/phase3-evidence-gate.mjs index 983ea1377..9ce55822b 100644 --- a/scripts/admin-test-env-modules/phase3-evidence-gate.mjs +++ b/scripts/admin-test-env-modules/phase3-evidence-gate.mjs @@ -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 复核齐备后幂等完成'], }) } diff --git a/scripts/admin-test-env-modules/phase3-outbound-aggregate.mjs b/scripts/admin-test-env-modules/phase3-outbound-aggregate.mjs index 87e2203e4..b4ce2d24e 100644 --- a/scripts/admin-test-env-modules/phase3-outbound-aggregate.mjs +++ b/scripts/admin-test-env-modules/phase3-outbound-aggregate.mjs @@ -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 不可见'], }) } diff --git a/scripts/admin-test-env-modules/phase3-waiting-for-loading.mjs b/scripts/admin-test-env-modules/phase3-waiting-for-loading.mjs index 1e6da46c9..6bd4623d3 100644 --- a/scripts/admin-test-env-modules/phase3-waiting-for-loading.mjs +++ b/scripts/admin-test-env-modules/phase3-waiting-for-loading.mjs @@ -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', '列表与详情状态一致', '历史记录来源状态、操作者和时间完整'], }) }