docs: dev status round 21 — P2.2 default role seeds

This commit is contained in:
zhi
2026-03-17 19:03:12 +00:00
parent 19eba0b951
commit 7236c4e90c
2 changed files with 42 additions and 1 deletions

View File

@@ -691,6 +691,47 @@
- 或 P11.1 前端权限列表展示新增权限
- 或 P12.1 CLI 更新 propose 子命令
### 2026-03-17 19:00 UTC第 21 轮P2.2 默认角色权限种子 — mgr + dev 角色)
本轮做了什么:
- 实现 P2.2:在 `init_wizard.py` 新增 `mgr``dev` 两个默认角色,各带预置权限
- **mgrManager权限**
- 项目管理project.read/write/manage_members
- 全量 task/milestone CRUD
- 所有新增动作权限milestone.freeze/start/close、task.close/reopen_closed/reopen_completed、propose.accept/reject/reopen
- monitor.read
- **devDeveloper权限**
- project.read只读项目信息
- task.create/read/write日常 task 操作)
- milestone.read只读 milestone
- task.close/reopen_closed/reopen_completedtask 状态管理)
- monitor.read
- 不含 milestone 动作权限和 propose 审批权限(这些归 mgr/admin
- 重构 `init_admin_role()` 为统一的角色种子系统:
- `_DEFAULT_ROLES` 列表定义所有默认角色 + 权限集
- `_ensure_role()` 幂等创建角色
- `_sync_role_permissions()` 增量同步权限(只加不删,不影响手动配置)
- admin 仍获全量权限guest 仍仅获 `*.read` 权限
改了哪些关键文件:
- `HarborForge.Backend/app/init_wizard.py` — 重构角色种子系统(+84 行,-52 行)
验证结果:
- Python AST 语法检查通过
- 前端 `tsc --noEmit` 零错误(无回归)
- 已 commitbackend `8e38d4c`
当前阻塞/风险:
- 权限同步是增量模式(只加不删),已有部署中手动配置的权限不会被移除,但也意味着降级角色需手动操作
- 前端按钮尚未根据用户权限做可见性控制P11
- batch transition 接口尚未同步 P5.3/P5.4 校验
- 无本地 MySQL/运行环境做集成验证
下一轮最建议继续做什么:
- P11.1 前端权限列表展示新增权限(让管理界面能看到和管理 9 个新权限)
- 或 P12.1 CLI 更新 propose 子命令
- 或 P5.4 补全后端 batch transition 的 P5.3/P5.4 校验同步
---
## 1. 背景