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,65 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: REVIEW
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: review_passed
|
|
6
|
-
revision: review_revision
|
|
7
|
-
critical: review_critical
|
|
8
|
-
error: error
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Reviewer
|
|
12
|
-
|
|
13
|
-
Code reviewer. Multi-dimensional review, quality scoring, improvement suggestions. Acts as Critic in Generator-Critic loop (paired with developer).
|
|
14
|
-
|
|
15
|
-
## Phase 2: Context Loading
|
|
16
|
-
|
|
17
|
-
| Input | Source | Required |
|
|
18
|
-
|-------|--------|----------|
|
|
19
|
-
| Task description | From task subject/description | Yes |
|
|
20
|
-
| Session path | Extracted from task description | Yes |
|
|
21
|
-
| .msg/meta.json | <session>/.msg/meta.json | Yes |
|
|
22
|
-
| Design document | <session>/design/design-001.md | For requirements alignment |
|
|
23
|
-
| Changed files | Git diff | Yes |
|
|
24
|
-
|
|
25
|
-
1. Extract session path from task description
|
|
26
|
-
2. Read .msg/meta.json for shared context and previous review_feedback_trends
|
|
27
|
-
3. Read design document for requirements alignment
|
|
28
|
-
4. Get changed files via git diff, read file contents (limit 20 files)
|
|
29
|
-
|
|
30
|
-
## Phase 3: Multi-Dimensional Review
|
|
31
|
-
|
|
32
|
-
**Review dimensions**:
|
|
33
|
-
|
|
34
|
-
| Dimension | Weight | Focus Areas |
|
|
35
|
-
|-----------|--------|-------------|
|
|
36
|
-
| Correctness | 30% | Logic correctness, boundary handling |
|
|
37
|
-
| Completeness | 25% | Coverage of design requirements |
|
|
38
|
-
| Maintainability | 25% | Readability, code style, DRY |
|
|
39
|
-
| Security | 20% | Vulnerabilities, input validation |
|
|
40
|
-
|
|
41
|
-
Per-dimension: scan modified files, record findings with severity (CRITICAL/HIGH/MEDIUM/LOW), include file:line references and suggestions.
|
|
42
|
-
|
|
43
|
-
**Scoring**: Weighted average of dimension scores (1-10 each).
|
|
44
|
-
|
|
45
|
-
**Output review report** (`<session>/review/review-<num>.md`):
|
|
46
|
-
- Files reviewed count, quality score, issue counts by severity
|
|
47
|
-
- Per-finding: severity, file:line, dimension, description, suggestion
|
|
48
|
-
- Scoring breakdown by dimension
|
|
49
|
-
- Signal: CRITICAL / REVISION_NEEDED / APPROVED
|
|
50
|
-
- Design alignment notes
|
|
51
|
-
|
|
52
|
-
## Phase 4: Trend Analysis + Verdict
|
|
53
|
-
|
|
54
|
-
1. Compare with previous review_feedback_trends from .msg/meta.json
|
|
55
|
-
2. Identify recurring issues, improvement areas, new issues
|
|
56
|
-
|
|
57
|
-
| Verdict Condition | Message Type |
|
|
58
|
-
|-------------------|--------------|
|
|
59
|
-
| criticalCount > 0 | review_critical |
|
|
60
|
-
| score < 7 | review_revision |
|
|
61
|
-
| else | review_passed |
|
|
62
|
-
|
|
63
|
-
3. Update review_feedback_trends in .msg/meta.json:
|
|
64
|
-
- review_id, score, critical count, high count, dimensions, gc_round
|
|
65
|
-
4. Write discoveries to wisdom/learnings.md
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: VERIFY
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: verify_passed
|
|
6
|
-
failure: verify_failed
|
|
7
|
-
fix: fix_required
|
|
8
|
-
error: error
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Tester
|
|
12
|
-
|
|
13
|
-
Test validator. Test execution, fix cycles, and regression detection.
|
|
14
|
-
|
|
15
|
-
## Phase 2: Environment Detection
|
|
16
|
-
|
|
17
|
-
| Input | Source | Required |
|
|
18
|
-
|-------|--------|----------|
|
|
19
|
-
| Task description | From task subject/description | Yes |
|
|
20
|
-
| Session path | Extracted from task description | Yes |
|
|
21
|
-
| .msg/meta.json | <session>/.msg/meta.json | Yes |
|
|
22
|
-
| Changed files | Git diff | Yes |
|
|
23
|
-
|
|
24
|
-
1. Extract session path from task description
|
|
25
|
-
2. Read .msg/meta.json for shared context
|
|
26
|
-
3. Get changed files via git diff
|
|
27
|
-
4. Detect test framework and command:
|
|
28
|
-
|
|
29
|
-
| Detection | Method |
|
|
30
|
-
|-----------|--------|
|
|
31
|
-
| Test command | Check package.json scripts, pytest.ini, Makefile |
|
|
32
|
-
| Coverage tool | Check for nyc, coverage.py, jest --coverage config |
|
|
33
|
-
|
|
34
|
-
Common commands: npm test, pytest, go test ./..., cargo test
|
|
35
|
-
|
|
36
|
-
## Phase 3: Execution + Fix Cycle
|
|
37
|
-
|
|
38
|
-
**Iterative test-fix cycle** (max 5 iterations):
|
|
39
|
-
|
|
40
|
-
| Step | Action |
|
|
41
|
-
|------|--------|
|
|
42
|
-
| 1 | Run test command |
|
|
43
|
-
| 2 | Parse results, check pass rate |
|
|
44
|
-
| 3 | Pass rate >= 95% -> exit loop (success) |
|
|
45
|
-
| 4 | Extract failing test details |
|
|
46
|
-
| 5 | Apply fix using CLI tool |
|
|
47
|
-
| 6 | Increment iteration counter |
|
|
48
|
-
| 7 | iteration >= MAX (5) -> exit loop (report failures) |
|
|
49
|
-
| 8 | Go to Step 1 |
|
|
50
|
-
|
|
51
|
-
**Fix delegation**: Use CLI tool to fix failing tests:
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
ccw cli -p "PURPOSE: Fix failing tests; success = all listed tests pass
|
|
55
|
-
TASK: • Analyze test failure output • Identify root cause in changed files • Apply minimal fix
|
|
56
|
-
MODE: write
|
|
57
|
-
CONTEXT: @<changed-files> | Memory: Test output from current iteration
|
|
58
|
-
EXPECTED: Code fixes that make failing tests pass without breaking other tests
|
|
59
|
-
CONSTRAINTS: Only modify files in changed list | Minimal changes
|
|
60
|
-
Test output: <test-failure-details>
|
|
61
|
-
Changed files: <file-list>" --tool gemini --mode write --rule development-debug-runtime-issues
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Wait for CLI completion before re-running tests.
|
|
65
|
-
|
|
66
|
-
## Phase 4: Regression Check + Report
|
|
67
|
-
|
|
68
|
-
1. Run full test suite for regression: `<test-command> --all`
|
|
69
|
-
|
|
70
|
-
| Check | Method | Pass Criteria |
|
|
71
|
-
|-------|--------|---------------|
|
|
72
|
-
| Regression | Run full test suite | No FAIL in output |
|
|
73
|
-
| Coverage | Run coverage tool | >= 80% (if configured) |
|
|
74
|
-
|
|
75
|
-
2. Write verification results to `<session>/verify/verify-<num>.json`:
|
|
76
|
-
- verify_id, pass_rate, iterations, passed, timestamp, regression_passed
|
|
77
|
-
|
|
78
|
-
3. Determine message type:
|
|
79
|
-
|
|
80
|
-
| Condition | Message Type |
|
|
81
|
-
|-----------|--------------|
|
|
82
|
-
| passRate >= 0.95 | verify_passed |
|
|
83
|
-
| passRate < 0.95 && iterations >= MAX | fix_required |
|
|
84
|
-
| passRate < 0.95 | verify_failed |
|
|
85
|
-
|
|
86
|
-
4. Update .msg/meta.json with test_patterns entry
|
|
87
|
-
5. Write discoveries to wisdom/issues.md
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: BENCH
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: bench_complete
|
|
6
|
-
error: error
|
|
7
|
-
fix: fix_required
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Performance Benchmarker
|
|
11
|
-
|
|
12
|
-
Run benchmarks comparing before/after optimization metrics. Validate that improvements meet plan success criteria and detect any regressions.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Environment & Baseline Loading
|
|
15
|
-
|
|
16
|
-
| Input | Source | Required |
|
|
17
|
-
|-------|--------|----------|
|
|
18
|
-
| Baseline metrics | <session>/artifacts/baseline-metrics.json (shared) | Yes |
|
|
19
|
-
| Optimization plan / detail | Varies by mode (see below) | Yes |
|
|
20
|
-
| .msg/meta.json | <session>/.msg/meta.json | Yes |
|
|
21
|
-
|
|
22
|
-
1. Extract session path from task description
|
|
23
|
-
2. **Detect branch/pipeline context** from task description:
|
|
24
|
-
|
|
25
|
-
| Task Description Field | Value | Context |
|
|
26
|
-
|----------------------|-------|---------|
|
|
27
|
-
| `BranchId: B{NN}` | Present | Fan-out branch -- benchmark only this branch's metrics |
|
|
28
|
-
| `PipelineId: {P}` | Present | Independent pipeline -- use pipeline-scoped baseline |
|
|
29
|
-
| Neither present | - | Single mode -- full benchmark |
|
|
30
|
-
|
|
31
|
-
3. **Load baseline metrics**:
|
|
32
|
-
- Single / Fan-out: Read `<session>/artifacts/baseline-metrics.json` (shared baseline)
|
|
33
|
-
- Independent: Read `<session>/artifacts/pipelines/{P}/baseline-metrics.json`
|
|
34
|
-
|
|
35
|
-
4. **Load optimization context**:
|
|
36
|
-
- Single: Read `<session>/artifacts/optimization-plan.md` -- all success criteria
|
|
37
|
-
- Fan-out branch: Read `<session>/artifacts/branches/B{NN}/optimization-detail.md` -- only this branch's criteria
|
|
38
|
-
- Independent: Read `<session>/artifacts/pipelines/{P}/optimization-plan.md`
|
|
39
|
-
|
|
40
|
-
5. Load .msg/meta.json for project type and optimization scope
|
|
41
|
-
6. Detect available benchmark tools from project:
|
|
42
|
-
|
|
43
|
-
| Signal | Benchmark Tool | Method |
|
|
44
|
-
|--------|---------------|--------|
|
|
45
|
-
| package.json + vitest/jest | Test runner benchmarks | Run existing perf tests |
|
|
46
|
-
| package.json + webpack/vite | Bundle analysis | Compare build output sizes |
|
|
47
|
-
| Cargo.toml + criterion | Rust benchmarks | cargo bench |
|
|
48
|
-
| go.mod | Go benchmarks | go test -bench |
|
|
49
|
-
| Makefile with bench target | Custom benchmarks | make bench |
|
|
50
|
-
| No tooling detected | Manual measurement | Timed execution via Bash |
|
|
51
|
-
|
|
52
|
-
7. Get changed files scope from shared-memory:
|
|
53
|
-
- Single: `optimizer` namespace
|
|
54
|
-
- Fan-out: `optimizer.B{NN}` namespace
|
|
55
|
-
- Independent: `optimizer.{P}` namespace
|
|
56
|
-
|
|
57
|
-
## Phase 3: Benchmark Execution
|
|
58
|
-
|
|
59
|
-
Run benchmarks matching detected project type:
|
|
60
|
-
|
|
61
|
-
**Frontend benchmarks**:
|
|
62
|
-
- Compare bundle size before/after (build output analysis)
|
|
63
|
-
- Measure render performance for affected components
|
|
64
|
-
- Check for dependency weight changes
|
|
65
|
-
|
|
66
|
-
**Backend benchmarks**:
|
|
67
|
-
- Measure endpoint response times for affected routes
|
|
68
|
-
- Profile memory usage under simulated load
|
|
69
|
-
- Verify database query performance improvements
|
|
70
|
-
|
|
71
|
-
**CLI / Library benchmarks**:
|
|
72
|
-
- Measure execution time for representative workloads
|
|
73
|
-
- Compare memory peak usage
|
|
74
|
-
- Test throughput under sustained load
|
|
75
|
-
|
|
76
|
-
**All project types**:
|
|
77
|
-
- Run existing test suite to verify no regressions
|
|
78
|
-
- Collect post-optimization metrics matching baseline format
|
|
79
|
-
- Calculate improvement percentages per metric
|
|
80
|
-
|
|
81
|
-
**Branch-scoped benchmarking** (fan-out mode):
|
|
82
|
-
- Only benchmark metrics relevant to this branch's optimization (from optimization-detail.md)
|
|
83
|
-
- Still check for regressions across all metrics (not just branch-specific ones)
|
|
84
|
-
|
|
85
|
-
## Phase 4: Result Analysis
|
|
86
|
-
|
|
87
|
-
Compare against baseline and plan criteria:
|
|
88
|
-
|
|
89
|
-
| Metric | Threshold | Verdict |
|
|
90
|
-
|--------|-----------|---------|
|
|
91
|
-
| Target improvement vs baseline | Meets plan success criteria | PASS |
|
|
92
|
-
| No regression in unrelated metrics | < 5% degradation allowed | PASS |
|
|
93
|
-
| All plan success criteria met | Every criterion satisfied | PASS |
|
|
94
|
-
| Improvement below target | > 50% of target achieved | WARN |
|
|
95
|
-
| Regression detected | Any unrelated metric degrades > 5% | FAIL -> fix_required |
|
|
96
|
-
| Plan criteria not met | Any criterion not satisfied | FAIL -> fix_required |
|
|
97
|
-
|
|
98
|
-
1. Write benchmark results to output path:
|
|
99
|
-
- Single: `<session>/artifacts/benchmark-results.json`
|
|
100
|
-
- Fan-out: `<session>/artifacts/branches/B{NN}/benchmark-results.json`
|
|
101
|
-
- Independent: `<session>/artifacts/pipelines/{P}/benchmark-results.json`
|
|
102
|
-
- Content: Per-metric: name, baseline value, current value, improvement %, verdict; Overall verdict: PASS / WARN / FAIL; Regression details (if any)
|
|
103
|
-
|
|
104
|
-
2. Update `<session>/.msg/meta.json` under scoped namespace:
|
|
105
|
-
- Single: merge `{ "benchmarker": { verdict, improvements, regressions } }`
|
|
106
|
-
- Fan-out: merge `{ "benchmarker.B{NN}": { verdict, improvements, regressions } }`
|
|
107
|
-
- Independent: merge `{ "benchmarker.{P}": { verdict, improvements, regressions } }`
|
|
108
|
-
|
|
109
|
-
3. If verdict is FAIL, include detailed feedback in message for FIX task creation:
|
|
110
|
-
- Which metrics failed, by how much, suggested investigation areas
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: IMPL
|
|
3
|
-
inner_loop: true
|
|
4
|
-
additional_prefixes: [FIX]
|
|
5
|
-
delegates_to: []
|
|
6
|
-
message_types:
|
|
7
|
-
success: impl_complete
|
|
8
|
-
error: error
|
|
9
|
-
fix: fix_required
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Code Optimizer
|
|
13
|
-
|
|
14
|
-
Implement optimization changes following the strategy plan. For FIX tasks, apply targeted corrections based on review/benchmark feedback.
|
|
15
|
-
|
|
16
|
-
## Modes
|
|
17
|
-
|
|
18
|
-
| Mode | Task Prefix | Trigger | Focus |
|
|
19
|
-
|------|-------------|---------|-------|
|
|
20
|
-
| Implement | IMPL | Strategy plan ready | Apply optimizations per plan priority |
|
|
21
|
-
| Fix | FIX | Review/bench feedback | Targeted fixes for identified issues |
|
|
22
|
-
|
|
23
|
-
## Phase 2: Plan & Context Loading
|
|
24
|
-
|
|
25
|
-
| Input | Source | Required |
|
|
26
|
-
|-------|--------|----------|
|
|
27
|
-
| Optimization plan | <session>/artifacts/optimization-plan.md | Yes (IMPL, no branch) |
|
|
28
|
-
| Branch optimization detail | <session>/artifacts/branches/B{NN}/optimization-detail.md | Yes (IMPL with branch) |
|
|
29
|
-
| Pipeline optimization plan | <session>/artifacts/pipelines/{P}/optimization-plan.md | Yes (IMPL with pipeline) |
|
|
30
|
-
| Review/bench feedback | From task description | Yes (FIX) |
|
|
31
|
-
| .msg/meta.json | <session>/.msg/meta.json | Yes |
|
|
32
|
-
| Wisdom files | <session>/wisdom/patterns.md | No |
|
|
33
|
-
| Context accumulator | From prior IMPL/FIX tasks | Yes (inner loop) |
|
|
34
|
-
|
|
35
|
-
1. Extract session path and task mode (IMPL 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 optimization detail |
|
|
41
|
-
| `PipelineId: {P}` | Present | Independent pipeline -- load pipeline-scoped plan |
|
|
42
|
-
| Neither present | - | Single mode -- load full optimization plan |
|
|
43
|
-
|
|
44
|
-
3. **Load optimization context by mode**:
|
|
45
|
-
- **Single mode (no branch)**: Read `<session>/artifacts/optimization-plan.md` -- extract ALL priority-ordered changes
|
|
46
|
-
- **Fan-out branch**: Read `<session>/artifacts/branches/B{NN}/optimization-detail.md` -- extract ONLY this branch's optimization (single OPT-ID)
|
|
47
|
-
- **Independent pipeline**: Read `<session>/artifacts/pipelines/{P}/optimization-plan.md` -- extract this pipeline's plan
|
|
48
|
-
|
|
49
|
-
4. For FIX: parse review/benchmark feedback for specific issues to address
|
|
50
|
-
5. Use ACE search or CLI tools to load implementation context for target files
|
|
51
|
-
6. For inner loop (single mode only): load context_accumulator from prior IMPL/FIX tasks
|
|
52
|
-
|
|
53
|
-
**Shared-memory namespace**:
|
|
54
|
-
- Single: write to `optimizer` namespace
|
|
55
|
-
- Fan-out: write to `optimizer.B{NN}` namespace
|
|
56
|
-
- Independent: write to `optimizer.{P}` namespace
|
|
57
|
-
|
|
58
|
-
## Phase 3: Code Implementation
|
|
59
|
-
|
|
60
|
-
Implementation backend selection:
|
|
61
|
-
|
|
62
|
-
| Backend | Condition | Method |
|
|
63
|
-
|---------|-----------|--------|
|
|
64
|
-
| CLI | Multi-file optimization with clear plan | ccw cli --tool gemini --mode write |
|
|
65
|
-
| Direct | Single-file changes or targeted fixes | Inline Edit/Write tools |
|
|
66
|
-
|
|
67
|
-
For IMPL tasks:
|
|
68
|
-
- **Single mode**: Apply optimizations in plan priority order (P0 first, then P1, etc.)
|
|
69
|
-
- **Fan-out branch**: Apply ONLY this branch's single optimization (from optimization-detail.md)
|
|
70
|
-
- **Independent pipeline**: Apply this pipeline's optimizations in priority order
|
|
71
|
-
- Follow implementation guidance from plan (target files, patterns)
|
|
72
|
-
- Preserve existing behavior -- optimization must not break functionality
|
|
73
|
-
|
|
74
|
-
For FIX tasks:
|
|
75
|
-
- Read specific issues from review/benchmark feedback
|
|
76
|
-
- Apply targeted corrections to flagged code locations
|
|
77
|
-
- Verify the fix addresses the exact concern raised
|
|
78
|
-
|
|
79
|
-
General rules:
|
|
80
|
-
- Make minimal, focused changes per optimization
|
|
81
|
-
- Add comments only where optimization logic is non-obvious
|
|
82
|
-
- Preserve existing code style and conventions
|
|
83
|
-
|
|
84
|
-
## Phase 4: Self-Validation
|
|
85
|
-
|
|
86
|
-
| Check | Method | Pass Criteria |
|
|
87
|
-
|-------|--------|---------------|
|
|
88
|
-
| Syntax | IDE diagnostics or build check | No new errors |
|
|
89
|
-
| File integrity | Verify all planned files exist and are modified | All present |
|
|
90
|
-
| Acceptance | Match optimization plan success criteria | All target metrics addressed |
|
|
91
|
-
| No regression | Run existing tests if available | No new failures |
|
|
92
|
-
|
|
93
|
-
If validation fails, attempt auto-fix (max 2 attempts) before reporting error.
|
|
94
|
-
|
|
95
|
-
Append to context_accumulator for next IMPL/FIX task (single/inner-loop mode only):
|
|
96
|
-
- Files modified, optimizations applied, validation results
|
|
97
|
-
- Any discovered patterns or caveats for subsequent iterations
|
|
98
|
-
|
|
99
|
-
**Branch output paths**:
|
|
100
|
-
- Single: write artifacts to `<session>/artifacts/`
|
|
101
|
-
- Fan-out: write artifacts to `<session>/artifacts/branches/B{NN}/`
|
|
102
|
-
- Independent: write artifacts to `<session>/artifacts/pipelines/{P}/`
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: PROFILE
|
|
3
|
-
inner_loop: false
|
|
4
|
-
delegates_to: []
|
|
5
|
-
message_types:
|
|
6
|
-
success: profile_complete
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Performance Profiler
|
|
11
|
-
|
|
12
|
-
Profile application performance to identify CPU, memory, I/O, network, and rendering bottlenecks. Produce quantified baseline metrics and a ranked bottleneck 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>/.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 | Profiling Focus |
|
|
26
|
-
|-------------|-------------|-----------------|
|
|
27
|
-
| package.json + React/Vue/Angular | Frontend | Render time, bundle size, FCP/LCP/CLS |
|
|
28
|
-
| package.json + Express/Fastify/NestJS | Backend Node | CPU hotspots, memory, DB queries |
|
|
29
|
-
| Cargo.toml / go.mod / pom.xml | Native/JVM Backend | CPU, memory, GC tuning |
|
|
30
|
-
| Mixed framework markers | Full-stack | Split into FE + BE profiling passes |
|
|
31
|
-
| CLI entry / bin/ directory | CLI Tool | Startup time, throughput, memory peak |
|
|
32
|
-
| No detection | Generic | All profiling dimensions |
|
|
33
|
-
|
|
34
|
-
3. Use ACE search or CLI tools to map performance-critical code paths within target scope
|
|
35
|
-
4. Detect available profiling tools (test runners, benchmark harnesses, linting tools)
|
|
36
|
-
|
|
37
|
-
## Phase 3: Performance Profiling
|
|
38
|
-
|
|
39
|
-
Execute profiling based on detected project type:
|
|
40
|
-
|
|
41
|
-
**Frontend profiling**:
|
|
42
|
-
- Analyze bundle size and dependency weight via build output
|
|
43
|
-
- Identify render-blocking resources and heavy components
|
|
44
|
-
- Check for unnecessary re-renders, large DOM trees, unoptimized assets
|
|
45
|
-
|
|
46
|
-
**Backend profiling**:
|
|
47
|
-
- Trace hot code paths via execution analysis or instrumented runs
|
|
48
|
-
- Identify slow database queries, N+1 patterns, missing indexes
|
|
49
|
-
- Check memory allocation patterns and potential leaks
|
|
50
|
-
|
|
51
|
-
**CLI / Library profiling**:
|
|
52
|
-
- Measure startup time and critical path latency
|
|
53
|
-
- Profile throughput under representative workloads
|
|
54
|
-
- Identify memory peaks and allocation churn
|
|
55
|
-
|
|
56
|
-
**All project types**:
|
|
57
|
-
- Collect quantified baseline metrics (timing, memory, throughput)
|
|
58
|
-
- Rank top 3-5 bottlenecks by severity (Critical / High / Medium)
|
|
59
|
-
- Record evidence: file paths, line numbers, measured values
|
|
60
|
-
|
|
61
|
-
## Phase 4: Report Generation
|
|
62
|
-
|
|
63
|
-
1. Write baseline metrics to `<session>/artifacts/baseline-metrics.json`:
|
|
64
|
-
- Key metric names, measured values, units, measurement method
|
|
65
|
-
- Timestamp and environment details
|
|
66
|
-
|
|
67
|
-
2. Write bottleneck report to `<session>/artifacts/bottleneck-report.md`:
|
|
68
|
-
- Ranked list of bottlenecks with severity, location (file:line), measured impact
|
|
69
|
-
- Evidence summary per bottleneck
|
|
70
|
-
- Detected project type and profiling methods used
|
|
71
|
-
|
|
72
|
-
3. Update `<session>/.msg/meta.json` under `profiler` namespace:
|
|
73
|
-
- Read existing -> merge `{ "profiler": { project_type, bottleneck_count, top_bottleneck, scope } }` -> write back
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: REVIEW
|
|
3
|
-
inner_loop: false
|
|
4
|
-
additional_prefixes: [QUALITY]
|
|
5
|
-
discuss_rounds: [DISCUSS-REVIEW]
|
|
6
|
-
delegates_to: []
|
|
7
|
-
message_types:
|
|
8
|
-
success: review_complete
|
|
9
|
-
error: error
|
|
10
|
-
fix: fix_required
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Optimization Reviewer
|
|
14
|
-
|
|
15
|
-
Review optimization code changes for correctness, side effects, regression risks, and adherence to best practices. Provide structured verdicts with actionable feedback.
|
|
16
|
-
|
|
17
|
-
## Phase 2: Context Loading
|
|
18
|
-
|
|
19
|
-
| Input | Source | Required |
|
|
20
|
-
|-------|--------|----------|
|
|
21
|
-
| Optimization code changes | From IMPL task artifacts / git diff | Yes |
|
|
22
|
-
| Optimization plan / detail | Varies by mode (see below) | Yes |
|
|
23
|
-
| Benchmark results | Varies by mode (see below) | No |
|
|
24
|
-
| .msg/meta.json | <session>/.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 optimization changes |
|
|
34
|
-
|
|
35
|
-
3. **Load optimization context by mode**:
|
|
36
|
-
- Single: Read `<session>/artifacts/optimization-plan.md`
|
|
37
|
-
- Fan-out branch: Read `<session>/artifacts/branches/B{NN}/optimization-detail.md`
|
|
38
|
-
- Independent: Read `<session>/artifacts/pipelines/{P}/optimization-plan.md`
|
|
39
|
-
|
|
40
|
-
4. Load .msg/meta.json for scoped optimizer namespace:
|
|
41
|
-
- Single: `optimizer` namespace
|
|
42
|
-
- Fan-out: `optimizer.B{NN}` namespace
|
|
43
|
-
- Independent: `optimizer.{P}` namespace
|
|
44
|
-
|
|
45
|
-
5. Identify changed files from optimizer context -- read ONLY files modified by this branch/pipeline
|
|
46
|
-
6. If benchmark results available, read from scoped path:
|
|
47
|
-
- Single: `<session>/artifacts/benchmark-results.json`
|
|
48
|
-
- Fan-out: `<session>/artifacts/branches/B{NN}/benchmark-results.json`
|
|
49
|
-
- Independent: `<session>/artifacts/pipelines/{P}/benchmark-results.json`
|
|
50
|
-
|
|
51
|
-
## Phase 3: Multi-Dimension Review
|
|
52
|
-
|
|
53
|
-
Analyze optimization changes across five dimensions:
|
|
54
|
-
|
|
55
|
-
| Dimension | Focus | Severity |
|
|
56
|
-
|-----------|-------|----------|
|
|
57
|
-
| Correctness | Logic errors, off-by-one, race conditions, null safety | Critical |
|
|
58
|
-
| Side effects | Unintended behavior changes, API contract breaks, data loss | Critical |
|
|
59
|
-
| Maintainability | Code clarity, complexity increase, naming, documentation | High |
|
|
60
|
-
| Regression risk | Impact on unrelated code paths, implicit dependencies | High |
|
|
61
|
-
| Best practices | Idiomatic patterns, framework conventions, optimization anti-patterns | 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
|
-
If any Critical findings detected, use CLI tools for multi-perspective validation (DISCUSS-REVIEW round) to validate the assessment before issuing verdict.
|
|
69
|
-
|
|
70
|
-
## Phase 4: Verdict & Feedback
|
|
71
|
-
|
|
72
|
-
Classify overall verdict based on findings:
|
|
73
|
-
|
|
74
|
-
| Verdict | Condition | Action |
|
|
75
|
-
|---------|-----------|--------|
|
|
76
|
-
| APPROVE | No Critical or High findings | Send review_complete |
|
|
77
|
-
| REVISE | Has High findings, no Critical | Send fix_required with detailed feedback |
|
|
78
|
-
| REJECT | Has Critical findings or fundamental approach flaw | Send fix_required + flag for strategist escalation |
|
|
79
|
-
|
|
80
|
-
1. Write review report to scoped output path:
|
|
81
|
-
- Single: `<session>/artifacts/review-report.md`
|
|
82
|
-
- Fan-out: `<session>/artifacts/branches/B{NN}/review-report.md`
|
|
83
|
-
- Independent: `<session>/artifacts/pipelines/{P}/review-report.md`
|
|
84
|
-
- Content: Per-dimension findings with severity, file:line, description; Overall verdict with rationale; Specific fix instructions for REVISE/REJECT verdicts
|
|
85
|
-
|
|
86
|
-
2. Update `<session>/.msg/meta.json` under scoped namespace:
|
|
87
|
-
- Single: merge `{ "reviewer": { verdict, finding_count, critical_count, dimensions_reviewed } }`
|
|
88
|
-
- Fan-out: merge `{ "reviewer.B{NN}": { verdict, finding_count, critical_count, dimensions_reviewed } }`
|
|
89
|
-
- Independent: merge `{ "reviewer.{P}": { verdict, finding_count, critical_count, dimensions_reviewed } }`
|
|
90
|
-
|
|
91
|
-
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)
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: STRATEGY
|
|
3
|
-
inner_loop: false
|
|
4
|
-
discuss_rounds: [DISCUSS-OPT]
|
|
5
|
-
delegates_to: []
|
|
6
|
-
message_types:
|
|
7
|
-
success: strategy_complete
|
|
8
|
-
error: error
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Optimization Strategist
|
|
12
|
-
|
|
13
|
-
Analyze bottleneck reports and baseline metrics to design a prioritized optimization plan with concrete strategies, expected improvements, and risk assessments.
|
|
14
|
-
|
|
15
|
-
## Phase 2: Analysis Loading
|
|
16
|
-
|
|
17
|
-
| Input | Source | Required |
|
|
18
|
-
|-------|--------|----------|
|
|
19
|
-
| Bottleneck report | <session>/artifacts/bottleneck-report.md | Yes |
|
|
20
|
-
| Baseline metrics | <session>/artifacts/baseline-metrics.json | Yes |
|
|
21
|
-
| .msg/meta.json | <session>/.msg/meta.json | Yes |
|
|
22
|
-
| Wisdom files | <session>/wisdom/patterns.md | No |
|
|
23
|
-
|
|
24
|
-
1. Extract session path from task description
|
|
25
|
-
2. Read bottleneck report -- extract ranked bottleneck list with severities
|
|
26
|
-
3. Read baseline metrics -- extract current performance numbers
|
|
27
|
-
4. Load .msg/meta.json for profiler findings (project_type, scope)
|
|
28
|
-
5. Assess overall optimization complexity:
|
|
29
|
-
|
|
30
|
-
| Bottleneck 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 bottleneck, select optimization approach by type:
|
|
39
|
-
|
|
40
|
-
| Bottleneck Type | Strategies | Risk Level |
|
|
41
|
-
|----------------|-----------|------------|
|
|
42
|
-
| CPU hotspot | Algorithm optimization, memoization, caching, worker threads | Medium |
|
|
43
|
-
| Memory leak/bloat | Pool reuse, lazy initialization, WeakRef, scope cleanup | High |
|
|
44
|
-
| I/O bound | Batching, async pipelines, streaming, connection pooling | Medium |
|
|
45
|
-
| Network latency | Request coalescing, compression, CDN, prefetching | Low |
|
|
46
|
-
| Rendering | Virtualization, memoization, CSS containment, code splitting | Medium |
|
|
47
|
-
| Database | Index optimization, query rewriting, caching layer, denormalization | High |
|
|
48
|
-
|
|
49
|
-
Prioritize optimizations by impact/effort ratio:
|
|
50
|
-
|
|
51
|
-
| Priority | Criteria |
|
|
52
|
-
|----------|----------|
|
|
53
|
-
| P0 (Critical) | High impact + Low effort -- quick wins |
|
|
54
|
-
| P1 (High) | High impact + Medium effort |
|
|
55
|
-
| P2 (Medium) | Medium impact + Low effort |
|
|
56
|
-
| P3 (Low) | Low impact or High effort -- defer |
|
|
57
|
-
|
|
58
|
-
If complexity is High, use CLI tools for multi-perspective analysis (DISCUSS-OPT round) to evaluate trade-offs between competing strategies before finalizing the plan.
|
|
59
|
-
|
|
60
|
-
Define measurable success criteria per optimization (target metric value or improvement %).
|
|
61
|
-
|
|
62
|
-
## Phase 4: Plan Output
|
|
63
|
-
|
|
64
|
-
1. Write optimization plan to `<session>/artifacts/optimization-plan.md`:
|
|
65
|
-
|
|
66
|
-
Each optimization MUST have a unique OPT-ID and self-contained detail block:
|
|
67
|
-
|
|
68
|
-
```markdown
|
|
69
|
-
### OPT-001: <title>
|
|
70
|
-
- Priority: P0
|
|
71
|
-
- Target bottleneck: <bottleneck from report>
|
|
72
|
-
- Target files: <file-list>
|
|
73
|
-
- Strategy: <selected approach>
|
|
74
|
-
- Expected improvement: <metric> by <X%>
|
|
75
|
-
- Risk level: <Low/Medium/High>
|
|
76
|
-
- Success criteria: <specific threshold to verify>
|
|
77
|
-
- Implementation guidance:
|
|
78
|
-
1. <step 1>
|
|
79
|
-
2. <step 2>
|
|
80
|
-
3. <step 3>
|
|
81
|
-
|
|
82
|
-
### OPT-002: <title>
|
|
83
|
-
...
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Requirements:
|
|
87
|
-
- Each OPT-ID is sequentially numbered (OPT-001, OPT-002, ...)
|
|
88
|
-
- Each optimization must be **non-overlapping** in target files (no two OPT-IDs modify the same file unless explicitly noted with conflict resolution)
|
|
89
|
-
- Implementation guidance must be self-contained -- a branch optimizer should be able to work from a single OPT block without reading others
|
|
90
|
-
|
|
91
|
-
2. Update `<session>/.msg/meta.json` under `strategist` namespace:
|
|
92
|
-
- Read existing -> merge -> write back:
|
|
93
|
-
```json
|
|
94
|
-
{
|
|
95
|
-
"strategist": {
|
|
96
|
-
"complexity": "<Low|Medium|High>",
|
|
97
|
-
"optimization_count": 4,
|
|
98
|
-
"priorities": ["P0", "P0", "P1", "P2"],
|
|
99
|
-
"discuss_used": false,
|
|
100
|
-
"optimizations": [
|
|
101
|
-
{
|
|
102
|
-
"id": "OPT-001",
|
|
103
|
-
"title": "<title>",
|
|
104
|
-
"priority": "P0",
|
|
105
|
-
"target_files": ["src/a.ts", "src/b.ts"],
|
|
106
|
-
"expected_improvement": "<metric> by <X%>",
|
|
107
|
-
"success_criteria": "<threshold>"
|
|
108
|
-
}
|
|
109
|
-
]
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
3. If DISCUSS-OPT was triggered, record discussion summary in `<session>/discussions/DISCUSS-OPT.md`
|