Files
ai-contract-platform/project-docs/V2-release-readiness-checklist-2026-07-10.md
T

13 KiB
Raw Blame History

AI 合同平台 V2 上线准入检查清单

日期:2026-07-10 最新更新:2026-07-16

当前结论

V2 当前候选版本已完成本地回归和 192.168.3.90 PostgreSQL smoke 验收。Docker smoke、两个 schema-check、无邮箱身份闭环、安全扫描、接口压测和发布质量门均已通过。

当前仍是生产 No-Go。 剩余阻断项包括:真实 AI Provider 与黄金样本验收、V2 阿里云前端域名/HTTPS 发布、正式后端 production 配置、PostgreSQL 与文件/MinIO 异地备份恢复、监控告警、内容法务签批,以及把当前 dirty worktree 固化为不可变 RC 并让 CI 实际通过。

本轮本地与远端核验:

检查项 结果 说明
本地前端可访问 通过 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 通过
资产计数脚本 历史通过 当时的对比工具已生成 artifact;该一次性工具已在 V2-only 收口中退役
远端 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 平台资产目录

当时使用的 V1/V2 一次性对比命令已退役;以上表格和 artifact 仅保留为 2026-07-10 历史证据。当前资产完整性由现行 V2 资产门禁验证。

Release Candidate 冻结

当前状态:codex/v2-rc-20260712 分支存在,但 2026-07-16 身份安全和部署修复仍在 dirty worktree,尚未形成新的不可变 RC。

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-16T11-12-47 最新通过的 Docker smoke
release gate artifact project-docs/qa-artifacts/v2-release-quality-gate/2026-07-16T11-18-52 最新通过的质量门
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 20260713_0031 远端 smoke 当前头
AI Platform Alembic head 20260703_0021 远端 smoke 当前头
权威数据库 yuqei_contract / yuqei_ai / yuqei_ops 仅保留这一组 V2 数据库

冻结规则

  • 只允许 bug fix、测试补强、配置调整、文档修正。
  • 不再引入新页面、新路由、新迁移、新字段、新工作流。
  • 冻结期间不改数据库结构,除非是阻塞回归的修复且已单独记录。
  • 冻结期间所有新改动都必须能在当前 RC 基线下复跑 smoke 或单测。
  • 数据完整性核对、安全扫描、接口压测、备份回滚演练不并入冻结条件,但会作为后续验收门继续执行。

冻结记录

  • RC 分支:codex/v2-rc-20260712。
  • 当前 HEAD 57fc8d35 不包含本轮未提交身份修复;生产发布前必须提交、跑 CI 并创建新 RC tag。
  • 本地日志、Playwright 临时快照、pytest 临时目录、运行时数据库和 QA artifact 均未进入源码提交。
  • 本地、smoke、准生产服务与数据库边界已经记录。
  • smoke、schema-check、security scan、source secret scan、interface benchmark 和 release gate artifact 已记录。

核心回归验收表

模块 场景 入口 通过标准
登录与租户 管理员建租户、线下邀请、员工设密登录;公开注册/重置/邮箱验证关闭 /login、/invite/accept、/admin/identity 用户进入正确租户;关闭入口前后端同时拦截;邀请 token 只在管理员创建响应出现
工作台与台账 待办、分页、归档筛选、状态筛选 /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、前端发布包。
  • 真实 AI Provider:enabled、fallback 关闭,generation/review/legal QA/clause recommendation 黄金样本通过。
  • 生产域名与运行环境:阿里云 V2 前端 HTTPS、3.90 production compose、独立生产 secrets、seed_demo_data=false。

P1 建议上线前完成

  • 用户/租户/邀请/密码重置/邮箱验证码/SSO 配置入口回归。
  • 全局审计日志和租户隔离抽样。
  • Worker 长任务失败和重试路径回归。
  • 监控告警:API 错误率、p95/p99、DB 连接数、worker 心跳、磁盘空间、备份失败。

下一步执行顺序

  1. 准备真实 production env、三个 digest 镜像、正式域名/TLS 和异地备份挂载,运行只读 production preflight 与 compose config。
  2. 在不切流量的 staging/production-candidate 环境配置真实 Provider,跑 10 条法律问答和 8 条审查样本并完成具名法务签批。
  3. 执行 PostgreSQL/合同文件/MinIO 备份,完成一次性 yuqei_restore_check_* 数据库恢复演练并验证最小健康告警。
  4. 固化不可变 RC 并让 build-test、security、release 三套 CI 全绿后,另行审批 edge/DNS 和阿里云前端切流。
  5. 保留 Trace governance 24 小时观察为上线后/上线前非阻塞观察项,production 开启仍需单独批准。

本轮本地 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。
  • 2026-07-16:无邮箱生产模式完成并部署 smoke。公开自助身份入口为 403,管理员线下邀请与员工登录闭环通过;Contract API migration head 为 20260713_0031,最新 Docker smoke 与 release gate 均通过。生产仍因 Provider、域名/HTTPS、备份监控、内容签批和不可变 RC 未完成而保持 No-Go。
  • 2026-07-16:production 基础设施第一片已在源码完成:backend-only compose、loopback 内部端口、HTTPS edge、Docker secret Provider key、严格 preflight、基础设施备份/恢复验证、最小健康监控和真实 Provider 18 样本验收脚本;尚未在 3.90 production 环境部署,不改变 No-Go 和不切流量结论。