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,78 @@
1
+ # TASKS
2
+
3
+ ## Plan Meta
4
+
5
+ - Requirement version: `REQ-002.v2`
6
+ - Design version: `design.v2`
7
+ - CC-Plan skill version: `3.5.3`
8
+ - Source roadmap item: `RM-010`
9
+ - Source roadmap version: `roadmap.v2`
10
+
11
+ ## Execution Handoff
12
+
13
+ - Canonical design: `design.md`
14
+ - Execution mode: `single-path`
15
+ - Frozen decisions:
16
+ - bulk invite results must classify each row
17
+ - audit behavior must match visible results
18
+ - Read first:
19
+ - `design.md`
20
+ - `src/admin/BulkInvitePanel.tsx`
21
+ - `src/invite/bulk-import.ts`
22
+ - `src/audit/invite-log.ts`
23
+ - Commands to trust:
24
+ - `npm test -- src/invite/bulk-import.test.ts`
25
+ - `npm test -- src/admin/BulkInvitePanel.test.tsx`
26
+ - Do not re-decide:
27
+ - duplicate handling semantics
28
+ - seat-limit fallback behavior
29
+ - audit row-result contract
30
+ - Parallel boundaries: no parallel execution until row-outcome semantics are frozen
31
+
32
+ ## Phase 1: Rule Matrix
33
+
34
+ - [x] T001 [TEST] Add failing tests for duplicate and over-limit row outcomes (dependsOn:none) `src/invite/bulk-import.test.ts`
35
+ Goal: 先把最危险的 bulk invite 行为变成红灯。
36
+ Files: `src/invite/bulk-import.test.ts`
37
+ Read first: `design.md`, `src/invite/bulk-import.ts`
38
+ Verification: `npm test -- src/invite/bulk-import.test.ts`
39
+ Evidence: failing output
40
+ Ready when: 当前规则文件已经可定位
41
+
42
+ - [x] T002 [IMPL] Implement the initial bulk invite row classification (dependsOn:T001) `src/invite/bulk-import.ts`
43
+ Goal: 给 duplicate / over-limit 行为一个最小实现。
44
+ Files: `src/invite/bulk-import.ts`
45
+ Read first: `design.md`, `src/invite/bulk-import.test.ts`
46
+ Verification: `npm test -- src/invite/bulk-import.test.ts`
47
+ Evidence: passing output + checkpoint
48
+ Ready when: T001 已见红
49
+
50
+ ## Phase 2: Surface Integration
51
+
52
+ - [x] T003 [TEST] Add failing admin panel tests for mixed CSV results (dependsOn:T002) `src/admin/BulkInvitePanel.test.tsx`
53
+ Goal: 在 UI 层看到 mixed row outcomes 的真实表现。
54
+ Files: `src/admin/BulkInvitePanel.test.tsx`
55
+ Read first: `design.md`, `src/admin/BulkInvitePanel.tsx`
56
+ Verification: `npm test -- src/admin/BulkInvitePanel.test.tsx`
57
+ Evidence: failing output
58
+ Ready when: T002 已完成
59
+
60
+ - [x] T004 [IMPL] Render bulk invite results in the admin panel (dependsOn:T003) `src/admin/BulkInvitePanel.tsx`
61
+ Goal: 把 row outcomes 接进管理界面。
62
+ Files: `src/admin/BulkInvitePanel.tsx`
63
+ Read first: `design.md`, `src/admin/BulkInvitePanel.test.tsx`
64
+ Verification: `npm test -- src/admin/BulkInvitePanel.test.tsx`
65
+ Evidence: passing output + review notes
66
+ Ready when: T003 已见红
67
+
68
+ ## Phase 3: Verification
69
+
70
+ - [x] T005 Run mixed-surface checks and gather review evidence (dependsOn:T004) `bulk invite quality gates`
71
+ Goal: 为 `cc-check` 准备 bulk invite 的新鲜证据。
72
+ Files: `src/admin/BulkInvitePanel.tsx`, `src/invite/bulk-import.ts`
73
+ Read first: `tasks.md`, `task-manifest.json`
74
+ Verification:
75
+ - `npm test -- src/invite/bulk-import.test.ts`
76
+ - `npm test -- src/admin/BulkInvitePanel.test.tsx`
77
+ Evidence: passing output + review notes
78
+ Ready when: T004 已完成
@@ -0,0 +1,52 @@
1
+ {
2
+ "changeId": "REQ-002",
3
+ "verdict": "blocked",
4
+ "overall": "fail",
5
+ "summary": "verdict=blocked quick=2/2 strict=0/0 review=blocked",
6
+ "quickGates": [
7
+ {
8
+ "name": "bulk-rule-tests",
9
+ "status": "pass",
10
+ "command": "npm test -- src/invite/bulk-import.test.ts",
11
+ "summary": "targeted bulk invite rule tests passed"
12
+ },
13
+ {
14
+ "name": "admin-panel-tests",
15
+ "status": "pass",
16
+ "command": "npm test -- src/admin/BulkInvitePanel.test.tsx",
17
+ "summary": "admin panel tests passed for the current diff"
18
+ }
19
+ ],
20
+ "strictGates": [],
21
+ "review": {
22
+ "status": "blocked",
23
+ "summary": "The implementation evidence is real, but the requirement-level design contract is still incomplete",
24
+ "details": "Diff review found that duplicate-email and seat-limit semantics are still not frozen tightly enough to trust the current implementation as the requirement truth.",
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": "blocked",
34
+ "required": false,
35
+ "summary": "Requirement-level review says the row-outcome matrix must be reopened in planning",
36
+ "reviewers": [],
37
+ "findings": [
38
+ "duplicate-email behavior is still underspecified",
39
+ "seat-limit partial-failure semantics are not frozen in design.md"
40
+ ]
41
+ },
42
+ "findings": [
43
+ "The current code may be locally green while still violating the intended admin trust model"
44
+ ]
45
+ },
46
+ "blockingFindings": [
47
+ "design: duplicate-email row handling is not frozen tightly enough",
48
+ "design: seat-limit partial-failure semantics must be reopened in cc-plan"
49
+ ],
50
+ "reroute": "cc-plan",
51
+ "timestamp": "2026-04-16T12:15:00.000Z"
52
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "version": 2,
3
+ "lastSyncedAt": "2026-04-19",
4
+ "backlogMeta": {
5
+ "roadmapVersion": "roadmap.v2",
6
+ "skillVersion": "4.3.1",
7
+ "currentFocusStage": "Stage 2"
8
+ },
9
+ "dependencyHandoff": {
10
+ "serialSpine": "RM-010",
11
+ "parallelReadyNextWave": "-",
12
+ "notesOnBlockers": "verification is blocked until the import contract covers limits, duplicates, billing, and audit consistency"
13
+ },
14
+ "items": [
15
+ {
16
+ "rmId": "RM-010",
17
+ "item": "Add CSV bulk invite import for admins",
18
+ "stage": "Stage 2",
19
+ "priority": "P1",
20
+ "primaryCapability": "cap-bulk-invite-import",
21
+ "secondaryCapabilities": [
22
+ "cap-workspace-membership"
23
+ ],
24
+ "expectedSpecDelta": "define import semantics before widening current truth",
25
+ "dependsOn": [],
26
+ "status": "Verification blocked",
27
+ "req": "REQ-002",
28
+ "progress": "80%",
29
+ "backlog": {
30
+ "capabilityGap": "admins can invite one user at a time but cannot safely import invite batches",
31
+ "evidence": "sales onboarding asks for spreadsheet-scale invites",
32
+ "parallelWith": [],
33
+ "unknowns": "duplicate-email policy, seat enforcement, audit fan-out",
34
+ "nextDecision": "reroute to full design before more execution work",
35
+ "ready": true,
36
+ "whyNow": "demand is real, but the contract is too wide to keep improvising in code",
37
+ "successSignal": "the capability has a trusted import contract before implementation resumes",
38
+ "entryConstraints": "must freeze limits, duplicates, warnings, and audit behavior first",
39
+ "openRisks": "another partial implementation pass would deepen the semantic drift",
40
+ "firstPlanningQuestion": "which subflows share one import contract and which need explicit splits?",
41
+ "requiredContextToLoad": "invite limits, billing rules, duplicate handling, audit logging",
42
+ "whyReadyNow": "the blocker is design truth, not implementation effort",
43
+ "parked": false,
44
+ "parkedReason": "",
45
+ "triggerToReopen": "",
46
+ "missingEvidence": ""
47
+ }
48
+ }
49
+ ]
50
+ }
@@ -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-020 | Add an audit-log export summary download | Stage 2 | P1 | cap-audit-log-export | - | admins can export raw audit data but not a compact summary for review | codify local export summary truth | support escalations keep asking for a lightweight summary bundle | - | - | csv-only or csv-plus-markdown summary | resume from local handoff once remote access returns | Yes |
16
+
17
+ ## Dependency Handoff
18
+
19
+ - Serial spine: RM-020
20
+ - Parallel-ready next wave: -
21
+ - Notes on blockers: export work stays local-only until the next maintainer has remote access
22
+
23
+ ## Ready For Req-Plan
24
+
25
+ - RM-020:
26
+ - Primary Capability: `cap-audit-log-export`
27
+ - Secondary Capabilities: `-`
28
+ - Why now: the implementation and proof already exist, only the landing path is deferred
29
+ - Success signal: admins can download a concise audit summary without manual spreadsheet cleanup
30
+ - Entry constraints: stay local-only and avoid remote automation
31
+ - Capability gap: admins can export raw audit data but not a compact summary for review
32
+ - Expected spec delta: codify local export summary truth
33
+ - Open risks: handoff may age if schema changes before the next maintainer resumes
34
+ - First planning question: does the summary format need another review before remote landing?
35
+ - Required context to load: admin export screen, generated summary fixture, local handoff notes
36
+ - Depends On: `-`
37
+ - Parallel With: `-`
38
+ - Why this is ready now: the requirement is already proven and only needs a clean resume point
39
+
40
+ ## Parked
41
+
42
+ - RM-XXX:
43
+ - Reason parked:
44
+ - Trigger to reopen:
45
+ - Missing evidence:
@@ -0,0 +1,56 @@
1
+ # Local-Handoff 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`, `cc-act@1.6.1`
8
+
9
+ This example shows verified work that is **ready to move forward**, but `cc-act` still chooses `local-handoff`.
10
+
11
+ That is not a failure.
12
+
13
+ It simply means:
14
+
15
+ - the requirement passed verification
16
+ - a PR or remote push is intentionally not the next action
17
+ - the workflow still must leave a clean handoff for the next maintainer
18
+
19
+ ## Scenario
20
+
21
+ The fictional product now adds a downloadable audit-log export summary inside the admin console.
22
+
23
+ The implementation is done and verified.
24
+
25
+ But the current environment is local-only:
26
+
27
+ - remote access is unavailable
28
+ - the branch should not be pushed yet
29
+ - another maintainer will pick it up later
30
+
31
+ ## What To Look For
32
+
33
+ 1. Why `cc-check` is `pass`
34
+ 2. Why `cc-act` still does not choose `create-pr`
35
+ 3. How `resume-index.md` becomes the only final handoff file
36
+
37
+ ## Artifact Map
38
+
39
+ - `ROADMAP.md`
40
+ - `roadmap-tracking.json` (shared roadmap/backlog truth)
41
+ - `BACKLOG.md`
42
+ - `changes/REQ-003-audit-log-export/planning/design.md`
43
+ - `changes/REQ-003-audit-log-export/planning/tasks.md`
44
+ - `changes/REQ-003-audit-log-export/planning/task-manifest.json`
45
+ - `changes/REQ-003-audit-log-export/review/report-card.json`
46
+ - `changes/REQ-003-audit-log-export/handoff/resume-index.md`
47
+
48
+ ## Why There Is No `pr-brief.md`
49
+
50
+ This sample intentionally chooses `local-handoff`.
51
+
52
+ That mode needs:
53
+
54
+ - `resume-index.md`
55
+
56
+ It does **not** require a PR brief yet.
@@ -0,0 +1,45 @@
1
+ # ROADMAP
2
+
3
+ ## Roadmap Meta
4
+
5
+ - Roadmap version: `roadmap.v3`
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.v2`
13
+
14
+ ## Context Snapshot
15
+
16
+ - Product / repo: `workspace-lite`
17
+ - Project stage: collaboration and admin reporting are now both in use
18
+ - Users: workspace admins reviewing activity and sharing reports internally
19
+ - Pain: admins can inspect audit events, but cannot export a concise summary
20
+ - Existing workaround: manually copy rows into an internal note
21
+ - Strongest demand evidence: admins ask for a downloadable summary during weekly reviews
22
+ - Why now: admin trust now depends on visibility and operational clarity
23
+ - Distribution path: internal admin beta
24
+ - Deadline / forcing function: internal ops review on `2026-04-25`
25
+ - Team / capacity: one engineer
26
+ - Hard constraints: keep export local to the current admin console
27
+ - Adoption / trust bottleneck: admins want proof they can take activity history out of the UI cleanly
28
+ - Known unknowns: whether CSV alone is enough or if JSON export will be needed later
29
+
30
+ ## Recommended Route
31
+
32
+ - Recommendation: `wedge-first`
33
+ - Why this route wins now: a simple downloadable summary removes the current reporting pain without broader analytics work
34
+ - Why the rejected routes lose now: platform and rescue variants add scope before the current operator need is solved
35
+ - First signal to watch: admins can finish weekly review without copying rows manually
36
+ - Kill signal / stop condition: if export requires a shared reporting pipeline redesign
37
+
38
+ ## Implementation Tracking
39
+ - Tracking source: `roadmap-tracking.json`
40
+
41
+ <!-- roadmap-tracking:start -->
42
+ | RM-ID | Item | Stage | Priority | Primary Capability | Secondary Capabilities | Expected Spec Delta | Depends On | Status | REQ | Progress |
43
+ |------|------|------|------|------|------|------|------|------|------|------|
44
+ | RM-020 | Add an audit-log export summary download | Stage 2 | P1 | cap-audit-log-export | - | codify local export summary truth | - | Local handoff | REQ-003 | 100% |
45
+ <!-- roadmap-tracking:end -->
@@ -0,0 +1,39 @@
1
+ # Resume Index
2
+
3
+ ## Current Reality
4
+
5
+ - Requirement: `REQ-003`
6
+ - Roadmap item: `RM-020`
7
+ - Verification state: `pass`
8
+ - Ship mode: `local-handoff`
9
+ - Current branch: `feature/audit-summary-export`
10
+ - Blocking environment fact: remote push / PR creation is unavailable right now
11
+
12
+ ## What Is Already Done
13
+
14
+ - design approved as `tiny-design`
15
+ - implementation tasks `T001-T003` completed
16
+ - targeted test and lint evidence collected
17
+ - `report-card.json` confirms `pass`
18
+
19
+ ## Next Entry
20
+
21
+ - when remote access is restored, rerun `detect-ship-target`
22
+ - if the branch still has no PR, switch from `local-handoff` to `create-pr`
23
+ - use `resume-index.md` and `report-card.json` as the truth sources for the next ship step
24
+
25
+ ## Read First
26
+
27
+ - `design.md`
28
+ - `tasks.md`
29
+ - `task-manifest.json`
30
+ - `report-card.json`
31
+
32
+ ## How To Re-Verify
33
+
34
+ - `npm test -- src/admin/AuditSummaryPanel.test.tsx`
35
+ - `npm run lint -- src/admin/AuditSummaryPanel.tsx`
36
+
37
+ ## Open Follow-Up
38
+
39
+ - if operators ask for JSON or scheduled exports, lift that into a new roadmap item instead of reopening `REQ-003`
@@ -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.3`
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.3`
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
+ }