round-23: clean TaskType.TASK residual + P3.6 feature story freeze edit lock

This commit is contained in:
zhi
2026-03-17 23:02:20 +00:00
parent 7236c4e90c
commit e27adf9a4d
2 changed files with 57 additions and 1 deletions

View File

@@ -732,6 +732,62 @@
- 或 P12.1 CLI 更新 propose 子命令
- 或 P5.4 补全后端 batch transition 的 P5.3/P5.4 校验同步
### 2026-03-17 22:00 UTC第 22 轮:收口 milestone 内建 task 的旧默认值残留)
本轮做了什么:
- 先检查了 `HarborForge` 主仓库和相关子模块 git 状态;当前没有新的未提交遗留改动,父仓库是 `ahead 21`,各子模块工作区也干净
- 在后端 `create_milestone_task` 端点里收口一个残留兼容问题:
- 默认 `task_type` 从旧的 `task` 改为 `issue`
- 默认 `status``open` 改为 `pending`
- 这样 milestone 详情页/相关入口即使未显式传值,也不会再产出已移除的 `task_type=task`,并且与需求文档“新建 task 默认 pending”保持一致
改了哪些关键文件:
- `HarborForge.Backend/app/api/routers/milestones.py`
- `HarborForge/docs/milestone-propose-requirements.md`
验证结果:
- `python3 -m compileall HarborForge.Backend/app/api/routers/milestones.py` 通过
- grep 复查确认 `milestones.py` 内已无 `task_type` 默认回落到 `task` 的代码
当前阻塞/风险:
- 后端仍有一个旧残留:`HarborForge.Backend/app/models/models.py` 里的 `TaskType` 还保留 `TASK = "task"`,虽当前主流程未直接使用,但建议继续清理,避免后续误用
- 这轮只做了静态验证,未做数据库/接口级运行验证
下一轮最建议继续做什么:
- 继续做一个同样小的后端收口:清理 `app/models/models.py` 中残留的 `TaskType.TASK`,并顺手排查类似旧常量/默认值
- 或进入 P11.1,把新增 milestone/task/propose 权限在前端角色编辑页中明确分组展示
---
### 2026-03-17 23:00 UTC第 23 轮:清理 models.py TaskType.TASK 残留 + P3.6 feature story freeze 编辑锁)
本轮做了什么:
-`app/models/models.py` 移除 `TaskType.TASK = "task"` 枚举成员(第 22 轮标记的残留问题)
- 清理 docstring 中的旧描述
- 提交第 22 轮遗留的 `milestones.py` 默认值修复task_type → issue, status → pending
- 实现 P3.6 补充feature story task 在 milestone freeze/undergoing/completed/closed 后禁止编辑 body 字段
- tasks.py PATCH 接口中新增 milestone 状态检查story/feature 类型的 task 在 milestone 非 open 时返回 400
改了哪些关键文件:
- `HarborForge.Backend/app/models/models.py` — 移除 TaskType.TASK
- `HarborForge.Backend/app/api/routers/milestones.py` — 默认值修复(上轮遗留)
- `HarborForge.Backend/app/api/routers/tasks.py` — P3.6 feature story freeze 编辑锁
验证结果:
- 3 个文件 Python AST 语法检查全部通过
- grep 确认后端无残留 `TaskType.TASK` 引用
- 已 commit`ec91a15`models.py + milestones.py`586e06f`tasks.py P3.6
当前阻塞/风险:
- batch transition 接口尚未同步 P5.3/P5.4 校验(无 current_user, 无 comment body
- P11 前端权限展示、P12 CLI/文档、P13 测试均未开始
- 无本地 MySQL/运行环境做集成验证
下一轮最建议继续做什么:
- P11.1 前端权限列表展示新增的 9 个权限(让管理界面能看到和管理 milestone/task/propose 权限)
- 或 P12.1 CLI 更新milestone/task status choices 已在第 2 轮更新,但 propose 子命令未加)
- 或 P5.4 后端 batch transition 同步 assignee/comment 校验
---
## 1. 背景