feat: add governance backend APIs

This commit is contained in:
Codex
2026-05-02 22:06:03 +08:00
parent 9995a19b44
commit a736c66dc9
14 changed files with 2247 additions and 7 deletions
@@ -6,12 +6,12 @@ batch,priority,area,task_id,title,current_gap,target_deliverable,depends_on,acce
5A,P0,database,GOV-DB-005,新增发布批次与门禁结果表,当前上线批准状态只存在 PowerShell 产物中,新增 governance_release_batches 和 governance_gate_runs 表,GOV-DB-001;GOV-DB-003;GOV-DB-004,系统可追踪一次发布批次的门禁快照和结果,COMPLETED
5A,P1,database,GOV-DB-006,模板表补治理字段,contract_templates 只有内容和启停没有版本与发布元数据,为 contract_templates 增加 template_code version published_at published_by latest_governance_asset_id,GOV-DB-001,模板可区分草稿版和生产发布版,PLANNED
5A,P1,database,GOV-DB-007,知识库文档表补法源元数据,知识库文档缺少效力级别生效日期发文机关和法源类型,为知识库相关表增加 source_type authority effective_date region tags,none,知识库可按法源维度治理和过滤,PLANNED
5B,P0,backend_api,GOV-API-001,新增治理资产列表接口,当前没有统一治理视图接口,新增 /governance/assets 列表筛选汇总接口,GOV-DB-001,前端可按资产类型状态角色查看治理资产,PLANNED
5B,P0,backend_api,GOV-API-002,新增复核分配接口,当前无法在系统内分配真实复核人,新增 /governance/assignments 创建更新撤销接口,GOV-DB-002,管理员可在系统内完成复核任务分配,PLANNED
5B,P0,backend_api,GOV-API-003,新增复核回填接口,当前复核结论只能通过CSV和脚本回填,新增 /governance/decisions 提交接口和批量导入接口,GOV-DB-003,真实复核人或管理员可提交复核结果,PLANNED
5B,P0,backend_api,GOV-API-004,新增证据上传绑定接口,当前系统没有专门的治理证据绑定接口,新增 /governance/evidences 上传绑定替换校验接口,GOV-DB-004,系统可阻止模板证据进入已批准状态,PLANNED
5B,P0,backend_api,GOV-API-005,新增上线批准汇总接口,当前没有系统内 release approval summary,新增 /governance/releases/summary 和 /governance/releases/{id} 接口,GOV-DB-005,前端可直接展示当前上线阻断项与通过项,PLANNED
5B,P0,backend_api,GOV-API-006,新增CSV台账导入接口,当前正式上线台账只靠仓库脚本导入,新增 /governance/imports/formal-launch 接口读取既有 CSV 映射到治理表,GOV-DB-001;GOV-DB-002;GOV-DB-003;GOV-DB-004,旧台账可一次性导入数据库且保留来源信息,PLANNED
5B,P0,backend_api,GOV-API-001,新增治理资产列表接口,当前没有统一治理视图接口,新增 /governance/assets 列表筛选汇总接口,GOV-DB-001,前端可按资产类型状态角色查看治理资产,COMPLETED
5B,P0,backend_api,GOV-API-002,新增复核分配接口,当前无法在系统内分配真实复核人,新增 /governance/assignments 创建更新撤销接口,GOV-DB-002,管理员可在系统内完成复核任务分配,COMPLETED
5B,P0,backend_api,GOV-API-003,新增复核回填接口,当前复核结论只能通过CSV和脚本回填,新增 /governance/decisions 提交接口和批量导入接口,GOV-DB-003,真实复核人或管理员可提交复核结果,COMPLETED
5B,P0,backend_api,GOV-API-004,新增证据上传绑定接口,当前系统没有专门的治理证据绑定接口,新增 /governance/evidences 上传绑定替换校验接口,GOV-DB-004,系统可阻止模板证据进入已批准状态,COMPLETED
5B,P0,backend_api,GOV-API-005,新增上线批准汇总接口,当前没有系统内 release approval summary,新增 /governance/releases/summary 和 /governance/releases/{id} 接口,GOV-DB-005,前端可直接展示当前上线阻断项与通过项,COMPLETED
5B,P0,backend_api,GOV-API-006,新增CSV台账导入接口,当前正式上线台账只靠仓库脚本导入,新增 /governance/imports/formal-launch 接口读取既有 CSV 映射到治理表,GOV-DB-001;GOV-DB-002;GOV-DB-003;GOV-DB-004,旧台账可一次性导入数据库且保留来源信息,COMPLETED
5B,P1,backend_api,GOV-API-007,模板规则知识库发布接口,当前内容模块没有生产发布动作,为 templates review-rules knowledge-bases 增加 publish/unpublish/rollback 接口,GOV-DB-005;GOV-DB-006,已批准资产才能被发布到生产可用集合,PLANNED
5C,P0,frontend,GOV-WEB-001,新增复核总控中心页面,当前没有统一治理控制台,新增 /governance 页面展示资产统计阻断项角色视图和发布批次,GOV-API-001;GOV-API-005,管理员可在单页看到当前正式上线治理全貌,PLANNED
5C,P0,frontend,GOV-WEB-002,新增复核人工作台页面,当前真实法务业务运营没有系统内待办页,新增 /governance/workbench 页面支持按角色查看待处理任务,GOV-API-001;GOV-API-002;GOV-API-003,复核人可只看到与自己相关的任务包,PLANNED
1 batch priority area task_id title current_gap target_deliverable depends_on acceptance status
6 5A P0 database GOV-DB-005 新增发布批次与门禁结果表 当前上线批准状态只存在 PowerShell 产物中 新增 governance_release_batches 和 governance_gate_runs 表 GOV-DB-001;GOV-DB-003;GOV-DB-004 系统可追踪一次发布批次的门禁快照和结果 COMPLETED
7 5A P1 database GOV-DB-006 模板表补治理字段 contract_templates 只有内容和启停没有版本与发布元数据 为 contract_templates 增加 template_code version published_at published_by latest_governance_asset_id GOV-DB-001 模板可区分草稿版和生产发布版 PLANNED
8 5A P1 database GOV-DB-007 知识库文档表补法源元数据 知识库文档缺少效力级别生效日期发文机关和法源类型 为知识库相关表增加 source_type authority effective_date region tags none 知识库可按法源维度治理和过滤 PLANNED
9 5B P0 backend_api GOV-API-001 新增治理资产列表接口 当前没有统一治理视图接口 新增 /governance/assets 列表筛选汇总接口 GOV-DB-001 前端可按资产类型状态角色查看治理资产 PLANNED COMPLETED
10 5B P0 backend_api GOV-API-002 新增复核分配接口 当前无法在系统内分配真实复核人 新增 /governance/assignments 创建更新撤销接口 GOV-DB-002 管理员可在系统内完成复核任务分配 PLANNED COMPLETED
11 5B P0 backend_api GOV-API-003 新增复核回填接口 当前复核结论只能通过CSV和脚本回填 新增 /governance/decisions 提交接口和批量导入接口 GOV-DB-003 真实复核人或管理员可提交复核结果 PLANNED COMPLETED
12 5B P0 backend_api GOV-API-004 新增证据上传绑定接口 当前系统没有专门的治理证据绑定接口 新增 /governance/evidences 上传绑定替换校验接口 GOV-DB-004 系统可阻止模板证据进入已批准状态 PLANNED COMPLETED
13 5B P0 backend_api GOV-API-005 新增上线批准汇总接口 当前没有系统内 release approval summary 新增 /governance/releases/summary 和 /governance/releases/{id} 接口 GOV-DB-005 前端可直接展示当前上线阻断项与通过项 PLANNED COMPLETED
14 5B P0 backend_api GOV-API-006 新增CSV台账导入接口 当前正式上线台账只靠仓库脚本导入 新增 /governance/imports/formal-launch 接口读取既有 CSV 映射到治理表 GOV-DB-001;GOV-DB-002;GOV-DB-003;GOV-DB-004 旧台账可一次性导入数据库且保留来源信息 PLANNED COMPLETED
15 5B P1 backend_api GOV-API-007 模板规则知识库发布接口 当前内容模块没有生产发布动作 为 templates review-rules knowledge-bases 增加 publish/unpublish/rollback 接口 GOV-DB-005;GOV-DB-006 已批准资产才能被发布到生产可用集合 PLANNED
16 5C P0 frontend GOV-WEB-001 新增复核总控中心页面 当前没有统一治理控制台 新增 /governance 页面展示资产统计阻断项角色视图和发布批次 GOV-API-001;GOV-API-005 管理员可在单页看到当前正式上线治理全貌 PLANNED
17 5C P0 frontend GOV-WEB-002 新增复核人工作台页面 当前真实法务业务运营没有系统内待办页 新增 /governance/workbench 页面支持按角色查看待处理任务 GOV-API-001;GOV-API-002;GOV-API-003 复核人可只看到与自己相关的任务包 PLANNED
@@ -0,0 +1,120 @@
# 正式上线运营准备阶段 5B 后端治理接口执行记录(2026-05-02)
## 本批目标
本批执行 `5B / GOV-API-001 ~ GOV-API-006`,目标是在已完成的治理域数据库骨架上,补齐系统内的治理接口,让“治理资产、复核任务、复核结论、证据、上线批准汇总、CSV 导入”不再只存在于仓库脚本中。
## 已完成接口
新增路由文件:
- `backend/app/api/governance.py`
并已注册到:
- `backend/app/main.py`
本批已完成接口:
1. `GET /api/v1/governance/assets`
支持治理资产列表、状态筛选和汇总摘要。
2. `GET /api/v1/governance/assets/{governance_asset_id}`
返回单资产详情、分配、决议和证据。
3. `GET /api/v1/governance/assignments`
返回复核分配列表。
4. `POST /api/v1/governance/assignments`
创建或更新复核分配。
5. `POST /api/v1/governance/decisions`
提交复核结论,并回写资产治理状态。
6. `POST /api/v1/governance/evidences`
绑定证据,并回写资产证据状态。
7. `GET /api/v1/governance/releases/summary`
返回当前治理汇总和最近发布批次。
8. `GET /api/v1/governance/releases/{release_batch_id}`
返回指定发布批次和门禁执行记录。
9. `POST /api/v1/governance/imports/formal-launch`
读取现有 formal-launch CSV 台账并导入数据库。
## 已完成仓储与服务
新增仓储:
- `governance_asset_repository.py`
- `governance_review_assignment_repository.py`
- `governance_review_decision_repository.py`
- `governance_evidence_repository.py`
- `governance_release_batch_repository.py`
- `governance_gate_run_repository.py`
新增服务:
- `backend/app/services/governance_service.py`
### 服务能力
`GovernanceService` 已实现:
- 治理资产分页查询。
- 单资产详情聚合。
- 复核分配查询与保存。
- 复核结论提交。
- 证据登记。
- 发布汇总查询。
- formal-launch 台账导入。
## formal-launch 导入能力
导入接口会读取以下已有台账:
- `real-review-task-package.csv`
- `production-material-signoff-register.csv`
- `production-template-signoff-register.csv`
- `production-knowledge-signoff-register.csv`
导入后会自动:
1. 建立治理资产。
2. 建立复核分配。
3. 导入已存在的决议状态。
4. 读取证据路径并判定 `template / ready / missing`。
5. 生成一条发布批次。
6. 生成一条门禁快照记录。
## 已完成验证
执行测试:
`backend/.venv/Scripts/python.exe -m unittest tests.test_governance_models tests.test_governance_api tests.test_governance_service tests.test_permission_metadata`
结果:
- 13 个测试全部通过。
覆盖内容:
- 治理模型注册与外键。
- 治理 API 路由与审计事件。
- formal-launch 导入和发布批次生成。
- 权限元数据暴露。
## 当前状态
`GOV-API-001 ~ GOV-API-006` 已完成,backlog 已更新为 `COMPLETED`。
尚未进入:
- `GOV-API-007` 模板、规则、知识库的发布/回滚接口。
- `5C` 前端复核总控中心、复核工作台、资产详情页、上线批准页。
- `5D` 门禁切换为数据库读模式。
## 下一步建议
最自然的下一步是进入 `5C / GOV-WEB-001 ~ GOV-WEB-004`,先把复核总控中心、复核人工作台、资产详情页和上线批准页做起来,让刚完成的治理接口真正可用。