feat(v2.7): 收口治理权限适配器

This commit is contained in:
2026-07-08 16:44:57 +08:00
parent 9ba9449c1a
commit f69ec83193
14 changed files with 214 additions and 16 deletions

View File

@@ -587,3 +587,17 @@
- V2.8:生产硬化稳定版 + 运维闭环。生产部署基线已存在V2.8 聚焦备份恢复演练、发布 smoke test、监控告警、日志检索、迁移回滚和运维手册。
**理由**:这条链路保持了从低风险兼容到强一致主源的顺序。权限/审计必须随领域 CRUD 进入代码路径否则后补会重写接口边界AppData 退场必须有闸门和回滚价值,不能直接删除;性能基础要从 V2.4 的 API 设计开始V2.6 只做规模化增强和后台化能力。这样每个阶段都有清晰验收物,也能避免长期双主源、无审计写入和大数据查询返工。
## 46. V2.7 协作治理先落稳定适配器,不硬编码临时权限
**问题**V2.7 需要通知、评论、项目成员治理、管理驾驶舱和治理字典。但 V2.5 的完整后端 RBAC / audit 合同尚未以统一模块形式沉淀。如果各 V2.7 模块直接写临时权限判断和审计插入,后续 V2.5 收口会再次返工。
**决策**
- 新增 `RbacService` 作为项目角色与全局权限断言适配器Owner/Admin/Member/Viewer 的层级判断和 `management:view` / `governance:manage` 等全局权限入口集中在此处。
- 新增 `AuditService` 作为审计写入适配器,业务模块只提交 `actorId/action/resource/before/after`
- 通知事件类型固定为 `assignment / mention / risk_alert / overdue_item`,跨模块通过这些稳定语义发通知。
- 通用评论使用 `entityType + entityId + entityVersionId` 的多态引用,不给每个业务表单独建评论表。
- 管理驾驶舱只读关系表和 `xiaobao_risk_summaries`,不回读 AppData。
- 治理字典使用软删除或使用中禁止硬删,变更必须写审计。
**理由**适配器把“当前合同未完全落地”的不确定性隔离在一层V2.7 能先交付企业协作能力,同时给 V2.5 后续权限/审计收口留下替换点。稳定事件名和多态评论引用能避免后续模块继续扩散 ad-hoc 字段。