# I6 收口执行包(UAT 门禁、冻结清单、运维) > **定位**:在 [I5_I6_DESIGN.md](./I5_I6_DESIGN.md) **Part B** 规划基础上,把 **I6 周可执行项** 收束为检查表与环境矩阵。 > **前置**:I5 代码路径已合入 `develop`(Callback Inbox、内部投递、Webhook 转发、集成只读 API、前端路由)。 > **实现对照审核**:[I6_IMPLEMENTATION_REVIEW.md](./I6_IMPLEMENTATION_REVIEW.md)。 --- ## 1. 架构师任务(I6 周入口) | 次序 | 产出 | 责任 | |------|------|------| | 1 | 本文件 + Runbook §10 运维段落 | 架构 / Tech Lead | | 2 | 后端:安全响应头、配置与观测无回归 | 后端 | | 3 | 前端:`VITE_API_BASE`、首页 UAT 导航、构建说明 | 前端 | | 4 | [I6_IMPLEMENTATION_REVIEW.md](./I6_IMPLEMENTATION_REVIEW.md) 关闭 I1–I6 偏差项 | 架构审核 | --- ## 2. UAT 门禁(P0 场景) > 与 [轨道 B §2 I6](../tracks/02-frontend-platform-ui.md)「BP-01~06+11」一致;以下按 **本工作区已实现能力** 细化。 | # | 场景 | 预期 | 备注 | |---|------|------|------| | U1 | 登录 JWT | `admin/admin` 登录后访问受保护路由 | I1 | | U2 | 客户 → 项目 | CRUD 与列表 | I2 | | U3 | 合同 | 创建、行项、状态迁移合法/非法 | I3 | | U4 | 交付批次 → 许可 SN | 创建、详情、状态 | I4 | | U5 | Callback 全链 | Webhook 收据后转发 → 平台 Inbox 一行;UI 列表/详情、状态 PATCH、可选 link | I5;需配置内部 Token 与 base-url | | U6 | 集成只读 | 环境/产品线列表与详情 | I5 | | U7 | 重复幂等 | 同 `Idempotency-Key` / 同 `externalMessageId` 不重复插入;内部 API 返回 `duplicate: true` | I5 | | U8 | 401 统一 | Token 失效回登录带 redirect | I1 | **UAT 退出条件**:上表 **无 P0 缺陷**;已知 P1/P2 记入工单或 [I6_IMPLEMENTATION_REVIEW.md](./I6_IMPLEMENTATION_REVIEW.md) 「已知局限」。 --- ## 3. 冻结清单(I6 末) | 项 | 动作 | |----|------| | **OpenAPI** | `contracts/openapi/delivery-platform-api.json` 与 `OpenApiContractSnapshotTest` 一致;打 tag 可追溯 | | **两枚 Fat JAR** | `delivery-platform-api`、`license-webhook-ingress` 版本与镜像标签写入发布说明 | | **前端** | 生产构建使用明确 `VITE_API_BASE`(见 §4) | | **SDK(本仓)** | 定版 tag、`CHANGELOG`、[轨道 C](../tracks/03-client-sdk.md) **兼容矩阵** 填齐;**I6 周内禁止 MAJOR Schema**(与设计一致) | | **内部 Token** | 平台 `PLATFORM_INTERNAL_TOKEN` / `CRAFTLABS_PLATFORM_INTERNAL_TOKEN` 与 Webhook `craftlabs.platform.internal.token` **同值**;轮换走 [RUNBOOK §10](../../../services/RUNBOOK.md) | --- ## 4. 前端 `VITE_API_BASE` 环境矩阵 | 环境 | 示例 `VITE_API_BASE` | 说明 | |------|----------------------|------| | 本地开发 | (不设) | Vite 代理 `/api` → `127.0.0.1:8080` | | Staging | `https://platform-api.staging.example.com` | 无尾部斜杠;axios 请求 `/api/v1/...` | | 生产 | `https://platform-api.example.com` | 同源反代时可设为空,由 Nginx 处理 `/api` | 构建:`VITE_API_BASE=https://… npm run build`。详见 `web/delivery-platform-ui/README.md`。 --- ## 5. 修订记录 | 日期 | 说明 | |------|------| | 2026-04-06 | I6 收口执行包初版:UAT 表、冻结清单、VITE 矩阵。 |