5.2 KiB
5.2 KiB
TASKLIST.md
说明:如果某个进行中的 Task 没有完全完成,或者在执行过程中遇到 block,需要在该 Task 下继续拆分若干子 TODO item:本次开发中已经完成的部分标记为已完成,block / pending / 尚未完成的部分标记为未完成。
TODOLIST
-
Task 1:整理并确认 Calendar / Proposal / Essential 的整体边界
- 明确 Calendar 系统与 Proposal / Essential 结构调整的耦合边界
- 确认哪些内容属于“本波开发必须实现”
- 确认哪些内容仅保留为设计备注或后续规划
-
Task 2:设计 Calendar 数据模型
- 设计
TimeSlot表结构 - 设计
SchedulePlan表结构 - 设计
MinimumWorkload存储方案 - 设计
slot_id/ plan 虚拟 slot 的标识策略 - 定义
event_type与event_data的结构约束
- 设计
-
Task 3:设计 Agent 日程唤醒与状态流转
- 定义插件心跳请求 / 响应格式
- 定义待执行 slot 的筛选规则
- 定义 Agent Idle / Busy / OnCall / Exhausted / Offline 的状态流转
- 定义多 slot 冲突时的优先级与 deferred 规则
- 定义 Exhausted 状态的进入条件与恢复策略
-
Task 4:实现 Calendar 后端模型与数据库迁移
- 新增 Calendar 相关模型
- 新增数据库迁移或启动自修复逻辑
- 处理 plan 物化与真实 slot 持久化逻辑
- 处理不可编辑过去 slot 的限制
-
Task 5:实现 Calendar 后端 API
- 实现单次日程创建接口
- 实现日程查看接口
- 实现日程编辑接口
- 实现日程取消接口
- 实现周期计划创建 / 编辑 / 取消 / 列表接口
- 实现 overlap 检测
- 实现 MinimumWorkload warning 机制
-
Task 6:实现 Calendar CLI
- 实现
hf calendar schedule - 实现
hf calendar show - 实现
hf calendar cancel - 实现
hf calendar edit - 实现
hf calendar date-list - 实现
hf calendar plan-schedule - 实现
hf calendar plan-list - 实现
hf calendar plan-cancel - 实现
hf calendar plan-edit
- 实现
-
Task 7:实现 Proposal 重命名为 Proposal 的后端改造
- 将
Propose概念统一重命名为Proposal - 调整后端模型 / schema / router 命名
- 调整前端页面与 API 调用命名
- 调整 CLI / 文档 / 测试中的命名
- 处理兼容迁移策略(如旧接口别名或数据兼容)
- 将
-
Task 8:设计并实现 Essential 数据模型
- 新增
Essential实体 - 定义
Essential与Proposal的关系 - 定义
Essential.type枚举:feature/improvement/refactor - 设计
EssentialCode编码规则 - 实现
EssentialCode自动生成逻辑
- 新增
-
Task 9:实现 Proposal / Essential 后端 API
- 实现 Proposal 下 Essential 的创建接口
- 实现 Proposal 下 Essential 的编辑接口
- 实现 Proposal 下 Essential 的删除接口
- 实现 Proposal 详情中 Essential 列表返回
- 实现 Proposal Accept 时选择目标 Milestone 的能力
-
Task 10:重构 Proposal Accept 工作流
- 移除“Accept 后生成单个
story/featuretask”的旧逻辑 - 改为遍历 Proposal 下所有 Essential
- 按 Essential 类型生成对应
story/*task - 将生成的 task 统一挂到选定 Milestone
- 记录 Proposal 与生成 task 的追踪关系
- 处理 Accept 时的事务一致性与失败回滚
- 移除“Accept 后生成单个
-
Task 11:收紧 Story 创建规则
- 将
story整个大类设为 restricted - 禁止通过通用 task create endpoint 直接创建任意
story/* - 仅允许通过
Proposal Accept创建story/* - 调整前端 Task 创建页面,隐藏或禁用 story 创建入口
- 调整 CLI 创建逻辑与错误提示
- 将
-
Task 12:实现 Calendar 前端页面
- 设计日历页展示结构
- 实现某日 slot 列表展示
- 实现计划列表展示
- 实现新增 / 编辑 / 取消日程交互
- 实现 overlap / warning / deferred 状态提示
-
Task 13:实现 Proposal / Essential 前端页面
- 调整 Proposal 列表与详情页命名
- 在 Proposal 详情页增加 Essential 列表区域
- 支持新增 / 编辑 / 删除 Essential
- 在 Accept 流程中增加目标 Milestone 选择
- 展示 Accept 后生成的 story task 结果
-
Task 14:实现 acc-mgr 禁止修改密码的修复
- 后端禁止修改 acc-mgr 密码
- 前端隐藏 acc-mgr 修改密码入口
- 补充测试覆盖该限制
-
Task 15:补齐测试
- 补充 Calendar 模型 / API / CLI 测试
- 补充 Proposal / Essential 工作流测试
- 补充 Story restricted 相关测试
- 补充 Proposal Accept 批量生成 story task 测试
- 补充 acc-mgr 密码限制测试
-
Task 16:补齐文档与迁移说明
- 更新后端开发文档
- 更新前端交互说明
- 更新 CLI 使用文档
- 补充 Proposal / Essential / Story restricted 的迁移说明
- 补充本波开发完成后的验收清单