with one click
stdd-build
STDD Phase 4: TDD 实现 — 逐切片实现并通过测试
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
STDD Phase 4: TDD 实现 — 逐切片实现并通过测试
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
STDD Phase 5: 质量验证 — 运行测试、覆盖率、lint 等质量检查
STDD Phase 2: 规格设计 — 将 proposal 转化为可测试的 spec Scenario
STDD Phase 6: 交付 — 归档 change、合并 specs、更新文档
STDD Phase 3: 切片规划 — 将 spec 拆分为可实现的开发切片
STDD Phase 1: 需求理解与确认 — 将模糊需求转化为清晰、可验证的变更提案(proposal.md)
| name | stdd-build |
| description | STDD Phase 4: TDD 实现 — 逐切片实现并通过测试 |
按切片逐一执行 RED → GREEN → REFACTOR,完成所有实现代码和测试代码。
.stdd.yaml 中 phases.slice.status == "completed"自动迭代,行为取决于所选模式:
进入本阶段时,先读取 .stdd.yaml 中的 long_range.mode 确定当前模式。
长程退出检测:在每个切片开始前,检查用户最新消息是否包含"切换普通模式"或"退出长程"。如检测到,更新 .stdd.yaml 中 long_range.mode: normal,当前切片完成后暂停等待用户确认,后续切片按普通模式交互。
long_range.mode == "full_auto" 时适用)长程模式 ≠ 可以跳过流程步骤。 Long-range mode skips authorization interactions, NOT process steps.
以下规则不可违反。违反任一条 = 流程失败 / The following rules CANNOT be violated:
| # | 中文 | English |
|---|---|---|
| 1 | 每个 Step 必须执行 — 长程模式跳过的是授权交互(AskUserQuestion),不是流程步骤 | EVERY Step MUST be executed — long-range skips authorization (AskUserQuestion), NOT process steps |
| 2 | Step 1.4 切片验证不可跳过 — 每个切片必须通过 TC 覆盖 + 产出物核对 + 测试通过三项检查 | Step 1.4 slice verification CANNOT be skipped — every slice MUST pass TC coverage + deliverable check + test pass |
| 3 | 每个切片必须有新增测试 — 如果 test-plan 中本切片有 TC,新增测试数必须 > 0 | EVERY slice MUST have new tests — if test-plan has TCs for this slice, new test count MUST be > 0 |
| 4 | 进度标记必须有证据 — .stdd.yaml 的 slice done 必须关联 tc_coverage / new_tests / verified_at | Progress markers MUST be evidence-backed — slice done requires tc_coverage / new_tests / verified_at |
| 5 | 降级触发覆盖静默失败 — 切片 TC 覆盖率为 0 → WARNING;连续 3 个切片无新增测试 → DEGRADE | Degradation covers silent failures — 0 TC coverage → WARNING; 3 consecutive slices with 0 new tests → DEGRADE |
| 6 | 禁止占位符标记完成 — 产出物为 [TODO] 或骨架占位符的切片不能标记为 done | NEVER mark placeholders as done — slices with [TODO] output CANNOT be marked complete |
在开始本阶段之前,检查当前会话的上下文状态。本步骤不可跳过。
估算上下文长度:
判断是否需要重置:
如果建议重置:
stdd state --resume 结果如果选择继续(或不满足重置条件):
上下文预算检查是软建议,不阻断流程。仅做提示。
在开始编码之前,必须先读取开发规范:
.stdd/config.d/project.yaml → 获取 project.language.stdd/standards/<language>.md(如 python.md)在开始编写代码之前,从项目经验库加载与当前变更相关的经验,预防已知失败模式:
python bin/stdd experience list --language <project.language> --format jsonlifecycle_state 为 verified 或 settled 的经验(已充分验证的经验更可靠)project_type 过滤经验:
project_type: null(通配,V2.4 兼容)的经验 → 加载project_type 不匹配的经验 → 跳过已加载 <N> 条匹配经验(<project_type>),过滤 <M> 条不匹配.stdd/config.d/experience.yaml 的 auto_load.max_experiences 读取)经验库加载: <N> 条匹配经验已注入上下文对 slices.md 中的每个切片(或 tasks.md 中的每个任务):
test-plan.md 中找到本切片对应的 TC 案例test_<被测方法>_<场景>_<预期结果>本步骤不可跳过。长程模式下也必须执行。
在进入下一个切片之前,必须逐项验证本切片的完成情况:
TC 覆盖检查:
test-plan.md,获取本切片对应的所有 TC-IDtests/ 目录,确认每个 TC-ID 是否在测试函数注释中出现产出物核对:
slices.md 中本切片的"实现目标"列测试运行:
pytest tests/ -k "<slice_test_pattern>" -v更新状态(仅在全部通过后):
# .stdd.yaml
phase4:
slices_completed:
"<N>":
status: "done"
tc_coverage: "<M>/<K>"
new_tests: <M>
verified_at: "<timestamp>"
不通过处理:
执行条件:slices.md 中存在 parallel_group 标记,且本组所有切片已完成 Step 1.4 验证。
git diff --check 检查合并冲突非并行模式(单切片顺序执行)跳过此步骤。
每个切片完成(含 Step 1.4 验证通过)后:
此步骤确保后续 session 恢复时,Agent 可精确知道每个切片的完成状态。
如果在实现过程中发现 spec/design 需要调整:
小的偏离(不改变接口和行为语义):
pending-adjustments.md大的偏离(改变接口或行为语义):
普通模式:
pending-adjustments.md━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
STDD Phase 4: BUILD — 设计偏离
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 实现过程中发现需要调整设计:
原始设计:<引用 design.md 或 spec.md 的原文>
实际需要:<描述需要的调整>
原因:<为什么需要调整>
这个调整影响较大,需要你确认。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
长程模式:
pending-adjustments.md,包含:原始设计引用、实际调整内容、调整原因、影响范围design-adjustments.md 中汇总技术阻塞:
普通模式:
长程模式:
workaround:尝试绕过方案,记录到 pending-adjustments.mdskip_slice:标记当前切片为待处理,跳过继续后续切片每个切片完成后:
[x]long_range.mode == "full_auto"):立即在同一轮次内自动调用 stdd-verify skill,不等待用户输入pending-adjustments.md(如有设计偏离)每个切片完成后确认:
| 场景 | 普通模式 | 长程模式 |
|---|---|---|
| 切片正常执行 | 自动完成,不中断 | 自动完成,不中断 |
| 切片之间切换 | 自动进入下一个切片 | 自动进入下一个切片 |
| 小设计偏离 | 记录 pending-adjustments,继续 | 记录 pending-adjustments,继续 |
| 大设计偏离 | 暂停,报告用户 | 自动记录并继续(test-report 汇总) |
| 技术阻塞 | 暂停,询问用户 | 尝试绕过/跳过;无法处理时降级暂停 |
| 所有切片完成 | 自动进入 Phase 5 | 自动进入 Phase 5 |
当 slices.md 中存在标记为 parallel_group: N 的切片时,可采用并行执行策略:
slices.md,检查是否有切片标记了 parallel_groupparallel_group 的切片可同时派发给多个子 agent若无 delegation 能力或并行派发失败:
slices.md 的依赖拓扑顺序串行执行并行执行完成后:
并行执行完成: <N> 个切片,<M> 个冲突已合并Phase 4 完成 → 自动进入 Phase 5: VERIFY(质量验证)