feat(版本详情): 完善流程日志与需求覆盖

This commit is contained in:
Script Generator
2026-06-30 11:00:07 +08:00
parent d754585fe0
commit 1cd595c42e
38 changed files with 4123 additions and 237 deletions

View File

@@ -96,8 +96,9 @@
**决策**
- `status: todo|in_progress|testing|submitted`
- `isBlocked: boolean` + `blockReason: string` + `blockedById: string`
- DevTask 存在阻塞时不能转为 `submitted`,必须先解除阻塞再提测。
**理由**:阻塞和状态正交。工作台筛选 `isBlocked=true` 一键拉出所有阻塞项,跨状态。
**理由**:阻塞和状态正交。工作台筛选 `isBlocked=true` 一键拉出所有阻塞项,跨状态;但 `submitted` 代表开发交付完成,仍必须满足“当前无阻塞”的完成条件
## 11. 加班原因可选,且去掉"其他"
@@ -352,7 +353,7 @@
- 新建统一的工作日日期时间选择组件,创建任务时复用同一套交互。
- 内置国务院办公厅发布的 2026 年中国法定节假日和调休工作日;未知年份按周末/工作日兜底。
- 选择节假日或周末时只提示,不阻止保存;选择调休工作日时按工作日提示。
- TestCase 增加 `plannedTestAt`Bug 增加 `plannedFixAt`,保存为 ISO 时间戳。
- TestCase 增加 `plannedTestAt` / `plannedEndAt`Bug 增加 `plannedFixAt`,保存为 ISO 时间戳。
**理由**:项目排期需要贴近中国工作日,但研发和线上 Bug 可能确实安排在非工作日处理,所以系统负责提醒,最终是否保存交给用户判断。
@@ -405,6 +406,31 @@
**理由**:负责人推荐能减少项目经理初次分配成本,但分配本身是团队执行承诺,必须由人确认。把推荐和写入分开,可以复用版本成员上下文,又避免模型幻觉姓名或越权自动派单。
## 34. AI 草案领取和计划必须绑定
**问题**AI 生成的 DevTask / TestCase 如果没有负责人,团队需要先领取;如果把“待领取”和“待排期”拆成两个可见状态,会让版本详情列表出现更多标签,且无法体现“领取时就应该承诺计划”的业务动作。
**决策**
- 版本详情开发任务和测试用例不显示“待排期”标签。
- 无负责人时显示“待领取”,领取入口必须同时填写计划起止时间。
- 用户采纳 AI 推荐负责人后,草案已经有负责人,不再需要领取;但开始开发/测试前仍必须补齐计划起止时间。
- DevTask 进入 `in_progress` 前必须具备 `assigneeId``expectedStartAt``expectedEndAt`
- TestCase 进入 `running` 前必须具备 `assigneeId``plannedTestAt``plannedEndAt`
**理由**:领取代表成员承诺执行,计划时间代表承诺边界,二者应该在同一个动作里完成。列表层只表达“谁还没接手”,状态机层负责阻止未计划任务进入执行,页面不会被额外标签干扰。
## 35. 产品/UI 计划需求覆盖必须区分部分完成和完全完成
**问题**:产品方案和 UI 设计经常跨天推进,同一天可能只完成某条需求的一部分。旧的勾选式“引用需求已完成”只能表达完成/未完成,日报和后续分析无法知道本次完成了什么、还剩什么,也容易把部分完成误算成可提交成果。
**决策**
- VersionPlan 增加 `requirementCoverage[]`,每条引用需求记录 `not_started / partial / completed`、已完成内容、剩余内容、更新人和更新时间。
- 旧的 `completedRequirementIds` 继续保留用于兼容历史数据,但当同一需求存在 `requirementCoverage` 时,以新覆盖状态为准。
- 产品/UI 计划的成果提交门禁只认 `completed``partial` 只记录进度,不满足“关联需求全部覆盖”。
- 计划增加 `logs[]`,记录需求进度更新和 AI 拆解触发/完成/失败,右侧日志时间线消费该数据。
**理由**:覆盖状态是产品/UI 计划自身的业务事实,不应该用简单 checkbox 表达。显式记录“已完成/剩余”能支撑日报、复盘和需求完成质量分析,同时保留旧字段可避免历史数据迁移成本。
## 36. 小宝预警规则优先AI 只做解释
**问题**:如果直接让 AI 判断版本能否发版模型可能忽略系统内的任务、Bug、测试、日报和权限事实结论不可追溯如果只按风险等级触发 AI又会漏掉同等级内风险剧变例如 P1 Bug 从 0 到 3、测试失败、发版日只剩 1 天。