cc-devflow 4.3.0 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +64 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
  3. package/.claude/skills/cc-act/SKILL.md +322 -0
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +64 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +25 -0
  6. package/.claude/skills/cc-act/references/closure-contract.md +49 -0
  7. package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
  8. package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +240 -0
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
  11. package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +195 -0
  13. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +315 -0
  14. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
  15. package/.claude/skills/cc-check/CHANGELOG.md +73 -0
  16. package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
  17. package/.claude/skills/cc-check/SKILL.md +345 -0
  18. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +50 -0
  19. package/.claude/skills/cc-check/references/gate-contract.md +29 -0
  20. package/.claude/skills/cc-check/references/review-contract.md +45 -0
  21. package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
  22. package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
  23. package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
  24. package/.claude/skills/cc-do/CHANGELOG.md +49 -0
  25. package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
  26. package/.claude/skills/cc-do/SKILL.md +216 -0
  27. package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
  28. package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
  29. package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
  30. package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
  31. package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
  32. package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
  33. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
  34. package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
  35. package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
  36. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
  37. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
  38. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
  39. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
  40. package/.claude/skills/cc-investigate/CHANGELOG.md +26 -0
  41. package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
  42. package/.claude/skills/cc-investigate/SKILL.md +221 -0
  43. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +55 -0
  44. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +52 -0
  45. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +103 -0
  46. package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
  47. package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
  48. package/.claude/skills/cc-plan/CHANGELOG.md +99 -0
  49. package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
  50. package/.claude/skills/cc-plan/SKILL.md +325 -0
  51. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +155 -0
  52. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +98 -0
  53. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +108 -0
  54. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +79 -0
  55. package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
  56. package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
  57. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
  58. package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
  59. package/.claude/skills/cc-roadmap/CHANGELOG.md +114 -0
  60. package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
  61. package/.claude/skills/cc-roadmap/SKILL.md +259 -0
  62. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +45 -0
  63. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +153 -0
  64. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +48 -0
  65. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
  66. package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
  67. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
  68. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
  69. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
  70. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
  71. package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
  72. package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
  73. package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
  74. package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
  75. package/.claude/skills/cc-simplify/SKILL.md +55 -0
  76. package/.claude/skills/cc-spec-init/CHANGELOG.md +7 -0
  77. package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
  78. package/.claude/skills/cc-spec-init/SKILL.md +127 -0
  79. package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +63 -0
  80. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +25 -0
  81. package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +34 -0
  82. package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
  83. package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
  84. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
  85. package/CHANGELOG.md +61 -4
  86. package/README.md +120 -756
  87. package/README.zh-CN.md +119 -756
  88. package/bin/adapt.js +2 -6
  89. package/bin/cc-devflow-cli.js +72 -177
  90. package/config/distributable-skills.json +24 -0
  91. package/docs/CLAUDE.md +10 -6
  92. package/docs/commands/README.md +19 -46
  93. package/docs/commands/README.zh-CN.md +25 -48
  94. package/docs/examples/BY-ARTIFACT.md +7 -0
  95. package/docs/examples/README.md +38 -0
  96. package/docs/examples/START-HERE.md +149 -0
  97. package/docs/examples/example-bindings.json +38 -0
  98. package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
  99. package/docs/examples/full-design-blocked/README.md +55 -0
  100. package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
  101. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
  102. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
  103. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
  104. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
  105. package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
  106. package/docs/examples/local-handoff/BACKLOG.md +45 -0
  107. package/docs/examples/local-handoff/README.md +56 -0
  108. package/docs/examples/local-handoff/ROADMAP.md +45 -0
  109. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
  110. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
  111. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
  112. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
  113. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
  114. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
  115. package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
  116. package/docs/examples/pdca-loop/BACKLOG.md +46 -0
  117. package/docs/examples/pdca-loop/README.md +58 -0
  118. package/docs/examples/pdca-loop/ROADMAP.md +133 -0
  119. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
  120. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
  121. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
  122. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
  123. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
  125. package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
  126. package/docs/examples/scripts/check-example-bindings.sh +116 -0
  127. package/docs/guides/getting-started.md +94 -129
  128. package/docs/guides/getting-started.zh-CN.md +103 -84
  129. package/docs/skill-runtime-migration.md +46 -0
  130. package/docs/v4.3.0-migration-guide.md +60 -225
  131. package/lib/compiler/CLAUDE.md +55 -84
  132. package/lib/compiler/__tests__/drift.test.js +1 -1
  133. package/lib/compiler/__tests__/errors.test.js +0 -1
  134. package/lib/compiler/__tests__/integration.test.js +49 -3
  135. package/lib/compiler/__tests__/manifest.test.js +0 -156
  136. package/lib/compiler/__tests__/parser.test.js +33 -104
  137. package/lib/compiler/__tests__/schemas.test.js +30 -34
  138. package/lib/compiler/__tests__/skills-registry.test.js +114 -0
  139. package/lib/compiler/__tests__/transformer.test.js +5 -9
  140. package/lib/compiler/emitters/antigravity-emitter.js +5 -213
  141. package/lib/compiler/emitters/base-emitter.js +3 -298
  142. package/lib/compiler/emitters/codex-emitter.js +4 -202
  143. package/lib/compiler/emitters/cursor-emitter.js +3 -287
  144. package/lib/compiler/emitters/qwen-emitter.js +4 -176
  145. package/lib/compiler/index.js +65 -345
  146. package/lib/compiler/manifest.js +6 -68
  147. package/lib/compiler/parser.js +31 -63
  148. package/lib/compiler/platforms.js +32 -277
  149. package/lib/compiler/resource-copier.js +176 -6
  150. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
  151. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
  152. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
  153. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
  154. package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
  155. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
  156. package/lib/compiler/rules-emitters/index.js +6 -3
  157. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
  158. package/lib/compiler/schemas.js +8 -4
  159. package/lib/compiler/skills-registry.js +213 -15
  160. package/lib/compiler/transformer.js +1 -1
  161. package/lib/skill-runtime/CLAUDE.md +19 -0
  162. package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
  163. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +181 -0
  164. package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
  165. package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
  166. package/lib/skill-runtime/__tests__/intent.test.js +219 -0
  167. package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
  168. package/lib/skill-runtime/__tests__/paths.test.js +42 -0
  169. package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
  170. package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
  171. package/lib/skill-runtime/__tests__/query.test.js +284 -0
  172. package/lib/skill-runtime/__tests__/runtime.integration.test.js +279 -0
  173. package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
  174. package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
  175. package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
  176. package/lib/skill-runtime/__tests__/worker.test.js +56 -0
  177. package/lib/skill-runtime/artifacts.js +93 -0
  178. package/lib/skill-runtime/delegation.js +533 -0
  179. package/lib/skill-runtime/index.js +34 -0
  180. package/lib/skill-runtime/intent.js +333 -0
  181. package/lib/skill-runtime/lifecycle.js +294 -0
  182. package/lib/skill-runtime/operations/CLAUDE.md +19 -0
  183. package/lib/skill-runtime/operations/approve.js +66 -0
  184. package/lib/skill-runtime/operations/autopilot-core.js +337 -0
  185. package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
  186. package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
  187. package/lib/skill-runtime/operations/autopilot.js +163 -0
  188. package/lib/skill-runtime/operations/dispatch.js +454 -0
  189. package/lib/skill-runtime/operations/init.js +64 -0
  190. package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
  191. package/lib/skill-runtime/operations/plan.js +59 -0
  192. package/lib/skill-runtime/operations/prepare-pr.js +25 -0
  193. package/lib/skill-runtime/operations/release.js +96 -0
  194. package/lib/skill-runtime/operations/resume.js +143 -0
  195. package/lib/skill-runtime/operations/snapshot.js +45 -0
  196. package/lib/skill-runtime/operations/verify.js +170 -0
  197. package/lib/skill-runtime/operations/worker-run.js +529 -0
  198. package/lib/skill-runtime/operations/worker.js +33 -0
  199. package/lib/skill-runtime/paths.js +213 -0
  200. package/lib/skill-runtime/planner.js +519 -0
  201. package/lib/skill-runtime/query.js +157 -0
  202. package/lib/skill-runtime/review.js +557 -0
  203. package/lib/skill-runtime/schemas.js +400 -0
  204. package/lib/{harness → skill-runtime}/store.js +45 -30
  205. package/lib/skill-runtime/team-state.js +122 -0
  206. package/package.json +13 -11
  207. package/.claude/CLAUDE.md +0 -125
  208. package/.claude/agents/architecture-designer.md +0 -443
  209. package/.claude/agents/bug-analyzer.md +0 -381
  210. package/.claude/agents/checklist-agent.md +0 -175
  211. package/.claude/agents/clarify-analyst.md +0 -50
  212. package/.claude/agents/code-quality-reviewer.md +0 -205
  213. package/.claude/agents/code-reviewer.md +0 -71
  214. package/.claude/agents/codex-analyzer.md +0 -39
  215. package/.claude/agents/compatibility-checker.md +0 -579
  216. package/.claude/agents/consistency-checker.md +0 -532
  217. package/.claude/agents/dev-implementer.md +0 -195
  218. package/.claude/agents/flow-researcher.md +0 -132
  219. package/.claude/agents/impact-analyzer.md +0 -440
  220. package/.claude/agents/planner.md +0 -230
  221. package/.claude/agents/prd-writer.md +0 -320
  222. package/.claude/agents/project-guidelines-generator.md +0 -1329
  223. package/.claude/agents/qa-tester.md +0 -313
  224. package/.claude/agents/release-manager.md +0 -295
  225. package/.claude/agents/security-reviewer.md +0 -314
  226. package/.claude/agents/spec-reviewer.md +0 -221
  227. package/.claude/agents/style-guide-generator.md +0 -458
  228. package/.claude/agents/tech-architect.md +0 -516
  229. package/.claude/agents/ui-designer.md +0 -485
  230. package/.claude/commands/core/architecture.md +0 -459
  231. package/.claude/commands/core/guidelines.md +0 -511
  232. package/.claude/commands/core/roadmap.md +0 -468
  233. package/.claude/commands/core/style.md +0 -83
  234. package/.claude/commands/flow/CLAUDE.md +0 -24
  235. package/.claude/commands/flow/archive.md +0 -280
  236. package/.claude/commands/flow/constitution.md +0 -82
  237. package/.claude/commands/flow/context.md +0 -150
  238. package/.claude/commands/flow/delta.md +0 -245
  239. package/.claude/commands/flow/dev.md +0 -40
  240. package/.claude/commands/flow/fix.md +0 -217
  241. package/.claude/commands/flow/ideate.md +0 -214
  242. package/.claude/commands/flow/init.md +0 -38
  243. package/.claude/commands/flow/release.md +0 -36
  244. package/.claude/commands/flow/restart.md +0 -97
  245. package/.claude/commands/flow/spec.md +0 -36
  246. package/.claude/commands/flow/status.md +0 -64
  247. package/.claude/commands/flow/update.md +0 -111
  248. package/.claude/commands/flow/upgrade.md +0 -115
  249. package/.claude/commands/flow/verify.md +0 -37
  250. package/.claude/commands/flow/workspace.md +0 -155
  251. package/.claude/commands/util/cancel-ralph.md +0 -60
  252. package/.claude/commands/util/code-review.md +0 -58
  253. package/.claude/commands/util/git-commit.md +0 -422
  254. package/.claude/commands/util/problem-analyzer.md +0 -60
  255. package/.claude/config/quality-gates.yml +0 -305
  256. package/.claude/config/quality-rules.yml +0 -161
  257. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
  258. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
  259. package/.claude/docs/design/intent-driven-input-design.md +0 -380
  260. package/.claude/docs/design/prd-version-management-design.md +0 -437
  261. package/.claude/docs/examples/design-inspiration-pool.md +0 -59
  262. package/.claude/docs/examples/ui-prototype-constitution-checklist.md +0 -75
  263. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
  264. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  265. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  266. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  267. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  268. package/.claude/docs/implementation-summary-v7.md +0 -449
  269. package/.claude/docs/spec-format-guide.md +0 -349
  270. package/.claude/docs/state-consolidation-design.md +0 -323
  271. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -332
  272. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  273. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  274. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  275. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  276. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  277. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  278. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  279. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  280. package/.claude/docs/templates/DESIGN_TEMPLATE.md +0 -157
  281. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  282. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  283. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  284. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  285. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  286. package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +0 -91
  287. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  288. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  289. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  290. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  291. package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +0 -139
  292. package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +0 -93
  293. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -479
  294. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -373
  295. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  296. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  297. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  298. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  299. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  300. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  301. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  302. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  303. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  304. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  305. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  306. package/.claude/guides/project-guidelines-system.md +0 -463
  307. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  308. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  309. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  310. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  311. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  312. package/.claude/hooks/CLAUDE.md +0 -342
  313. package/.claude/hooks/checklist-gate.js +0 -397
  314. package/.claude/hooks/error-handling-reminder.sh +0 -12
  315. package/.claude/hooks/error-handling-reminder.ts +0 -459
  316. package/.claude/hooks/hooks.json +0 -15
  317. package/.claude/hooks/inject-agent-context.ts +0 -480
  318. package/.claude/hooks/inject-skill-context.ts +0 -359
  319. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  320. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  321. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  322. package/.claude/hooks/ralph-loop.ts +0 -931
  323. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  324. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  325. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  326. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  327. package/.claude/hooks/task-completed-hook.ts +0 -593
  328. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  329. package/.claude/hooks/types/team-types.d.ts +0 -238
  330. package/.claude/rules/devflow-conventions.md +0 -286
  331. package/.claude/rules/project-constitution.md +0 -1002
  332. package/.claude/rules/rationalization-library.md +0 -282
  333. package/.claude/schemas/constitution.schema.json +0 -43
  334. package/.claude/scripts/.claude/commands/flow/export-openspec.md +0 -221
  335. package/.claude/scripts/.claude/commands/flow/import-openspec.md +0 -171
  336. package/.claude/scripts/CLAUDE.md +0 -76
  337. package/.claude/scripts/__tests__/openspec.test.js +0 -212
  338. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  339. package/.claude/scripts/archive-requirement.sh +0 -394
  340. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  341. package/.claude/scripts/calculate-quarter.sh +0 -206
  342. package/.claude/scripts/check-dependencies.sh +0 -409
  343. package/.claude/scripts/check-prerequisites.sh +0 -232
  344. package/.claude/scripts/check-task-status.sh +0 -288
  345. package/.claude/scripts/checklist-errors.sh +0 -131
  346. package/.claude/scripts/common.sh +0 -1102
  347. package/.claude/scripts/consolidate-research.sh +0 -182
  348. package/.claude/scripts/create-requirement.sh +0 -451
  349. package/.claude/scripts/delta-parser.ts +0 -637
  350. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  351. package/.claude/scripts/export-contracts.sh +0 -117
  352. package/.claude/scripts/export-openspec.js +0 -222
  353. package/.claude/scripts/extract-data-model.sh +0 -78
  354. package/.claude/scripts/flow-context-add.sh +0 -134
  355. package/.claude/scripts/flow-context-init.sh +0 -133
  356. package/.claude/scripts/flow-context-validate.sh +0 -144
  357. package/.claude/scripts/flow-delta-apply.sh +0 -297
  358. package/.claude/scripts/flow-delta-archive.sh +0 -71
  359. package/.claude/scripts/flow-delta-create.sh +0 -202
  360. package/.claude/scripts/flow-delta-list.sh +0 -142
  361. package/.claude/scripts/flow-delta-status.sh +0 -235
  362. package/.claude/scripts/flow-quality-full.sh +0 -215
  363. package/.claude/scripts/flow-quality-quick.sh +0 -119
  364. package/.claude/scripts/flow-workspace-init.sh +0 -117
  365. package/.claude/scripts/flow-workspace-record.sh +0 -164
  366. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  367. package/.claude/scripts/generate-clarification-report.sh +0 -463
  368. package/.claude/scripts/generate-quickstart.sh +0 -146
  369. package/.claude/scripts/generate-research-tasks.sh +0 -157
  370. package/.claude/scripts/generate-status-report.sh +0 -523
  371. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  372. package/.claude/scripts/get-workflow-status.sh +0 -415
  373. package/.claude/scripts/import-openspec.js +0 -272
  374. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  375. package/.claude/scripts/manage-constitution.sh +0 -602
  376. package/.claude/scripts/mark-task-complete.sh +0 -198
  377. package/.claude/scripts/parse-task-dependencies.js +0 -334
  378. package/.claude/scripts/populate-research-tasks.sh +0 -284
  379. package/.claude/scripts/record-quality-error.sh +0 -165
  380. package/.claude/scripts/recover-workflow.sh +0 -463
  381. package/.claude/scripts/run-clarify-scan.sh +0 -601
  382. package/.claude/scripts/run-high-review.sh +0 -62
  383. package/.claude/scripts/run-problem-analysis.sh +0 -68
  384. package/.claude/scripts/run-quality-gates.sh +0 -242
  385. package/.claude/scripts/setup-epic.sh +0 -173
  386. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  387. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  388. package/.claude/scripts/sync-task-marks.sh +0 -199
  389. package/.claude/scripts/team-dev-init.sh +0 -319
  390. package/.claude/scripts/team-state-recovery.sh +0 -229
  391. package/.claude/scripts/test-clarify-scan.sh +0 -515
  392. package/.claude/scripts/update-agent-context.sh +0 -806
  393. package/.claude/scripts/validate-constitution.sh +0 -567
  394. package/.claude/scripts/validate-hooks.sh +0 -487
  395. package/.claude/scripts/validate-research.sh +0 -332
  396. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  397. package/.claude/scripts/validate-scope.sh +0 -200
  398. package/.claude/scripts/verify-gate.sh +0 -269
  399. package/.claude/scripts/verify-setup.sh +0 -37
  400. package/.claude/scripts/workflow-status.ts +0 -433
  401. package/.claude/settings.json +0 -95
  402. package/.claude/skills/_reference-implementations/README.md +0 -96
  403. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  404. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  405. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  406. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  408. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  409. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  410. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  411. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  412. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  413. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  414. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  415. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  416. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  417. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  418. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  419. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  420. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  421. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  422. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  423. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  424. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  425. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  426. package/.claude/skills/attention-refresh/SKILL.md +0 -170
  427. package/.claude/skills/brainstorming/SKILL.md +0 -161
  428. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  429. package/.claude/skills/constitution-guardian/SKILL.md +0 -306
  430. package/.claude/skills/constitution-quick-ref/SKILL.md +0 -374
  431. package/.claude/skills/debugging/SKILL.md +0 -221
  432. package/.claude/skills/file-standards/SKILL.md +0 -353
  433. package/.claude/skills/finishing-branch/SKILL.md +0 -189
  434. package/.claude/skills/flow-dev/CLAUDE.md +0 -16
  435. package/.claude/skills/flow-dev/SKILL.md +0 -94
  436. package/.claude/skills/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  437. package/.claude/skills/flow-dev/context.jsonl +0 -4
  438. package/.claude/skills/flow-dev/dev-implementer.jsonl +0 -8
  439. package/.claude/skills/flow-dev/scripts/entry-gate.sh +0 -116
  440. package/.claude/skills/flow-dev/scripts/exit-gate.sh +0 -101
  441. package/.claude/skills/flow-dev/scripts/task-orchestrator.sh +0 -106
  442. package/.claude/skills/flow-fix/SKILL.md +0 -105
  443. package/.claude/skills/flow-fix/context.jsonl +0 -6
  444. package/.claude/skills/flow-fix/references/bug-analyzer.md +0 -381
  445. package/.claude/skills/flow-init/SKILL.md +0 -105
  446. package/.claude/skills/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  447. package/.claude/skills/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  448. package/.claude/skills/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  449. package/.claude/skills/flow-init/context.jsonl +0 -5
  450. package/.claude/skills/flow-init/references/flow-researcher.md +0 -132
  451. package/.claude/skills/flow-init/scripts/check-prerequisites.sh +0 -240
  452. package/.claude/skills/flow-init/scripts/consolidate-research.sh +0 -182
  453. package/.claude/skills/flow-init/scripts/create-requirement.sh +0 -404
  454. package/.claude/skills/flow-init/scripts/generate-research-tasks.sh +0 -157
  455. package/.claude/skills/flow-init/scripts/populate-research-tasks.sh +0 -284
  456. package/.claude/skills/flow-init/scripts/validate-research.sh +0 -340
  457. package/.claude/skills/flow-quality/SKILL.md +0 -98
  458. package/.claude/skills/flow-quality/context.jsonl +0 -6
  459. package/.claude/skills/flow-quality/references/code-quality-reviewer.md +0 -205
  460. package/.claude/skills/flow-quality/references/qa-tester.md +0 -313
  461. package/.claude/skills/flow-quality/references/security-reviewer.md +0 -314
  462. package/.claude/skills/flow-quality/references/spec-reviewer.md +0 -221
  463. package/.claude/skills/flow-release/SKILL.md +0 -60
  464. package/.claude/skills/flow-release/context.jsonl +0 -5
  465. package/.claude/skills/flow-release/references/release-manager.md +0 -295
  466. package/.claude/skills/flow-spec/CLAUDE.md +0 -17
  467. package/.claude/skills/flow-spec/SKILL.md +0 -102
  468. package/.claude/skills/flow-spec/context.jsonl +0 -5
  469. package/.claude/skills/flow-spec/scripts/entry-gate.sh +0 -194
  470. package/.claude/skills/flow-spec/scripts/exit-gate.sh +0 -244
  471. package/.claude/skills/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  472. package/.claude/skills/flow-spec/scripts/team-communication.sh +0 -353
  473. package/.claude/skills/flow-spec/scripts/team-init.sh +0 -195
  474. package/.claude/skills/flow-spec/scripts/test-team-mode.sh +0 -496
  475. package/.claude/skills/flow-spec/team-config.json +0 -165
  476. package/.claude/skills/flow-verify/CLAUDE.md +0 -10
  477. package/.claude/skills/flow-verify/SKILL.md +0 -53
  478. package/.claude/skills/flow-verify/context.jsonl +0 -5
  479. package/.claude/skills/fractal-docs/SKILL.md +0 -45
  480. package/.claude/skills/journey-checker/SKILL.md +0 -199
  481. package/.claude/skills/journey-checker/pressure-scenarios.md +0 -164
  482. package/.claude/skills/receiving-review/SKILL.md +0 -153
  483. package/.claude/skills/skill-creator/LICENSE.txt +0 -202
  484. package/.claude/skills/skill-creator/SKILL.md +0 -356
  485. package/.claude/skills/skill-creator/references/output-patterns.md +0 -82
  486. package/.claude/skills/skill-creator/references/workflows.md +0 -28
  487. package/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
  488. package/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
  489. package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -95
  490. package/.claude/skills/skill-rules.json +0 -359
  491. package/.claude/skills/tdd/SKILL.md +0 -218
  492. package/.claude/skills/tdd-enforcer/SKILL.md +0 -192
  493. package/.claude/skills/utility/npm-release/CLAUDE.md +0 -55
  494. package/.claude/skills/utility/npm-release/SKILL.md +0 -379
  495. package/.claude/skills/utility/npm-release/references/version-decision-guide.md +0 -134
  496. package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +0 -95
  497. package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +0 -82
  498. package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +0 -44
  499. package/.claude/skills/verification/SKILL.md +0 -158
  500. package/.claude/skills/workflow.yaml +0 -219
  501. package/.claude/tests/README.md +0 -300
  502. package/.claude/tests/TODO.md +0 -69
  503. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  504. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  505. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  506. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  507. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  508. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  509. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  510. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  511. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  512. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  513. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  514. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  515. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  516. package/.claude/tests/run-all-tests.sh +0 -229
  517. package/.claude/tests/scripts/run.sh +0 -30
  518. package/.claude/tests/scripts/test-framework.sh +0 -128
  519. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  520. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  521. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  522. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  523. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  524. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  525. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  526. package/.claude/tests/scripts/test_common.sh +0 -244
  527. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  528. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  529. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  530. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  531. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  532. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  533. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  534. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  535. package/.claude/tests/slugify.bats +0 -82
  536. package/.claude/tests/test-framework.sh +0 -732
  537. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  538. package/.claude/tests/test_consolidate_research.py +0 -48
  539. package/.claude/tests/test_export_contracts.py +0 -43
  540. package/.claude/tests/test_extract_data_model.py +0 -33
  541. package/.claude/tests/test_generate_quickstart.py +0 -50
  542. package/.claude/tests/test_generate_research_tasks.py +0 -52
  543. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +0 -1
  544. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +0 -2
  545. package/bin/harness.js +0 -22
  546. package/docs/commands/core-roadmap.md +0 -106
  547. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  548. package/docs/commands/core-style.md +0 -53
  549. package/docs/commands/core-style.zh-CN.md +0 -53
  550. package/docs/commands/flow-init.md +0 -140
  551. package/docs/commands/flow-init.zh-CN.md +0 -169
  552. package/docs/commands/flow-new.md +0 -39
  553. package/docs/commands/flow-new.zh-CN.md +0 -39
  554. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  555. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  556. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  557. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  558. package/lib/compiler/context-expander.js +0 -179
  559. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  560. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  561. package/lib/compiler/skill-discovery.js +0 -68
  562. package/lib/harness/CLAUDE.md +0 -22
  563. package/lib/harness/__tests__/planner.tdd.test.js +0 -125
  564. package/lib/harness/cli.js +0 -208
  565. package/lib/harness/index.js +0 -18
  566. package/lib/harness/operations/dispatch.js +0 -298
  567. package/lib/harness/operations/init.js +0 -48
  568. package/lib/harness/operations/pack.js +0 -100
  569. package/lib/harness/operations/plan.js +0 -83
  570. package/lib/harness/operations/release.js +0 -170
  571. package/lib/harness/operations/resume.js +0 -44
  572. package/lib/harness/operations/verify.js +0 -177
  573. package/lib/harness/planner.js +0 -272
  574. package/lib/harness/query.js +0 -126
  575. package/lib/harness/schemas.js +0 -129
@@ -0,0 +1,79 @@
1
+ # DESIGN
2
+
3
+ ## Document Meta
4
+
5
+ - Requirement version:
6
+ - Design version:
7
+ - CC-Plan skill version:
8
+ - Requirement ID:
9
+ - Design mode: `tiny-design`
10
+ - Why this stays `tiny-design`:
11
+ - Approval status: `draft` | `in-review` | `approved`
12
+ - Source roadmap item:
13
+ - Source roadmap version:
14
+ - Primary capability:
15
+ - Secondary capabilities:
16
+
17
+ ## Source Handoff
18
+
19
+ - Why now:
20
+ - Capability gap:
21
+ - Expected spec delta:
22
+ - Inherited success signal:
23
+ - Inherited kill signal:
24
+ - Inherited non-goals:
25
+ - Upstream evidence:
26
+
27
+ ## Capability Handoff
28
+
29
+ - Canonical capability spec:
30
+ - Current truth to preserve:
31
+ - Current gaps:
32
+ - Spec sync target:
33
+
34
+ ## Frozen Design Card
35
+
36
+ - Change:
37
+ - Keep out:
38
+ - Touched files:
39
+ - Contract changes:
40
+ - Invariant impact:
41
+ - Gap changes:
42
+ - Key decisions that `cc-do` must not re-decide:
43
+ - Upgrade trigger to `full-design`:
44
+
45
+ ## Validation
46
+
47
+ - First failing test:
48
+ - Green implementation check:
49
+ - Refactor checkpoint:
50
+ - TDD exceptions:
51
+ - Primary check:
52
+ - Secondary checks:
53
+ - Evidence to collect:
54
+
55
+ ## Main Risk
56
+
57
+ - Risk:
58
+ - Mitigation:
59
+
60
+ ## Review Gate
61
+
62
+ - Placeholder scan:
63
+ - Consistency scan:
64
+ - Scope scan:
65
+ - Ambiguity scan:
66
+ - Feasibility scan:
67
+ - Test-first readiness:
68
+ - Final recommendation:
69
+
70
+ ## Approval
71
+
72
+ - User approval status:
73
+ - Deferred questions:
74
+
75
+ ## First-Read Test
76
+
77
+ - 一眼能看出这次为什么够小
78
+ - 一眼能看出什么情况会逼它升级成 `full-design`
79
+ - `cc-do` 看完不会继续追问“那接口 / 边界到底怎么算”
@@ -0,0 +1,82 @@
1
+ # Planning Contract
2
+
3
+ ## Hard Rules
4
+
5
+ 1. `cc-plan` 默认只产出 4 个文件:`planning/design.md`、`planning/tasks.md`、`planning/task-manifest.json`、`change-meta.json`。
6
+ 2. clarification / brainstorm / review 结论必须并入 `planning/design.md`,不能再默认拆独立文档。
7
+ 3. 执行 handoff 必须写进 `planning/tasks.md` 顶部,不能依赖单独的 `context-package.md`。
8
+ 4. `planning/task-manifest.json` 必须和 `planning/tasks.md` 同步,且能告诉 `cc-do` 当前任务是谁。
9
+ 5. `planning/design.md`、`planning/tasks.md`、`planning/task-manifest.json` 必须记录来源版本链。
10
+ 6. 计划里出现 placeholder 词,就说明还没想清楚。
11
+ 7. 一次只推进一个澄清问题,不允许问题轰炸。
12
+ 8. 推荐方案没获批前,不允许继续拆执行任务。
13
+ 9. `planning/design.md` 通过 review gate 前,不允许宣称计划完成。
14
+ 10. 如果来自 `roadmap`,planning 不得悄悄丢掉 source constraints / non-goals / success signal。
15
+ 11. 每个计划必须先找 existing leverage,再决定新增实现;重复已有能力属于 planning 失败。
16
+ 12. 同 blast radius 内的完整边界默认纳入,defer 必须写入 `NOT in scope` 和原因。
17
+ 13. 如果推荐方案挑战用户原始方向,必须标成 `user challenge`,不能自动改写用户意图。
18
+ 14. 行为变更的具体任务默认采用测试先行;没有 Red/Green/Refactor 链或 TDD exception,不允许交给 `cc-do`。
19
+ 15. 新 change 目录必须是 `REQ-<number>-<description>` 或 `FIX-<number>-<description>`,不能用小写 `req-*` / `bug-*` 或纯描述目录。
20
+
21
+ ## Design Modes
22
+
23
+ - `tiny-design`:超小需求的冻结设计卡片,不是跳过设计。
24
+ - `full-design`:涉及跨模块、复杂数据流、迁移或高风险约束的完整设计。
25
+
26
+ 默认优先 `tiny-design`,但一旦需要解释复杂边界,就升级到 `full-design`。
27
+
28
+ ## Placeholder Ban
29
+
30
+ - TODO later
31
+ - implement later
32
+ - handle edge cases
33
+ - write tests later
34
+ - similar to task N
35
+ - TBD
36
+ - 待定
37
+ - 之后再补
38
+ - 后面再想
39
+
40
+ ## Task Fields
41
+
42
+ 每个任务至少写清:
43
+
44
+ - 目标
45
+ - TDD phase:`red` / `green` / `refactor` / `exception`
46
+ - 涉及文件
47
+ - 验证方式
48
+ - 完成证据
49
+
50
+ 行为变更任务必须先有 `[TEST]` 红灯任务,再有 `[IMPL]` 绿灯任务,最后有 `[REFACTOR]` 或明确 refactor checkpoint。纯文档、纯配置、纯生成文件、throwaway prototype 可以例外,但必须写明原因、风险和替代验证。
51
+
52
+ ## Review Gate
53
+
54
+ `planning/design.md` 至少完成:
55
+
56
+ 1. Placeholder scan
57
+ 2. Consistency scan
58
+ 3. Scope scan
59
+ 4. Ambiguity scan
60
+ 5. Feasibility scan
61
+ 6. Source alignment
62
+ 7. Existing leverage map
63
+ 8. Scope / complexity challenge
64
+ 9. Test diagram and failure modes
65
+ 10. NOT in scope
66
+ 11. Test-first readiness
67
+ 12. Final recommendation
68
+
69
+ 如有 UI scope,再补 design review 结论。
70
+ 如有 developer-facing scope,再补 DX review 结论。
71
+
72
+ ## Decision Log
73
+
74
+ 每个非平凡决策至少记录:
75
+
76
+ - decision
77
+ - classification:`mechanical` / `taste` / `user challenge`
78
+ - principle:completeness / pragmatic / DRY / explicit / action
79
+ - rationale
80
+ - rejected alternative
81
+
82
+ 机械选择可以自动落盘。taste decision 和 user challenge 必须在最终 gate 里显式出现。
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # cc-plan skill semver helper
7
+ # - bump SKILL.md frontmatter version
8
+ # - prepend CHANGELOG.md entry
9
+ # ------------------------------------------------------------
10
+
11
+ usage() {
12
+ cat <<'EOF'
13
+ Usage:
14
+ bump-skill-version.sh --type patch|minor|major --message "change summary" \
15
+ [--skill-file SKILL.md] [--changelog CHANGELOG.md] [--date YYYY-MM-DD]
16
+ EOF
17
+ }
18
+
19
+ TYPE=""
20
+ MESSAGE=""
21
+ SKILL_FILE="SKILL.md"
22
+ CHANGELOG_FILE="CHANGELOG.md"
23
+ DATE="$(date +%Y-%m-%d)"
24
+
25
+ while [[ $# -gt 0 ]]; do
26
+ case "$1" in
27
+ --type) TYPE="$2"; shift 2 ;;
28
+ --message) MESSAGE="$2"; shift 2 ;;
29
+ --skill-file) SKILL_FILE="$2"; shift 2 ;;
30
+ --changelog) CHANGELOG_FILE="$2"; shift 2 ;;
31
+ --date) DATE="$2"; shift 2 ;;
32
+ -h|--help) usage; exit 0 ;;
33
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
34
+ esac
35
+ done
36
+
37
+ if [[ -z "$TYPE" || -z "$MESSAGE" ]]; then
38
+ usage
39
+ exit 1
40
+ fi
41
+
42
+ if [[ ! -f "$SKILL_FILE" ]]; then
43
+ echo "Skill file not found: $SKILL_FILE" >&2
44
+ exit 1
45
+ fi
46
+
47
+ CURRENT_VERSION="$(awk '/^version: / { print $2; exit }' "$SKILL_FILE")"
48
+
49
+ if [[ -z "$CURRENT_VERSION" ]]; then
50
+ echo "No version field found in $SKILL_FILE" >&2
51
+ exit 1
52
+ fi
53
+
54
+ IFS='.' read -r MAJOR MINOR PATCH <<<"$CURRENT_VERSION"
55
+
56
+ case "$TYPE" in
57
+ patch)
58
+ PATCH=$((PATCH + 1))
59
+ ;;
60
+ minor)
61
+ MINOR=$((MINOR + 1))
62
+ PATCH=0
63
+ ;;
64
+ major)
65
+ MAJOR=$((MAJOR + 1))
66
+ MINOR=0
67
+ PATCH=0
68
+ ;;
69
+ *)
70
+ echo "Unsupported bump type: $TYPE" >&2
71
+ exit 1
72
+ ;;
73
+ esac
74
+
75
+ NEXT_VERSION="${MAJOR}.${MINOR}.${PATCH}"
76
+
77
+ TMP_SKILL="$(mktemp)"
78
+ awk -v next_version="$NEXT_VERSION" '
79
+ BEGIN { done = 0 }
80
+ {
81
+ if (!done && $0 ~ /^version: /) {
82
+ print "version: " next_version
83
+ done = 1
84
+ next
85
+ }
86
+ print
87
+ }
88
+ ' "$SKILL_FILE" > "$TMP_SKILL"
89
+ mv "$TMP_SKILL" "$SKILL_FILE"
90
+
91
+ if [[ ! -f "$CHANGELOG_FILE" ]]; then
92
+ printf '# CC-Plan Skill Changelog\n\n' > "$CHANGELOG_FILE"
93
+ fi
94
+
95
+ TMP_CHANGELOG="$(mktemp)"
96
+ {
97
+ sed -n '1p' "$CHANGELOG_FILE"
98
+ printf '\n## v%s - %s\n\n- %s\n' "$NEXT_VERSION" "$DATE" "$MESSAGE"
99
+ sed -n '2,$p' "$CHANGELOG_FILE"
100
+ } > "$TMP_CHANGELOG"
101
+ mv "$TMP_CHANGELOG" "$CHANGELOG_FILE"
102
+
103
+ echo "Bumped cc-plan skill: ${CURRENT_VERSION} -> ${NEXT_VERSION}"
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+
3
+ 'use strict';
4
+
5
+ // ------------------------------------------------------------
6
+ // 解析 tasks.md 里的 phase / [P] / 文件触点
7
+ // ------------------------------------------------------------
8
+
9
+ const fs = require('fs');
10
+
11
+ const phaseRegex = /^##\s+Phase\s+(\d+):\s*(.+)$/;
12
+ const taskRegex = /^-\s+\[([ xX])\]\s+(?:\*\*)?(T\d+)(?:\*\*)?\s+(.*)$/;
13
+ const fileRegex = /`([^`]+)`/g;
14
+ const dependsOnRegex = /\(dependsOn:([^)]+)\)/;
15
+
16
+ function parse(content) {
17
+ const lines = content.replace(/\r\n?/g, '\n').split('\n');
18
+ const tasks = [];
19
+ let phase = 0;
20
+
21
+ for (const line of lines) {
22
+ const phaseMatch = line.match(phaseRegex);
23
+ if (phaseMatch) {
24
+ phase = Number(phaseMatch[1]);
25
+ continue;
26
+ }
27
+
28
+ const taskMatch = line.match(taskRegex);
29
+ if (!taskMatch) continue;
30
+
31
+ const [, box, id, rest] = taskMatch;
32
+ const files = [...rest.matchAll(fileRegex)].map((m) => m[1]);
33
+ const dependsOnMatch = rest.match(dependsOnRegex);
34
+ const dependsOnValue = dependsOnMatch ? dependsOnMatch[1].trim() : '';
35
+ const dependsOn = !dependsOnValue || dependsOnValue === 'none'
36
+ ? []
37
+ : dependsOnValue.split(',').map((item) => item.trim()).filter(Boolean);
38
+ tasks.push({
39
+ id,
40
+ phase,
41
+ completed: box.toLowerCase() === 'x',
42
+ parallel: rest.includes('[P]'),
43
+ dependsOn,
44
+ files,
45
+ title: rest
46
+ .replace(/\[P\]/g, '')
47
+ .replace(dependsOnRegex, '')
48
+ .replace(fileRegex, '')
49
+ .replace(/\*\*/g, '')
50
+ .trim()
51
+ });
52
+ }
53
+
54
+ return tasks;
55
+ }
56
+
57
+ function main() {
58
+ const file = process.argv[2];
59
+ if (!file) {
60
+ console.error('Usage: parse-task-dependencies.js tasks.md');
61
+ process.exit(1);
62
+ }
63
+
64
+ const tasks = parse(fs.readFileSync(file, 'utf8'));
65
+ const completedIds = new Set(tasks.filter((t) => t.completed).map((t) => t.id));
66
+ const runnableTasks = tasks.filter((t) => !t.completed && t.dependsOn.every((dep) => completedIds.has(dep)));
67
+ const nextPhase = runnableTasks.reduce((min, t) => Math.min(min, t.phase), Infinity);
68
+ const nextTasks = Number.isFinite(nextPhase) ? runnableTasks.filter((t) => t.phase === nextPhase) : [];
69
+
70
+ process.stdout.write(JSON.stringify({ tasks, nextTasks }, null, 2));
71
+ }
72
+
73
+ if (require.main === module) {
74
+ main();
75
+ }
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # 检查计划文档是否越界或仍有 placeholder
7
+ # ------------------------------------------------------------
8
+
9
+ usage() {
10
+ cat <<'EOF'
11
+ Usage: validate-scope.sh --source FILE [--source FILE...]
12
+ EOF
13
+ }
14
+
15
+ sources=()
16
+ bad_terms=(
17
+ "TODO later"
18
+ "implement later"
19
+ "handle edge cases"
20
+ "write tests later"
21
+ "{{"
22
+ "[NEEDS CLARIFICATION"
23
+ "TBD"
24
+ "待定"
25
+ "之后再补"
26
+ "后面再想"
27
+ )
28
+
29
+ required_markers=(
30
+ "Requirement version:"
31
+ "CC-Plan skill version:"
32
+ )
33
+
34
+ while [[ $# -gt 0 ]]; do
35
+ case "$1" in
36
+ --source) sources+=("$2"); shift 2 ;;
37
+ -h|--help) usage; exit 0 ;;
38
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
39
+ esac
40
+ done
41
+
42
+ if [[ ${#sources[@]} -eq 0 ]]; then
43
+ usage
44
+ exit 1
45
+ fi
46
+
47
+ fail=0
48
+ for file in "${sources[@]}"; do
49
+ [[ -f "$file" ]] || continue
50
+ for term in "${bad_terms[@]}"; do
51
+ if rg -n --fixed-strings "$term" "$file" >/dev/null 2>&1; then
52
+ echo "[FAIL] $file contains: $term"
53
+ fail=1
54
+ fi
55
+ done
56
+ if rg -n '^\| \| \| \|$' "$file" >/dev/null 2>&1; then
57
+ echo "[FAIL] $file contains an empty markdown table row"
58
+ fail=1
59
+ fi
60
+ if rg -n '^[[:space:]]*(- )?[A-Za-z][A-Za-z /_-]*:\s*$' "$file" >/dev/null 2>&1; then
61
+ echo "[FAIL] $file contains an empty field bullet"
62
+ fail=1
63
+ fi
64
+ if [[ "$file" != *"TASK_MANIFEST_TEMPLATE.json" ]]; then
65
+ for marker in "${required_markers[@]}"; do
66
+ if ! rg -n --fixed-strings "$marker" "$file" >/dev/null 2>&1; then
67
+ echo "[FAIL] $file is missing marker: $marker"
68
+ fail=1
69
+ fi
70
+ done
71
+ fi
72
+ done
73
+
74
+ if [[ "$fail" -eq 1 ]]; then
75
+ exit 1
76
+ fi
77
+
78
+ echo "Scope validation passed"
@@ -0,0 +1,114 @@
1
+ # Roadmap Skill Changelog
2
+
3
+ ## v4.3.1 - 2026-04-19
4
+
5
+ - refactor `scripts/roadmap-tracking.js` into focused schema / markdown / store helpers so the CLI stops carrying parsing, rendering, upgrade, and persistence in one 1000-line file
6
+ - route `locate-roadmap-item.sh` through the shared tracking query path instead of maintaining a second inline Node formatter
7
+ - preserve existing `backlog` fields when auto-upgrading legacy v1 tracking JSON so shared lookup and render paths stay behaviorally correct
8
+
9
+ ## v4.3.0 - 2026-04-19
10
+
11
+ - expand `devflow/roadmap-tracking.json` from implementation-only tracking into the shared truth source for `ROADMAP.md` and `BACKLOG.md`
12
+ - teach `roadmap-tracking.js render` and `sync-roadmap-progress.sh` to regenerate both files from the same sidecar so roadmap status and backlog handoff can no longer drift apart
13
+ - upgrade locator, templates, docs, examples, and tests so backlog queue / ready / parked data are read from the sidecar before falling back to markdown text
14
+
15
+ Migration note:
16
+
17
+ - existing v4.2.x `roadmap-tracking.json` files are auto-upgraded on first render or sync run
18
+ - if you maintain backlog handoff by hand, move the durable fields into `roadmap-tracking.json` and rerender instead of treating `BACKLOG.md` as the writable source
19
+ - `scripts/roadmap-tracking.js render` now requires both `--roadmap` and `--backlog`
20
+
21
+ ## v4.2.1 - 2026-04-19
22
+
23
+ - teach `locate-roadmap-item.sh` to resolve `RM-*` and `REQ-*` through `devflow/roadmap-tracking.json` before falling back to markdown grep
24
+ - realign bundled examples with the capability-aware backlog contract so templates, examples, and helper checks no longer drift apart
25
+ - tighten example validation to require the new backlog queue columns and `Ready For Req-Plan` handoff fields
26
+
27
+ ## v4.2.0 - 2026-04-19
28
+
29
+ - add `devflow/roadmap-tracking.json` as the structured truth source for `Implementation Tracking`
30
+ - replace fragile column-position markdown rewrites with JSON-first sync plus markdown re-rendering
31
+ - ship a reusable `render` path so manual edits to the tracking sidecar can be pushed back into `ROADMAP.md`
32
+
33
+ Migration note:
34
+
35
+ - keep `devflow/ROADMAP.md` as the human-facing roadmap, but let helper automation update `devflow/roadmap-tracking.json`
36
+ - the first sync run bootstraps `roadmap-tracking.json` from an existing `Implementation Tracking` table, then rewrites the section in the new generated shape
37
+ - if you were scripting direct table edits, switch to `scripts/sync-roadmap-progress.sh` or edit `roadmap-tracking.json` and rerender
38
+
39
+ ## v4.1.0 - 2026-04-19
40
+
41
+ - teach `cc-roadmap` to anchor roadmap items to capability specs instead of leaving future work as requirement-shaped fragments
42
+ - upgrade roadmap and backlog templates with `Primary Capability`, `Secondary Capabilities`, `Capability Gap`, and `Expected Spec Delta`
43
+ - extend `sync-roadmap-progress.sh` so roadmap tracking can update capability/spec columns together with status progress
44
+
45
+ Migration note:
46
+
47
+ - roadmap items should now point to at least one capability, with one explicit primary capability
48
+ - backlog handoffs should carry expected spec delta into `cc-plan`
49
+
50
+ ## v4.0.0 - 2026-04-18
51
+
52
+ - restore `cc-roadmap` durable outputs to `devflow/ROADMAP.md` and `devflow/BACKLOG.md`, matching the repository contract and keeping roadmap artifacts under `devflow/`
53
+ - update bundled helper scripts to prefer `devflow/ROADMAP.md` and `devflow/BACKLOG.md`, while still falling back to the recent repo-root paths and the older `devflow/roadmap/*` paths
54
+ - realign skill docs, public guides, and registry/bootstrap tests with the restored canonical paths
55
+
56
+ Migration note:
57
+
58
+ - new roadmap runs should write `devflow/ROADMAP.md` and `devflow/BACKLOG.md`
59
+ - if you temporarily have repo-root `ROADMAP.md` / `BACKLOG.md` from v3.0.0, move them back under `devflow/`
60
+ - helper scripts now resolve files in this order: `devflow/*.md` -> repo-root `*.md` -> legacy `devflow/roadmap/*.md`
61
+
62
+ ## v3.0.0 - 2026-04-17
63
+
64
+ - change `cc-roadmap` durable outputs to repo-root `ROADMAP.md` and `BACKLOG.md`, aligning the skill contract with README, examples, and live usage
65
+ - require roadmap output to include an explicit `RM Dependency Graph` plus `Parallel Waves`, so serial blockers and concurrent work are visible
66
+ - upgrade backlog handoff fields to record `Depends On` and `Parallel With`
67
+ - update bundled helper scripts to prefer repo-root files and fall back to legacy `devflow/roadmap/*` files when present
68
+
69
+ Migration note:
70
+
71
+ - new roadmap runs should write repo-root `ROADMAP.md` and `BACKLOG.md`
72
+ - helper scripts still read legacy `devflow/roadmap/*` files as fallback, but the canonical path is now the repo root
73
+ - if you maintain automation that parses the `Implementation Tracking` table, account for the new `Depends On` column before `Status`
74
+
75
+ ## v2.2.0 - 2026-04-17
76
+
77
+ - convert public frontmatter from loose prose into structured harness contract fields: `triggers`, `reads`, `writes`, `entry_gate`, `exit_criteria`, `reroutes`, `recovery_modes`, `tool_budget`
78
+ - add `Harness Contract` to `SKILL.md` and `Visible State Machine` to `PLAYBOOK.md`
79
+ - make roadmap explicitly skill-first: strategy stays in skill text and artifacts instead of hidden harness behavior
80
+
81
+ Migration note:
82
+
83
+ - any downstream tooling that only read `name` and `description` can keep working, but new registry consumers should prefer the structured contract fields
84
+ - roadmap users do not need to change existing `ROADMAP.md` / `BACKLOG.md` files; the new contract only makes the operating rules explicit
85
+
86
+ ## v2.1.0 - 2026-04-15
87
+
88
+ - 增强 frontmatter `description`,补充中英文触发词,提升命中率。
89
+ - 新增 `Quick Start` 和 `Route Selection Rule`,把首次路线判断前置成更易执行的入口。
90
+ - 新增 `Recommendation Test`,要求推荐必须同时说明“为什么选它”和“为什么不先做另外两条”。
91
+ - 升级 `ROADMAP_TEMPLATE.md`,增加 `Recommended Route` 区块。
92
+ - 升级 `BACKLOG_TEMPLATE.md`,让 ready 项显式写清“为什么现在 ready”。
93
+
94
+ Migration note:
95
+
96
+ - 旧版 `ROADMAP.md` / `BACKLOG.md` 可以继续使用;建议在下次重跑 roadmap 时补齐 `Recommended Route` 和 ready rationale,以减少后续 `cc-plan` 阶段的解释成本。
97
+
98
+ ## v2.0.0 - 2026-04-10
99
+
100
+ - 增加 `version` frontmatter,并定义 roadmap skill 的 semver 规则。
101
+ - 强化 `Context Sweep`,要求先读取现有 roadmap、文档、最近提交、forcing functions,再开始追问。
102
+ - 增加 `Approval Gates` 与 `Review Loop`,避免没有证据、没有退出信号的伪路线图。
103
+ - 升级 `ROADMAP_TEMPLATE.md`,加入 metadata、context snapshot、evidence ledger、route options、dependencies、kill signal、版本差异记录。
104
+ - 升级 `BACKLOG_TEMPLATE.md`,让事项带上 evidence、dependency、next decision、ready 状态。
105
+ - 新增 `scripts/bump-skill-version.sh`,用于递增 skill 版本并同步 changelog。
106
+
107
+ Migration note:
108
+
109
+ - 旧版 `ROADMAP.md` / `BACKLOG.md` 仍可继续使用,但建议补齐新模板里的 metadata、evidence、dependencies、kill signal、ready 字段。
110
+ - `Implementation Tracking` 表保持兼容,`scripts/sync-roadmap-progress.sh` 无需修改。
111
+
112
+ ## v1.0.0 - 2026-04-10
113
+
114
+ - 初始版 roadmap skill,提供基础路线图和 backlog 产物。
@@ -0,0 +1,136 @@
1
+ # Roadmap Playbook
2
+
3
+ ## Visible State Machine
4
+
5
+ `roadmap` is the only strategy stage.
6
+
7
+ - Enter from: project kickoff, backlog drift, or strategy reset.
8
+ - Stay in: `roadmap` while direction is still being argued or evidence is incomplete.
9
+ - Exit to: `cc-plan` once one approved roadmap item becomes the next concrete requirement.
10
+
11
+ ## Core Rules
12
+
13
+ 1. 先读上下文,再问现实,不先写愿景。
14
+ 2. 一次只推进一个关键未知点。
15
+ 3. 只定 1-3 个阶段,不写愿望清单。
16
+ 4. 通过 `roadmap` 只能产出方向,不能偷拆实现任务。
17
+ 5. 没有证据时写 assumption,不准冒充事实。
18
+ 6. 每次都必须明确推荐一条路线,不准只列选项不下判断。
19
+
20
+ ## Local Kit
21
+
22
+ - 生成骨架时用 `assets/ROADMAP_TEMPLATE.md` 和 `assets/BACKLOG_TEMPLATE.md`
23
+ - 需要结构化 tracking 时用 `assets/TRACKING_TEMPLATE.json`
24
+ - 需要追问脚本时看 `references/roadmap-dialogue.md`
25
+ - 需要定位 / 回写条目时用 `scripts/locate-roadmap-item.sh` 和 `scripts/sync-roadmap-progress.sh`
26
+ - `scripts/locate-roadmap-item.sh` 先读 `roadmap-tracking.json`,再回落到 `ROADMAP.md` / `BACKLOG.md`,避免定位依赖 markdown 列位或文案漂移
27
+ - 只想把 sidecar 重渲染回 `ROADMAP.md` / `BACKLOG.md` 时,直接调用 `scripts/roadmap-tracking.js render`
28
+ - `scripts/sync-roadmap-progress.sh` 会把 `roadmap-tracking.json` 当真相源,再回渲染 `ROADMAP.md` 和 `BACKLOG.md`
29
+ - 变更版本时同步 `CHANGELOG.md`,必要时用 `scripts/bump-skill-version.sh`
30
+
31
+ ## Context Sweep
32
+
33
+ 进入 roadmap 对话前,至少摸清:
34
+
35
+ 1. 现有 `devflow/ROADMAP.md` / `devflow/BACKLOG.md`
36
+ 2. `CLAUDE.md`、`README*`、`TODOS.md`
37
+ 3. 最近相关 docs / specs / plans
38
+ 4. 最近相关提交、当前工作树状态、正在推进的 requirement
39
+ 5. 现实 forcing functions:deadline、distribution、资源、依赖、当前卡点
40
+
41
+ 先把这些材料压成 `Context Snapshot`,再追问用户。
42
+
43
+ ## Force Reality First
44
+
45
+ 至少逼清这 5 件事:
46
+
47
+ 1. 这个项目真正服务谁
48
+ 2. 用户今天用什么笨办法解决
49
+ 3. 为什么他们现在就会想要这个东西
50
+ 4. 最窄但最有穿透力的第一阶段是什么
51
+ 5. 未来 6-12 个月产品会自然长成什么样
52
+
53
+ 同时补齐这 4 件落地信息:
54
+
55
+ 6. 当前最强证据是什么
56
+ 7. deadline / capacity / dependency / distribution 约束是什么
57
+ 8. 当前最大的 adoption / trust / delivery 卡点是什么
58
+ 9. 成功与失败的判断信号是什么
59
+
60
+ ## Route Shapes
61
+
62
+ - `wedge-first`: 用一个极窄切口先打穿真实需求
63
+ - `platform-first`: 先搭通后续阶段复用的关键底座
64
+ - `rescue-first`: 先解决当前最大的 adoption / trust / delivery 卡点
65
+
66
+ 推荐时必须回答:为什么这条主线比其他两条更值得先打。
67
+
68
+ ## Recommendation Test
69
+
70
+ 写完推荐后,快速自检:
71
+
72
+ 1. 如果删掉路线名,别人还能从理由里猜出为什么是这条吗?
73
+ 2. 有没有明确说“不先做另外两条”的原因?
74
+ 3. Stage 1 的 win signal 能不能在 1-2 个周期内看到?
75
+ 4. 如果 Stage 1 输了,kill signal 是不是具体到可以止损?
76
+
77
+ ## Stage Contract
78
+
79
+ 每个阶段至少要有:
80
+
81
+ 1. `Goal`
82
+ 2. `Why now`
83
+ 3. `Dependencies`
84
+ 4. `Exit signal`
85
+ 5. `Kill signal`
86
+ 6. `Non-goals`
87
+ 7. 可以自然长成下一轮 `cc-plan` 的候选事项
88
+
89
+ ## Dependency Contract
90
+
91
+ 1. `Depends On` 只写硬阻塞,不写“最好先做”的软顺序。
92
+ 2. 至少画出一份 `RM Dependency Graph`,让串行主链和并行分支一眼可见。
93
+ 3. 至少列出一组 `Parallel waves`,说明哪些事项可共享同一前置后并发推进。
94
+ 4. 如果图里出现环,说明阶段切分错了,先重切,不要硬解释。
95
+
96
+ ## Output Contract
97
+
98
+ `devflow/ROADMAP.md`
99
+ - version / skill version / context snapshot / evidence ledger
100
+ - 1-3 个阶段
101
+ - 每阶段目标
102
+ - 每阶段存在原因
103
+ - 每阶段 dependencies
104
+ - 每阶段 exit signal
105
+ - 每阶段 kill signal
106
+ - 非目标
107
+ - `RM Dependency Graph`
108
+ - `Parallel waves`
109
+ - `Implementation Tracking` 由 `devflow/roadmap-tracking.json` 渲染,避免手改 markdown 表格列位
110
+
111
+ `devflow/BACKLOG.md`
112
+ - 只保留会真的进入下一轮 `cc-plan` 的事项
113
+ - 每项注明来源阶段、优先级、证据、`Depends On`、`Parallel With`、当前未知点、下一决策、是否 ready
114
+ - `Backlog Meta`、`Queue`、`Dependency Handoff`、`Ready For Req-Plan`、`Parked` 可由 `devflow/roadmap-tracking.json` 回渲染,避免 roadmap truth 和 backlog handoff 分叉
115
+
116
+ ## Review Loop
117
+
118
+ 交付前至少扫一遍:
119
+
120
+ 1. 有没有 placeholder
121
+ 2. 阶段之间是否有因果链
122
+ 3. 阶段目标是否真能被当前资源支撑
123
+ 4. `RM Dependency Graph` 是否只有硬依赖、没有环
124
+ 5. ready 项是否真能进入 `cc-plan`
125
+ 6. 本次版本相比上一版到底改了什么
126
+
127
+ ## Versioning
128
+
129
+ - `patch`: 文案澄清、模板说明、小修补
130
+ - `minor`: 上下文收集、评审、字段增强,且不破坏既有 tracking 习惯
131
+ - `major`: 核心输出契约变化,需要 migration note
132
+
133
+ ## Exit Rule
134
+
135
+ 只有当第一批 requirement 能从阶段主线自然长出来时,`roadmap` 才算完成。
136
+ 如果用户看完还会问“所以现在到底先做什么”,说明 roadmap 还没写好。