claude-code-workflow 7.2.10 → 7.2.12

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 (331) hide show
  1. package/.claude/agents/cli-planning-agent.md +3 -0
  2. package/.claude/agents/debug-explore-agent.md +1 -0
  3. package/.claude/agents/tdd-developer.md +1 -0
  4. package/.claude/agents/team-worker.md +1 -1
  5. package/.claude/agents/test-action-planning-agent.md +3 -0
  6. package/.claude/agents/test-context-search-agent.md +1 -0
  7. package/.claude/agents/test-fix-agent.md +3 -0
  8. package/.claude/commands/workflow/analyze-with-file.md +108 -54
  9. package/.claude/commands/workflow-tune.md +811 -0
  10. package/.claude/skills/review-code/SKILL.md +2 -0
  11. package/.claude/skills/review-cycle/SKILL.md +4 -0
  12. package/.claude/skills/skill-simplify/phases/02-optimize.md +4 -0
  13. package/.claude/skills/spec-generator/phases/05-epics-stories.md +4 -0
  14. package/.claude/skills/team-arch-opt/specs/team-config.json +5 -5
  15. package/.claude/skills/team-frontend-debug/roles/analyzer/role.md +3 -2
  16. package/.claude/skills/team-perf-opt/roles/coordinator/commands/monitor.md +1 -1
  17. package/.claude/skills/team-perf-opt/specs/team-config.json +5 -5
  18. package/.claude/skills/team-quality-assurance/roles/executor/role.md +2 -1
  19. package/.claude/skills/team-review/roles/reviewer/role.md +2 -1
  20. package/.claude/skills/team-tech-debt/roles/scanner/role.md +2 -1
  21. package/.claude/skills/team-testing/roles/executor/role.md +2 -1
  22. package/.claude/skills/team-testing/roles/generator/role.md +2 -1
  23. package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +2 -1
  24. package/.claude/skills/team-ux-improve/specs/team-config.json +6 -6
  25. package/.claude/skills/workflow-execute/phases/06-review.md +4 -4
  26. package/.claude/skills/workflow-lite-execute/SKILL.md +106 -14
  27. package/.claude/skills/workflow-lite-plan/SKILL.md +34 -72
  28. package/.claude/skills/workflow-lite-test-review/SKILL.md +41 -26
  29. package/.claude/skills/workflow-plan/phases/05-plan-verify.md +4 -0
  30. package/.claude/skills/workflow-tdd-plan/phases/02-context-gathering.md +1 -0
  31. package/.claude/skills/workflow-tdd-plan/phases/05-tdd-task-generation.md +2 -1
  32. package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +1 -0
  33. package/.claude/skills/workflow-test-fix/phases/05-test-cycle-execute.md +2 -1
  34. package/.codex/skills/analyze-with-file/SKILL.md +2 -0
  35. package/.codex/skills/debug-with-file/SKILL.md +4 -0
  36. package/.codex/skills/issue-discover/SKILL.md +1 -0
  37. package/.codex/skills/review-cycle/phases/02-parallel-review.md +3 -0
  38. package/.codex/skills/team-designer/agents/validation-reporter.md +186 -0
  39. package/.codex/skills/team-iterdev/agents/gc-controller.md +193 -0
  40. package/.codex/skills/team-iterdev/agents/task-analyzer.md +206 -0
  41. package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +165 -0
  42. package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +163 -0
  43. package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +182 -0
  44. package/.codex/skills/team-uidesign/agents/completion-handler.md +177 -0
  45. package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +162 -0
  46. package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +4 -0
  47. package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +2 -0
  48. package/ccw/dist/commands/spec.d.ts.map +1 -1
  49. package/ccw/dist/commands/spec.js +9 -4
  50. package/ccw/dist/commands/spec.js.map +1 -1
  51. package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
  52. package/ccw/dist/core/routes/codexlens-routes.js +3 -1
  53. package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
  54. package/ccw/dist/tools/spec-index-builder.d.ts +8 -4
  55. package/ccw/dist/tools/spec-index-builder.d.ts.map +1 -1
  56. package/ccw/dist/tools/spec-index-builder.js +8 -4
  57. package/ccw/dist/tools/spec-index-builder.js.map +1 -1
  58. package/ccw/dist/tools/spec-init.d.ts +1 -1
  59. package/ccw/dist/tools/spec-init.d.ts.map +1 -1
  60. package/ccw/dist/tools/spec-init.js +127 -0
  61. package/ccw/dist/tools/spec-init.js.map +1 -1
  62. package/ccw/dist/tools/spec-loader.d.ts.map +1 -1
  63. package/ccw/dist/tools/spec-loader.js +2 -1
  64. package/ccw/dist/tools/spec-loader.js.map +1 -1
  65. package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js → AlertDialog-BW9jiZ-p.js} +2 -2
  66. package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js.map → AlertDialog-BW9jiZ-p.js.map} +1 -1
  67. package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js → AnalysisPage-ds-w_nVO.js} +2 -2
  68. package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js.map → AnalysisPage-ds-w_nVO.js.map} +1 -1
  69. package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js → ApiSettingsPage-DlCbXxTz.js} +2 -2
  70. package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js.map → ApiSettingsPage-DlCbXxTz.js.map} +1 -1
  71. package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js → CliModeToggle-Dq3nL4fF.js} +2 -2
  72. package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js.map → CliModeToggle-Dq3nL4fF.js.map} +1 -1
  73. package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js → CliSessionSharePage-BNDkEE4u.js} +2 -2
  74. package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js.map → CliSessionSharePage-BNDkEE4u.js.map} +1 -1
  75. package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js → CliViewerPage-ChM-uNx_.js} +2 -2
  76. package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js.map → CliViewerPage-ChM-uNx_.js.map} +1 -1
  77. package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js +2 -0
  78. package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js.map +1 -0
  79. package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js → Collapsible-CRNbykXN.js} +2 -2
  80. package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js.map → Collapsible-CRNbykXN.js.map} +1 -1
  81. package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js → CommandsManagerPage-C2JWcemF.js} +2 -2
  82. package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js.map → CommandsManagerPage-C2JWcemF.js.map} +1 -1
  83. package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js → DeepWikiPage-CvleOtJy.js} +2 -2
  84. package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js.map → DeepWikiPage-CvleOtJy.js.map} +1 -1
  85. package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js → EndpointsPage-CMOWQG64.js} +2 -2
  86. package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js.map → EndpointsPage-CMOWQG64.js.map} +1 -1
  87. package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js → ExplorerPage-DaFPRlNo.js} +2 -2
  88. package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js.map → ExplorerPage-DaFPRlNo.js.map} +1 -1
  89. package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js → FixSessionPage-CC4p04Az.js} +2 -2
  90. package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js.map → FixSessionPage-CC4p04Az.js.map} +1 -1
  91. package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js → FloatingFileBrowser-DROn1xZ5.js} +2 -2
  92. package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js.map → FloatingFileBrowser-DROn1xZ5.js.map} +1 -1
  93. package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js → FloatingPanel-CmL_yhDv.js} +2 -2
  94. package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js.map → FloatingPanel-CmL_yhDv.js.map} +1 -1
  95. package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js → GraphExplorerPage-DCV5ybKE.js} +2 -2
  96. package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js.map → GraphExplorerPage-DCV5ybKE.js.map} +1 -1
  97. package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js → HistoryPage-D0fYQZgc.js} +2 -2
  98. package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js.map → HistoryPage-D0fYQZgc.js.map} +1 -1
  99. package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js → HookManagerPage-D2FuJfsM.js} +2 -2
  100. package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js.map → HookManagerPage-D2FuJfsM.js.map} +1 -1
  101. package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js → InstallationsPage-tjklillZ.js} +2 -2
  102. package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js.map → InstallationsPage-tjklillZ.js.map} +1 -1
  103. package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js → IssueHubPage-E4JVrhO1.js} +2 -2
  104. package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js.map → IssueHubPage-E4JVrhO1.js.map} +1 -1
  105. package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js → LiteTasksPage-aJuRoyLt.js} +2 -2
  106. package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js.map → LiteTasksPage-aJuRoyLt.js.map} +1 -1
  107. package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js → McpManagerPage-BJeuWJv1.js} +2 -2
  108. package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js.map → McpManagerPage-BJeuWJv1.js.map} +1 -1
  109. package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js → MemoryPage-BI4FAXhs.js} +2 -2
  110. package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js.map → MemoryPage-BI4FAXhs.js.map} +1 -1
  111. package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js → NotFoundPage-DD2svchp.js} +2 -2
  112. package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js.map → NotFoundPage-DD2svchp.js.map} +1 -1
  113. package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js → OrchestratorPage-FC__7yYa.js} +2 -2
  114. package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js.map → OrchestratorPage-FC__7yYa.js.map} +1 -1
  115. package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js → ProjectOverviewPage-DBB_-FzV.js} +2 -2
  116. package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js.map → ProjectOverviewPage-DBB_-FzV.js.map} +1 -1
  117. package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js → PromptHistoryPage-BwOAvCH8.js} +2 -2
  118. package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js.map → PromptHistoryPage-BwOAvCH8.js.map} +1 -1
  119. package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js → ReviewSessionPage-Dd1-g_gp.js} +2 -2
  120. package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js.map → ReviewSessionPage-Dd1-g_gp.js.map} +1 -1
  121. package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js → RulesManagerPage-B3RGdsKD.js} +2 -2
  122. package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js.map → RulesManagerPage-B3RGdsKD.js.map} +1 -1
  123. package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js → SessionDetailPage-DM-W5R8K.js} +2 -2
  124. package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js.map → SessionDetailPage-DM-W5R8K.js.map} +1 -1
  125. package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js → SessionsPage-BVz1KCc7.js} +2 -2
  126. package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js.map → SessionsPage-BVz1KCc7.js.map} +1 -1
  127. package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js → SettingsPage-ComW7EZS.js} +4 -4
  128. package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js.map → SettingsPage-ComW7EZS.js.map} +1 -1
  129. package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js → SkillsManagerPage-CKom9XwV.js} +2 -2
  130. package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js.map → SkillsManagerPage-CKom9XwV.js.map} +1 -1
  131. package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js → SpecsSettingsPage-DQz7WP2s.js} +2 -2
  132. package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js.map → SpecsSettingsPage-DQz7WP2s.js.map} +1 -1
  133. package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js → Switch-BPMdND9H.js} +2 -2
  134. package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js.map → Switch-BPMdND9H.js.map} +1 -1
  135. package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js → TabsNavigation-qqt70VYL.js} +2 -2
  136. package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js.map → TabsNavigation-qqt70VYL.js.map} +1 -1
  137. package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js → TaskDrawer-BqK_qiHX.js} +2 -2
  138. package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js.map → TaskDrawer-BqK_qiHX.js.map} +1 -1
  139. package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js → TeamPage-u5_i0Rgh.js} +2 -2
  140. package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js.map → TeamPage-u5_i0Rgh.js.map} +1 -1
  141. package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js → TerminalDashboardPage-rUtC9e40.js} +2 -2
  142. package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js.map → TerminalDashboardPage-rUtC9e40.js.map} +1 -1
  143. package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js → archive-C3u8YNQF.js} +2 -2
  144. package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js.map → archive-C3u8YNQF.js.map} +1 -1
  145. package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js → archive-restore-DfQ998g5.js} +2 -2
  146. package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js.map → archive-restore-DfQ998g5.js.map} +1 -1
  147. package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js → arrow-right-BshJM9Po.js} +2 -2
  148. package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js.map → arrow-right-BshJM9Po.js.map} +1 -1
  149. package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js → bookmark-plus-D03qJyOZ.js} +2 -2
  150. package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js.map → bookmark-plus-D03qJyOZ.js.map} +1 -1
  151. package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js → bot-CyzWuwq0.js} +2 -2
  152. package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js.map → bot-CyzWuwq0.js.map} +1 -1
  153. package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js → braces-BPgtyjsG.js} +2 -2
  154. package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js.map → braces-BPgtyjsG.js.map} +1 -1
  155. package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js → circle-stop-Dix1AOmw.js} +2 -2
  156. package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js.map → circle-stop-Dix1AOmw.js.map} +1 -1
  157. package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js → cpu-CCQ4Q0Zh.js} +2 -2
  158. package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js.map → cpu-CCQ4Q0Zh.js.map} +1 -1
  159. package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js → ellipsis-vertical-BpTysg-Y.js} +2 -2
  160. package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js.map → ellipsis-vertical-BpTysg-Y.js.map} +1 -1
  161. package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js → eye-DGY1rAZs.js} +2 -2
  162. package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js.map → eye-DGY1rAZs.js.map} +1 -1
  163. package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js → eye-off-D8t3JfWG.js} +2 -2
  164. package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js.map → eye-off-D8t3JfWG.js.map} +1 -1
  165. package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js → file-json-BAdJb0n8.js} +2 -2
  166. package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js.map → file-json-BAdJb0n8.js.map} +1 -1
  167. package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js → file-text-DrJFiOUB.js} +2 -2
  168. package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js.map → file-text-DrJFiOUB.js.map} +1 -1
  169. package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js → filter-CKqzYbz7.js} +2 -2
  170. package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js.map → filter-CKqzYbz7.js.map} +1 -1
  171. package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js → folder-CV8511y9.js} +2 -2
  172. package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js.map → folder-CV8511y9.js.map} +1 -1
  173. package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js → gauge-XKvmu_uU.js} +2 -2
  174. package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js.map → gauge-XKvmu_uU.js.map} +1 -1
  175. package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js → globe-C56cDUzX.js} +2 -2
  176. package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js.map → globe-C56cDUzX.js.map} +1 -1
  177. package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js → grid-3x3-Bya-suFW.js} +2 -2
  178. package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js.map → grid-3x3-Bya-suFW.js.map} +1 -1
  179. package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js → hard-drive-CmuTZpsB.js} +2 -2
  180. package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js.map → hard-drive-CmuTZpsB.js.map} +1 -1
  181. package/ccw/frontend/dist/assets/{hash-Bd1RD285.js → hash-CRPT_tJQ.js} +2 -2
  182. package/ccw/frontend/dist/assets/{hash-Bd1RD285.js.map → hash-CRPT_tJQ.js.map} +1 -1
  183. package/ccw/frontend/dist/assets/{history-eyyCQA6b.js → history-C1pJZQCL.js} +2 -2
  184. package/ccw/frontend/dist/assets/{history-eyyCQA6b.js.map → history-C1pJZQCL.js.map} +1 -1
  185. package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js → index-B6TpijCe.js} +2 -2
  186. package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js.map → index-B6TpijCe.js.map} +1 -1
  187. package/ccw/frontend/dist/assets/{index-b2C0iFd1.js → index-Bcq-7r6F.js} +2 -2
  188. package/ccw/frontend/dist/assets/{index-b2C0iFd1.js.map → index-Bcq-7r6F.js.map} +1 -1
  189. package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js → index-CI8-rBff.js} +2 -2
  190. package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js.map → index-CI8-rBff.js.map} +1 -1
  191. package/ccw/frontend/dist/assets/{index-CY6Lueph.js → index-Dmt9OiEf.js} +2 -2
  192. package/ccw/frontend/dist/assets/{index-CY6Lueph.js.map → index-Dmt9OiEf.js.map} +1 -1
  193. package/ccw/frontend/dist/assets/{index-DfeBbFXo.js → index-anSMmEF8.js} +2 -2
  194. package/ccw/frontend/dist/assets/{index-DfeBbFXo.js.map → index-anSMmEF8.js.map} +1 -1
  195. package/ccw/frontend/dist/assets/{index-B6I7GQC5.js → index-dWT2M6Ef.js} +4 -4
  196. package/ccw/frontend/dist/assets/{index-B6I7GQC5.js.map → index-dWT2M6Ef.js.map} +1 -1
  197. package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js → layout-grid-TSO0BFQE.js} +2 -2
  198. package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js.map → layout-grid-TSO0BFQE.js.map} +1 -1
  199. package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js → lightbulb-Caj6fIQD.js} +2 -2
  200. package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js.map → lightbulb-Caj6fIQD.js.map} +1 -1
  201. package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js → link-2-DE9lMxa-.js} +2 -2
  202. package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js.map → link-2-DE9lMxa-.js.map} +1 -1
  203. package/ccw/frontend/dist/assets/{link-CL4JmoHb.js → link-BZtPgLW0.js} +2 -2
  204. package/ccw/frontend/dist/assets/{link-CL4JmoHb.js.map → link-BZtPgLW0.js.map} +1 -1
  205. package/ccw/frontend/dist/assets/{list-CDmYFcio.js → list-DubWyY-U.js} +2 -2
  206. package/ccw/frontend/dist/assets/{list-CDmYFcio.js.map → list-DubWyY-U.js.map} +1 -1
  207. package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js → map-pin-DwN_48AF.js} +2 -2
  208. package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js.map → map-pin-DwN_48AF.js.map} +1 -1
  209. package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js → messages-square-bjxvaiM9.js} +2 -2
  210. package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js.map → messages-square-bjxvaiM9.js.map} +1 -1
  211. package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js → minimize-2-CGfBKD_V.js} +2 -2
  212. package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js.map → minimize-2-CGfBKD_V.js.map} +1 -1
  213. package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js → package-nzWY6ilt.js} +2 -2
  214. package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js.map → package-nzWY6ilt.js.map} +1 -1
  215. package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js → plug-CiLce49C.js} +2 -2
  216. package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js.map → plug-CiLce49C.js.map} +1 -1
  217. package/ccw/frontend/dist/assets/{power-DmIojFl-.js → power-CFLmB-U9.js} +2 -2
  218. package/ccw/frontend/dist/assets/{power-DmIojFl-.js.map → power-CFLmB-U9.js.map} +1 -1
  219. package/ccw/frontend/dist/assets/{save-BFa03OnG.js → save-DuO6OF0C.js} +2 -2
  220. package/ccw/frontend/dist/assets/{save-BFa03OnG.js.map → save-DuO6OF0C.js.map} +1 -1
  221. package/ccw/frontend/dist/assets/{send-Vet3sN4J.js → send-CZk9p0mM.js} +2 -2
  222. package/ccw/frontend/dist/assets/{send-Vet3sN4J.js.map → send-CZk9p0mM.js.map} +1 -1
  223. package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js → square-check-big-BY_1YQQg.js} +2 -2
  224. package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js.map → square-check-big-BY_1YQQg.js.map} +1 -1
  225. package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js → square-pen-CnZgm6g-.js} +2 -2
  226. package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js.map → square-pen-CnZgm6g-.js.map} +1 -1
  227. package/ccw/frontend/dist/assets/{star-BCQHcnSe.js → star-Cn1F0qy7.js} +2 -2
  228. package/ccw/frontend/dist/assets/{star-BCQHcnSe.js.map → star-Cn1F0qy7.js.map} +1 -1
  229. package/ccw/frontend/dist/assets/{style-CJsrp48L.js → style-Dxs1iXCV.js} +2 -2
  230. package/ccw/frontend/dist/assets/{style-CJsrp48L.js.map → style-Dxs1iXCV.js.map} +1 -1
  231. package/ccw/frontend/dist/assets/{target-CBzCJCB1.js → target-Bz1fLRKH.js} +2 -2
  232. package/ccw/frontend/dist/assets/{target-CBzCJCB1.js.map → target-Bz1fLRKH.js.map} +1 -1
  233. package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js → test-tube-C6qCYlDr.js} +2 -2
  234. package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js.map → test-tube-C6qCYlDr.js.map} +1 -1
  235. package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js → upload-C71kd4Qs.js} +2 -2
  236. package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js.map → upload-C71kd4Qs.js.map} +1 -1
  237. package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js → useApiSettings-CqP2BAJ7.js} +2 -2
  238. package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js.map → useApiSettings-CqP2BAJ7.js.map} +1 -1
  239. package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js → useCli-PCoPoVeM.js} +2 -2
  240. package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js.map → useCli-PCoPoVeM.js.map} +1 -1
  241. package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js → useCommands-3OfPQPw4.js} +2 -2
  242. package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js.map → useCommands-3OfPQPw4.js.map} +1 -1
  243. package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js → useDebounce-bXiFhQx9.js} +2 -2
  244. package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js.map → useDebounce-bXiFhQx9.js.map} +1 -1
  245. package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js → useFileExplorer-DEyUm46_.js} +2 -2
  246. package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js.map → useFileExplorer-DEyUm46_.js.map} +1 -1
  247. package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js → useLocale-sXTrdxcJ.js} +2 -2
  248. package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js.map → useLocale-sXTrdxcJ.js.map} +1 -1
  249. package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js → useSkills-D0W0kXYm.js} +3 -3
  250. package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js.map → useSkills-D0W0kXYm.js.map} +1 -1
  251. package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js → useSystemSettings-DZ-8lZsG.js} +2 -2
  252. package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js.map → useSystemSettings-DZ-8lZsG.js.map} +1 -1
  253. package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js → wand-sparkles-83GmAYuw.js} +2 -2
  254. package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js.map → wand-sparkles-83GmAYuw.js.map} +1 -1
  255. package/ccw/frontend/dist/index.html +1 -1
  256. package/package.json +1 -1
  257. package/.claude/commands/ddd/auto.md +0 -359
  258. package/.claude/commands/ddd/doc-generate.md +0 -222
  259. package/.claude/commands/ddd/doc-refresh.md +0 -218
  260. package/.claude/commands/ddd/execute.md +0 -416
  261. package/.claude/commands/ddd/index-build.md +0 -212
  262. package/.claude/commands/ddd/plan.md +0 -611
  263. package/.claude/commands/ddd/scan.md +0 -365
  264. package/.claude/commands/ddd/sync.md +0 -353
  265. package/.claude/commands/ddd/update.md +0 -160
  266. package/.claude/commands/idaw/add.md +0 -287
  267. package/.claude/commands/idaw/resume.md +0 -442
  268. package/.claude/commands/idaw/run-coordinate.md +0 -648
  269. package/.claude/commands/idaw/run.md +0 -539
  270. package/.claude/commands/idaw/status.md +0 -182
  271. package/.claude/skills/team-arch-opt/role-specs/analyzer.md +0 -80
  272. package/.claude/skills/team-arch-opt/role-specs/designer.md +0 -118
  273. package/.claude/skills/team-arch-opt/role-specs/refactorer.md +0 -106
  274. package/.claude/skills/team-arch-opt/role-specs/reviewer.md +0 -116
  275. package/.claude/skills/team-arch-opt/role-specs/validator.md +0 -117
  276. package/.claude/skills/team-brainstorm/role-specs/challenger.md +0 -63
  277. package/.claude/skills/team-brainstorm/role-specs/evaluator.md +0 -58
  278. package/.claude/skills/team-brainstorm/role-specs/ideator.md +0 -71
  279. package/.claude/skills/team-brainstorm/role-specs/synthesizer.md +0 -59
  280. package/.claude/skills/team-frontend/role-specs/analyst.md +0 -91
  281. package/.claude/skills/team-frontend/role-specs/architect.md +0 -85
  282. package/.claude/skills/team-frontend/role-specs/developer.md +0 -92
  283. package/.claude/skills/team-frontend/role-specs/qa.md +0 -78
  284. package/.claude/skills/team-issue/role-specs/explorer.md +0 -95
  285. package/.claude/skills/team-issue/role-specs/implementer.md +0 -89
  286. package/.claude/skills/team-issue/role-specs/integrator.md +0 -86
  287. package/.claude/skills/team-issue/role-specs/planner.md +0 -83
  288. package/.claude/skills/team-issue/role-specs/reviewer.md +0 -89
  289. package/.claude/skills/team-iterdev/role-specs/architect.md +0 -64
  290. package/.claude/skills/team-iterdev/role-specs/developer.md +0 -73
  291. package/.claude/skills/team-iterdev/role-specs/reviewer.md +0 -65
  292. package/.claude/skills/team-iterdev/role-specs/tester.md +0 -87
  293. package/.claude/skills/team-perf-opt/role-specs/benchmarker.md +0 -110
  294. package/.claude/skills/team-perf-opt/role-specs/optimizer.md +0 -102
  295. package/.claude/skills/team-perf-opt/role-specs/profiler.md +0 -73
  296. package/.claude/skills/team-perf-opt/role-specs/reviewer.md +0 -91
  297. package/.claude/skills/team-perf-opt/role-specs/strategist.md +0 -114
  298. package/.claude/skills/team-planex/role-specs/executor.md +0 -90
  299. package/.claude/skills/team-planex/role-specs/planner.md +0 -110
  300. package/.claude/skills/team-quality-assurance/role-specs/analyst.md +0 -79
  301. package/.claude/skills/team-quality-assurance/role-specs/executor.md +0 -64
  302. package/.claude/skills/team-quality-assurance/role-specs/generator.md +0 -67
  303. package/.claude/skills/team-quality-assurance/role-specs/scout.md +0 -66
  304. package/.claude/skills/team-quality-assurance/role-specs/strategist.md +0 -70
  305. package/.claude/skills/team-review/role-specs/fixer.md +0 -75
  306. package/.claude/skills/team-review/role-specs/reviewer.md +0 -66
  307. package/.claude/skills/team-review/role-specs/scanner.md +0 -70
  308. package/.claude/skills/team-roadmap-dev/role-specs/executor.md +0 -71
  309. package/.claude/skills/team-roadmap-dev/role-specs/planner.md +0 -77
  310. package/.claude/skills/team-roadmap-dev/role-specs/verifier.md +0 -73
  311. package/.claude/skills/team-tech-debt/role-specs/assessor.md +0 -70
  312. package/.claude/skills/team-tech-debt/role-specs/executor.md +0 -80
  313. package/.claude/skills/team-tech-debt/role-specs/planner.md +0 -71
  314. package/.claude/skills/team-tech-debt/role-specs/scanner.md +0 -85
  315. package/.claude/skills/team-tech-debt/role-specs/validator.md +0 -83
  316. package/.claude/skills/team-testing/role-specs/analyst.md +0 -94
  317. package/.claude/skills/team-testing/role-specs/executor.md +0 -97
  318. package/.claude/skills/team-testing/role-specs/generator.md +0 -96
  319. package/.claude/skills/team-testing/role-specs/strategist.md +0 -82
  320. package/.claude/skills/team-uidesign/role-specs/designer.md +0 -72
  321. package/.claude/skills/team-uidesign/role-specs/implementer.md +0 -74
  322. package/.claude/skills/team-uidesign/role-specs/researcher.md +0 -84
  323. package/.claude/skills/team-uidesign/role-specs/reviewer.md +0 -70
  324. package/.claude/skills/team-ux-improve/role-specs/designer.md +0 -191
  325. package/.claude/skills/team-ux-improve/role-specs/diagnoser.md +0 -110
  326. package/.claude/skills/team-ux-improve/role-specs/explorer.md +0 -109
  327. package/.claude/skills/team-ux-improve/role-specs/implementer.md +0 -164
  328. package/.claude/skills/team-ux-improve/role-specs/scanner.md +0 -117
  329. package/.claude/skills/team-ux-improve/role-specs/tester.md +0 -163
  330. package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js +0 -2
  331. package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js.map +0 -1
@@ -1,218 +0,0 @@
1
- ---
2
- name: doc-refresh
3
- description: Incrementally update affected documents based on changed components/features. Layer 3 → 2 → 1 selective refresh. Called by sync/update or used standalone.
4
- argument-hint: "[-y|--yes] [--components <id1,id2,...>] [--features <id1,id2,...>] [--minimal] [--dry-run]"
5
- allowed-tools: TodoWrite(*), Agent(*), AskUserQuestion(*), Read(*), Grep(*), Glob(*), Bash(*), Edit(*), Write(*)
6
- ---
7
-
8
- ## Auto Mode
9
-
10
- When `--yes` or `-y`: Auto-update affected documents without confirmation prompts.
11
-
12
- # DDD Doc Refresh Command (/ddd:doc-refresh)
13
-
14
- ## Purpose
15
-
16
- Incrementally update **only the affected documents** after code changes. Unlike `/ddd:doc-generate` (full generation), this command selectively refreshes documents for specific components and features.
17
-
18
- ```
19
- affected component/feature IDs → update tech-registry (L3) → update feature-maps (L2) → update indexes (L1)
20
- ```
21
-
22
- ## When to Use
23
-
24
- | Scenario | Use |
25
- |----------|-----|
26
- | After `/ddd:sync` detects code changes | **doc-refresh** (auto-called by sync) |
27
- | After `/ddd:update` traces impact | **doc-refresh** (auto-called by update) |
28
- | Manual refresh of specific component docs | **doc-refresh --components tech-auth-service** |
29
- | Quick metadata-only update | **doc-refresh --minimal --components tech-auth-service** |
30
- | Preview what would change | **doc-refresh --dry-run --components tech-auth-service** |
31
-
32
- ## Prerequisite
33
-
34
- - `doc-index.json` must exist at `.workflow/.doc-index/doc-index.json`
35
- - At least one of `--components` or `--features` must be provided (or received from caller)
36
- - Corresponding documents must already exist (generated by `/ddd:doc-generate`)
37
- - If documents missing → error: "Documents not found. Run /ddd:doc-generate first."
38
-
39
- ## Phase 1: Determine Refresh Scope
40
-
41
- ### 1.1 Resolve Affected Entities
42
-
43
- ```
44
- IF --components provided:
45
- affected_components = parse comma-separated IDs
46
- affected_features = lookup featureIds for each component in doc-index.json
47
-
48
- IF --features provided:
49
- affected_features = parse comma-separated IDs
50
- affected_components = union of all component IDs linked to features
51
-
52
- Merge both sets if both flags provided.
53
- ```
54
-
55
- ### 1.2 Validate Entities Exist
56
-
57
- For each ID, verify it exists in doc-index.json. Warn and skip missing IDs.
58
-
59
- ### 1.3 Check Document Existence
60
-
61
- For each affected entity, check if corresponding .md file exists:
62
- - Missing Layer 3 doc → warn: "Component doc not found. Run /ddd:doc-generate first."
63
- - Missing Layer 2 doc → warn: "Feature doc not found. Run /ddd:doc-generate first."
64
-
65
- ## Phase 2: Layer 3 — Update Component Docs
66
-
67
- For each affected component's `tech-registry/{slug}.md`:
68
-
69
- ```bash
70
- ccw cli -p "PURPOSE: Update component documentation for {component.name} after code changes
71
- TASK:
72
- • Update code locations and line ranges
73
- • Update symbol list (add new exports, remove deleted)
74
- • Add change entry to history table
75
- • Refresh usage examples if API changed
76
- MODE: write
77
- CONTEXT: @{component.codeLocations[].path}
78
- EXPECTED: Updated markdown with current API state
79
- CONSTRAINTS: Preserve existing structure | Only update changed sections
80
- " --tool gemini --mode write --cd .workflow/.doc-index/tech-registry/
81
- ```
82
-
83
- Update frontmatter:
84
- ```markdown
85
- ---
86
- layer: 3
87
- component_id: tech-auth-service
88
- generated_at: {original}
89
- last_updated: ISO8601
90
- ---
91
- ```
92
-
93
- ### 2.1 Minimal Mode (--minimal)
94
-
95
- With `--minimal`, only update:
96
- - `codeLocations` in frontmatter
97
- - `last_updated` timestamp
98
- - Skip CLI call for content regeneration
99
-
100
- ## Phase 3: Layer 2 — Update Feature Docs
101
-
102
- For each affected feature's `feature-maps/{slug}.md`:
103
-
104
- ```bash
105
- ccw cli -p "PURPOSE: Update feature documentation for {feature.name} after component changes
106
- TASK:
107
- • Update component list if new components added
108
- • Update status if requirements now fully implemented
109
- • Add change entry to history table
110
- • Refresh integration guide if component APIs changed
111
- MODE: write
112
- CONTEXT: @.workflow/.doc-index/tech-registry/{affected-components}.md
113
- EXPECTED: Updated markdown reflecting current feature state
114
- CONSTRAINTS: Reference updated Layer 3 docs | Preserve business language
115
- " --tool gemini --mode write --cd .workflow/.doc-index/feature-maps/
116
- ```
117
-
118
- Update frontmatter:
119
- ```markdown
120
- ---
121
- layer: 2
122
- feature_id: feat-auth
123
- depends_on_layer3: [tech-auth-service, tech-user-model]
124
- generated_at: {original}
125
- last_updated: ISO8601
126
- ---
127
- ```
128
-
129
- ### 3.1 Minimal Mode (--minimal)
130
-
131
- With `--minimal`, only update:
132
- - Component list in frontmatter
133
- - Feature status (if requirements mapping changed)
134
- - `last_updated` timestamp
135
- - Skip CLI call for content regeneration
136
-
137
- ## Phase 4: Layer 1 — Update Index Docs (conditional)
138
-
139
- ### 4.1 Trigger Conditions
140
-
141
- | Condition | Action |
142
- |-----------|--------|
143
- | New component registered | Update `tech-registry/_index.md` |
144
- | Component removed | Update `tech-registry/_index.md` |
145
- | Feature status changed | Update `feature-maps/_index.md` |
146
- | New feature added | Update `feature-maps/_index.md` + README.md |
147
- | Major architecture change | Update ARCHITECTURE.md |
148
- | New action-log entry | Update `action-logs/_index.md` |
149
-
150
- ### 4.2 Update _index.md Files
151
-
152
- Refresh table entries for affected features/components:
153
- - `feature-maps/_index.md`
154
- - `tech-registry/_index.md`
155
- - `action-logs/_index.md` (if new action entry)
156
-
157
- ### 4.3 Update Overview Docs (only if significant)
158
-
159
- If new features added or major status changes:
160
-
161
- ```bash
162
- ccw cli -p "PURPOSE: Update project overview docs after feature changes
163
- TASK:
164
- • Update README.md feature list
165
- • Update ARCHITECTURE.md if new components added
166
- • Update planning/_index.md with new planning sessions
167
- MODE: write
168
- CONTEXT: @.workflow/.doc-index/feature-maps/*.md @.workflow/.doc-index/doc-index.json
169
- EXPECTED: Updated overview docs with current project state
170
- CONSTRAINTS: High-level only | Link to Layer 2 for details
171
- " --tool gemini --mode write --cd .workflow/.doc-index/
172
- ```
173
-
174
- ### 4.4 Skip Layer 1
175
-
176
- With `--minimal` or when changes are minor (only code location updates): skip Layer 1 entirely.
177
-
178
- ## Phase 5: Refresh Report
179
-
180
- ```
181
- Document Refresh Report
182
-
183
- Affected Scope:
184
- Components: {N} ({component IDs})
185
- Features: {N} ({feature IDs})
186
-
187
- Updated:
188
- Layer 3 (Components): {N} documents refreshed
189
- Layer 2 (Features): {N} documents refreshed
190
- Layer 1 (Indexes): {N} documents refreshed (or "skipped")
191
-
192
- Mode: {full|minimal}
193
- ```
194
-
195
- ## Dry-Run Mode
196
-
197
- With `--dry-run`:
198
- - Execute Phase 1 (scope determination)
199
- - Display what would be updated (affected files list)
200
- - Skip all file writes (Phase 2-4)
201
- - Output: "Dry-run complete. {N} documents would be refreshed."
202
-
203
- ## Flags
204
-
205
- | Flag | Effect |
206
- |------|--------|
207
- | `-y, --yes` | Auto-confirm all updates |
208
- | `--components <ids>` | Comma-separated component IDs to refresh |
209
- | `--features <ids>` | Comma-separated feature IDs to refresh |
210
- | `--minimal` | Only update metadata/frontmatter, skip content regeneration |
211
- | `--dry-run` | Preview what would change without modifying files |
212
-
213
- ## Integration Points
214
-
215
- - **Input from**: `doc-index.json`, affected entity IDs (from `/ddd:sync` or `/ddd:update`)
216
- - **Called by**: `/ddd:sync` (after change detection + index update), `/ddd:update` (after impact tracing + index update)
217
- - **Standalone**: Can be run independently to refresh specific component/feature docs
218
- - **Prerequisite**: Documents must exist (generated by `/ddd:doc-generate`)
@@ -1,416 +0,0 @@
1
- ---
2
- name: execute
3
- description: Document-aware execution engine — executes plan.json + TASK-*.json with doc-index context enrichment, per-batch impact verification, and post-completion doc sync.
4
- argument-hint: "[-y|--yes] [--skip-sync] [--skip-verify] [--plan <path>] [--in-memory] \"optional task description\""
5
- allowed-tools: TodoWrite(*), Agent(*), AskUserQuestion(*), Read(*), Grep(*), Glob(*), Bash(*), Edit(*), Write(*), mcp__ace-tool__search_context(*)
6
- ---
7
-
8
- ## Auto Mode
9
-
10
- When `--yes` or `-y`: Auto-confirm all decisions, auto-sync after completion.
11
-
12
- # DDD Execute Command (/ddd:execute)
13
-
14
- ## Purpose
15
-
16
- Same execution engine model as lite-execute, but each step is **doc-index-aware**:
17
- - Tasks are enriched with feature context, component docs, and architecture constraints
18
- - Per-batch impact verification ensures changes stay within planned scope
19
- - Post-completion automatically syncs the document index
20
-
21
- ### Core Differentiator
22
- Unlike generic execution engines, ddd:execute leverages the document architecture:
23
- - Feature-maps provide business context for each task
24
- - Tech-registry provides implementation patterns to follow
25
- - ADRs surface as hard constraints during execution
26
- - Requirement acceptance criteria inform convergence verification
27
-
28
- ## Prerequisite
29
-
30
- - `plan.json` + `.task/TASK-*.json` files from `/ddd:plan`
31
- - `doc-index.json` at `.workflow/.doc-index/doc-index.json`
32
- - If `--in-memory`: receives executionContext from `/ddd:plan` handoff
33
-
34
- ---
35
-
36
- ## Step 1: Initialize & Load Context
37
-
38
- ### 1.1 Locate Plan
39
-
40
- ```
41
- IF --in-memory:
42
- Load executionContext from ddd:plan handoff
43
- plan_path = executionContext.plan_path
44
- task_dir = executionContext.task_dir
45
- ELIF --plan <path>:
46
- plan_path = <path>
47
- task_dir = {dirname(path)}/.task/
48
- ELSE:
49
- Scan .workflow/.doc-index/planning/ for most recent session
50
- plan_path = {latest_session}/plan.json
51
- task_dir = {latest_session}/.task/
52
- ```
53
-
54
- ### 1.2 Load Plan & Tasks
55
-
56
- - Read `plan.json` — validate against plan-overview-base-schema
57
- - Read all `TASK-*.json` from `.task/` directory — validate against task-schema
58
- - Read `doc-index.json` from `.workflow/.doc-index/`
59
-
60
- ### 1.3 Pre-Load Doc Context
61
-
62
- For each task with `doc_context`:
63
- - Load referenced `feature_docs` (feature-maps/{slug}.md)
64
- - Load referenced `component_docs` (tech-registry/{slug}.md)
65
- - Load ADR excerpts from doc-index `architectureDecisions[]`
66
- - Extract requirement acceptance criteria from doc-index `requirements[]`
67
- - Load `doc_context.symbol_docs[]` documentation content (if present)
68
-
69
- ### 1.4 Echo Strategy
70
-
71
- Display execution summary:
72
-
73
- ```
74
- DDD Execute: {plan.summary}
75
- Complexity: {plan.complexity}
76
- Tasks: {plan.task_count}
77
-
78
- Doc-Index Impact:
79
- Features: {doc_context.affected_features}
80
- Requirements: {doc_context.affected_requirements}
81
- Components: {doc_context.affected_components}
82
- Constraints: {doc_context.architecture_constraints}
83
-
84
- Execution plan: {batch count} batches, {parallel tasks} parallel where possible
85
- ```
86
-
87
- ---
88
-
89
- ## Step 2: Task Grouping & Batch Creation
90
-
91
- ### 2.1 Extract Dependencies
92
-
93
- From each `TASK-*.json`, read `depends_on[]` to build dependency graph.
94
-
95
- ### 2.2 Group into Batches
96
-
97
- ```
98
- Batch 1: Tasks with no dependencies (depends_on: [])
99
- Batch 2: Tasks depending only on Batch 1 tasks
100
- Batch 3: Tasks depending on Batch 1 + 2 tasks
101
- ...
102
- ```
103
-
104
- Within each batch, tasks with the same `parallel_group` can run concurrently.
105
-
106
- ### 2.3 Assign Executor per Task
107
-
108
- | Signal | Executor |
109
- |--------|----------|
110
- | `meta.execution_config.method == "cli"` | CLI tool (gemini/codex/qwen) |
111
- | `meta.execution_config.method == "agent"` | Agent (code-developer/universal-executor) |
112
- | Default | Agent (code-developer) |
113
-
114
- ---
115
-
116
- ## Step 3: Doc-Enriched Execution
117
-
118
- For each task in batch order, build an enriched prompt:
119
-
120
- ### 3.1 Task Prompt Template
121
-
122
- ```markdown
123
- ## Goal
124
- ${plan.summary} — specifically: ${task.title}
125
-
126
- ## Document Context
127
-
128
- ### Feature: ${feature.name} (${feature.id})
129
- ${feature-map content excerpt — overview + requirements section}
130
-
131
- ### Components
132
- ${for each component in task.doc_context.component_ids:
133
- tech-registry excerpt — responsibility + code locations + key patterns}
134
-
135
- ### Symbol Documentation
136
- ${if doc_context.symbol_docs is non-empty:
137
- for each component in doc_context.component_ids:
138
- #### ${component.name} Symbols (Top-5)
139
- ${for each symbol in component.symbol_docs.slice(0, 5):
140
- - **${symbol.name}** (${symbol.type}): ${symbol.doc_summary}
141
- Source: `${symbol.source_path}` | Freshness: ${symbol.freshness}
142
- }
143
- }
144
-
145
- ### Architecture Constraints
146
- ${for each ADR in task.doc_context.adr_ids:
147
- ADR title + decision + rationale from doc-index}
148
-
149
- ### Requirement Acceptance Criteria
150
- ${for each requirement in task.doc_context.requirement_ids:
151
- requirement title + priority + success criteria from doc-index}
152
-
153
- ## Task Details
154
- ${task.description}
155
-
156
- ### Files to Modify
157
- ${task.files[] — path, action, changes}
158
-
159
- ### Implementation Steps
160
- ${task.implementation[] — step-by-step guide}
161
-
162
- ## Done When
163
- ${task.convergence.criteria[]}
164
- ${task.convergence.verification}
165
- ```
166
-
167
- ### 3.2 Execute Task
168
-
169
- **Agent execution**:
170
- ```
171
- Agent(subagent_type="code-developer", prompt="{enriched prompt}")
172
- ```
173
-
174
- **CLI execution**:
175
- ```bash
176
- ccw cli -p "{enriched prompt}" --tool {cli_tool} --mode write
177
- ```
178
-
179
- ### 3.3 Record & Persist Result
180
-
181
- After each task completes:
182
- - Update `TASK-*.json` with `status`, `executed_at`, `result`
183
- - Track `result.files_modified` for impact verification
184
- - **Persist** result to `TASK-{id}.result.json` alongside the task file:
185
-
186
- ```json
187
- {
188
- "task_id": "TASK-001",
189
- "status": "completed|failed",
190
- "executed_at": "ISO8601",
191
- "executor": "code-developer|gemini|codex",
192
- "files_modified": [
193
- { "path": "src/services/auth.ts", "action": "modified", "symbols_changed": ["AuthService.validate"] },
194
- { "path": "src/routes/login.ts", "action": "created", "symbols_changed": ["loginRoute"] }
195
- ],
196
- "convergence_result": {
197
- "criteria_met": ["Rate limiter middleware exists"],
198
- "criteria_unmet": [],
199
- "verification_output": "test output snippet..."
200
- },
201
- "error": null
202
- }
203
- ```
204
-
205
- This file serves as the durable handoff between execute and sync — survives process interruptions.
206
-
207
- ---
208
-
209
- ## Step 4: Per-Batch Impact Verification
210
-
211
- After each batch completes (unless `--skip-verify`):
212
-
213
- ### 4.1 Trace Changed Files
214
-
215
- For each file modified in the batch:
216
- ```
217
- changed_file → match to doc-index.technicalComponents[].codeLocations[].path
218
- → component_ids → featureIds → requirementIds
219
- ```
220
-
221
- ### 4.2 Scope Verification
222
-
223
- Compare actual impact to planned impact:
224
-
225
- ```
226
- Planned scope:
227
- Features: [feat-auth]
228
- Components: [tech-auth-service, tech-user-model]
229
-
230
- Actual impact:
231
- Features: [feat-auth] ← OK, within scope
232
- Components: [tech-auth-service, tech-user-model, tech-email-service]
233
- ← WARNING: tech-email-service not in plan
234
- ```
235
-
236
- ### 4.3 Flag Unexpected Impact
237
-
238
- If changes affect features/components NOT in `plan.doc_context`:
239
- - **Warning**: Display unexpected impact
240
- - **No -y**: Ask user to confirm continuation
241
- - **With -y**: Log warning, continue execution
242
-
243
- ### 4.4 Skip Conditions
244
-
245
- Skip verification when:
246
- - `--skip-verify` flag is set
247
- - Only 1 batch (no intermediate verification needed for simple plans)
248
-
249
- ---
250
-
251
- ## Step 4.5: Post-Execution Verify Gate
252
-
253
- After all batches complete, before doc sync (unless `--skip-verify`):
254
-
255
- ### 4.5.1 Convergence Verification
256
-
257
- For each completed task with `convergence.verification`:
258
- ```
259
- Execute: {task.convergence.verification}
260
- → e.g., "npm test -- --grep rate-limit"
261
- Record: pass/fail → update TASK-{id}.result.json.convergence_result
262
- ```
263
-
264
- ### 4.5.2 Build & Lint Check
265
-
266
- ```
267
- Run project build command (if configured):
268
- → npm run build / tsc --noEmit / etc.
269
- Run project lint command (if configured):
270
- → npm run lint / eslint src/ / etc.
271
- ```
272
-
273
- If build or lint fails:
274
- - **No -y**: Display errors, ask user: fix now / continue anyway / abort
275
- - **With -y**: Log warning, continue (non-blocking)
276
-
277
- ### 4.5.3 Regression Test
278
-
279
- ```
280
- Run project test suite:
281
- → npm test / pytest / etc.
282
- Compare: test results before execution (baseline) vs after
283
- ```
284
-
285
- If tests fail:
286
- - **No -y**: Display failures, ask user: fix now / skip sync / abort
287
- - **With -y**: Log failures as warning in execution results, continue
288
-
289
- ### 4.5.4 Verify Summary
290
-
291
- ```
292
- Verify Gate Results:
293
- Convergence: {passed}/{total} tasks verified
294
- Build: pass|fail|skipped
295
- Lint: pass|fail|skipped
296
- Tests: {passed}/{total} ({new_failures} regressions)
297
-
298
- Gate: PASS / WARN (continue with warnings) / FAIL (blocked)
299
- ```
300
-
301
- ### 4.5.5 Persist Verify Manifest
302
-
303
- Write `execution-manifest.json` to session folder:
304
-
305
- ```json
306
- {
307
- "session_id": "{session-id}",
308
- "plan_path": "planning/{slug}/plan.json",
309
- "completed_at": "ISO8601",
310
- "tasks": [
311
- {
312
- "task_id": "TASK-001",
313
- "status": "completed",
314
- "result_file": ".task/TASK-001.result.json"
315
- }
316
- ],
317
- "files_modified": [
318
- { "path": "src/services/auth.ts", "action": "modified", "task_id": "TASK-001" },
319
- { "path": "src/routes/login.ts", "action": "created", "task_id": "TASK-001" }
320
- ],
321
- "verify": {
322
- "convergence": { "passed": 2, "total": 2 },
323
- "build": "pass",
324
- "lint": "pass",
325
- "tests": { "passed": 42, "total": 42, "regressions": 0 },
326
- "gate": "PASS"
327
- }
328
- }
329
- ```
330
-
331
- This manifest is the **single source of truth** consumed by `ddd:sync --from-manifest`.
332
-
333
- ---
334
-
335
- ## Step 5: Post-Completion Doc Sync
336
-
337
- After all batches complete (unless `--skip-sync`):
338
-
339
- ### 5.1 Auto-Trigger ddd:sync
340
-
341
- ```
342
- Invoke /ddd:sync [-y] --task-id {session-id} --from-manifest {session}/execution-manifest.json "{plan.summary}"
343
- ```
344
-
345
- Note: `/ddd:sync` automatically creates a backup of `doc-index.json` before modifications.
346
-
347
- When `--from-manifest` is provided, sync uses the **execution manifest** as its primary data source instead of git diff. This ensures:
348
- - Precise file-level and symbol-level change tracking (from TASK-*.result.json)
349
- - Task-to-file attribution (which task modified which file)
350
- - Convergence verification results carried forward
351
- - Survives process interruptions (manifest is persisted to disk)
352
-
353
- Fallback: If manifest is unavailable (e.g., manual mode), sync falls back to git diff discovery.
354
-
355
- ### 5.2 Generate Action Log
356
-
357
- Create action entry with:
358
- - All tasks executed and their results
359
- - Files modified across all batches
360
- - Features and requirements addressed
361
-
362
- ### 5.3 Update Feature Status
363
-
364
- Based on execution results:
365
- - Requirements with verified convergence → update status
366
- - Features with all requirements met → `status: "implemented"`
367
-
368
- ---
369
-
370
- ## Step 6: Summary & Follow-up
371
-
372
- ### 6.1 Execution Results
373
-
374
- ```
375
- DDD Execute Complete
376
-
377
- Tasks: {completed}/{total} ({failed} failed)
378
- Files modified: {count}
379
- Batches: {batch_count}
380
-
381
- Doc-Index Changes:
382
- Features updated: {list}
383
- Components updated: {list}
384
- New components registered: {list}
385
- Requirements addressed: {list}
386
-
387
- Convergence:
388
- {for each task: task.id — criteria met: X/Y}
389
- ```
390
-
391
- ### 6.2 Follow-up Suggestions
392
-
393
- Based on execution results, suggest:
394
- - **New issues**: If unexpected scope expansion was detected
395
- - **Additional tests**: If convergence criteria only partially met
396
- - **Documentation gaps**: If new components were created without docs
397
- - **Next tasks**: If plan had tasks marked as future/deferred
398
-
399
- ---
400
-
401
- ## Flags
402
-
403
- | Flag | Effect |
404
- |------|--------|
405
- | `-y, --yes` | Auto-confirm, auto-sync |
406
- | `--skip-sync` | Skip post-completion ddd:sync (Step 5) |
407
- | `--skip-verify` | Skip per-batch impact verification (Step 4) AND post-execution verify gate (Step 4.5) |
408
- | `--plan <path>` | Explicit plan.json path |
409
- | `--in-memory` | Accept executionContext from ddd:plan handoff |
410
-
411
- ## Integration Points
412
-
413
- - **Input from**: `/ddd:plan` output (plan.json + TASK-*.json), `doc-index.json`
414
- - **Output to**: Updated `doc-index.json` (via ddd:sync), `TASK-*.result.json` (per-task), `execution-manifest.json` (session-level)
415
- - **Schemas**: `plan-overview-ddd-schema.json` (input), `task-schema.json` + `task-ddd-extension-schema.json` (input), `doc-index.json` (enrichment)
416
- - **Delegates to**: `/ddd:sync` for post-completion synchronization