Files
ai-contract-platform/project-docs/V2-P0-04-P0-07-implementation-and-release-gates-2026-08-22.md
T
yuqei 1d85329a6a
Build and Test Quality Gate / Contract Web typecheck and build (pull_request) Successful in 9m12s
Build and Test Quality Gate / Isolated Alibaba and Tencent KMS gateway (pull_request) Failing after 4m53s
Build and Test Quality Gate / Python tests and Contract API migration (pull_request) Failing after 24m55s
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 8m42s
feat: deliver governed contract platform and async AI tasks
2026-08-26 12:53:47 +08:00

121 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI 合同平台 P0-04~P0-07 实施与发布门禁报告
日期:2026-08-22
范围:正式政策与同意证据、生成式 AI 合规披露、关键旅程 CI、失败重试与人工接管
## 一、结论
本阶段已完成可由工程系统落实的 P0 改造,但系统仍不具备正式对外发布生成式 AI 服务的条件。当前两个硬阻断项是:
1. 四份正式政策尚未取得具名法律审批签名并完成受控发布;
2. 实际默认模型仍为 `mock / legal-qa-mvp`,且没有配置可核验的备案号、上线登记号和隐式标识服务提供者编码。
系统现已采用 fail-closed 策略:没有生效正式政策时不再以草稿替代公开正文,并关闭正式环境的自助注册;AI 披露页会展示实际模型,不允许用示例备案号掩盖未就绪状态。
## 二、P0-04:正式政策与同意证据
已完成:
- 公开政策页在 `not_published` 状态下不再回退展示 `2026-08-01-draft` 静态正文;
- 本地、预发布和生产环境默认启用注册 fail-closed,只有测试夹具可显式关闭;
- 正式政策 API 增加发布时间、状态代次、发布事件 ID、bundle hash、法律审批 ID 与审批文件 hash;
- 每份政策增加摘要、正文 hash、生效时间和发布时间;
- 新同意记录固化协议标题、路径、文档 SHA-256、生效时间和发布时间,不再只能依赖版本号间接关联;
- 候选《用户协议》和《AI 使用与风险提示》已补充显式标识、隐式标识、禁止移除标识和日志留存规则;任何旧 hash 或旧签名不得复用。
尚需人工完成:
- 由公司法务或外聘律师对最终精确字节进行具名审批;
- 使用受信 Ed25519 密钥完成离线签名;
- 按既有 promotion runbook 完成预检和原子发布;
- 发布后验证四份正文、摘要、hash、发布时间和既有用户重新同意记录。
## 三、P0-05:生成式 AI 合规披露与内容标识
已完成:
- AI Platform 新增公开披露接口 `/api/v1/public/ai-disclosure`;
- 接口从实际默认 Provider 配置读取 provider、model 和 display name,不接受前端硬编码;
- 披露结果具备 `ready / blocked` 状态,并校验真实模型、Provider 调用、备案/登记证据、服务提供者编码和不少于 180 天的日志留存;
- AI 使用说明页显著展示实际模型、备案号、登记号、显式/隐式标识状态和阻断原因;
- AI 审查 PDF 在标题区加入“AI生成/辅助内容,请人工复核”,并写入 AI 审计运行 ID;
- PDF 文件元数据写入 AI-generated 属性、human-review-required 和平台制作方信息;
- 平台明确不提供移除标识的报告导出路径。
当前运行态预期为 `blocked`,这是正确结果,不应通过伪造配置消除。
上线前必须配置:
- `AI_PLATFORM_PROVIDER_CALL_MODE=enabled`;
- 真实、已审批的默认 Provider 与模型;
- `AI_PLATFORM_GENERATIVE_AI_FILING_NUMBER` 或实际适用的上线登记号;
- `AI_PLATFORM_GENERATIVE_AI_SERVICE_PROVIDER_CODE`;
- 完成导出文件隐式标识验收后,才将 `AI_PLATFORM_GENERATIVE_AI_IMPLICIT_LABELING_ENABLED=true`;
- 依法确定的日志留存期(当前门禁最低 180 天)。
法规依据:国家网信办等四部门《人工智能生成合成内容标识办法》要求生成合成内容的显式标识、文件元数据隐式标识、导出保留标识、用户协议说明标识规范;办法自 2025-09-01 施行。官方原文:<https://www.cac.gov.cn/2025-03/14/c_1743654684782215.htm>。国家网信办公告还要求已上线应用在显著位置公示使用的已备案模型名称及备案号:<https://www.cac.gov.cn/2024-04/02/c_1713729983803145.htm>。
## 四、P0-06:关键旅程 CI
GitHub Actions 已新增以下显式门禁:
- Contract Web 28 项路由、会话、同意和公开政策 Node 测试;
- 最小字段合同生成和正文质量门禁;
- 个人/组织/系统工作空间隔离;
- 审批版本失效与职责分离;
- 正式政策非草稿与注册 fail-closed;
- 同意证据 hash 快照;
- AI 披露阻断/就绪两种状态;
- 审查失败、重试、关联 ID 与人工接管;
- 空库迁移 head 更新为 `20260822_0047`。
## 五、P0-07:失败重试与人工接管
已完成:
- 每个审查任务在创建时生成并持久化 `correlation_id`;
- 失败日志包含 tenant、contract、task、correlation ID、worker、错误和事故责任人;
- 失败时生成站内通知,通知包含任务 ID、关联 ID 和“平台运维与法务值班”责任人;
- 合同详情页展示错误、关联 ID、重试次数、重试按钮、转人工按钮和支持邮箱;
- 人工接管保存责任人、备注、申请时间和恢复状态;
- 重试与人工接管均写入合同时间线和审计事件;
- 租户边界仍由合同可见性与任务 tenant 过滤共同约束。
建议下一步增加人工处理工单 SLA、值班人排班映射、外部告警渠道和人工完成/关闭接口;这些属于 P1 运维成熟度,不阻断本阶段工程验收。
## 六、数据库与回滚
迁移 `20260822_0047` 新增:
- `identity_agreement_consents`:标题、路径、正文 hash、政策生效/发布时间;
- `review_tasks`:关联 ID、恢复状态、人工责任人、备注、申请/解决时间;
- 关联 ID与恢复状态索引,以及恢复状态检查约束。
回滚时可降级该迁移,但会丢失新增证据字段和人工接管状态;生产回滚前应先导出相应审计与同意证据,不建议直接破坏性降级。
## 七、发布验收清单
- [ ] 具名法律审批文件已绑定最终四份政策精确 hash;
- [ ] promotion preflight 为 pass,且执行人完成发布授权;
- [ ] 四个公开政策 URL 均显示 effective 版本、发布时间和 hash;
- [ ] 新注册与既有用户重新同意记录包含文档 hash 快照;
- [ ] AI 披露接口为 ready,实际模型与备案/登记记录一致;
- [ ] AI 报告可见标识和 PDF 元数据均通过抽检;
- [ ] GitHub P0 critical launch journeys 通过;
- [ ] 失败任务通知、重试、转人工和支持入口通过真实浏览器验证;
- [ ] 事故责任人和值班流程已由组织确认。
## 八、本地工程验收记录
2026-08-22 已完成:
- Contract API 全量测试通过(含 4 项 PostgreSQL 专属场景按本机条件跳过);
- AI Platform API 全量测试通过,AI 披露新增测试 2 项通过;
- Contract Web 测试 28 项、TypeScript 类型检查和生产构建通过;
- P0 关键旅程与审查报告定向回归 5 项通过;
- 空库升级及当前运行库均已迁移到 `20260822_0047 (head)`;
- 使用超级管理员既有 Chrome 会话验证:政策未发布时注册阻断、公开政策不回退草稿、AI 披露按实际 `mock / legal-qa-mvp` 阻断;
- 在测试合同 `contract-7435bb1134e3` 上完成“失败 → 人工接管 → 重新排队 → worker 成功恢复”闭环,并核验重试次数、关联 ID、AI Trace 与人工接管已解决记录。
说明:清单中的浏览器工程验证已经完成;仍保留未勾选,是因为生产发布清单必须在正式政策、真实模型、备案/登记证据、导出文件隐式标识验收和组织值班责任确认齐备后重新执行,不得用本地验收替代生产证据。