# Yuqei AI Contract Platform V2 This repository contains only the active V2 product line. Product, architecture, database, AI platform, frontend, backend, deployment, and QA work use the final four-project layout below. ## Project Layout ```text yuqei-contract-platform/ apps/contract-web/ services/contract-api/ packages/design-system/ packages/contract-openapi/ yuqei-ai-platform/ services/ai-platform-api/ services/worker/ packages/ai-openapi/ yuqei-ai-sdk-python/ yuqei-infra/ docker/ compose/ nginx/ observability/ backup/ deploy/ docs/ adr/ product/ architecture/ qa/ project-docs/ ``` ## Repository Policy - `main` is the active V2 development line. - Do not reintroduce a retired product tree or parallel product implementation. - Keep the final product boundaries: Contract Platform, AI Platform, Python SDK, and infrastructure. - Protocol identifiers such as `/api/v1`, persisted schema versions, migration history, and source-provenance labels are compatibility contracts inside V2; they are not a second product implementation. ## Starting Points - `V2-README.md` - `project-docs/AI合同平台V2重构版开发方案-2026-06-22.md` - `project-docs/钰麒合同品牌方案设计 V3.0.md` ## Mandatory Delivery Policy / 强制交付规则 所有产品开发、测试、候选构建、UAT 和上线工作,必须先阅读并遵守: - [`project-docs/AI合同平台-生产上线加速与开发效率整改方案-2026-09-21.md`](project-docs/AI合同平台-生产上线加速与开发效率整改方案-2026-09-21.md) - [`project-docs/AI合同平台-多场景完整交付与开发收口方案-2026-09-10.md`](project-docs/AI合同平台-多场景完整交付与开发收口方案-2026-09-10.md) 本轮 RC-05~RC-08 发布收口期间,交付基线保持 **60 个资产、14 个 Prompt 模块、144 个正式评测场景**,不得擅自缩减为采购单场景,也不得继续增加非阻断功能。本轮正式完成并由发布负责人更新基线后,后续迭代不再受这一临时范围冻结限制。 以下规则是仓库级强制约束: 1. **先完成变更,后冻结候选。** 源码仍会变化时,不生成正式 tag、source manifest、镜像、SBOM、完整模型矩阵或正式 UAT 证据。 2. **一次冻结、一次认证。** 冻结后 P0 可直接打断候选,P1 必须由发布负责人裁定;先集中修复,以最多重新冻结一次为效率目标。若之后再次发现已证实 P0 或获批 P1,必须保持 `NO_GO`、作废候选并升级决定,不能为遵守次数目标而放行。P2/P3 进入上线后 backlog。 3. **分层测试。** 普通迭代默认只跑直接反例和受影响测试;安全、迁移、共享契约和其他高风险变更必须按风险扩大验证。候选集成冻结后才跑一次完整确定性门禁;真实模型和 UAT 只对同一不可变候选执行。 4. **并行不共享可变工作树。** 并行修改使用独立 worktree/分支和明确文件归属,由单一集成人合并;禁止一边修改发布工作树,一边生成不可变证据。 5. **源码与运行产物分离。** 原始 JSON、JUnit、案例输出、压缩包和失败诊断进入仓库外的持久产物目录;Git 只保留必要摘要、manifest、索引和 hash。未经归属审阅不得批量删除现有文件。 6. **外部阻塞与研发并行。** 政策、域名、证书、Provider、生产主机和人工审批单独列出责任人及期限;材料缺失不得被包装为新的产品开发阶段。 7. **任务必须有终点。** 每个任务开始时写明唯一交付物、退出条件和时间盒;完成后只报告候选 SHA、通过/失败、剩余 blocker、责任人和下一项必要动作,不自动创造“下一阶段”。 8. **提速不能绕过底线。** 身份与租户隔离、合同事实完整性、版本保护、备份恢复、迁移兼容、TLS/密钥、失败接管、正式政策及最终公众切流授权不得为赶工而取消。 9. **单一人工发布审核人。** 本轮唯一人工发布审核人为陈钰麒(总经理);技术门禁、数据库/备份/恢复核验和证据比对由系统自动完成,不再追加第二名发布审核人。60 资产+14 Prompt 只作一次批次签名批准,系统生成 74 项应用证据;Provider、公开政策、恢复与回退也只接受该审核人的具名决定,其中每次恢复或回退只接受一条 `release_owner` 批准。离线根密钥与日常审批密钥必须用途隔离且不得复用。两名普通 UAT 账号只是租户隔离测试身份,不是审核人;租户自己的业务审批策略不受本条改变。 RC-06 审核人只使用两个无复杂参数入口:`yuqei-infra/scripts/Initialize-ReleaseSigner.cmd` 完成一次性加密密钥初始化,候选和 RC-05 材料齐备后使用 `yuqei-infra/scripts/Approve-ReleaseCandidate.cmd` 核对一页摘要并签署一次;不得手工编辑 JSON、hash 或 pin。详见 [`project-docs/RC06-single-reviewer-one-click-signing-runbook-2026-09-27.md`](project-docs/RC06-single-reviewer-one-click-signing-runbook-2026-09-27.md)。工具代码存在不代表真实密钥或批准已经形成。 本轮收口唯一执行顺序是 `FREEZE → BUILD → RC05-RUN → RC06-UAT → RC07-RECOVERY → RC08-PRODUCTION`。在真实证据形成前,内部受控试点和公众开放均保持 `NO_GO`;不得把本地测试、AI 自动审核或模拟证据描述为法律批准、第三方存证或公众生产放行。效率规则不构成生产操作的长期授权;生产部署、迁移、回退、切流、真实凭据或数据使用、风险接受及法律签署仍须具名授权人明确批准。