cc-devflow 4.2.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 (559) 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 +101 -4
  86. package/README.md +120 -755
  87. package/README.zh-CN.md +119 -755
  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 +111 -0
  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/{harness → skill-runtime}/operations/release.js +18 -5
  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 -28
  235. package/.claude/commands/flow/archive.md +0 -280
  236. package/.claude/commands/flow/checklist.md +0 -18
  237. package/.claude/commands/flow/clarify.md +0 -18
  238. package/.claude/commands/flow/constitution.md +0 -82
  239. package/.claude/commands/flow/context.md +0 -150
  240. package/.claude/commands/flow/delta.md +0 -245
  241. package/.claude/commands/flow/dev.md +0 -40
  242. package/.claude/commands/flow/fix.md +0 -217
  243. package/.claude/commands/flow/ideate.md +0 -214
  244. package/.claude/commands/flow/init.md +0 -38
  245. package/.claude/commands/flow/new.md +0 -23
  246. package/.claude/commands/flow/quality.md +0 -21
  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/guides/INIT_TROUBLESHOOTING.md +0 -117
  266. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  267. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  268. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  269. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  270. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -633
  271. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  272. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  273. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  274. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  275. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  276. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  277. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  278. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  279. package/.claude/docs/templates/EPIC_TEMPLATE.md +0 -805
  280. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  281. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  282. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  283. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  284. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  285. package/.claude/docs/templates/PRD_TEMPLATE.md +0 -562
  286. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  287. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  288. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  289. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  290. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -1266
  291. package/.claude/docs/templates/TASKS_TEMPLATE.md +0 -523
  292. package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +0 -1019
  293. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -1435
  294. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  295. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  296. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  297. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  298. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  299. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  300. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  301. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  302. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  303. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  304. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  305. package/.claude/guides/project-guidelines-system.md +0 -463
  306. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  307. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  308. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  309. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  310. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  311. package/.claude/hooks/CLAUDE.md +0 -342
  312. package/.claude/hooks/checklist-gate.js +0 -397
  313. package/.claude/hooks/error-handling-reminder.sh +0 -12
  314. package/.claude/hooks/error-handling-reminder.ts +0 -459
  315. package/.claude/hooks/hooks.json +0 -15
  316. package/.claude/hooks/inject-agent-context.ts +0 -480
  317. package/.claude/hooks/inject-skill-context.ts +0 -359
  318. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  319. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  320. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  321. package/.claude/hooks/ralph-loop.ts +0 -931
  322. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  323. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  324. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  325. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  326. package/.claude/hooks/task-completed-hook.ts +0 -593
  327. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  328. package/.claude/hooks/types/team-types.d.ts +0 -238
  329. package/.claude/rules/devflow-conventions.md +0 -286
  330. package/.claude/rules/project-constitution.md +0 -1002
  331. package/.claude/rules/rationalization-library.md +0 -282
  332. package/.claude/schemas/constitution.schema.json +0 -43
  333. package/.claude/scripts/CLAUDE.md +0 -76
  334. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  335. package/.claude/scripts/archive-requirement.sh +0 -394
  336. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  337. package/.claude/scripts/calculate-quarter.sh +0 -206
  338. package/.claude/scripts/check-dependencies.sh +0 -409
  339. package/.claude/scripts/check-prerequisites.sh +0 -232
  340. package/.claude/scripts/check-task-status.sh +0 -288
  341. package/.claude/scripts/checklist-errors.sh +0 -131
  342. package/.claude/scripts/common.sh +0 -1102
  343. package/.claude/scripts/consolidate-research.sh +0 -182
  344. package/.claude/scripts/create-requirement.sh +0 -451
  345. package/.claude/scripts/delta-parser.ts +0 -527
  346. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  347. package/.claude/scripts/export-contracts.sh +0 -117
  348. package/.claude/scripts/extract-data-model.sh +0 -78
  349. package/.claude/scripts/flow-context-add.sh +0 -134
  350. package/.claude/scripts/flow-context-init.sh +0 -133
  351. package/.claude/scripts/flow-context-validate.sh +0 -144
  352. package/.claude/scripts/flow-delta-apply.sh +0 -297
  353. package/.claude/scripts/flow-delta-archive.sh +0 -71
  354. package/.claude/scripts/flow-delta-create.sh +0 -202
  355. package/.claude/scripts/flow-delta-list.sh +0 -142
  356. package/.claude/scripts/flow-delta-status.sh +0 -235
  357. package/.claude/scripts/flow-quality-full.sh +0 -215
  358. package/.claude/scripts/flow-quality-quick.sh +0 -119
  359. package/.claude/scripts/flow-workspace-init.sh +0 -117
  360. package/.claude/scripts/flow-workspace-record.sh +0 -164
  361. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  362. package/.claude/scripts/generate-clarification-report.sh +0 -463
  363. package/.claude/scripts/generate-quickstart.sh +0 -146
  364. package/.claude/scripts/generate-research-tasks.sh +0 -157
  365. package/.claude/scripts/generate-status-report.sh +0 -523
  366. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  367. package/.claude/scripts/get-workflow-status.sh +0 -415
  368. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  369. package/.claude/scripts/manage-constitution.sh +0 -602
  370. package/.claude/scripts/mark-task-complete.sh +0 -198
  371. package/.claude/scripts/parse-task-dependencies.js +0 -334
  372. package/.claude/scripts/populate-research-tasks.sh +0 -284
  373. package/.claude/scripts/record-quality-error.sh +0 -165
  374. package/.claude/scripts/recover-workflow.sh +0 -463
  375. package/.claude/scripts/run-clarify-scan.sh +0 -601
  376. package/.claude/scripts/run-high-review.sh +0 -62
  377. package/.claude/scripts/run-problem-analysis.sh +0 -68
  378. package/.claude/scripts/run-quality-gates.sh +0 -242
  379. package/.claude/scripts/setup-epic.sh +0 -173
  380. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  381. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  382. package/.claude/scripts/sync-task-marks.sh +0 -199
  383. package/.claude/scripts/team-dev-init.sh +0 -319
  384. package/.claude/scripts/team-state-recovery.sh +0 -229
  385. package/.claude/scripts/test-clarify-scan.sh +0 -515
  386. package/.claude/scripts/update-agent-context.sh +0 -806
  387. package/.claude/scripts/validate-constitution.sh +0 -567
  388. package/.claude/scripts/validate-hooks.sh +0 -487
  389. package/.claude/scripts/validate-research.sh +0 -332
  390. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  391. package/.claude/scripts/verify-gate.sh +0 -269
  392. package/.claude/scripts/verify-setup.sh +0 -37
  393. package/.claude/scripts/workflow-status.ts +0 -433
  394. package/.claude/settings.json +0 -95
  395. package/.claude/skills/_reference-implementations/README.md +0 -96
  396. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  397. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  398. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  399. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  400. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  401. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  402. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  403. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  404. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  405. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  406. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  408. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  409. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  410. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  411. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  412. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  413. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  414. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  415. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  416. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  417. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  418. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  419. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  420. package/.claude/skills/domain/attention-refresh/SKILL.md +0 -170
  421. package/.claude/skills/domain/brainstorming/SKILL.md +0 -161
  422. package/.claude/skills/domain/debugging/SKILL.md +0 -221
  423. package/.claude/skills/domain/finishing-branch/SKILL.md +0 -189
  424. package/.claude/skills/domain/receiving-review/SKILL.md +0 -153
  425. package/.claude/skills/domain/tdd/SKILL.md +0 -218
  426. package/.claude/skills/domain/verification/SKILL.md +0 -158
  427. package/.claude/skills/guardrail/constitution-guardian/SKILL.md +0 -306
  428. package/.claude/skills/guardrail/tdd-enforcer/SKILL.md +0 -192
  429. package/.claude/skills/skill-rules.json +0 -359
  430. package/.claude/skills/utility/constitution-quick-ref/SKILL.md +0 -374
  431. package/.claude/skills/utility/file-standards/SKILL.md +0 -353
  432. package/.claude/skills/utility/fractal-docs/SKILL.md +0 -45
  433. package/.claude/skills/utility/journey-checker/SKILL.md +0 -199
  434. package/.claude/skills/utility/journey-checker/pressure-scenarios.md +0 -164
  435. package/.claude/skills/utility/npm-release/SKILL.md +0 -314
  436. package/.claude/skills/utility/skill-creator/LICENSE.txt +0 -202
  437. package/.claude/skills/utility/skill-creator/SKILL.md +0 -356
  438. package/.claude/skills/utility/skill-creator/references/output-patterns.md +0 -82
  439. package/.claude/skills/utility/skill-creator/references/workflows.md +0 -28
  440. package/.claude/skills/utility/skill-creator/scripts/init_skill.py +0 -303
  441. package/.claude/skills/utility/skill-creator/scripts/package_skill.py +0 -110
  442. package/.claude/skills/utility/skill-creator/scripts/quick_validate.py +0 -95
  443. package/.claude/skills/workflow/CLAUDE.md +0 -24
  444. package/.claude/skills/workflow/flow-dev/CLAUDE.md +0 -16
  445. package/.claude/skills/workflow/flow-dev/SKILL.md +0 -94
  446. package/.claude/skills/workflow/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  447. package/.claude/skills/workflow/flow-dev/context.jsonl +0 -4
  448. package/.claude/skills/workflow/flow-dev/dev-implementer.jsonl +0 -8
  449. package/.claude/skills/workflow/flow-dev/scripts/entry-gate.sh +0 -116
  450. package/.claude/skills/workflow/flow-dev/scripts/exit-gate.sh +0 -101
  451. package/.claude/skills/workflow/flow-dev/scripts/task-orchestrator.sh +0 -106
  452. package/.claude/skills/workflow/flow-fix/SKILL.md +0 -105
  453. package/.claude/skills/workflow/flow-fix/context.jsonl +0 -6
  454. package/.claude/skills/workflow/flow-fix/references/bug-analyzer.md +0 -381
  455. package/.claude/skills/workflow/flow-init/SKILL.md +0 -84
  456. package/.claude/skills/workflow/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  457. package/.claude/skills/workflow/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  458. package/.claude/skills/workflow/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  459. package/.claude/skills/workflow/flow-init/context.jsonl +0 -5
  460. package/.claude/skills/workflow/flow-init/references/flow-researcher.md +0 -132
  461. package/.claude/skills/workflow/flow-init/scripts/check-prerequisites.sh +0 -240
  462. package/.claude/skills/workflow/flow-init/scripts/consolidate-research.sh +0 -182
  463. package/.claude/skills/workflow/flow-init/scripts/create-requirement.sh +0 -404
  464. package/.claude/skills/workflow/flow-init/scripts/generate-research-tasks.sh +0 -157
  465. package/.claude/skills/workflow/flow-init/scripts/populate-research-tasks.sh +0 -284
  466. package/.claude/skills/workflow/flow-init/scripts/validate-research.sh +0 -340
  467. package/.claude/skills/workflow/flow-quality/SKILL.md +0 -98
  468. package/.claude/skills/workflow/flow-quality/context.jsonl +0 -6
  469. package/.claude/skills/workflow/flow-quality/references/code-quality-reviewer.md +0 -205
  470. package/.claude/skills/workflow/flow-quality/references/qa-tester.md +0 -313
  471. package/.claude/skills/workflow/flow-quality/references/security-reviewer.md +0 -314
  472. package/.claude/skills/workflow/flow-quality/references/spec-reviewer.md +0 -221
  473. package/.claude/skills/workflow/flow-release/SKILL.md +0 -49
  474. package/.claude/skills/workflow/flow-release/context.jsonl +0 -5
  475. package/.claude/skills/workflow/flow-release/references/release-manager.md +0 -295
  476. package/.claude/skills/workflow/flow-spec/CLAUDE.md +0 -17
  477. package/.claude/skills/workflow/flow-spec/SKILL.md +0 -74
  478. package/.claude/skills/workflow/flow-spec/context.jsonl +0 -5
  479. package/.claude/skills/workflow/flow-spec/scripts/entry-gate.sh +0 -194
  480. package/.claude/skills/workflow/flow-spec/scripts/exit-gate.sh +0 -244
  481. package/.claude/skills/workflow/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  482. package/.claude/skills/workflow/flow-spec/scripts/team-communication.sh +0 -353
  483. package/.claude/skills/workflow/flow-spec/scripts/team-init.sh +0 -195
  484. package/.claude/skills/workflow/flow-spec/scripts/test-team-mode.sh +0 -496
  485. package/.claude/skills/workflow/flow-spec/team-config.json +0 -165
  486. package/.claude/skills/workflow/flow-verify/CLAUDE.md +0 -10
  487. package/.claude/skills/workflow/flow-verify/SKILL.md +0 -53
  488. package/.claude/skills/workflow/flow-verify/context.jsonl +0 -5
  489. package/.claude/skills/workflow.yaml +0 -219
  490. package/.claude/tests/README.md +0 -300
  491. package/.claude/tests/TODO.md +0 -69
  492. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  493. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  494. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  495. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  496. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  497. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  498. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  499. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  500. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  501. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  502. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  503. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  504. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  505. package/.claude/tests/run-all-tests.sh +0 -229
  506. package/.claude/tests/scripts/run.sh +0 -30
  507. package/.claude/tests/scripts/test-framework.sh +0 -128
  508. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  509. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  510. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  511. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  512. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  513. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  514. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  515. package/.claude/tests/scripts/test_common.sh +0 -244
  516. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  517. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  518. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  519. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  520. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  521. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  522. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  523. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  524. package/.claude/tests/slugify.bats +0 -82
  525. package/.claude/tests/test-framework.sh +0 -732
  526. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  527. package/.claude/tests/test_consolidate_research.py +0 -48
  528. package/.claude/tests/test_export_contracts.py +0 -43
  529. package/.claude/tests/test_extract_data_model.py +0 -33
  530. package/.claude/tests/test_generate_quickstart.py +0 -50
  531. package/.claude/tests/test_generate_research_tasks.py +0 -52
  532. package/bin/harness.js +0 -22
  533. package/docs/commands/core-roadmap.md +0 -106
  534. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  535. package/docs/commands/core-style.md +0 -53
  536. package/docs/commands/core-style.zh-CN.md +0 -53
  537. package/docs/commands/flow-init.md +0 -140
  538. package/docs/commands/flow-init.zh-CN.md +0 -169
  539. package/docs/commands/flow-new.md +0 -39
  540. package/docs/commands/flow-new.zh-CN.md +0 -39
  541. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  542. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  543. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  544. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  545. package/lib/compiler/context-expander.js +0 -179
  546. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  547. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  548. package/lib/compiler/skill-discovery.js +0 -68
  549. package/lib/harness/CLAUDE.md +0 -21
  550. package/lib/harness/cli.js +0 -208
  551. package/lib/harness/index.js +0 -16
  552. package/lib/harness/operations/dispatch.js +0 -285
  553. package/lib/harness/operations/init.js +0 -48
  554. package/lib/harness/operations/pack.js +0 -100
  555. package/lib/harness/operations/plan.js +0 -29
  556. package/lib/harness/operations/resume.js +0 -44
  557. package/lib/harness/operations/verify.js +0 -163
  558. package/lib/harness/planner.js +0 -141
  559. package/lib/harness/schemas.js +0 -108
@@ -0,0 +1,149 @@
1
+ # Start Here
2
+
3
+ This is the **single entry page** for the example set.
4
+
5
+ Use it in any of these situations:
6
+
7
+ - you want the fastest path to the right example
8
+ - you only know your current symptom
9
+ - you only know which artifact file you have
10
+ - you want one-page context before diving into the examples
11
+
12
+ ## Version Trust
13
+
14
+ Examples are pinned to current skill versions through:
15
+
16
+ - [example-bindings.json](./example-bindings.json): canonical bindings for example-to-skill versions
17
+ - [scripts/check-example-bindings.sh](./scripts/check-example-bindings.sh): verifies the bindings against current `SKILL.md` versions and example artifacts
18
+
19
+ For day-to-day work, the shortest habit is:
20
+
21
+ ```bash
22
+ npm run verify
23
+ ```
24
+
25
+ For publish-grade validation, use:
26
+
27
+ ```bash
28
+ npm run verify:publish
29
+ ```
30
+
31
+ ## Fast Route
32
+
33
+ ### 1. Do you already have a `report-card.json` verdict?
34
+
35
+ - If **no**, start with [the happy path example](./pdca-loop/README.md) to understand the full loop once.
36
+ - If **yes**, continue below.
37
+
38
+ ### 2. Is the verdict `pass`?
39
+
40
+ - If **no**, go to [the full-design blocked example](./full-design-blocked/README.md).
41
+ It shows the most important non-happy-path truth:
42
+ green tests do not override a broken planning contract.
43
+ - If **yes**, continue below.
44
+
45
+ ### 3. Can you honestly create or update a PR right now?
46
+
47
+ - If **yes**, go to [the happy path example](./pdca-loop/README.md).
48
+ That sample ends in `create-pr`.
49
+ - If **no**, go to [the local-handoff example](./local-handoff/README.md).
50
+ That sample shows how verified work still leaves a clean next entry without pretending to ship.
51
+
52
+ ## Symptom Picker
53
+
54
+ | If your situation feels like this | Read this example first | Why |
55
+ | --- | --- | --- |
56
+ | "I just want to understand the normal loop once." | [pdca-loop](./pdca-loop/README.md) | shows the straight-through path |
57
+ | "The code is locally green, but I don't trust the requirement anymore." | [full-design-blocked](./full-design-blocked/README.md) | shows `blocked` + reroute to `cc-plan` |
58
+ | "The work is verified, but I can't or shouldn't push yet." | [local-handoff](./local-handoff/README.md) | shows `pass` + `local-handoff` |
59
+ | "I don't know whether this should stay `tiny-design`." | [pdca-loop](./pdca-loop/README.md), then [full-design-blocked](./full-design-blocked/README.md) | compare a truly small patch against a requirement that outgrew it |
60
+
61
+ ## By Artifact
62
+
63
+ Use this when the only thing you know is the file in front of you.
64
+
65
+ | If the main file you have is... | You are probably here | Read this first |
66
+ | --- | --- | --- |
67
+ | `ROADMAP.md` | `cc-roadmap` | [pdca-loop/ROADMAP.md](./pdca-loop/ROADMAP.md) |
68
+ | `roadmap-tracking.json` | `cc-roadmap` machine truth source for roadmap + backlog | [pdca-loop/roadmap-tracking.json](./pdca-loop/roadmap-tracking.json) |
69
+ | `BACKLOG.md` | `cc-roadmap` -> `cc-plan` handoff | [pdca-loop/BACKLOG.md](./pdca-loop/BACKLOG.md) |
70
+ | `design.md` | `cc-plan` | [pdca-loop/design.md](./pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md) or [full-design-blocked/design.md](./full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md) |
71
+ | `tasks.md` | `cc-plan` or `cc-do` | [pdca-loop/tasks.md](./pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md) |
72
+ | `task-manifest.json` | `cc-do` | [pdca-loop/task-manifest.json](./pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json) |
73
+ | `report-card.json` | `cc-check` | [pdca-loop/report-card.json](./pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json), [full-design-blocked/report-card.json](./full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json), or [local-handoff/report-card.json](./local-handoff/changes/REQ-003-audit-log-export/review/report-card.json) |
74
+ | `pr-brief.md` | `cc-act` | [pdca-loop/pr-brief.md](./pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md) |
75
+ | `resume-index.md` | `cc-act` with `local-handoff` | [local-handoff/resume-index.md](./local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md) |
76
+
77
+ ### Read `report-card.json` Like This
78
+
79
+ | Verdict | Reroute | Meaning |
80
+ | --- | --- | --- |
81
+ | `pass` | `none` | move toward `cc-act` |
82
+ | `fail` | `cc-do` | implementation must continue |
83
+ | `blocked` | `cc-do` | proof or execution prerequisites are missing |
84
+ | `blocked` | `cc-plan` | design or scope truth is broken; do not keep coding blindly |
85
+
86
+ ### Read `resume-index.md` Like This
87
+
88
+ Ask only:
89
+
90
+ 1. is verification already `pass`?
91
+ 2. is the blocker environmental instead of design-related?
92
+
93
+ If both are true, you are usually in `cc-act` local handoff territory, not back in planning.
94
+
95
+ ## Example Map
96
+
97
+ ### 1. Happy Path: `tiny-design` + `pass` + `create-pr`
98
+
99
+ - Read: [pdca-loop/README.md](./pdca-loop/README.md)
100
+ - Best when:
101
+ - you want to understand the straight-through loop once
102
+ - you need a clean example of `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act`
103
+
104
+ ### 2. Counterexample: `full-design` + `blocked` + reroute to `cc-plan`
105
+
106
+ - Read: [full-design-blocked/README.md](./full-design-blocked/README.md)
107
+ - Best when:
108
+ - tests are green but the requirement still feels untrustworthy
109
+ - you need to see why `cc-check` can honestly block even after execution work happened
110
+
111
+ ### 3. Counterexample: `pass` + `local-handoff`
112
+
113
+ - Read: [local-handoff/README.md](./local-handoff/README.md)
114
+ - Best when:
115
+ - the work is verified
116
+ - but PR or remote actions are intentionally unavailable
117
+ - and you need a clean next-entry handoff instead of fake shipping
118
+
119
+ ## Wrong Turns To Avoid
120
+
121
+ - Do not jump from `tasks.md` straight to `cc-act`
122
+ - Do not treat green tests as stronger than a `report-card.json` reroute
123
+ - Do not treat `resume-index.md` as proof that planning failed; it may simply mean local handoff
124
+
125
+ ## One-Minute Rule
126
+
127
+ If you only have one minute, open these files in order:
128
+
129
+ 1. example `README.md`
130
+ 2. change `planning/design.md`
131
+ 3. `report-card.json` or the single final handoff file
132
+
133
+ That should already tell you:
134
+
135
+ - what planning density was chosen
136
+ - whether verification passed, failed, or blocked
137
+ - why `cc-act` selected the final ship mode
138
+
139
+ ## Minimal Output Rule
140
+
141
+ `devflow/changes/<change>/` should stay lean.
142
+
143
+ - Durable truth only: `change-state.json`, planning docs, `task-manifest.json`, optional `team-state.json`, task `checkpoint.json`, `report-card.json`, and one final handoff file.
144
+ - Runtime scratch belongs in `devflow/workspaces/<change>/`, not beside the durable record.
145
+
146
+ ## If You Still Want The Split Views
147
+
148
+ - [README.md](./README.md): compact example list
149
+ - [BY-ARTIFACT.md](./BY-ARTIFACT.md): compatibility page for artifact-only lookup
@@ -0,0 +1,38 @@
1
+ {
2
+ "updatedAt": "2026-04-25",
3
+ "skills": {
4
+ "cc-roadmap": "4.3.1",
5
+ "cc-plan": "3.5.3",
6
+ "cc-investigate": "1.1.1",
7
+ "cc-do": "1.5.1",
8
+ "cc-check": "1.8.1",
9
+ "cc-act": "1.6.1",
10
+ "cc-spec-init": "1.0.0"
11
+ },
12
+ "examples": [
13
+ {
14
+ "id": "pdca-loop",
15
+ "readme": "docs/examples/pdca-loop/README.md",
16
+ "root": "docs/examples/pdca-loop",
17
+ "changeDir": "docs/examples/pdca-loop/changes/REQ-001-copy-invite-link",
18
+ "covers": ["cc-roadmap", "cc-plan", "cc-do", "cc-check", "cc-act"],
19
+ "expectedShipMode": "create-pr"
20
+ },
21
+ {
22
+ "id": "full-design-blocked",
23
+ "readme": "docs/examples/full-design-blocked/README.md",
24
+ "root": "docs/examples/full-design-blocked",
25
+ "changeDir": "docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import",
26
+ "covers": ["cc-roadmap", "cc-plan", "cc-do", "cc-check"],
27
+ "expectedShipMode": "none"
28
+ },
29
+ {
30
+ "id": "local-handoff",
31
+ "readme": "docs/examples/local-handoff/README.md",
32
+ "root": "docs/examples/local-handoff",
33
+ "changeDir": "docs/examples/local-handoff/changes/REQ-003-audit-log-export",
34
+ "covers": ["cc-roadmap", "cc-plan", "cc-do", "cc-check", "cc-act"],
35
+ "expectedShipMode": "local-handoff"
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,45 @@
1
+ # BACKLOG
2
+
3
+ ## Backlog Meta
4
+
5
+ - Roadmap version: `roadmap.v2`
6
+ - Skill version: `4.3.1`
7
+ - Last synced: `2026-04-19`
8
+ - Current focus stage: `Stage 2`
9
+ - Tracking source: `roadmap-tracking.json`
10
+
11
+ ## Queue
12
+
13
+ | RM-ID | Title | Source Stage | Priority | Primary Capability | Secondary Capabilities | Capability Gap | Expected Spec Delta | Evidence | Depends On | Parallel With | Unknowns | Next Decision | Ready |
14
+ |------|------|------|------|------|------|------|------|------|------|------|------|------|------|
15
+ | RM-010 | Add CSV bulk invite import for admins | Stage 2 | P1 | cap-bulk-invite-import | cap-workspace-membership | admins can invite one user at a time but cannot safely import invite batches | define import semantics before widening current truth | sales onboarding asks for spreadsheet-scale invites | - | - | duplicate-email policy, seat enforcement, audit fan-out | reroute to full design before more execution work | Yes |
16
+
17
+ ## Dependency Handoff
18
+
19
+ - Serial spine: RM-010
20
+ - Parallel-ready next wave: -
21
+ - Notes on blockers: verification is blocked until the import contract covers limits, duplicates, billing, and audit consistency
22
+
23
+ ## Ready For Req-Plan
24
+
25
+ - RM-010:
26
+ - Primary Capability: `cap-bulk-invite-import`
27
+ - Secondary Capabilities: `cap-workspace-membership`
28
+ - Why now: demand is real, but the contract is too wide to keep improvising in code
29
+ - Success signal: the capability has a trusted import contract before implementation resumes
30
+ - Entry constraints: must freeze limits, duplicates, warnings, and audit behavior first
31
+ - Capability gap: admins can invite one user at a time but cannot safely import invite batches
32
+ - Expected spec delta: define import semantics before widening current truth
33
+ - Open risks: another partial implementation pass would deepen the semantic drift
34
+ - First planning question: which subflows share one import contract and which need explicit splits?
35
+ - Required context to load: invite limits, billing rules, duplicate handling, audit logging
36
+ - Depends On: `-`
37
+ - Parallel With: `-`
38
+ - Why this is ready now: the blocker is design truth, not implementation effort
39
+
40
+ ## Parked
41
+
42
+ - RM-XXX:
43
+ - Reason parked:
44
+ - Trigger to reopen:
45
+ - Missing evidence:
@@ -0,0 +1,55 @@
1
+ # Full-Design Blocked Example
2
+
3
+ ## Example Meta
4
+
5
+ - Example version: `1.0.0`
6
+ - Last reviewed: `2026-04-17`
7
+ - Bound skills: `cc-roadmap@4.3.1`, `cc-plan@3.5.3`, `cc-do@1.5.1`, `cc-check@1.8.1`
8
+
9
+ This example shows a requirement that **looked executable**, but `cc-check` correctly stopped it and sent it back to `cc-plan`.
10
+
11
+ The shape is intentional:
12
+
13
+ - roadmap item is real enough to matter
14
+ - design requires `full-design`
15
+ - tasks were executed far enough to produce evidence
16
+ - `report-card.json` is still `blocked`
17
+ - reroute is `cc-plan`, not `cc-do`
18
+
19
+ ## Scenario
20
+
21
+ The fictional product now wants CSV-based bulk invites for workspace admins.
22
+
23
+ At first glance, it looks like an import feature inside the admin console.
24
+
25
+ But the real surface is wider:
26
+
27
+ - invite limit enforcement
28
+ - duplicate email handling
29
+ - billing-seat warnings
30
+ - audit log consistency
31
+
32
+ The sample shows what happens when implementation moved before the integration design was fully trustworthy.
33
+
34
+ ## What To Look For
35
+
36
+ 1. Why this requirement cannot stay `tiny-design`
37
+ 2. Which signals forced `full-design`
38
+ 3. Why tests passing is still not enough
39
+ 4. Why reroute goes to `cc-plan` instead of `cc-do`
40
+
41
+ ## Artifact Map
42
+
43
+ - `ROADMAP.md`
44
+ - `roadmap-tracking.json` (shared roadmap/backlog truth)
45
+ - `BACKLOG.md`
46
+ - `changes/REQ-002-bulk-invite-import/planning/design.md`
47
+ - `changes/REQ-002-bulk-invite-import/planning/tasks.md`
48
+ - `changes/REQ-002-bulk-invite-import/planning/task-manifest.json`
49
+ - `changes/REQ-002-bulk-invite-import/review/report-card.json`
50
+
51
+ ## Why There Is No `cc-act` Output
52
+
53
+ There is no final handoff file here because `cc-check` did **not** return `pass`.
54
+
55
+ The loop must stop honestly before `cc-act`.
@@ -0,0 +1,53 @@
1
+ # ROADMAP
2
+
3
+ ## Roadmap Meta
4
+
5
+ - Roadmap version: `roadmap.v2`
6
+ - Skill version: `4.3.1`
7
+ - Status: `active`
8
+ - Last updated: `2026-04-16`
9
+ - Owner / decider: `product-owner`
10
+ - Current focus stage: `Stage 2`
11
+ - Confidence: `medium`
12
+ - Supersedes roadmap version: `roadmap.v1`
13
+
14
+ ## Context Snapshot
15
+
16
+ - Product / repo: `workspace-lite`
17
+ - Project stage: teams actively collaborate after the first-share fixes
18
+ - Users: workspace admins managing larger invite waves
19
+ - Pain: inviting many users one by one is slow and error-prone
20
+ - Existing workaround: admins repeatedly paste emails or use external spreadsheets
21
+ - Strongest demand evidence: support calls now ask for admin-scale invite workflows
22
+ - Why now: the product graduated past the first-share bottleneck
23
+ - Distribution path: direct beta expansion to larger teams
24
+ - Deadline / forcing function: larger-team beta starts on `2026-04-30`
25
+ - Team / capacity: one engineer plus part-time design help
26
+ - Hard constraints: billing and audit behavior must remain trustworthy
27
+ - Adoption / trust bottleneck: admins will not trust bulk invite if seat usage and audit logs drift
28
+ - Known unknowns: how duplicate users, seat limits, and partial imports should behave
29
+
30
+ ## Route Options
31
+
32
+ | Shape | Why this could work | Why this may fail | Decision |
33
+ |-------|---------------------|-------------------|----------|
34
+ | wedge-first | deliver a minimal CSV import | may hide dangerous admin edge cases | Rejected |
35
+ | platform-first | design import rules, billing boundaries, and audit consistency first | slower upfront | Recommended |
36
+ | rescue-first | keep manual import and patch docs | does not solve admin pain | Rejected |
37
+
38
+ ## Recommended Route
39
+
40
+ - Recommendation: `platform-first`
41
+ - Why this route wins now: the biggest risk is trust and consistency, not button placement
42
+ - Why the rejected routes lose now: a superficially small import flow can corrupt admin expectations if rules are underspecified
43
+ - First signal to watch: admins can predict what happens for duplicates, seat limits, and partial success
44
+ - Kill signal / stop condition: if the team cannot specify bulk invite semantics before implementation starts
45
+
46
+ ## Implementation Tracking
47
+ - Tracking source: `roadmap-tracking.json`
48
+
49
+ <!-- roadmap-tracking:start -->
50
+ | RM-ID | Item | Stage | Priority | Primary Capability | Secondary Capabilities | Expected Spec Delta | Depends On | Status | REQ | Progress |
51
+ |------|------|------|------|------|------|------|------|------|------|------|
52
+ | RM-010 | Add CSV bulk invite import for admins | Stage 2 | P1 | cap-bulk-invite-import | cap-workspace-membership | define import semantics before widening current truth | - | Verification blocked | REQ-002 | 80% |
53
+ <!-- roadmap-tracking:end -->
@@ -0,0 +1,154 @@
1
+ # DESIGN
2
+
3
+ ## Document Meta
4
+
5
+ - Requirement version: `REQ-002.v2`
6
+ - Design version: `design.v2`
7
+ - CC-Plan skill version: `3.5.3`
8
+ - Requirement ID: `REQ-002`
9
+ - Design mode: `full-design`
10
+ - Why not `tiny-design`: the feature crosses import parsing, invite rules, billing limits, duplicate handling, and audit logging
11
+ - Design status: `in-review`
12
+ - Source roadmap item: `RM-010`
13
+ - Source roadmap version: `roadmap.v2`
14
+ - Source roadmap skill version: `4.1.0`
15
+ - Date: `2026-04-16`
16
+ - Owner: `product-owner`
17
+
18
+ ## Source Handoff
19
+
20
+ - Source stage: `Stage 2`
21
+ - Why now from roadmap: admin demand is real, but trust risks dominate the design
22
+ - Inherited success signal: admins can predict every bulk invite outcome
23
+ - Inherited kill signal: if semantics remain underspecified, stop execution and reopen planning
24
+ - Inherited dependencies:
25
+ - existing seat limit enforcement
26
+ - current audit log contract
27
+ - Inherited non-goals:
28
+ - no background job redesign
29
+ - no enterprise provisioning layer
30
+ - Upstream evidence: support notes from larger teams
31
+ - Assumptions to re-validate:
32
+ - duplicate emails can be skipped safely
33
+ - seat-limit failures can be partially accepted
34
+
35
+ ## Requirement Snapshot
36
+
37
+ - Raw ask: admins want to upload a CSV of emails instead of inviting people one by one
38
+ - User: workspace admins onboarding 20-200 collaborators
39
+ - Pain: manual invites are too slow and error-prone
40
+ - Smallest viable wedge: a CSV upload that clearly predicts accepted, skipped, and rejected rows
41
+ - Out of scope:
42
+ - enterprise SCIM provisioning
43
+ - background retry orchestration
44
+
45
+ ## Success Criteria
46
+
47
+ - Observable success signals:
48
+ - admin sees deterministic results for each CSV row
49
+ - duplicate, over-limit, and invalid rows are explained consistently
50
+ - Business / operator success signals:
51
+ - support no longer manually explains bulk invite outcomes
52
+ - Abort signals:
53
+ - billing-seat or audit outcomes differ from the documented plan
54
+
55
+ ## Options Considered
56
+
57
+ ### Option A
58
+
59
+ - Shape: front-end-only CSV parsing with best-effort invite submission
60
+ - Reuses: existing single-invite API
61
+ - Pros: fast to prototype
62
+ - Cons: semantics depend on hidden backend edge cases
63
+ - Risks: partial success becomes impossible to explain
64
+
65
+ ### Option B
66
+
67
+ - Shape: freeze a rule matrix first, then implement import around it
68
+ - Reuses: existing invite engine, but with explicit row-state mapping
69
+ - Pros: makes billing, duplicate, and audit behavior reviewable
70
+ - Cons: more upfront planning
71
+ - Risks: may expose a need for additional shared contracts
72
+
73
+ ## Approved Direction
74
+
75
+ - Approved option: `Option B`
76
+ - Why this is the best trade-off now: the import UX is not trustworthy until row outcomes and seat limits are explicitly modeled
77
+ - Why not the other options now: best-effort submission would let implementation invent semantics during execution
78
+ - What we explicitly rejected: a UI-only CSV uploader that guesses row behavior
79
+ - Frozen decisions:
80
+ - bulk import must classify each row into accepted, skipped, or rejected
81
+ - seat-limit failures cannot silently pass
82
+ - audit log entries must match the visible row outcome
83
+ - Deferred questions:
84
+ - whether partial success needs an explicit rollback option
85
+
86
+ ## Design
87
+
88
+ - Modules touched:
89
+ - admin invite UI
90
+ - invite validation rules
91
+ - billing / seat limit decision points
92
+ - audit log mapping
93
+ - Data flow:
94
+ - CSV parse -> row validation -> invite decision -> row result summary -> audit log write
95
+ - Contracts:
96
+ - one rule matrix for duplicate, invalid, over-limit, and existing-member rows
97
+ - Error handling:
98
+ - every rejected row must expose a user-readable reason
99
+ - Rollout / migration:
100
+ - release only after rule matrix and verification plan are both approved
101
+
102
+ ## File Plan
103
+
104
+ | File | Change | Reason |
105
+ |------|--------|--------|
106
+ | `src/admin/BulkInvitePanel.tsx` | update | upload and result display |
107
+ | `src/admin/BulkInvitePanel.test.tsx` | update | row-state behavior tests |
108
+ | `src/invite/bulk-import.ts` | add | import rule orchestration |
109
+ | `src/invite/bulk-import.test.ts` | add | duplicate / seat / invalid cases |
110
+ | `src/audit/invite-log.ts` | update | audit consistency |
111
+
112
+ ## Validation Strategy
113
+
114
+ - Unit: rule matrix tests for each row outcome
115
+ - Integration: admin upload flow covering duplicates and seat-limit failures
116
+ - Manual: CSV import with mixed valid and invalid rows
117
+ - Observability / evidence: row summary and audit log must agree
118
+
119
+ ## Risks
120
+
121
+ | Risk | Impact | Mitigation |
122
+ |------|--------|------------|
123
+ | duplicate handling is underspecified | high | freeze explicit rule matrix before continuing |
124
+ | audit and visible row summary diverge | high | verify audit mapping in integration review |
125
+
126
+ ## Review Gate
127
+
128
+ - Placeholder scan: pass
129
+ - Consistency scan: fail; current implementation evidence still assumes some row outcomes not frozen here
130
+ - Scope scan: pass
131
+ - Ambiguity scan: blocked; duplicate + seat-limit semantics still need sharper wording
132
+ - Feasibility scan: pass
133
+ - Source alignment: pass; roadmap still prioritizes trust over speed
134
+ - UI / interaction review summary: result states are acceptable if semantics are frozen first
135
+ - DX review summary: execution still needs a single row-outcome matrix
136
+ - Auto-decided items:
137
+ - CSV upload stays inside admin settings
138
+ - Taste decisions:
139
+ - show result rows directly after parse instead of a second confirmation wizard
140
+ - User challenges:
141
+ - can admins predict partial failure without reading documentation?
142
+ - Recommendation: do not declare this design complete until the row-outcome matrix is explicit
143
+
144
+ ## Approval
145
+
146
+ - User approval status: `in-review`
147
+ - Follow-up changes after review:
148
+ - add a rule matrix section before execution resumes
149
+
150
+ ## First-Read Test
151
+
152
+ - 10 秒内能看出这次为什么不是 `tiny-design`
153
+ - 10 秒内能看出批准方案和被拒方案的边界
154
+ - `cc-do` 是否还能被迫二次设计;这里答案仍然是“会”,所以设计还不能诚实闭环
@@ -0,0 +1,146 @@
1
+ {
2
+ "changeId": "REQ-002",
3
+ "goal": "Add a trustworthy CSV bulk invite flow for admins without inventing row-outcome semantics during execution.",
4
+ "createdAt": "2026-04-16T09:00:00.000Z",
5
+ "updatedAt": "2026-04-16T12:00:00.000Z",
6
+ "requirementId": "REQ-002",
7
+ "requirementVersion": "REQ-002.v2",
8
+ "currentTaskId": null,
9
+ "activePhase": null,
10
+ "tasks": [
11
+ {
12
+ "id": "T001",
13
+ "title": "[TEST] Add failing tests for duplicate and over-limit row outcomes",
14
+ "type": "TEST",
15
+ "phase": 1,
16
+ "parallel": false,
17
+ "dependsOn": [],
18
+ "touches": ["bulk-invite-rules"],
19
+ "files": ["src/invite/bulk-import.test.ts"],
20
+ "run": ["npm test -- src/invite/bulk-import.test.ts"],
21
+ "checks": ["tests fail before implementation"],
22
+ "acceptance": ["dangerous row outcomes are reproduced as explicit failing tests"],
23
+ "verification": ["npm test -- src/invite/bulk-import.test.ts"],
24
+ "evidence": ["failing test output"],
25
+ "context": {
26
+ "readFiles": ["design.md", "tasks.md", "src/invite/bulk-import.ts"],
27
+ "commands": ["npm test -- src/invite/bulk-import.test.ts"],
28
+ "notes": ["freeze row semantics before broader execution"]
29
+ },
30
+ "reviews": { "spec": "pass", "code": "pass" },
31
+ "status": "passed",
32
+ "attempts": 1,
33
+ "maxRetries": 1
34
+ },
35
+ {
36
+ "id": "T002",
37
+ "title": "[IMPL] Implement the initial bulk invite row classification",
38
+ "type": "IMPL",
39
+ "phase": 1,
40
+ "parallel": false,
41
+ "dependsOn": ["T001"],
42
+ "touches": ["bulk-invite-rules"],
43
+ "files": ["src/invite/bulk-import.ts"],
44
+ "run": ["npm test -- src/invite/bulk-import.test.ts"],
45
+ "checks": ["rule tests pass"],
46
+ "acceptance": ["bulk invite rows receive deterministic initial states"],
47
+ "verification": ["npm test -- src/invite/bulk-import.test.ts"],
48
+ "evidence": ["passing test output", "checkpoint summary"],
49
+ "context": {
50
+ "readFiles": ["design.md", "tasks.md", "src/invite/bulk-import.test.ts"],
51
+ "commands": ["npm test -- src/invite/bulk-import.test.ts"],
52
+ "notes": ["do not invent partial-failure semantics outside the approved design"]
53
+ },
54
+ "reviews": { "spec": "pass", "code": "pass" },
55
+ "status": "passed",
56
+ "attempts": 1,
57
+ "maxRetries": 1
58
+ },
59
+ {
60
+ "id": "T003",
61
+ "title": "[TEST] Add failing admin panel tests for mixed CSV results",
62
+ "type": "TEST",
63
+ "phase": 2,
64
+ "parallel": false,
65
+ "dependsOn": ["T002"],
66
+ "touches": ["admin-bulk-invite-ui"],
67
+ "files": ["src/admin/BulkInvitePanel.test.tsx"],
68
+ "run": ["npm test -- src/admin/BulkInvitePanel.test.tsx"],
69
+ "checks": ["admin panel tests fail before UI integration"],
70
+ "acceptance": ["mixed row outcomes are visible as UI failures before implementation"],
71
+ "verification": ["npm test -- src/admin/BulkInvitePanel.test.tsx"],
72
+ "evidence": ["failing test output"],
73
+ "context": {
74
+ "readFiles": ["design.md", "tasks.md", "src/admin/BulkInvitePanel.tsx"],
75
+ "commands": ["npm test -- src/admin/BulkInvitePanel.test.tsx"],
76
+ "notes": ["UI must not hide ambiguous row states"]
77
+ },
78
+ "reviews": { "spec": "pass", "code": "pass" },
79
+ "status": "passed",
80
+ "attempts": 1,
81
+ "maxRetries": 1
82
+ },
83
+ {
84
+ "id": "T004",
85
+ "title": "[IMPL] Render bulk invite results in the admin panel",
86
+ "type": "IMPL",
87
+ "phase": 2,
88
+ "parallel": false,
89
+ "dependsOn": ["T003"],
90
+ "touches": ["admin-bulk-invite-ui"],
91
+ "files": ["src/admin/BulkInvitePanel.tsx"],
92
+ "run": ["npm test -- src/admin/BulkInvitePanel.test.tsx"],
93
+ "checks": ["admin panel tests pass"],
94
+ "acceptance": ["admins can see accepted, skipped, and rejected rows in the panel"],
95
+ "verification": ["npm test -- src/admin/BulkInvitePanel.test.tsx"],
96
+ "evidence": ["passing test output", "review notes"],
97
+ "context": {
98
+ "readFiles": ["design.md", "tasks.md", "src/admin/BulkInvitePanel.test.tsx"],
99
+ "commands": ["npm test -- src/admin/BulkInvitePanel.test.tsx"],
100
+ "notes": ["surface row states without redefining backend truth"]
101
+ },
102
+ "reviews": { "spec": "pass", "code": "pass" },
103
+ "status": "passed",
104
+ "attempts": 1,
105
+ "maxRetries": 1
106
+ },
107
+ {
108
+ "id": "T005",
109
+ "title": "Run mixed-surface checks and gather review evidence",
110
+ "type": "OTHER",
111
+ "phase": 3,
112
+ "parallel": false,
113
+ "dependsOn": ["T004"],
114
+ "touches": ["quality-gates"],
115
+ "files": ["src/admin/BulkInvitePanel.tsx", "src/invite/bulk-import.ts"],
116
+ "run": [
117
+ "npm test -- src/invite/bulk-import.test.ts",
118
+ "npm test -- src/admin/BulkInvitePanel.test.tsx"
119
+ ],
120
+ "checks": ["targeted tests pass", "review evidence collected"],
121
+ "acceptance": ["fresh verification evidence exists for cc-check"],
122
+ "verification": [
123
+ "npm test -- src/invite/bulk-import.test.ts",
124
+ "npm test -- src/admin/BulkInvitePanel.test.tsx"
125
+ ],
126
+ "evidence": ["passing targeted test output", "review notes"],
127
+ "context": {
128
+ "readFiles": ["tasks.md", "task-manifest.json"],
129
+ "commands": [
130
+ "npm test -- src/invite/bulk-import.test.ts",
131
+ "npm test -- src/admin/BulkInvitePanel.test.tsx"
132
+ ],
133
+ "notes": ["fresh evidence can still block if the design contract is incomplete"]
134
+ },
135
+ "reviews": { "spec": "pass", "code": "pass" },
136
+ "status": "passed",
137
+ "attempts": 1,
138
+ "maxRetries": 1
139
+ }
140
+ ],
141
+ "metadata": {
142
+ "source": "tasks.md",
143
+ "generatedBy": "docs-example",
144
+ "planVersion": 1
145
+ }
146
+ }