diff --git a/HarborForge.Backend b/HarborForge.Backend index 8e38d4c..586e06f 160000 --- a/HarborForge.Backend +++ b/HarborForge.Backend @@ -1 +1 @@ -Subproject commit 8e38d4cf4d8bbddfd0d0cca13e0061e90dadded9 +Subproject commit 586e06f66a2195d30a5016757fd14c44c3e31a4f diff --git a/docs/milestone-propose-requirements.md b/docs/milestone-propose-requirements.md index 530ee8c..a0c3afb 100644 --- a/docs/milestone-propose-requirements.md +++ b/docs/milestone-propose-requirements.md @@ -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. 背景