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,353 +0,0 @@
1
- ---
2
- name: sync
3
- description: Post-task synchronization - update document index, generate action log, and refresh feature/component docs after completing a development task.
4
- argument-hint: "[-y|--yes] [--dry-run] [--from-manifest <path>] [--task-id <id>] [--commit <hash>] \"task summary\""
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-detect changes, auto-update all docs, skip review prompts.
11
-
12
- # DDD Sync Command (/ddd:sync)
13
-
14
- ## Purpose
15
-
16
- After completing a development task, synchronize the document index with actual code changes:
17
- 1. **Analyze** what changed (git diff)
18
- 2. **Trace** which features/requirements/components are affected
19
- 3. **Update** index entries (status, code locations, links)
20
- 4. **Generate** action log entry
21
- 5. **Refresh** feature-map and tech-registry documents
22
-
23
- ## When to Use: sync vs update
24
-
25
- | Scenario | Use |
26
- |----------|-----|
27
- | Task completed, ready to commit | **ddd:sync** — full post-task reconciliation |
28
- | Mid-development, quick impact check | ddd:update |
29
- | Pre-commit validation | ddd:update --check-only |
30
- | Auto-triggered after ddd:execute | **ddd:sync** (automatic) |
31
- | Periodic index refresh during refactoring | ddd:update |
32
-
33
- **Rule of thumb**: `sync` = task boundary (done something), `update` = development pulse (doing something).
34
-
35
- ## Prerequisite
36
-
37
- - `doc-index.json` must exist
38
- - Git repository with committed or staged changes
39
-
40
- ## Phase 0: Consistency Validation
41
-
42
- Before processing changes, verify that `doc-index.json` entries are consistent with actual code state.
43
-
44
- ### 0.1 Validate Code Locations
45
-
46
- For each `technicalComponents[].codeLocations[]`:
47
- - Verify file exists on disk
48
- - If file was deleted/moved → flag for removal or update
49
- - If file exists → verify listed `symbols[]` still exist (quick grep/AST check)
50
-
51
- ### 0.2 Validate Symbols
52
-
53
- For components with `codeLocations[].symbols[]`:
54
- - Check each symbol still exists in the referenced file
55
- - Detect new exported symbols not yet tracked
56
- - Report: `{N} stale symbols, {N} untracked symbols`
57
-
58
- ### 0.3 Validation Report
59
-
60
- ```
61
- Consistency Check:
62
- Components validated: {N}
63
- Files verified: {N}
64
- Stale references: {N} (files missing or symbols removed)
65
- Untracked symbols: {N} (new exports not in index)
66
- ```
67
-
68
- If stale references found: warn and auto-fix during Phase 3 updates.
69
- If `--dry-run`: report only, no fixes.
70
-
71
- ## Phase 1: Change Detection
72
-
73
- ### 1.0.1 Schema Version Check
74
-
75
- Before processing changes, verify doc-index.json schema compatibility:
76
-
77
- ```javascript
78
- const docIndex = JSON.parse(Read('.workflow/.doc-index/doc-index.json'));
79
- const schemaVersion = docIndex.schema_version || '0.0'; // Default for legacy
80
-
81
- if (schemaVersion !== '1.0') {
82
- console.warn(`Schema version mismatch: found ${schemaVersion}, expected 1.0`);
83
- console.warn('Consider running schema migration or regenerating doc-index with /ddd:scan');
84
- // Continue with degraded functionality - may encounter missing fields
85
- }
86
- ```
87
-
88
- **Graceful degradation**: If version mismatch detected → log warning → continue with caution (some features may not work as expected).
89
-
90
- ### 1.0 Data Source Selection
91
-
92
- ```
93
- IF --from-manifest <path>:
94
- Load execution-manifest.json
95
- → files_modified[] provides precise file list + action type + task attribution
96
- → TASK-*.result.json provides symbol-level changes + convergence results
97
- → Skip Phase 1.1/1.2 (already classified by execute)
98
- → Proceed directly to Phase 2 with manifest data
99
- ELSE:
100
- → Fall through to Phase 1.1 (git-based discovery)
101
- ```
102
-
103
- **`--from-manifest` advantages** (used automatically by ddd:execute):
104
- - Precise file → task attribution (which task modified which file)
105
- - Symbol-level change tracking (not just file-level)
106
- - Convergence verification results carried forward to action-log
107
- - Survives process interruptions (manifest is persisted to disk)
108
-
109
- ### 1.1 Identify Changes (git-based fallback)
110
-
111
- ```bash
112
- # If --commit provided:
113
- git diff --name-only {commit}^..{commit}
114
- git diff --stat {commit}^..{commit}
115
-
116
- # If --task-id provided, find related commits:
117
- git log --oneline --grep="task-{id}" | head -10
118
-
119
- # Otherwise: changes since last ddd:sync
120
- git diff --name-only HEAD~1..HEAD
121
- ```
122
-
123
- ### 1.2 Classify Changes (git-based fallback)
124
-
125
- For each changed file, determine:
126
- - **Type**: added | modified | deleted | renamed
127
- - **Category**: source | test | config | docs | other
128
- - **Symbols affected**: parse diff for changed functions/classes (use Gemini if complex)
129
-
130
- ## Phase 2: Impact Tracing (Layer-Based, TASK-004)
131
-
132
- **Strategy**: Trace impact through layers (files → components → features → indexes) following memory-manage pattern.
133
-
134
- ### 2.1 Match to Index
135
-
136
- For each changed file path:
137
-
138
- ```
139
- Search doc-index.json.technicalComponents[].codeLocations[].path
140
- → Find matching component IDs (Layer 3)
141
- → From components, find linked featureIds (Layer 2)
142
- → From features, find linked requirementIds (Layer 2)
143
- ```
144
-
145
- ### 2.2 Discover New Components
146
-
147
- If changed files don't match any existing component:
148
- - Flag as potential new component
149
- - Ask user if it should be registered (or auto-register with `-y`)
150
-
151
- ### 2.3 Build Impact Report
152
-
153
- ```markdown
154
- ## Impact Summary
155
-
156
- ### Changed Files (5)
157
- - src/services/auth.ts (modified) → tech-auth-service → feat-auth
158
- - src/models/user.ts (modified) → tech-user-model → feat-auth
159
- - src/routes/login.ts (added) → NEW COMPONENT → feat-auth
160
- - src/tests/auth.test.ts (modified) → [test file, skip]
161
- - package.json (modified) → [config, skip]
162
-
163
- ### Affected Features
164
- - feat-auth: User Authentication (2 components modified, 1 new)
165
-
166
- ### Affected Requirements
167
- - REQ-001: Email login (implementation updated)
168
- - REQ-002: JWT token generation (implementation updated)
169
- ```
170
-
171
- ## Phase 2.4: DeepWiki Freshness Check
172
-
173
- If DeepWiki integration is configured (`doc-index.json.freshness` exists):
174
-
175
- ### 2.4.1 Identify Modified Files
176
- From `execution-manifest.json` or git diff, collect `files_modified[]` with `action == "modified"`.
177
-
178
- ### 2.4.2 Check Staleness
179
- Query DeepWiki: `POST /api/deepwiki/stale-files { files: [{path, hash}] }`
180
-
181
- For each stale file's symbols, calculate staleness score:
182
- ```
183
- S(symbol) = min(1.0, w_t × T + w_c × C + w_s × M)
184
- ```
185
- Where weights come from `doc-index.json.freshness.weights`.
186
-
187
- ### 2.4.3 Score Propagation (max aggregation)
188
- ```
189
- S_file = max(S_symbol_1, S_symbol_2, ...)
190
- S_component = max(S_file_1, S_file_2, ...)
191
- S_feature = max(S_component_1, S_component_2, ...)
192
- ```
193
-
194
- ### 2.4.4 Status Assignment
195
- Using thresholds from `doc-index.json.freshness.thresholds`:
196
- - `fresh`: score in [0, warning_threshold)
197
- - `warning`: score in [warning_threshold, stale_threshold)
198
- - `stale`: score in [stale_threshold, 1.0]
199
-
200
- ### 2.4.5 Update Records
201
- - Update `deepwiki_symbols.staleness_score` and `deepwiki_files.staleness_score` in DeepWiki SQLite
202
- - Update `tech-registry/{slug}.md` YAML frontmatter with freshness block
203
- - Update `feature-maps/{slug}.md` YAML frontmatter with freshness block
204
- - Update `deepwiki_feature_to_symbol_index` in doc-index.json
205
-
206
- ### 2.4.6 Staleness Report
207
- Add to action-log:
208
- - Number of stale symbols/files/components
209
- - Top-5 most stale items with scores
210
- - Auto-regeneration candidates (if `auto_regenerate: true` and score >= stale threshold)
211
-
212
- ## Phase 3: Update Index
213
-
214
- ### 3.0 Dry-Run Gate
215
-
216
- If `--dry-run` is set:
217
- - Execute Phase 3 analysis (determine what would change)
218
- - Display planned modifications as a preview report
219
- - Skip all file writes (Phase 3.1-3.5 and Phase 4)
220
- - Output: "Dry-run complete. Run without --dry-run to apply changes."
221
-
222
- ### 3.0.1 Backup Index
223
-
224
- Before any modifications, create backup:
225
- - Copy `doc-index.json` → `doc-index.json.bak`
226
- - On failure: restore from `.bak` and report error
227
- - On success: remove `.bak`
228
-
229
- ### 3.1 Update Technical Components
230
-
231
- For each affected component in `doc-index.json`:
232
- - Update `codeLocations` if file paths or line ranges changed
233
- - Update `symbols` if new exports were added
234
- - Add new `actionIds` entry
235
- - **Auto-update `responsibility`**: If symbols changed (new methods/exports added or removed), re-infer responsibility from current symbols list using Gemini analysis. This prevents stale descriptions (e.g., responsibility still says "登录、注册" after adding logout support)
236
-
237
- ### 3.2 Register New Components
238
-
239
- For newly discovered components:
240
- - Generate `tech-{slug}` ID
241
- - Create entry in `technicalComponents[]`
242
- - Link to appropriate features
243
- - Generate new `tech-registry/{slug}.md` document
244
-
245
- ### 3.3 Update Feature Status
246
-
247
- For each affected feature:
248
- - If all requirements now have mapped components → `status: "implemented"`
249
- - If some requirements still unmapped → `status: "in-progress"`
250
-
251
- ### 3.4 Add Action Entry
252
-
253
- ```json
254
- {
255
- "id": "task-{id}",
256
- "description": "{task summary from user}",
257
- "type": "feature|bugfix|refactor",
258
- "status": "completed",
259
- "affectedFeatures": ["feat-auth"],
260
- "affectedComponents": ["tech-auth-service", "tech-user-model"],
261
- "changedFiles": [
262
- { "path": "src/services/auth.ts", "action": "modified", "task_id": "TASK-001" },
263
- { "path": "src/models/user.ts", "action": "modified", "task_id": "TASK-001" }
264
- ],
265
- "symbolsChanged": ["AuthService.validate", "UserModel.toJSON"],
266
- "convergenceResults": {
267
- "passed": 2,
268
- "total": 2,
269
- "details": ["Rate limiter middleware exists", "Config accepts per-route limits"]
270
- },
271
- "verifyGate": "PASS|WARN|FAIL|skipped",
272
- "relatedCommit": "{commit hash}",
273
- "manifestPath": "{execution-manifest.json path | null}",
274
- "timestamp": "ISO8601"
275
- }
276
- ```
277
-
278
- ### 3.5 Update Timestamp
279
-
280
- Set `doc-index.json.last_updated` to current time.
281
-
282
- ## Phase 4: Refresh Documents & Action Log
283
-
284
- ### 4.1 Delegate Document Refresh to /ddd:doc-refresh
285
-
286
- From Phase 2 impact tracing, collect affected component and feature IDs, then delegate:
287
-
288
- ```
289
- Invoke /ddd:doc-refresh [-y] --components {affected_component_ids} --features {affected_feature_ids}
290
- ```
291
-
292
- This handles Layer 3 → 2 → 1 selective document refresh. See `/ddd:doc-refresh` for full details.
293
-
294
- ### 4.2 Generate Action Log Entry
295
-
296
- Create `.workflow/.doc-index/action-logs/{task-id}.md`:
297
-
298
- ```markdown
299
- ---
300
- id: task-{id}
301
- type: feature|bugfix|refactor
302
- status: completed
303
- features: [feat-auth]
304
- components: [tech-auth-service, tech-user-model]
305
- commit: {hash}
306
- timestamp: ISO8601
307
- ---
308
-
309
- # Task: {summary}
310
-
311
- ## Changes
312
- | File | Type | Component |
313
- |------|------|-----------|
314
- | src/services/auth.ts | modified | tech-auth-service |
315
-
316
- ## Impact
317
- - Features affected: feat-auth
318
- - Requirements addressed: REQ-001, REQ-002
319
-
320
- ## Staleness (if DeepWiki freshness enabled)
321
- | Item | Type | Score | Status |
322
- |------|------|-------|--------|
323
- | {symbol/file/component} | {type} | {score} | {fresh/warning/stale} |
324
-
325
- ## Notes
326
- {any user-provided notes}
327
- ```
328
-
329
- ## Phase 5: Confirmation (unless -y)
330
-
331
- Present update summary to user:
332
- - Files updated in doc-index
333
- - New documents created
334
- - Status changes
335
- - Ask for confirmation before writing
336
-
337
- ## Flags
338
-
339
- | Flag | Effect |
340
- |------|--------|
341
- | `-y, --yes` | Auto-confirm all updates |
342
- | `--dry-run` | Preview all changes without modifying any files |
343
- | `--from-manifest <path>` | Use execution-manifest.json as data source (auto-set by ddd:execute) |
344
- | `--task-id <id>` | Associate with specific task ID |
345
- | `--commit <hash>` | Analyze specific commit |
346
-
347
- ## Integration Points
348
-
349
- - **Input from**: `execution-manifest.json` (preferred, from ddd:execute) OR Git history (fallback), `doc-index.json`, `/ddd:plan` output
350
- - **Delegates to**: `/ddd:doc-refresh` (Phase 4.1, selective document refresh)
351
- - **Output to**: Updated `doc-index.json`, feature-maps/, tech-registry/, action-logs/
352
- - **Triggers**: After completing any development task
353
- - **Data source priority**: `--from-manifest` > `--commit` > `--task-id` > git diff HEAD~1
@@ -1,160 +0,0 @@
1
- ---
2
- name: update
3
- description: Incremental index update - detect code changes and trace impact to related features/requirements. Lightweight alternative to full sync.
4
- argument-hint: "[-y|--yes] [--files <file1,file2,...>] [--staged] [--check-only]"
5
- allowed-tools: TodoWrite(*), AskUserQuestion(*), Read(*), Grep(*), Glob(*), Bash(*), Edit(*), Write(*), mcp__ace-tool__search_context(*)
6
- ---
7
-
8
- ## Auto Mode
9
-
10
- When `--yes` or `-y`: Auto-update index without confirmation prompts.
11
-
12
- # DDD Update Command (/ddd:update)
13
-
14
- ## Purpose
15
-
16
- Lightweight incremental update: given a set of changed files, trace their impact through the document index and update affected entries. Unlike `/ddd:sync` (full post-task sync), this command focuses on keeping the index fresh during development.
17
-
18
- ## When to Use: update vs sync
19
-
20
- | Scenario | Use |
21
- |----------|-----|
22
- | Quick impact check during development | **ddd:update** |
23
- | Preview what sync would change | **ddd:update --check-only** |
24
- | Task completed, full reconciliation | ddd:sync |
25
- | Register new components + update all docs | ddd:sync |
26
-
27
- **Rule of thumb**: `update` = lightweight pulse (during work), `sync` = full checkpoint (after work).
28
-
29
- ## Use Cases
30
-
31
- 1. **During development**: Quick check which docs are affected by current changes
32
- 2. **Pre-commit check**: Ensure index is up-to-date before committing
33
- 3. **Periodic refresh**: Update stale code locations after refactoring
34
-
35
- ## Prerequisite
36
-
37
- - `doc-index.json` must exist at `.workflow/.doc-index/doc-index.json`
38
-
39
- ## Phase 1: Identify Changed Files
40
-
41
- ### Source Priority
42
-
43
- ```
44
- 1. --files <list> → Explicit file list
45
- 2. --staged → git diff --cached --name-only
46
- 3. (default) → git diff --name-only (unstaged changes)
47
- ```
48
-
49
- ### Output
50
-
51
- List of changed file paths with change type (added/modified/deleted/renamed).
52
-
53
- ## Phase 2: Trace Impact
54
-
55
- ### 2.1 Forward Lookup (Code → Components → Features)
56
-
57
- For each changed file:
58
-
59
- ```
60
- doc-index.json.technicalComponents[]
61
- .codeLocations[].path MATCH changed_file
62
- → component_ids[]
63
-
64
- doc-index.json.technicalComponents[component_ids]
65
- .featureIds[]
66
- → feature_ids[]
67
-
68
- doc-index.json.features[feature_ids]
69
- .requirementIds[]
70
- → requirement_ids[]
71
- ```
72
-
73
- ### 2.2 Orphan Detection
74
-
75
- Files not matching any component → flag as:
76
- - **Potential new component**: if in src/ directory
77
- - **Ignorable**: if in test/, docs/, config/ directories
78
-
79
- ### 2.3 Impact Report
80
-
81
- ```
82
- Impact Analysis for 3 changed files:
83
-
84
- src/services/auth.ts (modified)
85
- → Component: tech-auth-service (AuthService)
86
- → Feature: feat-auth (User Authentication)
87
- → Requirements: REQ-001, REQ-002
88
-
89
- src/middleware/rate-limit.ts (added)
90
- → No matching component (new file)
91
- → Suggested: Register as new component
92
-
93
- src/utils/hash.ts (modified)
94
- → Component: tech-hash-util
95
- → Features: feat-auth, feat-password-reset
96
- → Requirements: REQ-001, REQ-005
97
- ```
98
-
99
- ## Phase 3: Update Index (unless --check-only)
100
-
101
- ### 3.1 Update Code Locations
102
-
103
- For matched components:
104
- - If file was renamed → update `codeLocations[].path`
105
- - If file was deleted → remove code location entry
106
- - If symbols changed → update `symbols` list (requires AST or Gemini analysis)
107
-
108
- ### 3.2 Register New Components (interactive unless -y)
109
-
110
- For orphan files in src/:
111
- - Prompt user for component name and type
112
- - Or auto-generate with `-y`: derive name from file path
113
- - Create `technicalComponents[]` entry
114
- - Ask which feature it belongs to (or auto-link by directory structure)
115
-
116
- ### 3.3 Update Timestamps
117
-
118
- - Update `technicalComponents[].docPath` last_updated in corresponding .md
119
- - Update `doc-index.json.last_updated`
120
-
121
- ## Phase 4: Refresh Documents (if updates were made)
122
-
123
- ### 4.1 Delegate to /ddd:doc-refresh
124
-
125
- From Phase 2 impact tracing, collect affected component and feature IDs, then delegate:
126
-
127
- ```
128
- Invoke /ddd:doc-refresh [-y] --minimal --components {affected_component_ids} --features {affected_feature_ids}
129
- ```
130
-
131
- The `--minimal` flag ensures only metadata/frontmatter is updated (code locations, timestamps), skipping full content regeneration. This keeps the update lightweight.
132
-
133
- See `/ddd:doc-refresh` for full details.
134
-
135
- ### 4.2 Skip If --check-only
136
-
137
- With `--check-only`, skip Phase 3 and Phase 4 entirely — only output the impact report.
138
-
139
- ## Flags
140
-
141
- | Flag | Effect |
142
- |------|--------|
143
- | `-y, --yes` | Auto-confirm updates |
144
- | `--files <list>` | Explicit comma-separated file list |
145
- | `--staged` | Analyze staged (git cached) files |
146
- | `--check-only` | Report impact without modifying index |
147
-
148
- ## Output
149
-
150
- - **Console**: Impact report showing affected features/requirements
151
- - **Updated**: `doc-index.json` (if not --check-only)
152
- - **Updated**: Affected tech-registry/ and feature-maps/ docs
153
-
154
- ## Integration Points
155
-
156
- - **Input from**: Git working tree, `doc-index.json`
157
- - **Delegates to**: `/ddd:doc-refresh` (Phase 4.1, incremental document refresh with --minimal)
158
- - **Output to**: Updated `doc-index.json`, impact report
159
- - **Triggers**: During development, pre-commit, or periodic refresh
160
- - **Can chain to**: `/ddd:sync` for full post-task synchronization