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.
- package/.claude/agents/cli-planning-agent.md +3 -0
- package/.claude/agents/debug-explore-agent.md +1 -0
- package/.claude/agents/tdd-developer.md +1 -0
- package/.claude/agents/team-worker.md +1 -1
- package/.claude/agents/test-action-planning-agent.md +3 -0
- package/.claude/agents/test-context-search-agent.md +1 -0
- package/.claude/agents/test-fix-agent.md +3 -0
- package/.claude/commands/workflow/analyze-with-file.md +108 -54
- package/.claude/commands/workflow-tune.md +811 -0
- package/.claude/skills/review-code/SKILL.md +2 -0
- package/.claude/skills/review-cycle/SKILL.md +4 -0
- package/.claude/skills/skill-simplify/phases/02-optimize.md +4 -0
- package/.claude/skills/spec-generator/phases/05-epics-stories.md +4 -0
- package/.claude/skills/team-arch-opt/specs/team-config.json +5 -5
- package/.claude/skills/team-frontend-debug/roles/analyzer/role.md +3 -2
- package/.claude/skills/team-perf-opt/roles/coordinator/commands/monitor.md +1 -1
- package/.claude/skills/team-perf-opt/specs/team-config.json +5 -5
- package/.claude/skills/team-quality-assurance/roles/executor/role.md +2 -1
- package/.claude/skills/team-review/roles/reviewer/role.md +2 -1
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +2 -1
- package/.claude/skills/team-testing/roles/executor/role.md +2 -1
- package/.claude/skills/team-testing/roles/generator/role.md +2 -1
- package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +2 -1
- package/.claude/skills/team-ux-improve/specs/team-config.json +6 -6
- package/.claude/skills/workflow-execute/phases/06-review.md +4 -4
- package/.claude/skills/workflow-lite-execute/SKILL.md +106 -14
- package/.claude/skills/workflow-lite-plan/SKILL.md +34 -72
- package/.claude/skills/workflow-lite-test-review/SKILL.md +41 -26
- package/.claude/skills/workflow-plan/phases/05-plan-verify.md +4 -0
- package/.claude/skills/workflow-tdd-plan/phases/02-context-gathering.md +1 -0
- package/.claude/skills/workflow-tdd-plan/phases/05-tdd-task-generation.md +2 -1
- package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +1 -0
- package/.claude/skills/workflow-test-fix/phases/05-test-cycle-execute.md +2 -1
- package/.codex/skills/analyze-with-file/SKILL.md +2 -0
- package/.codex/skills/debug-with-file/SKILL.md +4 -0
- package/.codex/skills/issue-discover/SKILL.md +1 -0
- package/.codex/skills/review-cycle/phases/02-parallel-review.md +3 -0
- package/.codex/skills/team-designer/agents/validation-reporter.md +186 -0
- package/.codex/skills/team-iterdev/agents/gc-controller.md +193 -0
- package/.codex/skills/team-iterdev/agents/task-analyzer.md +206 -0
- package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +165 -0
- package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +163 -0
- package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +182 -0
- package/.codex/skills/team-uidesign/agents/completion-handler.md +177 -0
- package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +162 -0
- package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +4 -0
- package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +2 -0
- package/ccw/dist/commands/spec.d.ts.map +1 -1
- package/ccw/dist/commands/spec.js +9 -4
- package/ccw/dist/commands/spec.js.map +1 -1
- package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/codexlens-routes.js +3 -1
- package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
- package/ccw/dist/tools/spec-index-builder.d.ts +8 -4
- package/ccw/dist/tools/spec-index-builder.d.ts.map +1 -1
- package/ccw/dist/tools/spec-index-builder.js +8 -4
- package/ccw/dist/tools/spec-index-builder.js.map +1 -1
- package/ccw/dist/tools/spec-init.d.ts +1 -1
- package/ccw/dist/tools/spec-init.d.ts.map +1 -1
- package/ccw/dist/tools/spec-init.js +127 -0
- package/ccw/dist/tools/spec-init.js.map +1 -1
- package/ccw/dist/tools/spec-loader.d.ts.map +1 -1
- package/ccw/dist/tools/spec-loader.js +2 -1
- package/ccw/dist/tools/spec-loader.js.map +1 -1
- package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js → AlertDialog-BW9jiZ-p.js} +2 -2
- package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js.map → AlertDialog-BW9jiZ-p.js.map} +1 -1
- package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js → AnalysisPage-ds-w_nVO.js} +2 -2
- package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js.map → AnalysisPage-ds-w_nVO.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js → ApiSettingsPage-DlCbXxTz.js} +2 -2
- package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js.map → ApiSettingsPage-DlCbXxTz.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js → CliModeToggle-Dq3nL4fF.js} +2 -2
- package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js.map → CliModeToggle-Dq3nL4fF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js → CliSessionSharePage-BNDkEE4u.js} +2 -2
- package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js.map → CliSessionSharePage-BNDkEE4u.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js → CliViewerPage-ChM-uNx_.js} +2 -2
- package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js.map → CliViewerPage-ChM-uNx_.js.map} +1 -1
- package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js +2 -0
- package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js.map +1 -0
- package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js → Collapsible-CRNbykXN.js} +2 -2
- package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js.map → Collapsible-CRNbykXN.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js → CommandsManagerPage-C2JWcemF.js} +2 -2
- package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js.map → CommandsManagerPage-C2JWcemF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js → DeepWikiPage-CvleOtJy.js} +2 -2
- package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js.map → DeepWikiPage-CvleOtJy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js → EndpointsPage-CMOWQG64.js} +2 -2
- package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js.map → EndpointsPage-CMOWQG64.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js → ExplorerPage-DaFPRlNo.js} +2 -2
- package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js.map → ExplorerPage-DaFPRlNo.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js → FixSessionPage-CC4p04Az.js} +2 -2
- package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js.map → FixSessionPage-CC4p04Az.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js → FloatingFileBrowser-DROn1xZ5.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js.map → FloatingFileBrowser-DROn1xZ5.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js → FloatingPanel-CmL_yhDv.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js.map → FloatingPanel-CmL_yhDv.js.map} +1 -1
- package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js → GraphExplorerPage-DCV5ybKE.js} +2 -2
- package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js.map → GraphExplorerPage-DCV5ybKE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js → HistoryPage-D0fYQZgc.js} +2 -2
- package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js.map → HistoryPage-D0fYQZgc.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js → HookManagerPage-D2FuJfsM.js} +2 -2
- package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js.map → HookManagerPage-D2FuJfsM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js → InstallationsPage-tjklillZ.js} +2 -2
- package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js.map → InstallationsPage-tjklillZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js → IssueHubPage-E4JVrhO1.js} +2 -2
- package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js.map → IssueHubPage-E4JVrhO1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js → LiteTasksPage-aJuRoyLt.js} +2 -2
- package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js.map → LiteTasksPage-aJuRoyLt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js → McpManagerPage-BJeuWJv1.js} +2 -2
- package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js.map → McpManagerPage-BJeuWJv1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js → MemoryPage-BI4FAXhs.js} +2 -2
- package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js.map → MemoryPage-BI4FAXhs.js.map} +1 -1
- package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js → NotFoundPage-DD2svchp.js} +2 -2
- package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js.map → NotFoundPage-DD2svchp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js → OrchestratorPage-FC__7yYa.js} +2 -2
- package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js.map → OrchestratorPage-FC__7yYa.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js → ProjectOverviewPage-DBB_-FzV.js} +2 -2
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js.map → ProjectOverviewPage-DBB_-FzV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js → PromptHistoryPage-BwOAvCH8.js} +2 -2
- package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js.map → PromptHistoryPage-BwOAvCH8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js → ReviewSessionPage-Dd1-g_gp.js} +2 -2
- package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js.map → ReviewSessionPage-Dd1-g_gp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js → RulesManagerPage-B3RGdsKD.js} +2 -2
- package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js.map → RulesManagerPage-B3RGdsKD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js → SessionDetailPage-DM-W5R8K.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js.map → SessionDetailPage-DM-W5R8K.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js → SessionsPage-BVz1KCc7.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js.map → SessionsPage-BVz1KCc7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js → SettingsPage-ComW7EZS.js} +4 -4
- package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js.map → SettingsPage-ComW7EZS.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js → SkillsManagerPage-CKom9XwV.js} +2 -2
- package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js.map → SkillsManagerPage-CKom9XwV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js → SpecsSettingsPage-DQz7WP2s.js} +2 -2
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js.map → SpecsSettingsPage-DQz7WP2s.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js → Switch-BPMdND9H.js} +2 -2
- package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js.map → Switch-BPMdND9H.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js → TabsNavigation-qqt70VYL.js} +2 -2
- package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js.map → TabsNavigation-qqt70VYL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js → TaskDrawer-BqK_qiHX.js} +2 -2
- package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js.map → TaskDrawer-BqK_qiHX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js → TeamPage-u5_i0Rgh.js} +2 -2
- package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js.map → TeamPage-u5_i0Rgh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js → TerminalDashboardPage-rUtC9e40.js} +2 -2
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js.map → TerminalDashboardPage-rUtC9e40.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js → archive-C3u8YNQF.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js.map → archive-C3u8YNQF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js → archive-restore-DfQ998g5.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js.map → archive-restore-DfQ998g5.js.map} +1 -1
- package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js → arrow-right-BshJM9Po.js} +2 -2
- package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js.map → arrow-right-BshJM9Po.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js → bookmark-plus-D03qJyOZ.js} +2 -2
- package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js.map → bookmark-plus-D03qJyOZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js → bot-CyzWuwq0.js} +2 -2
- package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js.map → bot-CyzWuwq0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js → braces-BPgtyjsG.js} +2 -2
- package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js.map → braces-BPgtyjsG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js → circle-stop-Dix1AOmw.js} +2 -2
- package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js.map → circle-stop-Dix1AOmw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js → cpu-CCQ4Q0Zh.js} +2 -2
- package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js.map → cpu-CCQ4Q0Zh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js → ellipsis-vertical-BpTysg-Y.js} +2 -2
- package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js.map → ellipsis-vertical-BpTysg-Y.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js → eye-DGY1rAZs.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js.map → eye-DGY1rAZs.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js → eye-off-D8t3JfWG.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js.map → eye-off-D8t3JfWG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js → file-json-BAdJb0n8.js} +2 -2
- package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js.map → file-json-BAdJb0n8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js → file-text-DrJFiOUB.js} +2 -2
- package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js.map → file-text-DrJFiOUB.js.map} +1 -1
- package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js → filter-CKqzYbz7.js} +2 -2
- package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js.map → filter-CKqzYbz7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js → folder-CV8511y9.js} +2 -2
- package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js.map → folder-CV8511y9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js → gauge-XKvmu_uU.js} +2 -2
- package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js.map → gauge-XKvmu_uU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js → globe-C56cDUzX.js} +2 -2
- package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js.map → globe-C56cDUzX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js → grid-3x3-Bya-suFW.js} +2 -2
- package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js.map → grid-3x3-Bya-suFW.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js → hard-drive-CmuTZpsB.js} +2 -2
- package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js.map → hard-drive-CmuTZpsB.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hash-Bd1RD285.js → hash-CRPT_tJQ.js} +2 -2
- package/ccw/frontend/dist/assets/{hash-Bd1RD285.js.map → hash-CRPT_tJQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{history-eyyCQA6b.js → history-C1pJZQCL.js} +2 -2
- package/ccw/frontend/dist/assets/{history-eyyCQA6b.js.map → history-C1pJZQCL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js → index-B6TpijCe.js} +2 -2
- package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js.map → index-B6TpijCe.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-b2C0iFd1.js → index-Bcq-7r6F.js} +2 -2
- package/ccw/frontend/dist/assets/{index-b2C0iFd1.js.map → index-Bcq-7r6F.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js → index-CI8-rBff.js} +2 -2
- package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js.map → index-CI8-rBff.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-CY6Lueph.js → index-Dmt9OiEf.js} +2 -2
- package/ccw/frontend/dist/assets/{index-CY6Lueph.js.map → index-Dmt9OiEf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-DfeBbFXo.js → index-anSMmEF8.js} +2 -2
- package/ccw/frontend/dist/assets/{index-DfeBbFXo.js.map → index-anSMmEF8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-B6I7GQC5.js → index-dWT2M6Ef.js} +4 -4
- package/ccw/frontend/dist/assets/{index-B6I7GQC5.js.map → index-dWT2M6Ef.js.map} +1 -1
- package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js → layout-grid-TSO0BFQE.js} +2 -2
- package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js.map → layout-grid-TSO0BFQE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js → lightbulb-Caj6fIQD.js} +2 -2
- package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js.map → lightbulb-Caj6fIQD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js → link-2-DE9lMxa-.js} +2 -2
- package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js.map → link-2-DE9lMxa-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-CL4JmoHb.js → link-BZtPgLW0.js} +2 -2
- package/ccw/frontend/dist/assets/{link-CL4JmoHb.js.map → link-BZtPgLW0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{list-CDmYFcio.js → list-DubWyY-U.js} +2 -2
- package/ccw/frontend/dist/assets/{list-CDmYFcio.js.map → list-DubWyY-U.js.map} +1 -1
- package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js → map-pin-DwN_48AF.js} +2 -2
- package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js.map → map-pin-DwN_48AF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js → messages-square-bjxvaiM9.js} +2 -2
- package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js.map → messages-square-bjxvaiM9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js → minimize-2-CGfBKD_V.js} +2 -2
- package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js.map → minimize-2-CGfBKD_V.js.map} +1 -1
- package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js → package-nzWY6ilt.js} +2 -2
- package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js.map → package-nzWY6ilt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js → plug-CiLce49C.js} +2 -2
- package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js.map → plug-CiLce49C.js.map} +1 -1
- package/ccw/frontend/dist/assets/{power-DmIojFl-.js → power-CFLmB-U9.js} +2 -2
- package/ccw/frontend/dist/assets/{power-DmIojFl-.js.map → power-CFLmB-U9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{save-BFa03OnG.js → save-DuO6OF0C.js} +2 -2
- package/ccw/frontend/dist/assets/{save-BFa03OnG.js.map → save-DuO6OF0C.js.map} +1 -1
- package/ccw/frontend/dist/assets/{send-Vet3sN4J.js → send-CZk9p0mM.js} +2 -2
- package/ccw/frontend/dist/assets/{send-Vet3sN4J.js.map → send-CZk9p0mM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js → square-check-big-BY_1YQQg.js} +2 -2
- package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js.map → square-check-big-BY_1YQQg.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js → square-pen-CnZgm6g-.js} +2 -2
- package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js.map → square-pen-CnZgm6g-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{star-BCQHcnSe.js → star-Cn1F0qy7.js} +2 -2
- package/ccw/frontend/dist/assets/{star-BCQHcnSe.js.map → star-Cn1F0qy7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{style-CJsrp48L.js → style-Dxs1iXCV.js} +2 -2
- package/ccw/frontend/dist/assets/{style-CJsrp48L.js.map → style-Dxs1iXCV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{target-CBzCJCB1.js → target-Bz1fLRKH.js} +2 -2
- package/ccw/frontend/dist/assets/{target-CBzCJCB1.js.map → target-Bz1fLRKH.js.map} +1 -1
- package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js → test-tube-C6qCYlDr.js} +2 -2
- package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js.map → test-tube-C6qCYlDr.js.map} +1 -1
- package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js → upload-C71kd4Qs.js} +2 -2
- package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js.map → upload-C71kd4Qs.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js → useApiSettings-CqP2BAJ7.js} +2 -2
- package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js.map → useApiSettings-CqP2BAJ7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js → useCli-PCoPoVeM.js} +2 -2
- package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js.map → useCli-PCoPoVeM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js → useCommands-3OfPQPw4.js} +2 -2
- package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js.map → useCommands-3OfPQPw4.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js → useDebounce-bXiFhQx9.js} +2 -2
- package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js.map → useDebounce-bXiFhQx9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js → useFileExplorer-DEyUm46_.js} +2 -2
- package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js.map → useFileExplorer-DEyUm46_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js → useLocale-sXTrdxcJ.js} +2 -2
- package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js.map → useLocale-sXTrdxcJ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js → useSkills-D0W0kXYm.js} +3 -3
- package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js.map → useSkills-D0W0kXYm.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js → useSystemSettings-DZ-8lZsG.js} +2 -2
- package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js.map → useSystemSettings-DZ-8lZsG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js → wand-sparkles-83GmAYuw.js} +2 -2
- package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js.map → wand-sparkles-83GmAYuw.js.map} +1 -1
- package/ccw/frontend/dist/index.html +1 -1
- package/package.json +1 -1
- package/.claude/commands/ddd/auto.md +0 -359
- package/.claude/commands/ddd/doc-generate.md +0 -222
- package/.claude/commands/ddd/doc-refresh.md +0 -218
- package/.claude/commands/ddd/execute.md +0 -416
- package/.claude/commands/ddd/index-build.md +0 -212
- package/.claude/commands/ddd/plan.md +0 -611
- package/.claude/commands/ddd/scan.md +0 -365
- package/.claude/commands/ddd/sync.md +0 -353
- package/.claude/commands/ddd/update.md +0 -160
- package/.claude/commands/idaw/add.md +0 -287
- package/.claude/commands/idaw/resume.md +0 -442
- package/.claude/commands/idaw/run-coordinate.md +0 -648
- package/.claude/commands/idaw/run.md +0 -539
- package/.claude/commands/idaw/status.md +0 -182
- package/.claude/skills/team-arch-opt/role-specs/analyzer.md +0 -80
- package/.claude/skills/team-arch-opt/role-specs/designer.md +0 -118
- package/.claude/skills/team-arch-opt/role-specs/refactorer.md +0 -106
- package/.claude/skills/team-arch-opt/role-specs/reviewer.md +0 -116
- package/.claude/skills/team-arch-opt/role-specs/validator.md +0 -117
- package/.claude/skills/team-brainstorm/role-specs/challenger.md +0 -63
- package/.claude/skills/team-brainstorm/role-specs/evaluator.md +0 -58
- package/.claude/skills/team-brainstorm/role-specs/ideator.md +0 -71
- package/.claude/skills/team-brainstorm/role-specs/synthesizer.md +0 -59
- package/.claude/skills/team-frontend/role-specs/analyst.md +0 -91
- package/.claude/skills/team-frontend/role-specs/architect.md +0 -85
- package/.claude/skills/team-frontend/role-specs/developer.md +0 -92
- package/.claude/skills/team-frontend/role-specs/qa.md +0 -78
- package/.claude/skills/team-issue/role-specs/explorer.md +0 -95
- package/.claude/skills/team-issue/role-specs/implementer.md +0 -89
- package/.claude/skills/team-issue/role-specs/integrator.md +0 -86
- package/.claude/skills/team-issue/role-specs/planner.md +0 -83
- package/.claude/skills/team-issue/role-specs/reviewer.md +0 -89
- package/.claude/skills/team-iterdev/role-specs/architect.md +0 -64
- package/.claude/skills/team-iterdev/role-specs/developer.md +0 -73
- package/.claude/skills/team-iterdev/role-specs/reviewer.md +0 -65
- package/.claude/skills/team-iterdev/role-specs/tester.md +0 -87
- package/.claude/skills/team-perf-opt/role-specs/benchmarker.md +0 -110
- package/.claude/skills/team-perf-opt/role-specs/optimizer.md +0 -102
- package/.claude/skills/team-perf-opt/role-specs/profiler.md +0 -73
- package/.claude/skills/team-perf-opt/role-specs/reviewer.md +0 -91
- package/.claude/skills/team-perf-opt/role-specs/strategist.md +0 -114
- package/.claude/skills/team-planex/role-specs/executor.md +0 -90
- package/.claude/skills/team-planex/role-specs/planner.md +0 -110
- package/.claude/skills/team-quality-assurance/role-specs/analyst.md +0 -79
- package/.claude/skills/team-quality-assurance/role-specs/executor.md +0 -64
- package/.claude/skills/team-quality-assurance/role-specs/generator.md +0 -67
- package/.claude/skills/team-quality-assurance/role-specs/scout.md +0 -66
- package/.claude/skills/team-quality-assurance/role-specs/strategist.md +0 -70
- package/.claude/skills/team-review/role-specs/fixer.md +0 -75
- package/.claude/skills/team-review/role-specs/reviewer.md +0 -66
- package/.claude/skills/team-review/role-specs/scanner.md +0 -70
- package/.claude/skills/team-roadmap-dev/role-specs/executor.md +0 -71
- package/.claude/skills/team-roadmap-dev/role-specs/planner.md +0 -77
- package/.claude/skills/team-roadmap-dev/role-specs/verifier.md +0 -73
- package/.claude/skills/team-tech-debt/role-specs/assessor.md +0 -70
- package/.claude/skills/team-tech-debt/role-specs/executor.md +0 -80
- package/.claude/skills/team-tech-debt/role-specs/planner.md +0 -71
- package/.claude/skills/team-tech-debt/role-specs/scanner.md +0 -85
- package/.claude/skills/team-tech-debt/role-specs/validator.md +0 -83
- package/.claude/skills/team-testing/role-specs/analyst.md +0 -94
- package/.claude/skills/team-testing/role-specs/executor.md +0 -97
- package/.claude/skills/team-testing/role-specs/generator.md +0 -96
- package/.claude/skills/team-testing/role-specs/strategist.md +0 -82
- package/.claude/skills/team-uidesign/role-specs/designer.md +0 -72
- package/.claude/skills/team-uidesign/role-specs/implementer.md +0 -74
- package/.claude/skills/team-uidesign/role-specs/researcher.md +0 -84
- package/.claude/skills/team-uidesign/role-specs/reviewer.md +0 -70
- package/.claude/skills/team-ux-improve/role-specs/designer.md +0 -191
- package/.claude/skills/team-ux-improve/role-specs/diagnoser.md +0 -110
- package/.claude/skills/team-ux-improve/role-specs/explorer.md +0 -109
- package/.claude/skills/team-ux-improve/role-specs/implementer.md +0 -164
- package/.claude/skills/team-ux-improve/role-specs/scanner.md +0 -117
- package/.claude/skills/team-ux-improve/role-specs/tester.md +0 -163
- package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js +0 -2
- package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js.map +0 -1
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: status
|
|
3
|
-
description: View IDAW task and session progress
|
|
4
|
-
argument-hint: "[session-id]"
|
|
5
|
-
allowed-tools: Read(*), Glob(*), Bash(*)
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# IDAW Status Command (/idaw:status)
|
|
9
|
-
|
|
10
|
-
## Overview
|
|
11
|
-
|
|
12
|
-
Read-only command to view IDAW task queue and execution session progress.
|
|
13
|
-
|
|
14
|
-
## Implementation
|
|
15
|
-
|
|
16
|
-
### Phase 1: Determine View Mode
|
|
17
|
-
|
|
18
|
-
```javascript
|
|
19
|
-
const sessionId = $ARGUMENTS?.trim();
|
|
20
|
-
|
|
21
|
-
if (sessionId) {
|
|
22
|
-
// Specific session view
|
|
23
|
-
showSession(sessionId);
|
|
24
|
-
} else {
|
|
25
|
-
// Overview: pending tasks + latest session
|
|
26
|
-
showOverview();
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Phase 2: Show Overview
|
|
31
|
-
|
|
32
|
-
```javascript
|
|
33
|
-
function showOverview() {
|
|
34
|
-
// 1. Load all tasks
|
|
35
|
-
const taskFiles = Glob('.workflow/.idaw/tasks/IDAW-*.json') || [];
|
|
36
|
-
|
|
37
|
-
if (taskFiles.length === 0) {
|
|
38
|
-
console.log('No IDAW tasks found. Use /idaw:add to create tasks.');
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const tasks = taskFiles.map(f => JSON.parse(Read(f)));
|
|
43
|
-
|
|
44
|
-
// 2. Group by status
|
|
45
|
-
const byStatus = {
|
|
46
|
-
pending: tasks.filter(t => t.status === 'pending'),
|
|
47
|
-
in_progress: tasks.filter(t => t.status === 'in_progress'),
|
|
48
|
-
completed: tasks.filter(t => t.status === 'completed'),
|
|
49
|
-
failed: tasks.filter(t => t.status === 'failed'),
|
|
50
|
-
skipped: tasks.filter(t => t.status === 'skipped')
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
// 3. Display task summary table
|
|
54
|
-
console.log('# IDAW Tasks\n');
|
|
55
|
-
console.log('| ID | Title | Type | Priority | Status |');
|
|
56
|
-
console.log('|----|-------|------|----------|--------|');
|
|
57
|
-
|
|
58
|
-
// Sort: priority ASC, then ID ASC
|
|
59
|
-
const sorted = [...tasks].sort((a, b) => {
|
|
60
|
-
if (a.priority !== b.priority) return a.priority - b.priority;
|
|
61
|
-
return a.id.localeCompare(b.id);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
for (const t of sorted) {
|
|
65
|
-
const type = t.task_type || '(infer)';
|
|
66
|
-
console.log(`| ${t.id} | ${t.title.substring(0, 40)} | ${type} | ${t.priority} | ${t.status} |`);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
console.log(`\nTotal: ${tasks.length} | Pending: ${byStatus.pending.length} | Completed: ${byStatus.completed.length} | Failed: ${byStatus.failed.length}`);
|
|
70
|
-
|
|
71
|
-
// 4. Show latest session (if any)
|
|
72
|
-
const sessionDirs = Glob('.workflow/.idaw/sessions/IDA-*/session.json') || [];
|
|
73
|
-
if (sessionDirs.length > 0) {
|
|
74
|
-
// Sort by modification time (newest first) — Glob returns sorted by mtime
|
|
75
|
-
const latestSessionFile = sessionDirs[0];
|
|
76
|
-
const session = JSON.parse(Read(latestSessionFile));
|
|
77
|
-
console.log(`\n## Latest Session: ${session.session_id}`);
|
|
78
|
-
console.log(`Status: ${session.status} | Tasks: ${session.tasks?.length || 0}`);
|
|
79
|
-
console.log(`Completed: ${session.completed?.length || 0} | Failed: ${session.failed?.length || 0} | Skipped: ${session.skipped?.length || 0}`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### Phase 3: Show Specific Session
|
|
85
|
-
|
|
86
|
-
```javascript
|
|
87
|
-
function showSession(sessionId) {
|
|
88
|
-
const sessionFile = `.workflow/.idaw/sessions/${sessionId}/session.json`;
|
|
89
|
-
const progressFile = `.workflow/.idaw/sessions/${sessionId}/progress.md`;
|
|
90
|
-
|
|
91
|
-
// Try reading session
|
|
92
|
-
try {
|
|
93
|
-
const session = JSON.parse(Read(sessionFile));
|
|
94
|
-
|
|
95
|
-
console.log(`# IDAW Session: ${session.session_id}\n`);
|
|
96
|
-
console.log(`Status: ${session.status}`);
|
|
97
|
-
console.log(`Created: ${session.created_at}`);
|
|
98
|
-
console.log(`Updated: ${session.updated_at}`);
|
|
99
|
-
console.log(`Current Task: ${session.current_task || 'none'}\n`);
|
|
100
|
-
|
|
101
|
-
// Task detail table
|
|
102
|
-
console.log('| ID | Title | Status | Commit |');
|
|
103
|
-
console.log('|----|-------|--------|--------|');
|
|
104
|
-
|
|
105
|
-
for (const taskId of session.tasks) {
|
|
106
|
-
const taskFile = `.workflow/.idaw/tasks/${taskId}.json`;
|
|
107
|
-
try {
|
|
108
|
-
const task = JSON.parse(Read(taskFile));
|
|
109
|
-
const commit = task.execution?.git_commit?.substring(0, 7) || '-';
|
|
110
|
-
console.log(`| ${task.id} | ${task.title.substring(0, 40)} | ${task.status} | ${commit} |`);
|
|
111
|
-
} catch {
|
|
112
|
-
console.log(`| ${taskId} | (file not found) | unknown | - |`);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
console.log(`\nCompleted: ${session.completed?.length || 0} | Failed: ${session.failed?.length || 0} | Skipped: ${session.skipped?.length || 0}`);
|
|
117
|
-
|
|
118
|
-
// Show progress.md if exists
|
|
119
|
-
try {
|
|
120
|
-
const progress = Read(progressFile);
|
|
121
|
-
console.log('\n---\n');
|
|
122
|
-
console.log(progress);
|
|
123
|
-
} catch {
|
|
124
|
-
// No progress file yet
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
} catch {
|
|
128
|
-
// Session not found — try listing all sessions
|
|
129
|
-
console.log(`Session "${sessionId}" not found.\n`);
|
|
130
|
-
listSessions();
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Phase 4: List All Sessions
|
|
136
|
-
|
|
137
|
-
```javascript
|
|
138
|
-
function listSessions() {
|
|
139
|
-
const sessionFiles = Glob('.workflow/.idaw/sessions/IDA-*/session.json') || [];
|
|
140
|
-
|
|
141
|
-
if (sessionFiles.length === 0) {
|
|
142
|
-
console.log('No IDAW sessions found. Use /idaw:run to start execution.');
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
console.log('# IDAW Sessions\n');
|
|
147
|
-
console.log('| Session ID | Status | Tasks | Completed | Failed |');
|
|
148
|
-
console.log('|------------|--------|-------|-----------|--------|');
|
|
149
|
-
|
|
150
|
-
for (const f of sessionFiles) {
|
|
151
|
-
try {
|
|
152
|
-
const session = JSON.parse(Read(f));
|
|
153
|
-
console.log(`| ${session.session_id} | ${session.status} | ${session.tasks?.length || 0} | ${session.completed?.length || 0} | ${session.failed?.length || 0} |`);
|
|
154
|
-
} catch {
|
|
155
|
-
// Skip malformed
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
console.log('\nUse /idaw:status <session-id> for details.');
|
|
160
|
-
}
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## Examples
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
# Show overview (pending tasks + latest session)
|
|
167
|
-
/idaw:status
|
|
168
|
-
|
|
169
|
-
# Show specific session details
|
|
170
|
-
/idaw:status IDA-auth-fix-20260301
|
|
171
|
-
|
|
172
|
-
# Output example:
|
|
173
|
-
# IDAW Tasks
|
|
174
|
-
#
|
|
175
|
-
# | ID | Title | Type | Priority | Status |
|
|
176
|
-
# |----------|------------------------------------|--------|----------|-----------|
|
|
177
|
-
# | IDAW-001 | Fix auth token refresh | bugfix | 1 | completed |
|
|
178
|
-
# | IDAW-002 | Add rate limiting | feature| 2 | pending |
|
|
179
|
-
# | IDAW-003 | Refactor payment module | refact | 3 | pending |
|
|
180
|
-
#
|
|
181
|
-
# Total: 3 | Pending: 2 | Completed: 1 | Failed: 0
|
|
182
|
-
```
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: ANALYZE
|
|
3
|
-
inner_loop: false
|
|
4
|
-
cli_tools: [explore]
|
|
5
|
-
message_types:
|
|
6
|
-
success: analyze_complete
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Architecture Analyzer
|
|
11
|
-
|
|
12
|
-
Analyze codebase architecture to identify structural issues: dependency cycles, coupling/cohesion problems, layering violations, God Classes, code duplication, dead code, and API surface bloat. Produce quantified baseline metrics and a ranked architecture report.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Context & Environment Detection
|
|
15
|
-
|
|
16
|
-
| Input | Source | Required |
|
|
17
|
-
|-------|--------|----------|
|
|
18
|
-
| Task description | From task subject/description | Yes |
|
|
19
|
-
| Session path | Extracted from task description | Yes |
|
|
20
|
-
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
21
|
-
|
|
22
|
-
1. Extract session path and target scope from task description
|
|
23
|
-
2. Detect project type by scanning for framework markers:
|
|
24
|
-
|
|
25
|
-
| Signal File | Project Type | Analysis Focus |
|
|
26
|
-
|-------------|-------------|----------------|
|
|
27
|
-
| package.json + React/Vue/Angular | Frontend | Component tree, prop drilling, state management, barrel exports |
|
|
28
|
-
| package.json + Express/Fastify/NestJS | Backend Node | Service layer boundaries, middleware chains, DB access patterns |
|
|
29
|
-
| Cargo.toml / go.mod / pom.xml | Native/JVM Backend | Module boundaries, trait/interface usage, dependency injection |
|
|
30
|
-
| Mixed framework markers | Full-stack / Monorepo | Cross-package dependencies, shared types, API contracts |
|
|
31
|
-
| CLI entry / bin/ directory | CLI Tool | Command structure, plugin architecture, configuration layering |
|
|
32
|
-
| No detection | Generic | All architecture dimensions |
|
|
33
|
-
|
|
34
|
-
3. Use `explore` CLI tool to map module structure, dependency graph, and layer boundaries within target scope
|
|
35
|
-
4. Detect available analysis tools (linters, dependency analyzers, build tools)
|
|
36
|
-
|
|
37
|
-
## Phase 3: Architecture Analysis
|
|
38
|
-
|
|
39
|
-
Execute analysis based on detected project type:
|
|
40
|
-
|
|
41
|
-
**Dependency analysis**:
|
|
42
|
-
- Build import/require graph across modules
|
|
43
|
-
- Detect circular dependencies (direct and transitive cycles)
|
|
44
|
-
- Identify layering violations (e.g., UI importing from data layer, utils importing from domain)
|
|
45
|
-
- Calculate fan-in/fan-out per module (high fan-out = fragile hub, high fan-in = tightly coupled)
|
|
46
|
-
|
|
47
|
-
**Structural analysis**:
|
|
48
|
-
- Identify God Classes / God Modules (> 500 LOC, > 10 public methods, too many responsibilities)
|
|
49
|
-
- Calculate coupling metrics (afferent/efferent coupling per module)
|
|
50
|
-
- Calculate cohesion metrics (LCOM -- Lack of Cohesion of Methods)
|
|
51
|
-
- Detect code duplication (repeated logic blocks, copy-paste patterns)
|
|
52
|
-
- Identify missing abstractions (repeated conditionals, switch-on-type patterns)
|
|
53
|
-
|
|
54
|
-
**API surface analysis**:
|
|
55
|
-
- Count exported symbols per module (export bloat detection)
|
|
56
|
-
- Identify dead exports (exported but never imported elsewhere)
|
|
57
|
-
- Detect dead code (unreachable functions, unused variables, orphan files)
|
|
58
|
-
- Check for pattern inconsistencies (mixed naming conventions, inconsistent error handling)
|
|
59
|
-
|
|
60
|
-
**All project types**:
|
|
61
|
-
- Collect quantified architecture baseline metrics (dependency count, cycle count, coupling scores, LOC distribution)
|
|
62
|
-
- Rank top 3-7 architecture issues by severity (Critical / High / Medium)
|
|
63
|
-
- Record evidence: file paths, line numbers, measured values
|
|
64
|
-
|
|
65
|
-
## Phase 4: Report Generation
|
|
66
|
-
|
|
67
|
-
1. Write architecture baseline to `<session>/artifacts/architecture-baseline.json`:
|
|
68
|
-
- Module count, dependency count, cycle count, average coupling, average cohesion
|
|
69
|
-
- God Class candidates with LOC and method count
|
|
70
|
-
- Dead code file count, dead export count
|
|
71
|
-
- Timestamp and project type details
|
|
72
|
-
|
|
73
|
-
2. Write architecture report to `<session>/artifacts/architecture-report.md`:
|
|
74
|
-
- Ranked list of architecture issues with severity, location (file:line or module), measured impact
|
|
75
|
-
- Issue categories: CYCLE, COUPLING, COHESION, GOD_CLASS, DUPLICATION, LAYER_VIOLATION, DEAD_CODE, API_BLOAT
|
|
76
|
-
- Evidence summary per issue
|
|
77
|
-
- Detected project type and analysis methods used
|
|
78
|
-
|
|
79
|
-
3. Update `<session>/wisdom/.msg/meta.json` under `analyzer` namespace:
|
|
80
|
-
- Read existing -> merge `{ "analyzer": { project_type, issue_count, top_issue, scope, categories } }` -> write back
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: DESIGN
|
|
3
|
-
inner_loop: false
|
|
4
|
-
discuss_rounds: [DISCUSS-REFACTOR]
|
|
5
|
-
cli_tools: [discuss]
|
|
6
|
-
message_types:
|
|
7
|
-
success: design_complete
|
|
8
|
-
error: error
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Refactoring Designer
|
|
12
|
-
|
|
13
|
-
Analyze architecture reports and baseline metrics to design a prioritized refactoring plan with concrete strategies, expected structural improvements, and risk assessments.
|
|
14
|
-
|
|
15
|
-
## Phase 2: Analysis Loading
|
|
16
|
-
|
|
17
|
-
| Input | Source | Required |
|
|
18
|
-
|-------|--------|----------|
|
|
19
|
-
| Architecture report | <session>/artifacts/architecture-report.md | Yes |
|
|
20
|
-
| Architecture baseline | <session>/artifacts/architecture-baseline.json | Yes |
|
|
21
|
-
| .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
|
|
22
|
-
| Wisdom files | <session>/wisdom/patterns.md | No |
|
|
23
|
-
|
|
24
|
-
1. Extract session path from task description
|
|
25
|
-
2. Read architecture report -- extract ranked issue list with severities and categories
|
|
26
|
-
3. Read architecture baseline -- extract current structural metrics
|
|
27
|
-
4. Load .msg/meta.json for analyzer findings (project_type, scope)
|
|
28
|
-
5. Assess overall refactoring complexity:
|
|
29
|
-
|
|
30
|
-
| Issue Count | Severity Mix | Complexity |
|
|
31
|
-
|-------------|-------------|------------|
|
|
32
|
-
| 1-2 | All Medium | Low |
|
|
33
|
-
| 2-3 | Mix of High/Medium | Medium |
|
|
34
|
-
| 3+ or any Critical | Any Critical present | High |
|
|
35
|
-
|
|
36
|
-
## Phase 3: Strategy Formulation
|
|
37
|
-
|
|
38
|
-
For each architecture issue, select refactoring approach by type:
|
|
39
|
-
|
|
40
|
-
| Issue Type | Strategies | Risk Level |
|
|
41
|
-
|------------|-----------|------------|
|
|
42
|
-
| Circular dependency | Interface extraction, dependency inversion, mediator pattern | High |
|
|
43
|
-
| God Class/Module | SRP decomposition, extract class/module, delegate pattern | High |
|
|
44
|
-
| Layering violation | Move to correct layer, introduce Facade, add anti-corruption layer | Medium |
|
|
45
|
-
| Code duplication | Extract shared utility/base class, template method pattern | Low |
|
|
46
|
-
| High coupling | Introduce interface/abstraction, dependency injection, event-driven | Medium |
|
|
47
|
-
| API bloat / dead exports | Privatize internals, re-export only public API, barrel file cleanup | Low |
|
|
48
|
-
| Dead code | Safe removal with reference verification | Low |
|
|
49
|
-
| Missing abstraction | Extract interface/type, introduce strategy/factory pattern | Medium |
|
|
50
|
-
|
|
51
|
-
Prioritize refactorings by impact/effort ratio:
|
|
52
|
-
|
|
53
|
-
| Priority | Criteria |
|
|
54
|
-
|----------|----------|
|
|
55
|
-
| P0 (Critical) | High impact + Low effort -- quick wins (dead code removal, simple moves) |
|
|
56
|
-
| P1 (High) | High impact + Medium effort (cycle breaking, layer fixes) |
|
|
57
|
-
| P2 (Medium) | Medium impact + Low effort (duplication extraction) |
|
|
58
|
-
| P3 (Low) | Low impact or High effort -- defer (large God Class decomposition) |
|
|
59
|
-
|
|
60
|
-
If complexity is High, invoke `discuss` CLI tool (DISCUSS-REFACTOR round) to evaluate trade-offs between competing strategies before finalizing the plan.
|
|
61
|
-
|
|
62
|
-
Define measurable success criteria per refactoring (target metric improvement or structural change).
|
|
63
|
-
|
|
64
|
-
## Phase 4: Plan Output
|
|
65
|
-
|
|
66
|
-
1. Write refactoring plan to `<session>/artifacts/refactoring-plan.md`:
|
|
67
|
-
|
|
68
|
-
Each refactoring MUST have a unique REFACTOR-ID and self-contained detail block:
|
|
69
|
-
|
|
70
|
-
```markdown
|
|
71
|
-
### REFACTOR-001: <title>
|
|
72
|
-
- Priority: P0
|
|
73
|
-
- Target issue: <issue from report>
|
|
74
|
-
- Issue type: <CYCLE|COUPLING|GOD_CLASS|DUPLICATION|LAYER_VIOLATION|DEAD_CODE|API_BLOAT>
|
|
75
|
-
- Target files: <file-list>
|
|
76
|
-
- Strategy: <selected approach>
|
|
77
|
-
- Expected improvement: <metric> by <description>
|
|
78
|
-
- Risk level: <Low/Medium/High>
|
|
79
|
-
- Success criteria: <specific structural change to verify>
|
|
80
|
-
- Implementation guidance:
|
|
81
|
-
1. <step 1>
|
|
82
|
-
2. <step 2>
|
|
83
|
-
3. <step 3>
|
|
84
|
-
|
|
85
|
-
### REFACTOR-002: <title>
|
|
86
|
-
...
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Requirements:
|
|
90
|
-
- Each REFACTOR-ID is sequentially numbered (REFACTOR-001, REFACTOR-002, ...)
|
|
91
|
-
- Each refactoring must be **non-overlapping** in target files (no two REFACTOR-IDs modify the same file unless explicitly noted with conflict resolution)
|
|
92
|
-
- Implementation guidance must be self-contained -- a branch refactorer should be able to work from a single REFACTOR block without reading others
|
|
93
|
-
|
|
94
|
-
2. Update `<session>/wisdom/.msg/meta.json` under `designer` namespace:
|
|
95
|
-
- Read existing -> merge -> write back:
|
|
96
|
-
```json
|
|
97
|
-
{
|
|
98
|
-
"designer": {
|
|
99
|
-
"complexity": "<Low|Medium|High>",
|
|
100
|
-
"refactoring_count": 4,
|
|
101
|
-
"priorities": ["P0", "P0", "P1", "P2"],
|
|
102
|
-
"discuss_used": false,
|
|
103
|
-
"refactorings": [
|
|
104
|
-
{
|
|
105
|
-
"id": "REFACTOR-001",
|
|
106
|
-
"title": "<title>",
|
|
107
|
-
"issue_type": "<CYCLE|COUPLING|...>",
|
|
108
|
-
"priority": "P0",
|
|
109
|
-
"target_files": ["src/a.ts", "src/b.ts"],
|
|
110
|
-
"expected_improvement": "<metric> by <description>",
|
|
111
|
-
"success_criteria": "<threshold>"
|
|
112
|
-
}
|
|
113
|
-
]
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
3. If DISCUSS-REFACTOR was triggered, record discussion summary in `<session>/discussions/DISCUSS-REFACTOR.md`
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: REFACTOR
|
|
3
|
-
inner_loop: true
|
|
4
|
-
additional_prefixes: [FIX]
|
|
5
|
-
cli_tools: [explore]
|
|
6
|
-
message_types:
|
|
7
|
-
success: refactor_complete
|
|
8
|
-
error: error
|
|
9
|
-
fix: fix_required
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Code Refactorer
|
|
13
|
-
|
|
14
|
-
Implement architecture refactoring changes following the design plan. For FIX tasks, apply targeted corrections based on review/validation feedback.
|
|
15
|
-
|
|
16
|
-
## Modes
|
|
17
|
-
|
|
18
|
-
| Mode | Task Prefix | Trigger | Focus |
|
|
19
|
-
|------|-------------|---------|-------|
|
|
20
|
-
| Refactor | REFACTOR | Design plan ready | Apply refactorings per plan priority |
|
|
21
|
-
| Fix | FIX | Review/validation feedback | Targeted fixes for identified issues |
|
|
22
|
-
|
|
23
|
-
## Phase 2: Plan & Context Loading
|
|
24
|
-
|
|
25
|
-
| Input | Source | Required |
|
|
26
|
-
|-------|--------|----------|
|
|
27
|
-
| Refactoring plan | <session>/artifacts/refactoring-plan.md | Yes (REFACTOR, no branch) |
|
|
28
|
-
| Branch refactoring detail | <session>/artifacts/branches/B{NN}/refactoring-detail.md | Yes (REFACTOR with branch) |
|
|
29
|
-
| Pipeline refactoring plan | <session>/artifacts/pipelines/{P}/refactoring-plan.md | Yes (REFACTOR with pipeline) |
|
|
30
|
-
| Review/validation feedback | From task description | Yes (FIX) |
|
|
31
|
-
| .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
|
|
32
|
-
| Wisdom files | <session>/wisdom/patterns.md | No |
|
|
33
|
-
| Context accumulator | From prior REFACTOR/FIX tasks | Yes (inner loop) |
|
|
34
|
-
|
|
35
|
-
1. Extract session path and task mode (REFACTOR or FIX) from task description
|
|
36
|
-
2. **Detect branch/pipeline context** from task description:
|
|
37
|
-
|
|
38
|
-
| Task Description Field | Value | Context |
|
|
39
|
-
|----------------------|-------|---------
|
|
40
|
-
| `BranchId: B{NN}` | Present | Fan-out branch -- load single refactoring detail |
|
|
41
|
-
| `PipelineId: {P}` | Present | Independent pipeline -- load pipeline-scoped plan |
|
|
42
|
-
| Neither present | - | Single mode -- load full refactoring plan |
|
|
43
|
-
|
|
44
|
-
3. **Load refactoring context by mode**:
|
|
45
|
-
- **Single mode (no branch)**: Read `<session>/artifacts/refactoring-plan.md` -- extract ALL priority-ordered changes
|
|
46
|
-
- **Fan-out branch**: Read `<session>/artifacts/branches/B{NN}/refactoring-detail.md` -- extract ONLY this branch's refactoring (single REFACTOR-ID)
|
|
47
|
-
- **Independent pipeline**: Read `<session>/artifacts/pipelines/{P}/refactoring-plan.md` -- extract this pipeline's plan
|
|
48
|
-
|
|
49
|
-
4. For FIX: parse review/validation feedback for specific issues to address
|
|
50
|
-
5. Use `explore` CLI tool to load implementation context for target files
|
|
51
|
-
6. For inner loop (single mode only): load context_accumulator from prior REFACTOR/FIX tasks
|
|
52
|
-
|
|
53
|
-
**Meta.json namespace**:
|
|
54
|
-
- Single: write to `refactorer` namespace
|
|
55
|
-
- Fan-out: write to `refactorer.B{NN}` namespace
|
|
56
|
-
- Independent: write to `refactorer.{P}` namespace
|
|
57
|
-
|
|
58
|
-
## Phase 3: Code Implementation
|
|
59
|
-
|
|
60
|
-
Implementation backend selection:
|
|
61
|
-
|
|
62
|
-
| Backend | Condition | Method |
|
|
63
|
-
|---------|-----------|--------|
|
|
64
|
-
| CLI | Multi-file refactoring with clear plan | ccw cli --tool gemini --mode write |
|
|
65
|
-
| Direct | Single-file changes or targeted fixes | Inline Edit/Write tools |
|
|
66
|
-
|
|
67
|
-
For REFACTOR tasks:
|
|
68
|
-
- **Single mode**: Apply refactorings in plan priority order (P0 first, then P1, etc.)
|
|
69
|
-
- **Fan-out branch**: Apply ONLY this branch's single refactoring (from refactoring-detail.md)
|
|
70
|
-
- **Independent pipeline**: Apply this pipeline's refactorings in priority order
|
|
71
|
-
- Follow implementation guidance from plan (target files, patterns)
|
|
72
|
-
- **Preserve existing behavior -- refactoring must not change functionality**
|
|
73
|
-
- **Update ALL import references** when moving/renaming modules
|
|
74
|
-
- **Update ALL test files** that reference moved/renamed symbols
|
|
75
|
-
|
|
76
|
-
For FIX tasks:
|
|
77
|
-
- Read specific issues from review/validation feedback
|
|
78
|
-
- Apply targeted corrections to flagged code locations
|
|
79
|
-
- Verify the fix addresses the exact concern raised
|
|
80
|
-
|
|
81
|
-
General rules:
|
|
82
|
-
- Make minimal, focused changes per refactoring
|
|
83
|
-
- Add comments only where refactoring logic is non-obvious
|
|
84
|
-
- Preserve existing code style and conventions
|
|
85
|
-
- Verify no dangling imports after module moves
|
|
86
|
-
|
|
87
|
-
## Phase 4: Self-Validation
|
|
88
|
-
|
|
89
|
-
| Check | Method | Pass Criteria |
|
|
90
|
-
|-------|--------|---------------|
|
|
91
|
-
| Syntax | IDE diagnostics or build check | No new errors |
|
|
92
|
-
| File integrity | Verify all planned files exist and are modified | All present |
|
|
93
|
-
| Import integrity | Verify no broken imports after moves | All imports resolve |
|
|
94
|
-
| Acceptance | Match refactoring plan success criteria | All structural changes applied |
|
|
95
|
-
| No regression | Run existing tests if available | No new failures |
|
|
96
|
-
|
|
97
|
-
If validation fails, attempt auto-fix (max 2 attempts) before reporting error.
|
|
98
|
-
|
|
99
|
-
Append to context_accumulator for next REFACTOR/FIX task (single/inner-loop mode only):
|
|
100
|
-
- Files modified, refactorings applied, validation results
|
|
101
|
-
- Any discovered patterns or caveats for subsequent iterations
|
|
102
|
-
|
|
103
|
-
**Branch output paths**:
|
|
104
|
-
- Single: write artifacts to `<session>/artifacts/`
|
|
105
|
-
- Fan-out: write artifacts to `<session>/artifacts/branches/B{NN}/`
|
|
106
|
-
- Independent: write artifacts to `<session>/artifacts/pipelines/{P}/`
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: REVIEW
|
|
3
|
-
inner_loop: false
|
|
4
|
-
additional_prefixes: [QUALITY]
|
|
5
|
-
discuss_rounds: [DISCUSS-REVIEW]
|
|
6
|
-
cli_tools: [discuss]
|
|
7
|
-
message_types:
|
|
8
|
-
success: review_complete
|
|
9
|
-
error: error
|
|
10
|
-
fix: fix_required
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Architecture Reviewer
|
|
14
|
-
|
|
15
|
-
Review refactoring code changes for correctness, pattern consistency, completeness, migration safety, and adherence to best practices. Provide structured verdicts with actionable feedback.
|
|
16
|
-
|
|
17
|
-
## Phase 2: Context Loading
|
|
18
|
-
|
|
19
|
-
| Input | Source | Required |
|
|
20
|
-
|-------|--------|----------|
|
|
21
|
-
| Refactoring code changes | From REFACTOR task artifacts / git diff | Yes |
|
|
22
|
-
| Refactoring plan / detail | Varies by mode (see below) | Yes |
|
|
23
|
-
| Validation results | Varies by mode (see below) | No |
|
|
24
|
-
| .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
|
|
25
|
-
|
|
26
|
-
1. Extract session path from task description
|
|
27
|
-
2. **Detect branch/pipeline context** from task description:
|
|
28
|
-
|
|
29
|
-
| Task Description Field | Value | Context |
|
|
30
|
-
|----------------------|-------|---------
|
|
31
|
-
| `BranchId: B{NN}` | Present | Fan-out branch -- review only this branch's changes |
|
|
32
|
-
| `PipelineId: {P}` | Present | Independent pipeline -- review pipeline-scoped changes |
|
|
33
|
-
| Neither present | - | Single mode -- review all refactoring changes |
|
|
34
|
-
|
|
35
|
-
3. **Load refactoring context by mode**:
|
|
36
|
-
- Single: Read `<session>/artifacts/refactoring-plan.md`
|
|
37
|
-
- Fan-out branch: Read `<session>/artifacts/branches/B{NN}/refactoring-detail.md`
|
|
38
|
-
- Independent: Read `<session>/artifacts/pipelines/{P}/refactoring-plan.md`
|
|
39
|
-
|
|
40
|
-
4. Load .msg/meta.json for scoped refactorer namespace:
|
|
41
|
-
- Single: `refactorer` namespace
|
|
42
|
-
- Fan-out: `refactorer.B{NN}` namespace
|
|
43
|
-
- Independent: `refactorer.{P}` namespace
|
|
44
|
-
|
|
45
|
-
5. Identify changed files from refactorer context -- read ONLY files modified by this branch/pipeline
|
|
46
|
-
6. If validation results available, read from scoped path:
|
|
47
|
-
- Single: `<session>/artifacts/validation-results.json`
|
|
48
|
-
- Fan-out: `<session>/artifacts/branches/B{NN}/validation-results.json`
|
|
49
|
-
- Independent: `<session>/artifacts/pipelines/{P}/validation-results.json`
|
|
50
|
-
|
|
51
|
-
## Phase 3: Multi-Dimension Review
|
|
52
|
-
|
|
53
|
-
Analyze refactoring changes across five dimensions:
|
|
54
|
-
|
|
55
|
-
| Dimension | Focus | Severity |
|
|
56
|
-
|-----------|-------|----------|
|
|
57
|
-
| Correctness | No behavior changes, all references updated, no dangling imports | Critical |
|
|
58
|
-
| Pattern consistency | Follows existing patterns, naming consistent, language-idiomatic | High |
|
|
59
|
-
| Completeness | All related code updated (imports, tests, config, documentation) | High |
|
|
60
|
-
| Migration safety | No dangling references, backward compatible, public API preserved | Critical |
|
|
61
|
-
| Best practices | Clean Architecture / SOLID principles, appropriate abstraction level | Medium |
|
|
62
|
-
|
|
63
|
-
Per-dimension review process:
|
|
64
|
-
- Scan modified files for patterns matching each dimension
|
|
65
|
-
- Record findings with severity (Critical / High / Medium / Low)
|
|
66
|
-
- Include specific file:line references and suggested fixes
|
|
67
|
-
|
|
68
|
-
**Correctness checks**:
|
|
69
|
-
- Verify moved code preserves original behavior (no logic changes mixed with structural changes)
|
|
70
|
-
- Check all import/require statements updated to new paths
|
|
71
|
-
- Verify no orphaned files left behind after moves
|
|
72
|
-
|
|
73
|
-
**Pattern consistency checks**:
|
|
74
|
-
- New module names follow existing naming conventions
|
|
75
|
-
- Extracted interfaces/classes use consistent patterns with existing codebase
|
|
76
|
-
- File organization matches project conventions (e.g., index files, barrel exports)
|
|
77
|
-
|
|
78
|
-
**Completeness checks**:
|
|
79
|
-
- All test files updated for moved/renamed modules
|
|
80
|
-
- Configuration files updated if needed (e.g., path aliases, build configs)
|
|
81
|
-
- Type definitions updated for extracted interfaces
|
|
82
|
-
|
|
83
|
-
**Migration safety checks**:
|
|
84
|
-
- Public API surface unchanged (same exports available to consumers)
|
|
85
|
-
- No circular dependencies introduced by the refactoring
|
|
86
|
-
- Re-exports in place if module paths changed for backward compatibility
|
|
87
|
-
|
|
88
|
-
**Best practices checks**:
|
|
89
|
-
- Extracted modules have clear single responsibility
|
|
90
|
-
- Dependency direction follows layer conventions (dependencies flow inward)
|
|
91
|
-
- Appropriate abstraction level (not over-engineered, not under-abstracted)
|
|
92
|
-
|
|
93
|
-
If any Critical findings detected, invoke `discuss` CLI tool (DISCUSS-REVIEW round) to validate the assessment before issuing verdict.
|
|
94
|
-
|
|
95
|
-
## Phase 4: Verdict & Feedback
|
|
96
|
-
|
|
97
|
-
Classify overall verdict based on findings:
|
|
98
|
-
|
|
99
|
-
| Verdict | Condition | Action |
|
|
100
|
-
|---------|-----------|--------|
|
|
101
|
-
| APPROVE | No Critical or High findings | Send review_complete |
|
|
102
|
-
| REVISE | Has High findings, no Critical | Send fix_required with detailed feedback |
|
|
103
|
-
| REJECT | Has Critical findings or fundamental approach flaw | Send fix_required + flag for designer escalation |
|
|
104
|
-
|
|
105
|
-
1. Write review report to scoped output path:
|
|
106
|
-
- Single: `<session>/artifacts/review-report.md`
|
|
107
|
-
- Fan-out: `<session>/artifacts/branches/B{NN}/review-report.md`
|
|
108
|
-
- Independent: `<session>/artifacts/pipelines/{P}/review-report.md`
|
|
109
|
-
- Content: Per-dimension findings with severity, file:line, description; Overall verdict with rationale; Specific fix instructions for REVISE/REJECT verdicts
|
|
110
|
-
|
|
111
|
-
2. Update `<session>/wisdom/.msg/meta.json` under scoped namespace:
|
|
112
|
-
- Single: merge `{ "reviewer": { verdict, finding_count, critical_count, dimensions_reviewed } }`
|
|
113
|
-
- Fan-out: merge `{ "reviewer.B{NN}": { verdict, finding_count, critical_count, dimensions_reviewed } }`
|
|
114
|
-
- Independent: merge `{ "reviewer.{P}": { verdict, finding_count, critical_count, dimensions_reviewed } }`
|
|
115
|
-
|
|
116
|
-
3. If DISCUSS-REVIEW was triggered, record discussion summary in `<session>/discussions/DISCUSS-REVIEW.md` (or `DISCUSS-REVIEW-B{NN}.md` for branch-scoped discussions)
|