Files
HarborForge/plans/TASKLIST.md
2026-03-29 11:34:12 +00:00

122 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/feature` task”的旧逻辑
- [ ] 改为遍历 Proposal 下所有 Essential
- [ ] 按 Essential 类型生成对应 `story/*` task
- [ ] 将生成的 task 统一挂到选定 Milestone
- [ ] 记录 Proposal 与生成 task 的追踪关系
- [ ] 处理 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 的迁移说明
- [ ] 补充本波开发完成后的验收清单