agentic-qe 3.13.2 → 3.13.4

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.
Files changed (379) hide show
  1. package/.agents/skills/aqe-plan-work/SKILL.md +31 -0
  2. package/.agents/skills/aqe-plan-work/agents/openai.yaml +4 -0
  3. package/.agents/skills/aqe-plan-work/references/planning-framework.md +39 -0
  4. package/.agents/skills/aqe-research/SKILL.md +31 -0
  5. package/.agents/skills/aqe-research/agents/openai.yaml +4 -0
  6. package/.agents/skills/aqe-research/references/evidence-rules.md +21 -0
  7. package/.agents/skills/aqe-ruflo/SKILL.md +29 -0
  8. package/.claude/commands/pair/README.md +261 -0
  9. package/.claude/commands/pair/commands.md +546 -0
  10. package/.claude/commands/pair/config.md +510 -0
  11. package/.claude/commands/pair/examples.md +512 -0
  12. package/.claude/commands/pair/modes.md +348 -0
  13. package/.claude/commands/pair/session.md +407 -0
  14. package/.claude/commands/pair/start.md +209 -0
  15. package/.claude/commands/stream-chain/pipeline.md +121 -0
  16. package/.claude/commands/stream-chain/run.md +70 -0
  17. package/.claude/commands/training/README.md +9 -0
  18. package/.claude/commands/training/model-update.md +25 -0
  19. package/.claude/commands/training/neural-patterns.md +108 -0
  20. package/.claude/commands/training/neural-train.md +75 -0
  21. package/.claude/commands/training/pattern-learn.md +25 -0
  22. package/.claude/commands/training/specialization.md +63 -0
  23. package/.claude/commands/truth/start.md +143 -0
  24. package/.claude/commands/verify/check.md +50 -0
  25. package/.claude/commands/verify/start.md +128 -0
  26. package/.claude/helpers/v3/advisor-call.cjs +283 -0
  27. package/.claude/hooks/aqe-hook.cjs +24 -3
  28. package/.claude/skills/README.md +54 -64
  29. package/.claude/skills/dual-mode/README.md +71 -0
  30. package/.claude/skills/dual-mode/dual-collect.md +103 -0
  31. package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
  32. package/.claude/skills/dual-mode/dual-spawn.md +81 -0
  33. package/.claude/skills/qe-court/SKILL.md +25 -3
  34. package/.claude/skills/qe-court/config.json +1 -1
  35. package/.claude/skills/skills-manifest.json +1 -1
  36. package/.codex/hooks/aqe-codex-hook.cjs +34 -9
  37. package/.codex/hooks.json +9 -9
  38. package/CHANGELOG.md +85 -0
  39. package/assets/skills/qe-court/SKILL.md +25 -3
  40. package/assets/skills/qe-court/config.json +1 -1
  41. package/assets/skills/skills-manifest.json +1 -1
  42. package/dist/cli/bundle.js +5 -5
  43. package/dist/cli/chunks/adapter-JISQ35YY.js +2 -0
  44. package/dist/cli/chunks/{agent-booster-wasm-PZYYTKSS.js → agent-booster-wasm-PR3RQWXF.js} +2 -2
  45. package/dist/cli/chunks/{agent-handler-DNN7GXUN.js → agent-handler-J5EPFBSZ.js} +2 -2
  46. package/dist/cli/chunks/{agent-memory-branch-LVCBBCQY.js → agent-memory-branch-CCHI6QAA.js} +2 -2
  47. package/dist/cli/chunks/aqe-learning-engine-TVTNP76S.js +2 -0
  48. package/dist/cli/chunks/{arena-422HSTPE.js → arena-KMKBGSMY.js} +2 -2
  49. package/dist/cli/chunks/{arena-OCEOLMCH.js → arena-SI7IPVZ3.js} +4 -4
  50. package/dist/cli/chunks/{audit-5O45K34M.js → audit-ZDKR3HT6.js} +3 -3
  51. package/dist/cli/chunks/base-WBCYKM45.js +2 -0
  52. package/dist/cli/chunks/{hnswlib-node-OVLAHTPU.js → better-sqlite3-FXJFG2WH.js} +2 -2
  53. package/dist/cli/chunks/{brain-handler-7VHXYN3P.js → brain-handler-MSYMTM5B.js} +3 -3
  54. package/dist/cli/chunks/{branch-enumerator-PZKOD6S6.js → branch-enumerator-FRAHCBTO.js} +2 -2
  55. package/dist/cli/chunks/{browser-M74UO4WJ.js → browser-4KHKVNYC.js} +2 -2
  56. package/dist/cli/chunks/browser-workflow-4JM3IWCS.js +2 -0
  57. package/dist/cli/chunks/{chunk-62D27BDO.js → chunk-26SNR2EK.js} +3 -3
  58. package/dist/cli/chunks/{chunk-NTKIDOIW.js → chunk-27FWRWOB.js} +2 -2
  59. package/dist/cli/chunks/{chunk-REBNPQI7.js → chunk-27REOPQK.js} +2 -2
  60. package/dist/cli/chunks/{chunk-73HALJY5.js → chunk-2Q73TQUQ.js} +1 -1
  61. package/dist/cli/chunks/{chunk-LG6UUM55.js → chunk-344CLTV7.js} +2 -2
  62. package/dist/cli/chunks/{chunk-LXYVWAFN.js → chunk-3RSF7POD.js} +2 -2
  63. package/dist/cli/chunks/{chunk-BO2RBAPF.js → chunk-44SYMJ4T.js} +2 -2
  64. package/dist/cli/chunks/{chunk-4SFOQSXU.js → chunk-4FP4PJ45.js} +2 -2
  65. package/dist/cli/chunks/{chunk-T726SRYP.js → chunk-4HVVVVUF.js} +2 -2
  66. package/dist/cli/chunks/{chunk-NIE3SGZM.js → chunk-55E62F4T.js} +1 -1
  67. package/dist/cli/chunks/{chunk-5AAG7JTB.js → chunk-56QR72EB.js} +2 -2
  68. package/dist/cli/chunks/{chunk-IV77BQ2R.js → chunk-5DESO7E4.js} +2 -2
  69. package/dist/cli/chunks/{chunk-RWHHOQIC.js → chunk-5IVXM3TE.js} +1 -1
  70. package/dist/cli/chunks/{chunk-ELVUERQW.js → chunk-5R26MAMK.js} +2 -2
  71. package/dist/cli/chunks/{chunk-RJYAUJDC.js → chunk-5RVWL2U3.js} +3 -3
  72. package/dist/cli/chunks/{chunk-7TCVVVFA.js → chunk-6BHRSGR7.js} +3 -3
  73. package/dist/cli/chunks/{chunk-PNQWEOE2.js → chunk-6CZUQA4G.js} +1 -1
  74. package/dist/cli/chunks/{chunk-JPPHM3I6.js → chunk-6GNVVQW3.js} +2 -2
  75. package/dist/cli/chunks/{chunk-HANBJ37Z.js → chunk-6VNUASTQ.js} +2 -2
  76. package/dist/cli/chunks/{chunk-PRQPUOSH.js → chunk-6XCULO27.js} +2 -2
  77. package/dist/cli/chunks/{chunk-24S5IUSI.js → chunk-6XVP6BGM.js} +2 -2
  78. package/dist/cli/chunks/{chunk-LZNJ7HXB.js → chunk-75CFWCQV.js} +2 -2
  79. package/dist/cli/chunks/{chunk-HANJESCY.js → chunk-7EL5QEMJ.js} +2 -2
  80. package/dist/cli/chunks/{chunk-COOMXCCP.js → chunk-7YAHECC5.js} +2 -2
  81. package/dist/cli/chunks/{chunk-Q45FBGVV.js → chunk-A2G26WU4.js} +1 -1
  82. package/dist/cli/chunks/{chunk-A2OD5Z4B.js → chunk-AROPZPNG.js} +1 -1
  83. package/dist/cli/chunks/{chunk-4PM5VORA.js → chunk-BQRCNRTJ.js} +2 -2
  84. package/dist/cli/chunks/{chunk-XZOTFJHU.js → chunk-C3AF5Z55.js} +2 -2
  85. package/dist/cli/chunks/{chunk-SOOI2HJB.js → chunk-C75V5PTW.js} +1 -1
  86. package/dist/cli/chunks/{chunk-EU7NUUL6.js → chunk-CQP6BDSF.js} +1 -1
  87. package/dist/cli/chunks/{chunk-MBTVAIFF.js → chunk-CTNDSP2M.js} +1 -1
  88. package/dist/cli/chunks/{chunk-AP2BBV2D.js → chunk-CW7LDLJ2.js} +2 -2
  89. package/dist/cli/chunks/{chunk-ZY5FB3JV.js → chunk-DQ247474.js} +2 -2
  90. package/dist/cli/chunks/{chunk-BSQ32ZS5.js → chunk-E7FCVH32.js} +2 -2
  91. package/dist/cli/chunks/{chunk-4FYTWD4Q.js → chunk-EEHEMDNV.js} +2 -2
  92. package/dist/cli/chunks/{chunk-54BCLRRJ.js → chunk-EPSF2ERW.js} +2 -2
  93. package/dist/cli/chunks/{chunk-GZ775E5O.js → chunk-ERKYIV25.js} +2 -2
  94. package/dist/cli/chunks/{chunk-4DKL4H5L.js → chunk-ESMSH7HG.js} +2 -2
  95. package/dist/cli/chunks/{chunk-NNIKJZA4.js → chunk-EUIUWZF4.js} +3 -3
  96. package/dist/cli/chunks/{chunk-M4JZOCV3.js → chunk-FBXWU37F.js} +1 -1
  97. package/dist/cli/chunks/{chunk-K47EWX3M.js → chunk-FJSL7TWU.js} +1 -1
  98. package/dist/cli/chunks/{chunk-MVJ5UQI3.js → chunk-FZ4MUDHZ.js} +1 -1
  99. package/dist/cli/chunks/{chunk-AJ7A52GF.js → chunk-GGZB2ZBB.js} +1 -1
  100. package/dist/cli/chunks/{chunk-FFMUTX26.js → chunk-GIU26D5G.js} +1 -1
  101. package/dist/cli/chunks/{chunk-RF2DMPX2.js → chunk-GNFKG2LX.js} +2 -2
  102. package/dist/cli/chunks/{chunk-FXXXLDB3.js → chunk-GOFP47XU.js} +1 -1
  103. package/dist/cli/chunks/{chunk-TLG56A27.js → chunk-GOHWEQEP.js} +2 -2
  104. package/dist/cli/chunks/{chunk-DL2HDULJ.js → chunk-GRMKN44A.js} +3 -3
  105. package/dist/cli/chunks/{chunk-VOYUCJLK.js → chunk-HGBVGEUE.js} +2 -2
  106. package/dist/cli/chunks/{chunk-RI2V2U2N.js → chunk-HGY62IYZ.js} +2 -2
  107. package/dist/cli/chunks/{chunk-FMYNKZ2S.js → chunk-HN2DD2DQ.js} +2 -2
  108. package/dist/cli/chunks/{chunk-QS6TI7NR.js → chunk-II2RP3MY.js} +2 -2
  109. package/dist/cli/chunks/{chunk-N4O2RWSL.js → chunk-IN5KRJSE.js} +1 -1
  110. package/dist/cli/chunks/{chunk-ZIT5VF43.js → chunk-ISGKDLZ7.js} +2 -2
  111. package/dist/cli/chunks/{chunk-VKU5BUUC.js → chunk-ITQCSIYG.js} +1 -1
  112. package/dist/cli/chunks/{chunk-T55XIENI.js → chunk-IU5SILCS.js} +2 -2
  113. package/dist/cli/chunks/{chunk-4HFNY3Z2.js → chunk-IUFNB6I6.js} +2 -2
  114. package/dist/cli/chunks/{chunk-F6UMLI5Y.js → chunk-IVZA5XTW.js} +2 -2
  115. package/dist/cli/chunks/{chunk-4STE6VLR.js → chunk-JBHGMLN7.js} +10 -10
  116. package/dist/cli/chunks/{chunk-5GGGZYFA.js → chunk-JDADACZZ.js} +1 -1
  117. package/dist/cli/chunks/{chunk-WMK2ZNLM.js → chunk-JJ5YIKTJ.js} +3 -3
  118. package/dist/cli/chunks/{chunk-JDRYENTD.js → chunk-KB4S7MGB.js} +2 -2
  119. package/dist/cli/chunks/{chunk-IIZ3HBPV.js → chunk-KDICUKYX.js} +2 -2
  120. package/dist/cli/chunks/{chunk-HD6PZHLC.js → chunk-KE656E6T.js} +3 -3
  121. package/dist/cli/chunks/{chunk-KKPWS3XJ.js → chunk-KO3UQYGY.js} +10 -10
  122. package/dist/cli/chunks/{chunk-NBRKZOPM.js → chunk-KQLJILCZ.js} +1 -1
  123. package/dist/cli/chunks/{chunk-UPGJZA3D.js → chunk-KZAVYHH7.js} +4 -4
  124. package/dist/cli/chunks/{chunk-YTHUTBBH.js → chunk-L3UTZEVW.js} +2 -2
  125. package/dist/cli/chunks/{chunk-6XHDH3IJ.js → chunk-LASZCR5G.js} +2 -2
  126. package/dist/cli/chunks/{chunk-E6PYV3DB.js → chunk-LEIG3KIG.js} +2 -2
  127. package/dist/cli/chunks/{chunk-HHUKHEW5.js → chunk-LIMFWEUI.js} +2 -2
  128. package/dist/cli/chunks/{chunk-GHJRLC3C.js → chunk-LJSHQU2P.js} +5 -5
  129. package/dist/cli/chunks/{chunk-QVD3LU27.js → chunk-LUAYTM77.js} +1 -1
  130. package/dist/cli/chunks/{chunk-6R7TX5L4.js → chunk-MANWLRAW.js} +1 -1
  131. package/dist/cli/chunks/{chunk-MNDPSIEI.js → chunk-MP3RCZ75.js} +1 -1
  132. package/dist/cli/chunks/{chunk-TVWX7NYD.js → chunk-MPVOZKUP.js} +1 -1
  133. package/dist/cli/chunks/{chunk-WTSVP6OK.js → chunk-MWWTYPFL.js} +2 -2
  134. package/dist/cli/chunks/{chunk-PILZKQX7.js → chunk-N57M7UPQ.js} +2 -2
  135. package/dist/cli/chunks/{chunk-KHVW6DQS.js → chunk-N7LIYK7Z.js} +1 -1
  136. package/dist/cli/chunks/{chunk-GMKJWOXZ.js → chunk-NAAPL2HK.js} +1 -1
  137. package/dist/cli/chunks/{chunk-H6C2YTPX.js → chunk-NAZFAGJ5.js} +2 -2
  138. package/dist/cli/chunks/{chunk-JMRUHQEL.js → chunk-NQJLUY2K.js} +2 -2
  139. package/dist/cli/chunks/{chunk-XXQLFPIK.js → chunk-NQVF4M7L.js} +1 -1
  140. package/dist/cli/chunks/{chunk-AS2HVJ42.js → chunk-NW4YPUPN.js} +3 -3
  141. package/dist/cli/chunks/{chunk-LEOSNZR2.js → chunk-O45CEMVF.js} +1 -1
  142. package/dist/cli/chunks/{chunk-FZEWEG6Q.js → chunk-O74V7MB4.js} +2 -2
  143. package/dist/cli/chunks/{chunk-EFHMS7TJ.js → chunk-OF7674H5.js} +2 -2
  144. package/dist/cli/chunks/{chunk-5EFNZEOB.js → chunk-OR2RC7ZH.js} +2 -2
  145. package/dist/cli/chunks/{chunk-2DG44UZ5.js → chunk-OU2YHXJY.js} +2 -2
  146. package/dist/cli/chunks/{chunk-DAHNHVND.js → chunk-OU3SYEYJ.js} +1 -1
  147. package/dist/cli/chunks/{chunk-ASIGTVFQ.js → chunk-PD2ZSCEH.js} +1 -1
  148. package/dist/cli/chunks/{chunk-QZACODX6.js → chunk-PFQLB4XP.js} +2 -2
  149. package/dist/cli/chunks/{chunk-J722Z7VO.js → chunk-PI55PHUL.js} +2 -2
  150. package/dist/cli/chunks/{chunk-CLBBFKXV.js → chunk-PIYDPOW6.js} +2 -2
  151. package/dist/cli/chunks/{chunk-MUSLUG6Y.js → chunk-PJFQGNRW.js} +1 -1
  152. package/dist/cli/chunks/{chunk-OYWZYG6Q.js → chunk-PRHLV6FS.js} +1 -1
  153. package/dist/cli/chunks/chunk-Q4VZXT6X.js +2 -0
  154. package/dist/cli/chunks/{chunk-5KMBZTDI.js → chunk-QENUKXPP.js} +2 -2
  155. package/dist/cli/chunks/chunk-QGH54HTH.js +2 -0
  156. package/dist/cli/chunks/chunk-QXF6EQFP.js +4 -0
  157. package/dist/cli/chunks/{chunk-E6JJ4ZRQ.js → chunk-RCRKCMN5.js} +1 -1
  158. package/dist/cli/chunks/{chunk-GKKD22CC.js → chunk-RKNKFLCQ.js} +2 -2
  159. package/dist/cli/chunks/{chunk-DCQQJLUY.js → chunk-RLZZTFEN.js} +2 -2
  160. package/dist/cli/chunks/{chunk-N2AGOQCL.js → chunk-RO4BYINM.js} +2 -2
  161. package/dist/cli/chunks/{chunk-YXTDCP6H.js → chunk-SFRYDGLF.js} +1 -1
  162. package/dist/cli/chunks/{chunk-DIPOFCBX.js → chunk-SJ26ZR75.js} +2 -2
  163. package/dist/cli/chunks/{chunk-FECBWGCA.js → chunk-SPTCNM45.js} +2 -2
  164. package/dist/cli/chunks/{chunk-GMKQJEKX.js → chunk-SQCACQUM.js} +2 -2
  165. package/dist/cli/chunks/{chunk-BFKXHXWW.js → chunk-TCYSMSBO.js} +2 -2
  166. package/dist/cli/chunks/{chunk-UIQVVS7K.js → chunk-TFFEB7XD.js} +2 -2
  167. package/dist/cli/chunks/{chunk-JKVUSXT4.js → chunk-TM6LLT4G.js} +3 -3
  168. package/dist/cli/chunks/{chunk-YWJ2GPD4.js → chunk-TO7FTPRV.js} +2 -2
  169. package/dist/cli/chunks/{chunk-ODE7Z667.js → chunk-U52IQFMP.js} +1 -1
  170. package/dist/cli/chunks/{chunk-G4LZ5SBC.js → chunk-UAEP2ZUQ.js} +2 -2
  171. package/dist/cli/chunks/{chunk-EABGQVTV.js → chunk-UNMWI4QU.js} +1 -1
  172. package/dist/cli/chunks/{chunk-P33EORZZ.js → chunk-UOO7P2AK.js} +2 -2
  173. package/dist/cli/chunks/{chunk-JPO4AC5Q.js → chunk-UQFMQOZB.js} +1 -1
  174. package/dist/cli/chunks/{chunk-YZUMCXH6.js → chunk-VDPQ7NVG.js} +1 -1
  175. package/dist/cli/chunks/{chunk-KRRGOJ6K.js → chunk-VLELNETG.js} +2 -2
  176. package/dist/cli/chunks/{chunk-Q625ISQI.js → chunk-VOAXVNO5.js} +4 -4
  177. package/dist/cli/chunks/{chunk-LJWIBYTR.js → chunk-VZO4V4R4.js} +2 -2
  178. package/dist/cli/chunks/{chunk-K3MNTU4O.js → chunk-W37WY3OL.js} +2 -2
  179. package/dist/cli/chunks/{chunk-FJ2L6P7O.js → chunk-WCUXA3NV.js} +1 -1
  180. package/dist/cli/chunks/{chunk-B7KZMPF2.js → chunk-WSQE3VZB.js} +1 -1
  181. package/dist/cli/chunks/{chunk-PT6NTWGT.js → chunk-WUXCL65V.js} +2 -2
  182. package/dist/cli/chunks/{chunk-XS2S3ECA.js → chunk-X5JMTHXC.js} +3 -3
  183. package/dist/cli/chunks/{chunk-PJOH5Z5I.js → chunk-X67O2KUE.js} +2 -2
  184. package/dist/cli/chunks/{chunk-5XYVRTI6.js → chunk-XBSBVPSM.js} +2 -2
  185. package/dist/cli/chunks/{chunk-RWUK5VMZ.js → chunk-XEI5LLHX.js} +2 -2
  186. package/dist/cli/chunks/{chunk-LQDQTLWV.js → chunk-XF4F5ZXO.js} +2 -2
  187. package/dist/cli/chunks/{chunk-TTWWCWAR.js → chunk-XLP44YGX.js} +2 -2
  188. package/dist/cli/chunks/{chunk-HQCJYUKC.js → chunk-XTHRSBMJ.js} +2 -2
  189. package/dist/cli/chunks/{chunk-KAHMXURL.js → chunk-Y7VWCP35.js} +1 -1
  190. package/dist/cli/chunks/{chunk-UVLWT6QM.js → chunk-YQI6SOUO.js} +1 -1
  191. package/dist/cli/chunks/{chunk-DQXSDWRP.js → chunk-YZGA4ELM.js} +2 -2
  192. package/dist/cli/chunks/{chunk-CKTFKA7Q.js → chunk-Z6FK7T7J.js} +2 -2
  193. package/dist/cli/chunks/{chunk-T2XXTEZV.js → chunk-Z7FVGJYC.js} +2 -2
  194. package/dist/cli/chunks/{chunk-U2FCUBBW.js → chunk-ZAT65V6I.js} +2 -2
  195. package/dist/cli/chunks/{chunk-2QJPAQE5.js → chunk-ZYCPTARG.js} +2 -2
  196. package/dist/cli/chunks/{ci-EOFZKCSH.js → ci-DK4FGREO.js} +2 -2
  197. package/dist/cli/chunks/{ci-output-TAJFQWDP.js → ci-output-HQBBQQES.js} +2 -2
  198. package/dist/cli/chunks/{circuit-breaker-QA7YJ3IF.js → circuit-breaker-MJCS46DN.js} +2 -2
  199. package/dist/cli/chunks/{claude-flow-setup-4RNAIALK.js → claude-flow-setup-IIQT52H4.js} +2 -2
  200. package/dist/cli/chunks/client-FNDZB4TY.js +2 -0
  201. package/dist/cli/chunks/{cline-installer-K25NUUA4.js → cline-installer-7SPKUNNZ.js} +2 -2
  202. package/dist/cli/chunks/{code-JM4D3I2W.js → code-V2B4FP3X.js} +2 -2
  203. package/dist/cli/chunks/{code-index-extractor-6B6TJ2B5.js → code-index-extractor-IRGAI76Y.js} +2 -2
  204. package/dist/cli/chunks/codex-installer-PDFCYRU6.js +15 -0
  205. package/dist/cli/chunks/{completions-LADTXGCC.js → completions-TAJ6N7YZ.js} +2 -2
  206. package/dist/cli/chunks/{complexity-analyzer-IQITOJH5.js → complexity-analyzer-JHQKQKBG.js} +2 -2
  207. package/dist/cli/chunks/{continuedev-installer-H6NAXFZK.js → continuedev-installer-DESZXCLC.js} +2 -2
  208. package/dist/cli/chunks/{copilot-installer-W7HCQKOS.js → copilot-installer-OQPXBLWS.js} +2 -2
  209. package/dist/cli/chunks/core-handlers-S37RHLKP.js +2 -0
  210. package/dist/cli/chunks/{cost-tracker-MC7KEENQ.js → cost-tracker-KHDFSCAJ.js} +2 -2
  211. package/dist/cli/chunks/{coverage-NOOKPFYQ.js → coverage-T7EENIDE.js} +3 -3
  212. package/dist/cli/chunks/cross-domain-router-7ZHDB2V3.js +2 -0
  213. package/dist/cli/chunks/{cursor-installer-GOZ64GZJ.js → cursor-installer-X6BFU5QU.js} +2 -2
  214. package/dist/cli/chunks/{daemon-G4ABQMFJ.js → daemon-22NOG5XI.js} +3 -3
  215. package/dist/cli/chunks/{daemon-V23WTCJJ.js → daemon-UTPP4JCG.js} +4 -4
  216. package/dist/cli/chunks/{dag-attention-scheduler-YKOO6ZWL.js → dag-attention-scheduler-XI6DG3FW.js} +2 -2
  217. package/dist/cli/chunks/{detect-SNEMKQGJ.js → detect-7IMQGJ5I.js} +2 -2
  218. package/dist/cli/chunks/{dist-node-VBNEM6K6.js → dist-node-YMLM4K7J.js} +2 -2
  219. package/dist/cli/chunks/{domain-handler-2G5XEERC.js → domain-handler-LRTJGTEH.js} +2 -2
  220. package/dist/cli/chunks/{domain-transfer-HSEUUM7E.js → domain-transfer-HZJ3WUCT.js} +2 -2
  221. package/dist/cli/chunks/dream-BEVYNIOO.js +2 -0
  222. package/dist/cli/chunks/{embed-and-insert-pattern-H6MU5HK4.js → embed-and-insert-pattern-QSRN7Z5Q.js} +2 -2
  223. package/dist/cli/chunks/{eval-XYVDJXJF.js → eval-JVVVQVV6.js} +2 -2
  224. package/dist/cli/chunks/{experience-capture-middleware-BZQJVXTE.js → experience-capture-middleware-ORZN3ROJ.js} +3 -3
  225. package/dist/cli/chunks/{fast-paths-76WWBJ4H.js → fast-paths-LUFARZR5.js} +2 -2
  226. package/dist/cli/chunks/{feature-flags-7E5YZ4P5.js → feature-flags-2XC4ECLW.js} +2 -2
  227. package/dist/cli/chunks/{feature-flags-SCQ35J6M.js → feature-flags-ZHQESXIP.js} +2 -2
  228. package/dist/cli/chunks/{file-discovery-LU5MAXWA.js → file-discovery-UHXZQ7GS.js} +2 -2
  229. package/dist/cli/chunks/{fleet-M3TH65SV.js → fleet-FUQ6G4SB.js} +3 -3
  230. package/dist/cli/chunks/{gnn-wrapper-OYUJEJD2.js → gnn-wrapper-A4E6OKGD.js} +2 -2
  231. package/dist/cli/chunks/{heartbeat-handler-II4NSOXK.js → heartbeat-handler-3JKQORXA.js} +4 -4
  232. package/dist/cli/chunks/heartbeat-scheduler-K4YLB3X4.js +2 -0
  233. package/dist/cli/chunks/hnsw-adapter-PPR3LTMA.js +2 -0
  234. package/dist/cli/chunks/hnsw-index-ZSKFT4LZ.js +2 -0
  235. package/dist/cli/chunks/{hnsw-legacy-bridge-322R2UAB.js → hnsw-legacy-bridge-AHKFKM2J.js} +2 -2
  236. package/dist/cli/chunks/{better-sqlite3-Y36THYK2.js → hnswlib-node-BP5CZGMD.js} +2 -2
  237. package/dist/cli/chunks/{hooks-2A27XCUJ.js → hooks-JNW5ZB2E.js} +10 -10
  238. package/dist/cli/chunks/hybrid-router-4SXBHTOY.js +2 -0
  239. package/dist/cli/chunks/{hypergraph-engine-ERA527UR.js → hypergraph-engine-3DTAMNSJ.js} +2 -2
  240. package/dist/cli/chunks/{hypergraph-handler-7XL4OL6W.js → hypergraph-handler-ZV4AZRGF.js} +3 -3
  241. package/dist/cli/chunks/impact-analyzer-55GE7EQD.js +2 -0
  242. package/dist/cli/chunks/{init-handler-WN6KQ5WY.js → init-handler-NPOUX47N.js} +10 -6
  243. package/dist/cli/chunks/init-wizard-EUQLSGI6.js +2 -0
  244. package/dist/cli/chunks/kernel-BSGSVYPM.js +2 -0
  245. package/dist/cli/chunks/{kilocode-installer-5UCCFZ7V.js → kilocode-installer-D35TR6LG.js} +2 -2
  246. package/dist/cli/chunks/{kiro-installer-77DPEP3K.js → kiro-installer-OHHTQENO.js} +2 -2
  247. package/dist/cli/chunks/knowledge-graph-OITIVT5J.js +2 -0
  248. package/dist/cli/chunks/{learning-A5GKUD73.js → learning-24PCHLWU.js} +3 -3
  249. package/dist/cli/chunks/{llm-router-SINJNEGP.js → llm-router-XLTE52H5.js} +4 -4
  250. package/dist/cli/chunks/llm-router-service-RUPU52AR.js +2 -0
  251. package/dist/cli/chunks/{load-Q56GLXHJ.js → load-BHMK4FIL.js} +2 -2
  252. package/dist/cli/chunks/load-test-ZV3C55ZE.js +2 -0
  253. package/dist/cli/chunks/{mcp-VBDU2WLY.js → mcp-V4MAYT7C.js} +2 -2
  254. package/dist/cli/chunks/{memory-IGWBRDIT.js → memory-PDA7MQ7E.js} +5 -5
  255. package/dist/cli/chunks/memory-backend-S3KCPHCF.js +2 -0
  256. package/dist/cli/chunks/{memory-handlers-IITHQ7KV.js → memory-handlers-X5BLXOSH.js} +2 -2
  257. package/dist/cli/chunks/{multi-model-executor-2QUEY4CC.js → multi-model-executor-KECHOXKD.js} +2 -2
  258. package/dist/cli/chunks/{opencode-installer-FZJ5N2B3.js → opencode-installer-LWSCQOOZ.js} +2 -2
  259. package/dist/cli/chunks/{orchestrator-BGLDS47V.js → orchestrator-ENEBTEUW.js} +6 -6
  260. package/dist/cli/chunks/pattern-null-store-ILVDKSCX.js +2 -0
  261. package/dist/cli/chunks/{pattern-usage-recorder-4MFN4WKV.js → pattern-usage-recorder-XIHGXYZZ.js} +2 -2
  262. package/dist/cli/chunks/{pipeline-GZHAORGP.js → pipeline-GQOJM3LU.js} +2 -2
  263. package/dist/cli/chunks/platform-L56TGXGZ.js +2 -0
  264. package/dist/cli/chunks/{plugin-VEYUFCNY.js → plugin-SZ6PZKYX.js} +2 -2
  265. package/dist/cli/chunks/{prime-radiant-advanced-wasm-OA5DLXJJ.js → prime-radiant-advanced-wasm-SID5FQFW.js} +2 -2
  266. package/dist/cli/chunks/protocol-executor-GDRHCW3Q.js +2 -0
  267. package/dist/cli/chunks/{protocol-handler-MVJ5N4X5.js → protocol-handler-5MMNVVPX.js} +2 -2
  268. package/dist/cli/chunks/{prove-VKF7YCUA.js → prove-DJ6BQ2AK.js} +2 -2
  269. package/dist/cli/chunks/provider-manager-BS4MVCSH.js +2 -0
  270. package/dist/cli/chunks/qe-reasoning-bank-P3ARGHDN.js +2 -0
  271. package/dist/cli/chunks/{quality-NLB5LVGM.js → quality-WKC4JCB3.js} +2 -2
  272. package/dist/cli/chunks/{quality-gate-OM6A7FQM.js → quality-gate-CVHVSORK.js} +3 -3
  273. package/dist/cli/chunks/queen-coordinator-GI7GNVDM.js +2 -0
  274. package/dist/cli/chunks/{real-embeddings-NONEKGAV.js → real-embeddings-DN2MEJVM.js} +2 -2
  275. package/dist/cli/chunks/{roocode-installer-ORXQQO3F.js → roocode-installer-LTAQJWIH.js} +2 -2
  276. package/dist/cli/chunks/router-YU6MLJBV.js +2 -0
  277. package/dist/cli/chunks/routing-feedback-D6B2SK5V.js +2 -0
  278. package/dist/cli/chunks/{routing-handler-LGMIBVDS.js → routing-handler-PSWR2UCT.js} +2 -2
  279. package/dist/cli/chunks/{ruvector-commands-4GZMU4BZ.js → ruvector-commands-VTP6Y7PN.js} +2 -2
  280. package/dist/cli/chunks/{rvf-dual-writer-45HKI22F.js → rvf-dual-writer-EBUMXPRO.js} +2 -2
  281. package/dist/cli/chunks/{rvf-migration-adapter-RHYIXI3I.js → rvf-migration-adapter-5N7GHMD3.js} +2 -2
  282. package/dist/cli/chunks/{rvf-migration-coordinator-ANTAYKNN.js → rvf-migration-coordinator-GQKDBNRR.js} +2 -2
  283. package/dist/cli/chunks/rvf-native-adapter-M7ZVRN5Z.js +2 -0
  284. package/dist/cli/chunks/{rvf-store-integrity-CPQUTFST.js → rvf-store-integrity-LR3SYGQK.js} +2 -2
  285. package/dist/cli/chunks/safe-db-3OHTLXG7.js +2 -0
  286. package/dist/cli/chunks/schedule-H43ADREQ.js +2 -0
  287. package/dist/cli/chunks/scheduler-CGSXNEPJ.js +2 -0
  288. package/dist/cli/chunks/{security-BM6LMCBI.js → security-YDWLYXYD.js} +3 -3
  289. package/dist/cli/chunks/{shared-rvf-adapter-3HGARKJX.js → shared-rvf-adapter-I3HQY7DE.js} +2 -2
  290. package/dist/cli/chunks/{shared-rvf-dual-writer-UQ4O46ZI.js → shared-rvf-dual-writer-2UADEA5N.js} +2 -2
  291. package/dist/cli/chunks/sqlite-persistence-V6U5FKVK.js +2 -0
  292. package/dist/cli/chunks/{status-handler-TGRAM5PC.js → status-handler-QRHI3F4V.js} +2 -2
  293. package/dist/cli/chunks/{structural-health-RXETMBB3.js → structural-health-FWKE63CM.js} +2 -2
  294. package/dist/cli/chunks/{sync-JTBZIACA.js → sync-2QRCT5MT.js} +2 -2
  295. package/dist/cli/chunks/{sync-B4KEYFCP.js → sync-E32MBAOF.js} +2 -2
  296. package/dist/cli/chunks/{task-handler-D7VXHWPG.js → task-handler-C7BKMOCL.js} +2 -2
  297. package/dist/cli/chunks/{task-handlers-XF6VVPTR.js → task-handlers-PADWLLDO.js} +3 -3
  298. package/dist/cli/chunks/{test-BKEIMBSX.js → test-KX4UKHSX.js} +4 -4
  299. package/dist/cli/chunks/{test-scheduling-A4OHR7KW.js → test-scheduling-5WKIWH4H.js} +3 -3
  300. package/dist/cli/chunks/{token-bootstrap-LIDDAOAK.js → token-bootstrap-6SKOJM3U.js} +2 -2
  301. package/dist/cli/chunks/{token-usage-BJUFIU4V.js → token-usage-V6JW55RV.js} +2 -2
  302. package/dist/cli/chunks/{transformers-YYUQCGMV.js → transformers-3UPFBYSB.js} +2 -2
  303. package/dist/cli/chunks/{tree-sitter-wasm-parser-DFXYTJ23.js → tree-sitter-wasm-parser-UCY4S2DU.js} +2 -2
  304. package/dist/cli/chunks/{types-Z75HK5HH.js → types-XNMNQGET.js} +2 -2
  305. package/dist/cli/chunks/unified-memory-H2J5BHPY.js +2 -0
  306. package/dist/cli/chunks/unified-memory-hnsw-LFGIWMTS.js +2 -0
  307. package/dist/cli/chunks/unified-persistence-F6W7EXU5.js +2 -0
  308. package/dist/cli/chunks/{upgrade-NETNZZH3.js → upgrade-MVTMTOPL.js} +2 -2
  309. package/dist/cli/chunks/{validate-U2WQ7P6T.js → validate-OJWR2AGZ.js} +2 -2
  310. package/dist/cli/chunks/{validate-swarm-DKD7H2E3.js → validate-swarm-2RGSF2K2.js} +2 -2
  311. package/dist/cli/chunks/{vibium-FOQ73JBW.js → vibium-O3ZLAEEZ.js} +2 -2
  312. package/dist/cli/chunks/visual-security-EHVU32UE.js +2 -0
  313. package/dist/cli/chunks/{web-tree-sitter-PQXWMQO6.js → web-tree-sitter-6VPASTI4.js} +2 -2
  314. package/dist/cli/chunks/{windsurf-installer-CTFSFOBX.js → windsurf-installer-CINHOW3N.js} +2 -2
  315. package/dist/cli/chunks/{witness-chain-NCRHNFQM.js → witness-chain-2NXW7FT7.js} +2 -2
  316. package/dist/cli/chunks/witness-chain-BIICGRHC.js +2 -0
  317. package/dist/cli/chunks/{witness-key-manager-WGCSSB23.js → witness-key-manager-ODW4DJWT.js} +2 -2
  318. package/dist/cli/chunks/{workflow-FE5QGP2U.js → workflow-BFGS2GAU.js} +4 -4
  319. package/dist/cli/chunks/workflow-orchestrator-PVTYPYY4.js +2 -0
  320. package/dist/cli/chunks/{wrappers-AHL5K2LO.js → wrappers-VEVVSVMS.js} +2 -2
  321. package/dist/cli/commands/platform.d.ts +17 -0
  322. package/dist/cli/commands/platform.js +91 -41
  323. package/dist/cli/handlers/init-handler.d.ts +1 -0
  324. package/dist/cli/handlers/init-handler.js +9 -3
  325. package/dist/init/codex-installer.d.ts +22 -3
  326. package/dist/init/codex-installer.js +132 -54
  327. package/dist/init/codex-skill-manifest.d.ts +43 -0
  328. package/dist/init/codex-skill-manifest.js +21 -0
  329. package/dist/init/orchestrator.js +1 -0
  330. package/dist/init/phases/09-assets.js +10 -1
  331. package/dist/init/phases/phase-interface.d.ts +2 -0
  332. package/dist/mcp/bundle.js +204 -202
  333. package/dist/shared/safe-db.js +60 -1
  334. package/dist/skills/qe-court/referee.d.ts +44 -0
  335. package/dist/skills/qe-court/referee.js +31 -2
  336. package/package.json +5 -1
  337. package/dist/cli/chunks/adapter-I4SNWMCM.js +0 -2
  338. package/dist/cli/chunks/aqe-learning-engine-WI47XKXI.js +0 -2
  339. package/dist/cli/chunks/base-VJ6VDLD7.js +0 -2
  340. package/dist/cli/chunks/browser-workflow-WRYHQQDU.js +0 -2
  341. package/dist/cli/chunks/chunk-6DMB6WK5.js +0 -2
  342. package/dist/cli/chunks/chunk-6UGYFYS4.js +0 -2
  343. package/dist/cli/chunks/client-N2WAM5IK.js +0 -2
  344. package/dist/cli/chunks/codex-installer-GRUENCIO.js +0 -10
  345. package/dist/cli/chunks/core-handlers-VSX474R3.js +0 -2
  346. package/dist/cli/chunks/cross-domain-router-VNE7QKX4.js +0 -2
  347. package/dist/cli/chunks/dream-A5LVJU7T.js +0 -2
  348. package/dist/cli/chunks/heartbeat-scheduler-CFZ6DNQY.js +0 -2
  349. package/dist/cli/chunks/hnsw-adapter-I4Y2T4HO.js +0 -2
  350. package/dist/cli/chunks/hnsw-index-SBR5VYGN.js +0 -2
  351. package/dist/cli/chunks/hybrid-router-E6YM74NQ.js +0 -2
  352. package/dist/cli/chunks/impact-analyzer-GHYFSSMJ.js +0 -2
  353. package/dist/cli/chunks/init-wizard-KAN5KOGD.js +0 -2
  354. package/dist/cli/chunks/kernel-LET4HEEF.js +0 -2
  355. package/dist/cli/chunks/knowledge-graph-P3UJWNQS.js +0 -2
  356. package/dist/cli/chunks/llm-router-service-BOBENURJ.js +0 -2
  357. package/dist/cli/chunks/load-test-4VDCVB7S.js +0 -2
  358. package/dist/cli/chunks/memory-backend-RRFAYQYS.js +0 -2
  359. package/dist/cli/chunks/pattern-null-store-V7DEZEF2.js +0 -2
  360. package/dist/cli/chunks/platform-TZEX4YZQ.js +0 -2
  361. package/dist/cli/chunks/protocol-executor-I3C2ZETP.js +0 -2
  362. package/dist/cli/chunks/provider-manager-HB4YVQDI.js +0 -2
  363. package/dist/cli/chunks/qe-reasoning-bank-RDLBAXJY.js +0 -2
  364. package/dist/cli/chunks/queen-coordinator-QRWRNUDR.js +0 -2
  365. package/dist/cli/chunks/router-WDF7KV4M.js +0 -2
  366. package/dist/cli/chunks/routing-feedback-DHYB4ZNL.js +0 -2
  367. package/dist/cli/chunks/rvf-native-adapter-7W53TYTH.js +0 -2
  368. package/dist/cli/chunks/safe-db-4HBFO7OQ.js +0 -2
  369. package/dist/cli/chunks/schedule-M2OSBJZM.js +0 -2
  370. package/dist/cli/chunks/scheduler-JWV5MSGE.js +0 -2
  371. package/dist/cli/chunks/sqlite-persistence-QA4JRQZ2.js +0 -2
  372. package/dist/cli/chunks/unified-memory-BEUZQTTC.js +0 -2
  373. package/dist/cli/chunks/unified-memory-hnsw-FHLSAEX4.js +0 -2
  374. package/dist/cli/chunks/unified-persistence-TVEQGCSB.js +0 -2
  375. package/dist/cli/chunks/visual-security-AYV46OUO.js +0 -2
  376. package/dist/cli/chunks/witness-chain-RU356H6R.js +0 -2
  377. package/dist/cli/chunks/workflow-orchestrator-N2DQTC3X.js +0 -2
  378. package/dist/cli/commands/init.d.ts +0 -19
  379. package/dist/cli/commands/init.js +0 -318
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: dual-collect
3
+ description: Collect results from headless Codex workers
4
+ ---
5
+
6
+ # Dual Collect Skill
7
+
8
+ Collect and aggregate results from headless Codex workers stored in shared memory.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /dual-collect [--namespace <namespace>] [--format <format>]
14
+ ```
15
+
16
+ ## Parameters
17
+
18
+ | Parameter | Default | Description |
19
+ |-----------|---------|-------------|
20
+ | `--namespace` | results | Memory namespace to search |
21
+ | `--format` | summary | Output format: summary, detailed, json |
22
+ | `--filter` | none | Filter by key pattern |
23
+
24
+ ## Examples
25
+
26
+ ### Collect All Results
27
+ ```
28
+ /dual-collect
29
+ ```
30
+
31
+ ### Collect from Specific Namespace
32
+ ```
33
+ /dual-collect --namespace patterns
34
+ ```
35
+
36
+ ### Detailed Output
37
+ ```
38
+ /dual-collect --format detailed
39
+ ```
40
+
41
+ ### Filter by Worker
42
+ ```
43
+ /dual-collect --filter "worker-auth-*"
44
+ ```
45
+
46
+ ## How It Works
47
+
48
+ 1. Queries the memory system for entries in specified namespace
49
+ 2. Aggregates results from all workers
50
+ 3. Formats output according to specified format
51
+ 4. Displays summary of completed/failed workers
52
+
53
+ ## Generated Commands
54
+
55
+ ```bash
56
+ # List all results
57
+ npx claude-flow@v3alpha memory list --namespace {{namespace}}
58
+
59
+ # Search for specific patterns
60
+ npx claude-flow@v3alpha memory search -q "{{filter}}" -n {{namespace}}
61
+
62
+ # Get detailed entries
63
+ {{#each results}}
64
+ npx claude-flow@v3alpha memory get -k "{{this.key}}" -n {{namespace}}
65
+ {{/each}}
66
+ ```
67
+
68
+ ## Output Formats
69
+
70
+ ### Summary (default)
71
+ ```
72
+ Workers Completed: 4/4
73
+ ├─ worker-auth-core: ✅ Complete (auth.service.ts)
74
+ ├─ worker-auth-api: ✅ Complete (auth.controller.ts)
75
+ ├─ worker-tests: ✅ Complete (15 tests passing)
76
+ └─ worker-docs: ✅ Complete (API.md updated)
77
+ ```
78
+
79
+ ### Detailed
80
+ ```
81
+ ┌─────────────────────────────────────────────────┐
82
+ │ Worker: worker-auth-core │
83
+ │ Status: Complete │
84
+ │ Duration: 45s │
85
+ │ Files: auth.service.ts, auth.types.ts │
86
+ │ Result: Implemented JWT authentication │
87
+ └─────────────────────────────────────────────────┘
88
+ ```
89
+
90
+ ### JSON
91
+ ```json
92
+ {
93
+ "workers": [
94
+ {"id": "worker-auth-core", "status": "complete", "result": "..."}
95
+ ],
96
+ "summary": {"total": 4, "completed": 4, "failed": 0}
97
+ }
98
+ ```
99
+
100
+ ## Related Skills
101
+
102
+ - `/dual-spawn` - Spawn headless workers
103
+ - `/dual-coordinate` - Full hybrid workflow
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: dual-coordinate
3
+ description: Coordinate hybrid Claude Code + Codex workflows
4
+ ---
5
+
6
+ # Dual Coordinate Skill
7
+
8
+ Coordinate hybrid workflows that use Claude Code for interactive reasoning and Codex for parallel background execution.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /dual-coordinate --workflow <workflow-name> --task "<task-description>"
14
+ ```
15
+
16
+ ## Parameters
17
+
18
+ | Parameter | Default | Description |
19
+ |-----------|---------|-------------|
20
+ | `--workflow` | hybrid_development | Workflow template to use |
21
+ | `--task` | required | Task description |
22
+ | `--interactive-first` | true | Start with interactive phase |
23
+
24
+ ## Available Workflows
25
+
26
+ ### hybrid_development
27
+ Design interactively, implement in parallel, review interactively.
28
+
29
+ ```
30
+ /dual-coordinate --workflow hybrid_development --task "Build user authentication"
31
+ ```
32
+
33
+ ### parallel_feature
34
+ Spawn multiple Codex workers for parallel implementation.
35
+
36
+ ```
37
+ /dual-coordinate --workflow parallel_feature --task "Implement REST API"
38
+ ```
39
+
40
+ ### design_and_execute
41
+ Interactive design phase, then batch execution.
42
+
43
+ ```
44
+ /dual-coordinate --workflow design_and_execute --task "Refactor auth module"
45
+ ```
46
+
47
+ ## How It Works
48
+
49
+ 1. **Routing Decision**: Analyzes task to determine optimal platform split
50
+ 2. **Interactive Phase**: Complex reasoning in Claude Code
51
+ 3. **Parallel Phase**: Spawns Codex workers for execution
52
+ 4. **Review Phase**: Returns to Claude Code for quality review
53
+ 5. **Result Collection**: Aggregates worker results from memory
54
+
55
+ ## Generated Commands
56
+
57
+ ```bash
58
+ # Phase 1: Interactive (Claude Code)
59
+ # [Current session handles design/planning]
60
+
61
+ # Phase 2: Parallel (Codex)
62
+ {{#each workers}}
63
+ claude -p "{{this.task}}" --session-id {{this.id}} &
64
+ {{/each}}
65
+ wait
66
+
67
+ # Phase 3: Review (Claude Code)
68
+ npx claude-flow@v3alpha memory list --namespace results
69
+ ```
70
+
71
+ ## Example: Full Hybrid Workflow
72
+
73
+ ```
74
+ /dual-coordinate --workflow hybrid_development --task "Build user profile API"
75
+ ```
76
+
77
+ This will:
78
+ 1. **Design Phase** (Interactive): Discuss requirements, design endpoints, plan implementation
79
+ 2. **Implement Phase** (Headless): Spawn coders, testers, docs writers in parallel
80
+ 3. **Review Phase** (Interactive): Review implementation, discuss improvements
81
+
82
+ ## Related Skills
83
+
84
+ - `/dual-spawn` - Spawn headless workers only
85
+ - `/dual-collect` - Collect results from workers
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: dual-spawn
3
+ description: Spawn headless Codex workers from Claude Code for parallel execution
4
+ ---
5
+
6
+ # Dual Spawn Skill
7
+
8
+ Spawn multiple headless Codex workers to run tasks in parallel while you continue working interactively.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /dual-spawn "<task>" --workers <count> [--type <worker-type>]
14
+ ```
15
+
16
+ ## Parameters
17
+
18
+ | Parameter | Default | Description |
19
+ |-----------|---------|-------------|
20
+ | `task` | required | Task description for workers |
21
+ | `--workers` | 3 | Number of parallel workers |
22
+ | `--type` | coder | Worker type: coder, tester, docs, reviewer |
23
+ | `--wait` | false | Wait for completion |
24
+
25
+ ## Examples
26
+
27
+ ### Spawn Implementation Workers
28
+ ```
29
+ /dual-spawn "Implement user authentication" --workers 2 --type coder
30
+ ```
31
+
32
+ ### Spawn Test Writers
33
+ ```
34
+ /dual-spawn "Write comprehensive tests for auth module" --workers 2 --type tester
35
+ ```
36
+
37
+ ### Spawn Documentation Workers
38
+ ```
39
+ /dual-spawn "Document all API endpoints" --workers 1 --type docs
40
+ ```
41
+
42
+ ## How It Works
43
+
44
+ 1. Initializes shared swarm coordination
45
+ 2. Spawns headless Codex workers with `claude -p`
46
+ 3. Each worker searches memory for relevant patterns
47
+ 4. Workers execute in parallel
48
+ 5. Results stored in shared memory
49
+
50
+ ## Generated Commands
51
+
52
+ ```bash
53
+ # Initialize coordination
54
+ npx claude-flow swarm init --topology hierarchical --max-agents {{workers}}
55
+
56
+ # Spawn workers
57
+ {{#each workers}}
58
+ claude -p "
59
+ You are worker-{{@index}}.
60
+ TASK: {{task}}
61
+
62
+ 1. Search: memory_search(query='{{task_keywords}}')
63
+ 2. Execute your assigned work
64
+ 3. Store: memory_store(key='result-{{@index}}', namespace='results', upsert=true)
65
+ " --session-id task-{{@index}} &
66
+ {{/each}}
67
+
68
+ echo "Spawned {{workers}} headless workers"
69
+ ```
70
+
71
+ ## After Spawning
72
+
73
+ Use `/dual-collect` to gather results:
74
+ ```
75
+ /dual-collect --namespace results
76
+ ```
77
+
78
+ Or check manually:
79
+ ```bash
80
+ npx claude-flow memory list --namespace results
81
+ ```
@@ -62,7 +62,7 @@ budget caps and cost receipts apply automatically.
62
62
 
63
63
  | Step | Default provider / tier | Why |
64
64
  |------|------------------------|-----|
65
- | **Defense** | `cognitum-low` or `claude-code` (may equal writer) | Cheap; states the case, never grades |
65
+ | **Defense** | `claude-code` (default) or `cognitum-low` (may equal writer) | Cheap; states the case, never grades. Must differ in vendor from the jury |
66
66
  | Prosecutor — devils-advocate | `cognitum-mid` | Gap/assumption hunting |
67
67
  | Prosecutor — brutal-honesty | `claude-code` (Opus/Sonnet) | Rigor lens, different family from jury |
68
68
  | Prosecutor — sherlock | `cognitum-high` | Deductive/root-cause needs a strong model |
@@ -83,8 +83,15 @@ when you explicitly want to name several different models.
83
83
  **Enforced invariants** (defaults; do not weaken without reason):
84
84
  1. **≥2 distinct vendors** across the panel — Claude / Cognitum / GPT-via-Codex — not just tiers.
85
85
  2. **Jury provider ∉ {writer, defense}** — no model grades its own or its writer's output.
86
+ Vendor is compared **coarsely**: `cognitum-low` and `cognitum-high` are the same
87
+ vendor, so pairing them across defense and jury is a violation, not a diverse panel.
86
88
  3. All calls routed through `ProviderManager` → ADR-123 budget cap + receipts.
87
89
 
90
+ Invariants 1–2 are machine-checked by `validateCourtConfig()` in `referee.ts`, which
91
+ the court MUST call before seating a panel (see *How to run it*). The `options` block
92
+ below binds directly to that check — `minDistinctVendors` and `writerIsNeverJuror` are
93
+ read, not decorative.
94
+
88
95
  ## The protocol
89
96
 
90
97
  ```
@@ -150,7 +157,20 @@ composing existing agents/skills — there is no monolithic binary yet (a thin
150
157
  `aqe court` CLI wrapper is planned as ADR-124 Phase 1; the hosted `/v1/qe/verdict`
151
158
  is Phase 2). To run a court now:
152
159
 
153
- 1. Read `config.json` for the panel + `routing` + `overturnDepth`.
160
+ 1. Read `config.json` for the panel + `routing` + `overturnDepth`, then **validate
161
+ the panel before seating it** — this step is not optional:
162
+
163
+ ```ts
164
+ import { validateCourtConfig } from 'src/skills/qe-court/referee';
165
+ const violations = validateCourtConfig(config); // [] == valid
166
+ if (violations.length) throw new Error(`Cannot convene: ${violations.join(', ')}`);
167
+ ```
168
+
169
+ A non-empty result means the panel cannot render a trustworthy verdict
170
+ (colluding jury, too few vendors, no jury at all). **ABORT the court and tell
171
+ the user which invariant failed** — do not proceed with a degraded panel and
172
+ do not silently re-route around it. A court that convenes an invalid panel
173
+ produces exactly the false SHIP it exists to catch.
154
174
  2. Spawn the prosecutors **in one message, in parallel** (`Task`/`Agent`,
155
175
  `run_in_background: true`), each with its routed provider; run
156
176
  `codex exec review` for the cross-vendor lens via Bash.
@@ -172,7 +192,9 @@ Durable, attestable evidence — the "jury waiting for everything you ship."
172
192
  (`src/skills/qe-court/referee.ts`) and covered by an oracle suite
173
193
  (`tests/unit/skills/qe-court/referee.test.ts`) that the acceptance eval
174
194
  (`evals/qe-court.yaml`, command-eval mode) runs through the `aqe eval` CLI —
175
- 6/6 green as of 2026-07-18. The keystone oracle: a seeded mutant a shallow panel
195
+ 15/15 green as of 2026-07-29. That suite now validates the **shipped `config.json`
196
+ itself**, so a routing edit that seats a colluding panel fails in CI rather than in
197
+ a user's court (issue #576). The keystone oracle: a seeded mutant a shallow panel
176
198
  rated SHIP is overturned to BLOCK when the overturn round is active, and MUST
177
199
  regress to SHIP at `overturnDepth: 0` — proving the mechanic carries its weight.
178
200
  Run it yourself: `aqe eval run --skill qe-court --model cognitum-low`.
@@ -6,7 +6,7 @@
6
6
  "emitScore": false,
7
7
  "routing": {
8
8
  "_note": "provider ids: claude-code | cognitum-{low,mid,high} | openrouter | codex | claude | openai | gemini | ollama. Cognitum resolves multiple models behind its tiers; use openrouter when you want to name several distinct models for breadth.",
9
- "defense": { "provider": "cognitum-low" },
9
+ "defense": { "provider": "claude-code" },
10
10
  "prosecutor.devils-advocate": { "provider": "cognitum-mid" },
11
11
  "prosecutor.brutal-honesty": { "provider": "claude-code", "model": "sonnet" },
12
12
  "prosecutor.sherlock": { "provider": "cognitum-high" },
@@ -940,7 +940,7 @@
940
940
  },
941
941
  "metadata": {
942
942
  "generatedBy": "Agentic QE Fleet",
943
- "fleetVersion": "3.13.2",
943
+ "fleetVersion": "3.13.4",
944
944
  "manifestVersion": "1.4.0",
945
945
  "lastUpdated": "2026-04-13T00:00:00.000Z",
946
946
  "contributors": [
@@ -26,14 +26,39 @@ const codexShim = path.join(root, '.codex', 'hooks', 'aqe-runtime.cjs');
26
26
  const shim = require('node:fs').existsSync(codexShim)
27
27
  ? codexShim
28
28
  : path.join(root, '.claude', 'hooks', 'aqe-hook.cjs');
29
- const result = spawnSync(process.execPath, [shim, subcommand, '--json'], {
30
- cwd: root,
31
- env: { ...process.env, CLAUDE_PROJECT_DIR: root },
32
- input: JSON.stringify(input),
33
- encoding: 'utf8',
34
- timeout: Number(process.env.AQE_CODEX_HOOK_TIMEOUT_MS) || 20000,
35
- maxBuffer: 4 * 1024 * 1024,
36
- });
29
+ const adapterTimeout = Number(process.env.AQE_CODEX_HOOK_TIMEOUT_MS) || 25000;
30
+ const runtimeTimeout = Number(process.env.AQE_HOOK_TIMEOUT_MS)
31
+ || Math.max(1000, adapterTimeout - 3000);
32
+
33
+ function runAqe(command, extraArgs = []) {
34
+ return spawnSync(process.execPath, [shim, command, ...extraArgs, '--json'], {
35
+ cwd: root,
36
+ env: {
37
+ ...process.env,
38
+ CLAUDE_PROJECT_DIR: root,
39
+ AQE_HOOK_TIMEOUT_MS: String(runtimeTimeout),
40
+ },
41
+ input: JSON.stringify(input),
42
+ encoding: 'utf8',
43
+ timeout: adapterTimeout,
44
+ maxBuffer: 4 * 1024 * 1024,
45
+ });
46
+ }
47
+
48
+ // Stop closes the current route-learning sentinel before session cleanup.
49
+ // Both AQE commands emit internal telemetry, so return no Codex JSON.
50
+ if (subcommand === 'stop') {
51
+ runAqe('post-route', ['--success', 'true']);
52
+ runAqe('session-end', ['--save-state']);
53
+ process.exit(0);
54
+ }
55
+
56
+ const result = runAqe(subcommand);
57
+
58
+ // These commands produce AQE/Claude hook response shapes. Codex treats an
59
+ // empty successful response as continue, which preserves their side effects
60
+ // without forwarding unsupported permissionDecision or telemetry fields.
61
+ if (subcommand !== 'route') process.exit(0);
37
62
 
38
63
  if (!result.stdout) process.exit(0);
39
64
 
@@ -46,7 +71,7 @@ try {
46
71
 
47
72
  // AQE route results are useful context but are not themselves a Codex hook
48
73
  // response. Wrap them in the supported additional-context envelope.
49
- if (subcommand === 'route' && !output.hookSpecificOutput) {
74
+ if (!output.hookSpecificOutput) {
50
75
  const agent = output.recommendedAgent || 'unspecified';
51
76
  const confidence = Number.isFinite(output.confidence)
52
77
  ? ` (${Math.round(output.confidence * 100)}% confidence)`
package/.codex/hooks.json CHANGED
@@ -8,7 +8,7 @@
8
8
  {
9
9
  "type": "command",
10
10
  "command": "node \"$(git rev-parse --show-toplevel)/.codex/hooks/aqe-codex-hook.cjs\" session-start",
11
- "timeout": 25,
11
+ "timeout": 30,
12
12
  "statusMessage": "Loading AQE learning context"
13
13
  },
14
14
  {
@@ -26,7 +26,7 @@
26
26
  {
27
27
  "type": "command",
28
28
  "command": "node \"$(git rev-parse --show-toplevel)/.codex/hooks/aqe-codex-hook.cjs\" route",
29
- "timeout": 20,
29
+ "timeout": 30,
30
30
  "statusMessage": "Routing through the AQE fleet"
31
31
  },
32
32
  {
@@ -45,7 +45,7 @@
45
45
  {
46
46
  "type": "command",
47
47
  "command": "node \"$(git rev-parse --show-toplevel)/.codex/hooks/aqe-codex-hook.cjs\" pre-command",
48
- "timeout": 20,
48
+ "timeout": 30,
49
49
  "statusMessage": "Applying AQE command guardrails"
50
50
  },
51
51
  {
@@ -62,7 +62,7 @@
62
62
  {
63
63
  "type": "command",
64
64
  "command": "node \"$(git rev-parse --show-toplevel)/.codex/hooks/aqe-codex-hook.cjs\" pre-edit",
65
- "timeout": 20,
65
+ "timeout": 30,
66
66
  "statusMessage": "Applying AQE edit guardrails"
67
67
  },
68
68
  {
@@ -81,7 +81,7 @@
81
81
  {
82
82
  "type": "command",
83
83
  "command": "node \"$(git rev-parse --show-toplevel)/.codex/hooks/aqe-codex-hook.cjs\" post-command",
84
- "timeout": 20,
84
+ "timeout": 30,
85
85
  "statusMessage": "Recording AQE command outcome"
86
86
  },
87
87
  {
@@ -98,7 +98,7 @@
98
98
  {
99
99
  "type": "command",
100
100
  "command": "node \"$(git rev-parse --show-toplevel)/.codex/hooks/aqe-codex-hook.cjs\" post-edit",
101
- "timeout": 20,
101
+ "timeout": 30,
102
102
  "statusMessage": "Recording AQE edit outcome"
103
103
  },
104
104
  {
@@ -152,9 +152,9 @@
152
152
  "hooks": [
153
153
  {
154
154
  "type": "command",
155
- "command": "node \"$(git rev-parse --show-toplevel)/.codex/hooks/aqe-codex-hook.cjs\" session-end",
156
- "timeout": 20,
157
- "statusMessage": "Saving AQE session state"
155
+ "command": "node \"$(git rev-parse --show-toplevel)/.codex/hooks/aqe-codex-hook.cjs\" stop",
156
+ "timeout": 60,
157
+ "statusMessage": "Closing AQE learning outcome and saving session state"
158
158
  },
159
159
  {
160
160
  "type": "command",
package/CHANGELOG.md CHANGED
@@ -5,6 +5,91 @@ All notable changes to the Agentic QE project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.13.4] - 2026-08-02
9
+
10
+ Codex users now receive a complete, upgradeable Agentic QE workflow instead of
11
+ an MCP entry and partial instructions that could drift from the installed
12
+ hooks and skills.
13
+
14
+ ### Added
15
+
16
+ - **A curated Codex-native QE workflow fleet** ([#587]). New research,
17
+ dependency-aware planning, and lightweight Ruflo orchestration skills join
18
+ the existing quality-planning, testing, and review workflows. Ruflo remains
19
+ optional development-time guidance, enabled explicitly with `--with-ruflo`,
20
+ and is not a runtime dependency.
21
+ - **End-to-end Codex installation verification.** `aqe platform verify codex`
22
+ now checks MCP configuration, AQE instructions, lifecycle hooks, adapters,
23
+ runtimes, and every required skill, with a failing exit code when the install
24
+ is incomplete.
25
+ - **A package-boundary release gate.** `npm run verify:codex-package` verifies
26
+ the actual npm tarball contains all curated skills and hooks, excludes the
27
+ vendored Ruflo tree and dependencies, and confirms every MCP tool named in
28
+ generated Codex guidance is registered.
29
+
30
+ ### Fixed
31
+
32
+ - **`--no-mcp` now applies to Codex installs.** Previously the Claude phase
33
+ honored the flag but the Codex asset phase still wrote `.codex/config.toml`.
34
+ - **Codex upgrades now refresh AQE-owned configuration safely.** Existing MCP
35
+ blocks can switch memory backends, generated `AGENTS.md` guidance updates
36
+ inside explicit ownership markers, and user TOML, instructions, and hook
37
+ groups remain intact.
38
+ - **Partial Codex installs are diagnosable.** MCP, rules, hooks, and skills now
39
+ report independent outcomes, so a malformed hooks file no longer hides the
40
+ components that succeeded or prevents later skill installation.
41
+
42
+ ### Changed
43
+
44
+ - Removed the unused duplicate init command implementation. The active CLI
45
+ continues through the modular init handler, eliminating a second stale help
46
+ and option surface.
47
+
48
+ [#587]: https://github.com/proffesor-for-testing/agentic-qe/issues/587
49
+
50
+ ## [3.13.3] - 2026-07-29
51
+
52
+ Two independent quality-of-evidence fixes: learning capture could stop silently
53
+ for days on a filesystem where WAL is disabled, and QE-Court shipped a default
54
+ review panel that violated its own anti-collusion rule.
55
+
56
+ ### Fixed
57
+
58
+ - **Learning capture no longer stops silently when `AQE_DISABLE_WAL` is set.**
59
+ With that flag on, AQE tried to switch the database journal mode on *every*
60
+ writable connection. That switch needs exclusive access, so any other process
61
+ holding the database open — a stray MCP server, for example — made the attempt
62
+ fail and take the whole persistence layer down with it. Hooks kept reporting
63
+ success while nothing was being recorded, which hid the outage for days.
64
+
65
+ AQE now only changes the journal mode when it is actually wrong (so normal
66
+ operation never needs the exclusive lock), refuses to write in a mode you have
67
+ declared unsafe rather than risking corruption, and — when something really is
68
+ holding the database — tells you the exact command that finds it instead of
69
+ guessing which process to blame.
70
+
71
+ - **QE-Court's shipped default panel violated `writerIsNeverJuror`** ([#576]).
72
+ The bundled `config.json` seated the defense and the jury on two tiers of the
73
+ same vendor, which is exactly what the court's core anti-collusion rule
74
+ forbids — so a brand-new project got an invalid panel with no user action.
75
+ Worse, the rule could never have caught it: nothing turned the configured
76
+ routing into a panel, so validation never ran outside its own unit test, and
77
+ the config's `options` block was not wired to anything.
78
+
79
+ The default panel is now genuinely cross-vendor (and keeps the deeper-review
80
+ round on a different vendor from the jury, so escalation stays independent),
81
+ validation is a required step before a court convenes, the `options` block
82
+ actually takes effect, and the shipped config files are checked in CI so this
83
+ cannot regress unnoticed. Reported by @pacphi.
84
+
85
+ ### Changed
86
+
87
+ - The bundled statusline refreshes every 60 seconds instead of every 5. It
88
+ reopened the learning database on every tick, adding constant pressure to the
89
+ same lock the fix above depends on.
90
+
91
+ [#576]: https://github.com/proffesor-for-testing/agentic-qe/issues/576
92
+
8
93
  ## [3.13.2] - 2026-07-24
9
94
 
10
95
  Stops short-lived learning hooks from repeatedly producing
@@ -62,7 +62,7 @@ budget caps and cost receipts apply automatically.
62
62
 
63
63
  | Step | Default provider / tier | Why |
64
64
  |------|------------------------|-----|
65
- | **Defense** | `cognitum-low` or `claude-code` (may equal writer) | Cheap; states the case, never grades |
65
+ | **Defense** | `claude-code` (default) or `cognitum-low` (may equal writer) | Cheap; states the case, never grades. Must differ in vendor from the jury |
66
66
  | Prosecutor — devils-advocate | `cognitum-mid` | Gap/assumption hunting |
67
67
  | Prosecutor — brutal-honesty | `claude-code` (Opus/Sonnet) | Rigor lens, different family from jury |
68
68
  | Prosecutor — sherlock | `cognitum-high` | Deductive/root-cause needs a strong model |
@@ -83,8 +83,15 @@ when you explicitly want to name several different models.
83
83
  **Enforced invariants** (defaults; do not weaken without reason):
84
84
  1. **≥2 distinct vendors** across the panel — Claude / Cognitum / GPT-via-Codex — not just tiers.
85
85
  2. **Jury provider ∉ {writer, defense}** — no model grades its own or its writer's output.
86
+ Vendor is compared **coarsely**: `cognitum-low` and `cognitum-high` are the same
87
+ vendor, so pairing them across defense and jury is a violation, not a diverse panel.
86
88
  3. All calls routed through `ProviderManager` → ADR-123 budget cap + receipts.
87
89
 
90
+ Invariants 1–2 are machine-checked by `validateCourtConfig()` in `referee.ts`, which
91
+ the court MUST call before seating a panel (see *How to run it*). The `options` block
92
+ below binds directly to that check — `minDistinctVendors` and `writerIsNeverJuror` are
93
+ read, not decorative.
94
+
88
95
  ## The protocol
89
96
 
90
97
  ```
@@ -150,7 +157,20 @@ composing existing agents/skills — there is no monolithic binary yet (a thin
150
157
  `aqe court` CLI wrapper is planned as ADR-124 Phase 1; the hosted `/v1/qe/verdict`
151
158
  is Phase 2). To run a court now:
152
159
 
153
- 1. Read `config.json` for the panel + `routing` + `overturnDepth`.
160
+ 1. Read `config.json` for the panel + `routing` + `overturnDepth`, then **validate
161
+ the panel before seating it** — this step is not optional:
162
+
163
+ ```ts
164
+ import { validateCourtConfig } from 'src/skills/qe-court/referee';
165
+ const violations = validateCourtConfig(config); // [] == valid
166
+ if (violations.length) throw new Error(`Cannot convene: ${violations.join(', ')}`);
167
+ ```
168
+
169
+ A non-empty result means the panel cannot render a trustworthy verdict
170
+ (colluding jury, too few vendors, no jury at all). **ABORT the court and tell
171
+ the user which invariant failed** — do not proceed with a degraded panel and
172
+ do not silently re-route around it. A court that convenes an invalid panel
173
+ produces exactly the false SHIP it exists to catch.
154
174
  2. Spawn the prosecutors **in one message, in parallel** (`Task`/`Agent`,
155
175
  `run_in_background: true`), each with its routed provider; run
156
176
  `codex exec review` for the cross-vendor lens via Bash.
@@ -172,7 +192,9 @@ Durable, attestable evidence — the "jury waiting for everything you ship."
172
192
  (`src/skills/qe-court/referee.ts`) and covered by an oracle suite
173
193
  (`tests/unit/skills/qe-court/referee.test.ts`) that the acceptance eval
174
194
  (`evals/qe-court.yaml`, command-eval mode) runs through the `aqe eval` CLI —
175
- 6/6 green as of 2026-07-18. The keystone oracle: a seeded mutant a shallow panel
195
+ 15/15 green as of 2026-07-29. That suite now validates the **shipped `config.json`
196
+ itself**, so a routing edit that seats a colluding panel fails in CI rather than in
197
+ a user's court (issue #576). The keystone oracle: a seeded mutant a shallow panel
176
198
  rated SHIP is overturned to BLOCK when the overturn round is active, and MUST
177
199
  regress to SHIP at `overturnDepth: 0` — proving the mechanic carries its weight.
178
200
  Run it yourself: `aqe eval run --skill qe-court --model cognitum-low`.
@@ -6,7 +6,7 @@
6
6
  "emitScore": false,
7
7
  "routing": {
8
8
  "_note": "provider ids: claude-code | cognitum-{low,mid,high} | openrouter | codex | claude | openai | gemini | ollama. Cognitum resolves multiple models behind its tiers; use openrouter when you want to name several distinct models for breadth.",
9
- "defense": { "provider": "cognitum-low" },
9
+ "defense": { "provider": "claude-code" },
10
10
  "prosecutor.devils-advocate": { "provider": "cognitum-mid" },
11
11
  "prosecutor.brutal-honesty": { "provider": "claude-code", "model": "sonnet" },
12
12
  "prosecutor.sherlock": { "provider": "cognitum-high" },
@@ -940,7 +940,7 @@
940
940
  },
941
941
  "metadata": {
942
942
  "generatedBy": "Agentic QE Fleet",
943
- "fleetVersion": "3.13.2",
943
+ "fleetVersion": "3.13.4",
944
944
  "manifestVersion": "1.4.0",
945
945
  "lastUpdated": "2026-04-13T00:00:00.000Z",
946
946
  "contributors": [