claude-code-workflow 7.2.19 → 7.2.21
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/commands/workflow/analyze-with-file.md +58 -20
- package/.codex/skills/analyze-with-file/SKILL.md +55 -8
- package/.codex/skills/team-arch-opt/SKILL.md +24 -0
- package/.codex/skills/team-arch-opt/roles/coordinator/role.md +22 -0
- package/.codex/skills/team-brainstorm/SKILL.md +24 -0
- package/.codex/skills/team-brainstorm/roles/coordinator/role.md +20 -0
- package/.codex/skills/team-coordinate/SKILL.md +24 -0
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +40 -12
- package/.codex/skills/team-frontend/SKILL.md +24 -0
- package/.codex/skills/team-frontend/roles/coordinator/role.md +20 -0
- package/.codex/skills/team-frontend-debug/SKILL.md +24 -0
- package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +21 -0
- package/.codex/skills/team-issue/SKILL.md +24 -0
- package/.codex/skills/team-issue/roles/coordinator/role.md +19 -0
- package/.codex/skills/team-iterdev/SKILL.md +24 -0
- package/.codex/skills/team-iterdev/roles/coordinator/role.md +20 -0
- package/.codex/skills/team-lifecycle-v4/SKILL.md +24 -0
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +28 -2
- package/.codex/skills/team-perf-opt/SKILL.md +24 -0
- package/.codex/skills/team-perf-opt/roles/coordinator/role.md +20 -0
- package/.codex/skills/team-planex/SKILL.md +24 -0
- package/.codex/skills/team-planex/roles/coordinator/role.md +19 -0
- package/.codex/skills/team-quality-assurance/SKILL.md +24 -0
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +21 -0
- package/.codex/skills/team-review/SKILL.md +24 -0
- package/.codex/skills/team-review/roles/coordinator/role.md +21 -0
- package/.codex/skills/team-roadmap-dev/SKILL.md +24 -0
- package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +19 -0
- package/.codex/skills/team-tech-debt/SKILL.md +24 -0
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +19 -0
- package/.codex/skills/team-testing/SKILL.md +24 -0
- package/.codex/skills/team-testing/roles/coordinator/role.md +21 -0
- package/.codex/skills/team-uidesign/SKILL.md +24 -0
- package/.codex/skills/team-uidesign/roles/coordinator/role.md +20 -0
- package/.codex/skills/team-ultra-analyze/SKILL.md +24 -0
- package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +20 -0
- package/.codex/skills/team-ux-improve/SKILL.md +24 -0
- package/.codex/skills/team-ux-improve/roles/coordinator/role.md +20 -0
- package/ccw/frontend/dist/assets/{AlertDialog-zDuLRyN3.js → AlertDialog-Cukb0xv2.js} +2 -2
- package/ccw/frontend/dist/assets/{AlertDialog-zDuLRyN3.js.map → AlertDialog-Cukb0xv2.js.map} +1 -1
- package/ccw/frontend/dist/assets/{AnalysisPage-DGCGwIZY.js → AnalysisPage-Ddmv0J4x.js} +2 -2
- package/ccw/frontend/dist/assets/{AnalysisPage-DGCGwIZY.js.map → AnalysisPage-Ddmv0J4x.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ApiSettingsPage-CgclCqmv.js → ApiSettingsPage-DMkrTZDX.js} +2 -2
- package/ccw/frontend/dist/assets/{ApiSettingsPage-CgclCqmv.js.map → ApiSettingsPage-DMkrTZDX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliModeToggle-CbGH7qO4.js → CliModeToggle-DXenjpbe.js} +2 -2
- package/ccw/frontend/dist/assets/{CliModeToggle-CbGH7qO4.js.map → CliModeToggle-DXenjpbe.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliSessionSharePage-CJGlwyDw.js → CliSessionSharePage-B-ZIMqmX.js} +2 -2
- package/ccw/frontend/dist/assets/{CliSessionSharePage-CJGlwyDw.js.map → CliSessionSharePage-B-ZIMqmX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliViewerPage-D-MHYyDt.js → CliViewerPage-9YxGyLxh.js} +2 -2
- package/ccw/frontend/dist/assets/{CliViewerPage-D-MHYyDt.js.map → CliViewerPage-9YxGyLxh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CodexLensPage-z6miX68P.js → CodexLensPage-B_uv5wdn.js} +2 -2
- package/ccw/frontend/dist/assets/{CodexLensPage-z6miX68P.js.map → CodexLensPage-B_uv5wdn.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Collapsible-D5zS2wef.js → Collapsible-C2qk3yV0.js} +2 -2
- package/ccw/frontend/dist/assets/{Collapsible-D5zS2wef.js.map → Collapsible-C2qk3yV0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChcTwmAn.js → CommandsManagerPage-DBtaWxLB.js} +2 -2
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChcTwmAn.js.map → CommandsManagerPage-DBtaWxLB.js.map} +1 -1
- package/ccw/frontend/dist/assets/{DeepWikiPage-Cv5LifSi.js → DeepWikiPage-d9K4_TgG.js} +2 -2
- package/ccw/frontend/dist/assets/{DeepWikiPage-Cv5LifSi.js.map → DeepWikiPage-d9K4_TgG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{EndpointsPage-BcyNmqIa.js → EndpointsPage-DhW6hYrI.js} +2 -2
- package/ccw/frontend/dist/assets/{EndpointsPage-BcyNmqIa.js.map → EndpointsPage-DhW6hYrI.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ExplorerPage-DfHtqeQM.js → ExplorerPage-DYYpCvtB.js} +2 -2
- package/ccw/frontend/dist/assets/{ExplorerPage-DfHtqeQM.js.map → ExplorerPage-DYYpCvtB.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FixSessionPage-CbvZApeF.js → FixSessionPage-CSmiT5SE.js} +2 -2
- package/ccw/frontend/dist/assets/{FixSessionPage-CbvZApeF.js.map → FixSessionPage-CSmiT5SE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-DLz85cw9.js → FloatingFileBrowser-DvMsXLdP.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-DLz85cw9.js.map → FloatingFileBrowser-DvMsXLdP.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingPanel-DrUTmgtV.js → FloatingPanel-sqezhSI8.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingPanel-DrUTmgtV.js.map → FloatingPanel-sqezhSI8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{GraphExplorerPage-C439yLvH.js → GraphExplorerPage-DS8ghMFM.js} +2 -2
- package/ccw/frontend/dist/assets/{GraphExplorerPage-C439yLvH.js.map → GraphExplorerPage-DS8ghMFM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HistoryPage-BClJJMEy.js → HistoryPage-B-x1RyHu.js} +2 -2
- package/ccw/frontend/dist/assets/{HistoryPage-BClJJMEy.js.map → HistoryPage-B-x1RyHu.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HookManagerPage-DI-2QDLJ.js → HookManagerPage-BbxpDb68.js} +2 -2
- package/ccw/frontend/dist/assets/{HookManagerPage-DI-2QDLJ.js.map → HookManagerPage-BbxpDb68.js.map} +1 -1
- package/ccw/frontend/dist/assets/{InstallationsPage-DKlz1ypL.js → InstallationsPage-3bShz_Ai.js} +2 -2
- package/ccw/frontend/dist/assets/{InstallationsPage-DKlz1ypL.js.map → InstallationsPage-3bShz_Ai.js.map} +1 -1
- package/ccw/frontend/dist/assets/{IssueHubPage--6DduN4j.js → IssueHubPage-BQY_Hh3e.js} +2 -2
- package/ccw/frontend/dist/assets/{IssueHubPage--6DduN4j.js.map → IssueHubPage-BQY_Hh3e.js.map} +1 -1
- package/ccw/frontend/dist/assets/{LiteTasksPage-39j6xEeL.js → LiteTasksPage-vD_8fQcR.js} +2 -2
- package/ccw/frontend/dist/assets/{LiteTasksPage-39j6xEeL.js.map → LiteTasksPage-vD_8fQcR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{McpManagerPage-D00C9RVN.js → McpManagerPage-CI5ZzB8A.js} +2 -2
- package/ccw/frontend/dist/assets/{McpManagerPage-D00C9RVN.js.map → McpManagerPage-CI5ZzB8A.js.map} +1 -1
- package/ccw/frontend/dist/assets/{MemoryPage-BXWKdTyM.js → MemoryPage-CNuj2eNg.js} +2 -2
- package/ccw/frontend/dist/assets/{MemoryPage-BXWKdTyM.js.map → MemoryPage-CNuj2eNg.js.map} +1 -1
- package/ccw/frontend/dist/assets/{NotFoundPage-h5o3I7cF.js → NotFoundPage-BrnAXkb1.js} +2 -2
- package/ccw/frontend/dist/assets/{NotFoundPage-h5o3I7cF.js.map → NotFoundPage-BrnAXkb1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{OrchestratorPage-jkyjmiI1.js → OrchestratorPage-CH81PGt4.js} +2 -2
- package/ccw/frontend/dist/assets/{OrchestratorPage-jkyjmiI1.js.map → OrchestratorPage-CH81PGt4.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-C2bE5eb2.js → ProjectOverviewPage-dwiEXl2O.js} +2 -2
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-C2bE5eb2.js.map → ProjectOverviewPage-dwiEXl2O.js.map} +1 -1
- package/ccw/frontend/dist/assets/{PromptHistoryPage-DzmPK4GZ.js → PromptHistoryPage-CabgLjJU.js} +2 -2
- package/ccw/frontend/dist/assets/{PromptHistoryPage-DzmPK4GZ.js.map → PromptHistoryPage-CabgLjJU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ReviewSessionPage-CVMH1K6G.js → ReviewSessionPage-DAMrNFn8.js} +2 -2
- package/ccw/frontend/dist/assets/{ReviewSessionPage-CVMH1K6G.js.map → ReviewSessionPage-DAMrNFn8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{RulesManagerPage-BDZco-r2.js → RulesManagerPage-4jzmxPn0.js} +2 -2
- package/ccw/frontend/dist/assets/{RulesManagerPage-BDZco-r2.js.map → RulesManagerPage-4jzmxPn0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionDetailPage-D5cM-8Kk.js → SessionDetailPage-C5Btktmp.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionDetailPage-D5cM-8Kk.js.map → SessionDetailPage-C5Btktmp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionsPage-BFy74ye3.js → SessionsPage-CQIB4E8m.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionsPage-BFy74ye3.js.map → SessionsPage-CQIB4E8m.js.map} +1 -1
- package/ccw/frontend/dist/assets/SettingsPage-Yi9UAfm7.js +150 -0
- package/ccw/frontend/dist/assets/SettingsPage-Yi9UAfm7.js.map +1 -0
- package/ccw/frontend/dist/assets/{SkillsManagerPage-8Dsq4AUD.js → SkillsManagerPage-BqfvYSkT.js} +2 -2
- package/ccw/frontend/dist/assets/{SkillsManagerPage-8Dsq4AUD.js.map → SkillsManagerPage-BqfvYSkT.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-CG77iAYQ.js → SpecsSettingsPage-BdVPM5R6.js} +2 -2
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-CG77iAYQ.js.map → SpecsSettingsPage-BdVPM5R6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Switch-BbuvVsX-.js → Switch-BG929kV0.js} +2 -2
- package/ccw/frontend/dist/assets/{Switch-BbuvVsX-.js.map → Switch-BG929kV0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TabsNavigation-SGJhC8-P.js → TabsNavigation-Bol1y09b.js} +2 -2
- package/ccw/frontend/dist/assets/{TabsNavigation-SGJhC8-P.js.map → TabsNavigation-Bol1y09b.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TaskDrawer-p51jeScU.js → TaskDrawer-Dwutrn8_.js} +2 -2
- package/ccw/frontend/dist/assets/{TaskDrawer-p51jeScU.js.map → TaskDrawer-Dwutrn8_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TeamPage-CvZBThbr.js → TeamPage-CpCSwpxD.js} +2 -2
- package/ccw/frontend/dist/assets/{TeamPage-CvZBThbr.js.map → TeamPage-CpCSwpxD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-uhM7kGKI.js → TerminalDashboardPage-DODKjOeK.js} +2 -2
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-uhM7kGKI.js.map → TerminalDashboardPage-DODKjOeK.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-D6ySrtHC.js → archive-CQw634kD.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-D6ySrtHC.js.map → archive-CQw634kD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-restore-C1uI-5TY.js → archive-restore-B-_EG6wE.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-restore-C1uI-5TY.js.map → archive-restore-B-_EG6wE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{arrow-right-qE5-FMG8.js → arrow-right-CcQtxBrU.js} +2 -2
- package/ccw/frontend/dist/assets/{arrow-right-qE5-FMG8.js.map → arrow-right-CcQtxBrU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bookmark-plus-DL4iL38T.js → bookmark-plus-Cl-BbcpR.js} +2 -2
- package/ccw/frontend/dist/assets/{bookmark-plus-DL4iL38T.js.map → bookmark-plus-Cl-BbcpR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bot-CZzIeEkg.js → bot-CLSNSkW_.js} +2 -2
- package/ccw/frontend/dist/assets/{bot-CZzIeEkg.js.map → bot-CLSNSkW_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{braces-MEPRT2LN.js → braces-DWwkaDS6.js} +2 -2
- package/ccw/frontend/dist/assets/{braces-MEPRT2LN.js.map → braces-DWwkaDS6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{circle-stop-GQcecSUg.js → circle-stop-DiS7e6ma.js} +2 -2
- package/ccw/frontend/dist/assets/{circle-stop-GQcecSUg.js.map → circle-stop-DiS7e6ma.js.map} +1 -1
- package/ccw/frontend/dist/assets/{cpu-CzxYMs1Y.js → cpu-CuvHUVXO.js} +2 -2
- package/ccw/frontend/dist/assets/{cpu-CzxYMs1Y.js.map → cpu-CuvHUVXO.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ellipsis-vertical-DZMfiFKo.js → ellipsis-vertical-BoVlINSw.js} +2 -2
- package/ccw/frontend/dist/assets/{ellipsis-vertical-DZMfiFKo.js.map → ellipsis-vertical-BoVlINSw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-BXfPoClW.js → eye-BEMOdcAN.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-BXfPoClW.js.map → eye-BEMOdcAN.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-off-CyaKXmAk.js → eye-off-C5HS4Ytm.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-off-CyaKXmAk.js.map → eye-off-C5HS4Ytm.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-json-B4LbFfTU.js → file-json-DQ9XLq0B.js} +2 -2
- package/ccw/frontend/dist/assets/{file-json-B4LbFfTU.js.map → file-json-DQ9XLq0B.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-text-CIWG7Xgj.js → file-text-TGs_qCbw.js} +2 -2
- package/ccw/frontend/dist/assets/{file-text-CIWG7Xgj.js.map → file-text-TGs_qCbw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{filter-CNBjjvBX.js → filter-CIuCqnDB.js} +2 -2
- package/ccw/frontend/dist/assets/{filter-CNBjjvBX.js.map → filter-CIuCqnDB.js.map} +1 -1
- package/ccw/frontend/dist/assets/{folder-DT_XOYw9.js → folder-BkivHBwn.js} +2 -2
- package/ccw/frontend/dist/assets/{folder-DT_XOYw9.js.map → folder-BkivHBwn.js.map} +1 -1
- package/ccw/frontend/dist/assets/{gauge-mvQWOG3S.js → gauge-CtM68fVY.js} +2 -2
- package/ccw/frontend/dist/assets/{gauge-mvQWOG3S.js.map → gauge-CtM68fVY.js.map} +1 -1
- package/ccw/frontend/dist/assets/{globe-B25jraBz.js → globe-DpnrINqP.js} +2 -2
- package/ccw/frontend/dist/assets/{globe-B25jraBz.js.map → globe-DpnrINqP.js.map} +1 -1
- package/ccw/frontend/dist/assets/{grid-3x3-CptugI_Z.js → grid-3x3-SjX0a5JH.js} +2 -2
- package/ccw/frontend/dist/assets/{grid-3x3-CptugI_Z.js.map → grid-3x3-SjX0a5JH.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hard-drive-BUK9Wcoz.js → hard-drive-ByAmnoEg.js} +2 -2
- package/ccw/frontend/dist/assets/{hard-drive-BUK9Wcoz.js.map → hard-drive-ByAmnoEg.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hash-dddMDYK7.js → hash-DbLc3VOZ.js} +2 -2
- package/ccw/frontend/dist/assets/{hash-dddMDYK7.js.map → hash-DbLc3VOZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{history-BdDj8MtC.js → history-Botz5Z5d.js} +2 -2
- package/ccw/frontend/dist/assets/{history-BdDj8MtC.js.map → history-Botz5Z5d.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-CcxBnbbQ.js → index-BGvyf4-9.js} +2 -2
- package/ccw/frontend/dist/assets/{index-CcxBnbbQ.js.map → index-BGvyf4-9.js.map} +1 -1
- package/ccw/frontend/dist/assets/index-BoqylFO4.css +39 -0
- package/ccw/frontend/dist/assets/{index-DZGHdspr.js → index-DP_mTJI8.js} +3 -3
- package/ccw/frontend/dist/assets/{index-DZGHdspr.js.map → index-DP_mTJI8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-B6UfIzhR.js → index-MkgdhX7a.js} +2 -2
- package/ccw/frontend/dist/assets/{index-B6UfIzhR.js.map → index-MkgdhX7a.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-EFcT7h67.js → index-ni-tG9rm.js} +2 -2
- package/ccw/frontend/dist/assets/{index-EFcT7h67.js.map → index-ni-tG9rm.js.map} +1 -1
- package/ccw/frontend/dist/assets/{layout-grid-BVlT1oI7.js → layout-grid-11E4bGJz.js} +2 -2
- package/ccw/frontend/dist/assets/{layout-grid-BVlT1oI7.js.map → layout-grid-11E4bGJz.js.map} +1 -1
- package/ccw/frontend/dist/assets/{lightbulb-Mt3Tlwh4.js → lightbulb-8KrKY82b.js} +2 -2
- package/ccw/frontend/dist/assets/{lightbulb-Mt3Tlwh4.js.map → lightbulb-8KrKY82b.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-2-DXqT64qo.js → link-2-BUn6RILb.js} +2 -2
- package/ccw/frontend/dist/assets/{link-2-DXqT64qo.js.map → link-2-BUn6RILb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-CBMtrpcI.js → link-CmP254Ai.js} +2 -2
- package/ccw/frontend/dist/assets/{link-CBMtrpcI.js.map → link-CmP254Ai.js.map} +1 -1
- package/ccw/frontend/dist/assets/{list-DDyEM4AO.js → list-BAwzl4a2.js} +2 -2
- package/ccw/frontend/dist/assets/{list-DDyEM4AO.js.map → list-BAwzl4a2.js.map} +1 -1
- package/ccw/frontend/dist/assets/{map-pin-B2FxBKfk.js → map-pin-gi342rqk.js} +2 -2
- package/ccw/frontend/dist/assets/{map-pin-B2FxBKfk.js.map → map-pin-gi342rqk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{messages-square-zJfTY9pq.js → messages-square-C1Lh8q8b.js} +2 -2
- package/ccw/frontend/dist/assets/{messages-square-zJfTY9pq.js.map → messages-square-C1Lh8q8b.js.map} +1 -1
- package/ccw/frontend/dist/assets/{minimize-2-DnhGZj79.js → minimize-2-OgWNLKdq.js} +2 -2
- package/ccw/frontend/dist/assets/{minimize-2-DnhGZj79.js.map → minimize-2-OgWNLKdq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{package-DYzAybhU.js → package-Djsvs5qp.js} +2 -2
- package/ccw/frontend/dist/assets/{package-DYzAybhU.js.map → package-Djsvs5qp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{plug-B3kKHsu1.js → plug-DvSZP2cp.js} +2 -2
- package/ccw/frontend/dist/assets/{plug-B3kKHsu1.js.map → plug-DvSZP2cp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{power-BPNNZgLy.js → power-BY7vTLmU.js} +2 -2
- package/ccw/frontend/dist/assets/{power-BPNNZgLy.js.map → power-BY7vTLmU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{save-Cwry93p-.js → save-DXfqv84T.js} +2 -2
- package/ccw/frontend/dist/assets/{save-Cwry93p-.js.map → save-DXfqv84T.js.map} +1 -1
- package/ccw/frontend/dist/assets/{send-DuWWy2J8.js → send-E2o2LZSX.js} +2 -2
- package/ccw/frontend/dist/assets/{send-DuWWy2J8.js.map → send-E2o2LZSX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{settings-2-C3U1eSK6.js → settings-2-ChD1LFHH.js} +2 -2
- package/ccw/frontend/dist/assets/{settings-2-C3U1eSK6.js.map → settings-2-ChD1LFHH.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-check-big-CrG1ejFB.js → square-check-big-CBymuqmD.js} +2 -2
- package/ccw/frontend/dist/assets/{square-check-big-CrG1ejFB.js.map → square-check-big-CBymuqmD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-pen-eLWlCgZ5.js → square-pen-BfaiJgOX.js} +2 -2
- package/ccw/frontend/dist/assets/{square-pen-eLWlCgZ5.js.map → square-pen-BfaiJgOX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{star-sveo4KRn.js → star-DHMWqZ09.js} +2 -2
- package/ccw/frontend/dist/assets/{star-sveo4KRn.js.map → star-DHMWqZ09.js.map} +1 -1
- package/ccw/frontend/dist/assets/{style-CRdAX7Cu.js → style-wvcOEAiM.js} +2 -2
- package/ccw/frontend/dist/assets/{style-CRdAX7Cu.js.map → style-wvcOEAiM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{target-Oz1-z8Zu.js → target-B8AMmf_N.js} +2 -2
- package/ccw/frontend/dist/assets/{target-Oz1-z8Zu.js.map → target-B8AMmf_N.js.map} +1 -1
- package/ccw/frontend/dist/assets/{test-tube-BozkZKD6.js → test-tube-BpDeTJi1.js} +2 -2
- package/ccw/frontend/dist/assets/{test-tube-BozkZKD6.js.map → test-tube-BpDeTJi1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{upload-CTlUsxyh.js → upload-pflkdIDG.js} +2 -2
- package/ccw/frontend/dist/assets/{upload-CTlUsxyh.js.map → upload-pflkdIDG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useApiSettings-D6WfgFYj.js → useApiSettings-BPx4DyKT.js} +2 -2
- package/ccw/frontend/dist/assets/{useApiSettings-D6WfgFYj.js.map → useApiSettings-BPx4DyKT.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCli-CgGVNN5I.js → useCli-D1jfH3XA.js} +2 -2
- package/ccw/frontend/dist/assets/{useCli-CgGVNN5I.js.map → useCli-D1jfH3XA.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCommands-o5CKv-10.js → useCommands-DhR71vpa.js} +2 -2
- package/ccw/frontend/dist/assets/{useCommands-o5CKv-10.js.map → useCommands-DhR71vpa.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useDebounce-rKo_bCBK.js → useDebounce-a6Yyer3m.js} +2 -2
- package/ccw/frontend/dist/assets/{useDebounce-rKo_bCBK.js.map → useDebounce-a6Yyer3m.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useFileExplorer-WeE4t9Hg.js → useFileExplorer-B8W2JTj2.js} +2 -2
- package/ccw/frontend/dist/assets/{useFileExplorer-WeE4t9Hg.js.map → useFileExplorer-B8W2JTj2.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useLocale-BS0tTC-_.js → useLocale-aMHdQIL_.js} +2 -2
- package/ccw/frontend/dist/assets/{useLocale-BS0tTC-_.js.map → useLocale-aMHdQIL_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSkills-BUgAhw6r.js → useSkills-BHpc2LtN.js} +3 -3
- package/ccw/frontend/dist/assets/{useSkills-BUgAhw6r.js.map → useSkills-BHpc2LtN.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSystemSettings-CLhmINg1.js → useSystemSettings-BFD0SvEF.js} +2 -2
- package/ccw/frontend/dist/assets/{useSystemSettings-CLhmINg1.js.map → useSystemSettings-BFD0SvEF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{wand-sparkles-BUHKJH1X.js → wand-sparkles-dYtI2IKM.js} +2 -2
- package/ccw/frontend/dist/assets/{wand-sparkles-BUHKJH1X.js.map → wand-sparkles-dYtI2IKM.js.map} +1 -1
- package/ccw/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/ccw/frontend/dist/assets/SettingsPage-Qj0fFDjX.js +0 -150
- package/ccw/frontend/dist/assets/SettingsPage-Qj0fFDjX.js.map +0 -1
- package/ccw/frontend/dist/assets/index-nU0QYi1y.css +0 -39
|
@@ -230,23 +230,37 @@ Do NOT write files.
|
|
|
230
230
|
}
|
|
231
231
|
```
|
|
232
232
|
|
|
233
|
-
**Phase B — Perspective Deep-Dive** (
|
|
233
|
+
**Phase B — Perspective Deep-Dive** (PARALLEL, only for multi-perspective, max 4):
|
|
234
234
|
Each perspective agent receives shared Layer 1 results, performs only Layer 2-3 on its relevant subset.
|
|
235
235
|
Skip if single-perspective (single mode proceeds directly to Step 2 CLI analysis with Layer 1 results).
|
|
236
236
|
|
|
237
|
+
**CRITICAL — Parallel Execution**: Launch ALL perspective Agent() calls in the SAME response block so Claude Code executes them concurrently. Do NOT use a loop that waits for each agent before starting the next.
|
|
238
|
+
|
|
237
239
|
```javascript
|
|
238
240
|
// Per-perspective Layer 2-3 — receives shared discovery, avoids re-scanning
|
|
239
241
|
// Only runs in multi-perspective mode
|
|
242
|
+
// PARALLEL: All Agent() calls MUST appear in ONE response — Claude Code runs them concurrently
|
|
240
243
|
const sharedDiscovery = readJSON(`${sessionFolder}/exploration-codebase.json`)
|
|
241
|
-
const perspectiveFiles = sharedDiscovery.relevant_files
|
|
242
|
-
.filter(f => f.dimensions.includes(perspective.dimension))
|
|
243
244
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
245
|
+
// Prepare per-perspective file lists
|
|
246
|
+
const perspectiveFileLists = Object.fromEntries(
|
|
247
|
+
selectedPerspectives.map(p => [
|
|
248
|
+
p.name,
|
|
249
|
+
sharedDiscovery.relevant_files.filter(f => f.dimensions.includes(p.dimension))
|
|
250
|
+
])
|
|
251
|
+
)
|
|
252
|
+
|
|
253
|
+
// Launch ALL agents in a SINGLE response block (not sequentially):
|
|
254
|
+
// Agent({ ..perspective1.. }) ← call 1
|
|
255
|
+
// Agent({ ..perspective2.. }) ← call 2 (same response)
|
|
256
|
+
// Agent({ ..perspective3.. }) ← call 3 (same response)
|
|
257
|
+
|
|
258
|
+
// Each agent call follows this template:
|
|
259
|
+
Agent({
|
|
260
|
+
subagent_type: "cli-explore-agent",
|
|
261
|
+
run_in_background: false,
|
|
262
|
+
description: `Deep-dive: ${perspective.name}`,
|
|
263
|
+
prompt: `
|
|
250
264
|
## Analysis Context
|
|
251
265
|
Topic: ${topic_or_question}
|
|
252
266
|
Perspective: ${perspective.name} - ${perspective.focus}
|
|
@@ -254,7 +268,7 @@ Session: ${sessionFolder}
|
|
|
254
268
|
|
|
255
269
|
## SHARED DISCOVERY (Layer 1 already completed — DO NOT re-scan)
|
|
256
270
|
Relevant files for this perspective:
|
|
257
|
-
${
|
|
271
|
+
${perspectiveFileLists[perspective.name].map(f => `- ${f.path}: ${f.annotation}`).join('\n')}
|
|
258
272
|
Patterns found: ${sharedDiscovery.patterns.join(', ')}
|
|
259
273
|
|
|
260
274
|
## Layer 2 — Structure Tracing (Depth)
|
|
@@ -270,7 +284,6 @@ Patterns found: ${sharedDiscovery.patterns.join(', ')}
|
|
|
270
284
|
Write to: ${sessionFolder}/explorations/${perspective.name}.json
|
|
271
285
|
Schema: {perspective, relevant_files, key_findings, code_anchors: [{file, lines, snippet, significance}], call_chains: [{entry, chain, files}], questions_for_user, _metadata}
|
|
272
286
|
`
|
|
273
|
-
})
|
|
274
287
|
})
|
|
275
288
|
```
|
|
276
289
|
|
|
@@ -459,27 +472,50 @@ const priorContext = `
|
|
|
459
472
|
- **Gate**: ❌ Missed items must be either (a) addressed in additional round or (b) confirmed deferred by user
|
|
460
473
|
- Add `intent_coverage[]` to conclusions.json
|
|
461
474
|
|
|
462
|
-
2. **
|
|
475
|
+
2. **Findings-to-Recommendations Traceability** (MANDATORY before consolidation):
|
|
476
|
+
- **Collect ALL actionable findings** from every round: key findings with actionable implications, technical solutions (proposed/validated), identified gaps (API-frontend gaps, missing features, design issues), corrected assumptions that imply fixes
|
|
477
|
+
- **Map each finding → disposition**:
|
|
478
|
+
| Disposition | Meaning |
|
|
479
|
+
|-------------|---------|
|
|
480
|
+
| `recommendation` | Converted to a numbered recommendation |
|
|
481
|
+
| `absorbed` | Covered by another recommendation (specify which) |
|
|
482
|
+
| `deferred` | Explicitly out-of-scope with reason |
|
|
483
|
+
| `informational` | Pure insight, no action needed |
|
|
484
|
+
- **Findings Coverage Matrix** (append to discussion.md):
|
|
485
|
+
```markdown
|
|
486
|
+
### Findings Coverage Matrix
|
|
487
|
+
| # | Finding (Round) | Disposition | Target |
|
|
488
|
+
|---|----------------|-------------|--------|
|
|
489
|
+
| 1 | [finding summary] (R1) | recommendation | Rec #1 |
|
|
490
|
+
| 2 | [finding summary] (R2) | absorbed | → Rec #1 |
|
|
491
|
+
| 3 | [finding summary] (R2) | deferred | Reason: [why] |
|
|
492
|
+
| 4 | [finding summary] (R1) | informational | — |
|
|
493
|
+
```
|
|
494
|
+
- **Gate**: Findings with `disposition = null` (unmapped) MUST be either assigned a disposition or added as new recommendations. Do NOT proceed to step 3 with unmapped findings.
|
|
495
|
+
- Add `findings_coverage[]` to conclusions.json
|
|
496
|
+
|
|
497
|
+
3. **Consolidate Insights**:
|
|
463
498
|
- Compile Decision Trail from all phases
|
|
464
499
|
- Key conclusions with evidence + confidence (high/medium/low)
|
|
465
|
-
- Recommendations with rationale + priority (high/medium/low) — **merge validated `technical_solutions[]` from explorations.json as high-priority recommendations**
|
|
466
|
-
- **Solution Readiness Gate**: For each recommendation, check if all key choices are resolved. Flag `ambiguity_resolved: false` on any recommendation that still contains unresolved alternatives. Present unresolved items to user before proceeding to Step
|
|
500
|
+
- Recommendations with rationale + priority (high/medium/low) — **merge validated `technical_solutions[]` from explorations.json as high-priority recommendations** — **ensure all `disposition = recommendation` findings from step 2 are represented**
|
|
501
|
+
- **Solution Readiness Gate**: For each recommendation, check if all key choices are resolved. Flag `ambiguity_resolved: false` on any recommendation that still contains unresolved alternatives. Present unresolved items to user before proceeding to Step 4.
|
|
467
502
|
- Open questions, follow-up suggestions
|
|
468
503
|
- Decision summary linking conclusions back to decisions
|
|
469
504
|
- Write to conclusions.json
|
|
470
505
|
|
|
471
|
-
|
|
506
|
+
4. **Final discussion.md Update**:
|
|
472
507
|
- **Conclusions**: Summary, ranked key conclusions, prioritized recommendations, remaining questions
|
|
473
508
|
- **Current Understanding (Final)**: What established, what clarified/corrected, key insights
|
|
474
509
|
- **Decision Trail**: Critical decisions, direction changes timeline, trade-offs
|
|
510
|
+
- **Findings Coverage Matrix**: From step 2 (already appended)
|
|
475
511
|
- Session statistics: rounds, duration, sources, artifacts, decision count
|
|
476
512
|
|
|
477
|
-
|
|
513
|
+
5. **Display Conclusions Summary** — Present to user:
|
|
478
514
|
- **Analysis Report**: summary, key conclusions (numbered, with confidence), recommendations (numbered, with priority + rationale + steps)
|
|
479
515
|
- Open questions if any
|
|
480
516
|
- Link to full report: `{sessionFolder}/discussion.md`
|
|
481
517
|
|
|
482
|
-
|
|
518
|
+
6. **Interactive Recommendation Review** (skip in auto mode):
|
|
483
519
|
|
|
484
520
|
Present all recommendations, then batch-confirm via **single AskUserQuestion call** (up to 4 questions):
|
|
485
521
|
|
|
@@ -500,7 +536,7 @@ const priorContext = `
|
|
|
500
536
|
- Accepted: N items | Modified: N items | Rejected: N items
|
|
501
537
|
- Only accepted/modified recommendations proceed to next step
|
|
502
538
|
|
|
503
|
-
|
|
539
|
+
7. **MANDATORY GATE: Next Step Selection** — workflow MUST NOT end without executing this step.
|
|
504
540
|
|
|
505
541
|
**TodoWrite**: Update `phase-4` -> `"completed"`, `next-step` -> `"in_progress"`
|
|
506
542
|
|
|
@@ -656,6 +692,7 @@ ${implScope.map((item, i) => `${i+1}. **${item.objective}** [${item.priority}]
|
|
|
656
692
|
- `decision_trail[]`: {round, decision, context, options_considered, chosen, rejected_reasons, reason, impact}
|
|
657
693
|
- `narrative_trail[]`: {round, starting_point, key_progress, hypothesis_impact, updated_understanding, remaining_questions}
|
|
658
694
|
- `intent_coverage[]`: {intent, status, where_addressed, notes}
|
|
695
|
+
- `findings_coverage[]`: {finding, round, disposition: recommendation|absorbed|deferred|informational, target, reason}
|
|
659
696
|
|
|
660
697
|
</schemas>
|
|
661
698
|
|
|
@@ -689,7 +726,8 @@ ${implScope.map((item, i) => `${i+1}. **${item.objective}** [${item.priority}]
|
|
|
689
726
|
- [ ] Intent Drift Check performed each round >= 2
|
|
690
727
|
- [ ] All decisions recorded per Decision Recording Protocol
|
|
691
728
|
- [ ] Intent Coverage Matrix verified in Phase 4
|
|
692
|
-
- [ ]
|
|
729
|
+
- [ ] Findings Coverage Matrix completed — all actionable findings mapped to disposition (recommendation/absorbed/deferred/informational)
|
|
730
|
+
- [ ] conclusions.json created with key_conclusions, recommendations, decision_trail, findings_coverage
|
|
693
731
|
- [ ] discussion.md finalized with conclusions, Decision Trail, session statistics
|
|
694
732
|
- [ ] Recommendation review completed (non-auto mode)
|
|
695
733
|
- [ ] Next Step terminal gate executed — `next-step` todo is `"completed"`
|
|
@@ -706,7 +744,7 @@ ${implScope.map((item, i) => `${i+1}. **${item.objective}** [${item.priority}]
|
|
|
706
744
|
| **Business** | Codex | Value, ROI, stakeholder impact | Business implications |
|
|
707
745
|
| **Domain Expert** | Gemini | Domain patterns, best practices, standards | Industry knowledge |
|
|
708
746
|
|
|
709
|
-
User multi-selects up to 4 in Phase 1
|
|
747
|
+
User multi-selects up to 4 in Phase 1. Default: if dimensions >= 2, pre-select Technical + Architectural; if dimensions == 1, single comprehensive view.
|
|
710
748
|
|
|
711
749
|
### Dimension-Direction Mapping
|
|
712
750
|
|
|
@@ -690,7 +690,49 @@ Write "Intent Coverage Matrix" to discussion.md:
|
|
|
690
690
|
- (a) Add a dedicated discussion round to address it before continuing, OR
|
|
691
691
|
- (b) Explicitly confirm with user that it is intentionally deferred
|
|
692
692
|
|
|
693
|
-
##### Step 4.1:
|
|
693
|
+
##### Step 4.1: Findings-to-Recommendations Traceability (MANDATORY before consolidation)
|
|
694
|
+
|
|
695
|
+
Collect ALL actionable findings from every round and map each to a disposition:
|
|
696
|
+
|
|
697
|
+
```javascript
|
|
698
|
+
// 1. Collect all actionable findings from discussion rounds
|
|
699
|
+
// Sources: key findings with actionable implications, technical solutions (proposed/validated),
|
|
700
|
+
// identified gaps (API-frontend gaps, missing features, design issues),
|
|
701
|
+
// corrected assumptions that imply fixes
|
|
702
|
+
const allFindings = collectActionableFindings(explorations, discussionRounds)
|
|
703
|
+
|
|
704
|
+
// 2. Map each finding → disposition
|
|
705
|
+
// | Disposition | Meaning |
|
|
706
|
+
// |-----------------|------------------------------------------------------|
|
|
707
|
+
// | recommendation | Converted to a numbered recommendation |
|
|
708
|
+
// | absorbed | Covered by another recommendation (specify which) |
|
|
709
|
+
// | deferred | Explicitly out-of-scope with reason |
|
|
710
|
+
// | informational | Pure insight, no action needed |
|
|
711
|
+
|
|
712
|
+
const findingsCoverage = allFindings.map(f => ({
|
|
713
|
+
finding: f.summary,
|
|
714
|
+
round: f.round,
|
|
715
|
+
disposition: null, // MUST be assigned before proceeding
|
|
716
|
+
target: null, // e.g., "Rec #1" or "→ Rec #3" or "Reason: ..."
|
|
717
|
+
reason: null
|
|
718
|
+
}))
|
|
719
|
+
|
|
720
|
+
// 3. Gate: ALL findings MUST have a disposition assigned.
|
|
721
|
+
// Do NOT proceed to Step 4.2 with any disposition = null.
|
|
722
|
+
// Unmapped findings must be either added as new recommendations or assigned a disposition.
|
|
723
|
+
|
|
724
|
+
// 4. Append Findings Coverage Matrix to discussion.md
|
|
725
|
+
appendToDiscussion(`
|
|
726
|
+
### Findings Coverage Matrix
|
|
727
|
+
| # | Finding (Round) | Disposition | Target |
|
|
728
|
+
|---|----------------|-------------|--------|
|
|
729
|
+
${findingsCoverage.map((f, i) =>
|
|
730
|
+
`| ${i+1} | ${f.finding} (R${f.round}) | ${f.disposition} | ${f.target || '—'} |`
|
|
731
|
+
).join('\n')}
|
|
732
|
+
`)
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
##### Step 4.2: Consolidate Insights
|
|
694
736
|
|
|
695
737
|
```javascript
|
|
696
738
|
const conclusions = {
|
|
@@ -703,6 +745,7 @@ const conclusions = {
|
|
|
703
745
|
{ point: '...', evidence: '...', confidence: 'high|medium|low' }
|
|
704
746
|
],
|
|
705
747
|
recommendations: [ // Actionable recommendations
|
|
748
|
+
// MUST include all findings with disposition = 'recommendation' from Step 4.1
|
|
706
749
|
{
|
|
707
750
|
action: '...', // What to do (imperative verb + target)
|
|
708
751
|
rationale: '...', // Why this matters
|
|
@@ -726,12 +769,13 @@ const conclusions = {
|
|
|
726
769
|
],
|
|
727
770
|
intent_coverage: [ // From Step 4.0
|
|
728
771
|
{ intent: '...', status: 'addressed|transformed|absorbed|missed', where_addressed: '...', notes: '...' }
|
|
729
|
-
]
|
|
772
|
+
],
|
|
773
|
+
findings_coverage: findingsCoverage // From Step 4.1
|
|
730
774
|
}
|
|
731
775
|
Write(`${sessionFolder}/conclusions.json`, JSON.stringify(conclusions, null, 2))
|
|
732
776
|
```
|
|
733
777
|
|
|
734
|
-
##### Step 4.
|
|
778
|
+
##### Step 4.3: Final discussion.md Update
|
|
735
779
|
|
|
736
780
|
Append conclusions section and finalize:
|
|
737
781
|
|
|
@@ -749,6 +793,8 @@ Append conclusions section and finalize:
|
|
|
749
793
|
| What Was Clarified | Important corrections (~~wrong→right~~) |
|
|
750
794
|
| Key Insights | Valuable learnings for future reference |
|
|
751
795
|
|
|
796
|
+
**Findings Coverage Matrix**: From Step 4.1 (already appended).
|
|
797
|
+
|
|
752
798
|
**Decision Trail Section**:
|
|
753
799
|
|
|
754
800
|
| Subsection | Content |
|
|
@@ -759,7 +805,7 @@ Append conclusions section and finalize:
|
|
|
759
805
|
|
|
760
806
|
**Session Statistics**: Total discussion rounds, key findings count, dimensions covered, artifacts generated, **decision count**.
|
|
761
807
|
|
|
762
|
-
##### Step 4.
|
|
808
|
+
##### Step 4.4: Interactive Recommendation Review (skip in auto mode)
|
|
763
809
|
|
|
764
810
|
Walk through each recommendation one-by-one for user confirmation before proceeding:
|
|
765
811
|
|
|
@@ -810,7 +856,7 @@ for (const [index, rec] of sortedRecs.entries()) {
|
|
|
810
856
|
| 3 | [action] | low | 1 | ❌ Rejected | [reason] |
|
|
811
857
|
```
|
|
812
858
|
|
|
813
|
-
##### Step 4.
|
|
859
|
+
##### Step 4.5: Post-Completion Options
|
|
814
860
|
|
|
815
861
|
**Complexity Assessment** — determine available options:
|
|
816
862
|
|
|
@@ -871,8 +917,9 @@ if (!autoYes) {
|
|
|
871
917
|
| Done | Display artifact paths, end |
|
|
872
918
|
|
|
873
919
|
**Success Criteria**:
|
|
874
|
-
- conclusions.json created with complete synthesis
|
|
875
|
-
-
|
|
920
|
+
- conclusions.json created with complete synthesis including findings_coverage[]
|
|
921
|
+
- **Findings Coverage Matrix** completed — all actionable findings mapped to disposition (recommendation/absorbed/deferred/informational)
|
|
922
|
+
- discussion.md finalized with conclusions, decision trail, and findings coverage matrix
|
|
876
923
|
- **Intent Coverage Matrix** verified — all original intents accounted for (no ❌ Missed without explicit user deferral)
|
|
877
924
|
- User offered meaningful next step options
|
|
878
925
|
- **Complete decision trail** documented and traceable from initial scoping to final conclusions
|
|
@@ -960,7 +1007,7 @@ $csv-wave-pipeline "${topic}"
|
|
|
960
1007
|
| `explorations/*.json` | 2 | Per-perspective exploration results (multi only) |
|
|
961
1008
|
| `explorations.json` | 2 | Single perspective aggregated findings |
|
|
962
1009
|
| `perspectives.json` | 2 | Multi-perspective findings with cross-perspective synthesis |
|
|
963
|
-
| `conclusions.json` | 4 | Final synthesis: conclusions, recommendations, open questions |
|
|
1010
|
+
| `conclusions.json` | 4 | Final synthesis: conclusions, recommendations, findings_coverage, open questions |
|
|
964
1011
|
|
|
965
1012
|
## Analysis Dimensions Reference
|
|
966
1013
|
|
|
@@ -46,6 +46,30 @@ Parse `$ARGUMENTS`:
|
|
|
46
46
|
- Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
|
|
47
47
|
- No `--role` -> `roles/coordinator/role.md`, execute entry router
|
|
48
48
|
|
|
49
|
+
## Delegation Lock
|
|
50
|
+
|
|
51
|
+
**Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
|
|
52
|
+
|
|
53
|
+
Before calling ANY tool, apply this check:
|
|
54
|
+
|
|
55
|
+
| Tool Call | Verdict | Reason |
|
|
56
|
+
|-----------|---------|--------|
|
|
57
|
+
| `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
|
|
58
|
+
| `request_user_input` | ALLOWED | User interaction |
|
|
59
|
+
| `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
|
|
60
|
+
| `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
|
|
61
|
+
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
62
|
+
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
63
|
+
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
64
|
+
| `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
|
|
65
|
+
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
66
|
+
|
|
67
|
+
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
68
|
+
|
|
69
|
+
**No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
49
73
|
## Shared Constants
|
|
50
74
|
|
|
51
75
|
- **Session prefix**: `TAO`
|
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
Orchestrate team-arch-opt: analyze -> dispatch -> spawn -> monitor -> report.
|
|
4
4
|
|
|
5
|
+
## Scope Lock (READ FIRST — overrides all other sections)
|
|
6
|
+
|
|
7
|
+
**You are a dispatcher, not a doer.** Your ONLY outputs are:
|
|
8
|
+
- Session state files (`.workflow/.team/` directory)
|
|
9
|
+
- `spawn_agent` / `wait_agent` / `close_agent` / `send_input` calls
|
|
10
|
+
- Status reports to the user / `request_user_input` prompts
|
|
11
|
+
|
|
12
|
+
**FORBIDDEN** (even if the task seems trivial):
|
|
13
|
+
```
|
|
14
|
+
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
+
WRONG: Bash("ccw cli ...") — worker work
|
|
16
|
+
WRONG: Edit/Write on project source files — worker work
|
|
17
|
+
WRONG: Bash running build/test/lint commands — worker work
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
5
24
|
## Identity
|
|
6
25
|
- Name: coordinator | Tag: [coordinator]
|
|
7
26
|
- Responsibility: Analyze task -> Create session -> Dispatch tasks -> Monitor progress -> Report results
|
|
@@ -14,6 +33,7 @@ Orchestrate team-arch-opt: analyze -> dispatch -> spawn -> monitor -> report.
|
|
|
14
33
|
- Respect pipeline stage dependencies (deps)
|
|
15
34
|
- Handle review-fix cycles with max 3 iterations
|
|
16
35
|
- Execute completion action in Phase 5
|
|
36
|
+
- **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
|
|
17
37
|
|
|
18
38
|
### MUST NOT
|
|
19
39
|
- Implement domain logic (analyzing, refactoring, reviewing) -- workers handle this
|
|
@@ -21,6 +41,8 @@ Orchestrate team-arch-opt: analyze -> dispatch -> spawn -> monitor -> report.
|
|
|
21
41
|
- Skip checkpoints when configured
|
|
22
42
|
- Force-advance pipeline past failed review/validation
|
|
23
43
|
- Modify source code directly -- delegate to refactorer worker
|
|
44
|
+
- Call CLI tools (ccw cli) — only workers use CLI
|
|
45
|
+
- Read project source code — delegate to workers
|
|
24
46
|
|
|
25
47
|
## Command Execution Protocol
|
|
26
48
|
|
|
@@ -45,6 +45,30 @@ Parse `$ARGUMENTS`:
|
|
|
45
45
|
- Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
|
|
46
46
|
- No `--role` -> `roles/coordinator/role.md`, execute entry router
|
|
47
47
|
|
|
48
|
+
## Delegation Lock
|
|
49
|
+
|
|
50
|
+
**Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
|
|
51
|
+
|
|
52
|
+
Before calling ANY tool, apply this check:
|
|
53
|
+
|
|
54
|
+
| Tool Call | Verdict | Reason |
|
|
55
|
+
|-----------|---------|--------|
|
|
56
|
+
| `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
|
|
57
|
+
| `request_user_input` | ALLOWED | User interaction |
|
|
58
|
+
| `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
|
|
59
|
+
| `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
|
|
60
|
+
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
61
|
+
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
62
|
+
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
63
|
+
| `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
|
|
64
|
+
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
65
|
+
|
|
66
|
+
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
67
|
+
|
|
68
|
+
**No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
48
72
|
## Shared Constants
|
|
49
73
|
|
|
50
74
|
- **Session prefix**: `BRS`
|
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Orchestrate team-brainstorm: topic clarify -> dispatch -> spawn -> monitor -> report.
|
|
4
4
|
|
|
5
|
+
## Scope Lock (READ FIRST — overrides all other sections)
|
|
6
|
+
|
|
7
|
+
**You are a dispatcher, not a doer.** Your ONLY outputs are:
|
|
8
|
+
- Session state files (`.workflow/.team/` directory)
|
|
9
|
+
- `spawn_agent` / `wait_agent` / `close_agent` / `send_input` calls
|
|
10
|
+
- Status reports to the user / `request_user_input` prompts
|
|
11
|
+
|
|
12
|
+
**FORBIDDEN** (even if the task seems trivial):
|
|
13
|
+
```
|
|
14
|
+
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
+
WRONG: Bash("ccw cli ...") — worker work
|
|
16
|
+
WRONG: Edit/Write on project source files — worker work
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
5
23
|
## Identity
|
|
6
24
|
- Name: coordinator | Tag: [coordinator]
|
|
7
25
|
- Responsibility: Topic clarification -> Create team -> Dispatch tasks -> Monitor progress -> Report results
|
|
@@ -15,6 +33,7 @@ Orchestrate team-brainstorm: topic clarify -> dispatch -> spawn -> monitor -> re
|
|
|
15
33
|
- Stop after spawning workers -- wait for results via wait_agent
|
|
16
34
|
- Manage Generator-Critic loop count (max 2 rounds)
|
|
17
35
|
- Execute completion action in Phase 5
|
|
36
|
+
- **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
|
|
18
37
|
|
|
19
38
|
### MUST NOT
|
|
20
39
|
- Generate ideas, challenge assumptions, synthesize, or evaluate -- workers handle this
|
|
@@ -22,6 +41,7 @@ Orchestrate team-brainstorm: topic clarify -> dispatch -> spawn -> monitor -> re
|
|
|
22
41
|
- Force-advance pipeline past GC loop decisions
|
|
23
42
|
- Modify artifact files (ideas/*.md, critiques/*.md, etc.) -- delegate to workers
|
|
24
43
|
- Skip GC severity check when critique arrives
|
|
44
|
+
- Call CLI tools (ccw cli) — only workers use CLI
|
|
25
45
|
|
|
26
46
|
## Command Execution Protocol
|
|
27
47
|
|
|
@@ -32,6 +32,30 @@ Universal team coordination skill: analyze task -> generate role-specs -> dispat
|
|
|
32
32
|
ccw cli --mode write - code generation and modification
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
+
## Delegation Lock
|
|
36
|
+
|
|
37
|
+
**Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
|
|
38
|
+
|
|
39
|
+
Before calling ANY tool, apply this check:
|
|
40
|
+
|
|
41
|
+
| Tool Call | Verdict | Reason |
|
|
42
|
+
|-----------|---------|--------|
|
|
43
|
+
| `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
|
|
44
|
+
| `request_user_input` | ALLOWED | User interaction |
|
|
45
|
+
| `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
|
|
46
|
+
| `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
|
|
47
|
+
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
48
|
+
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
49
|
+
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
50
|
+
| `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
|
|
51
|
+
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
52
|
+
|
|
53
|
+
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
54
|
+
|
|
55
|
+
**No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent. The overhead is the feature — it provides session tracking, artifact persistence, and resume capability.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
35
59
|
## Shared Constants
|
|
36
60
|
|
|
37
61
|
| Constant | Value |
|
|
@@ -6,6 +6,39 @@ role: coordinator
|
|
|
6
6
|
|
|
7
7
|
Orchestrate the team-coordinate workflow: task analysis, dynamic role-spec generation, task dispatching, progress monitoring, session state, and completion action. The sole built-in role -- all worker roles are generated at runtime as role-specs and spawned via team_worker agent.
|
|
8
8
|
|
|
9
|
+
## Scope Lock (READ FIRST — overrides all other sections)
|
|
10
|
+
|
|
11
|
+
**You are a dispatcher, not a doer.** Your ONLY outputs are:
|
|
12
|
+
- Session state files (`.workflow/.team/` directory)
|
|
13
|
+
- `spawn_agent` / `wait_agent` / `close_agent` calls
|
|
14
|
+
- Status reports to the user
|
|
15
|
+
- `request_user_input` prompts
|
|
16
|
+
|
|
17
|
+
**FORBIDDEN actions** (even if the task seems trivial):
|
|
18
|
+
```
|
|
19
|
+
WRONG: Read("src/components/Button.tsx") — worker work
|
|
20
|
+
WRONG: Grep(pattern="useState", path="src/") — worker work
|
|
21
|
+
WRONG: Bash("ccw cli -p '...' --tool gemini") — worker work
|
|
22
|
+
WRONG: Edit("src/utils/helper.ts", ...) — worker work
|
|
23
|
+
WRONG: Bash("npm test") — worker work
|
|
24
|
+
WRONG: mcp__ace-tool__search_context(query="...") — worker work
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**CORRECT actions**:
|
|
28
|
+
```
|
|
29
|
+
OK: Read(".workflow/.team/TC-xxx/team-session.json") — session state
|
|
30
|
+
OK: Write(".workflow/.team/TC-xxx/tasks.json", ...) — task management
|
|
31
|
+
OK: Read("roles/coordinator/commands/analyze-task.md") — own instructions
|
|
32
|
+
OK: Read("specs/role-spec-template.md") — generating role-specs
|
|
33
|
+
OK: spawn_agent({ agent_type: "team_worker", ... }) — delegation
|
|
34
|
+
OK: wait_agent({ ids: [...] }) — monitoring
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Self-check gate**: After Phase 1 analysis, before ANY other action, ask yourself:
|
|
38
|
+
> "Am I about to read/write/run something in the project source? If yes → STOP → spawn worker."
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
9
42
|
## Identity
|
|
10
43
|
|
|
11
44
|
- **Name**: `coordinator` | **Tag**: `[coordinator]`
|
|
@@ -178,20 +211,15 @@ For callback/check/resume/adapt/complete: load `@commands/monitor.md` and execut
|
|
|
178
211
|
|
|
179
212
|
**Success**: Task analyzed, capabilities detected, dependency graph built, roles designed with role-spec metadata.
|
|
180
213
|
|
|
181
|
-
**
|
|
214
|
+
**HARD GATE — Mandatory Delegation**:
|
|
215
|
+
|
|
216
|
+
After Phase 1 completes, the ONLY valid next step is Phase 2 (generate role-specs → spawn workers). There is NO path from Phase 1 to "just do the work directly."
|
|
182
217
|
|
|
183
|
-
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
- NEVER execute task work directly, even for single-role low-complexity tasks
|
|
187
|
-
- NEVER skip team workflow based on complexity assessment
|
|
218
|
+
- Complexity=Low, 1 role → spawn 1 worker. NOT "I'll just do it myself."
|
|
219
|
+
- Task seems trivial → spawn 1 worker. NOT "This is simple enough."
|
|
220
|
+
- Only one file involved → spawn 1 worker. NOT "Let me just read it quickly."
|
|
188
221
|
|
|
189
|
-
**
|
|
190
|
-
- Consistent message bus communication
|
|
191
|
-
- Session state management
|
|
192
|
-
- Artifact tracking
|
|
193
|
-
- Fast-advance capability
|
|
194
|
-
- Resume/recovery mechanisms
|
|
222
|
+
**Violation test**: If your next tool call after Phase 1 is anything other than `Read` on session/spec files or `Write` to session state → you are violating the Scope Lock. STOP and reconsider.
|
|
195
223
|
|
|
196
224
|
---
|
|
197
225
|
|
|
@@ -46,6 +46,30 @@ Parse `$ARGUMENTS`:
|
|
|
46
46
|
- Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
|
|
47
47
|
- No `--role` → `roles/coordinator/role.md`, execute entry router
|
|
48
48
|
|
|
49
|
+
## Delegation Lock
|
|
50
|
+
|
|
51
|
+
**Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
|
|
52
|
+
|
|
53
|
+
Before calling ANY tool, apply this check:
|
|
54
|
+
|
|
55
|
+
| Tool Call | Verdict | Reason |
|
|
56
|
+
|-----------|---------|--------|
|
|
57
|
+
| `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
|
|
58
|
+
| `request_user_input` | ALLOWED | User interaction |
|
|
59
|
+
| `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
|
|
60
|
+
| `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
|
|
61
|
+
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
62
|
+
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
63
|
+
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
64
|
+
| `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
|
|
65
|
+
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
66
|
+
|
|
67
|
+
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
68
|
+
|
|
69
|
+
**No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
49
73
|
## Shared Constants
|
|
50
74
|
|
|
51
75
|
- **Session prefix**: `FE`
|
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Orchestrate team-frontend: analyze -> dispatch -> spawn -> monitor -> report.
|
|
4
4
|
|
|
5
|
+
## Scope Lock (READ FIRST — overrides all other sections)
|
|
6
|
+
|
|
7
|
+
**You are a dispatcher, not a doer.** Your ONLY outputs are:
|
|
8
|
+
- Session state files (`.workflow/.team/` directory)
|
|
9
|
+
- `spawn_agent` / `wait_agent` / `close_agent` / `send_input` calls
|
|
10
|
+
- Status reports to the user / `request_user_input` prompts
|
|
11
|
+
|
|
12
|
+
**FORBIDDEN** (even if the task seems trivial):
|
|
13
|
+
```
|
|
14
|
+
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
+
WRONG: Bash("ccw cli ...") — worker work
|
|
16
|
+
WRONG: Edit/Write on project source files — worker work
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
5
23
|
## Identity
|
|
6
24
|
- Name: coordinator | Tag: [coordinator]
|
|
7
25
|
- Responsibility: Analyze task -> Create team -> Dispatch tasks -> Monitor progress -> Report results
|
|
@@ -15,6 +33,7 @@ Orchestrate team-frontend: analyze -> dispatch -> spawn -> monitor -> report.
|
|
|
15
33
|
- Stop after spawning workers -- wait for callbacks
|
|
16
34
|
- Handle GC loops (developer <-> qa) with max 2 iterations
|
|
17
35
|
- Execute completion action in Phase 5
|
|
36
|
+
- **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
|
|
18
37
|
|
|
19
38
|
### MUST NOT
|
|
20
39
|
- Implement domain logic (analyzing, designing, coding, reviewing) -- workers handle this
|
|
@@ -22,6 +41,7 @@ Orchestrate team-frontend: analyze -> dispatch -> spawn -> monitor -> report.
|
|
|
22
41
|
- Skip architecture review gate when configured (feature/system modes)
|
|
23
42
|
- Force-advance pipeline past failed QA review
|
|
24
43
|
- Modify source code directly -- delegate to developer worker
|
|
44
|
+
- Call CLI tools (ccw cli) — only workers use CLI
|
|
25
45
|
|
|
26
46
|
## Command Execution Protocol
|
|
27
47
|
|
|
@@ -56,6 +56,30 @@ Parse `$ARGUMENTS`:
|
|
|
56
56
|
- Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
|
|
57
57
|
- No `--role` → `roles/coordinator/role.md`, execute entry router
|
|
58
58
|
|
|
59
|
+
## Delegation Lock
|
|
60
|
+
|
|
61
|
+
**Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
|
|
62
|
+
|
|
63
|
+
Before calling ANY tool, apply this check:
|
|
64
|
+
|
|
65
|
+
| Tool Call | Verdict | Reason |
|
|
66
|
+
|-----------|---------|--------|
|
|
67
|
+
| `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
|
|
68
|
+
| `request_user_input` | ALLOWED | User interaction |
|
|
69
|
+
| `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
|
|
70
|
+
| `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
|
|
71
|
+
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
72
|
+
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
73
|
+
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
74
|
+
| `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
|
|
75
|
+
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
76
|
+
|
|
77
|
+
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
78
|
+
|
|
79
|
+
**No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
59
83
|
## Shared Constants
|
|
60
84
|
|
|
61
85
|
- **Session prefix**: `TFD`
|