# AI 合同平台 V2 上线准入检查清单 日期:2026-07-10 最新更新:2026-07-12 ## 当前结论 V2 当前候选版本已完成本地回归和 `192.168.3.90` PostgreSQL smoke 验收。Docker smoke、两个 schema-check、核心用户主链路、30 模板全量起草、安全扫描、接口压测和发布质量门均已通过。RC 源码已在 `codex/v2-rc-20260712` 分支冻结;当前仍不直接发布生产,剩余阻塞项是生产发布审批与最终回滚演练确认。 本轮本地与远端核验: | 检查项 | 结果 | 说明 | | --- | --- | --- | | 本地前端可访问 | 通过 | `http://localhost:3000/workspace` 返回 200 | | 本地 Contract API health | 通过 | `http://localhost:8100/health` 返回 200 | | 本地 Contract API schema-check | 警告 | 返回 `status=warning`,原因是本地使用 SQLite;正式准入必须在 PostgreSQL smoke 上为 `ok` | | 核心页面 smoke | 通过 | 工作台、模板起草、合同台账、模板库、合同仓库、数据看板均返回 200 | | 核心 API smoke | 通过 | contracts/templates/workspace/files 均返回 200 | | 前端类型检查 | 通过 | `npm run typecheck` 通过 | | 资产计数脚本 | 通过 | `yuqei-infra/scripts/compare-v1-v2-assets.py` 已生成 artifact | | 远端 Contract API schema-check | 通过 | PostgreSQL smoke 返回 `ok` | | 远端 AI Platform schema-check | 通过 | PostgreSQL smoke 返回 `ok`,pgvector 维度与索引通过 | | 远端 Docker smoke | 通过 | Web、API、worker、PostgreSQL、Redis、MinIO 均健康 | | 远端发布质量门 | 通过 | 7 个压测场景全部达标,错误率 0 | Artifacts: - 本地 Contract API schema-check:`project-docs/qa-artifacts/v2-release-readiness-local/contract-api-schema-check-local.json` - V1/V2 资产计数:`project-docs/qa-artifacts/v2-asset-count/v2-asset-count-2026-07-10T14-58-40.395915+00-00.json` - V1/V2 资产计数 Markdown:`project-docs/qa-artifacts/v2-asset-count/v2-asset-count-2026-07-10T14-58-40.395915+00-00.md` ## 当前资产计数 | 资产 | V1 | V2 当前 | 结论 | | --- | ---: | ---: | --- | | 模板变量 schema | 30 | 30 | 对齐 | | 模板 Markdown | 30 | 30 | 对齐 | | 标准条款/规则相关源文件 | 37 | 15 | 需要进一步按业务条目核对,不只看源文件数 | | V2 标准条款运行时条目 | - | 8 | 需与 V1 条款库业务条目做精确映射 | | V2 审查规则运行时条目 | - | 8 | 需与 V1 规则库业务条目做精确映射 | | 法律全文库文件 | 82 | - | V1 文件层已识别 | | V2 法律全文运行时条目 | - | 789,867 | 本地运行库已有大规模法律全文数据 | | V1 Prompt 黄金样本文件 | 3 | - | 已作为来源参考 | | V2 AI golden asset 文件 | - | 89 | 已迁入 AI 平台资产目录 | 重复执行命令: ```powershell python yuqei-infra\scripts\compare-v1-v2-assets.py --contract-api-base http://localhost:8101 ``` 远端 smoke 资产计数命令: ```powershell python yuqei-infra\scripts\compare-v1-v2-assets.py --contract-api-base http://192.168.3.90:18100 ``` ## Release Candidate 冻结 当前状态:RC 候选已在 `codex/v2-rc-20260712` 分支冻结。 RC 基线要先钉死,冻结后只允许修 bug、补测试、改配置、改文档,不再继续加大功能。 ### RC 基线 | 项目 | 当前值 | 说明 | | --- | --- | --- | | 远端 smoke 环境 | `192.168.3.90` | 当前权威验收环境 | | smoke Web | `http://192.168.3.90:13000` | 前端公开验收地址 | | smoke Contract API | `http://192.168.3.90:18100` | 合同后端验收地址 | | smoke AI Platform API | `http://192.168.3.90:18101` | AI 后端验收地址 | | smoke 目录 | `/opt/apps/ai-contract-platform-v2-smoke` | 独立部署目录 | | smoke artifact | `project-docs/qa-artifacts/v2-smoke-docker-deploy/2026-07-12T13-21-24` | 最新通过的 Docker smoke | | release gate artifact | `project-docs/qa-artifacts/v2-release-quality-gate/2026-07-12T13-28-00` | 最新通过的质量门 | | security scan artifact | `project-docs/qa-artifacts/v2-security-scan/2026-07-12T13-08-00` | 最新通过的安全扫描 | | source secret scan artifact | `project-docs/qa-artifacts/v2-source-secret-scan/2026-07-12T15-24-56` | 冻结索引 821 个文件,16 个已审计候选、0 个新增命中、0 个陈旧基线 | | Contract API Alembic head | `20260710_0030` | 远端 smoke 当前头 | | AI Platform Alembic head | `20260703_0021` | 远端 smoke 当前头 | | 权威数据库 | `yuqei_contract` / `yuqei_ai` / `yuqei_ops` | 仅保留这一组 V2 数据库 | ### 冻结规则 - 只允许 bug fix、测试补强、配置调整、文档修正。 - 不再引入新页面、新路由、新迁移、新字段、新工作流。 - 冻结期间不改数据库结构,除非是阻塞回归的修复且已单独记录。 - 冻结期间所有新改动都必须能在当前 RC 基线下复跑 smoke 或单测。 - 数据完整性核对、安全扫描、接口压测、备份回滚演练不并入冻结条件,但会作为后续验收门继续执行。 ### 冻结记录 - RC 分支:`codex/v2-rc-20260712`。 - 冻结提交:包含本清单的 RC 提交;以 Git 历史中的该分支 HEAD 为准。 - 本地日志、Playwright 临时快照、pytest 临时目录、运行时数据库和 QA artifact 均未进入源码提交。 - 本地、smoke、准生产服务与数据库边界已经记录。 - smoke、schema-check、security scan、source secret scan、interface benchmark 和 release gate artifact 已记录。 ## 核心回归验收表 | 模块 | 场景 | 入口 | 通过标准 | | --- | --- | --- | --- | | 登录与租户 | 注册公司、创建租户、邀请员工、密码重置、邮箱验证码、SSO 入口 | `/register`、`/login`、`/invite`、`/password-reset`、`/admin/identity` | 新用户能进入正确租户空间,验证码/重置/邀请/禁用/过期都按预期拦截 | | 工作台与台账 | 待办、分页、归档筛选、状态筛选 | `/workspace`、`/contracts` | 列表、分页、筛选、归档状态展示一致,不能把非归档混进已归档视图 | | 统一搜索与数据看板 | 合同、模板、文件、法律资产统一搜索,数据看板总览 | `/search`、`/dashboard` | 搜索结果稳定返回,dashboard 非空且与当前数据一致 | | 模板起草 | 30 个模板全量生成草稿 | `/legal-documents` | 30/30 模板都能可见、可选、可生成草稿,字段顺序和正文可读性正常 | | 合同生命周期 | 编辑、提交审批、退回、重提、归档、Word 下载 | `/contracts/{id}` | 状态流正确,详情可编辑,Word 可直接下载并打开 | | 审查任务 | 发起审查、worker 异步处理、风险项、引用依据、条款推荐、一键修订 | `/contracts/{id}`、审查 worker | 审查结果可回写,风险项展示完整,引用依据与推荐条款可追溯 | | 模板库 | 发布、下线、回滚、草稿编辑、diff、发布前校验 | `/templates` | 发布快照生效,回滚后恢复,未发布草稿不污染线上起草 | | 条款规则库 | 条款/规则发布、下线、回滚、下线后不参与推荐 | `/admin/legal-assets`、`/admin/approval-rules` | 规则/条款状态变化后,推荐和命中结果立刻跟随已发布快照 | | 法律全文库 | 列表、详情、法规变更影响扫描 | `/admin/legal-fulltext` | 法律版本可见,影响扫描结果能定位到具体版本和资产 | | 文件仓库 | 上传、预览、下载、批量下载 | `/files` | 上传/预览/下载/批量下载可用,权限不串租户 | | 法律问答 | 返回答案和法律依据 | `/legal-qa` | 答案必须带依据,不能只返回空泛结论 | | 管理端 | 用户与租户、全局审计、AI Trace、系统健康 | `/admin/identity`、`/admin/audit`、`/admin/ai-traces`、`/health` | 管理员看到的就是管理员该看的,健康页和审计页可用 | 验收原则: - 核心回归先跑用户可见链路,再跑后台治理链路。 - 任何一个模块失败,都不能直接进入安全测试和压测。 - 每条验收结论都要能落到页面、接口或 artifact。 ## 上线前质量门 ### P0 必跑 - Contract API schema-check:PostgreSQL smoke 返回 `ok`。 - AI Platform schema-check:PostgreSQL smoke 返回 `ok`。 - Docker smoke:前端、Contract API、AI Platform、worker、数据库、对象存储全部健康。 - 核心业务 smoke:登录、模板起草、合同创建、审批、审查、下载 Word、文件上传下载、统一搜索、数据看板、法律问答。 - V1/V2 资产精确核对:模板、条款、规则、法律全文、Prompt、黄金样本。 - 安全扫描:Bandit、依赖漏洞、detect-secrets secret 扫描、越权接口抽样。 - 接口级压测:合同列表、详情、工作台、模板树、文件列表、统一搜索、AI Trace、法律问答。 - 备份恢复和回滚演练:PostgreSQL、文件仓库、Docker compose、前端发布包。 ### P1 建议上线前完成 - 用户/租户/邀请/密码重置/邮箱验证码/SSO 配置入口回归。 - 全局审计日志和租户隔离抽样。 - Worker 长任务失败和重试路径回归。 - 监控告警:API 错误率、p95/p99、DB 连接数、worker 心跳、磁盘空间、备份失败。 ## 下一步执行顺序 1. 复核现有 PostgreSQL、文件仓库和 Docker compose 回滚证据,完成生产发布审批。 2. 固化生产环境变量、域名/HTTPS、告警接收人和初始化管理员交接信息。 3. 按已通过的 smoke artifact 发布生产,发布后立即执行相同 schema-check 与核心 canary。 4. 保留 Trace governance 24 小时观察为上线后/上线前非阻塞观察项,生产开启仍需单独批准。 ## 本轮本地 smoke 数据 | URL | 状态 | 耗时 | | --- | ---: | ---: | | `http://localhost:3000/workspace` | 200 | 456ms | | `http://localhost:3000/legal-documents` | 200 | 516ms | | `http://localhost:3000/contracts` | 200 | 379ms | | `http://localhost:3000/templates` | 200 | 1646ms | | `http://localhost:3000/files` | 200 | 274ms | | `http://localhost:3000/dashboard` | 200 | 355ms | | `http://localhost:8101/api/v1/contracts?page_size=5` | 200 | 25ms | | `http://localhost:8101/api/v1/templates/tree` | 200 | 234ms | | `http://localhost:8101/api/v1/workspace` | 200 | 83ms | | `http://localhost:8101/api/v1/files` | 200 | 40ms | ## 最新收口 - 2026-07-11:数据备份与恢复已在 192.168.3.90 smoke 复核通过,`POST /api/v1/backup`、`GET /api/v1/backup`、`GET /api/v1/backup/{id}`、`POST /api/v1/backup/{id}/validate` 均已验证。 - 2026-07-12:本地 RC 核心回归完成。登录、模板起草、Word、异步审查、结构化风险/引用、审查 PDF、文件单个/批量下载、合同编辑、审批退回重提、归档、审计完整性全部通过;30 个模板全量生成 30/30 通过;Contract API 全量测试 146 passed,前端 production build 通过。详情见 `project-docs/V2-rc-core-regression-2026-07-12.md`。 - 2026-07-12:当前候选版本已部署到 `192.168.3.90`。Contract API / AI Platform PostgreSQL schema-check 均为 `ok`;Docker smoke、远端核心浏览器主链路、30 模板全量起草、安全扫描、7 场景接口压测和发布质量门全部通过。最新 artifact 分别为 `v2-smoke-docker-deploy/2026-07-12T13-21-24`、`v2-security-scan/2026-07-12T13-08-00`、`v2-interface-benchmark/2026-07-12T13-24-00`、`v2-release-quality-gate/2026-07-12T13-28-00`。