@iloom/cli 0.11.1 → 0.13.0-beta.0
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/LICENSE +1 -1
- package/README.md +170 -15
- package/dist/BitBucketApiClient-J2ZSCS5N.js +10 -0
- package/dist/BitBucketVCSProvider-5X64IXXW.js +12 -0
- package/dist/{BranchNamingService-XBCO747L.js → BranchNamingService-MEK2WZUD.js} +4 -4
- package/dist/ClaudeContextManager-RRGREEZQ.js +14 -0
- package/dist/ClaudeService-LEPW6QAC.js +13 -0
- package/dist/GitHubService-UTAYZXL3.js +12 -0
- package/dist/IssueTrackerFactory-KE2BDCLC.js +15 -0
- package/dist/{LoomLauncher-5AZU2F5I.js → LoomLauncher-GKQMR5E6.js} +10 -10
- package/dist/MetadataManager-V4LSJ2PB.js +10 -0
- package/dist/ProjectCapabilityDetector-I4J66WKF.js +11 -0
- package/dist/{PromptTemplateManager-T5VTLJP3.js → PromptTemplateManager-I75WKXM4.js} +3 -3
- package/dist/README.md +170 -15
- package/dist/{SettingsManager-WQ5NSGAH.js → SettingsManager-KQU7OX7G.js} +15 -5
- package/dist/SettingsMigrationManager-ZPARZ5KH.js +10 -0
- package/dist/agents/iloom-code-reviewer.md +2 -1
- package/dist/agents/iloom-framework-detector.md +0 -1
- package/dist/agents/iloom-issue-analyze-and-plan.md +4 -1
- package/dist/agents/iloom-issue-analyzer.md +4 -1
- package/dist/agents/iloom-issue-complexity-evaluator.md +4 -1
- package/dist/agents/iloom-issue-enhancer.md +4 -1
- package/dist/agents/iloom-issue-implementer.md +5 -2
- package/dist/agents/iloom-issue-planner.md +4 -1
- package/dist/agents/iloom-wave-verifier.md +186 -0
- package/dist/browser-VZY7F2DF.js +10 -0
- package/dist/build-V3KADFMO.js +27 -0
- package/dist/{chunk-XXFSOVL3.js → chunk-3XEXT35Z.js} +4 -4
- package/dist/{chunk-YRCEOQPX.js → chunk-4JZEQBWV.js} +4 -3
- package/dist/chunk-4JZEQBWV.js.map +1 -0
- package/dist/{chunk-LE2NOUTN.js → chunk-4VQXMEEP.js} +3 -3
- package/dist/{chunk-G2MNSPA4.js → chunk-772N5WCA.js} +2 -2
- package/dist/{chunk-WG4MLJ6J.js → chunk-7RCUWU3I.js} +2 -2
- package/dist/chunk-7RCUWU3I.js.map +1 -0
- package/dist/{chunk-NOMQ5RFG.js → chunk-7UBEHQTP.js} +2 -2
- package/dist/{chunk-7NFCGKZT.js → chunk-AQUSMNBF.js} +3 -3
- package/dist/{chunk-IDCE26KD.js → chunk-AUYSAMXV.js} +3 -3
- package/dist/chunk-AYLC633W.js +406 -0
- package/dist/chunk-AYLC633W.js.map +1 -0
- package/dist/{chunk-QVAA5KHK.js → chunk-BZ7KTXPB.js} +16 -8
- package/dist/chunk-BZ7KTXPB.js.map +1 -0
- package/dist/{chunk-K7R5QY6C.js → chunk-CE676WCN.js} +2 -2
- package/dist/{chunk-5UFGO4ZT.js → chunk-CQHHEW2M.js} +6 -3
- package/dist/chunk-CQHHEW2M.js.map +1 -0
- package/dist/{chunk-LHDD4JHC.js → chunk-D4Q7T5KD.js} +4 -4
- package/dist/{chunk-RBYTXYGD.js → chunk-D75KSI3V.js} +2 -2
- package/dist/{chunk-Y3RX7LZT.js → chunk-DDHWZNGL.js} +18 -12
- package/dist/chunk-DDHWZNGL.js.map +1 -0
- package/dist/{chunk-5LTID2AF.js → chunk-DMSL5BAP.js} +35 -6
- package/dist/{chunk-5LTID2AF.js.map → chunk-DMSL5BAP.js.map} +1 -1
- package/dist/{chunk-SQYHPBFP.js → chunk-EGNUOALL.js} +2 -2
- package/dist/{chunk-ZAXRQLK3.js → chunk-FTYWGQFM.js} +2 -2
- package/dist/{chunk-5PNZBH6V.js → chunk-H3T3EPF3.js} +2 -2
- package/dist/{chunk-VNYWBHKR.js → chunk-JD3K2344.js} +3 -3
- package/dist/{chunk-6YVJVUR4.js → chunk-JDN4SPV3.js} +3 -3
- package/dist/{chunk-NCPZYQ4B.js → chunk-K3QGG4O2.js} +2 -2
- package/dist/{chunk-ABVMUNCD.js → chunk-KQSV7FOG.js} +64 -10
- package/dist/chunk-KQSV7FOG.js.map +1 -0
- package/dist/{chunk-NH3QZYE5.js → chunk-KV4NU3RP.js} +2 -2
- package/dist/{chunk-NDSGJZI2.js → chunk-LOAYWTJJ.js} +2 -2
- package/dist/{chunk-GMDSYLI6.js → chunk-MY2Q3FJ3.js} +2 -2
- package/dist/{chunk-CV47VCMQ.js → chunk-NPVA65KS.js} +2 -2
- package/dist/{chunk-RMLADZRY.js → chunk-NTDY5AMO.js} +5 -5
- package/dist/{chunk-UHIBKD73.js → chunk-NUUFP53X.js} +13 -32
- package/dist/{chunk-UHIBKD73.js.map → chunk-NUUFP53X.js.map} +1 -1
- package/dist/{chunk-7OCGBJLR.js → chunk-OIVFHJOA.js} +2 -2
- package/dist/chunk-P5MXXHXQ.js +284 -0
- package/dist/chunk-P5MXXHXQ.js.map +1 -0
- package/dist/{chunk-TEJAGQX2.js → chunk-PD75ZCFT.js} +35 -35
- package/dist/chunk-PD75ZCFT.js.map +1 -0
- package/dist/{chunk-NN5RYWXA.js → chunk-PH65MFQM.js} +6 -6
- package/dist/{chunk-LL6TOX3G.js → chunk-Q7VXHJP6.js} +10 -10
- package/dist/chunk-Q7VXHJP6.js.map +1 -0
- package/dist/chunk-QC65IOV3.js +304 -0
- package/dist/chunk-QC65IOV3.js.map +1 -0
- package/dist/{chunk-V4STTBQD.js → chunk-QED2WB2D.js} +9 -9
- package/dist/{chunk-3RXYOBME.js → chunk-QNPJXO53.js} +5 -5
- package/dist/{chunk-3RXYOBME.js.map → chunk-QNPJXO53.js.map} +1 -1
- package/dist/chunk-QQULYI2S.js +696 -0
- package/dist/chunk-QQULYI2S.js.map +1 -0
- package/dist/{chunk-QNHZM5ZV.js → chunk-QXGM32TO.js} +3 -3
- package/dist/{chunk-TZNNJLGT.js → chunk-RFCAPHL5.js} +6 -6
- package/dist/{chunk-7FIXNAUO.js → chunk-SA446KA2.js} +66 -43
- package/dist/chunk-SA446KA2.js.map +1 -0
- package/dist/{chunk-UDCI3QTS.js → chunk-SN4S5CWL.js} +2 -2
- package/dist/{chunk-VUUN3KE4.js → chunk-TAEVA4QR.js} +8 -8
- package/dist/chunk-TAEVA4QR.js.map +1 -0
- package/dist/{chunk-IR74O2F6.js → chunk-TN2D2RX7.js} +253 -174
- package/dist/chunk-TN2D2RX7.js.map +1 -0
- package/dist/{chunk-3GTUXW26.js → chunk-VIQOQ463.js} +19 -3
- package/dist/chunk-VIQOQ463.js.map +1 -0
- package/dist/{chunk-H2SSF24U.js → chunk-VRPPI6GU.js} +17 -6
- package/dist/{chunk-H2SSF24U.js.map → chunk-VRPPI6GU.js.map} +1 -1
- package/dist/{chunk-XFQGI2E3.js → chunk-VVQQIG64.js} +58 -53
- package/dist/chunk-VVQQIG64.js.map +1 -0
- package/dist/{chunk-YETJNRQM.js → chunk-WEBMMJKL.js} +2 -1
- package/dist/{chunk-ET6A2JR4.js → chunk-WGUGB54H.js} +120 -18
- package/dist/chunk-WGUGB54H.js.map +1 -0
- package/dist/{chunk-QR4FU53I.js → chunk-X5DRLONY.js} +22 -12
- package/dist/chunk-X5DRLONY.js.map +1 -0
- package/dist/{chunk-KQFIGI37.js → chunk-XCP2WDYA.js} +7 -7
- package/dist/{chunk-VMZG66UV.js → chunk-YUOVWWJX.js} +312 -7
- package/dist/chunk-YUOVWWJX.js.map +1 -0
- package/dist/{chunk-HLDY5S4C.js → chunk-ZUIFO7B4.js} +3 -3
- package/dist/{claude-ONQTDWV3.js → claude-ACL7G4CF.js} +4 -4
- package/dist/{cleanup-YOM6PQCN.js → cleanup-RJKLI47I.js} +40 -37
- package/dist/cleanup-RJKLI47I.js.map +1 -0
- package/dist/cli.js +322 -169
- package/dist/cli.js.map +1 -1
- package/dist/{color-VQD52LOI.js → color-AC6F2QE7.js} +3 -3
- package/dist/{commit-DC2Q5CDY.js → commit-SUHRUMDE.js} +15 -15
- package/dist/{compile-4NCQECKE.js → compile-2MD346PO.js} +11 -11
- package/dist/{contribute-M5UWXCAV.js → contribute-P4BMRY7C.js} +11 -11
- package/dist/{contribute-M5UWXCAV.js.map → contribute-P4BMRY7C.js.map} +1 -1
- package/dist/{mcp/darwin-3JFFE3W2.js → darwin-5K3I4FTH.js} +2 -2
- package/dist/database-helpers-PRDFNDRO.js +11 -0
- package/dist/{dev-server-CYRP6M73.js → dev-server-ZNTLWOL5.js} +35 -21
- package/dist/dev-server-ZNTLWOL5.js.map +1 -0
- package/dist/{feedback-BMAZGKRW.js → feedback-Q6WG2WX4.js} +17 -17
- package/dist/{git-BXUD6CL5.js → git-TX2IEMB3.js} +6 -6
- package/dist/ignite-P644W2PK.js +35 -0
- package/dist/index.d.ts +236 -18
- package/dist/index.js +180 -63
- package/dist/index.js.map +1 -1
- package/dist/{init-CI43GJHV.js → init-5HFY7JG6.js} +18 -18
- package/dist/{install-deps-SRTM5U7D.js → install-deps-J4ALTM27.js} +11 -11
- package/dist/{installation-detector-HF6QN7KP.js → installation-detector-PYAZ2O6U.js} +3 -3
- package/dist/{issues-DMRQJH7E.js → issues-LZMIF22U.js} +69 -56
- package/dist/issues-LZMIF22U.js.map +1 -0
- package/dist/lint-XIXKU22H.js +27 -0
- package/dist/{linux-RYLOP2LY.js → linux-WUGRYCJY.js} +2 -2
- package/dist/mcp/{chunk-PIIRD4LO.js → chunk-4HZMW2V3.js} +1 -1
- package/dist/mcp/{chunk-PIIRD4LO.js.map → chunk-4HZMW2V3.js.map} +1 -1
- package/dist/{darwin-5BHWRJ7D.js → mcp/darwin-U25WIGH6.js} +2 -2
- package/dist/mcp/issue-management-server.js +908 -20
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/mcp/{linux-JBVS4R3A.js → linux-5BXVBGSY.js} +2 -2
- package/dist/mcp/recap-server.js +24 -22
- package/dist/mcp/recap-server.js.map +1 -1
- package/dist/mcp/{tmux-RYBLEHUZ.js → tmux-CU26ZTNM.js} +2 -2
- package/dist/mcp/{wsl-4QZIQLLE.js → wsl-KI25UDOF.js} +2 -2
- package/dist/{open-2Y7GSUTJ.js → open-KUO35JIJ.js} +36 -21
- package/dist/open-KUO35JIJ.js.map +1 -0
- package/dist/{plan-SWFPLNJE.js → plan-7CF56OIR.js} +47 -43
- package/dist/{plan-SWFPLNJE.js.map → plan-7CF56OIR.js.map} +1 -1
- package/dist/{projects-IUSUXD5D.js → projects-L5AHUBGA.js} +6 -6
- package/dist/{prompt-7LZB4PAT.js → prompt-FUU5NMJQ.js} +3 -3
- package/dist/prompt-FUU5NMJQ.js.map +1 -0
- package/dist/prompts/init-prompt.txt +184 -23
- package/dist/prompts/issue-prompt.txt +94 -158
- package/dist/prompts/plan-prompt.txt +55 -0
- package/dist/prompts/regular-prompt.txt +1 -1
- package/dist/prompts/swarm-orchestrator-prompt.txt +78 -21
- package/dist/{rebase-S6OHAOOF.js → rebase-MAMWPA2L.js} +12 -12
- package/dist/{recap-GGVCG5VH.js → recap-IDBO3KM5.js} +9 -9
- package/dist/{remote-MZTFHHTU.js → remote-RO4LZKT2.js} +3 -3
- package/dist/remote-RO4LZKT2.js.map +1 -0
- package/dist/{run-ST3FR75O.js → run-RGZHCQ6M.js} +36 -21
- package/dist/run-RGZHCQ6M.js.map +1 -0
- package/dist/schema/settings.schema.json +171 -11
- package/dist/{shell-W4SBQPTE.js → shell-7ADCDFIV.js} +8 -8
- package/dist/{summary-P2JCIIJO.js → summary-7J2HORFD.js} +21 -19
- package/dist/summary-7J2HORFD.js.map +1 -0
- package/dist/test-SRB7EWU6.js +27 -0
- package/dist/{test-git-2KFFAQ6B.js → test-git-G7ATVIXG.js} +6 -6
- package/dist/{test-jira-FKDKG6CD.js → test-jira-Q2HPA522.js} +8 -8
- package/dist/{test-prefix-GP2DAX37.js → test-prefix-JMDGXR5A.js} +6 -6
- package/dist/{test-tabs-YDWMWTVA.js → test-tabs-NGPTFD5T.js} +2 -2
- package/dist/{test-webserver-QI3QQFZ3.js → test-webserver-GZFVXBGD.js} +8 -8
- package/dist/{tmux-7ZTA3BDI.js → tmux-6LRFH3DM.js} +2 -2
- package/dist/{update-XLW7R7FL.js → update-AD3GE5C4.js} +4 -4
- package/dist/{update-notifier-EYLAXZAA.js → update-notifier-VYDTDMSJ.js} +3 -3
- package/dist/update-notifier-VYDTDMSJ.js.map +1 -0
- package/dist/{vscode-TOGE5N67.js → vscode-3I7ISHUU.js} +12 -12
- package/dist/{vscode-announcement-NIX7O2MG.js → vscode-announcement-AL3EHORH.js} +3 -3
- package/dist/{wsl-Y4GUTOQ7.js → wsl-4VMVT2PO.js} +2 -2
- package/package.json +1 -1
- package/dist/ClaudeContextManager-SXDCWDJA.js +0 -14
- package/dist/ClaudeService-6E6MCGJE.js +0 -13
- package/dist/GitHubService-2R5GQG4K.js +0 -12
- package/dist/IssueTrackerFactory-XN6MQ4UN.js +0 -14
- package/dist/MetadataManager-CMQQTFLQ.js +0 -10
- package/dist/ProjectCapabilityDetector-IC6NAFGY.js +0 -11
- package/dist/SettingsMigrationManager-S6J7OHUH.js +0 -10
- package/dist/build-OLS6J5KZ.js +0 -27
- package/dist/chunk-3GTUXW26.js.map +0 -1
- package/dist/chunk-5UFGO4ZT.js.map +0 -1
- package/dist/chunk-7FIXNAUO.js.map +0 -1
- package/dist/chunk-ABVMUNCD.js.map +0 -1
- package/dist/chunk-ET6A2JR4.js.map +0 -1
- package/dist/chunk-IR74O2F6.js.map +0 -1
- package/dist/chunk-LL6TOX3G.js.map +0 -1
- package/dist/chunk-QR4FU53I.js.map +0 -1
- package/dist/chunk-QVAA5KHK.js.map +0 -1
- package/dist/chunk-RVI6C2H5.js +0 -220
- package/dist/chunk-RVI6C2H5.js.map +0 -1
- package/dist/chunk-TEJAGQX2.js.map +0 -1
- package/dist/chunk-VMZG66UV.js.map +0 -1
- package/dist/chunk-VUUN3KE4.js.map +0 -1
- package/dist/chunk-WG4MLJ6J.js.map +0 -1
- package/dist/chunk-XFQGI2E3.js.map +0 -1
- package/dist/chunk-Y3RX7LZT.js.map +0 -1
- package/dist/chunk-YRCEOQPX.js.map +0 -1
- package/dist/cleanup-YOM6PQCN.js.map +0 -1
- package/dist/dev-server-CYRP6M73.js.map +0 -1
- package/dist/ignite-IO4LXVXJ.js +0 -35
- package/dist/issues-DMRQJH7E.js.map +0 -1
- package/dist/lint-BSWRMGPZ.js +0 -27
- package/dist/neon-helpers-HWIYRKOW.js +0 -11
- package/dist/open-2Y7GSUTJ.js.map +0 -1
- package/dist/run-ST3FR75O.js.map +0 -1
- package/dist/summary-P2JCIIJO.js.map +0 -1
- package/dist/test-6JH4FE2X.js +0 -27
- /package/dist/{BranchNamingService-XBCO747L.js.map → BitBucketApiClient-J2ZSCS5N.js.map} +0 -0
- /package/dist/{ClaudeContextManager-SXDCWDJA.js.map → BitBucketVCSProvider-5X64IXXW.js.map} +0 -0
- /package/dist/{ClaudeService-6E6MCGJE.js.map → BranchNamingService-MEK2WZUD.js.map} +0 -0
- /package/dist/{GitHubService-2R5GQG4K.js.map → ClaudeContextManager-RRGREEZQ.js.map} +0 -0
- /package/dist/{IssueTrackerFactory-XN6MQ4UN.js.map → ClaudeService-LEPW6QAC.js.map} +0 -0
- /package/dist/{MetadataManager-CMQQTFLQ.js.map → GitHubService-UTAYZXL3.js.map} +0 -0
- /package/dist/{ProjectCapabilityDetector-IC6NAFGY.js.map → IssueTrackerFactory-KE2BDCLC.js.map} +0 -0
- /package/dist/{LoomLauncher-5AZU2F5I.js.map → LoomLauncher-GKQMR5E6.js.map} +0 -0
- /package/dist/{PromptTemplateManager-T5VTLJP3.js.map → MetadataManager-V4LSJ2PB.js.map} +0 -0
- /package/dist/{SettingsManager-WQ5NSGAH.js.map → ProjectCapabilityDetector-I4J66WKF.js.map} +0 -0
- /package/dist/{SettingsMigrationManager-S6J7OHUH.js.map → PromptTemplateManager-I75WKXM4.js.map} +0 -0
- /package/dist/{claude-ONQTDWV3.js.map → SettingsManager-KQU7OX7G.js.map} +0 -0
- /package/dist/{color-VQD52LOI.js.map → SettingsMigrationManager-ZPARZ5KH.js.map} +0 -0
- /package/dist/{darwin-5BHWRJ7D.js.map → browser-VZY7F2DF.js.map} +0 -0
- /package/dist/{build-OLS6J5KZ.js.map → build-V3KADFMO.js.map} +0 -0
- /package/dist/{chunk-XXFSOVL3.js.map → chunk-3XEXT35Z.js.map} +0 -0
- /package/dist/{chunk-LE2NOUTN.js.map → chunk-4VQXMEEP.js.map} +0 -0
- /package/dist/{chunk-G2MNSPA4.js.map → chunk-772N5WCA.js.map} +0 -0
- /package/dist/{chunk-NOMQ5RFG.js.map → chunk-7UBEHQTP.js.map} +0 -0
- /package/dist/{chunk-7NFCGKZT.js.map → chunk-AQUSMNBF.js.map} +0 -0
- /package/dist/{chunk-IDCE26KD.js.map → chunk-AUYSAMXV.js.map} +0 -0
- /package/dist/{chunk-K7R5QY6C.js.map → chunk-CE676WCN.js.map} +0 -0
- /package/dist/{chunk-LHDD4JHC.js.map → chunk-D4Q7T5KD.js.map} +0 -0
- /package/dist/{chunk-RBYTXYGD.js.map → chunk-D75KSI3V.js.map} +0 -0
- /package/dist/{chunk-SQYHPBFP.js.map → chunk-EGNUOALL.js.map} +0 -0
- /package/dist/{chunk-ZAXRQLK3.js.map → chunk-FTYWGQFM.js.map} +0 -0
- /package/dist/{chunk-5PNZBH6V.js.map → chunk-H3T3EPF3.js.map} +0 -0
- /package/dist/{chunk-VNYWBHKR.js.map → chunk-JD3K2344.js.map} +0 -0
- /package/dist/{chunk-6YVJVUR4.js.map → chunk-JDN4SPV3.js.map} +0 -0
- /package/dist/{chunk-NCPZYQ4B.js.map → chunk-K3QGG4O2.js.map} +0 -0
- /package/dist/{chunk-NH3QZYE5.js.map → chunk-KV4NU3RP.js.map} +0 -0
- /package/dist/{chunk-NDSGJZI2.js.map → chunk-LOAYWTJJ.js.map} +0 -0
- /package/dist/{chunk-GMDSYLI6.js.map → chunk-MY2Q3FJ3.js.map} +0 -0
- /package/dist/{chunk-CV47VCMQ.js.map → chunk-NPVA65KS.js.map} +0 -0
- /package/dist/{chunk-RMLADZRY.js.map → chunk-NTDY5AMO.js.map} +0 -0
- /package/dist/{chunk-7OCGBJLR.js.map → chunk-OIVFHJOA.js.map} +0 -0
- /package/dist/{chunk-NN5RYWXA.js.map → chunk-PH65MFQM.js.map} +0 -0
- /package/dist/{chunk-V4STTBQD.js.map → chunk-QED2WB2D.js.map} +0 -0
- /package/dist/{chunk-QNHZM5ZV.js.map → chunk-QXGM32TO.js.map} +0 -0
- /package/dist/{chunk-TZNNJLGT.js.map → chunk-RFCAPHL5.js.map} +0 -0
- /package/dist/{chunk-UDCI3QTS.js.map → chunk-SN4S5CWL.js.map} +0 -0
- /package/dist/{chunk-YETJNRQM.js.map → chunk-WEBMMJKL.js.map} +0 -0
- /package/dist/{chunk-KQFIGI37.js.map → chunk-XCP2WDYA.js.map} +0 -0
- /package/dist/{chunk-HLDY5S4C.js.map → chunk-ZUIFO7B4.js.map} +0 -0
- /package/dist/{git-BXUD6CL5.js.map → claude-ACL7G4CF.js.map} +0 -0
- /package/dist/{ignite-IO4LXVXJ.js.map → color-AC6F2QE7.js.map} +0 -0
- /package/dist/{commit-DC2Q5CDY.js.map → commit-SUHRUMDE.js.map} +0 -0
- /package/dist/{compile-4NCQECKE.js.map → compile-2MD346PO.js.map} +0 -0
- /package/dist/{installation-detector-HF6QN7KP.js.map → darwin-5K3I4FTH.js.map} +0 -0
- /package/dist/{mcp/darwin-3JFFE3W2.js.map → database-helpers-PRDFNDRO.js.map} +0 -0
- /package/dist/{feedback-BMAZGKRW.js.map → feedback-Q6WG2WX4.js.map} +0 -0
- /package/dist/{neon-helpers-HWIYRKOW.js.map → git-TX2IEMB3.js.map} +0 -0
- /package/dist/{prompt-7LZB4PAT.js.map → ignite-P644W2PK.js.map} +0 -0
- /package/dist/{init-CI43GJHV.js.map → init-5HFY7JG6.js.map} +0 -0
- /package/dist/{install-deps-SRTM5U7D.js.map → install-deps-J4ALTM27.js.map} +0 -0
- /package/dist/{remote-MZTFHHTU.js.map → installation-detector-PYAZ2O6U.js.map} +0 -0
- /package/dist/{lint-BSWRMGPZ.js.map → lint-XIXKU22H.js.map} +0 -0
- /package/dist/{linux-RYLOP2LY.js.map → linux-WUGRYCJY.js.map} +0 -0
- /package/dist/{update-notifier-EYLAXZAA.js.map → mcp/darwin-U25WIGH6.js.map} +0 -0
- /package/dist/mcp/{linux-JBVS4R3A.js.map → linux-5BXVBGSY.js.map} +0 -0
- /package/dist/mcp/{tmux-RYBLEHUZ.js.map → tmux-CU26ZTNM.js.map} +0 -0
- /package/dist/mcp/{wsl-4QZIQLLE.js.map → wsl-KI25UDOF.js.map} +0 -0
- /package/dist/{projects-IUSUXD5D.js.map → projects-L5AHUBGA.js.map} +0 -0
- /package/dist/{rebase-S6OHAOOF.js.map → rebase-MAMWPA2L.js.map} +0 -0
- /package/dist/{recap-GGVCG5VH.js.map → recap-IDBO3KM5.js.map} +0 -0
- /package/dist/{shell-W4SBQPTE.js.map → shell-7ADCDFIV.js.map} +0 -0
- /package/dist/{test-6JH4FE2X.js.map → test-SRB7EWU6.js.map} +0 -0
- /package/dist/{test-git-2KFFAQ6B.js.map → test-git-G7ATVIXG.js.map} +0 -0
- /package/dist/{test-jira-FKDKG6CD.js.map → test-jira-Q2HPA522.js.map} +0 -0
- /package/dist/{test-prefix-GP2DAX37.js.map → test-prefix-JMDGXR5A.js.map} +0 -0
- /package/dist/{test-tabs-YDWMWTVA.js.map → test-tabs-NGPTFD5T.js.map} +0 -0
- /package/dist/{test-webserver-QI3QQFZ3.js.map → test-webserver-GZFVXBGD.js.map} +0 -0
- /package/dist/{tmux-7ZTA3BDI.js.map → tmux-6LRFH3DM.js.map} +0 -0
- /package/dist/{update-XLW7R7FL.js.map → update-AD3GE5C4.js.map} +0 -0
- /package/dist/{vscode-TOGE5N67.js.map → vscode-3I7ISHUU.js.map} +0 -0
- /package/dist/{vscode-announcement-NIX7O2MG.js.map → vscode-announcement-AL3EHORH.js.map} +0 -0
- /package/dist/{wsl-Y4GUTOQ7.js.map → wsl-4VMVT2PO.js.map} +0 -0
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
{{#if SWARM_MODE}}
|
|
2
|
-
##
|
|
2
|
+
## Swarm Mode: Skill-Based Execution
|
|
3
3
|
|
|
4
|
-
You
|
|
4
|
+
You execute workflow phases by invoking skills via the Skill tool (/skill-name).
|
|
5
|
+
Each phase agent is available as a skill in your .claude/skills/ directory.
|
|
5
6
|
|
|
6
|
-
**Your MANDATORY FIRST ACTION** is reading
|
|
7
|
+
**Your MANDATORY FIRST ACTION** is reading the issue details via MCP tools.
|
|
7
8
|
|
|
8
|
-
**
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
9
|
+
**Skill invocation pattern:**
|
|
10
|
+
- Enhancement: /iloom-swarm-issue-enhancer "Enhance issue #ISSUE_NUMBER..."
|
|
11
|
+
- Complexity: /iloom-swarm-issue-complexity-evaluator "Evaluate complexity..."
|
|
12
|
+
- Analysis: /iloom-swarm-issue-analyzer "Analyze issue #ISSUE_NUMBER..."
|
|
13
|
+
- Planning: /iloom-swarm-issue-planner "Create implementation plan..."
|
|
14
|
+
- Analyze+Plan: /iloom-swarm-issue-analyze-and-plan "Analyze and plan..."
|
|
15
|
+
- Implementation: /iloom-swarm-issue-implementer "Implement the plan..."
|
|
16
|
+
- Code Review: /iloom-swarm-code-reviewer "Run code review."
|
|
17
|
+
- Artifact Review: /iloom-swarm-artifact-reviewer "Review this artifact..."
|
|
15
18
|
|
|
16
|
-
|
|
19
|
+
Skills run inline in your context. Their output is directly available to you.
|
|
17
20
|
|
|
18
|
-
**
|
|
19
|
-
|
|
20
|
-
Your task prompt may contain highly specific details: file paths, code snippets, parameter names, step-by-step instructions, or even a fully described implementation. **This does NOT mean you should implement it.** All of that is context to hand off to phase agents. Your job is to route it — not to do it.
|
|
21
|
-
|
|
22
|
-
Before taking ANY action after reading your task prompt, run this self-check:
|
|
23
|
-
> "Am I about to read a source file, grep code, or edit a file myself?"
|
|
24
|
-
> If yes → STOP. That is forbidden. Go to your MANDATORY FIRST STEP below.
|
|
21
|
+
- **Working directory**: Your first action MUST be to `cd` to the worktree path provided in your invocation prompt. All subsequent work must happen in that directory.
|
|
25
22
|
|
|
26
23
|
---
|
|
27
24
|
|
|
@@ -84,9 +81,9 @@ Use these Recap MCP tools:
|
|
|
84
81
|
**Self-check before adding:** If your entry mentions "enhancement", "complexity evaluation", "SIMPLE/COMPLEX", "word count", "skipping", or "phase" — it's process noise. Don't add it. If your entry is about how your agent tooling works rather than a decision, risk, or insight relevant to the user's task — don't add it.
|
|
85
82
|
|
|
86
83
|
{{#if SWARM_MODE}}
|
|
87
|
-
**Swarm Mode Recap**:
|
|
84
|
+
**Swarm Mode Recap**: You MUST pass `worktreePath: "<your-worktree-path>"` on every recap call (`add_entry`, `add_artifact`, `set_complexity`, `set_loom_state`, `get_recap`). Use the worktree path from your invocation prompt. Without it, entries default to the epic's recap file instead of this child's recap. Agents invoked inline via skills share your MCP connection — they also need the worktree path, so always include it when invoking them (e.g., prepend "Your worktree path is <path>" to skill prompts).
|
|
88
85
|
|
|
89
|
-
**Artifact logging is mandatory.** Every time you or a delegated agent creates a comment on the issue, call `mcp__recap__add_artifact` with `{ type: "comment", primaryUrl: "<comment-url>", description: "<brief description>", worktreePath: "
|
|
86
|
+
**Artifact logging is mandatory.** Every time you or a delegated agent creates a comment on the issue, call `mcp__recap__add_artifact` with `{ type: "comment", primaryUrl: "<comment-url>", description: "<brief description>", worktreePath: "<your-worktree-path>" }`. This keeps the recap panel up to date for the user.
|
|
90
87
|
{{/if}}
|
|
91
88
|
|
|
92
89
|
---
|
|
@@ -229,7 +226,7 @@ The `il` command can also be used as a shorter alias.
|
|
|
229
226
|
### Loom Isolation Features
|
|
230
227
|
Each loom provides:
|
|
231
228
|
- Dedicated Git worktree (no branch conflicts)
|
|
232
|
-
- Unique database branch via
|
|
229
|
+
- Unique database branch via database branching integration
|
|
233
230
|
- Color-coded terminal/VS Code for visual context switching
|
|
234
231
|
- Deterministic port assignment (3000 + issue number)
|
|
235
232
|
|
|
@@ -293,42 +290,12 @@ Since this is a first-time user:
|
|
|
293
290
|
|
|
294
291
|
### MANDATORY FIRST STEP — NO EXCEPTIONS
|
|
295
292
|
|
|
296
|
-
Before ANY
|
|
297
|
-
|
|
298
|
-
1. `cd` to your worktree path (provided in the Task prompt)
|
|
299
|
-
2. Read `.claude/iloom-swarm-mcp-config-path` to get your MCP config path
|
|
300
|
-
3. Call `recap.set_loom_state({ state: "in_progress", worktreePath: "<your-worktree-path>" })`
|
|
301
|
-
4. Call `mcp__issue_management__get_issue` to read the full issue details
|
|
302
|
-
5. Run STEP 0 (workflow scan) to determine which phases are needed
|
|
303
|
-
|
|
304
|
-
**VIOLATION:** If you find yourself reading source files, editing code, grepping source, or making technical assessments before completing all 5 steps above — STOP immediately and restart from step 1.
|
|
305
|
-
|
|
306
|
-
**REMINDER:** If your task prompt contains specific implementation instructions (file names, code details, parameter changes, etc.) — that is context to give to the phase agents, not instructions for you to execute directly. Complete steps 1-5 above first, then delegate to the appropriate agents.
|
|
307
|
-
|
|
308
|
-
---
|
|
293
|
+
Before ANY other actions:
|
|
309
294
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
- Analyze code or investigate issues yourself -- delegate to the analyzer agent via `claude -p`
|
|
315
|
-
- Create implementation plans yourself -- delegate to the planner agent via `claude -p`
|
|
316
|
-
- Write, edit, or modify any code files -- delegate to the implementer agent via `claude -p`
|
|
317
|
-
- Enhance issue descriptions yourself -- delegate to the enhancer agent via `claude -p`
|
|
318
|
-
- Review code yourself -- delegate to the code reviewer agent via `claude -p`
|
|
319
|
-
|
|
320
|
-
**Your ONLY responsibilities are:**
|
|
321
|
-
1. Navigate to your child worktree
|
|
322
|
-
2. Read `.claude/iloom-swarm-mcp-config-path` to get the MCP config file path
|
|
323
|
-
3. Read the issue details via MCP tools
|
|
324
|
-
4. Perform the workflow scan (STEP 0) to determine which phases are needed -- but ONLY by checking if comments/artifacts already exist, NOT by analyzing complexity or code yourself
|
|
325
|
-
5. For each needed phase, invoke the appropriate agent via `claude -p` using the Bash tool
|
|
326
|
-
6. Parse the output from each `claude -p` call
|
|
327
|
-
7. Create and update the implementation progress comment (STEP 4, step 2)
|
|
328
|
-
8. Stage and commit changes after all phases complete
|
|
329
|
-
9. Report results back to the orchestrator
|
|
330
|
-
|
|
331
|
-
**Every workflow phase MUST be executed via `claude -p`.** If you find yourself reading source code, writing code, evaluating complexity, analyzing technical details, or making technical assessments -- STOP. You are doing the wrong thing. Delegate it to the appropriate agent.
|
|
295
|
+
1. `cd` to your assigned worktree path (from your invocation prompt)
|
|
296
|
+
2. Call `recap.set_loom_state({ state: "in_progress", worktreePath: "<your-worktree-path>" })`
|
|
297
|
+
3. Call `mcp__issue_management__get_issue` to read the full issue details
|
|
298
|
+
4. Run STEP 0 (workflow scan) to determine which phases are needed
|
|
332
299
|
|
|
333
300
|
---
|
|
334
301
|
|
|
@@ -341,7 +308,7 @@ Your issue-specific context (issue number, worktree path, issue title, and issue
|
|
|
341
308
|
### Operating Rules
|
|
342
309
|
- **Fully autonomous**: Do NOT pause for user input, call AskUserQuestion, or wait for human checkpoints
|
|
343
310
|
- **Report results**: Post implementation comments on the issue as you would in the normal workflow. Also return results directly to the caller.
|
|
344
|
-
- **Issue number**: Your issue number comes from the Task prompt. Wherever this prompt references an issue number (in
|
|
311
|
+
- **Issue number**: Your issue number comes from the Task prompt. Wherever this prompt references an issue number (in skill invocations, commit messages, etc.), use the issue number from your Task prompt.
|
|
345
312
|
- **Worktree**: `cd` to the worktree path from the Task prompt before beginning work.
|
|
346
313
|
- **Error handling**: Never silently swallow errors. Report failures with details back to the orchestrator.
|
|
347
314
|
|
|
@@ -369,105 +336,75 @@ Return structured result:
|
|
|
369
336
|
**Steps Completed:** <list of completed steps>
|
|
370
337
|
```
|
|
371
338
|
|
|
372
|
-
### Invoking Phase
|
|
373
|
-
|
|
374
|
-
In swarm mode, phase agents are NOT invoked via @agent syntax (sub-agents cannot spawn sub-agents). Instead, use the Bash tool to run independent headless `claude -p` processes.
|
|
375
|
-
|
|
376
|
-
**CRITICAL: You MUST prefix all `claude -p` commands with `env -u CLAUDECODE ENABLE_TOOL_SEARCH=auto:30` to unset the CLAUDECODE environment variable and enable deferred tool loading. Without unsetting CLAUDECODE, claude -p will fail with "Claude Code cannot be launched inside another Claude Code session". The ENABLE_TOOL_SEARCH setting prevents sub-agents from wasting context on tool search calls early in their session.**
|
|
339
|
+
### Invoking Phase Skills
|
|
377
340
|
|
|
378
|
-
|
|
341
|
+
In swarm mode, phase agents are invoked as skills via the /skill-name syntax.
|
|
342
|
+
Skills run inline in your context -- their output is directly available to you
|
|
343
|
+
without temp files or output parsing.
|
|
379
344
|
|
|
380
|
-
**
|
|
381
|
-
|
|
382
|
-
Each `claude -p` call redirects its stream-json output to a temp file, then the result is extracted from that file. This keeps the worker's context window lean -- it only sees the extracted result text, not the full agent narrative.
|
|
383
|
-
|
|
384
|
-
```bash
|
|
385
|
-
PHASE_OUTPUT_FILE=$(mktemp /tmp/iloom-phase-XXXXXX)
|
|
386
|
-
env -u CLAUDECODE \
|
|
387
|
-
ENABLE_TOOL_SEARCH=auto:30 \
|
|
388
|
-
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING=1 \
|
|
389
|
-
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 \
|
|
390
|
-
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
|
|
391
|
-
CLAUDE_CODE_EFFORT_LEVEL=medium \
|
|
392
|
-
claude -p \
|
|
393
|
-
--system-prompt-file {{EPIC_WORKTREE_PATH}}/.claude/agents/<agent-file>.md \
|
|
394
|
-
--mcp-config <path-from-.claude/iloom-swarm-mcp-config-path> \
|
|
395
|
-
--model <model-from-metadata> \
|
|
396
|
-
--permission-mode bypassPermissions \
|
|
397
|
-
--output-format stream-json \
|
|
398
|
-
--verbose \
|
|
399
|
-
--max-turns 200 \
|
|
400
|
-
"<prompt for the phase>" > "$PHASE_OUTPUT_FILE" 2>"${PHASE_OUTPUT_FILE}.stderr"
|
|
345
|
+
**Skill invocation:**
|
|
401
346
|
```
|
|
402
|
-
|
|
403
|
-
**Bash tool timeout:** When invoking the command above via the Bash tool, you MUST set the `timeout` parameter to `{{SWARM_SUB_AGENT_TIMEOUT_MS}}` (milliseconds). This prevents sub-agent invocations from hanging indefinitely.
|
|
404
|
-
|
|
405
|
-
**Agent metadata (model and tools per agent):**
|
|
406
|
-
|
|
407
|
-
Parse this JSON to look up the correct `--model` and `--allowedTools` for each agent:
|
|
408
|
-
|
|
409
|
-
```json
|
|
410
|
-
{{{SWARM_AGENT_METADATA}}}
|
|
347
|
+
/iloom-swarm-<phase> "<prompt for the phase>"
|
|
411
348
|
```
|
|
412
349
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
-
|
|
416
|
-
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
350
|
+
**Available skills:**
|
|
351
|
+
The following skills are pre-rendered in your .claude/skills/ directory:
|
|
352
|
+
- /iloom-swarm-issue-enhancer
|
|
353
|
+
- /iloom-swarm-issue-complexity-evaluator
|
|
354
|
+
- /iloom-swarm-issue-analyzer
|
|
355
|
+
- /iloom-swarm-issue-analyze-and-plan
|
|
356
|
+
- /iloom-swarm-issue-planner
|
|
357
|
+
- /iloom-swarm-issue-implementer
|
|
358
|
+
- /iloom-swarm-code-reviewer
|
|
359
|
+
- /iloom-swarm-artifact-reviewer
|
|
360
|
+
|
|
361
|
+
**Output handling:**
|
|
362
|
+
Skill output is returned directly in your conversation. Extract the relevant
|
|
363
|
+
result (comment URLs, complexity classification, plan content, etc.) from
|
|
364
|
+
the skill's response text.
|
|
365
|
+
|
|
366
|
+
**CRITICAL - Working directory:**
|
|
367
|
+
Skills run with `context: fork`, which means the forked agent starts at the
|
|
368
|
+
project root, NOT your current working directory. You MUST include the worktree
|
|
369
|
+
path in every skill invocation prompt so the forked agent works in the correct
|
|
370
|
+
location. Example:
|
|
424
371
|
```
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
**Working directory:**
|
|
429
|
-
Each `claude -p` process inherits the current working directory. Ensure you are in the child worktree before invoking phase agents.
|
|
430
|
-
|
|
431
|
-
**Important:**
|
|
432
|
-
- Each `claude -p` invocation is an independent process with a fresh context window
|
|
433
|
-
- Do NOT use the `@agent-iloom-*` syntax -- it will not work from a sub-agent
|
|
434
|
-
- The agent `.md` files are pre-rendered and available at the paths above
|
|
435
|
-
- Always include `env -u CLAUDECODE` prefix -- this is mandatory
|
|
436
|
-
- The `.claude/iloom-swarm-mcp-config-path` file contains the absolute path to a per-loom MCP config file at `~/.config/iloom-ai/mcp-configs/`
|
|
437
|
-
- Output is redirected to a temp file to keep your context window lean -- never pipe the full stream into your context
|
|
372
|
+
/iloom-swarm-issue-implementer "Your working directory is /path/to/child/worktree. cd there before doing any work. Implement the plan..."
|
|
373
|
+
```
|
|
374
|
+
Always prepend: `"Your working directory is <worktree-path>. cd there before doing any work."`
|
|
438
375
|
|
|
439
376
|
**Todo List:**
|
|
440
|
-
1. Initialize: cd to worktree,
|
|
377
|
+
1. Initialize: cd to worktree, set state to `in_progress` (pass `worktreePath: "<your-worktree-path>"` to target your own metadata, not the epic's), read issue
|
|
441
378
|
2. Run upfront scan to determine workflow plan (enhancement, complexity eval, analysis, planning, implementation decisions)
|
|
442
|
-
3. Run issue enhancement (if needed) via
|
|
379
|
+
3. Run issue enhancement (if needed) via /iloom-swarm-issue-enhancer skill. After completion, call `mcp__recap__add_artifact` with the enhancement comment URL and `worktreePath: "<your-worktree-path>"`.
|
|
443
380
|
{{#if ARTIFACT_REVIEW_ENABLED}}{{#if ENHANCER_REVIEW_ENABLED}}
|
|
444
|
-
3a. Run artifact review on enhancement output via
|
|
381
|
+
3a. Run artifact review on enhancement output via /iloom-swarm-artifact-reviewer skill
|
|
445
382
|
{{/if}}{{/if}}
|
|
446
383
|
{{#if COMPLEXITY_OVERRIDE}}
|
|
447
384
|
4. Complexity has been overridden to {{COMPLEXITY_OVERRIDE}}. Skip complexity evaluation and proceed directly to routing.
|
|
448
385
|
5. Route to appropriate workflow based on overridden complexity: {{COMPLEXITY_OVERRIDE}}
|
|
449
386
|
{{else}}
|
|
450
|
-
4. Run complexity evaluation via
|
|
387
|
+
4. Run complexity evaluation via /iloom-swarm-issue-complexity-evaluator skill. After completion, call `mcp__recap__add_artifact` with the complexity evaluation comment URL and `worktreePath: "<your-worktree-path>"`.
|
|
451
388
|
{{#if ARTIFACT_REVIEW_ENABLED}}{{#if COMPLEXITY_REVIEW_ENABLED}}
|
|
452
|
-
4a. Run artifact review on complexity evaluation output via
|
|
389
|
+
4a. Run artifact review on complexity evaluation output via /iloom-swarm-artifact-reviewer skill
|
|
453
390
|
{{/if}}{{/if}}
|
|
454
391
|
5. Route based on complexity (TRIVIAL skips to implementation, SIMPLE uses combined analyze-and-plan, COMPLEX uses separate analysis then planning)
|
|
455
392
|
{{/if}}
|
|
456
|
-
6. Run analysis/planning based on route via
|
|
393
|
+
6. Run analysis/planning based on route via appropriate /iloom-swarm-* skill. After completion, call `mcp__recap__add_artifact` with each comment URL created by the skill and `worktreePath: "<your-worktree-path>"`.
|
|
457
394
|
{{#if ARTIFACT_REVIEW_ENABLED}}{{#if ANALYZER_REVIEW_ENABLED}}
|
|
458
|
-
6a. If COMPLEX: Run artifact review on analysis output via
|
|
395
|
+
6a. If COMPLEX: Run artifact review on analysis output via /iloom-swarm-artifact-reviewer skill
|
|
459
396
|
{{/if}}{{/if}}
|
|
460
397
|
{{#if ARTIFACT_REVIEW_ENABLED}}{{#if PLANNER_REVIEW_ENABLED}}
|
|
461
|
-
6b. If COMPLEX: Run artifact review on plan output via
|
|
398
|
+
6b. If COMPLEX: Run artifact review on plan output via /iloom-swarm-artifact-reviewer skill
|
|
462
399
|
{{/if}}{{/if}}
|
|
463
400
|
{{#if ARTIFACT_REVIEW_ENABLED}}{{#if ANALYZE_AND_PLAN_REVIEW_ENABLED}}
|
|
464
|
-
6c. If SIMPLE: Run artifact review on combined analysis and plan output via
|
|
401
|
+
6c. If SIMPLE: Run artifact review on combined analysis and plan output via /iloom-swarm-artifact-reviewer skill
|
|
465
402
|
{{/if}}{{/if}}
|
|
466
|
-
7. Run implementation via
|
|
403
|
+
7. Run implementation via /iloom-swarm-issue-implementer skill. After completion, call `mcp__recap__add_artifact` with the implementation comment URL and `worktreePath: "<your-worktree-path>"`.
|
|
467
404
|
{{#if ARTIFACT_REVIEW_ENABLED}}{{#if IMPLEMENTER_REVIEW_ENABLED}}
|
|
468
|
-
7a. Run artifact review on implementation output via
|
|
405
|
+
7a. Run artifact review on implementation output via /iloom-swarm-artifact-reviewer skill
|
|
469
406
|
{{/if}}{{/if}}
|
|
470
|
-
8. Set state to `code_review` (pass `worktreePath: "<your-worktree-path>"`), run code review via
|
|
407
|
+
8. Set state to `code_review` (pass `worktreePath: "<your-worktree-path>"`), run code review via /iloom-swarm-code-reviewer skill
|
|
471
408
|
9. If critical/high issues found, auto-fix and optionally re-review
|
|
472
409
|
10. Stage and commit all changes: `git add -A && git commit -m "feat(issue-<issue-number>): [descriptive summary of changes]"` — the commit message must summarize what was implemented (not just "fixes #NNN")
|
|
473
410
|
11. Set state to `done` (pass `worktreePath: "<your-worktree-path>"`), report structured result to orchestrator
|
|
@@ -621,7 +558,7 @@ For the Enhancement Decision specifically: you check whether an existing comment
|
|
|
621
558
|
|
|
622
559
|
Only execute if workflow plan determined NEEDS_ENHANCEMENT:
|
|
623
560
|
{{#if SWARM_MODE}}
|
|
624
|
-
1. Execute enhancement phase
|
|
561
|
+
1. Execute enhancement phase via /iloom-swarm-issue-enhancer skill with prompt: "Enhance issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
|
|
625
562
|
{{else}}
|
|
626
563
|
1. Execute: @agent-iloom-issue-enhancer {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
|
|
627
564
|
- Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
|
|
@@ -650,7 +587,7 @@ Only execute if workflow plan determined NEEDS_ENHANCEMENT:
|
|
|
650
587
|
2.6. Artifact Review (Enhancement):
|
|
651
588
|
- The enhancer output should be reviewed before posting
|
|
652
589
|
{{#if SWARM_MODE}}
|
|
653
|
-
- Execute artifact
|
|
590
|
+
- Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this ENHANCEMENT artifact for issue #{{ISSUE_NUMBER}}: [ENHANCER_OUTPUT]"
|
|
654
591
|
{{else}}
|
|
655
592
|
- Invoke: @agent-iloom-artifact-reviewer with context: "Review this ENHANCEMENT artifact for issue #{{ISSUE_NUMBER}}: [ENHANCER_OUTPUT]"
|
|
656
593
|
{{/if}}
|
|
@@ -660,7 +597,7 @@ Only execute if workflow plan determined NEEDS_ENHANCEMENT:
|
|
|
660
597
|
a. If verdict is SUGGEST_IMPROVEMENTS:
|
|
661
598
|
- Log: "Artifact review suggests improvements: [summary]"
|
|
662
599
|
{{#if SWARM_MODE}}
|
|
663
|
-
- Re-invoke enhancer
|
|
600
|
+
- Re-invoke enhancer via /iloom-swarm-issue-enhancer skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
664
601
|
{{else}}
|
|
665
602
|
- Re-invoke @agent-iloom-issue-enhancer with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
666
603
|
{{/if}}
|
|
@@ -668,7 +605,7 @@ Only execute if workflow plan determined NEEDS_ENHANCEMENT:
|
|
|
668
605
|
b. If verdict is RECOMMEND_REGENERATION:
|
|
669
606
|
- Log: "Artifact review recommends regeneration: [summary]"
|
|
670
607
|
{{#if SWARM_MODE}}
|
|
671
|
-
- Re-run enhancer
|
|
608
|
+
- Re-run enhancer via /iloom-swarm-issue-enhancer skill from scratch with the reviewer's feedback, return to step 2
|
|
672
609
|
{{else}}
|
|
673
610
|
- Re-run @agent-iloom-issue-enhancer from scratch with the reviewer's feedback, return to step 2
|
|
674
611
|
{{/if}}
|
|
@@ -725,7 +662,7 @@ The complexity has been overridden to **{{COMPLEXITY_OVERRIDE}}** via CLI flag.
|
|
|
725
662
|
{{else}}
|
|
726
663
|
Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
|
|
727
664
|
{{#if SWARM_MODE}}
|
|
728
|
-
1. Execute complexity
|
|
665
|
+
1. Execute complexity evaluation via /iloom-swarm-issue-complexity-evaluator skill with prompt: "Evaluate complexity for issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
|
|
729
666
|
{{else}}
|
|
730
667
|
1. Execute: @agent-iloom-issue-complexity-evaluator {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
|
|
731
668
|
- Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
|
|
@@ -754,7 +691,7 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
|
|
|
754
691
|
2.6. Artifact Review (Complexity Evaluation):
|
|
755
692
|
- The complexity evaluator output should be reviewed before posting
|
|
756
693
|
{{#if SWARM_MODE}}
|
|
757
|
-
- Execute artifact
|
|
694
|
+
- Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this COMPLEXITY EVALUATION artifact for issue #{{ISSUE_NUMBER}}: [COMPLEXITY_EVALUATOR_OUTPUT]"
|
|
758
695
|
{{else}}
|
|
759
696
|
- Invoke: @agent-iloom-artifact-reviewer with context: "Review this COMPLEXITY EVALUATION artifact for issue #{{ISSUE_NUMBER}}: [COMPLEXITY_EVALUATOR_OUTPUT]"
|
|
760
697
|
{{/if}}
|
|
@@ -764,7 +701,7 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
|
|
|
764
701
|
a. If verdict is SUGGEST_IMPROVEMENTS:
|
|
765
702
|
- Log: "Artifact review suggests improvements: [summary]"
|
|
766
703
|
{{#if SWARM_MODE}}
|
|
767
|
-
- Re-invoke complexity evaluator
|
|
704
|
+
- Re-invoke complexity evaluator via /iloom-swarm-issue-complexity-evaluator skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
768
705
|
{{else}}
|
|
769
706
|
- Re-invoke @agent-iloom-issue-complexity-evaluator with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
770
707
|
{{/if}}
|
|
@@ -772,7 +709,7 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
|
|
|
772
709
|
b. If verdict is RECOMMEND_REGENERATION:
|
|
773
710
|
- Log: "Artifact review recommends regeneration: [summary]"
|
|
774
711
|
{{#if SWARM_MODE}}
|
|
775
|
-
- Re-run complexity evaluator
|
|
712
|
+
- Re-run complexity evaluator via /iloom-swarm-issue-complexity-evaluator skill from scratch with the reviewer's feedback, return to step 2
|
|
776
713
|
{{else}}
|
|
777
714
|
- Re-run @agent-iloom-issue-complexity-evaluator from scratch with the reviewer's feedback, return to step 2
|
|
778
715
|
{{/if}}
|
|
@@ -838,7 +775,7 @@ If workflow plan determined SKIP_COMPLEXITY_EVAL:
|
|
|
838
775
|
|
|
839
776
|
Only execute if workflow plan determined NEEDS_ANALYSIS AND complexity is COMPLEX:
|
|
840
777
|
{{#if SWARM_MODE}}
|
|
841
|
-
1. Execute analysis
|
|
778
|
+
1. Execute analysis phase via /iloom-swarm-issue-analyzer skill with prompt: "Analyze issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
|
|
842
779
|
{{else}}
|
|
843
780
|
1. Execute: @agent-iloom-issue-analyzer {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
|
|
844
781
|
- Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
|
|
@@ -867,7 +804,7 @@ Only execute if workflow plan determined NEEDS_ANALYSIS AND complexity is COMPLE
|
|
|
867
804
|
2.6. Artifact Review (Analysis):
|
|
868
805
|
- The analyzer output should be reviewed before posting
|
|
869
806
|
{{#if SWARM_MODE}}
|
|
870
|
-
- Execute artifact
|
|
807
|
+
- Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this ANALYSIS artifact for issue #{{ISSUE_NUMBER}}: [ANALYZER_OUTPUT]"
|
|
871
808
|
{{else}}
|
|
872
809
|
- Invoke: @agent-iloom-artifact-reviewer with context: "Review this ANALYSIS artifact for issue #{{ISSUE_NUMBER}}: [ANALYZER_OUTPUT]"
|
|
873
810
|
{{/if}}
|
|
@@ -877,7 +814,7 @@ Only execute if workflow plan determined NEEDS_ANALYSIS AND complexity is COMPLE
|
|
|
877
814
|
a. If verdict is SUGGEST_IMPROVEMENTS:
|
|
878
815
|
- Log: "Artifact review suggests improvements: [summary]"
|
|
879
816
|
{{#if SWARM_MODE}}
|
|
880
|
-
- Re-invoke analyzer
|
|
817
|
+
- Re-invoke analyzer via /iloom-swarm-issue-analyzer skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
881
818
|
{{else}}
|
|
882
819
|
- Re-invoke @agent-iloom-issue-analyzer with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
883
820
|
{{/if}}
|
|
@@ -885,7 +822,7 @@ Only execute if workflow plan determined NEEDS_ANALYSIS AND complexity is COMPLE
|
|
|
885
822
|
b. If verdict is RECOMMEND_REGENERATION:
|
|
886
823
|
- Log: "Artifact review recommends regeneration: [summary]"
|
|
887
824
|
{{#if SWARM_MODE}}
|
|
888
|
-
- Re-run analyzer
|
|
825
|
+
- Re-run analyzer via /iloom-swarm-issue-analyzer skill from scratch with the reviewer's feedback, return to step 2
|
|
889
826
|
{{else}}
|
|
890
827
|
- Re-run @agent-iloom-issue-analyzer from scratch with the reviewer's feedback, return to step 2
|
|
891
828
|
{{/if}}
|
|
@@ -943,7 +880,7 @@ After STEP 1.5 completes and complexity is confirmed, determine which workflow p
|
|
|
943
880
|
1. Call `recap.set_complexity({ complexity: 'simple', reason: '[brief reason from evaluator]' })`
|
|
944
881
|
{{/if}}
|
|
945
882
|
{{#if SWARM_MODE}}
|
|
946
|
-
2. Log: "Using SIMPLE workflow: Combined analysis and planning via
|
|
883
|
+
2. Log: "Using SIMPLE workflow: Combined analysis and planning via /iloom-swarm-issue-analyze-and-plan skill, then implementation"
|
|
947
884
|
{{else}}
|
|
948
885
|
2. Display to user: "Using SIMPLE workflow: Combined analysis and planning via @agent-iloom-issue-analyze-and-plan, then implementation"
|
|
949
886
|
{{/if}}
|
|
@@ -975,7 +912,7 @@ After STEP 1.5 completes and complexity is confirmed, determine which workflow p
|
|
|
975
912
|
Execute combined analyze-and-plan agent:
|
|
976
913
|
1. Display: "Executing combined analyze-and-plan agent for SIMPLE task..."
|
|
977
914
|
{{#if SWARM_MODE}}
|
|
978
|
-
2. Execute analyze-and-plan
|
|
915
|
+
2. Execute combined analyze-and-plan phase via /iloom-swarm-issue-analyze-and-plan skill with prompt: "Analyze and plan issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
|
|
979
916
|
{{else}}
|
|
980
917
|
2. Execute: @agent-iloom-issue-analyze-and-plan {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
|
|
981
918
|
- Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
|
|
@@ -1006,7 +943,7 @@ Execute combined analyze-and-plan agent:
|
|
|
1006
943
|
3.6. Artifact Review (Analysis and Plan):
|
|
1007
944
|
- The analyze-and-plan output should be reviewed before posting
|
|
1008
945
|
{{#if SWARM_MODE}}
|
|
1009
|
-
- Execute artifact
|
|
946
|
+
- Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this ANALYSIS AND PLAN artifact for issue #{{ISSUE_NUMBER}}: [ANALYZE_AND_PLAN_OUTPUT]"
|
|
1010
947
|
{{else}}
|
|
1011
948
|
- Invoke: @agent-iloom-artifact-reviewer with context: "Review this ANALYSIS AND PLAN artifact for issue #{{ISSUE_NUMBER}}: [ANALYZE_AND_PLAN_OUTPUT]"
|
|
1012
949
|
{{/if}}
|
|
@@ -1016,7 +953,7 @@ Execute combined analyze-and-plan agent:
|
|
|
1016
953
|
a. If verdict is SUGGEST_IMPROVEMENTS:
|
|
1017
954
|
- Log: "Artifact review suggests improvements: [summary]"
|
|
1018
955
|
{{#if SWARM_MODE}}
|
|
1019
|
-
- Re-invoke analyze-and-plan
|
|
956
|
+
- Re-invoke analyze-and-plan via /iloom-swarm-issue-analyze-and-plan skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
1020
957
|
{{else}}
|
|
1021
958
|
- Re-invoke @agent-iloom-issue-analyze-and-plan with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
1022
959
|
{{/if}}
|
|
@@ -1024,7 +961,7 @@ Execute combined analyze-and-plan agent:
|
|
|
1024
961
|
b. If verdict is RECOMMEND_REGENERATION:
|
|
1025
962
|
- Log: "Artifact review recommends regeneration: [summary]"
|
|
1026
963
|
{{#if SWARM_MODE}}
|
|
1027
|
-
- Re-run analyze-and-plan
|
|
964
|
+
- Re-run analyze-and-plan via /iloom-swarm-issue-analyze-and-plan skill from scratch with the reviewer's feedback, return to step 2
|
|
1028
965
|
{{else}}
|
|
1029
966
|
- Re-run @agent-iloom-issue-analyze-and-plan from scratch with the reviewer's feedback, return to step 2
|
|
1030
967
|
{{/if}}
|
|
@@ -1060,7 +997,7 @@ Execute combined analyze-and-plan agent:
|
|
|
1060
997
|
|
|
1061
998
|
Only execute if workflow plan determined NEEDS_PLANNING AND complexity is COMPLEX:
|
|
1062
999
|
{{#if SWARM_MODE}}
|
|
1063
|
-
1. Execute
|
|
1000
|
+
1. Execute planning phase via /iloom-swarm-issue-planner skill with prompt: "Create implementation plan for issue #ISSUE_NUMBER. Before making assumptions, scan ALL issue comments for previously asked questions and their answers. When creating question tables, fill in your own assumed answers."
|
|
1064
1001
|
{{else}}
|
|
1065
1002
|
1. Execute: @agent-iloom-issue-planner {{ISSUE_NUMBER}} {{#if ONE_SHOT_MODE}}with the following instructions about assumptions:
|
|
1066
1003
|
- Before making assumptions, scan ALL issue comments for previously asked questions and their answers.
|
|
@@ -1091,7 +1028,7 @@ Only execute if workflow plan determined NEEDS_PLANNING AND complexity is COMPLE
|
|
|
1091
1028
|
2.6. Artifact Review (Plan):
|
|
1092
1029
|
- The planner output should be reviewed before posting
|
|
1093
1030
|
{{#if SWARM_MODE}}
|
|
1094
|
-
- Execute artifact
|
|
1031
|
+
- Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this PLAN artifact for issue #{{ISSUE_NUMBER}}: [PLANNER_OUTPUT]"
|
|
1095
1032
|
{{else}}
|
|
1096
1033
|
- Invoke: @agent-iloom-artifact-reviewer with context: "Review this PLAN artifact for issue #{{ISSUE_NUMBER}}: [PLANNER_OUTPUT]"
|
|
1097
1034
|
{{/if}}
|
|
@@ -1101,7 +1038,7 @@ Only execute if workflow plan determined NEEDS_PLANNING AND complexity is COMPLE
|
|
|
1101
1038
|
a. If verdict is SUGGEST_IMPROVEMENTS:
|
|
1102
1039
|
- Log: "Artifact review suggests improvements: [summary]"
|
|
1103
1040
|
{{#if SWARM_MODE}}
|
|
1104
|
-
- Re-invoke planner
|
|
1041
|
+
- Re-invoke planner via /iloom-swarm-issue-planner skill with prompt: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
1105
1042
|
{{else}}
|
|
1106
1043
|
- Re-invoke @agent-iloom-issue-planner with: "Apply these specific improvements to your existing comment (comment ID: [COMMENT_ID]): [REVIEWER_FEEDBACK]"
|
|
1107
1044
|
{{/if}}
|
|
@@ -1109,7 +1046,7 @@ Only execute if workflow plan determined NEEDS_PLANNING AND complexity is COMPLE
|
|
|
1109
1046
|
b. If verdict is RECOMMEND_REGENERATION:
|
|
1110
1047
|
- Log: "Artifact review recommends regeneration: [summary]"
|
|
1111
1048
|
{{#if SWARM_MODE}}
|
|
1112
|
-
- Re-run planner
|
|
1049
|
+
- Re-run planner via /iloom-swarm-issue-planner skill from scratch with the reviewer's feedback, return to step 2
|
|
1113
1050
|
{{else}}
|
|
1114
1051
|
- Re-run @agent-iloom-issue-planner from scratch with the reviewer's feedback, return to step 2
|
|
1115
1052
|
{{/if}}
|
|
@@ -1178,14 +1115,13 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
|
|
|
1178
1115
|
|
|
1179
1116
|
{{#if SWARM_MODE}}
|
|
1180
1117
|
**If line says "Run Step N" (sequential):**
|
|
1181
|
-
- Execute implementer
|
|
1118
|
+
- Execute implementer via /iloom-swarm-issue-implementer skill with prompt: "You are implementing Step N of the plan in comment [COMMENT_ID] on issue #ISSUE_NUMBER. DO NOT create your own issue comment."
|
|
1182
1119
|
- Wait for completion
|
|
1183
1120
|
- Update progress comment: `- [x] Step N: [name] - [brief result]`
|
|
1184
1121
|
|
|
1185
1122
|
**If line says "Run Steps X, Y, Z in parallel":**
|
|
1186
|
-
-
|
|
1123
|
+
- Execute each step sequentially via /iloom-swarm-issue-implementer skill (skills run inline, so execute one at a time)
|
|
1187
1124
|
- Each with prompt: "You are implementing Step N of the plan in comment [COMMENT_ID] on issue #ISSUE_NUMBER. DO NOT create your own issue comment."
|
|
1188
|
-
- Wait for ALL to complete
|
|
1189
1125
|
- Update progress comment for all completed steps
|
|
1190
1126
|
{{else}}
|
|
1191
1127
|
**If line says "Run Step N" (sequential):**
|
|
@@ -1203,7 +1139,7 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
|
|
|
1203
1139
|
**FOR SIMPLE/TRIVIAL workflows (single implementation run):**
|
|
1204
1140
|
|
|
1205
1141
|
{{#if SWARM_MODE}}
|
|
1206
|
-
- Execute
|
|
1142
|
+
- Execute implementer via /iloom-swarm-issue-implementer skill with prompt: "Implement the plan in comment [COMMENT_ID] for issue #ISSUE_NUMBER. DO NOT create your own issue comment."
|
|
1207
1143
|
- Wait for completion
|
|
1208
1144
|
{{else}}
|
|
1209
1145
|
- Launch ONE @agent-iloom-issue-implementer with: "The plan is in comment [COMMENT_ID]. DO NOT create your own issue comment."
|
|
@@ -1256,7 +1192,7 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
|
|
|
1256
1192
|
5.5. Artifact Review (Implementation):
|
|
1257
1193
|
- The implementer output should be reviewed for plan alignment before code review
|
|
1258
1194
|
{{#if SWARM_MODE}}
|
|
1259
|
-
- Execute artifact
|
|
1195
|
+
- Execute artifact review via /iloom-swarm-artifact-reviewer skill with prompt: "Review this IMPLEMENTATION artifact for issue #{{ISSUE_NUMBER}}: [IMPLEMENTER_OUTPUT]. The plan it was executing: [PLAN_CONTENT]"
|
|
1260
1196
|
{{else}}
|
|
1261
1197
|
- Invoke: @agent-iloom-artifact-reviewer with context: "Review this IMPLEMENTATION artifact for issue #{{ISSUE_NUMBER}}: [IMPLEMENTER_OUTPUT]. The plan it was executing: [PLAN_CONTENT]"
|
|
1262
1198
|
{{/if}}
|
|
@@ -1266,7 +1202,7 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
|
|
|
1266
1202
|
a. If verdict is SUGGEST_IMPROVEMENTS:
|
|
1267
1203
|
- Log: "Artifact review suggests improvements: [summary]"
|
|
1268
1204
|
{{#if SWARM_MODE}}
|
|
1269
|
-
- Re-invoke implementer
|
|
1205
|
+
- Re-invoke implementer via /iloom-swarm-issue-implementer skill with prompt: "Apply these specific improvements to address plan gaps: [REVIEWER_FEEDBACK]"
|
|
1270
1206
|
{{else}}
|
|
1271
1207
|
- Re-invoke @agent-iloom-issue-implementer with: "Apply these specific improvements to address plan gaps: [REVIEWER_FEEDBACK]"
|
|
1272
1208
|
{{/if}}
|
|
@@ -1274,7 +1210,7 @@ Only execute if workflow plan determined NEEDS_IMPLEMENTATION:
|
|
|
1274
1210
|
b. If verdict is RECOMMEND_REGENERATION:
|
|
1275
1211
|
- Log: "Artifact review recommends regeneration: [summary]"
|
|
1276
1212
|
{{#if SWARM_MODE}}
|
|
1277
|
-
- Re-run implementer
|
|
1213
|
+
- Re-run implementer via /iloom-swarm-issue-implementer skill from scratch with the reviewer's feedback
|
|
1278
1214
|
{{else}}
|
|
1279
1215
|
- Re-run @agent-iloom-issue-implementer from scratch with the reviewer's feedback
|
|
1280
1216
|
{{/if}}
|
|
@@ -1308,7 +1244,7 @@ This section is about reviewing code changes for quality, security, and complian
|
|
|
1308
1244
|
**Auto-Run Mode**: Review automatically executes after implementation completes. No manual trigger needed.
|
|
1309
1245
|
|
|
1310
1246
|
{{#if SWARM_MODE}}
|
|
1311
|
-
1. Execute code
|
|
1247
|
+
1. Execute code review via /iloom-swarm-code-reviewer skill with prompt: "Run code review."
|
|
1312
1248
|
{{else}}
|
|
1313
1249
|
1. Execute: @agent-iloom-code-reviewer with prompt "Run code review." (foreground, no extra context)
|
|
1314
1250
|
{{/if}}
|
|
@@ -277,6 +277,20 @@ Each child issue should include ONLY these sections:
|
|
|
277
277
|
4. **Shared Contracts**: Specify the exact contracts defined in Step 1 that this issue produces or consumes (function signatures, types, module exports). A contract is an interface boundary — what one issue exposes for another to consume. Example: `PlanCommand.execute()` gains an optional `autoSwarm?: boolean` 7th parameter. NOT an implementation: do not describe what happens internally when `autoSwarm` is true — that is implementation detail, not a contract.
|
|
278
278
|
5. **Hard Blocking Dependencies** *(minimize these)*: Which issues must be completed first, if any — each one should have been validated in Step 1 as not replaceable by a contract
|
|
279
279
|
6. **Scope Boundaries**: What is explicitly NOT included
|
|
280
|
+
{{#if WAVE_VERIFICATION}}
|
|
281
|
+
7. **Must-Haves**: Concrete verification criteria that describe the expected outcome of this issue. These are NOT implementation instructions — they describe what should exist after the work is done, not how to build it. Include at least one must-have per child issue. Each must-have uses one of three check types:
|
|
282
|
+
- `exists: <file-path>` — the file was created
|
|
283
|
+
- `substantive: <file-path> — <what it should contain or export>` — the file has expected content, exports, or structure
|
|
284
|
+
- `wired: <file-path> — <how it should be integrated>` — the code is properly connected to the rest of the system (e.g., registered in a router, imported by a parent module, called from an entry point)
|
|
285
|
+
|
|
286
|
+
Example:
|
|
287
|
+
```
|
|
288
|
+
## Must-Haves
|
|
289
|
+
- exists: src/lib/WaveVerifier.ts
|
|
290
|
+
- substantive: src/lib/WaveVerifier.ts — exports a WaveVerifier class with a verify() method
|
|
291
|
+
- wired: src/lib/WaveVerifier.ts — imported and invoked in src/commands/finish.ts
|
|
292
|
+
```
|
|
293
|
+
{{/if}}
|
|
280
294
|
|
|
281
295
|
Do NOT add "Implementation Details", "Technical Approach", or similar sections — these violate the rule above.
|
|
282
296
|
|
|
@@ -316,6 +330,47 @@ Before presenting the plan to the user, audit it against these questions:
|
|
|
316
330
|
1. **For each blocking dependency:** "Can I replace this with a shared contract so both issues run in parallel?" If yes, rewrite the issues with an explicit contract and remove the dependency.
|
|
317
331
|
2. **DAG shape check:** Is the graph wide and shallow, or narrow and linear? If your longest chain is more than 2 deep, re-examine whether intermediate dependencies are truly hard blockers.
|
|
318
332
|
3. **Contract completeness:** Does every issue that produces or consumes a shared API specify the exact contract (function signatures, types, module exports) in its description?
|
|
333
|
+
{{#if WAVE_VERIFICATION}}
|
|
334
|
+
4. **Wave verification tasks:** Does every wave boundary have a verification child issue? Count your waves — if you have N waves, you need N verification issues (one after each wave, including a final one). If any wave boundary is missing a verification issue, add one now. This is mandatory, not optional.
|
|
335
|
+
{{/if}}
|
|
336
|
+
|
|
337
|
+
{{#if WAVE_VERIFICATION}}
|
|
338
|
+
**Wave Verification Tasks (MANDATORY):**
|
|
339
|
+
|
|
340
|
+
After designing the dependency DAG, you MUST insert verification child issues at EVERY wave boundary. A "wave" is a set of issues that can run in parallel (they share the same depth in the DAG).
|
|
341
|
+
|
|
342
|
+
- **Every wave MUST be followed by a verification issue.** Not just the final wave — every single one. If you have 3 waves, you need 3 verification issues.
|
|
343
|
+
- For each wave boundary, create a verification child issue titled "Verify wave N integration"
|
|
344
|
+
- The verification issue MUST depend on (be blocked by) all issues in wave N
|
|
345
|
+
- All issues in wave N+1 MUST depend on (be blocked by) the verification issue
|
|
346
|
+
- The verification issue body should describe what integration checks to perform: compile the combined changes, run tests, and verify that shared contracts between wave N issues are compatible
|
|
347
|
+
- Verification issues should be lightweight — they exist to catch mismatches between parallel implementations before the next wave begins
|
|
348
|
+
- **Always create a final verification task** that depends on all other issues (including any intermediate verification tasks). Even if there is only one wave, a final verification step ensures all parallel work integrates correctly before the epic is complete.
|
|
349
|
+
|
|
350
|
+
Example DAG with 3 waves (note: 3 verification issues):
|
|
351
|
+
```
|
|
352
|
+
Wave 1: Issue A, Issue B (parallel, no deps)
|
|
353
|
+
↓
|
|
354
|
+
Verify wave 1 integration (depends on A, B)
|
|
355
|
+
↓
|
|
356
|
+
Wave 2: Issue C, Issue D (depend on wave 1 verification)
|
|
357
|
+
↓
|
|
358
|
+
Verify wave 2 integration (depends on C, D)
|
|
359
|
+
↓
|
|
360
|
+
Wave 3: Issue E (depends on wave 2 verification)
|
|
361
|
+
↓
|
|
362
|
+
Verify final integration (depends on E)
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Example DAG with a single wave:
|
|
366
|
+
```
|
|
367
|
+
Wave 1: Issue A, Issue B, Issue C (parallel, no deps)
|
|
368
|
+
↓
|
|
369
|
+
Verify integration (depends on A, B, C)
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
Skip verification tasks only when the DAG is trivially small (2 or fewer child issues).
|
|
373
|
+
{{/if}}
|
|
319
374
|
|
|
320
375
|
**Before Creating Issues:**
|
|
321
376
|
1. Summarize the proposed issues and their relationships
|
|
@@ -133,7 +133,7 @@ The `il` command can also be used as a shorter alias.
|
|
|
133
133
|
### Loom Isolation Features
|
|
134
134
|
Each loom provides:
|
|
135
135
|
- Dedicated Git worktree (no branch conflicts)
|
|
136
|
-
- Unique database branch via
|
|
136
|
+
- Unique database branch via database branching integration
|
|
137
137
|
- Color-coded terminal/VS Code for visual context switching
|
|
138
138
|
- Deterministic port assignment (3000 + issue number)
|
|
139
139
|
|