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

2.1 KiB

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:审批待办与角色边界。重点是让管理员、法务、业务提交人、审批人、只读用户看到不同按钮,普通用户不被配置、审计、复杂审批能力压住。