cc-devflow 4.3.0 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +64 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
  3. package/.claude/skills/cc-act/SKILL.md +322 -0
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +64 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +25 -0
  6. package/.claude/skills/cc-act/references/closure-contract.md +49 -0
  7. package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
  8. package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +240 -0
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
  11. package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +195 -0
  13. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +315 -0
  14. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
  15. package/.claude/skills/cc-check/CHANGELOG.md +73 -0
  16. package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
  17. package/.claude/skills/cc-check/SKILL.md +345 -0
  18. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +50 -0
  19. package/.claude/skills/cc-check/references/gate-contract.md +29 -0
  20. package/.claude/skills/cc-check/references/review-contract.md +45 -0
  21. package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
  22. package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
  23. package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
  24. package/.claude/skills/cc-do/CHANGELOG.md +49 -0
  25. package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
  26. package/.claude/skills/cc-do/SKILL.md +216 -0
  27. package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
  28. package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
  29. package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
  30. package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
  31. package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
  32. package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
  33. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
  34. package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
  35. package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
  36. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
  37. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
  38. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
  39. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
  40. package/.claude/skills/cc-investigate/CHANGELOG.md +26 -0
  41. package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
  42. package/.claude/skills/cc-investigate/SKILL.md +221 -0
  43. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +55 -0
  44. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +52 -0
  45. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +103 -0
  46. package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
  47. package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
  48. package/.claude/skills/cc-plan/CHANGELOG.md +99 -0
  49. package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
  50. package/.claude/skills/cc-plan/SKILL.md +325 -0
  51. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +155 -0
  52. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +98 -0
  53. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +108 -0
  54. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +79 -0
  55. package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
  56. package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
  57. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
  58. package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
  59. package/.claude/skills/cc-roadmap/CHANGELOG.md +114 -0
  60. package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
  61. package/.claude/skills/cc-roadmap/SKILL.md +259 -0
  62. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +45 -0
  63. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +153 -0
  64. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +48 -0
  65. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
  66. package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
  67. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
  68. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
  69. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
  70. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
  71. package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
  72. package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
  73. package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
  74. package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
  75. package/.claude/skills/cc-simplify/SKILL.md +55 -0
  76. package/.claude/skills/cc-spec-init/CHANGELOG.md +7 -0
  77. package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
  78. package/.claude/skills/cc-spec-init/SKILL.md +127 -0
  79. package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +63 -0
  80. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +25 -0
  81. package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +34 -0
  82. package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
  83. package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
  84. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
  85. package/CHANGELOG.md +61 -4
  86. package/README.md +120 -756
  87. package/README.zh-CN.md +119 -756
  88. package/bin/adapt.js +2 -6
  89. package/bin/cc-devflow-cli.js +72 -177
  90. package/config/distributable-skills.json +24 -0
  91. package/docs/CLAUDE.md +10 -6
  92. package/docs/commands/README.md +19 -46
  93. package/docs/commands/README.zh-CN.md +25 -48
  94. package/docs/examples/BY-ARTIFACT.md +7 -0
  95. package/docs/examples/README.md +38 -0
  96. package/docs/examples/START-HERE.md +149 -0
  97. package/docs/examples/example-bindings.json +38 -0
  98. package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
  99. package/docs/examples/full-design-blocked/README.md +55 -0
  100. package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
  101. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
  102. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
  103. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
  104. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
  105. package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
  106. package/docs/examples/local-handoff/BACKLOG.md +45 -0
  107. package/docs/examples/local-handoff/README.md +56 -0
  108. package/docs/examples/local-handoff/ROADMAP.md +45 -0
  109. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
  110. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
  111. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
  112. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
  113. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
  114. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
  115. package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
  116. package/docs/examples/pdca-loop/BACKLOG.md +46 -0
  117. package/docs/examples/pdca-loop/README.md +58 -0
  118. package/docs/examples/pdca-loop/ROADMAP.md +133 -0
  119. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
  120. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
  121. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
  122. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
  123. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
  125. package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
  126. package/docs/examples/scripts/check-example-bindings.sh +116 -0
  127. package/docs/guides/getting-started.md +94 -129
  128. package/docs/guides/getting-started.zh-CN.md +103 -84
  129. package/docs/skill-runtime-migration.md +46 -0
  130. package/docs/v4.3.0-migration-guide.md +60 -225
  131. package/lib/compiler/CLAUDE.md +55 -84
  132. package/lib/compiler/__tests__/drift.test.js +1 -1
  133. package/lib/compiler/__tests__/errors.test.js +0 -1
  134. package/lib/compiler/__tests__/integration.test.js +49 -3
  135. package/lib/compiler/__tests__/manifest.test.js +0 -156
  136. package/lib/compiler/__tests__/parser.test.js +33 -104
  137. package/lib/compiler/__tests__/schemas.test.js +30 -34
  138. package/lib/compiler/__tests__/skills-registry.test.js +114 -0
  139. package/lib/compiler/__tests__/transformer.test.js +5 -9
  140. package/lib/compiler/emitters/antigravity-emitter.js +5 -213
  141. package/lib/compiler/emitters/base-emitter.js +3 -298
  142. package/lib/compiler/emitters/codex-emitter.js +4 -202
  143. package/lib/compiler/emitters/cursor-emitter.js +3 -287
  144. package/lib/compiler/emitters/qwen-emitter.js +4 -176
  145. package/lib/compiler/index.js +65 -345
  146. package/lib/compiler/manifest.js +6 -68
  147. package/lib/compiler/parser.js +31 -63
  148. package/lib/compiler/platforms.js +32 -277
  149. package/lib/compiler/resource-copier.js +176 -6
  150. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
  151. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
  152. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
  153. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
  154. package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
  155. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
  156. package/lib/compiler/rules-emitters/index.js +6 -3
  157. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
  158. package/lib/compiler/schemas.js +8 -4
  159. package/lib/compiler/skills-registry.js +213 -15
  160. package/lib/compiler/transformer.js +1 -1
  161. package/lib/skill-runtime/CLAUDE.md +19 -0
  162. package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
  163. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +181 -0
  164. package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
  165. package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
  166. package/lib/skill-runtime/__tests__/intent.test.js +219 -0
  167. package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
  168. package/lib/skill-runtime/__tests__/paths.test.js +42 -0
  169. package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
  170. package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
  171. package/lib/skill-runtime/__tests__/query.test.js +284 -0
  172. package/lib/skill-runtime/__tests__/runtime.integration.test.js +279 -0
  173. package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
  174. package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
  175. package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
  176. package/lib/skill-runtime/__tests__/worker.test.js +56 -0
  177. package/lib/skill-runtime/artifacts.js +93 -0
  178. package/lib/skill-runtime/delegation.js +533 -0
  179. package/lib/skill-runtime/index.js +34 -0
  180. package/lib/skill-runtime/intent.js +333 -0
  181. package/lib/skill-runtime/lifecycle.js +294 -0
  182. package/lib/skill-runtime/operations/CLAUDE.md +19 -0
  183. package/lib/skill-runtime/operations/approve.js +66 -0
  184. package/lib/skill-runtime/operations/autopilot-core.js +337 -0
  185. package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
  186. package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
  187. package/lib/skill-runtime/operations/autopilot.js +163 -0
  188. package/lib/skill-runtime/operations/dispatch.js +454 -0
  189. package/lib/skill-runtime/operations/init.js +64 -0
  190. package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
  191. package/lib/skill-runtime/operations/plan.js +59 -0
  192. package/lib/skill-runtime/operations/prepare-pr.js +25 -0
  193. package/lib/skill-runtime/operations/release.js +96 -0
  194. package/lib/skill-runtime/operations/resume.js +143 -0
  195. package/lib/skill-runtime/operations/snapshot.js +45 -0
  196. package/lib/skill-runtime/operations/verify.js +170 -0
  197. package/lib/skill-runtime/operations/worker-run.js +529 -0
  198. package/lib/skill-runtime/operations/worker.js +33 -0
  199. package/lib/skill-runtime/paths.js +213 -0
  200. package/lib/skill-runtime/planner.js +519 -0
  201. package/lib/skill-runtime/query.js +157 -0
  202. package/lib/skill-runtime/review.js +557 -0
  203. package/lib/skill-runtime/schemas.js +400 -0
  204. package/lib/{harness → skill-runtime}/store.js +45 -30
  205. package/lib/skill-runtime/team-state.js +122 -0
  206. package/package.json +13 -11
  207. package/.claude/CLAUDE.md +0 -125
  208. package/.claude/agents/architecture-designer.md +0 -443
  209. package/.claude/agents/bug-analyzer.md +0 -381
  210. package/.claude/agents/checklist-agent.md +0 -175
  211. package/.claude/agents/clarify-analyst.md +0 -50
  212. package/.claude/agents/code-quality-reviewer.md +0 -205
  213. package/.claude/agents/code-reviewer.md +0 -71
  214. package/.claude/agents/codex-analyzer.md +0 -39
  215. package/.claude/agents/compatibility-checker.md +0 -579
  216. package/.claude/agents/consistency-checker.md +0 -532
  217. package/.claude/agents/dev-implementer.md +0 -195
  218. package/.claude/agents/flow-researcher.md +0 -132
  219. package/.claude/agents/impact-analyzer.md +0 -440
  220. package/.claude/agents/planner.md +0 -230
  221. package/.claude/agents/prd-writer.md +0 -320
  222. package/.claude/agents/project-guidelines-generator.md +0 -1329
  223. package/.claude/agents/qa-tester.md +0 -313
  224. package/.claude/agents/release-manager.md +0 -295
  225. package/.claude/agents/security-reviewer.md +0 -314
  226. package/.claude/agents/spec-reviewer.md +0 -221
  227. package/.claude/agents/style-guide-generator.md +0 -458
  228. package/.claude/agents/tech-architect.md +0 -516
  229. package/.claude/agents/ui-designer.md +0 -485
  230. package/.claude/commands/core/architecture.md +0 -459
  231. package/.claude/commands/core/guidelines.md +0 -511
  232. package/.claude/commands/core/roadmap.md +0 -468
  233. package/.claude/commands/core/style.md +0 -83
  234. package/.claude/commands/flow/CLAUDE.md +0 -24
  235. package/.claude/commands/flow/archive.md +0 -280
  236. package/.claude/commands/flow/constitution.md +0 -82
  237. package/.claude/commands/flow/context.md +0 -150
  238. package/.claude/commands/flow/delta.md +0 -245
  239. package/.claude/commands/flow/dev.md +0 -40
  240. package/.claude/commands/flow/fix.md +0 -217
  241. package/.claude/commands/flow/ideate.md +0 -214
  242. package/.claude/commands/flow/init.md +0 -38
  243. package/.claude/commands/flow/release.md +0 -36
  244. package/.claude/commands/flow/restart.md +0 -97
  245. package/.claude/commands/flow/spec.md +0 -36
  246. package/.claude/commands/flow/status.md +0 -64
  247. package/.claude/commands/flow/update.md +0 -111
  248. package/.claude/commands/flow/upgrade.md +0 -115
  249. package/.claude/commands/flow/verify.md +0 -37
  250. package/.claude/commands/flow/workspace.md +0 -155
  251. package/.claude/commands/util/cancel-ralph.md +0 -60
  252. package/.claude/commands/util/code-review.md +0 -58
  253. package/.claude/commands/util/git-commit.md +0 -422
  254. package/.claude/commands/util/problem-analyzer.md +0 -60
  255. package/.claude/config/quality-gates.yml +0 -305
  256. package/.claude/config/quality-rules.yml +0 -161
  257. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
  258. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
  259. package/.claude/docs/design/intent-driven-input-design.md +0 -380
  260. package/.claude/docs/design/prd-version-management-design.md +0 -437
  261. package/.claude/docs/examples/design-inspiration-pool.md +0 -59
  262. package/.claude/docs/examples/ui-prototype-constitution-checklist.md +0 -75
  263. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
  264. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  265. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  266. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  267. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  268. package/.claude/docs/implementation-summary-v7.md +0 -449
  269. package/.claude/docs/spec-format-guide.md +0 -349
  270. package/.claude/docs/state-consolidation-design.md +0 -323
  271. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -332
  272. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  273. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  274. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  275. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  276. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  277. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  278. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  279. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  280. package/.claude/docs/templates/DESIGN_TEMPLATE.md +0 -157
  281. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  282. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  283. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  284. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  285. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  286. package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +0 -91
  287. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  288. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  289. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  290. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  291. package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +0 -139
  292. package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +0 -93
  293. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -479
  294. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -373
  295. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  296. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  297. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  298. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  299. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  300. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  301. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  302. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  303. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  304. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  305. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  306. package/.claude/guides/project-guidelines-system.md +0 -463
  307. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  308. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  309. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  310. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  311. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  312. package/.claude/hooks/CLAUDE.md +0 -342
  313. package/.claude/hooks/checklist-gate.js +0 -397
  314. package/.claude/hooks/error-handling-reminder.sh +0 -12
  315. package/.claude/hooks/error-handling-reminder.ts +0 -459
  316. package/.claude/hooks/hooks.json +0 -15
  317. package/.claude/hooks/inject-agent-context.ts +0 -480
  318. package/.claude/hooks/inject-skill-context.ts +0 -359
  319. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  320. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  321. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  322. package/.claude/hooks/ralph-loop.ts +0 -931
  323. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  324. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  325. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  326. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  327. package/.claude/hooks/task-completed-hook.ts +0 -593
  328. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  329. package/.claude/hooks/types/team-types.d.ts +0 -238
  330. package/.claude/rules/devflow-conventions.md +0 -286
  331. package/.claude/rules/project-constitution.md +0 -1002
  332. package/.claude/rules/rationalization-library.md +0 -282
  333. package/.claude/schemas/constitution.schema.json +0 -43
  334. package/.claude/scripts/.claude/commands/flow/export-openspec.md +0 -221
  335. package/.claude/scripts/.claude/commands/flow/import-openspec.md +0 -171
  336. package/.claude/scripts/CLAUDE.md +0 -76
  337. package/.claude/scripts/__tests__/openspec.test.js +0 -212
  338. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  339. package/.claude/scripts/archive-requirement.sh +0 -394
  340. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  341. package/.claude/scripts/calculate-quarter.sh +0 -206
  342. package/.claude/scripts/check-dependencies.sh +0 -409
  343. package/.claude/scripts/check-prerequisites.sh +0 -232
  344. package/.claude/scripts/check-task-status.sh +0 -288
  345. package/.claude/scripts/checklist-errors.sh +0 -131
  346. package/.claude/scripts/common.sh +0 -1102
  347. package/.claude/scripts/consolidate-research.sh +0 -182
  348. package/.claude/scripts/create-requirement.sh +0 -451
  349. package/.claude/scripts/delta-parser.ts +0 -637
  350. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  351. package/.claude/scripts/export-contracts.sh +0 -117
  352. package/.claude/scripts/export-openspec.js +0 -222
  353. package/.claude/scripts/extract-data-model.sh +0 -78
  354. package/.claude/scripts/flow-context-add.sh +0 -134
  355. package/.claude/scripts/flow-context-init.sh +0 -133
  356. package/.claude/scripts/flow-context-validate.sh +0 -144
  357. package/.claude/scripts/flow-delta-apply.sh +0 -297
  358. package/.claude/scripts/flow-delta-archive.sh +0 -71
  359. package/.claude/scripts/flow-delta-create.sh +0 -202
  360. package/.claude/scripts/flow-delta-list.sh +0 -142
  361. package/.claude/scripts/flow-delta-status.sh +0 -235
  362. package/.claude/scripts/flow-quality-full.sh +0 -215
  363. package/.claude/scripts/flow-quality-quick.sh +0 -119
  364. package/.claude/scripts/flow-workspace-init.sh +0 -117
  365. package/.claude/scripts/flow-workspace-record.sh +0 -164
  366. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  367. package/.claude/scripts/generate-clarification-report.sh +0 -463
  368. package/.claude/scripts/generate-quickstart.sh +0 -146
  369. package/.claude/scripts/generate-research-tasks.sh +0 -157
  370. package/.claude/scripts/generate-status-report.sh +0 -523
  371. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  372. package/.claude/scripts/get-workflow-status.sh +0 -415
  373. package/.claude/scripts/import-openspec.js +0 -272
  374. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  375. package/.claude/scripts/manage-constitution.sh +0 -602
  376. package/.claude/scripts/mark-task-complete.sh +0 -198
  377. package/.claude/scripts/parse-task-dependencies.js +0 -334
  378. package/.claude/scripts/populate-research-tasks.sh +0 -284
  379. package/.claude/scripts/record-quality-error.sh +0 -165
  380. package/.claude/scripts/recover-workflow.sh +0 -463
  381. package/.claude/scripts/run-clarify-scan.sh +0 -601
  382. package/.claude/scripts/run-high-review.sh +0 -62
  383. package/.claude/scripts/run-problem-analysis.sh +0 -68
  384. package/.claude/scripts/run-quality-gates.sh +0 -242
  385. package/.claude/scripts/setup-epic.sh +0 -173
  386. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  387. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  388. package/.claude/scripts/sync-task-marks.sh +0 -199
  389. package/.claude/scripts/team-dev-init.sh +0 -319
  390. package/.claude/scripts/team-state-recovery.sh +0 -229
  391. package/.claude/scripts/test-clarify-scan.sh +0 -515
  392. package/.claude/scripts/update-agent-context.sh +0 -806
  393. package/.claude/scripts/validate-constitution.sh +0 -567
  394. package/.claude/scripts/validate-hooks.sh +0 -487
  395. package/.claude/scripts/validate-research.sh +0 -332
  396. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  397. package/.claude/scripts/validate-scope.sh +0 -200
  398. package/.claude/scripts/verify-gate.sh +0 -269
  399. package/.claude/scripts/verify-setup.sh +0 -37
  400. package/.claude/scripts/workflow-status.ts +0 -433
  401. package/.claude/settings.json +0 -95
  402. package/.claude/skills/_reference-implementations/README.md +0 -96
  403. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  404. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  405. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  406. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  408. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  409. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  410. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  411. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  412. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  413. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  414. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  415. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  416. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  417. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  418. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  419. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  420. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  421. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  422. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  423. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  424. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  425. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  426. package/.claude/skills/attention-refresh/SKILL.md +0 -170
  427. package/.claude/skills/brainstorming/SKILL.md +0 -161
  428. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  429. package/.claude/skills/constitution-guardian/SKILL.md +0 -306
  430. package/.claude/skills/constitution-quick-ref/SKILL.md +0 -374
  431. package/.claude/skills/debugging/SKILL.md +0 -221
  432. package/.claude/skills/file-standards/SKILL.md +0 -353
  433. package/.claude/skills/finishing-branch/SKILL.md +0 -189
  434. package/.claude/skills/flow-dev/CLAUDE.md +0 -16
  435. package/.claude/skills/flow-dev/SKILL.md +0 -94
  436. package/.claude/skills/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  437. package/.claude/skills/flow-dev/context.jsonl +0 -4
  438. package/.claude/skills/flow-dev/dev-implementer.jsonl +0 -8
  439. package/.claude/skills/flow-dev/scripts/entry-gate.sh +0 -116
  440. package/.claude/skills/flow-dev/scripts/exit-gate.sh +0 -101
  441. package/.claude/skills/flow-dev/scripts/task-orchestrator.sh +0 -106
  442. package/.claude/skills/flow-fix/SKILL.md +0 -105
  443. package/.claude/skills/flow-fix/context.jsonl +0 -6
  444. package/.claude/skills/flow-fix/references/bug-analyzer.md +0 -381
  445. package/.claude/skills/flow-init/SKILL.md +0 -105
  446. package/.claude/skills/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  447. package/.claude/skills/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  448. package/.claude/skills/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  449. package/.claude/skills/flow-init/context.jsonl +0 -5
  450. package/.claude/skills/flow-init/references/flow-researcher.md +0 -132
  451. package/.claude/skills/flow-init/scripts/check-prerequisites.sh +0 -240
  452. package/.claude/skills/flow-init/scripts/consolidate-research.sh +0 -182
  453. package/.claude/skills/flow-init/scripts/create-requirement.sh +0 -404
  454. package/.claude/skills/flow-init/scripts/generate-research-tasks.sh +0 -157
  455. package/.claude/skills/flow-init/scripts/populate-research-tasks.sh +0 -284
  456. package/.claude/skills/flow-init/scripts/validate-research.sh +0 -340
  457. package/.claude/skills/flow-quality/SKILL.md +0 -98
  458. package/.claude/skills/flow-quality/context.jsonl +0 -6
  459. package/.claude/skills/flow-quality/references/code-quality-reviewer.md +0 -205
  460. package/.claude/skills/flow-quality/references/qa-tester.md +0 -313
  461. package/.claude/skills/flow-quality/references/security-reviewer.md +0 -314
  462. package/.claude/skills/flow-quality/references/spec-reviewer.md +0 -221
  463. package/.claude/skills/flow-release/SKILL.md +0 -60
  464. package/.claude/skills/flow-release/context.jsonl +0 -5
  465. package/.claude/skills/flow-release/references/release-manager.md +0 -295
  466. package/.claude/skills/flow-spec/CLAUDE.md +0 -17
  467. package/.claude/skills/flow-spec/SKILL.md +0 -102
  468. package/.claude/skills/flow-spec/context.jsonl +0 -5
  469. package/.claude/skills/flow-spec/scripts/entry-gate.sh +0 -194
  470. package/.claude/skills/flow-spec/scripts/exit-gate.sh +0 -244
  471. package/.claude/skills/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  472. package/.claude/skills/flow-spec/scripts/team-communication.sh +0 -353
  473. package/.claude/skills/flow-spec/scripts/team-init.sh +0 -195
  474. package/.claude/skills/flow-spec/scripts/test-team-mode.sh +0 -496
  475. package/.claude/skills/flow-spec/team-config.json +0 -165
  476. package/.claude/skills/flow-verify/CLAUDE.md +0 -10
  477. package/.claude/skills/flow-verify/SKILL.md +0 -53
  478. package/.claude/skills/flow-verify/context.jsonl +0 -5
  479. package/.claude/skills/fractal-docs/SKILL.md +0 -45
  480. package/.claude/skills/journey-checker/SKILL.md +0 -199
  481. package/.claude/skills/journey-checker/pressure-scenarios.md +0 -164
  482. package/.claude/skills/receiving-review/SKILL.md +0 -153
  483. package/.claude/skills/skill-creator/LICENSE.txt +0 -202
  484. package/.claude/skills/skill-creator/SKILL.md +0 -356
  485. package/.claude/skills/skill-creator/references/output-patterns.md +0 -82
  486. package/.claude/skills/skill-creator/references/workflows.md +0 -28
  487. package/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
  488. package/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
  489. package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -95
  490. package/.claude/skills/skill-rules.json +0 -359
  491. package/.claude/skills/tdd/SKILL.md +0 -218
  492. package/.claude/skills/tdd-enforcer/SKILL.md +0 -192
  493. package/.claude/skills/utility/npm-release/CLAUDE.md +0 -55
  494. package/.claude/skills/utility/npm-release/SKILL.md +0 -379
  495. package/.claude/skills/utility/npm-release/references/version-decision-guide.md +0 -134
  496. package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +0 -95
  497. package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +0 -82
  498. package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +0 -44
  499. package/.claude/skills/verification/SKILL.md +0 -158
  500. package/.claude/skills/workflow.yaml +0 -219
  501. package/.claude/tests/README.md +0 -300
  502. package/.claude/tests/TODO.md +0 -69
  503. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  504. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  505. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  506. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  507. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  508. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  509. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  510. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  511. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  512. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  513. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  514. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  515. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  516. package/.claude/tests/run-all-tests.sh +0 -229
  517. package/.claude/tests/scripts/run.sh +0 -30
  518. package/.claude/tests/scripts/test-framework.sh +0 -128
  519. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  520. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  521. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  522. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  523. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  524. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  525. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  526. package/.claude/tests/scripts/test_common.sh +0 -244
  527. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  528. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  529. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  530. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  531. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  532. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  533. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  534. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  535. package/.claude/tests/slugify.bats +0 -82
  536. package/.claude/tests/test-framework.sh +0 -732
  537. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  538. package/.claude/tests/test_consolidate_research.py +0 -48
  539. package/.claude/tests/test_export_contracts.py +0 -43
  540. package/.claude/tests/test_extract_data_model.py +0 -33
  541. package/.claude/tests/test_generate_quickstart.py +0 -50
  542. package/.claude/tests/test_generate_research_tasks.py +0 -52
  543. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +0 -1
  544. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +0 -2
  545. package/bin/harness.js +0 -22
  546. package/docs/commands/core-roadmap.md +0 -106
  547. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  548. package/docs/commands/core-style.md +0 -53
  549. package/docs/commands/core-style.zh-CN.md +0 -53
  550. package/docs/commands/flow-init.md +0 -140
  551. package/docs/commands/flow-init.zh-CN.md +0 -169
  552. package/docs/commands/flow-new.md +0 -39
  553. package/docs/commands/flow-new.zh-CN.md +0 -39
  554. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  555. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  556. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  557. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  558. package/lib/compiler/context-expander.js +0 -179
  559. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  560. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  561. package/lib/compiler/skill-discovery.js +0 -68
  562. package/lib/harness/CLAUDE.md +0 -22
  563. package/lib/harness/__tests__/planner.tdd.test.js +0 -125
  564. package/lib/harness/cli.js +0 -208
  565. package/lib/harness/index.js +0 -18
  566. package/lib/harness/operations/dispatch.js +0 -298
  567. package/lib/harness/operations/init.js +0 -48
  568. package/lib/harness/operations/pack.js +0 -100
  569. package/lib/harness/operations/plan.js +0 -83
  570. package/lib/harness/operations/release.js +0 -170
  571. package/lib/harness/operations/resume.js +0 -44
  572. package/lib/harness/operations/verify.js +0 -177
  573. package/lib/harness/planner.js +0 -272
  574. package/lib/harness/query.js +0 -126
  575. package/lib/harness/schemas.js +0 -129
@@ -0,0 +1,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
+ }