Aikodoc
SDD 能力底座

推进开发任务到 ready

让 AI 按 §1-§5 跑通你的开发包 —— 中间任何一步过不去都会被拦下

写完 PD / 架构 / 测试包之后,开发包要按一条流水线推进。Aiko Chat 不能跳步、不能假装"已完成"。

一句话流程

DoR → §1 实现 → §2 单测 → §3 写 E2E → §4 跑 E2E → §5 回填证据 → ready

每跑完一段,你 / Aiko Chat 用 advance-node.sh 推进节点。没跑到的段会被 Validator 拒绝

5 个阶段你具体在做什么

阶段tasks 段pipeline 节点你要做的测试层
DoRdor三包 validate 通过
§1 实现## §1 Implement capabilityimpl让 Aiko Chat 按 spec 写代码
§2 单测## §2 TDDtdd写单测覆盖 spec scenarioL1
§3 写 E2E## §3 Generate E2Ee2e_gen按 test-cases 生成 E2E 脚本
§4 跑 E2E## §4 Run E2Ee2e_run本 group 全部 L2 用例 passL2
§5 证据## §5 Evidenceevidence截图 + 报告写入 test-evidence.mdL4
readyreadypre-archive 校验,可归档

DoR 清单:开始写代码前必须满足

feature/* 分支拉出来写代码之前,这 4 条全过才能 advance 到 impl

#条件在哪个文件
1acceptance 可测(每条 ACC 都有 Given/When/Then)PD acceptance.md
2每条 ACC 至少 1 条 TC 覆盖Test test-cases.md
3tasks.md 里 ACC ↔ TC ↔ §3/§4 映射齐全Dev tasks.md
4同 group 三包能 bundle resolve三包 references

没满足 → dor 节点过不去。

怎么操作(命令速查)

# 第一步:初始化 pipeline
./scripts/pipeline/init-pipeline.sh --change add-coupon-discount --demo coupon

# 然后按顺序推进(每一段 Aiko Chat 跑完后你确认)
./scripts/pipeline/advance-node.sh --change add-coupon-discount --to impl
./scripts/pipeline/advance-node.sh --change add-coupon-discount --to tdd
./scripts/pipeline/advance-node.sh --change add-coupon-discount --to e2e_gen
./scripts/pipeline/advance-node.sh --change add-coupon-discount --to e2e_run
./scripts/pipeline/advance-node.sh --change add-coupon-discount --to evidence
./scripts/pipeline/advance-node.sh --change add-coupon-discount --to ready

# 任意时刻校验 tasks 与节点是否一致
./scripts/pipeline/check-pipeline-gate.sh --change add-coupon-discount --min-node e2e_run

让 Aiko Chat 全自动跑

不想手动 advance?调 /aiko-apply-dev <feature>

> /aiko-apply-dev add-coupon-discount

[pipeline: impl] 实现 DiscountEngine.calculate()...
 src/discount/engine.ts (+128 lines)
 src/discount/cache.ts (+47 lines)

[pipeline: tdd] 写单测...
 tests/unit/engine.test.ts (12 cases passed)

[pipeline: e2e_gen] 按 TC-007 / TC-008 写 E2E 脚本...
 tests/e2e/coupon_basic.spec.ts
 tests/e2e/coupon_stack.spec.ts

[pipeline: e2e_run] 跑 L2 全量...
 14/14 passed

[pipeline: evidence] 回填 test-evidence.md...
 截图 / 报告 / 链接已记录

[pipeline: ready] pre-archive 校验通过 ✓

中途任何一步失败它会停下来等你修。

哪一步失败是什么意思

Aiko Chat 卡在多半是你该做
implspec 写得不够具体补 spec Scenario
tdd实现有 bug 单测没过修代码或改单测
e2e_gentest-cases 缺关键字段补 test-cases TC-*
e2e_runL2 用例真的没过修代码(不要改用例
evidencetest-cases 引用的 ACC 不存在补 ACC 或修 TC.satisfies
readytasks 还有未勾选项补完所有 §1-§5 task

测试分四层在不同时机跑

防什么你什么时候关心
L1 单测单 API / 单规则你本地写代码时,§2 阶段
L2 本 change E2EACC 链路你的 feature 合 develop 之前,§4 阶段
L3 集成回归多 feature 合完后回归develop / release CI(你不用主动跑)
L4 正式证据release 签收release → main 之前

重点:feature → develop 合并必须 L2 全过;release → main 必须 L4 evidence 完整。

merge 分支挂的门禁

如果你的项目用默认 enterprise git path:

合并你需要保证
feature → developvalidate + L2 + CI E2E
develop → releasevalidate + bundle + L3
release → mainL4 evidence + pre-archive + archive

SaaS trunk 模式(feature → main 一步到位)会把 L2 + L3 都叠在合并前。看你项目的 gitPath 设置。

推进失败常见原因

报错:pipeline-gate.tasks_mismatch → tasks.md 里某段全部勾完了但你的 pipeline node 还在前一段。跑 advance-node 推进。

报错:pipeline-gate.node_skip → 你尝试从 impl 直接 advance 到 e2e_run。回到 tdd 跑完再来。

报错:pre-archive.tasks_incompleteready 节点要求 tasks 全勾完,还有 [ ] 没勾。

报错:pre-archive.evidence_missing → test-evidence.md 没填,或者引用了不存在的 TC。

归档:跑完 ready 之后

ready 节点通过后,你的 change 可以归档了。归档动作在 main 分支上做

# main 上
# 调 /openspec-bulk-archive-change Skill

它会:

  1. 把 delta spec merge 到 openspec/specs/
  2. 把整个 change 目录移到 openspec/changes/archive/
  3. 整 group 一起归(PD + 架构 + 测试 + 开发 四包)

关联

On this page