a3bb78e06b
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 16m35s
3.9 KiB
3.9 KiB
V2 标准条款库 / 审查规则库管理页
日期:2026-06-27
背景
V1 Phase13 已沉淀标准条款库、审查规则库和模板绑定关系。V2 已完成模板库、条款推荐和一键修订闭环的基础能力后,需要给法务和管理员提供统一的资产管理视图,方便审阅条款、规则、法源绑定和风险修复关联。
本次完成
- 新增 V2 管理页:
/admin/legal-assets - 接入已有合同 API:
GET /api/v1/standard-clausesGET /api/v1/standard-clauses/{clause_id}GET /api/v1/review-rulesGET /api/v1/review-rules/{rule_id}
- 新增前端代理:
/api/contract-platform/standard-clauses/api/contract-platform/standard-clauses/[clauseId]/api/contract-platform/review-rules/api/contract-platform/review-rules/[ruleId]
- 页面能力:
- 标准条款和审查规则统计
- 关键字搜索
- 合同类型、条款分类、规则分类、风险等级筛选
- 标准条款推荐文本、适用条件、不适用条件、使用提示、风险提示展示
- 审查规则触发条件、审核输出模板、修改建议、人工复核边界展示
- 法源 ID 展示
- 条款到关联审查规则的跳转筛选
- 权限入口:
- 管理员和法务可访问
- 左侧管理导航新增“条款规则库”
- 管理首页新增“条款规则库”卡片
生命周期增强
本页已从只读管理视图增强为“静态正文 + V2 生命周期状态”模式:
- 标准条款和审查规则正文仍来源于 V1 Phase13 静态 Markdown 迁移库。
- 发布、下线、回滚、版本历史和审计 metadata 已进入 V2 数据库持久化。
- 页面卡片展示当前状态、版本、变更次数和最近历史。
- 页面卡片支持发布、下线、回滚操作。
新增持久化表:
legal_asset_lifecycle_events
新增 API:
GET /api/v1/standard-clauses/{clause_id}/historyPOST /api/v1/standard-clauses/{clause_id}/publishPOST /api/v1/standard-clauses/{clause_id}/offlinePOST /api/v1/standard-clauses/{clause_id}/rollbackGET /api/v1/review-rules/{rule_id}/historyPOST /api/v1/review-rules/{rule_id}/publishPOST /api/v1/review-rules/{rule_id}/offlinePOST /api/v1/review-rules/{rule_id}/rollback
当前边界
条款/规则正文编辑、diff 和发布前校验尚未接入。下一步建议参考模板编辑能力,增加法律资产草稿、字段级 diff、绑定法源/绑定条款校验,再将发布动作改为使用草稿快照。
后续建议
下一步可进入条款/规则编辑校验:
- 设计
legal_asset_edit_drafts或拆分standard_clause_edit_drafts、review_rule_edit_drafts。 - 增加条款正文、触发条件、修改建议、法源绑定、关联条款的 diff。
- 增加发布前校验,校验法源 ID、条款 ID、规则 ID 是否存在。
- 将 AI 审查风险项的条款推荐优先读取已发布版本,避免静态资产和管理状态脱节。
验证
npm run web:typecheck通过。npm run web:build通过。python -m pytest yuqei-contract-platform/services/contract-api/tests/test_contract_workflow.py -q通过。- 本地 smoke:
GET http://localhost:8100/api/v1/standard-clauses返回 8 条标准条款。GET http://localhost:8100/api/v1/review-rules返回 8 条审查规则。GET http://localhost:3000/api/contract-platform/review-rules代理返回 200。- 浏览器打开
http://localhost:3000/admin/legal-assets,页面显示 8 条标准条款、8 条审查规则。 - 浏览器打开
http://localhost:3000/admin/legal-assets?tab=rules&risk_level=高,页面显示 4 条高风险规则。
备注:本次本地后端 smoke 使用临时 SQLite 文件 .runtime/contract-api-legal-assets-smoke.sqlite3。当前默认 .runtime/contract-api.sqlite3 是旧 schema,启动时报 contracts has no column named tenant_id,需要迁移后再作为默认本地库使用。