cc-devflow 4.3.0 → 4.5.0

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 (579) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +70 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
  3. package/.claude/skills/cc-act/SKILL.md +330 -0
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +68 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +29 -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 +245 -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 +200 -0
  13. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +328 -0
  14. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
  15. package/.claude/skills/cc-check/CHANGELOG.md +78 -0
  16. package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
  17. package/.claude/skills/cc-check/SKILL.md +353 -0
  18. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +53 -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 +54 -0
  25. package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
  26. package/.claude/skills/cc-do/SKILL.md +224 -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 +31 -0
  41. package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
  42. package/.claude/skills/cc-investigate/SKILL.md +229 -0
  43. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +56 -0
  44. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +53 -0
  45. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +106 -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 +104 -0
  49. package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
  50. package/.claude/skills/cc-plan/SKILL.md +333 -0
  51. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +156 -0
  52. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +99 -0
  53. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +111 -0
  54. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +80 -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 +119 -0
  60. package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
  61. package/.claude/skills/cc-roadmap/SKILL.md +267 -0
  62. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +46 -0
  63. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +154 -0
  64. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +51 -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 +12 -0
  77. package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
  78. package/.claude/skills/cc-spec-init/SKILL.md +135 -0
  79. package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +64 -0
  80. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +28 -0
  81. package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +35 -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 +80 -4
  86. package/README.md +148 -741
  87. package/README.zh-CN.md +146 -740
  88. package/bin/adapt.js +2 -6
  89. package/bin/cc-devflow-cli.js +287 -166
  90. package/config/distributable-skills.json +24 -0
  91. package/config/schema/cc-devflow-config.schema.json +45 -0
  92. package/config/user-config.template.yml +16 -0
  93. package/docs/CLAUDE.md +10 -6
  94. package/docs/commands/README.md +19 -46
  95. package/docs/commands/README.zh-CN.md +25 -48
  96. package/docs/examples/BY-ARTIFACT.md +7 -0
  97. package/docs/examples/README.md +38 -0
  98. package/docs/examples/START-HERE.md +149 -0
  99. package/docs/examples/example-bindings.json +38 -0
  100. package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
  101. package/docs/examples/full-design-blocked/README.md +55 -0
  102. package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
  103. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
  104. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
  105. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
  106. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
  107. package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
  108. package/docs/examples/local-handoff/BACKLOG.md +45 -0
  109. package/docs/examples/local-handoff/README.md +56 -0
  110. package/docs/examples/local-handoff/ROADMAP.md +45 -0
  111. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
  112. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
  113. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
  114. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
  115. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
  116. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
  117. package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
  118. package/docs/examples/pdca-loop/BACKLOG.md +46 -0
  119. package/docs/examples/pdca-loop/README.md +58 -0
  120. package/docs/examples/pdca-loop/ROADMAP.md +133 -0
  121. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
  122. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
  123. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
  125. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
  126. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
  127. package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
  128. package/docs/examples/scripts/check-example-bindings.sh +116 -0
  129. package/docs/guides/getting-started.md +94 -129
  130. package/docs/guides/getting-started.zh-CN.md +103 -84
  131. package/docs/skill-runtime-migration.md +46 -0
  132. package/docs/v4.3.0-migration-guide.md +60 -225
  133. package/lib/compiler/CLAUDE.md +55 -84
  134. package/lib/compiler/__tests__/drift.test.js +1 -1
  135. package/lib/compiler/__tests__/errors.test.js +0 -1
  136. package/lib/compiler/__tests__/integration.test.js +49 -3
  137. package/lib/compiler/__tests__/manifest.test.js +0 -156
  138. package/lib/compiler/__tests__/parser.test.js +33 -104
  139. package/lib/compiler/__tests__/schemas.test.js +30 -34
  140. package/lib/compiler/__tests__/skills-registry.test.js +114 -0
  141. package/lib/compiler/__tests__/transformer.test.js +5 -9
  142. package/lib/compiler/emitters/antigravity-emitter.js +5 -213
  143. package/lib/compiler/emitters/base-emitter.js +3 -298
  144. package/lib/compiler/emitters/codex-emitter.js +4 -202
  145. package/lib/compiler/emitters/cursor-emitter.js +3 -287
  146. package/lib/compiler/emitters/qwen-emitter.js +4 -176
  147. package/lib/compiler/index.js +65 -345
  148. package/lib/compiler/manifest.js +6 -68
  149. package/lib/compiler/parser.js +31 -63
  150. package/lib/compiler/platforms.js +32 -277
  151. package/lib/compiler/resource-copier.js +176 -6
  152. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
  153. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
  154. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
  155. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
  156. package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
  157. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
  158. package/lib/compiler/rules-emitters/index.js +6 -3
  159. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
  160. package/lib/compiler/schemas.js +8 -4
  161. package/lib/compiler/skills-registry.js +213 -15
  162. package/lib/compiler/transformer.js +1 -1
  163. package/lib/skill-runtime/CLAUDE.md +19 -0
  164. package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
  165. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +291 -0
  166. package/lib/skill-runtime/__tests__/config.test.js +161 -0
  167. package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
  168. package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
  169. package/lib/skill-runtime/__tests__/intent.test.js +219 -0
  170. package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
  171. package/lib/skill-runtime/__tests__/paths.test.js +42 -0
  172. package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
  173. package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
  174. package/lib/skill-runtime/__tests__/query.test.js +284 -0
  175. package/lib/skill-runtime/__tests__/runtime.integration.test.js +281 -0
  176. package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
  177. package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
  178. package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
  179. package/lib/skill-runtime/__tests__/worker.test.js +56 -0
  180. package/lib/skill-runtime/artifacts.js +93 -0
  181. package/lib/skill-runtime/config.js +379 -0
  182. package/lib/skill-runtime/delegation.js +533 -0
  183. package/lib/skill-runtime/index.js +36 -0
  184. package/lib/skill-runtime/intent.js +333 -0
  185. package/lib/skill-runtime/lifecycle.js +294 -0
  186. package/lib/skill-runtime/operations/CLAUDE.md +19 -0
  187. package/lib/skill-runtime/operations/approve.js +66 -0
  188. package/lib/skill-runtime/operations/autopilot-core.js +337 -0
  189. package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
  190. package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
  191. package/lib/skill-runtime/operations/autopilot.js +163 -0
  192. package/lib/skill-runtime/operations/dispatch.js +454 -0
  193. package/lib/skill-runtime/operations/init.js +64 -0
  194. package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
  195. package/lib/skill-runtime/operations/plan.js +59 -0
  196. package/lib/skill-runtime/operations/prepare-pr.js +25 -0
  197. package/lib/skill-runtime/operations/release.js +96 -0
  198. package/lib/skill-runtime/operations/resume.js +143 -0
  199. package/lib/skill-runtime/operations/snapshot.js +45 -0
  200. package/lib/skill-runtime/operations/verify.js +170 -0
  201. package/lib/skill-runtime/operations/worker-run.js +529 -0
  202. package/lib/skill-runtime/operations/worker.js +33 -0
  203. package/lib/skill-runtime/paths.js +213 -0
  204. package/lib/skill-runtime/planner.js +519 -0
  205. package/lib/skill-runtime/query.js +157 -0
  206. package/lib/skill-runtime/review.js +557 -0
  207. package/lib/skill-runtime/schemas.js +400 -0
  208. package/lib/{harness → skill-runtime}/store.js +45 -30
  209. package/lib/skill-runtime/team-state.js +122 -0
  210. package/package.json +13 -11
  211. package/.claude/CLAUDE.md +0 -125
  212. package/.claude/agents/architecture-designer.md +0 -443
  213. package/.claude/agents/bug-analyzer.md +0 -381
  214. package/.claude/agents/checklist-agent.md +0 -175
  215. package/.claude/agents/clarify-analyst.md +0 -50
  216. package/.claude/agents/code-quality-reviewer.md +0 -205
  217. package/.claude/agents/code-reviewer.md +0 -71
  218. package/.claude/agents/codex-analyzer.md +0 -39
  219. package/.claude/agents/compatibility-checker.md +0 -579
  220. package/.claude/agents/consistency-checker.md +0 -532
  221. package/.claude/agents/dev-implementer.md +0 -195
  222. package/.claude/agents/flow-researcher.md +0 -132
  223. package/.claude/agents/impact-analyzer.md +0 -440
  224. package/.claude/agents/planner.md +0 -230
  225. package/.claude/agents/prd-writer.md +0 -320
  226. package/.claude/agents/project-guidelines-generator.md +0 -1329
  227. package/.claude/agents/qa-tester.md +0 -313
  228. package/.claude/agents/release-manager.md +0 -295
  229. package/.claude/agents/security-reviewer.md +0 -314
  230. package/.claude/agents/spec-reviewer.md +0 -221
  231. package/.claude/agents/style-guide-generator.md +0 -458
  232. package/.claude/agents/tech-architect.md +0 -516
  233. package/.claude/agents/ui-designer.md +0 -485
  234. package/.claude/commands/core/architecture.md +0 -459
  235. package/.claude/commands/core/guidelines.md +0 -511
  236. package/.claude/commands/core/roadmap.md +0 -468
  237. package/.claude/commands/core/style.md +0 -83
  238. package/.claude/commands/flow/CLAUDE.md +0 -24
  239. package/.claude/commands/flow/archive.md +0 -280
  240. package/.claude/commands/flow/constitution.md +0 -82
  241. package/.claude/commands/flow/context.md +0 -150
  242. package/.claude/commands/flow/delta.md +0 -245
  243. package/.claude/commands/flow/dev.md +0 -40
  244. package/.claude/commands/flow/fix.md +0 -217
  245. package/.claude/commands/flow/ideate.md +0 -214
  246. package/.claude/commands/flow/init.md +0 -38
  247. package/.claude/commands/flow/release.md +0 -36
  248. package/.claude/commands/flow/restart.md +0 -97
  249. package/.claude/commands/flow/spec.md +0 -36
  250. package/.claude/commands/flow/status.md +0 -64
  251. package/.claude/commands/flow/update.md +0 -111
  252. package/.claude/commands/flow/upgrade.md +0 -115
  253. package/.claude/commands/flow/verify.md +0 -37
  254. package/.claude/commands/flow/workspace.md +0 -155
  255. package/.claude/commands/util/cancel-ralph.md +0 -60
  256. package/.claude/commands/util/code-review.md +0 -58
  257. package/.claude/commands/util/git-commit.md +0 -422
  258. package/.claude/commands/util/problem-analyzer.md +0 -60
  259. package/.claude/config/quality-gates.yml +0 -305
  260. package/.claude/config/quality-rules.yml +0 -161
  261. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
  262. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
  263. package/.claude/docs/design/intent-driven-input-design.md +0 -380
  264. package/.claude/docs/design/prd-version-management-design.md +0 -437
  265. package/.claude/docs/examples/design-inspiration-pool.md +0 -59
  266. package/.claude/docs/examples/ui-prototype-constitution-checklist.md +0 -75
  267. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
  268. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  269. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  270. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  271. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  272. package/.claude/docs/implementation-summary-v7.md +0 -449
  273. package/.claude/docs/spec-format-guide.md +0 -349
  274. package/.claude/docs/state-consolidation-design.md +0 -323
  275. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -332
  276. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  277. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  278. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  279. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  280. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  281. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  282. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  283. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  284. package/.claude/docs/templates/DESIGN_TEMPLATE.md +0 -157
  285. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  286. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  287. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  288. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  289. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  290. package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +0 -91
  291. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  292. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  293. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  294. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  295. package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +0 -139
  296. package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +0 -93
  297. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -479
  298. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -373
  299. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  300. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  301. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  302. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  303. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  304. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  305. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  306. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  307. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  308. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  309. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  310. package/.claude/guides/project-guidelines-system.md +0 -463
  311. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  312. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  313. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  314. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  315. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  316. package/.claude/hooks/CLAUDE.md +0 -342
  317. package/.claude/hooks/checklist-gate.js +0 -397
  318. package/.claude/hooks/error-handling-reminder.sh +0 -12
  319. package/.claude/hooks/error-handling-reminder.ts +0 -459
  320. package/.claude/hooks/hooks.json +0 -15
  321. package/.claude/hooks/inject-agent-context.ts +0 -480
  322. package/.claude/hooks/inject-skill-context.ts +0 -359
  323. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  324. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  325. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  326. package/.claude/hooks/ralph-loop.ts +0 -931
  327. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  328. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  329. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  330. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  331. package/.claude/hooks/task-completed-hook.ts +0 -593
  332. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  333. package/.claude/hooks/types/team-types.d.ts +0 -238
  334. package/.claude/rules/devflow-conventions.md +0 -286
  335. package/.claude/rules/project-constitution.md +0 -1002
  336. package/.claude/rules/rationalization-library.md +0 -282
  337. package/.claude/schemas/constitution.schema.json +0 -43
  338. package/.claude/scripts/.claude/commands/flow/export-openspec.md +0 -221
  339. package/.claude/scripts/.claude/commands/flow/import-openspec.md +0 -171
  340. package/.claude/scripts/CLAUDE.md +0 -76
  341. package/.claude/scripts/__tests__/openspec.test.js +0 -212
  342. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  343. package/.claude/scripts/archive-requirement.sh +0 -394
  344. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  345. package/.claude/scripts/calculate-quarter.sh +0 -206
  346. package/.claude/scripts/check-dependencies.sh +0 -409
  347. package/.claude/scripts/check-prerequisites.sh +0 -232
  348. package/.claude/scripts/check-task-status.sh +0 -288
  349. package/.claude/scripts/checklist-errors.sh +0 -131
  350. package/.claude/scripts/common.sh +0 -1102
  351. package/.claude/scripts/consolidate-research.sh +0 -182
  352. package/.claude/scripts/create-requirement.sh +0 -451
  353. package/.claude/scripts/delta-parser.ts +0 -637
  354. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  355. package/.claude/scripts/export-contracts.sh +0 -117
  356. package/.claude/scripts/export-openspec.js +0 -222
  357. package/.claude/scripts/extract-data-model.sh +0 -78
  358. package/.claude/scripts/flow-context-add.sh +0 -134
  359. package/.claude/scripts/flow-context-init.sh +0 -133
  360. package/.claude/scripts/flow-context-validate.sh +0 -144
  361. package/.claude/scripts/flow-delta-apply.sh +0 -297
  362. package/.claude/scripts/flow-delta-archive.sh +0 -71
  363. package/.claude/scripts/flow-delta-create.sh +0 -202
  364. package/.claude/scripts/flow-delta-list.sh +0 -142
  365. package/.claude/scripts/flow-delta-status.sh +0 -235
  366. package/.claude/scripts/flow-quality-full.sh +0 -215
  367. package/.claude/scripts/flow-quality-quick.sh +0 -119
  368. package/.claude/scripts/flow-workspace-init.sh +0 -117
  369. package/.claude/scripts/flow-workspace-record.sh +0 -164
  370. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  371. package/.claude/scripts/generate-clarification-report.sh +0 -463
  372. package/.claude/scripts/generate-quickstart.sh +0 -146
  373. package/.claude/scripts/generate-research-tasks.sh +0 -157
  374. package/.claude/scripts/generate-status-report.sh +0 -523
  375. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  376. package/.claude/scripts/get-workflow-status.sh +0 -415
  377. package/.claude/scripts/import-openspec.js +0 -272
  378. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  379. package/.claude/scripts/manage-constitution.sh +0 -602
  380. package/.claude/scripts/mark-task-complete.sh +0 -198
  381. package/.claude/scripts/parse-task-dependencies.js +0 -334
  382. package/.claude/scripts/populate-research-tasks.sh +0 -284
  383. package/.claude/scripts/record-quality-error.sh +0 -165
  384. package/.claude/scripts/recover-workflow.sh +0 -463
  385. package/.claude/scripts/run-clarify-scan.sh +0 -601
  386. package/.claude/scripts/run-high-review.sh +0 -62
  387. package/.claude/scripts/run-problem-analysis.sh +0 -68
  388. package/.claude/scripts/run-quality-gates.sh +0 -242
  389. package/.claude/scripts/setup-epic.sh +0 -173
  390. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  391. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  392. package/.claude/scripts/sync-task-marks.sh +0 -199
  393. package/.claude/scripts/team-dev-init.sh +0 -319
  394. package/.claude/scripts/team-state-recovery.sh +0 -229
  395. package/.claude/scripts/test-clarify-scan.sh +0 -515
  396. package/.claude/scripts/update-agent-context.sh +0 -806
  397. package/.claude/scripts/validate-constitution.sh +0 -567
  398. package/.claude/scripts/validate-hooks.sh +0 -487
  399. package/.claude/scripts/validate-research.sh +0 -332
  400. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  401. package/.claude/scripts/validate-scope.sh +0 -200
  402. package/.claude/scripts/verify-gate.sh +0 -269
  403. package/.claude/scripts/verify-setup.sh +0 -37
  404. package/.claude/scripts/workflow-status.ts +0 -433
  405. package/.claude/settings.json +0 -95
  406. package/.claude/skills/_reference-implementations/README.md +0 -96
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  408. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  409. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  410. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  411. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  412. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  413. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  414. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  415. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  416. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  417. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  418. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  419. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  420. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  421. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  422. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  423. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  424. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  425. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  426. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  427. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  428. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  429. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  430. package/.claude/skills/attention-refresh/SKILL.md +0 -170
  431. package/.claude/skills/brainstorming/SKILL.md +0 -161
  432. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  433. package/.claude/skills/constitution-guardian/SKILL.md +0 -306
  434. package/.claude/skills/constitution-quick-ref/SKILL.md +0 -374
  435. package/.claude/skills/debugging/SKILL.md +0 -221
  436. package/.claude/skills/file-standards/SKILL.md +0 -353
  437. package/.claude/skills/finishing-branch/SKILL.md +0 -189
  438. package/.claude/skills/flow-dev/CLAUDE.md +0 -16
  439. package/.claude/skills/flow-dev/SKILL.md +0 -94
  440. package/.claude/skills/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  441. package/.claude/skills/flow-dev/context.jsonl +0 -4
  442. package/.claude/skills/flow-dev/dev-implementer.jsonl +0 -8
  443. package/.claude/skills/flow-dev/scripts/entry-gate.sh +0 -116
  444. package/.claude/skills/flow-dev/scripts/exit-gate.sh +0 -101
  445. package/.claude/skills/flow-dev/scripts/task-orchestrator.sh +0 -106
  446. package/.claude/skills/flow-fix/SKILL.md +0 -105
  447. package/.claude/skills/flow-fix/context.jsonl +0 -6
  448. package/.claude/skills/flow-fix/references/bug-analyzer.md +0 -381
  449. package/.claude/skills/flow-init/SKILL.md +0 -105
  450. package/.claude/skills/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  451. package/.claude/skills/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  452. package/.claude/skills/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  453. package/.claude/skills/flow-init/context.jsonl +0 -5
  454. package/.claude/skills/flow-init/references/flow-researcher.md +0 -132
  455. package/.claude/skills/flow-init/scripts/check-prerequisites.sh +0 -240
  456. package/.claude/skills/flow-init/scripts/consolidate-research.sh +0 -182
  457. package/.claude/skills/flow-init/scripts/create-requirement.sh +0 -404
  458. package/.claude/skills/flow-init/scripts/generate-research-tasks.sh +0 -157
  459. package/.claude/skills/flow-init/scripts/populate-research-tasks.sh +0 -284
  460. package/.claude/skills/flow-init/scripts/validate-research.sh +0 -340
  461. package/.claude/skills/flow-quality/SKILL.md +0 -98
  462. package/.claude/skills/flow-quality/context.jsonl +0 -6
  463. package/.claude/skills/flow-quality/references/code-quality-reviewer.md +0 -205
  464. package/.claude/skills/flow-quality/references/qa-tester.md +0 -313
  465. package/.claude/skills/flow-quality/references/security-reviewer.md +0 -314
  466. package/.claude/skills/flow-quality/references/spec-reviewer.md +0 -221
  467. package/.claude/skills/flow-release/SKILL.md +0 -60
  468. package/.claude/skills/flow-release/context.jsonl +0 -5
  469. package/.claude/skills/flow-release/references/release-manager.md +0 -295
  470. package/.claude/skills/flow-spec/CLAUDE.md +0 -17
  471. package/.claude/skills/flow-spec/SKILL.md +0 -102
  472. package/.claude/skills/flow-spec/context.jsonl +0 -5
  473. package/.claude/skills/flow-spec/scripts/entry-gate.sh +0 -194
  474. package/.claude/skills/flow-spec/scripts/exit-gate.sh +0 -244
  475. package/.claude/skills/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  476. package/.claude/skills/flow-spec/scripts/team-communication.sh +0 -353
  477. package/.claude/skills/flow-spec/scripts/team-init.sh +0 -195
  478. package/.claude/skills/flow-spec/scripts/test-team-mode.sh +0 -496
  479. package/.claude/skills/flow-spec/team-config.json +0 -165
  480. package/.claude/skills/flow-verify/CLAUDE.md +0 -10
  481. package/.claude/skills/flow-verify/SKILL.md +0 -53
  482. package/.claude/skills/flow-verify/context.jsonl +0 -5
  483. package/.claude/skills/fractal-docs/SKILL.md +0 -45
  484. package/.claude/skills/journey-checker/SKILL.md +0 -199
  485. package/.claude/skills/journey-checker/pressure-scenarios.md +0 -164
  486. package/.claude/skills/receiving-review/SKILL.md +0 -153
  487. package/.claude/skills/skill-creator/LICENSE.txt +0 -202
  488. package/.claude/skills/skill-creator/SKILL.md +0 -356
  489. package/.claude/skills/skill-creator/references/output-patterns.md +0 -82
  490. package/.claude/skills/skill-creator/references/workflows.md +0 -28
  491. package/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
  492. package/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
  493. package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -95
  494. package/.claude/skills/skill-rules.json +0 -359
  495. package/.claude/skills/tdd/SKILL.md +0 -218
  496. package/.claude/skills/tdd-enforcer/SKILL.md +0 -192
  497. package/.claude/skills/utility/npm-release/CLAUDE.md +0 -55
  498. package/.claude/skills/utility/npm-release/SKILL.md +0 -379
  499. package/.claude/skills/utility/npm-release/references/version-decision-guide.md +0 -134
  500. package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +0 -95
  501. package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +0 -82
  502. package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +0 -44
  503. package/.claude/skills/verification/SKILL.md +0 -158
  504. package/.claude/skills/workflow.yaml +0 -219
  505. package/.claude/tests/README.md +0 -300
  506. package/.claude/tests/TODO.md +0 -69
  507. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  508. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  509. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  510. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  511. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  512. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  513. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  514. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  515. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  516. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  517. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  518. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  519. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  520. package/.claude/tests/run-all-tests.sh +0 -229
  521. package/.claude/tests/scripts/run.sh +0 -30
  522. package/.claude/tests/scripts/test-framework.sh +0 -128
  523. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  524. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  525. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  526. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  527. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  528. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  529. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  530. package/.claude/tests/scripts/test_common.sh +0 -244
  531. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  532. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  533. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  534. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  535. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  536. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  537. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  538. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  539. package/.claude/tests/slugify.bats +0 -82
  540. package/.claude/tests/test-framework.sh +0 -732
  541. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  542. package/.claude/tests/test_consolidate_research.py +0 -48
  543. package/.claude/tests/test_export_contracts.py +0 -43
  544. package/.claude/tests/test_extract_data_model.py +0 -33
  545. package/.claude/tests/test_generate_quickstart.py +0 -50
  546. package/.claude/tests/test_generate_research_tasks.py +0 -52
  547. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +0 -1
  548. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +0 -2
  549. package/bin/harness.js +0 -22
  550. package/docs/commands/core-roadmap.md +0 -106
  551. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  552. package/docs/commands/core-style.md +0 -53
  553. package/docs/commands/core-style.zh-CN.md +0 -53
  554. package/docs/commands/flow-init.md +0 -140
  555. package/docs/commands/flow-init.zh-CN.md +0 -169
  556. package/docs/commands/flow-new.md +0 -39
  557. package/docs/commands/flow-new.zh-CN.md +0 -39
  558. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  559. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  560. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  561. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  562. package/lib/compiler/context-expander.js +0 -179
  563. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  564. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  565. package/lib/compiler/skill-discovery.js +0 -68
  566. package/lib/harness/CLAUDE.md +0 -22
  567. package/lib/harness/__tests__/planner.tdd.test.js +0 -125
  568. package/lib/harness/cli.js +0 -208
  569. package/lib/harness/index.js +0 -18
  570. package/lib/harness/operations/dispatch.js +0 -298
  571. package/lib/harness/operations/init.js +0 -48
  572. package/lib/harness/operations/pack.js +0 -100
  573. package/lib/harness/operations/plan.js +0 -83
  574. package/lib/harness/operations/release.js +0 -170
  575. package/lib/harness/operations/resume.js +0 -44
  576. package/lib/harness/operations/verify.js +0 -177
  577. package/lib/harness/planner.js +0 -272
  578. package/lib/harness/query.js +0 -126
  579. package/lib/harness/schemas.js +0 -129
@@ -0,0 +1,200 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # cc-act: 从 requirement 真相源渲染 pr-brief.md
7
+ # ------------------------------------------------------------
8
+
9
+ usage() {
10
+ cat <<'EOF'
11
+ Usage: render-pr-brief.sh --dir path/to/change [--out path/to/pr-brief.md] [--repo-root path/to/repo]
12
+ EOF
13
+ }
14
+
15
+ REQ_DIR=""
16
+ OUT_FILE=""
17
+ REPO_ROOT=""
18
+
19
+ while [[ $# -gt 0 ]]; do
20
+ case "$1" in
21
+ --dir) REQ_DIR="$2"; shift 2 ;;
22
+ --out) OUT_FILE="$2"; shift 2 ;;
23
+ --repo-root) REPO_ROOT="$2"; shift 2 ;;
24
+ -h|--help) usage; exit 0 ;;
25
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
26
+ esac
27
+ done
28
+
29
+ if [[ -z "$REQ_DIR" || ! -d "$REQ_DIR" ]]; then
30
+ usage
31
+ exit 1
32
+ fi
33
+
34
+ if [[ -z "$REPO_ROOT" ]]; then
35
+ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
36
+ fi
37
+
38
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
39
+ source "$script_dir/cc-act-common.sh"
40
+ CHANGE_DIR="$(req_act_change_dir "$REQ_DIR")"
41
+ if [[ -z "$OUT_FILE" ]]; then
42
+ OUT_FILE="$(req_act_handoff_dir "$CHANGE_DIR")/pr-brief.md"
43
+ fi
44
+ report_card="$(req_act_report_path "$CHANGE_DIR")"
45
+ manifest="$(req_act_manifest_path "$CHANGE_DIR")"
46
+ tasks_file="$(req_act_tasks_path "$CHANGE_DIR")"
47
+ design_file="$(req_act_contract_path "$CHANGE_DIR")"
48
+ release_note="$(req_act_release_note_path "$CHANGE_DIR")"
49
+ resume_index="$(req_act_resume_index_path "$CHANGE_DIR")"
50
+ doc_sync_report="$(req_act_doc_sync_report_path "$CHANGE_DIR")"
51
+
52
+ "$script_dir/verify-act-gate.sh" --dir "$CHANGE_DIR" >/dev/null
53
+ "$script_dir/sync-act-docs.sh" --dir "$CHANGE_DIR" --repo-root "$REPO_ROOT" >/dev/null
54
+
55
+ ship_context="$("$script_dir/detect-ship-target.sh" 2>/dev/null || true)"
56
+ current_branch="$(req_act_ship_field "$ship_context" "CURRENT_BRANCH")"
57
+ base_branch="$(req_act_ship_field "$ship_context" "BASE_BRANCH")"
58
+ ship_mode="$(req_act_ship_field "$ship_context" "DECISION_HINT")"
59
+ pr_status="$(req_act_ship_field "$ship_context" "PR_STATUS")"
60
+ pr_url="$(req_act_ship_field "$ship_context" "PR_URL")"
61
+
62
+ requirement_id="$(req_act_requirement_id "$manifest" "$CHANGE_DIR")"
63
+ report_summary="$(req_act_report_summary "$report_card")"
64
+ report_verdict="$(req_act_report_verdict "$report_card")"
65
+ output_language="$(req_act_output_language "$report_card")"
66
+ design_goal="$(req_act_design_goal "$design_file")"
67
+ main_risk="$(req_act_main_risk "$design_file")"
68
+
69
+ tmp_changed="$(mktemp)"
70
+ tmp_verify="$(mktemp)"
71
+ tmp_followups="$(mktemp)"
72
+ tmp_evidence="$(mktemp)"
73
+ cleanup() {
74
+ rm -f "$tmp_changed" "$tmp_verify" "$tmp_followups" "$tmp_evidence"
75
+ }
76
+ trap cleanup EXIT
77
+
78
+ req_act_collect_completed_titles "$manifest" "$tasks_file" "$tmp_changed"
79
+ req_act_collect_verification_commands "$manifest" "$tmp_verify"
80
+ req_act_collect_evidence "$report_card" "$tmp_evidence"
81
+ req_act_collect_followups "$report_card" "$manifest" "$tmp_followups"
82
+
83
+ claude_status="manual check required"
84
+ readme_status="manual check required"
85
+ if [[ -f "$doc_sync_report" ]]; then
86
+ if grep -q 'No scoped `CLAUDE.md` target detected' "$doc_sync_report"; then
87
+ claude_status="no scoped CLAUDE target detected"
88
+ else
89
+ claude_status="see doc-sync-report.md"
90
+ fi
91
+ if grep -q 'No README candidate found' "$doc_sync_report"; then
92
+ readme_status="no README candidate found"
93
+ else
94
+ readme_status="see doc-sync-report.md"
95
+ fi
96
+ fi
97
+
98
+ {
99
+ echo "# PR Brief"
100
+ echo
101
+ echo "## Document Meta"
102
+ echo
103
+ echo "- Output language: $output_language"
104
+ echo
105
+ echo "## Requirement"
106
+ echo
107
+ echo "- $requirement_id"
108
+ echo
109
+ echo "## Ship Mode"
110
+ echo
111
+ echo "- \`$ship_mode\`"
112
+ echo
113
+ echo "## Branch Context"
114
+ echo
115
+ echo "- Current branch: ${current_branch:-unknown}"
116
+ echo "- Base branch: ${base_branch:-unknown}"
117
+ if [[ -n "$pr_url" ]]; then
118
+ echo "- PR / MR: $pr_url ($pr_status)"
119
+ else
120
+ echo "- PR / MR: none"
121
+ fi
122
+ echo
123
+ echo "## Summary"
124
+ echo
125
+ if [[ -n "$report_summary" ]]; then
126
+ echo "- $report_summary"
127
+ fi
128
+ if [[ -n "$design_goal" && "$design_goal" != "$report_summary" ]]; then
129
+ echo "- $design_goal"
130
+ fi
131
+ if [[ -z "$report_summary" && -z "$design_goal" ]]; then
132
+ echo "- No top-line summary recorded yet."
133
+ fi
134
+ echo
135
+ echo "## What Changed"
136
+ echo
137
+ if [[ -s "$tmp_changed" ]]; then
138
+ while IFS= read -r line; do
139
+ echo "- $line"
140
+ done < "$tmp_changed"
141
+ else
142
+ echo "- No completed task list captured yet."
143
+ fi
144
+ echo
145
+ echo "## Verification Evidence"
146
+ echo
147
+ echo "- \`report-card.json\` verdict: $report_verdict"
148
+ if [[ -s "$tmp_evidence" ]]; then
149
+ while IFS= read -r line; do
150
+ echo "- $line"
151
+ done < "$tmp_evidence"
152
+ else
153
+ echo "- No evidence lines captured yet."
154
+ fi
155
+ echo
156
+ echo "## Documentation Sync"
157
+ echo
158
+ echo "- \`CLAUDE.md\`: $claude_status"
159
+ echo "- \`README.md\`: $readme_status"
160
+ if [[ -f "$release_note" ]]; then
161
+ echo "- \`release-note.md\`: refreshed"
162
+ else
163
+ echo "- \`release-note.md\`: missing"
164
+ fi
165
+ if [[ -f "$resume_index" ]]; then
166
+ echo "- \`resume-index.md\`: refreshed"
167
+ else
168
+ echo "- \`resume-index.md\`: missing"
169
+ fi
170
+ echo
171
+ echo "## How To Verify"
172
+ echo
173
+ if [[ -s "$tmp_verify" ]]; then
174
+ while IFS= read -r cmd; do
175
+ echo "- \`$cmd\`"
176
+ done < "$tmp_verify"
177
+ else
178
+ echo "- See \`review/report-card.json\` evidence."
179
+ fi
180
+ echo
181
+ echo "## Follow-Ups"
182
+ echo
183
+ if [[ -s "$tmp_followups" ]]; then
184
+ while IFS= read -r line; do
185
+ echo "- $line"
186
+ done < "$tmp_followups"
187
+ else
188
+ echo "- None recorded."
189
+ fi
190
+ echo
191
+ echo "## Risks"
192
+ echo
193
+ if [[ -n "$main_risk" ]]; then
194
+ echo "- $main_risk"
195
+ else
196
+ echo "- No additional risk captured in planning/design.md."
197
+ fi
198
+ } > "$OUT_FILE"
199
+
200
+ echo "Wrote $OUT_FILE"
@@ -0,0 +1,328 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # cc-act: 同步 requirement 级文档,并产出 doc sync 报告
7
+ # ------------------------------------------------------------
8
+
9
+ usage() {
10
+ cat <<'EOF'
11
+ Usage: sync-act-docs.sh --dir path/to/change [--repo-root path/to/repo]
12
+ EOF
13
+ }
14
+
15
+ REQ_DIR=""
16
+ REPO_ROOT=""
17
+
18
+ while [[ $# -gt 0 ]]; do
19
+ case "$1" in
20
+ --dir) REQ_DIR="$2"; shift 2 ;;
21
+ --repo-root) REPO_ROOT="$2"; shift 2 ;;
22
+ -h|--help) usage; exit 0 ;;
23
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
24
+ esac
25
+ done
26
+
27
+ if [[ -z "$REQ_DIR" || ! -d "$REQ_DIR" ]]; then
28
+ usage
29
+ exit 1
30
+ fi
31
+
32
+ if [[ -z "$REPO_ROOT" ]]; then
33
+ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
34
+ fi
35
+
36
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
37
+ source "$script_dir/cc-act-common.sh"
38
+ CHANGE_DIR="$(req_act_change_dir "$REQ_DIR")"
39
+ report_card="$(req_act_report_path "$CHANGE_DIR")"
40
+ manifest="$(req_act_manifest_path "$CHANGE_DIR")"
41
+ tasks_file="$(req_act_tasks_path "$CHANGE_DIR")"
42
+ design_file="$(req_act_contract_path "$CHANGE_DIR")"
43
+ resume_index="$(req_act_resume_index_path "$CHANGE_DIR")"
44
+ release_note="$(req_act_release_note_path "$CHANGE_DIR")"
45
+ doc_sync_report="$(req_act_doc_sync_report_path "$CHANGE_DIR")"
46
+
47
+ "$script_dir/verify-act-gate.sh" --dir "$CHANGE_DIR" >/dev/null
48
+ mkdir -p "$(dirname "$resume_index")"
49
+
50
+ ship_context="$("$script_dir/detect-ship-target.sh" 2>/dev/null || true)"
51
+ current_branch="$(req_act_ship_field "$ship_context" "CURRENT_BRANCH")"
52
+ base_branch="$(req_act_ship_field "$ship_context" "BASE_BRANCH")"
53
+ ship_mode="$(req_act_ship_field "$ship_context" "DECISION_HINT")"
54
+ pr_status="$(req_act_ship_field "$ship_context" "PR_STATUS")"
55
+ pr_url="$(req_act_ship_field "$ship_context" "PR_URL")"
56
+
57
+ timestamp="$(date '+%Y-%m-%d %H:%M:%S %z')"
58
+ requirement_id="$(req_act_requirement_id "$manifest" "$CHANGE_DIR")"
59
+ report_summary="$(req_act_report_summary "$report_card")"
60
+ report_verdict="$(req_act_report_verdict "$report_card")"
61
+ spec_sync_ready="$(req_act_spec_sync_ready "$report_card")"
62
+ output_language="$(req_act_output_language "$report_card")"
63
+ design_goal="$(req_act_design_goal "$design_file")"
64
+ main_risk="$(req_act_main_risk "$design_file")"
65
+
66
+ tmp_changed="$(mktemp)"
67
+ tmp_verify="$(mktemp)"
68
+ tmp_followups="$(mktemp)"
69
+ tmp_touched="$(mktemp)"
70
+ tmp_specs="$(mktemp)"
71
+ tmp_claude="$(mktemp)"
72
+ tmp_readme="$(mktemp)"
73
+ cleanup() {
74
+ rm -f "$tmp_changed" "$tmp_verify" "$tmp_followups" "$tmp_touched" "$tmp_specs" "$tmp_claude" "$tmp_readme"
75
+ }
76
+ trap cleanup EXIT
77
+
78
+ # ------------------------------------------------------------
79
+ # 共享提取:变更 / 验证 / follow-up / touched
80
+ # ------------------------------------------------------------
81
+ req_act_collect_completed_titles "$manifest" "$tasks_file" "$tmp_changed"
82
+ req_act_collect_verification_commands "$manifest" "$tmp_verify"
83
+ req_act_collect_followups "$report_card" "$manifest" "$tmp_followups"
84
+ req_act_collect_touched_files "$manifest" "$tmp_touched"
85
+ req_act_collect_spec_files "$manifest" "$tmp_specs"
86
+
87
+ nearest_claude() {
88
+ local rel="$1"
89
+ local dir candidate
90
+
91
+ if [[ -z "$rel" ]]; then
92
+ return 0
93
+ fi
94
+
95
+ dir="$(dirname "$rel")"
96
+ while :; do
97
+ if [[ "$dir" == "." ]]; then
98
+ candidate="$REPO_ROOT/CLAUDE.md"
99
+ else
100
+ candidate="$REPO_ROOT/$dir/CLAUDE.md"
101
+ fi
102
+ if [[ -f "$candidate" ]]; then
103
+ printf '%s\n' "${candidate#$REPO_ROOT/}"
104
+ return 0
105
+ fi
106
+ if [[ "$dir" == "." || "$dir" == "/" ]]; then
107
+ break
108
+ fi
109
+ dir="$(dirname "$dir")"
110
+ done
111
+
112
+ if [[ -f "$REPO_ROOT/CLAUDE.md" ]]; then
113
+ printf '%s\n' "CLAUDE.md"
114
+ fi
115
+ }
116
+
117
+ while IFS= read -r touched; do
118
+ nearest_claude "$touched" >> "$tmp_claude" || true
119
+ done < "$tmp_touched"
120
+ awk 'NF && !seen[$0]++' "$tmp_claude" > "${tmp_claude}.dedup"
121
+ mv "${tmp_claude}.dedup" "$tmp_claude"
122
+
123
+ find "$REPO_ROOT" -maxdepth 2 -type f \( -iname 'README.md' -o -iname 'README*.md' \) \
124
+ -print 2>/dev/null | sed "s|^$REPO_ROOT/||" | awk '!seen[$0]++' > "$tmp_readme" || true
125
+
126
+ # ------------------------------------------------------------
127
+ # 生成 release note
128
+ # ------------------------------------------------------------
129
+ {
130
+ echo "# Release Note"
131
+ echo
132
+ echo "## Document Meta"
133
+ echo
134
+ echo "- Output language: $output_language"
135
+ echo
136
+ echo "## User Impact"
137
+ if [[ -n "$report_summary" ]]; then
138
+ echo
139
+ echo "- $report_summary"
140
+ fi
141
+ if [[ -n "$design_goal" && "$design_goal" != "$report_summary" ]]; then
142
+ echo "- $design_goal"
143
+ fi
144
+ if [[ ! -s "$tmp_changed" && -z "$report_summary" && -z "$design_goal" ]]; then
145
+ echo
146
+ echo "- No user-facing summary captured yet."
147
+ fi
148
+ echo
149
+ echo "## What Is New"
150
+ if [[ -s "$tmp_changed" ]]; then
151
+ while IFS= read -r line; do
152
+ echo "- $line"
153
+ done < "$tmp_changed"
154
+ else
155
+ echo
156
+ echo "- No completed task list captured yet."
157
+ fi
158
+ echo
159
+ echo "## Verification"
160
+ echo
161
+ echo "- CC-Check verdict: $report_verdict"
162
+ jq -r '(.evidence // [])[]?' "$report_card" 2>/dev/null | sed '/^$/d' | while IFS= read -r line; do
163
+ echo "- $line"
164
+ done
165
+ if [[ -s "$tmp_verify" ]]; then
166
+ while IFS= read -r cmd; do
167
+ echo "- Verify with: \`$cmd\`"
168
+ done < "$tmp_verify"
169
+ fi
170
+ echo
171
+ echo "## Ops Notes"
172
+ echo
173
+ echo "- Ship mode: $ship_mode"
174
+ echo "- Spec sync ready: $spec_sync_ready"
175
+ echo "- Current branch: ${current_branch:-unknown}"
176
+ echo "- Base branch: ${base_branch:-unknown}"
177
+ [[ -n "$pr_status" ]] && echo "- PR status: $pr_status"
178
+ [[ -n "$pr_url" ]] && echo "- PR url: $pr_url"
179
+ echo
180
+ echo "## Follow-Ups"
181
+ if [[ -s "$tmp_followups" ]]; then
182
+ echo
183
+ while IFS= read -r line; do
184
+ echo "- $line"
185
+ done < "$tmp_followups"
186
+ else
187
+ echo
188
+ echo "- None recorded."
189
+ fi
190
+ } > "$release_note"
191
+
192
+ # ------------------------------------------------------------
193
+ # 生成 resume index
194
+ # ------------------------------------------------------------
195
+ next_action="Refresh handoff and close the requirement."
196
+ case "$ship_mode" in
197
+ create-pr) next_action="Push current branch and create PR / MR from pr-brief.md." ;;
198
+ update-pr) next_action="Refresh the open PR / MR body and resolve outstanding review feedback." ;;
199
+ local-handoff) next_action="Hand off with pr-brief.md and this resume index." ;;
200
+ post-merge-closeout) next_action="Finish release note, backlog writeback, and archive the requirement." ;;
201
+ esac
202
+
203
+ {
204
+ echo "# Resume Index"
205
+ echo
206
+ echo "## Document Meta"
207
+ echo
208
+ echo "- Output language: $output_language"
209
+ echo
210
+ echo "- Requirement: $requirement_id"
211
+ echo "- Current stage: cc-act"
212
+ echo "- Current task: ship:$ship_mode"
213
+ if [[ -s "$tmp_followups" ]]; then
214
+ echo "- Ready tasks: follow-up review"
215
+ else
216
+ echo "- Ready tasks: none"
217
+ fi
218
+ echo "- Updated at: $timestamp"
219
+ echo
220
+ echo "## Last Good Checkpoint"
221
+ echo
222
+ if [[ -n "$report_summary" ]]; then
223
+ echo "- $report_summary"
224
+ else
225
+ echo "- Req-Check passed; see review/report-card.json for evidence."
226
+ fi
227
+ echo "- Ship mode decided as \`$ship_mode\`."
228
+ [[ -n "$pr_url" ]] && echo "- Active PR / MR: $pr_url"
229
+ echo
230
+ echo "## Follow-Ups"
231
+ echo
232
+ if [[ -s "$tmp_followups" ]]; then
233
+ while IFS= read -r line; do
234
+ echo "- $line"
235
+ done < "$tmp_followups"
236
+ else
237
+ echo "- None."
238
+ fi
239
+ echo
240
+ echo "## Next Action"
241
+ echo
242
+ echo "- $next_action"
243
+ echo "- Formal spec sync belongs in cc-act before final ship closeout."
244
+ echo
245
+ echo "## Parallel Notes"
246
+ echo
247
+ echo "- Safe to parallelize: documentation review, backlog wording, release note polish."
248
+ echo "- Must stay sequential: cc-check pass -> doc sync -> pr brief render -> ship action."
249
+ } > "$resume_index"
250
+
251
+ # ------------------------------------------------------------
252
+ # 生成 doc sync 报告:要求人工关注的项目级文档目标
253
+ # ------------------------------------------------------------
254
+ {
255
+ echo "# Doc Sync Report"
256
+ echo
257
+ echo "## Document Meta"
258
+ echo
259
+ echo "- Output language: $output_language"
260
+ echo
261
+ echo "- Requirement: $requirement_id"
262
+ echo "- Ship mode: $ship_mode"
263
+ echo "- CC-Check verdict: $report_verdict"
264
+ echo "- Spec sync ready: $spec_sync_ready"
265
+ echo "- Updated at: $timestamp"
266
+ echo
267
+ echo "## Synced Requirement Artifacts"
268
+ echo
269
+ echo "- \`handoff/release-note.md\`: refreshed"
270
+ echo "- \`resume-index.md\`: refreshed"
271
+ echo
272
+ echo "## Touched Files"
273
+ echo
274
+ if [[ -s "$tmp_touched" ]]; then
275
+ while IFS= read -r line; do
276
+ echo "- \`$line\`"
277
+ done < "$tmp_touched"
278
+ else
279
+ echo "- No touched files recorded in task-manifest.json."
280
+ fi
281
+ echo
282
+ echo "## Spec Targets"
283
+ echo
284
+ if [[ -s "$tmp_specs" ]]; then
285
+ while IFS= read -r line; do
286
+ echo "- \`$line\`"
287
+ done < "$tmp_specs"
288
+ else
289
+ echo "- No capability spec files recorded in task-manifest.json."
290
+ fi
291
+ echo
292
+ echo "## Project Doc Targets"
293
+ echo
294
+ echo "### CLAUDE Targets"
295
+ if [[ -s "$tmp_claude" ]]; then
296
+ echo
297
+ while IFS= read -r line; do
298
+ echo "- \`$line\`"
299
+ done < "$tmp_claude"
300
+ else
301
+ echo
302
+ echo "- No scoped \`CLAUDE.md\` target detected from touched files."
303
+ fi
304
+ echo
305
+ echo "### README Candidates"
306
+ if [[ -s "$tmp_readme" ]]; then
307
+ echo
308
+ while IFS= read -r line; do
309
+ echo "- \`$line\`"
310
+ done < "$tmp_readme"
311
+ else
312
+ echo
313
+ echo "- No README candidate found under repo root."
314
+ fi
315
+ echo
316
+ echo "## Manual Follow-Ups"
317
+ echo
318
+ echo "- Update the listed \`CLAUDE.md\` files if structure, workflow, or operational truth changed."
319
+ echo "- Update README candidates if user-visible behavior or setup flow changed."
320
+ echo "- Re-render \`pr-brief.md\` after any manual doc edits so the PR body stays in sync."
321
+ if [[ -n "$main_risk" ]]; then
322
+ echo "- Main risk to reflect in docs: $main_risk"
323
+ fi
324
+ } > "$doc_sync_report"
325
+
326
+ echo "Synced $release_note"
327
+ echo "Synced $resume_index"
328
+ echo "Wrote $doc_sync_report"
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # cc-act: 校验 Check 阶段是否真的闭合
7
+ # ------------------------------------------------------------
8
+
9
+ usage() {
10
+ cat <<'EOF'
11
+ Usage: verify-act-gate.sh --dir path/to/change
12
+ EOF
13
+ }
14
+
15
+ REQ_DIR=""
16
+ while [[ $# -gt 0 ]]; do
17
+ case "$1" in
18
+ --dir) REQ_DIR="$2"; shift 2 ;;
19
+ -h|--help) usage; exit 0 ;;
20
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
21
+ esac
22
+ done
23
+
24
+ if [[ -z "$REQ_DIR" || ! -d "$REQ_DIR" ]]; then
25
+ usage
26
+ exit 1
27
+ fi
28
+
29
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
30
+ source "$script_dir/cc-act-common.sh"
31
+ CHANGE_DIR="$(req_act_change_dir "$REQ_DIR")"
32
+ report_card="$(req_act_report_path "$CHANGE_DIR")"
33
+ tasks_file="$(req_act_tasks_path "$CHANGE_DIR")"
34
+
35
+ [[ -f "$report_card" ]] || { echo "Gate open: missing report-card.json" >&2; exit 1; }
36
+
37
+ verdict="$(jq -r '.verdict // "unknown"' "$report_card" 2>/dev/null || echo unknown)"
38
+ reroute="$(jq -r '.reroute // "unknown"' "$report_card" 2>/dev/null || echo unknown)"
39
+ spec_sync_ready="$(jq -r '.specSyncReady // false' "$report_card" 2>/dev/null || echo false)"
40
+ evidence_count="$(jq -r '(.evidence // []) | length' "$report_card" 2>/dev/null || echo 0)"
41
+ gap_count="$(jq -r '(.gaps // []) | length' "$report_card" 2>/dev/null || echo 0)"
42
+
43
+ remaining_tasks="0"
44
+ if [[ -f "$tasks_file" ]]; then
45
+ remaining_tasks="$(awk '/^- \[ \]/{c++} END{print c+0}' "$tasks_file" 2>/dev/null || echo 0)"
46
+ fi
47
+
48
+ [[ "$verdict" == "pass" ]] || { echo "Gate open: verdict=$verdict" >&2; exit 1; }
49
+ [[ "$reroute" == "none" ]] || { echo "Gate open: reroute=$reroute" >&2; exit 1; }
50
+ [[ "$spec_sync_ready" == "true" ]] || { echo "Gate open: spec_sync_ready=$spec_sync_ready" >&2; exit 1; }
51
+ [[ "$evidence_count" -gt 0 ]] || { echo "Gate open: evidence is empty" >&2; exit 1; }
52
+ [[ "$gap_count" -eq 0 ]] || { echo "Gate open: gaps=$gap_count" >&2; exit 1; }
53
+ [[ "$remaining_tasks" -eq 0 ]] || { echo "Gate open: remaining_tasks=$remaining_tasks" >&2; exit 1; }
54
+
55
+ cat <<EOF
56
+ GATE=closed
57
+ VERDICT=$verdict
58
+ REROUTE=$reroute
59
+ SPEC_SYNC_READY=$spec_sync_ready
60
+ EVIDENCE_COUNT=$evidence_count
61
+ GAP_COUNT=$gap_count
62
+ REMAINING_TASKS=$remaining_tasks
63
+ EOF
@@ -0,0 +1,78 @@
1
+ # CC-Check Skill Changelog
2
+
3
+ ## v1.8.2 - 2026-04-27
4
+
5
+ - require verification reports to resolve the runtime output policy before writing human-readable verdicts or summaries
6
+ - record `Output language` as the machine-enforced language contract while treating `agent_preferences` as advisory style input
7
+
8
+ ## v1.8.1 - 2026-04-25
9
+
10
+ - remove external tool provenance from the public skill contract so diff review reads as native `cc-check` behavior
11
+ - keep plan completion, scope drift, critical pass, outside-diff lookup, and documentation staleness requirements unchanged
12
+
13
+ ## v1.8.0 - 2026-04-24
14
+
15
+ - add the native `cc-check` requirement diff review contract
16
+ - add plan completion audit, scope drift detection, critical pass categories, outside-diff lookup, documentation staleness, and adversarial synthesis to the review pipeline
17
+ - require findings to carry severity, confidence, source, evidence, and action so report cards route failures without chat-memory interpretation
18
+
19
+ Migration note:
20
+
21
+ - new `review/report-card.json` files should populate `review.diffReview` with plan completion, scope drift, critical pass, and documentation staleness facts when applicable
22
+
23
+ ## v1.7.0 - 2026-04-23
24
+
25
+ - tighten the public skill around an explicit `NO PASS WITHOUT FRESH EVIDENCE` iron law so `cc-check` cannot degrade into inherited narration from `cc-do`
26
+ - add a four-phase verification model, layered boundary checks, and stop-reset signals in native verification semantics
27
+ - clarify that runtime gates, review proof, requirement diff truth, and spec sync readiness are separate layers and any single-layer drift blocks `pass`
28
+
29
+ ## v1.6.0 - 2026-04-19
30
+
31
+ - extend `report-card.json` with `specAlignment`, `specDeltaVerified`, `specSyncReady`, and `gaps` so closeout can judge spec readiness directly
32
+ - teach the report renderer to derive spec verification signals from manifest capability metadata
33
+ - relax gate validation to accept both existing reports and the richer spec-aware fields during the transition
34
+
35
+ Migration note:
36
+
37
+ - new `cc-check` runs should write the spec-aware report fields
38
+ - old reports remain structurally valid during migration
39
+
40
+ ## v1.5.0 - 2026-04-17
41
+
42
+ - accept `ANALYSIS.md` as an upstream verification contract so investigated bug fixes can flow through the same evidence gate
43
+ - add `cc-investigate` as an explicit reroute target when verification disproves the current root-cause story
44
+ - teach report rendering and gate validation scripts about the new reroute so blocked bug fixes stop at the right stage
45
+
46
+ ## v1.4.0 - 2026-04-17
47
+
48
+ - move quality-gate execution and report-card assembly into skill-local scripts so `lib/harness/operations/verify.js` becomes a thinner shell
49
+ - add `scripts/render-report-card.js` as the skill-local report renderer
50
+ - teach `run-quality-gates.sh` to emit `skipped` gates explicitly instead of faking green passes for missing scripts
51
+
52
+ Migration note:
53
+
54
+ - `report-card.json` shape stays compatible
55
+ - internal callers should prefer the cc-check scripts for gate execution and report rendering logic
56
+
57
+ ## v1.3.0 - 2026-04-17
58
+
59
+ - add structured frontmatter contract fields so cc-check can be consumed as an independent evaluator stage
60
+ - add `Harness Contract` and `Visible State Machine` to make pass/fail/blocked routing explicit in the public skill surface
61
+ - tighten the clean-room reset language so verdicts are rebuilt from fresh evidence instead of execution narration
62
+
63
+ Migration note:
64
+
65
+ - `report-card.json` shape remains compatible
66
+ - publish validation and registry generation now expect the new frontmatter keys on this public skill
67
+
68
+ ## v1.2.0 - 2026-04-15
69
+
70
+ - upgrade `REPORT_CARD_TEMPLATE.json` with realistic gate, review, and blocking examples
71
+ - make the default template teach reroute and evidence quality on first read
72
+
73
+ ## v1.1.0 - 2026-04-15
74
+
75
+ - add `version` frontmatter and semver tracking
76
+ - add stronger trigger phrases in frontmatter
77
+ - add `Quick Start` to classify evidence reality before selecting a verdict
78
+ - strengthen `Good Output` expectations so reroute and proof are obvious on first read