cc-devflow 4.5.11 → 4.5.12

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 (185) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +18 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +17 -269
  3. package/.claude/skills/cc-act/SKILL.md +38 -425
  4. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_INDEX_TEMPLATE.md +2 -13
  5. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_TEMPLATE.md +1 -9
  6. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +21 -177
  7. package/.claude/skills/cc-act/references/closure-contract.md +12 -63
  8. package/.claude/skills/cc-act/references/git-commit-guidelines.md +5 -5
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +5 -322
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +11 -2
  11. package/.claude/skills/cc-act/scripts/inspect-git-index.sh +58 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +40 -440
  13. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +10 -50
  14. package/.claude/skills/cc-check/CHANGELOG.md +18 -0
  15. package/.claude/skills/cc-check/PLAYBOOK.md +19 -273
  16. package/.claude/skills/cc-check/SKILL.md +33 -456
  17. package/.claude/skills/cc-check/references/review-contract.md +12 -147
  18. package/.claude/skills/cc-dev/CHANGELOG.md +15 -0
  19. package/.claude/skills/cc-dev/PLAYBOOK.md +1 -1
  20. package/.claude/skills/cc-dev/SKILL.md +52 -137
  21. package/.claude/skills/cc-dev/scripts/resolve-cc-devflow.sh +181 -0
  22. package/.claude/skills/cc-do/CHANGELOG.md +11 -0
  23. package/.claude/skills/cc-do/PLAYBOOK.md +19 -113
  24. package/.claude/skills/cc-do/SKILL.md +39 -245
  25. package/.claude/skills/cc-do/references/execution-recovery.md +15 -109
  26. package/.claude/skills/cc-do/scripts/cc-do-common.sh +5 -57
  27. package/.claude/skills/cc-do/scripts/check-task-status.sh +35 -65
  28. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +9 -46
  29. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +29 -97
  30. package/.claude/skills/cc-investigate/CHANGELOG.md +16 -0
  31. package/.claude/skills/cc-investigate/PLAYBOOK.md +20 -180
  32. package/.claude/skills/cc-investigate/SKILL.md +64 -246
  33. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +48 -98
  34. package/.claude/skills/cc-investigate/references/investigation-contract.md +14 -218
  35. package/.claude/skills/cc-next/CHANGELOG.md +6 -0
  36. package/.claude/skills/cc-next/PLAYBOOK.md +12 -8
  37. package/.claude/skills/cc-next/SKILL.md +34 -140
  38. package/.claude/skills/cc-plan/CHANGELOG.md +16 -0
  39. package/.claude/skills/cc-plan/PLAYBOOK.md +22 -161
  40. package/.claude/skills/cc-plan/SKILL.md +45 -295
  41. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +30 -228
  42. package/.claude/skills/cc-plan/references/planning-contract.md +24 -161
  43. package/.claude/skills/cc-plan/scripts/next-change-key.sh +8 -44
  44. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +2 -2
  45. package/.claude/skills/cc-plan/scripts/validate-scope.sh +1 -1
  46. package/.claude/skills/cc-pr-land/SKILL.md +14 -114
  47. package/.claude/skills/cc-pr-review/CHANGELOG.md +4 -0
  48. package/.claude/skills/cc-pr-review/SKILL.md +20 -103
  49. package/.claude/skills/cc-review/CHANGELOG.md +17 -0
  50. package/.claude/skills/cc-review/PLAYBOOK.md +13 -86
  51. package/.claude/skills/cc-review/SKILL.md +53 -241
  52. package/.claude/skills/cc-review/references/e2e-and-plugin-verification.md +2 -2
  53. package/.claude/skills/cc-review/references/implementation-review-branch.md +7 -147
  54. package/.claude/skills/cc-review/references/plan-review-branch.md +5 -147
  55. package/.claude/skills/cc-review/references/review-methods.md +10 -218
  56. package/.claude/skills/cc-review/scripts/collect-review-context.sh +4 -63
  57. package/.claude/skills/cc-roadmap/PLAYBOOK.md +1 -1
  58. package/.claude/skills/cc-roadmap/SKILL.md +3 -3
  59. package/.claude/skills/cc-simplify/CHANGELOG.md +7 -0
  60. package/.claude/skills/cc-simplify/SKILL.md +26 -21
  61. package/.claude/skills/cc-spec-init/PLAYBOOK.md +12 -48
  62. package/.claude/skills/cc-spec-init/SKILL.md +29 -132
  63. package/.claude/skills/cc-spec-init/references/spec-contract.md +8 -17
  64. package/CHANGELOG.md +13 -0
  65. package/bin/cc-devflow-cli.js +20 -260
  66. package/bin/cc-devflow.js +44 -7
  67. package/docs/commands/README.md +1 -1
  68. package/docs/commands/README.zh-CN.md +1 -1
  69. package/docs/examples/README.md +1 -1
  70. package/docs/examples/START-HERE.md +14 -15
  71. package/docs/examples/example-bindings.json +11 -11
  72. package/docs/examples/full-design-blocked/README.md +4 -6
  73. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/{planning/tasks.md → task.md} +20 -15
  74. package/docs/examples/local-handoff/README.md +8 -11
  75. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/pr-brief.md +31 -0
  76. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/{planning/tasks.md → task.md} +18 -13
  77. package/docs/examples/pdca-loop/README.md +6 -9
  78. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +9 -11
  79. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/{planning/tasks.md → task.md} +18 -13
  80. package/docs/examples/scripts/check-example-bindings.sh +11 -62
  81. package/docs/guides/artifact-contract.md +10 -40
  82. package/docs/guides/getting-started.md +8 -8
  83. package/docs/guides/getting-started.zh-CN.md +8 -8
  84. package/docs/guides/minimize-artifacts.md +16 -130
  85. package/docs/guides/project-postmortem.md +14 -71
  86. package/lib/compiler/__tests__/skills-registry.test.js +9 -8
  87. package/lib/compiler/resource-copier.js +29 -0
  88. package/lib/skill-runtime/__tests__/archive-change.test.js +2 -2
  89. package/lib/skill-runtime/__tests__/benchmark-skills.test.js +3 -3
  90. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +14 -4
  91. package/lib/skill-runtime/errors.js +3 -3
  92. package/lib/skill-runtime/index.js +5 -23
  93. package/lib/skill-runtime/paths.js +5 -52
  94. package/lib/skill-runtime/query-registry.js +4 -4
  95. package/lib/skill-runtime/query.js +89 -201
  96. package/lib/skill-runtime/store.js +4 -40
  97. package/lib/skill-runtime/trace.js +2 -2
  98. package/package.json +2 -5
  99. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_PRINCIPLES_TEMPLATE.md +0 -29
  100. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +0 -54
  101. package/.claude/skills/cc-act/scripts/generate-status-report.sh +0 -92
  102. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +0 -355
  103. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +0 -234
  104. package/.claude/skills/cc-check/scripts/render-report-card.js +0 -438
  105. package/.claude/skills/cc-check/scripts/verify-gate.sh +0 -85
  106. package/.claude/skills/cc-do/scripts/build-task-context.sh +0 -175
  107. package/.claude/skills/cc-do/scripts/record-review-decision.sh +0 -88
  108. package/.claude/skills/cc-do/scripts/recover-workflow.sh +0 -82
  109. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +0 -70
  110. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +0 -109
  111. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +0 -92
  112. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +0 -224
  113. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +0 -178
  114. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +0 -28
  115. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +0 -45
  116. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +0 -234
  117. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +0 -488
  118. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +0 -189
  119. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +0 -39
  120. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +0 -29
  121. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +0 -123
  122. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +0 -292
  123. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +0 -136
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +0 -29
  125. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +0 -124
  126. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +0 -292
  127. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +0 -136
  128. package/docs/get-shit-done-strategy-audit.md +0 -518
  129. package/docs/skill-runtime-migration.md +0 -46
  130. package/lib/skill-runtime/__tests__/approve.test.js +0 -92
  131. package/lib/skill-runtime/__tests__/autopilot.test.js +0 -253
  132. package/lib/skill-runtime/__tests__/benchmark-artifacts.test.js +0 -165
  133. package/lib/skill-runtime/__tests__/delegation.test.js +0 -97
  134. package/lib/skill-runtime/__tests__/dispatch.test.js +0 -237
  135. package/lib/skill-runtime/__tests__/intent.test.js +0 -203
  136. package/lib/skill-runtime/__tests__/lifecycle.test.js +0 -169
  137. package/lib/skill-runtime/__tests__/planner.tdd.test.js +0 -331
  138. package/lib/skill-runtime/__tests__/prepare-pr.test.js +0 -126
  139. package/lib/skill-runtime/__tests__/query.test.js +0 -860
  140. package/lib/skill-runtime/__tests__/readiness.test.js +0 -53
  141. package/lib/skill-runtime/__tests__/release.test.js +0 -85
  142. package/lib/skill-runtime/__tests__/review-check-integration.test.js +0 -148
  143. package/lib/skill-runtime/__tests__/review-records.test.js +0 -619
  144. package/lib/skill-runtime/__tests__/runtime.integration.test.js +0 -351
  145. package/lib/skill-runtime/__tests__/schemas.test.js +0 -337
  146. package/lib/skill-runtime/__tests__/task-contract-migrate.test.js +0 -137
  147. package/lib/skill-runtime/__tests__/task-contract.test.js +0 -874
  148. package/lib/skill-runtime/__tests__/team-state.test.js +0 -51
  149. package/lib/skill-runtime/__tests__/verify-artifacts.test.js +0 -203
  150. package/lib/skill-runtime/__tests__/worker-run.test.js +0 -275
  151. package/lib/skill-runtime/__tests__/worker.test.js +0 -56
  152. package/lib/skill-runtime/__tests__/workflow-context-legacy-fallback.test.js +0 -31
  153. package/lib/skill-runtime/__tests__/workflow-context.test.js +0 -98
  154. package/lib/skill-runtime/artifacts.js +0 -88
  155. package/lib/skill-runtime/context-index.js +0 -545
  156. package/lib/skill-runtime/delegation.js +0 -533
  157. package/lib/skill-runtime/intent.js +0 -309
  158. package/lib/skill-runtime/lifecycle.js +0 -294
  159. package/lib/skill-runtime/operations/CLAUDE.md +0 -19
  160. package/lib/skill-runtime/operations/approve.js +0 -81
  161. package/lib/skill-runtime/operations/autopilot-core.js +0 -337
  162. package/lib/skill-runtime/operations/autopilot-execution.js +0 -307
  163. package/lib/skill-runtime/operations/autopilot-shared.js +0 -48
  164. package/lib/skill-runtime/operations/autopilot.js +0 -163
  165. package/lib/skill-runtime/operations/dispatch.js +0 -416
  166. package/lib/skill-runtime/operations/init.js +0 -60
  167. package/lib/skill-runtime/operations/janitor.js +0 -61
  168. package/lib/skill-runtime/operations/plan.js +0 -59
  169. package/lib/skill-runtime/operations/prepare-pr.js +0 -25
  170. package/lib/skill-runtime/operations/release.js +0 -99
  171. package/lib/skill-runtime/operations/resume.js +0 -126
  172. package/lib/skill-runtime/operations/review-records.js +0 -265
  173. package/lib/skill-runtime/operations/snapshot.js +0 -45
  174. package/lib/skill-runtime/operations/task-contract.js +0 -593
  175. package/lib/skill-runtime/operations/verify.js +0 -170
  176. package/lib/skill-runtime/operations/worker-run.js +0 -531
  177. package/lib/skill-runtime/operations/worker.js +0 -33
  178. package/lib/skill-runtime/planner.js +0 -539
  179. package/lib/skill-runtime/readiness.js +0 -84
  180. package/lib/skill-runtime/review-records.js +0 -123
  181. package/lib/skill-runtime/review.js +0 -855
  182. package/lib/skill-runtime/schemas.js +0 -746
  183. package/lib/skill-runtime/task-contract.js +0 -188
  184. package/lib/skill-runtime/team-state.js +0 -122
  185. package/lib/skill-runtime/workflow-context.js +0 -748
@@ -1,5 +1,23 @@
1
1
  # CC-Act Skill Changelog
2
2
 
3
+ ## v1.9.1 - 2026-05-13
4
+
5
+ - simplify closeout rules so `cc-act` names only the allowed durable outputs and bans extra process files as a class
6
+ - remove old release/status/resume/report/ledger filename lists from the default ship contract
7
+
8
+ ## v1.8.11 - 2026-05-13
9
+
10
+ - collapse `cc-act` delivery material into a single default `handoff/pr-brief.md` file
11
+ - fold release notes, local resume entry, and doc sync status into `pr-brief.md` sections instead of generating parallel `release-note.md`, `resume-index.md`, or `doc-sync-report.md`
12
+ - update `sync-act-docs.sh` so it collects doc-sync inputs without writing extra handoff Markdown files
13
+ - add `inspect-git-index.sh` and unborn-branch preflight rules so commit flow checks HEAD/ref/index truth before staging or committing
14
+
15
+ ## v1.8.10 - 2026-05-13
16
+
17
+ - require the shared `resolve-cc-devflow.sh` CLI resolver before delivery context reset or post-merge archive commands
18
+ - make old global CLIs a ship blocker instead of allowing stale workflow context or archive claims
19
+ - update closeout language to call resolved CLI commands for archive proof
20
+
3
21
  ## v1.8.9 - 2026-05-13
4
22
 
5
23
  - internalize closure operating rules so `cc-act` chooses one ship mode from verified facts, records rejected paths, and keeps handoff materials mode-specific
@@ -1,280 +1,28 @@
1
1
  # CC-Act Playbook
2
2
 
3
- ## Visible State Machine
3
+ ## State Machine
4
4
 
5
- `cc-check -> cc-act -> roadmap/cc-plan next loop`
5
+ `cc-check -> cc-act -> next roadmap/REQ/FIX`
6
6
 
7
- - Enter from: `cc-check` with a passing report card.
8
- - Stay in: `cc-act` while ship mode, simplify/test evidence, docs, and handoff are being aligned to proven facts.
9
- - Exit to: the next roadmap/backlog loop once delivery artifacts, source RM progress, and follow-up writeback are complete.
10
- - Reroute to: `cc-check` if verification changes, or `cc-do` if act uncovers unfinished implementation.
7
+ Act ships verified work. It does not create process state.
11
8
 
12
- ## Core Thesis
9
+ ## Durable Outputs
13
10
 
14
- `cc-act` 的任务不是“再解释一遍”,而是把已经通过验证的事实推进成真正的交付状态。
11
+ - `handoff/pr-brief.md` for PR or local handoff
12
+ - incident postmortem for FIX or recurring failure
15
13
 
16
- 它接收 `cc-check` 的结果,但不复用 `cc-check` 的职责。
14
+ Everything else is Git history, PR history, or final response.
17
15
 
18
- - `cc-check` 解决:这次变更到底有没有被证明
19
- - `cc-act` 解决:这次被证明的变更到底怎么落地
16
+ ## Closeout
20
17
 
21
- ## Phase 0: Close The Gate
18
+ 1. Verify Git status and latest commits.
19
+ 2. Run or cite the current validation commands.
20
+ 3. Commit any remaining owned changes.
21
+ 4. Build `pr-brief.md` only when PR/handoff needs it.
22
+ 5. Write incident postmortem only when triggered.
23
+ 6. Push/create/update PR when requested and available.
24
+ 7. Archive completed change only after merge or explicit closeout.
22
25
 
23
- 开始前先做 3 件事:
26
+ ## Blockers
24
27
 
25
- 1. 运行 `scripts/verify-act-gate.sh --dir <requirement-dir>`
26
- 2. 确认 `review/report-card.json` 是 `pass`,且没有未解释的 gaps / reroute
27
- 3. 确认 `planning/tasks.md` 不再有未完成项
28
- 4. 确认 `review.freshness` 新鲜、`runtime.failureOwnership` 无未解释失败、`qa.coverageAudit` / `qa.browserEvidence` 有证据或明确 skip
29
- 5. 确认 `qa.feedbackLoop` / `qa.behaviorEvidence` 能支撑行为结论;不可复现时必须写清缺什么 artifact / 权限 / 输入
30
- 6. 定位 source RM,并确认 `devflow/roadmap.json`、`devflow/ROADMAP.md`、optional `devflow/BACKLOG.md` 没有和 verified reality 冲突
31
-
32
- 如果 gate 没闭合,直接回 `cc-check` 或 `cc-do`,不要在 `cc-act` 自我安慰。
33
-
34
- ## Phase 0.5: Check Roadmap Progress
35
-
36
- Roadmap 是执行链路的长期记忆,不是收尾时才想起的备忘录。
37
-
38
- 1. 从 `change-meta.json` / `planning/task-manifest.json` 读取 `sourceRoadmap.itemId`、REQ/FIX、primary capability、expected spec delta。
39
- 2. 用 `../cc-roadmap/scripts/locate-roadmap-item.sh <RM-ID>` 对照 `devflow/roadmap.json`、`devflow/ROADMAP.md`、optional `devflow/BACKLOG.md`。
40
- 3. 如果 RM 已经指向另一个 change、被标成 blocked/deferred/done,或 progress 与 `review/report-card.json` 现实冲突,先同步或 reroute,不继续 ship。
41
- 4. 如果没有 source RM,不编造;在 handoff 写 `roadmapSync.noOpReason: no-source-rm`。
42
-
43
- ## Phase 1: Freeze Ship Facts
44
-
45
- 运行 `scripts/detect-ship-target.sh`,锁定这些事实:
46
-
47
- - current branch
48
- - base branch
49
- - branch state / rescue action
50
- - platform / remote 能力
51
- - 是否已有 PR / MR
52
- - 推荐 ship 模式
53
-
54
- Ship 必须属于这 4 种模式之一:
55
-
56
- - `create-pr`
57
- - `update-pr`
58
- - `local-handoff`
59
- - `post-merge-closeout`
60
-
61
- 如果 `BRANCH_STATE=detached` 且 `BRANCH_RESCUE=create-branch-before-pr`,立即运行
62
- `scripts/ensure-ship-branch.sh --dir <requirement-dir>`,然后重跑最终验证与
63
- `scripts/detect-ship-target.sh`。用户已经要求继续或提交远程 PR 时,detached HEAD
64
- 不是停在 `local-handoff` 的理由。
65
-
66
- 这里不要只报事实,必须给出一句明确结论:
67
-
68
- - `Recommended mode: <mode>`
69
- - `Why now: <一句话理由>`
70
- - `Why not others: <一句话排除>`
71
-
72
- ## Phase 2: Simplify And Refresh Proof
73
-
74
- 在真正准备交付材料前,先做这 4 件事:
75
-
76
- 1. 调用 `cc-simplify`
77
- - 通过当前运行时可用的 skill 调用器执行
78
- - 如果桥接环境暴露为 `${JM}`,使用 `${JM}` with `skill: "cc-simplify"`
79
- 2. 跑项目单测
80
- - 先检查 `package.json` scripts、`Makefile`、或项目常见测试入口
81
- - 选择项目实际存在的命令执行
82
- 3. 跑 e2e
83
- - 严格遵守协调器 prompt 给出的 e2e recipe
84
- - recipe 明确要求跳过时,只记录 skip 理由
85
- 4. 一旦这三步里有任何修复改了代码,立即回 `cc-check`
86
-
87
- 原则很简单:
88
-
89
- - `cc-act` 可以做清理和收尾修复
90
- - 但只要现实被改写,就必须重新证明
91
- - verification 每次进 `cc-act` 都要重新跑;只有 push、PR 更新、文档生成这类动作可以因幂等状态跳过
92
-
93
- ## Phase 2.5: Ship Hygiene
94
-
95
- 真正提交或推送前,先锁住 ship 卫生:
96
-
97
- 1. 比较 `VERSION` / `package.json` / base branch,识别 `fresh`、`already bumped`、`stale package`、`unexpected drift`。
98
- 2. 读取 changelog,不覆盖已有条目;新增或润色只能基于当前 diff 和 commit history。
99
- 3. 检查提交边界,按逻辑单元拆分,保证提交顺序不引用未来代码。
100
- 4. 如果有 WIP commit,只能用非破坏性 rebase / fixup 处理,不允许盲目 soft reset。
101
- 5. push 前比较 local / remote HEAD;PR 前检查是否已有打开 PR / MR。
102
- - 如果当前是 detached HEAD 且目标是远程 PR,先用 `ensure-ship-branch.sh` 锚定命名分支,再做 push / PR。
103
- 6. 生成 readiness dashboard:review freshness、review quality、QA coverage、browser QA、feedback loop、behavior evidence、failure ownership、documentation release、PR body accuracy。
104
- 7. 生成 ship preflight:branch/base/remote/auth/clean tree/review freshness/ship mode。
105
- 8. preflight 失败必须命名为 `ShipPreflightError`,并写明 rescue action 或切到 `local-handoff`。
106
- 9. 发布、合并、PR 更新或 release note 前必须写 rollback guard。
107
-
108
- ## Phase 3: Build Delivery Pack
109
-
110
- 先按模式整理最小材料:
111
-
112
- - `create-pr`: `handoff/pr-brief.md`
113
- - `update-pr`: 更新后的 `handoff/pr-brief.md`
114
- - `local-handoff`: `handoff/resume-index.md`
115
- - `post-merge-closeout`: doc sync 结果 + `handoff/release-note.md`(需要发布时)
116
-
117
- 然后再补下面这些扩展材料:
118
-
119
- - `handoff/pr-brief.md`
120
- - `handoff/release-note.md`(需要发布时)
121
- - 更新后的 `handoff/resume-index.md`
122
- - `doc-sync-report.md`
123
-
124
- 这些文件只允许写已经被证明过的事实,不准补编故事。
125
-
126
- 建议顺序:
127
-
128
- 1. `scripts/sync-act-docs.sh --dir <requirement-dir>`
129
- 2. `scripts/render-pr-brief.sh --dir <requirement-dir>`
130
-
131
- `pr-brief.md` 还必须带上 `cc-check` 的 review range:
132
-
133
- - reviewed base SHA
134
- - reviewed head SHA
135
- - review packet path / summary
136
- - finding triage summary
137
- - QA / claim evidence summary
138
- - ship preflight and `ShipPreflightError` rescue if any
139
- - rollback guard
140
- - QA behavior evidence and feedback-loop quality
141
- - readiness dashboard
142
- - PR body accuracy check
143
- - Pull Request Body Draft: 按 `Output language` 生成中文或英文 PR 正文草稿,包含 summary/problem/changes/validation/review-gate/risk-rollback/docs-writeback/follow-ups
144
- - Durable follow-up briefs: current behavior、desired behavior、key interfaces、acceptance criteria、out of scope
145
-
146
- 缺这些字段时,可以生成 local handoff,但不能声称 PR body 已经可 review。
147
-
148
- ## Phase 4: Sync Docs
149
-
150
- 文档同步不是装饰动作,而是 ship 的一部分。
151
-
152
- 同步规则:
153
-
154
- 1. 代码结构变了,就同步对应目录的 `CLAUDE.md`
155
- 2. 用户可感知行为变了,就同步 `README.md` / `handoff/release-note.md`
156
- 3. handoff 路径变了,就同步 `handoff/resume-index.md`
157
- 4. reviewer 如果看文档还得猜,就说明 sync 失败
158
- 5. 新文档必须从 README、CLAUDE 或 handoff 入口可发现
159
- 6. CHANGELOG 只允许保护性更新,不能重写历史
160
- 7. doc sync 结果要进入 PR body 或 handoff,而不是只留在聊天里
161
-
162
- ## Phase 5: Execute Integration
163
-
164
- ### `create-pr`
165
-
166
- - 按 `references/git-commit-guidelines.md` 完成提交
167
- - 如果当前是 detached HEAD,先运行 `scripts/ensure-ship-branch.sh --dir <requirement-dir>`
168
- - 推送当前分支
169
- - 用 `gh pr create` 创建 PR / MR
170
- - PR body 以 `pr-brief.md` 的 `Pull Request Body Draft` 为真相源,并按 `Output language` 输出中文或英文
171
- - PR body 必须包含 Summary/摘要、Problem/问题、Changes/变更、Validation/验证、Review/Gate Evidence、Risk/Rollback、Docs/Writeback、Follow-ups
172
- - 创建前检查 PR body 是否来自当前 report-card、当前 diff、doc sync 和 roadmap writeback,不继承旧 body、不保留 `<placeholder>`、不只写一句泛化摘要
173
-
174
- ### `update-pr`
175
-
176
- - 如果有新增提交,先按 `references/git-commit-guidelines.md` 完成 commit / push
177
- - 不重新造一个 PR
178
- - 刷新已有 PR / MR body
179
- - 确保 body 由本次最新 `cc-check` 结果、doc sync 状态和 `Pull Request Body Draft` 重建,不沿用旧 body
180
- - PR body 与当前 commits / diff 不一致时,必须先更新 body,再继续交付判断
181
-
182
- ### `local-handoff`
183
-
184
- - 不假装已经 ship
185
- - 明确写出下一位接手者的入口、验证方式、阻塞点
186
-
187
- ### `post-merge-closeout`
188
-
189
- - 不做 feature branch PR 动作
190
- - 在 merged result 上重跑必要 gate,并记录命令、exit status、关键观察
191
- - 完成 release note、文档同步、backlog/roadmap 回写、归档
192
- - 归档是 exit gate:运行 `cc-devflow archive-change <change-key>`,再用 archive path 或 `cc-devflow list-archived` 证明 active change 已离开 `devflow/changes/<change-key>`
193
-
194
- ### destructive cleanup
195
-
196
- - 删除 branch、worktree、未合并提交、change archive 前,先列出对象
197
- - 丢弃未合并工作必须要求用户显式确认
198
- - 无法确认时保留现场,切到 `local-handoff`
199
-
200
- 如果 `gh` 不可用、push 失败、远端不可达,就不要硬凹 `create-pr` / `update-pr`。切到 `local-handoff`,把阻塞和下一步写清楚。
201
-
202
- ## Phase 6: Write Back The Learning
203
-
204
- 以下情况必须回写 `devflow/roadmap.json`,再重新生成 `devflow/ROADMAP.md` / `devflow/BACKLOG.md`:
205
-
206
- 1. 本次工作暴露了新的 follow-up
207
- 2. 原有优先级被改变
208
- 3. 有明确 deferred item 不能靠口头记忆保存
209
- 4. source RM 的 ship 现实从 planned / repair planned 推进到了 in review / ready for handoff / done
210
-
211
- 原则:
212
-
213
- - 长期方向写进 `devflow/roadmap.json` 的 stage / item / backlog 字段
214
- - 下一轮待排队动作写进对应 RM 的 backlog 字段,或交给 `cc-roadmap` 新增 RM
215
- - 不要把噪音和碎念回写成系统真相
216
- - follow-up 必须是 durable brief:用领域语言写 current behavior、desired behavior、key interfaces、acceptance criteria、out of scope
217
- - 独立行为拆独立条目;有依赖关系时写明顺序,方便下一轮并行或排队
218
- - 常规进度用 `../cc-roadmap/scripts/sync-roadmap-progress.sh --rm <RM-ID> --status <state> --req <REQ/FIX> --progress <percent>`
219
- - follow-up 改变阶段顺序或项目优先级时,不在 `cc-act` 临场重排,reroute 到 `cc-roadmap`
220
-
221
- ## Phase 7: Declare The Next Entry
222
-
223
- `cc-act` 结束时必须留下一个明确入口:
224
-
225
- - requirement 真闭环:已经归档,下一轮入口在 backlog / roadmap
226
- - requirement 未完全闭环:`handoff/resume-index.md` 必须告诉下一位从哪里接、怎么验、当前卡点是什么
227
-
228
- ## Recommendation Test
229
-
230
- 交付前过一遍这 4 个问题:
231
-
232
- 1. 看完第一屏,别人能不能立刻知道 ship 模式?
233
- 2. 材料是不是只覆盖当前模式真正需要的内容?
234
- 3. reviewer / 接手者 还需不需要追问“所以我现在该看哪个文件”?
235
- 4. `cc-simplify`、单测、e2e、commit/push 的结果是不是都能追溯?
236
- 5. PR body / release note / handoff / changelog 说的是不是同一套现实?
237
- 6. readiness dashboard 有没有 blocker 或 stale warning?
238
- 7. follow-up 是不是行为契约,而不是“改某文件某行”的易腐烂 TODO?
239
- 8. ship preflight failure 是否有 `ShipPreflightError`、artifact ref 和 rescue action?
240
- 9. rollback guard 是否足够让下一位维护者不靠聊天记录回退?
241
- 10. source RM 的 status、REQ/FIX、progress 是否已经和 ship 现实一致?
242
- 11. `post-merge-closeout` 是否已经跑过 `cc-devflow archive-change <change-key>`,并留下 archive path?如果没有,是否有明确 `ArchiveSkip` blocker 和 retry command?
243
-
244
- 如果第 1 或第 3 题答案不是“能”,说明 `cc-act` 仍然太重或太糊。
245
-
246
- ## Required Outputs
247
-
248
- - `handoff/pr-brief.md`
249
- - `handoff/release-note.md`(需要发布时)
250
- - 更新后的 `handoff/resume-index.md`
251
- - 更新后的 `CLAUDE.md` / README / 架构文档(如果结构或行为变了)
252
- - 必要时更新后的 `devflow/roadmap.json` / `devflow/ROADMAP.md` / `devflow/BACKLOG.md`
253
- - `post-merge-closeout` 必须留下 archive path;未归档只能留下 `ArchiveSkip` blocker,不能宣称闭环完成
254
-
255
- ## Local Kit
256
-
257
- - `assets/PR_BRIEF_TEMPLATE.md` 负责 reviewer / PR 交付骨架
258
- - `assets/RELEASE_NOTE_TEMPLATE.md` 负责对外发布骨架
259
- - `scripts/verify-act-gate.sh` 负责 gate 闭合校验
260
- - `scripts/detect-ship-target.sh` 负责分支与 PR 决策
261
- - `scripts/ensure-ship-branch.sh` 负责把可继续的 detached HEAD 锚定成可推送分支
262
- - `scripts/sync-act-docs.sh` 负责同步 requirement 级文档与 doc target 报告
263
- - `scripts/render-pr-brief.sh` 负责从 requirement 真相源渲染 `pr-brief.md`
264
- - `scripts/generate-status-report.sh` 负责汇总 requirement 与 ship 现状
265
- - `scripts/archive-change.sh` 负责 change 生命周期收尾(归档到 `devflow/changes/archive/YYYY-MM/`)
266
- - `../cc-roadmap/scripts/locate-roadmap-item.sh` 负责定位 source RM
267
- - `../cc-roadmap/scripts/sync-roadmap-progress.sh` 负责回写 roadmap progress 并渲染投影
268
- - `cc-simplify` 负责在 ship 前压掉重复、坏味道、低效实现
269
- - `references/git-commit-guidelines.md` 负责提交规范真相源
270
-
271
- ## Exit Smell
272
-
273
- 如果用户看完结果还会问:
274
-
275
- - “所以现在是提 PR 还是先 handoff?”
276
- - “你真的跑过 simplify、单测、e2e 吗?”
277
- - “为什么要写 release note?”
278
- - “下一位到底从哪里开始接?”
279
-
280
- 那这次 `cc-act` 还没有把复杂度压平。
28
+ Return to `cc-check` when evidence changed. Return to `cc-do` when implementation is unfinished. Do not patch around missing proof in Act.