Files
ai-contract-platform/project-docs/V2-contract-detail-audit-version-obligation-lightweight-2026-06-24.md
T
yuqei a3bb78e06b
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 16m35s
release: freeze V2 release candidate
2026-07-12 15:32:24 +08:00

67 lines
2.1 KiB
Markdown

# V2 合同详情审计 / 版本 / 履约轻量化闭环记录
日期:2026-06-24
## 本轮目标
完成 T2:合同详情继续只突出“下一步操作”,审计、版本、履约能力继续保留但默认折叠;后端开始记录合同关键操作事件。
## 已完成
1. 新增合同审计事件模型:
- `contract_created`
- `contract_updated`
- `approval_submitted`
- `approval_resubmitted`
- `approval_approved`
- `approval_rejected`
- `file_uploaded`
- `contract_downloaded`
- `review_started`
- `review_requeued`
- `review_completed`
- `review_failed`
2. 新增数据库迁移:
- `contract_audit_events`
- 按合同、事件类型、创建时间建立索引。
3. 后端写入点:
- 创建合同
- 修改合同
- 提交审批
- 退回后重提
- 审批通过 / 退回
- 上传文件
- 发起审查
- 审查重排
- 审查成功 / 失败
- 记录下载事件
4. 前端详情页:
- 顶部仍只突出“下一步操作”。
- 版本与履约仍保留在默认折叠区。
- 审计与技术信息默认折叠,内部展示真实操作记录。
- 下载图标点击时记录下载审计事件。
## 简化原则
普通用户进入合同详情后仍然优先看到:
下一步操作 -> 正文预览 -> 附件与审查
审批时间线、版本履约、审计记录都在折叠区,按需打开。
## 验证
- 后端测试:`python -m pytest yuqei-contract-platform\services\contract-api\tests -q`
- 后端编译:`python -m compileall yuqei-contract-platform\services\contract-api\src`
- OpenAPI 解析:通过
- 前端类型检查:`npm --prefix yuqei-contract-platform\apps\contract-web run typecheck`
- 前端构建:`npm --prefix yuqei-contract-platform\apps\contract-web run build`
- 空库迁移到 head:通过,已升级到 `20260624_0006`
## 后续建议
下一轮进入 T3:审批待办与角色边界。重点是让管理员、法务、业务提交人、审批人、只读用户看到不同按钮,普通用户不被配置、审计、复杂审批能力压住。