|
1 | | -# Specification Quality Checklist: 子任务槽位控制 |
| 1 | +# Specification Quality Checklist(规格质量检查清单): 子任务槽位控制 |
2 | 2 |
|
3 | | -**Purpose**: Validate specification completeness and quality before proceeding to planning |
4 | | -**Created**: 2026-05-14 |
5 | | -**Feature**: [spec.md](../spec.md) |
| 3 | +**Purpose(目的)**: 在进入 plan(计划) 前检查规格是否完整, 可测试, 并且与运行时语义边界一致. |
| 4 | +**Created(创建日期)**: 2026-05-14 |
| 5 | +**Updated(更新日期)**: 2026-05-15 |
| 6 | +**Feature(功能规格)**: [spec.md](../spec.md) |
6 | 7 |
|
7 | | -## Content Quality |
| 8 | +## Content Quality(内容质量) |
8 | 9 |
|
9 | | -- [X] No implementation details (languages, frameworks, APIs) |
10 | | -- [X] Focused on user value and business needs |
11 | | -- [X] Written for non-technical stakeholders |
12 | | -- [X] All mandatory sections completed |
| 10 | +- [X] 本功能规格为技术向文档: 允许使用 `runtime(运行时)`, `child slot(子任务槽位)`, `CancellationToken(取消令牌)`, `join_handle(任务句柄)`, `heartbeat(心跳)`, `ready_state(就绪状态)` 和 `restart_budget(重启预算)` 等实现向术语, 因为本功能直接修正控制命令与真实任务生命周期之间的语义边界. |
| 11 | +- [X] 规格以操作者和库调用者可验证的槽位事实为中心, 包括活动尝试, 取消送达, 等待结果, 幂等结果, 心跳, 就绪状态和重启预算余量. |
| 12 | +- [X] 主要读者是维护者和实现者, 可以与后续 `plan.md`, `data-model.md`, `contracts/` 和 `tasks.md` 交叉阅读, 不要求非技术干系人单独读懂所有运行时细节. |
| 13 | +- [X] 所有必填章节已经完成, 并且每个用户故事都能映射到可执行的测试场景. |
13 | 14 |
|
14 | | -## Requirement Completeness |
| 15 | +## Requirement Completeness(需求完整性) |
15 | 16 |
|
16 | 17 | - [X] No [NEEDS CLARIFICATION] markers remain |
17 | | -- [X] Requirements are testable and unambiguous |
18 | | -- [X] Success criteria are measurable |
19 | | -- [X] Success criteria are technology-agnostic (no implementation details) |
20 | | -- [X] All acceptance scenarios are defined |
21 | | -- [X] Edge cases are identified |
22 | | -- [X] Scope is clearly bounded |
23 | | -- [X] Dependencies and assumptions identified |
| 18 | +- [X] 功能需求可测试且边界清楚, 每条需求都说明了 child slot(子任务槽位), 停止类控制命令或控制结果的真实行为. |
| 19 | +- [X] 成功标准可度量, 并且能够通过状态读取, 控制命令结果和运行时测试验证. |
| 20 | +- [X] 成功标准允许引用运行时字段和控制命令行为, 因为本功能的验收对象就是真实槽位状态, 不是抽象业务流程. |
| 21 | +- [X] 所有验收场景已经定义, 覆盖状态读取, 停止真实任务, 幂等返回和失败原因. |
| 22 | +- [X] 边界情况已经列出, 覆盖未收到心跳, 心跳后立即退出, 自动重启推进代际, 重启预算耗尽, 就绪状态缺失和控制命令并发. |
| 23 | +- [X] 范围边界清楚, 本功能不新增动态子任务声明格式, 不改变 supervision strategy(监督策略) 的重启决策算法. |
| 24 | +- [X] 依赖与假设已经写明, 本功能依赖 `004-2-real-shutdown-pipeline` 的取消和等待语义. |
24 | 25 |
|
25 | | -## Feature Readiness |
| 26 | +## Feature Readiness(功能就绪度) |
26 | 27 |
|
27 | | -- [X] All functional requirements have clear acceptance criteria |
28 | | -- [X] User scenarios cover primary flows |
29 | | -- [X] Feature meets measurable outcomes defined in Success Criteria |
30 | | -- [X] No implementation details leak into specification |
| 28 | +- [X] 每条 functional requirement(功能需求) 都有对应的用户故事, 验收场景和 measurable outcome(可衡量结果). |
| 29 | +- [X] 用户场景覆盖三条主路径: 读取真实槽位状态, 停止真实活动任务, 让控制结果反映槽位事实. |
| 30 | +- [X] 成功标准与规格正文一致, 不再声称本规格是 technology-agnostic(技术无关) 或面向 non-technical stakeholders(非技术干系人). |
| 31 | +- [X] 实现向术语只用于定义运行时事实和控制命令边界, 没有绑定新增 crate(库), 外部服务, 数据库或部署方式. |
31 | 32 |
|
32 | 33 | ## Notes |
33 | 34 |
|
34 | | -- Validation passed in iteration 1. The specification names runtime state concepts because the feature corrects control command semantics. |
| 35 | +- 2026-05-15 修订: 原检查清单错误沿用了通用非技术模板, 与当前技术向运行时规格发生冲突. 本次已改为运行时语义检查口径. |
| 36 | +- `generation(代际)`, `attempt(尝试)`, `cancellation_token(取消令牌)`, `join_handle(任务句柄)`, `last_heartbeat(最后心跳)`, `ready_state(就绪状态)` 和 `restart_budget(重启预算)` 是本功能必须表达的槽位事实, 不是需要隐藏的实现泄漏. |
| 37 | +- 后续 `/speckit-plan` 必须以 `004-2-real-shutdown-pipeline` 已交付的取消和等待语义为基础, 不另起一套关闭路径. |
0 commit comments