cc-devflow 4.3.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (579) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +70 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
  3. package/.claude/skills/cc-act/SKILL.md +330 -0
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +68 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +29 -0
  6. package/.claude/skills/cc-act/references/closure-contract.md +49 -0
  7. package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
  8. package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +245 -0
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
  11. package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +200 -0
  13. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +328 -0
  14. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
  15. package/.claude/skills/cc-check/CHANGELOG.md +78 -0
  16. package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
  17. package/.claude/skills/cc-check/SKILL.md +353 -0
  18. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +53 -0
  19. package/.claude/skills/cc-check/references/gate-contract.md +29 -0
  20. package/.claude/skills/cc-check/references/review-contract.md +45 -0
  21. package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
  22. package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
  23. package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
  24. package/.claude/skills/cc-do/CHANGELOG.md +54 -0
  25. package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
  26. package/.claude/skills/cc-do/SKILL.md +224 -0
  27. package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
  28. package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
  29. package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
  30. package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
  31. package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
  32. package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
  33. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
  34. package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
  35. package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
  36. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
  37. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
  38. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
  39. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
  40. package/.claude/skills/cc-investigate/CHANGELOG.md +31 -0
  41. package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
  42. package/.claude/skills/cc-investigate/SKILL.md +229 -0
  43. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +56 -0
  44. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +53 -0
  45. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +106 -0
  46. package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
  47. package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
  48. package/.claude/skills/cc-plan/CHANGELOG.md +104 -0
  49. package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
  50. package/.claude/skills/cc-plan/SKILL.md +333 -0
  51. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +156 -0
  52. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +99 -0
  53. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +111 -0
  54. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +80 -0
  55. package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
  56. package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
  57. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
  58. package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
  59. package/.claude/skills/cc-roadmap/CHANGELOG.md +119 -0
  60. package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
  61. package/.claude/skills/cc-roadmap/SKILL.md +267 -0
  62. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +46 -0
  63. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +154 -0
  64. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +51 -0
  65. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
  66. package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
  67. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
  68. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
  69. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
  70. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
  71. package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
  72. package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
  73. package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
  74. package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
  75. package/.claude/skills/cc-simplify/SKILL.md +55 -0
  76. package/.claude/skills/cc-spec-init/CHANGELOG.md +12 -0
  77. package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
  78. package/.claude/skills/cc-spec-init/SKILL.md +135 -0
  79. package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +64 -0
  80. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +28 -0
  81. package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +35 -0
  82. package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
  83. package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
  84. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
  85. package/CHANGELOG.md +80 -4
  86. package/README.md +148 -741
  87. package/README.zh-CN.md +146 -740
  88. package/bin/adapt.js +2 -6
  89. package/bin/cc-devflow-cli.js +287 -166
  90. package/config/distributable-skills.json +24 -0
  91. package/config/schema/cc-devflow-config.schema.json +45 -0
  92. package/config/user-config.template.yml +16 -0
  93. package/docs/CLAUDE.md +10 -6
  94. package/docs/commands/README.md +19 -46
  95. package/docs/commands/README.zh-CN.md +25 -48
  96. package/docs/examples/BY-ARTIFACT.md +7 -0
  97. package/docs/examples/README.md +38 -0
  98. package/docs/examples/START-HERE.md +149 -0
  99. package/docs/examples/example-bindings.json +38 -0
  100. package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
  101. package/docs/examples/full-design-blocked/README.md +55 -0
  102. package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
  103. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
  104. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
  105. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
  106. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
  107. package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
  108. package/docs/examples/local-handoff/BACKLOG.md +45 -0
  109. package/docs/examples/local-handoff/README.md +56 -0
  110. package/docs/examples/local-handoff/ROADMAP.md +45 -0
  111. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
  112. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
  113. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
  114. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
  115. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
  116. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
  117. package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
  118. package/docs/examples/pdca-loop/BACKLOG.md +46 -0
  119. package/docs/examples/pdca-loop/README.md +58 -0
  120. package/docs/examples/pdca-loop/ROADMAP.md +133 -0
  121. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
  122. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
  123. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
  125. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
  126. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
  127. package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
  128. package/docs/examples/scripts/check-example-bindings.sh +116 -0
  129. package/docs/guides/getting-started.md +94 -129
  130. package/docs/guides/getting-started.zh-CN.md +103 -84
  131. package/docs/skill-runtime-migration.md +46 -0
  132. package/docs/v4.3.0-migration-guide.md +60 -225
  133. package/lib/compiler/CLAUDE.md +55 -84
  134. package/lib/compiler/__tests__/drift.test.js +1 -1
  135. package/lib/compiler/__tests__/errors.test.js +0 -1
  136. package/lib/compiler/__tests__/integration.test.js +49 -3
  137. package/lib/compiler/__tests__/manifest.test.js +0 -156
  138. package/lib/compiler/__tests__/parser.test.js +33 -104
  139. package/lib/compiler/__tests__/schemas.test.js +30 -34
  140. package/lib/compiler/__tests__/skills-registry.test.js +114 -0
  141. package/lib/compiler/__tests__/transformer.test.js +5 -9
  142. package/lib/compiler/emitters/antigravity-emitter.js +5 -213
  143. package/lib/compiler/emitters/base-emitter.js +3 -298
  144. package/lib/compiler/emitters/codex-emitter.js +4 -202
  145. package/lib/compiler/emitters/cursor-emitter.js +3 -287
  146. package/lib/compiler/emitters/qwen-emitter.js +4 -176
  147. package/lib/compiler/index.js +65 -345
  148. package/lib/compiler/manifest.js +6 -68
  149. package/lib/compiler/parser.js +31 -63
  150. package/lib/compiler/platforms.js +32 -277
  151. package/lib/compiler/resource-copier.js +176 -6
  152. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
  153. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
  154. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
  155. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
  156. package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
  157. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
  158. package/lib/compiler/rules-emitters/index.js +6 -3
  159. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
  160. package/lib/compiler/schemas.js +8 -4
  161. package/lib/compiler/skills-registry.js +213 -15
  162. package/lib/compiler/transformer.js +1 -1
  163. package/lib/skill-runtime/CLAUDE.md +19 -0
  164. package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
  165. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +291 -0
  166. package/lib/skill-runtime/__tests__/config.test.js +161 -0
  167. package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
  168. package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
  169. package/lib/skill-runtime/__tests__/intent.test.js +219 -0
  170. package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
  171. package/lib/skill-runtime/__tests__/paths.test.js +42 -0
  172. package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
  173. package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
  174. package/lib/skill-runtime/__tests__/query.test.js +284 -0
  175. package/lib/skill-runtime/__tests__/runtime.integration.test.js +281 -0
  176. package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
  177. package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
  178. package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
  179. package/lib/skill-runtime/__tests__/worker.test.js +56 -0
  180. package/lib/skill-runtime/artifacts.js +93 -0
  181. package/lib/skill-runtime/config.js +379 -0
  182. package/lib/skill-runtime/delegation.js +533 -0
  183. package/lib/skill-runtime/index.js +36 -0
  184. package/lib/skill-runtime/intent.js +333 -0
  185. package/lib/skill-runtime/lifecycle.js +294 -0
  186. package/lib/skill-runtime/operations/CLAUDE.md +19 -0
  187. package/lib/skill-runtime/operations/approve.js +66 -0
  188. package/lib/skill-runtime/operations/autopilot-core.js +337 -0
  189. package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
  190. package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
  191. package/lib/skill-runtime/operations/autopilot.js +163 -0
  192. package/lib/skill-runtime/operations/dispatch.js +454 -0
  193. package/lib/skill-runtime/operations/init.js +64 -0
  194. package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
  195. package/lib/skill-runtime/operations/plan.js +59 -0
  196. package/lib/skill-runtime/operations/prepare-pr.js +25 -0
  197. package/lib/skill-runtime/operations/release.js +96 -0
  198. package/lib/skill-runtime/operations/resume.js +143 -0
  199. package/lib/skill-runtime/operations/snapshot.js +45 -0
  200. package/lib/skill-runtime/operations/verify.js +170 -0
  201. package/lib/skill-runtime/operations/worker-run.js +529 -0
  202. package/lib/skill-runtime/operations/worker.js +33 -0
  203. package/lib/skill-runtime/paths.js +213 -0
  204. package/lib/skill-runtime/planner.js +519 -0
  205. package/lib/skill-runtime/query.js +157 -0
  206. package/lib/skill-runtime/review.js +557 -0
  207. package/lib/skill-runtime/schemas.js +400 -0
  208. package/lib/{harness → skill-runtime}/store.js +45 -30
  209. package/lib/skill-runtime/team-state.js +122 -0
  210. package/package.json +13 -11
  211. package/.claude/CLAUDE.md +0 -125
  212. package/.claude/agents/architecture-designer.md +0 -443
  213. package/.claude/agents/bug-analyzer.md +0 -381
  214. package/.claude/agents/checklist-agent.md +0 -175
  215. package/.claude/agents/clarify-analyst.md +0 -50
  216. package/.claude/agents/code-quality-reviewer.md +0 -205
  217. package/.claude/agents/code-reviewer.md +0 -71
  218. package/.claude/agents/codex-analyzer.md +0 -39
  219. package/.claude/agents/compatibility-checker.md +0 -579
  220. package/.claude/agents/consistency-checker.md +0 -532
  221. package/.claude/agents/dev-implementer.md +0 -195
  222. package/.claude/agents/flow-researcher.md +0 -132
  223. package/.claude/agents/impact-analyzer.md +0 -440
  224. package/.claude/agents/planner.md +0 -230
  225. package/.claude/agents/prd-writer.md +0 -320
  226. package/.claude/agents/project-guidelines-generator.md +0 -1329
  227. package/.claude/agents/qa-tester.md +0 -313
  228. package/.claude/agents/release-manager.md +0 -295
  229. package/.claude/agents/security-reviewer.md +0 -314
  230. package/.claude/agents/spec-reviewer.md +0 -221
  231. package/.claude/agents/style-guide-generator.md +0 -458
  232. package/.claude/agents/tech-architect.md +0 -516
  233. package/.claude/agents/ui-designer.md +0 -485
  234. package/.claude/commands/core/architecture.md +0 -459
  235. package/.claude/commands/core/guidelines.md +0 -511
  236. package/.claude/commands/core/roadmap.md +0 -468
  237. package/.claude/commands/core/style.md +0 -83
  238. package/.claude/commands/flow/CLAUDE.md +0 -24
  239. package/.claude/commands/flow/archive.md +0 -280
  240. package/.claude/commands/flow/constitution.md +0 -82
  241. package/.claude/commands/flow/context.md +0 -150
  242. package/.claude/commands/flow/delta.md +0 -245
  243. package/.claude/commands/flow/dev.md +0 -40
  244. package/.claude/commands/flow/fix.md +0 -217
  245. package/.claude/commands/flow/ideate.md +0 -214
  246. package/.claude/commands/flow/init.md +0 -38
  247. package/.claude/commands/flow/release.md +0 -36
  248. package/.claude/commands/flow/restart.md +0 -97
  249. package/.claude/commands/flow/spec.md +0 -36
  250. package/.claude/commands/flow/status.md +0 -64
  251. package/.claude/commands/flow/update.md +0 -111
  252. package/.claude/commands/flow/upgrade.md +0 -115
  253. package/.claude/commands/flow/verify.md +0 -37
  254. package/.claude/commands/flow/workspace.md +0 -155
  255. package/.claude/commands/util/cancel-ralph.md +0 -60
  256. package/.claude/commands/util/code-review.md +0 -58
  257. package/.claude/commands/util/git-commit.md +0 -422
  258. package/.claude/commands/util/problem-analyzer.md +0 -60
  259. package/.claude/config/quality-gates.yml +0 -305
  260. package/.claude/config/quality-rules.yml +0 -161
  261. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
  262. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
  263. package/.claude/docs/design/intent-driven-input-design.md +0 -380
  264. package/.claude/docs/design/prd-version-management-design.md +0 -437
  265. package/.claude/docs/examples/design-inspiration-pool.md +0 -59
  266. package/.claude/docs/examples/ui-prototype-constitution-checklist.md +0 -75
  267. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
  268. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  269. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  270. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  271. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  272. package/.claude/docs/implementation-summary-v7.md +0 -449
  273. package/.claude/docs/spec-format-guide.md +0 -349
  274. package/.claude/docs/state-consolidation-design.md +0 -323
  275. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -332
  276. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  277. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  278. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  279. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  280. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  281. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  282. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  283. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  284. package/.claude/docs/templates/DESIGN_TEMPLATE.md +0 -157
  285. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  286. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  287. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  288. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  289. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  290. package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +0 -91
  291. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  292. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  293. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  294. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  295. package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +0 -139
  296. package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +0 -93
  297. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -479
  298. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -373
  299. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  300. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  301. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  302. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  303. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  304. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  305. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  306. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  307. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  308. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  309. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  310. package/.claude/guides/project-guidelines-system.md +0 -463
  311. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  312. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  313. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  314. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  315. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  316. package/.claude/hooks/CLAUDE.md +0 -342
  317. package/.claude/hooks/checklist-gate.js +0 -397
  318. package/.claude/hooks/error-handling-reminder.sh +0 -12
  319. package/.claude/hooks/error-handling-reminder.ts +0 -459
  320. package/.claude/hooks/hooks.json +0 -15
  321. package/.claude/hooks/inject-agent-context.ts +0 -480
  322. package/.claude/hooks/inject-skill-context.ts +0 -359
  323. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  324. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  325. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  326. package/.claude/hooks/ralph-loop.ts +0 -931
  327. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  328. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  329. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  330. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  331. package/.claude/hooks/task-completed-hook.ts +0 -593
  332. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  333. package/.claude/hooks/types/team-types.d.ts +0 -238
  334. package/.claude/rules/devflow-conventions.md +0 -286
  335. package/.claude/rules/project-constitution.md +0 -1002
  336. package/.claude/rules/rationalization-library.md +0 -282
  337. package/.claude/schemas/constitution.schema.json +0 -43
  338. package/.claude/scripts/.claude/commands/flow/export-openspec.md +0 -221
  339. package/.claude/scripts/.claude/commands/flow/import-openspec.md +0 -171
  340. package/.claude/scripts/CLAUDE.md +0 -76
  341. package/.claude/scripts/__tests__/openspec.test.js +0 -212
  342. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  343. package/.claude/scripts/archive-requirement.sh +0 -394
  344. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  345. package/.claude/scripts/calculate-quarter.sh +0 -206
  346. package/.claude/scripts/check-dependencies.sh +0 -409
  347. package/.claude/scripts/check-prerequisites.sh +0 -232
  348. package/.claude/scripts/check-task-status.sh +0 -288
  349. package/.claude/scripts/checklist-errors.sh +0 -131
  350. package/.claude/scripts/common.sh +0 -1102
  351. package/.claude/scripts/consolidate-research.sh +0 -182
  352. package/.claude/scripts/create-requirement.sh +0 -451
  353. package/.claude/scripts/delta-parser.ts +0 -637
  354. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  355. package/.claude/scripts/export-contracts.sh +0 -117
  356. package/.claude/scripts/export-openspec.js +0 -222
  357. package/.claude/scripts/extract-data-model.sh +0 -78
  358. package/.claude/scripts/flow-context-add.sh +0 -134
  359. package/.claude/scripts/flow-context-init.sh +0 -133
  360. package/.claude/scripts/flow-context-validate.sh +0 -144
  361. package/.claude/scripts/flow-delta-apply.sh +0 -297
  362. package/.claude/scripts/flow-delta-archive.sh +0 -71
  363. package/.claude/scripts/flow-delta-create.sh +0 -202
  364. package/.claude/scripts/flow-delta-list.sh +0 -142
  365. package/.claude/scripts/flow-delta-status.sh +0 -235
  366. package/.claude/scripts/flow-quality-full.sh +0 -215
  367. package/.claude/scripts/flow-quality-quick.sh +0 -119
  368. package/.claude/scripts/flow-workspace-init.sh +0 -117
  369. package/.claude/scripts/flow-workspace-record.sh +0 -164
  370. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  371. package/.claude/scripts/generate-clarification-report.sh +0 -463
  372. package/.claude/scripts/generate-quickstart.sh +0 -146
  373. package/.claude/scripts/generate-research-tasks.sh +0 -157
  374. package/.claude/scripts/generate-status-report.sh +0 -523
  375. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  376. package/.claude/scripts/get-workflow-status.sh +0 -415
  377. package/.claude/scripts/import-openspec.js +0 -272
  378. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  379. package/.claude/scripts/manage-constitution.sh +0 -602
  380. package/.claude/scripts/mark-task-complete.sh +0 -198
  381. package/.claude/scripts/parse-task-dependencies.js +0 -334
  382. package/.claude/scripts/populate-research-tasks.sh +0 -284
  383. package/.claude/scripts/record-quality-error.sh +0 -165
  384. package/.claude/scripts/recover-workflow.sh +0 -463
  385. package/.claude/scripts/run-clarify-scan.sh +0 -601
  386. package/.claude/scripts/run-high-review.sh +0 -62
  387. package/.claude/scripts/run-problem-analysis.sh +0 -68
  388. package/.claude/scripts/run-quality-gates.sh +0 -242
  389. package/.claude/scripts/setup-epic.sh +0 -173
  390. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  391. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  392. package/.claude/scripts/sync-task-marks.sh +0 -199
  393. package/.claude/scripts/team-dev-init.sh +0 -319
  394. package/.claude/scripts/team-state-recovery.sh +0 -229
  395. package/.claude/scripts/test-clarify-scan.sh +0 -515
  396. package/.claude/scripts/update-agent-context.sh +0 -806
  397. package/.claude/scripts/validate-constitution.sh +0 -567
  398. package/.claude/scripts/validate-hooks.sh +0 -487
  399. package/.claude/scripts/validate-research.sh +0 -332
  400. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  401. package/.claude/scripts/validate-scope.sh +0 -200
  402. package/.claude/scripts/verify-gate.sh +0 -269
  403. package/.claude/scripts/verify-setup.sh +0 -37
  404. package/.claude/scripts/workflow-status.ts +0 -433
  405. package/.claude/settings.json +0 -95
  406. package/.claude/skills/_reference-implementations/README.md +0 -96
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  408. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  409. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  410. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  411. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  412. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  413. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  414. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  415. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  416. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  417. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  418. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  419. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  420. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  421. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  422. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  423. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  424. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  425. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  426. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  427. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  428. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  429. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  430. package/.claude/skills/attention-refresh/SKILL.md +0 -170
  431. package/.claude/skills/brainstorming/SKILL.md +0 -161
  432. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  433. package/.claude/skills/constitution-guardian/SKILL.md +0 -306
  434. package/.claude/skills/constitution-quick-ref/SKILL.md +0 -374
  435. package/.claude/skills/debugging/SKILL.md +0 -221
  436. package/.claude/skills/file-standards/SKILL.md +0 -353
  437. package/.claude/skills/finishing-branch/SKILL.md +0 -189
  438. package/.claude/skills/flow-dev/CLAUDE.md +0 -16
  439. package/.claude/skills/flow-dev/SKILL.md +0 -94
  440. package/.claude/skills/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  441. package/.claude/skills/flow-dev/context.jsonl +0 -4
  442. package/.claude/skills/flow-dev/dev-implementer.jsonl +0 -8
  443. package/.claude/skills/flow-dev/scripts/entry-gate.sh +0 -116
  444. package/.claude/skills/flow-dev/scripts/exit-gate.sh +0 -101
  445. package/.claude/skills/flow-dev/scripts/task-orchestrator.sh +0 -106
  446. package/.claude/skills/flow-fix/SKILL.md +0 -105
  447. package/.claude/skills/flow-fix/context.jsonl +0 -6
  448. package/.claude/skills/flow-fix/references/bug-analyzer.md +0 -381
  449. package/.claude/skills/flow-init/SKILL.md +0 -105
  450. package/.claude/skills/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  451. package/.claude/skills/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  452. package/.claude/skills/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  453. package/.claude/skills/flow-init/context.jsonl +0 -5
  454. package/.claude/skills/flow-init/references/flow-researcher.md +0 -132
  455. package/.claude/skills/flow-init/scripts/check-prerequisites.sh +0 -240
  456. package/.claude/skills/flow-init/scripts/consolidate-research.sh +0 -182
  457. package/.claude/skills/flow-init/scripts/create-requirement.sh +0 -404
  458. package/.claude/skills/flow-init/scripts/generate-research-tasks.sh +0 -157
  459. package/.claude/skills/flow-init/scripts/populate-research-tasks.sh +0 -284
  460. package/.claude/skills/flow-init/scripts/validate-research.sh +0 -340
  461. package/.claude/skills/flow-quality/SKILL.md +0 -98
  462. package/.claude/skills/flow-quality/context.jsonl +0 -6
  463. package/.claude/skills/flow-quality/references/code-quality-reviewer.md +0 -205
  464. package/.claude/skills/flow-quality/references/qa-tester.md +0 -313
  465. package/.claude/skills/flow-quality/references/security-reviewer.md +0 -314
  466. package/.claude/skills/flow-quality/references/spec-reviewer.md +0 -221
  467. package/.claude/skills/flow-release/SKILL.md +0 -60
  468. package/.claude/skills/flow-release/context.jsonl +0 -5
  469. package/.claude/skills/flow-release/references/release-manager.md +0 -295
  470. package/.claude/skills/flow-spec/CLAUDE.md +0 -17
  471. package/.claude/skills/flow-spec/SKILL.md +0 -102
  472. package/.claude/skills/flow-spec/context.jsonl +0 -5
  473. package/.claude/skills/flow-spec/scripts/entry-gate.sh +0 -194
  474. package/.claude/skills/flow-spec/scripts/exit-gate.sh +0 -244
  475. package/.claude/skills/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  476. package/.claude/skills/flow-spec/scripts/team-communication.sh +0 -353
  477. package/.claude/skills/flow-spec/scripts/team-init.sh +0 -195
  478. package/.claude/skills/flow-spec/scripts/test-team-mode.sh +0 -496
  479. package/.claude/skills/flow-spec/team-config.json +0 -165
  480. package/.claude/skills/flow-verify/CLAUDE.md +0 -10
  481. package/.claude/skills/flow-verify/SKILL.md +0 -53
  482. package/.claude/skills/flow-verify/context.jsonl +0 -5
  483. package/.claude/skills/fractal-docs/SKILL.md +0 -45
  484. package/.claude/skills/journey-checker/SKILL.md +0 -199
  485. package/.claude/skills/journey-checker/pressure-scenarios.md +0 -164
  486. package/.claude/skills/receiving-review/SKILL.md +0 -153
  487. package/.claude/skills/skill-creator/LICENSE.txt +0 -202
  488. package/.claude/skills/skill-creator/SKILL.md +0 -356
  489. package/.claude/skills/skill-creator/references/output-patterns.md +0 -82
  490. package/.claude/skills/skill-creator/references/workflows.md +0 -28
  491. package/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
  492. package/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
  493. package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -95
  494. package/.claude/skills/skill-rules.json +0 -359
  495. package/.claude/skills/tdd/SKILL.md +0 -218
  496. package/.claude/skills/tdd-enforcer/SKILL.md +0 -192
  497. package/.claude/skills/utility/npm-release/CLAUDE.md +0 -55
  498. package/.claude/skills/utility/npm-release/SKILL.md +0 -379
  499. package/.claude/skills/utility/npm-release/references/version-decision-guide.md +0 -134
  500. package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +0 -95
  501. package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +0 -82
  502. package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +0 -44
  503. package/.claude/skills/verification/SKILL.md +0 -158
  504. package/.claude/skills/workflow.yaml +0 -219
  505. package/.claude/tests/README.md +0 -300
  506. package/.claude/tests/TODO.md +0 -69
  507. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  508. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  509. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  510. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  511. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  512. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  513. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  514. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  515. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  516. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  517. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  518. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  519. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  520. package/.claude/tests/run-all-tests.sh +0 -229
  521. package/.claude/tests/scripts/run.sh +0 -30
  522. package/.claude/tests/scripts/test-framework.sh +0 -128
  523. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  524. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  525. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  526. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  527. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  528. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  529. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  530. package/.claude/tests/scripts/test_common.sh +0 -244
  531. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  532. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  533. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  534. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  535. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  536. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  537. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  538. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  539. package/.claude/tests/slugify.bats +0 -82
  540. package/.claude/tests/test-framework.sh +0 -732
  541. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  542. package/.claude/tests/test_consolidate_research.py +0 -48
  543. package/.claude/tests/test_export_contracts.py +0 -43
  544. package/.claude/tests/test_extract_data_model.py +0 -33
  545. package/.claude/tests/test_generate_quickstart.py +0 -50
  546. package/.claude/tests/test_generate_research_tasks.py +0 -52
  547. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +0 -1
  548. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +0 -2
  549. package/bin/harness.js +0 -22
  550. package/docs/commands/core-roadmap.md +0 -106
  551. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  552. package/docs/commands/core-style.md +0 -53
  553. package/docs/commands/core-style.zh-CN.md +0 -53
  554. package/docs/commands/flow-init.md +0 -140
  555. package/docs/commands/flow-init.zh-CN.md +0 -169
  556. package/docs/commands/flow-new.md +0 -39
  557. package/docs/commands/flow-new.zh-CN.md +0 -39
  558. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  559. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  560. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  561. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  562. package/lib/compiler/context-expander.js +0 -179
  563. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  564. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  565. package/lib/compiler/skill-discovery.js +0 -68
  566. package/lib/harness/CLAUDE.md +0 -22
  567. package/lib/harness/__tests__/planner.tdd.test.js +0 -125
  568. package/lib/harness/cli.js +0 -208
  569. package/lib/harness/index.js +0 -18
  570. package/lib/harness/operations/dispatch.js +0 -298
  571. package/lib/harness/operations/init.js +0 -48
  572. package/lib/harness/operations/pack.js +0 -100
  573. package/lib/harness/operations/plan.js +0 -83
  574. package/lib/harness/operations/release.js +0 -170
  575. package/lib/harness/operations/resume.js +0 -44
  576. package/lib/harness/operations/verify.js +0 -177
  577. package/lib/harness/planner.js +0 -272
  578. package/lib/harness/query.js +0 -126
  579. package/lib/harness/schemas.js +0 -129
@@ -0,0 +1,29 @@
1
+ # Status Report
2
+
3
+ ## Requirement
4
+
5
+ - Change ID: `REQ-003`
6
+ - Roadmap item: `RM-020`
7
+ - Current state: verified and ready for `local-handoff`
8
+
9
+ ## What Is True Now
10
+
11
+ - The admin audit summary panel can export the currently visible summary rows as CSV
12
+ - The patch stayed inside the approved `tiny-design` boundary
13
+ - Fresh targeted test and lint evidence both passed
14
+ - `cc-check` returned `pass`
15
+
16
+ ## Ship Decision
17
+
18
+ - Recommended mode: `local-handoff`
19
+ - Why now: the work is verified, but remote push / PR creation is intentionally unavailable in this environment
20
+ - Why not others:
21
+ - not `create-pr`: remote access is unavailable
22
+ - not `update-pr`: there is no existing PR to refresh
23
+ - not `post-merge-closeout`: the change is not merged yet
24
+
25
+ ## Docs And Follow-Up
26
+
27
+ - README / release docs: unchanged; this is not a public release step
28
+ - Backlog writeback: if admins request additional export formats, open a new roadmap item
29
+ - Next entry point: use `resume-index.md` to pick up the branch when remote access becomes available
@@ -0,0 +1,71 @@
1
+ # DESIGN
2
+
3
+ ## Document Meta
4
+
5
+ - Requirement version: `REQ-003.v1`
6
+ - Design version: `design.v1`
7
+ - CC-Plan skill version: `3.5.4`
8
+ - Requirement ID: `REQ-003`
9
+ - Design mode: `tiny-design`
10
+ - Why this stays `tiny-design`: the patch adds one export action inside the existing admin audit UI without changing data contracts
11
+ - Approval status: `approved`
12
+ - Source roadmap item: `RM-020`
13
+ - Source roadmap version: `roadmap.v3`
14
+
15
+ ## Source Handoff
16
+
17
+ - Why now: admins need a lightweight way to take weekly activity summaries out of the UI
18
+ - Inherited success signal: admins can download the summary without manual row copying
19
+ - Inherited kill signal: if export requires a shared reporting pipeline, reopen planning
20
+ - Inherited non-goals: no JSON export mode, no scheduled reporting
21
+ - Upstream evidence: repeated internal admin requests during weekly reviews
22
+
23
+ ## Frozen Design Card
24
+
25
+ - Change: add a `Download summary` action that exports the visible audit summary rows as CSV
26
+ - Keep out: no multi-format export and no shared reporting backend
27
+ - Touched files:
28
+ - `src/admin/AuditSummaryPanel.tsx`
29
+ - `src/admin/AuditSummaryPanel.test.tsx`
30
+ - Contract changes: none; reuse the existing summary rows already shown in the panel
31
+ - Key decisions that `cc-do` must not re-decide:
32
+ - export only what is already visible in the panel
33
+ - use CSV as the single output format
34
+ - keep the action inside the current admin panel
35
+ - Upgrade trigger to `full-design`: if export needs background generation or new reporting contracts
36
+
37
+ ## Validation
38
+
39
+ - Primary check: targeted panel test proves the export action is available and uses current summary rows
40
+ - Secondary checks:
41
+ - existing audit summary rendering stays green
42
+ - lint passes for the touched panel
43
+ - Evidence to collect:
44
+ - failing test before implementation
45
+ - passing test and lint after implementation
46
+
47
+ ## Main Risk
48
+
49
+ - Risk: admins may soon ask for more export formats
50
+ - Mitigation: treat JSON or scheduled exports as later roadmap items
51
+
52
+ ## Review Gate
53
+
54
+ - Placeholder scan: pass
55
+ - Consistency scan: pass
56
+ - Scope scan: pass
57
+ - Ambiguity scan: pass
58
+ - Feasibility scan: pass
59
+ - Final recommendation: approved as `tiny-design`
60
+
61
+ ## Approval
62
+
63
+ - User approval status: approved
64
+ - Deferred questions:
65
+ - if admins ask for machine-readable export next, open a separate requirement
66
+
67
+ ## First-Read Test
68
+
69
+ - 一眼能看出这次为什么够小
70
+ - 一眼能看出什么情况会逼它升级成 `full-design`
71
+ - `cc-do` 看完不会继续追问“导出的字段从哪里来”
@@ -0,0 +1,98 @@
1
+ {
2
+ "changeId": "REQ-003",
3
+ "goal": "Add a local CSV export for the existing audit summary panel without introducing new reporting contracts.",
4
+ "createdAt": "2026-04-16T13:00:00.000Z",
5
+ "updatedAt": "2026-04-16T14:20:00.000Z",
6
+ "requirementId": "REQ-003",
7
+ "requirementVersion": "REQ-003.v1",
8
+ "currentTaskId": null,
9
+ "activePhase": null,
10
+ "tasks": [
11
+ {
12
+ "id": "T001",
13
+ "title": "[TEST] Add a failing test for the missing download action",
14
+ "type": "TEST",
15
+ "phase": 1,
16
+ "parallel": false,
17
+ "dependsOn": [],
18
+ "touches": ["audit-summary", "tests"],
19
+ "files": ["src/admin/AuditSummaryPanel.test.tsx"],
20
+ "run": ["npm test -- src/admin/AuditSummaryPanel.test.tsx"],
21
+ "checks": ["test fails before implementation"],
22
+ "acceptance": ["the missing download action is reproduced as a failing test"],
23
+ "verification": ["npm test -- src/admin/AuditSummaryPanel.test.tsx"],
24
+ "evidence": ["failing test output"],
25
+ "context": {
26
+ "readFiles": ["design.md", "tasks.md", "src/admin/AuditSummaryPanel.tsx"],
27
+ "commands": ["npm test -- src/admin/AuditSummaryPanel.test.tsx"],
28
+ "notes": ["stay inside the current audit summary panel"]
29
+ },
30
+ "reviews": { "spec": "pass", "code": "pass" },
31
+ "status": "passed",
32
+ "attempts": 1,
33
+ "maxRetries": 1
34
+ },
35
+ {
36
+ "id": "T002",
37
+ "title": "[IMPL] Add the download summary action",
38
+ "type": "IMPL",
39
+ "phase": 1,
40
+ "parallel": false,
41
+ "dependsOn": ["T001"],
42
+ "touches": ["audit-summary"],
43
+ "files": ["src/admin/AuditSummaryPanel.tsx"],
44
+ "run": ["npm test -- src/admin/AuditSummaryPanel.test.tsx"],
45
+ "checks": ["panel test passes"],
46
+ "acceptance": ["admins can trigger a CSV download from the existing summary panel"],
47
+ "verification": ["npm test -- src/admin/AuditSummaryPanel.test.tsx"],
48
+ "evidence": ["passing test output", "checkpoint summary"],
49
+ "context": {
50
+ "readFiles": ["design.md", "tasks.md", "src/admin/AuditSummaryPanel.test.tsx"],
51
+ "commands": ["npm test -- src/admin/AuditSummaryPanel.test.tsx"],
52
+ "notes": ["reuse visible summary rows as the export source"]
53
+ },
54
+ "reviews": { "spec": "pass", "code": "pass" },
55
+ "status": "passed",
56
+ "attempts": 1,
57
+ "maxRetries": 1
58
+ },
59
+ {
60
+ "id": "T003",
61
+ "title": "Run targeted checks and collect handoff evidence",
62
+ "type": "OTHER",
63
+ "phase": 2,
64
+ "parallel": false,
65
+ "dependsOn": ["T002"],
66
+ "touches": ["quality-gates"],
67
+ "files": ["src/admin/AuditSummaryPanel.tsx", "src/admin/AuditSummaryPanel.test.tsx"],
68
+ "run": [
69
+ "npm test -- src/admin/AuditSummaryPanel.test.tsx",
70
+ "npm run lint -- src/admin/AuditSummaryPanel.tsx"
71
+ ],
72
+ "checks": ["targeted tests pass", "lint passes"],
73
+ "acceptance": ["fresh verification evidence exists for local handoff"],
74
+ "verification": [
75
+ "npm test -- src/admin/AuditSummaryPanel.test.tsx",
76
+ "npm run lint -- src/admin/AuditSummaryPanel.tsx"
77
+ ],
78
+ "evidence": ["passing test output", "clean lint output"],
79
+ "context": {
80
+ "readFiles": ["tasks.md", "task-manifest.json"],
81
+ "commands": [
82
+ "npm test -- src/admin/AuditSummaryPanel.test.tsx",
83
+ "npm run lint -- src/admin/AuditSummaryPanel.tsx"
84
+ ],
85
+ "notes": ["remote push is intentionally out of scope for this example"]
86
+ },
87
+ "reviews": { "spec": "pass", "code": "pass" },
88
+ "status": "passed",
89
+ "attempts": 1,
90
+ "maxRetries": 1
91
+ }
92
+ ],
93
+ "metadata": {
94
+ "source": "tasks.md",
95
+ "generatedBy": "docs-example",
96
+ "planVersion": 1
97
+ }
98
+ }
@@ -0,0 +1,59 @@
1
+ # TASKS
2
+
3
+ ## Plan Meta
4
+
5
+ - Requirement version: `REQ-003.v1`
6
+ - Design version: `design.v1`
7
+ - CC-Plan skill version: `3.5.4`
8
+ - Source roadmap item: `RM-020`
9
+ - Source roadmap version: `roadmap.v3`
10
+
11
+ ## Execution Handoff
12
+
13
+ - Canonical design: `design.md`
14
+ - Execution mode: `single-path`
15
+ - Frozen decisions:
16
+ - export only the visible audit summary rows
17
+ - CSV is the only format in this requirement
18
+ - Read first:
19
+ - `design.md`
20
+ - `src/admin/AuditSummaryPanel.tsx`
21
+ - `src/admin/AuditSummaryPanel.test.tsx`
22
+ - Commands to trust:
23
+ - `npm test -- src/admin/AuditSummaryPanel.test.tsx`
24
+ - `npm run lint -- src/admin/AuditSummaryPanel.tsx`
25
+ - Do not re-decide:
26
+ - summary row source
27
+ - export format
28
+ - panel placement
29
+ - Parallel boundaries: none
30
+
31
+ ## Phase 1: Foundation
32
+
33
+ - [x] T001 [TEST] Add a failing test for the missing download action (dependsOn:none) `src/admin/AuditSummaryPanel.test.tsx`
34
+ Goal: 证明现在还没有可下载的 summary export。
35
+ Files: `src/admin/AuditSummaryPanel.test.tsx`
36
+ Read first: `design.md`, `src/admin/AuditSummaryPanel.tsx`
37
+ Verification: `npm test -- src/admin/AuditSummaryPanel.test.tsx`
38
+ Evidence: failing output
39
+ Ready when: 当前 audit summary test 已可运行
40
+
41
+ - [x] T002 [IMPL] Add the download summary action (dependsOn:T001) `src/admin/AuditSummaryPanel.tsx`
42
+ Goal: 用最小实现让 summary export 真的可用。
43
+ Files: `src/admin/AuditSummaryPanel.tsx`
44
+ Read first: `design.md`, `src/admin/AuditSummaryPanel.test.tsx`
45
+ Verification: `npm test -- src/admin/AuditSummaryPanel.test.tsx`
46
+ Evidence: passing output + checkpoint
47
+ Ready when: T001 已见红
48
+
49
+ ## Phase 2: Verify
50
+
51
+ - [x] T003 Run targeted checks and collect handoff evidence (dependsOn:T002) `audit summary quality gates`
52
+ Goal: 为 `cc-check` 和 `cc-act` 留下这次导出改动的真实证据。
53
+ Files: `src/admin/AuditSummaryPanel.tsx`, `src/admin/AuditSummaryPanel.test.tsx`
54
+ Read first: `tasks.md`, `task-manifest.json`
55
+ Verification:
56
+ - `npm test -- src/admin/AuditSummaryPanel.test.tsx`
57
+ - `npm run lint -- src/admin/AuditSummaryPanel.tsx`
58
+ Evidence: passing output + clean lint output
59
+ Ready when: T002 已完成
@@ -0,0 +1,44 @@
1
+ {
2
+ "changeId": "REQ-003",
3
+ "verdict": "pass",
4
+ "overall": "pass",
5
+ "summary": "verdict=pass quick=2/2 strict=0/0 review=pass",
6
+ "quickGates": [
7
+ {
8
+ "name": "targeted-tests",
9
+ "status": "pass",
10
+ "command": "npm test -- src/admin/AuditSummaryPanel.test.tsx",
11
+ "summary": "audit summary panel targeted tests passed"
12
+ },
13
+ {
14
+ "name": "lint",
15
+ "status": "pass",
16
+ "command": "npm run lint -- src/admin/AuditSummaryPanel.tsx",
17
+ "summary": "lint passed for the touched panel file"
18
+ }
19
+ ],
20
+ "strictGates": [],
21
+ "review": {
22
+ "status": "pass",
23
+ "summary": "Task review proof and requirement-level diff review both passed",
24
+ "details": "The diff stayed inside the approved tiny-design scope and verification evidence is fresh.",
25
+ "taskReviews": {
26
+ "status": "pass",
27
+ "required": true,
28
+ "summary": "All completed tasks carry spec/code proof",
29
+ "reviewers": [],
30
+ "findings": []
31
+ },
32
+ "diffReview": {
33
+ "status": "pass",
34
+ "required": false,
35
+ "summary": "No blocking requirement-level findings",
36
+ "reviewers": [],
37
+ "findings": []
38
+ },
39
+ "findings": []
40
+ },
41
+ "blockingFindings": [],
42
+ "reroute": "none",
43
+ "timestamp": "2026-04-16T14:30:00.000Z"
44
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "version": 2,
3
+ "lastSyncedAt": "2026-04-19",
4
+ "backlogMeta": {
5
+ "roadmapVersion": "roadmap.v2",
6
+ "skillVersion": "4.3.2",
7
+ "currentFocusStage": "Stage 2"
8
+ },
9
+ "dependencyHandoff": {
10
+ "serialSpine": "RM-020",
11
+ "parallelReadyNextWave": "-",
12
+ "notesOnBlockers": "export work stays local-only until the next maintainer has remote access"
13
+ },
14
+ "items": [
15
+ {
16
+ "rmId": "RM-020",
17
+ "item": "Add an audit-log export summary download",
18
+ "stage": "Stage 2",
19
+ "priority": "P1",
20
+ "primaryCapability": "cap-audit-log-export",
21
+ "secondaryCapabilities": [],
22
+ "expectedSpecDelta": "codify local export summary truth",
23
+ "dependsOn": [],
24
+ "status": "Local handoff",
25
+ "req": "REQ-003",
26
+ "progress": "100%",
27
+ "backlog": {
28
+ "capabilityGap": "admins can export raw audit data but not a compact summary for review",
29
+ "evidence": "support escalations keep asking for a lightweight summary bundle",
30
+ "parallelWith": [],
31
+ "unknowns": "csv-only or csv-plus-markdown summary",
32
+ "nextDecision": "resume from local handoff once remote access returns",
33
+ "ready": true,
34
+ "whyNow": "the implementation and proof already exist, only the landing path is deferred",
35
+ "successSignal": "admins can download a concise audit summary without manual spreadsheet cleanup",
36
+ "entryConstraints": "stay local-only and avoid remote automation",
37
+ "openRisks": "handoff may age if schema changes before the next maintainer resumes",
38
+ "firstPlanningQuestion": "does the summary format need another review before remote landing?",
39
+ "requiredContextToLoad": "admin export screen, generated summary fixture, local handoff notes",
40
+ "whyReadyNow": "the requirement is already proven and only needs a clean resume point",
41
+ "parked": false,
42
+ "parkedReason": "",
43
+ "triggerToReopen": "",
44
+ "missingEvidence": ""
45
+ }
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,46 @@
1
+ # BACKLOG
2
+
3
+ ## Backlog Meta
4
+
5
+ - Roadmap version: `roadmap.v1`
6
+ - Skill version: `4.3.2`
7
+ - Last synced: `2026-04-19`
8
+ - Current focus stage: `Stage 1`
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-001 | Add one-click copy action to the share dialog | Stage 1 | P1 | cap-invite-links | - | share dialog exposes invite URL but not direct copy action | tighten invite-link copy truth | repeated support friction | - | - | copied-state feedback shape | freeze tiny design and execute | Yes |
16
+ | RM-002 | Add copied-state feedback to the share dialog | Stage 1 | P2 | cap-invite-links | - | invite links lack durable copied-state feedback after action completion | extend invite-link feedback truth | likely useful after RM-001 | RM-001 | - | toast vs inline state | decide after first patch ships | No |
17
+
18
+ ## Dependency Handoff
19
+
20
+ - Serial spine: RM-001 -> RM-002
21
+ - Parallel-ready next wave: none until RM-001 proves the copy action shape
22
+ - Notes on blockers: RM-002 should reuse the final interaction contract from RM-001, not race it
23
+
24
+ ## Ready For Req-Plan
25
+
26
+ - RM-001:
27
+ - Primary Capability: `cap-invite-links`
28
+ - Secondary Capabilities: `-`
29
+ - Why now: it removes the first visible collaboration friction in the beta flow
30
+ - Success signal: users can copy the invite link with one click
31
+ - Entry constraints: no backend changes, no share dialog redesign
32
+ - Capability gap: share dialog exposes invite URL but not direct copy action
33
+ - Expected spec delta: tighten invite-link copy truth
34
+ - Open risks: clipboard failure copy may still need follow-up UX
35
+ - First planning question: can this stay a tiny-design patch without changing contracts?
36
+ - Required context to load: current share dialog, current invite URL source, existing tests
37
+ - Depends On: `-`
38
+ - Parallel With: `-`
39
+ - Why this is ready now: the ask is narrow, the evidence is real, and the dependency surface is already known
40
+
41
+ ## Parked
42
+
43
+ - RM-004:
44
+ - Reason parked: collaboration analytics is premature before Stage 1 and 2 prove usage
45
+ - Trigger to reopen: repeated invite usage after beta activation
46
+ - Missing evidence: stable collaboration volume
@@ -0,0 +1,58 @@
1
+ # End-to-End PDCA 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.2`, `cc-plan@3.5.4`, `cc-do@1.5.2`, `cc-check@1.8.2`, `cc-act@1.6.2`
8
+
9
+ This folder shows one minimal but complete `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act` loop.
10
+
11
+ The example is intentionally small:
12
+
13
+ - product context is fake
14
+ - requirement scope is real enough to feel concrete
15
+ - the chosen ship mode is `create-pr`
16
+ - optional artifacts such as `release-note.md` are intentionally omitted when the mode does not require them
17
+
18
+ ## Scenario
19
+
20
+ The fictional product is a small team workspace app.
21
+
22
+ The immediate pain is simple: users can open the share dialog and see the invite URL, but they cannot copy it with one click.
23
+
24
+ The sample requirement is:
25
+
26
+ - `RM-001`: add a `Copy invite link` button to the existing share dialog
27
+
28
+ ## Artifact Map
29
+
30
+ - `ROADMAP.md`: what `cc-roadmap` decided and why this item is first
31
+ - `roadmap-tracking.json`: machine-readable roadmap/backlog truth that renders `ROADMAP.md` and `BACKLOG.md`
32
+ - `BACKLOG.md`: capability-aware handoff that makes `RM-001` ready for `cc-plan`
33
+ - `changes/REQ-001-copy-invite-link/planning/design.md`: approved tiny design
34
+ - `changes/REQ-001-copy-invite-link/planning/tasks.md`: executable task handoff
35
+ - `changes/REQ-001-copy-invite-link/planning/task-manifest.json`: machine-readable execution truth
36
+ - `changes/REQ-001-copy-invite-link/review/report-card.json`: `cc-check` proof and verdict
37
+ - `changes/REQ-001-copy-invite-link/handoff/pr-brief.md`: ship-ready PR handoff
38
+
39
+ ## Why There Is No `release-note.md`
40
+
41
+ This sample chooses `create-pr`.
42
+
43
+ That mode needs:
44
+
45
+ - `pr-brief.md`
46
+ - synced docs if behavior changed
47
+
48
+ It does **not** need a public release note yet, so the example intentionally stops there.
49
+
50
+ ## What To Look For
51
+
52
+ When reading the sample, check whether you can answer these in under a minute:
53
+
54
+ 1. Why is `RM-001` the next roadmap item?
55
+ 2. Why does the requirement stay `tiny-design` instead of `full-design`?
56
+ 3. Which task proved the missing behavior first?
57
+ 4. What fresh evidence let `cc-check` say `pass`?
58
+ 5. Why does `cc-act` choose `create-pr` and omit `release-note.md`?
@@ -0,0 +1,133 @@
1
+ # ROADMAP
2
+
3
+ ## Roadmap Meta
4
+
5
+ - Roadmap version: `roadmap.v1`
6
+ - Skill version: `4.3.2`
7
+ - Status: `active`
8
+ - Last updated: `2026-04-15`
9
+ - Owner / decider: `product-owner`
10
+ - Current focus stage: `Stage 1`
11
+ - Confidence: `medium`
12
+ - Supersedes roadmap version: `none`
13
+
14
+ ## Context Snapshot
15
+
16
+ - Product / repo: `workspace-lite`
17
+ - Project stage: early beta for small internal teams
18
+ - Users: team leads sharing a workspace with 2-10 collaborators
19
+ - Pain: invite flow exists, but sharing still feels manual
20
+ - Existing workaround: users highlight the invite URL field and copy it by hand
21
+ - Strongest demand evidence: repeated support notes saying "copying the link feels broken"
22
+ - Why now: sharing friction blocks the first successful invite loop
23
+ - Distribution path: direct beta onboarding
24
+ - Deadline / forcing function: next beta reset on `2026-04-22`
25
+ - Team / capacity: one product-minded engineer
26
+ - Hard constraints: no API changes, no invite permission redesign
27
+ - Adoption / trust bottleneck: users hesitate when a basic collaboration action feels unfinished
28
+ - Known unknowns: whether users also need a copied-state confirmation toast
29
+
30
+ ## Evidence Ledger
31
+
32
+ | Signal | Evidence | Confidence | Source | Why it matters |
33
+ |--------|----------|------------|--------|----------------|
34
+ | Demand | Beta users ask how to copy the invite URL | High | support notes | Sharing is a real bottleneck |
35
+ | Timing | Beta reset is one week away | High | launch plan | The fix must land this cycle |
36
+ | Feasibility | Existing dialog already renders the URL and clipboard API is available | High | current UI behavior | This is a tiny patch, not a redesign |
37
+ | Distribution | Successful sharing unlocks more beta seats | Med | product notes | A smoother invite loop increases activation |
38
+
39
+ ## Route Options
40
+
41
+ | Shape | Why this could work | Why this may fail | Decision |
42
+ |-------|---------------------|-------------------|----------|
43
+ | wedge-first | Remove the sharpest sharing pain now | May leave deeper invite roles for later | Recommended |
44
+ | platform-first | Rebuild all sharing plumbing before polish | Too large for the current window | Rejected |
45
+ | rescue-first | Focus only on onboarding docs and support | Does not fix the broken-feeling UI | Rejected |
46
+
47
+ ## Recommended Route
48
+
49
+ - Recommendation: `wedge-first`
50
+ - Why this route wins now: the strongest evidence is user friction in the current share path, not missing infrastructure
51
+ - Why the rejected routes lose now: both alternatives spend time away from the first visible activation bottleneck
52
+ - First signal to watch: users can copy the invite link without asking support
53
+ - Kill signal / stop condition: if the fix requires API or permission changes, reopen planning at a larger scope
54
+
55
+ ## Product Thesis
56
+
57
+ - Users: small teams inviting collaborators during setup
58
+ - Pain: manual copying makes the share flow feel unfinished
59
+ - Why now: this friction sits directly on the first collaboration moment
60
+ - Strategic wedge: polish the existing share path before adding broader collaboration features
61
+ - Product promise: basic collaboration should feel one click away
62
+ - What we refuse to build yet: invite roles, expiration controls, share analytics
63
+ - 6-12 month pull: grow from frictionless invite into stronger collaboration controls
64
+
65
+ ## Stage Overview
66
+
67
+ | Stage | Goal | Why now | Dependencies | Exit signal | Kill signal | Non-goals |
68
+ |-------|------|---------|--------------|-------------|-------------|-----------|
69
+ | Stage 1 | Remove first-share friction | Beta activation is blocked here | Existing share dialog | Users can copy the link in one click | Requires backend changes | Permission redesign |
70
+ | Stage 2 | Add safer invite controls | Only after the basic share action feels complete | Stable share interaction | Invite options are trusted | Stage 1 still confuses users | Analytics |
71
+ | Stage 3 | Measure collaboration adoption | Only after sharing is reliable | Stage 1 and 2 complete | Teams repeatedly invite collaborators | Usage remains too low to justify analytics | Growth experiments outside collaboration |
72
+
73
+ ## Stage Detail
74
+
75
+ ### Stage 1
76
+
77
+ - Goal: make the first invite flow feel complete
78
+ - Users unlocked: team leads onboarding collaborators
79
+ - Why this stage exists: collaboration cannot feel credible while copying the invite link is awkward
80
+ - Entry assumptions: existing invite link source remains stable
81
+ - Deliverables: one-click copy action, user feedback, targeted verification
82
+ - Dependencies: current share dialog and invite URL field
83
+ - Win condition: a user can click once and get confirmation
84
+ - Key risks: clipboard failure path may be unclear
85
+ - Kill signal: patch expands into cross-module share redesign
86
+ - What must stay out: new backend contract, new invite settings
87
+ - Candidate roadmap items: `RM-001`, `RM-002`
88
+
89
+ ### Stage 2
90
+
91
+ - Goal: make invite controls safer
92
+ - Users unlocked: team leads managing collaborator access
93
+ - Why this stage exists: once sharing works, control and trust become the next bottleneck
94
+ - Entry assumptions: Stage 1 removed the basic friction
95
+ - Deliverables: role-aware invite options
96
+ - Dependencies: stable Stage 1 behavior
97
+ - Win condition: users no longer need manual role guidance
98
+ - Key risks: scope grows into auth redesign
99
+ - Kill signal: collaboration usage stays too low
100
+ - What must stay out: analytics dashboard
101
+ - Candidate roadmap items: `RM-003`
102
+
103
+ ### Stage 3
104
+
105
+ - Goal: measure and improve collaboration adoption
106
+ - Users unlocked: operators deciding where to invest next
107
+ - Why this stage exists: instrumentation matters only after the share loop is credible
108
+ - Entry assumptions: Stages 1 and 2 hold steady
109
+ - Deliverables: collaboration funnel metrics
110
+ - Dependencies: repeated real usage
111
+ - Win condition: roadmap decisions use measured invite data
112
+ - Key risks: false precision with too little traffic
113
+ - Kill signal: beta usage remains tiny
114
+ - What must stay out: unrelated acquisition work
115
+ - Candidate roadmap items: `RM-004`
116
+
117
+ ## Decision Notes
118
+
119
+ - Rejected path A: rebuild sharing infrastructure first
120
+ - Rejected path B: rely on docs and support instead of fixing the UI
121
+ - Open assumptions to verify next: whether a copied-state message is enough or a toast is needed
122
+ - What changed in this version: narrowed Stage 1 to the smallest visible sharing fix
123
+
124
+ ## Implementation Tracking
125
+ - Tracking source: `roadmap-tracking.json`
126
+
127
+ <!-- roadmap-tracking:start -->
128
+ | RM-ID | Item | Stage | Priority | Primary Capability | Secondary Capabilities | Expected Spec Delta | Depends On | Status | REQ | Progress |
129
+ |------|------|------|------|------|------|------|------|------|------|------|
130
+ | RM-001 | Add one-click copy action to the share dialog | Stage 1 | P1 | cap-invite-links | - | tighten invite-link copy truth | - | In review | REQ-001 | 100% |
131
+ | RM-002 | Add copied-state feedback to the share dialog | Stage 1 | P2 | cap-invite-links | - | extend invite-link feedback truth | RM-001 | Planned | - | 0% |
132
+ | RM-004 | Collaboration analytics follow-up | - | - | - | - | - | - | - | - | - |
133
+ <!-- roadmap-tracking:end -->
@@ -0,0 +1,72 @@
1
+ # PR Brief
2
+
3
+ ## Decision
4
+
5
+ - Recommended mode: `create-pr`
6
+ - Why now: verified work is ready for reviewer handoff and there is no existing PR to update
7
+ - Why not others: `update-pr` has nothing to refresh, `local-handoff` would delay an already verified change, and `post-merge-closeout` only applies after merge
8
+
9
+ ## Requirement
10
+
11
+ - `RM-001` / `REQ-001`: add a one-click copy action to the existing share dialog
12
+
13
+ ## Ship Mode
14
+
15
+ - `create-pr`
16
+
17
+ ## Branch Context
18
+
19
+ - Current branch: `feature/copy-invite-link`
20
+ - Base branch: `main`
21
+ - PR / MR: not created yet
22
+
23
+ ## Summary
24
+
25
+ - removes a small but visible sharing friction in the beta flow
26
+ - keeps the patch inside the approved `tiny-design` boundary
27
+ - ships with fresh test, lint, and review proof
28
+
29
+ ## What Changed
30
+
31
+ - adds a `Copy invite link` action beside the existing invite URL
32
+ - reuses the current invite link source of truth
33
+ - adds copied-state confirmation without redesigning the dialog
34
+
35
+ ## Verification Evidence
36
+
37
+ - `report-card.json` verdict: `pass`
38
+ - Fresh evidence:
39
+ - `npm test -- src/features/share/ShareDialog.test.tsx`
40
+ - `npm run lint -- src/features/share/ShareDialog.tsx`
41
+
42
+ ## Documentation Sync
43
+
44
+ - `CLAUDE.md`: unchanged
45
+ - `README.md`: unchanged
46
+ - `release-note.md`: intentionally omitted for this mode
47
+ - `resume-index.md`: not needed because the change is ready for PR handoff
48
+
49
+ ## Minimum Landing Pack
50
+
51
+ - Required for this mode:
52
+ - `pr-brief.md`
53
+ - fresh `report-card.json`
54
+ - Intentionally omitted:
55
+ - `release-note.md`
56
+ - `resume-index.md`
57
+
58
+ ## How To Verify
59
+
60
+ - open the share dialog
61
+ - confirm the invite URL still matches the current source of truth
62
+ - click `Copy invite link`
63
+ - confirm the copied-state feedback appears
64
+ - re-run the targeted test and lint commands above
65
+
66
+ ## Follow-Ups
67
+
68
+ - if users still miss the feedback, lift `RM-002` into the next requirement
69
+
70
+ ## Risks
71
+
72
+ - copied-state feedback may still be too subtle for some users, but the current patch keeps that trade-off isolated