claude-code-workflow 7.2.10 → 7.2.11
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/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-test-review/SKILL.md +2 -0
- 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/.claude/skills/workflow-tune/SKILL.md +487 -0
- package/.claude/skills/workflow-tune/phases/01-setup.md +548 -0
- package/.claude/skills/workflow-tune/phases/02-step-execute.md +197 -0
- package/.claude/skills/workflow-tune/phases/03-step-analyze.md +386 -0
- package/.claude/skills/workflow-tune/phases/04-synthesize.md +257 -0
- package/.claude/skills/workflow-tune/phases/05-optimize-report.md +246 -0
- package/.claude/skills/workflow-tune/specs/workflow-eval-criteria.md +57 -0
- package/.claude/skills/workflow-tune/templates/step-analysis-prompt.md +88 -0
- package/.claude/skills/workflow-tune/templates/synthesis-prompt.md +90 -0
- 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/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,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`
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: EXEC
|
|
3
|
-
inner_loop: true
|
|
4
|
-
message_types:
|
|
5
|
-
success: impl_complete
|
|
6
|
-
error: impl_failed
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Executor
|
|
10
|
-
|
|
11
|
-
Single-issue implementation agent. Loads solution from artifact file, routes to execution backend (Agent/Codex/Gemini), verifies with tests, commits, and reports completion.
|
|
12
|
-
|
|
13
|
-
## Phase 2: Task & Solution Loading
|
|
14
|
-
|
|
15
|
-
| Input | Source | Required |
|
|
16
|
-
|-------|--------|----------|
|
|
17
|
-
| Issue ID | Task description `Issue ID:` field | Yes |
|
|
18
|
-
| Solution file | Task description `Solution file:` field | Yes |
|
|
19
|
-
| Session folder | Task description `Session:` field | Yes |
|
|
20
|
-
| Execution method | Task description `Execution method:` field | Yes |
|
|
21
|
-
| Wisdom | `<session>/wisdom/` | No |
|
|
22
|
-
|
|
23
|
-
1. Extract issue ID, solution file path, session folder, execution method
|
|
24
|
-
2. Load solution JSON from file (file-first)
|
|
25
|
-
3. If file not found -> fallback: `ccw issue solution <issueId> --json`
|
|
26
|
-
4. Load wisdom files for conventions and patterns
|
|
27
|
-
5. Verify solution has required fields: title, tasks
|
|
28
|
-
|
|
29
|
-
## Phase 3: Implementation
|
|
30
|
-
|
|
31
|
-
### Backend Selection
|
|
32
|
-
|
|
33
|
-
| Method | Backend | CLI Tool |
|
|
34
|
-
|--------|---------|----------|
|
|
35
|
-
| `codex` | `ccw cli --tool codex --mode write` | Background CLI |
|
|
36
|
-
| `gemini` | `ccw cli --tool gemini --mode write` | Background CLI |
|
|
37
|
-
|
|
38
|
-
### CLI Backend (Codex/Gemini)
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
ccw cli -p "PURPOSE: Implement solution for issue <issueId>; success = all tasks completed, tests pass
|
|
42
|
-
TASK: <solution.tasks as bullet points>
|
|
43
|
-
MODE: write
|
|
44
|
-
CONTEXT: @**/* | Memory: Session wisdom from <session>/wisdom/
|
|
45
|
-
EXPECTED: Working implementation with: code changes, test updates, no syntax errors
|
|
46
|
-
CONSTRAINTS: Follow existing patterns | Maintain backward compatibility
|
|
47
|
-
Issue: <issueId>
|
|
48
|
-
Title: <solution.title>
|
|
49
|
-
Solution: <solution JSON>" --tool <codex|gemini> --mode write --rule development-implement-feature
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Wait for CLI completion before proceeding to verification.
|
|
53
|
-
|
|
54
|
-
## Phase 4: Verification + Commit
|
|
55
|
-
|
|
56
|
-
### Test Verification
|
|
57
|
-
|
|
58
|
-
| Check | Method | Pass Criteria |
|
|
59
|
-
|-------|--------|---------------|
|
|
60
|
-
| Tests | Detect and run project test command | All pass |
|
|
61
|
-
| Syntax | IDE diagnostics or `tsc --noEmit` | No errors |
|
|
62
|
-
|
|
63
|
-
If tests fail: retry implementation once, then report `impl_failed`.
|
|
64
|
-
|
|
65
|
-
### Commit
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
git add -A
|
|
69
|
-
git commit -m "feat(<issueId>): <solution.title>"
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Update Issue Status
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
ccw issue update <issueId> --status completed
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Report
|
|
79
|
-
|
|
80
|
-
Send `impl_complete` message to coordinator via team_msg + SendMessage.
|
|
81
|
-
|
|
82
|
-
## Boundaries
|
|
83
|
-
|
|
84
|
-
| Allowed | Prohibited |
|
|
85
|
-
|---------|-----------|
|
|
86
|
-
| Load solution from file | Create or modify issues |
|
|
87
|
-
| Implement via CLI tools (Codex/Gemini) | Modify solution artifacts |
|
|
88
|
-
| Run tests | Spawn additional agents (use CLI tools instead) |
|
|
89
|
-
| git commit | Direct user interaction |
|
|
90
|
-
| Update issue status | Create tasks for other roles |
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: PLAN
|
|
3
|
-
inner_loop: true
|
|
4
|
-
message_types:
|
|
5
|
-
success: issue_ready
|
|
6
|
-
error: error
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Planner
|
|
10
|
-
|
|
11
|
-
Requirement decomposition → issue creation → solution design → EXEC-* task creation. Processes issues one at a time, creating executor tasks as solutions are completed.
|
|
12
|
-
|
|
13
|
-
## Phase 2: Context Loading
|
|
14
|
-
|
|
15
|
-
| Input | Source | Required |
|
|
16
|
-
|-------|--------|----------|
|
|
17
|
-
| Input type + raw input | Task description | Yes |
|
|
18
|
-
| Session folder | Task description `Session:` field | Yes |
|
|
19
|
-
| Execution method | Task description `Execution method:` field | Yes |
|
|
20
|
-
| Wisdom | `<session>/wisdom/` | No |
|
|
21
|
-
|
|
22
|
-
1. Extract session path, input type, raw input, execution method from task description
|
|
23
|
-
2. Load wisdom files if available
|
|
24
|
-
3. Parse input to determine issue list:
|
|
25
|
-
|
|
26
|
-
| Detection | Condition | Action |
|
|
27
|
-
|-----------|-----------|--------|
|
|
28
|
-
| Issue IDs | `ISS-\d{8}-\d{6}` pattern | Use directly |
|
|
29
|
-
| `--text '...'` | Flag in input | Create issue(s) via `ccw issue create` |
|
|
30
|
-
| `--plan <path>` | Flag in input | Read file, parse phases, batch create issues |
|
|
31
|
-
|
|
32
|
-
## Phase 3: Issue Processing Loop
|
|
33
|
-
|
|
34
|
-
For each issue, execute in sequence:
|
|
35
|
-
|
|
36
|
-
### 3a. Generate Solution
|
|
37
|
-
|
|
38
|
-
Use CLI tool for issue planning:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
ccw cli -p "PURPOSE: Generate implementation solution for issue <issueId>; success = actionable task breakdown with file paths
|
|
42
|
-
TASK: • Load issue details • Analyze requirements • Design solution approach • Break down into implementation tasks • Identify files to modify/create
|
|
43
|
-
MODE: analysis
|
|
44
|
-
CONTEXT: @**/* | Memory: Session context from <session>/wisdom/
|
|
45
|
-
EXPECTED: JSON solution with: title, description, tasks array (each with description, files_touched), estimated_complexity
|
|
46
|
-
CONSTRAINTS: Follow project patterns | Reference existing implementations
|
|
47
|
-
" --tool gemini --mode analysis --rule planning-breakdown-task-steps
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Parse CLI output to extract solution JSON. If CLI fails, fallback to `ccw issue solution <issueId> --json`.
|
|
51
|
-
|
|
52
|
-
### 3b. Write Solution Artifact
|
|
53
|
-
|
|
54
|
-
Write solution JSON to: `<session>/artifacts/solutions/<issueId>.json`
|
|
55
|
-
|
|
56
|
-
```json
|
|
57
|
-
{
|
|
58
|
-
"session_id": "<session-id>",
|
|
59
|
-
"issue_id": "<issueId>",
|
|
60
|
-
"solution": <solution-from-agent>,
|
|
61
|
-
"planned_at": "<ISO timestamp>"
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 3c. Check Conflicts
|
|
66
|
-
|
|
67
|
-
Extract `files_touched` from solution. Compare against prior solutions in session.
|
|
68
|
-
Overlapping files -> log warning to `wisdom/issues.md`, continue.
|
|
69
|
-
|
|
70
|
-
### 3d. Create EXEC-* Task
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
TaskCreate({
|
|
74
|
-
subject: "EXEC-00N: Implement <issue-title>",
|
|
75
|
-
description: `Implement solution for issue <issueId>.
|
|
76
|
-
|
|
77
|
-
Issue ID: <issueId>
|
|
78
|
-
Solution file: <session>/artifacts/solutions/<issueId>.json
|
|
79
|
-
Session: <session>
|
|
80
|
-
Execution method: <method>
|
|
81
|
-
|
|
82
|
-
InnerLoop: true`,
|
|
83
|
-
activeForm: "Implementing <issue-title>"
|
|
84
|
-
})
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### 3e. Signal issue_ready
|
|
88
|
-
|
|
89
|
-
Send message via team_msg + SendMessage to coordinator:
|
|
90
|
-
- type: `issue_ready`
|
|
91
|
-
|
|
92
|
-
### 3f. Continue Loop
|
|
93
|
-
|
|
94
|
-
Process next issue. Do NOT wait for executor.
|
|
95
|
-
|
|
96
|
-
## Phase 4: Completion Signal
|
|
97
|
-
|
|
98
|
-
After all issues processed:
|
|
99
|
-
1. Send `all_planned` message to coordinator via team_msg + SendMessage
|
|
100
|
-
2. Summary: total issues planned, EXEC-* tasks created
|
|
101
|
-
|
|
102
|
-
## Boundaries
|
|
103
|
-
|
|
104
|
-
| Allowed | Prohibited |
|
|
105
|
-
|---------|-----------|
|
|
106
|
-
| Parse input, create issues | Write/modify business code |
|
|
107
|
-
| Generate solutions (issue-plan-agent) | Run tests |
|
|
108
|
-
| Write solution artifacts | git commit |
|
|
109
|
-
| Create EXEC-* tasks | Call code-developer |
|
|
110
|
-
| Conflict checking | Direct user interaction |
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: QAANA
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: analysis_ready
|
|
6
|
-
report: quality_report
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Quality Analyst
|
|
11
|
-
|
|
12
|
-
Analyze defect patterns, coverage gaps, test effectiveness, and generate comprehensive quality reports. Maintain defect pattern database and provide quality scoring.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Context Loading
|
|
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 | Yes |
|
|
21
|
-
| Discovered issues | meta.json -> discovered_issues | No |
|
|
22
|
-
| Test strategy | meta.json -> test_strategy | No |
|
|
23
|
-
| Generated tests | meta.json -> generated_tests | No |
|
|
24
|
-
| Execution results | meta.json -> execution_results | No |
|
|
25
|
-
| Historical patterns | meta.json -> defect_patterns | No |
|
|
26
|
-
|
|
27
|
-
1. Extract session path from task description
|
|
28
|
-
2. Read .msg/meta.json for all accumulated QA data
|
|
29
|
-
3. Read coverage data from `coverage/coverage-summary.json` if available
|
|
30
|
-
4. Read layer execution results from `<session>/results/run-*.json`
|
|
31
|
-
5. Select analysis mode:
|
|
32
|
-
|
|
33
|
-
| Data Points | Mode |
|
|
34
|
-
|-------------|------|
|
|
35
|
-
| <= 5 issues + results | Direct inline analysis |
|
|
36
|
-
| > 5 | CLI-assisted deep analysis via gemini |
|
|
37
|
-
|
|
38
|
-
## Phase 3: Multi-Dimensional Analysis
|
|
39
|
-
|
|
40
|
-
**Five analysis dimensions**:
|
|
41
|
-
|
|
42
|
-
1. **Defect Pattern Analysis**: Group issues by type/perspective, identify patterns with >= 2 occurrences, record type/count/files/description
|
|
43
|
-
2. **Coverage Gap Analysis**: Compare actual coverage vs layer targets, identify per-file gaps (< 50% coverage), severity: critical (< 20%) / high (< 50%)
|
|
44
|
-
3. **Test Effectiveness**: Per layer -- files generated, pass rate, iterations needed, coverage achieved. Effective = pass_rate >= 95% AND iterations <= 2
|
|
45
|
-
4. **Quality Trend**: Compare against coverage_history. Trend: improving (delta > 5%), declining (delta < -5%), stable
|
|
46
|
-
5. **Quality Score** (0-100 starting from 100):
|
|
47
|
-
|
|
48
|
-
| Factor | Impact |
|
|
49
|
-
|--------|--------|
|
|
50
|
-
| Security issues | -10 per issue |
|
|
51
|
-
| Bug issues | -5 per issue |
|
|
52
|
-
| Coverage gap | -0.5 per gap percentage |
|
|
53
|
-
| Test failures | -(100 - pass_rate) * 0.3 per layer |
|
|
54
|
-
| Effective test layers | +5 per layer |
|
|
55
|
-
| Improving trend | +3 |
|
|
56
|
-
|
|
57
|
-
For CLI-assisted mode:
|
|
58
|
-
```
|
|
59
|
-
PURPOSE: Deep quality analysis on QA results to identify defect patterns and improvement opportunities
|
|
60
|
-
TASK: Classify defects by root cause, identify high-density files, analyze coverage gaps vs risk, generate recommendations
|
|
61
|
-
MODE: analysis
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Phase 4: Report Generation & Output
|
|
65
|
-
|
|
66
|
-
1. Generate quality report markdown with: score, defect patterns, coverage analysis, test effectiveness, quality trend, recommendations
|
|
67
|
-
2. Write report to `<session>/analysis/quality-report.md`
|
|
68
|
-
3. Update `<session>/wisdom/.msg/meta.json`:
|
|
69
|
-
- `defect_patterns`: identified patterns array
|
|
70
|
-
- `quality_score`: calculated score
|
|
71
|
-
- `coverage_history`: append new data point (date, coverage, quality_score, issues)
|
|
72
|
-
|
|
73
|
-
**Score-based recommendations**:
|
|
74
|
-
|
|
75
|
-
| Score | Recommendation |
|
|
76
|
-
|-------|----------------|
|
|
77
|
-
| >= 80 | Quality is GOOD. Maintain current testing practices. |
|
|
78
|
-
| 60-79 | Quality needs IMPROVEMENT. Focus on coverage gaps and recurring patterns. |
|
|
79
|
-
| < 60 | Quality is CONCERNING. Recommend comprehensive review and testing effort. |
|