Skip to content

Commit fd59adb

Browse files
developerworkscursoragent
andcommitted
Specify child slot control runtime semantics
- Rewrite the spec to bind PauseChild/RemoveChild/QuarantineChild to the real child slot fields and active attempt - Refresh the requirements checklist to runtime-flavored quality criteria - Switch active feature directory to specs/004-3-child-slot-control Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 14fa41f commit fd59adb

3 files changed

Lines changed: 77 additions & 66 deletions

File tree

.specify/feature.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"feature_directory": "specs/004-2-real-shutdown-pipeline",
3-
"active_feature_directory": "specs/004-2-real-shutdown-pipeline",
2+
"feature_directory": "specs/004-3-child-slot-control",
3+
"active_feature_directory": "specs/004-3-child-slot-control",
44
"feature_directories": [
55
"specs/004-1-runtime-lifecycle-guard",
66
"specs/004-2-real-shutdown-pipeline",
Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,37 @@
1-
# Specification Quality Checklist: 子任务槽位控制
1+
# Specification Quality Checklist(规格质量检查清单): 子任务槽位控制
22

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)
67

7-
## Content Quality
8+
## Content Quality(内容质量)
89

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] 所有必填章节已经完成, 并且每个用户故事都能映射到可执行的测试场景.
1314

14-
## Requirement Completeness
15+
## Requirement Completeness(需求完整性)
1516

1617
- [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` 的取消和等待语义.
2425

25-
## Feature Readiness
26+
## Feature Readiness(功能就绪度)
2627

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(库), 外部服务, 数据库或部署方式.
3132

3233
## Notes
3334

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

Comments
 (0)