agentic-qe 3.11.3 → 3.11.5

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 (426) hide show
  1. package/.claude/hooks/aqe-hook.cjs +44 -10
  2. package/.claude/skills/skills-manifest.json +1 -1
  3. package/CHANGELOG.md +106 -0
  4. package/assets/skills/skills-manifest.json +1 -1
  5. package/dist/audit/witness-chain.d.ts +25 -0
  6. package/dist/audit/witness-chain.js +69 -22
  7. package/dist/audit/witness-key-manager.d.ts +11 -0
  8. package/dist/audit/witness-key-manager.js +24 -0
  9. package/dist/cli/brain-commands.js +2 -1
  10. package/dist/cli/bundle.js +5 -5
  11. package/dist/cli/chunks/adapter-KNM5R47J.js +2 -0
  12. package/dist/cli/chunks/{agent-booster-wasm-BFRW7HEU.js → agent-booster-wasm-CSTBLNYZ.js} +2 -2
  13. package/dist/cli/chunks/{agent-handler-ZVC3VFPC.js → agent-handler-M4W4GTXN.js} +2 -2
  14. package/dist/cli/chunks/{agent-memory-branch-3WU3CVSX.js → agent-memory-branch-VGXFYLSQ.js} +2 -2
  15. package/dist/cli/chunks/aqe-learning-engine-MXPJLVR3.js +2 -0
  16. package/dist/cli/chunks/{arena-QMRLNQUC.js → arena-FKSD3LLM.js} +4 -4
  17. package/dist/cli/chunks/{arena-JMVTWWG5.js → arena-IQBRGWAG.js} +2 -2
  18. package/dist/cli/chunks/audit-7NSGRR4Z.js +3 -0
  19. package/dist/cli/chunks/base-X4EXQ2AS.js +2 -0
  20. package/dist/cli/chunks/{hnswlib-node-EBRXKEX5.js → better-sqlite3-2KR4LQRU.js} +2 -2
  21. package/dist/cli/chunks/brain-handler-M6A3UB66.js +89 -0
  22. package/dist/cli/chunks/{branch-enumerator-CJJG6X3I.js → branch-enumerator-2JGKY4BB.js} +2 -2
  23. package/dist/cli/chunks/{browser-LI2CDWVR.js → browser-J43WQPJL.js} +2 -2
  24. package/dist/cli/chunks/browser-workflow-4HX6RP5F.js +2 -0
  25. package/dist/cli/chunks/{chunk-DS7AZD26.js → chunk-26WEI3P4.js} +2 -2
  26. package/dist/cli/chunks/{chunk-OVEG5MEL.js → chunk-2XPMATEK.js} +2 -2
  27. package/dist/cli/chunks/{chunk-36HTS4EP.js → chunk-2XQHG56O.js} +2 -2
  28. package/dist/cli/chunks/{chunk-CGKHG46K.js → chunk-354367AP.js} +2 -2
  29. package/dist/cli/chunks/{chunk-FPKKKUWF.js → chunk-37ZUF5NX.js} +1 -1
  30. package/dist/cli/chunks/{chunk-H7Y43HBQ.js → chunk-3I4TCMOJ.js} +1 -1
  31. package/dist/cli/chunks/{chunk-WV66MXJI.js → chunk-3JF5A72M.js} +2 -2
  32. package/dist/cli/chunks/{chunk-MX5FMAY5.js → chunk-3LY7OCSO.js} +1 -1
  33. package/dist/cli/chunks/{chunk-KHUN65Q3.js → chunk-3V36WMIO.js} +1 -1
  34. package/dist/cli/chunks/{chunk-VFEU4JM4.js → chunk-3WR35GFF.js} +2 -2
  35. package/dist/cli/chunks/{chunk-A43MKBSX.js → chunk-4LODYRNV.js} +2 -2
  36. package/dist/cli/chunks/{chunk-3E3PSEC5.js → chunk-4MHN7JWC.js} +3 -3
  37. package/dist/cli/chunks/chunk-4QOI5JS7.js +14 -0
  38. package/dist/cli/chunks/{chunk-LKLWIP4Z.js → chunk-4RTWPR3X.js} +1 -1
  39. package/dist/cli/chunks/chunk-4XJ2A3HY.js +65 -0
  40. package/dist/cli/chunks/{chunk-PMHSTMHV.js → chunk-4Y3LGBKJ.js} +3 -3
  41. package/dist/cli/chunks/{chunk-SFDBIO64.js → chunk-52U5BFZP.js} +2 -2
  42. package/dist/cli/chunks/{chunk-YPRM6ZFL.js → chunk-53YOYZW5.js} +2 -2
  43. package/dist/cli/chunks/{chunk-REZ2GZQ3.js → chunk-5WMU7XCF.js} +1 -1
  44. package/dist/cli/chunks/{chunk-VUEYLW5P.js → chunk-62OTU2AP.js} +2 -2
  45. package/dist/cli/chunks/{chunk-3XLGXCSX.js → chunk-62UM7Q5N.js} +1 -1
  46. package/dist/cli/chunks/{chunk-DZZ4AJQI.js → chunk-6Q57K4YD.js} +2 -2
  47. package/dist/cli/chunks/chunk-6R3YOAKO.js +2 -0
  48. package/dist/cli/chunks/chunk-6T65OKUM.js +2 -0
  49. package/dist/cli/chunks/{chunk-VTDWQ7WI.js → chunk-7BCRULCP.js} +2 -2
  50. package/dist/cli/chunks/{chunk-XCSEJQXR.js → chunk-7DTMENY6.js} +2 -2
  51. package/dist/cli/chunks/{chunk-N2K2EQFH.js → chunk-7KXPNNMR.js} +2 -2
  52. package/dist/cli/chunks/{chunk-XKUN5PDH.js → chunk-7P6X4BFO.js} +3 -3
  53. package/dist/cli/chunks/{chunk-3CBYKKRW.js → chunk-7YSBATSN.js} +2 -2
  54. package/dist/cli/chunks/{chunk-ZDPQB67L.js → chunk-ABU64UWB.js} +1 -1
  55. package/dist/cli/chunks/{chunk-IJHPZMEQ.js → chunk-AF6P5RWY.js} +2 -2
  56. package/dist/cli/chunks/{chunk-7S7QF4HJ.js → chunk-AGJOGUP5.js} +1 -1
  57. package/dist/cli/chunks/{chunk-EHEFI6LR.js → chunk-AL5VJJN4.js} +1 -1
  58. package/dist/cli/chunks/{chunk-Q2A2XQGF.js → chunk-AOQYORVA.js} +2 -2
  59. package/dist/cli/chunks/{chunk-6WWNK67C.js → chunk-AOXJFDH5.js} +180 -176
  60. package/dist/cli/chunks/{chunk-SWRGPCZ2.js → chunk-AXKWV5NF.js} +4 -4
  61. package/dist/cli/chunks/{chunk-3BREKEL5.js → chunk-B2VBDMDI.js} +2 -2
  62. package/dist/cli/chunks/{chunk-RXN5DWVM.js → chunk-BJLA2IX7.js} +2 -2
  63. package/dist/cli/chunks/{chunk-DPYNXEBC.js → chunk-BLPWJQTY.js} +2 -2
  64. package/dist/cli/chunks/{chunk-SMHYPPO6.js → chunk-BTLUWH4R.js} +2 -2
  65. package/dist/cli/chunks/{chunk-PUK5NE47.js → chunk-C4EZNOWK.js} +1 -1
  66. package/dist/cli/chunks/{chunk-ATFADWGD.js → chunk-C5C4W572.js} +2 -2
  67. package/dist/cli/chunks/{chunk-WTKT2AD3.js → chunk-CDJP6COA.js} +2 -2
  68. package/dist/cli/chunks/{chunk-G6MPXBCD.js → chunk-CKOF27L7.js} +2 -2
  69. package/dist/cli/chunks/{chunk-BQ5EJPK3.js → chunk-D45QLJEL.js} +1 -1
  70. package/dist/cli/chunks/{chunk-WCVZHXWL.js → chunk-DFRRWOEX.js} +2 -2
  71. package/dist/cli/chunks/{chunk-PSL53AQ4.js → chunk-DLBVADWQ.js} +92 -92
  72. package/dist/cli/chunks/{chunk-HRD5I7ES.js → chunk-DPL762HU.js} +1 -1
  73. package/dist/cli/chunks/{chunk-7QIYYYUE.js → chunk-DVW66FPU.js} +1 -1
  74. package/dist/cli/chunks/{chunk-ABD6JBNO.js → chunk-EDOGRFAG.js} +1 -1
  75. package/dist/cli/chunks/{chunk-7SBMTSGY.js → chunk-EEKG35K5.js} +5 -5
  76. package/dist/cli/chunks/{chunk-PW4GGJMP.js → chunk-EK3HPH6A.js} +1 -1
  77. package/dist/cli/chunks/{chunk-QPMISAWB.js → chunk-FGD6HINU.js} +1 -1
  78. package/dist/cli/chunks/{chunk-SLU35IDJ.js → chunk-FGSIID5C.js} +2 -2
  79. package/dist/cli/chunks/{chunk-DNOBN3IR.js → chunk-FHTYEAQ3.js} +2 -2
  80. package/dist/cli/chunks/{chunk-S2T2BXUL.js → chunk-FII3WCCY.js} +2 -2
  81. package/dist/cli/chunks/{chunk-77QJQRL2.js → chunk-FIPKIIMS.js} +2 -2
  82. package/dist/cli/chunks/{chunk-WYJFVSEB.js → chunk-FMNXHVIN.js} +2 -2
  83. package/dist/cli/chunks/{chunk-FZLCKIPP.js → chunk-G2ZIJZJ7.js} +2 -2
  84. package/dist/cli/chunks/{chunk-L6PH7JIE.js → chunk-GODAWJMZ.js} +2 -2
  85. package/dist/cli/chunks/{chunk-KTYESESI.js → chunk-GW6XWMX2.js} +2 -2
  86. package/dist/cli/chunks/{chunk-AC6OZTY4.js → chunk-HC6KTVFR.js} +2 -2
  87. package/dist/cli/chunks/{chunk-EXCU4J7T.js → chunk-HJWT4KME.js} +1 -1
  88. package/dist/cli/chunks/{chunk-GBCDJJWH.js → chunk-I3ANRYQ6.js} +2 -2
  89. package/dist/cli/chunks/{chunk-KXRI4MR3.js → chunk-I3NWKPXJ.js} +2 -2
  90. package/dist/cli/chunks/chunk-IBDQWKI3.js +2 -0
  91. package/dist/cli/chunks/{chunk-7FVWETN4.js → chunk-IU5RSN6M.js} +2 -2
  92. package/dist/cli/chunks/{chunk-L44XXD3X.js → chunk-J5XDKVI7.js} +2 -2
  93. package/dist/cli/chunks/{chunk-NJ2RY4OL.js → chunk-J6PFPY7V.js} +2 -2
  94. package/dist/cli/chunks/{chunk-27MMZQ7X.js → chunk-JATLFS6A.js} +1 -1
  95. package/dist/cli/chunks/{chunk-SIAJP3YA.js → chunk-JBKZ5TUM.js} +2 -2
  96. package/dist/cli/chunks/{chunk-PLQADRA6.js → chunk-JDSHUECG.js} +2 -2
  97. package/dist/cli/chunks/chunk-K4C25BWV.js +24 -0
  98. package/dist/cli/chunks/{chunk-UFZCHVLH.js → chunk-K4I7UIU5.js} +1 -1
  99. package/dist/cli/chunks/{chunk-6F43POT6.js → chunk-KP3R2M2G.js} +1 -1
  100. package/dist/cli/chunks/chunk-KQVIWE3W.js +2 -0
  101. package/dist/cli/chunks/{chunk-JWTMVC6E.js → chunk-KVVJVMDM.js} +2 -2
  102. package/dist/cli/chunks/{chunk-EZ4GKHSI.js → chunk-LOE2JETO.js} +2 -2
  103. package/dist/cli/chunks/{chunk-O7ZDQ5FF.js → chunk-LPR2R3AN.js} +3 -3
  104. package/dist/cli/chunks/{chunk-AKOGQT3A.js → chunk-M6FW56MV.js} +2 -2
  105. package/dist/cli/chunks/{chunk-NBOEXSV2.js → chunk-MCHEUSY4.js} +1 -1
  106. package/dist/cli/chunks/{chunk-B7XPSXK6.js → chunk-MEIU7457.js} +2 -2
  107. package/dist/cli/chunks/{chunk-3FOFPGHH.js → chunk-MHMQ6MCT.js} +2 -2
  108. package/dist/cli/chunks/{chunk-6JR2RSY2.js → chunk-MIU5RUBJ.js} +2 -2
  109. package/dist/cli/chunks/{chunk-QCCXH5DK.js → chunk-MMEXHZUC.js} +37 -12
  110. package/dist/cli/chunks/{chunk-LW5TUN5F.js → chunk-MTBGOWJA.js} +2 -2
  111. package/dist/cli/chunks/{chunk-JVXPKHND.js → chunk-NCSXLMDL.js} +77 -27
  112. package/dist/cli/chunks/{chunk-WLLGPGQY.js → chunk-O7J54OHN.js} +1 -1
  113. package/dist/cli/chunks/{chunk-ZM7WOA3K.js → chunk-OGNTCZKK.js} +1 -1
  114. package/dist/cli/chunks/{chunk-CYJ6O5VZ.js → chunk-OS2HHJTM.js} +2 -2
  115. package/dist/cli/chunks/{chunk-242B625Q.js → chunk-OS62Y77J.js} +2 -2
  116. package/dist/cli/chunks/{chunk-CLZ5RQVA.js → chunk-PVDXNQPL.js} +2 -2
  117. package/dist/cli/chunks/{chunk-PUUGIBFF.js → chunk-PW72M2FE.js} +2 -2
  118. package/dist/cli/chunks/{chunk-RWUGXU2K.js → chunk-Q5TR6ETB.js} +22 -22
  119. package/dist/cli/chunks/{chunk-CCDGNJZX.js → chunk-QKK7VBVB.js} +2 -2
  120. package/dist/cli/chunks/{chunk-BHZI6PDR.js → chunk-RFLHPLET.js} +1 -1
  121. package/dist/cli/chunks/{chunk-KULBMV6K.js → chunk-RJN2RM76.js} +2 -2
  122. package/dist/cli/chunks/{chunk-LGEZ3ZJX.js → chunk-RKXZLTWR.js} +2 -2
  123. package/dist/cli/chunks/{chunk-OFMVC6P3.js → chunk-SE3JFUKP.js} +1 -1
  124. package/dist/cli/chunks/{chunk-S7KDHA6P.js → chunk-SK754ZSH.js} +4 -4
  125. package/dist/cli/chunks/{chunk-OQGELUM2.js → chunk-SO6G4IX3.js} +2 -2
  126. package/dist/cli/chunks/{chunk-5746QYRF.js → chunk-SUL3I6QZ.js} +2 -2
  127. package/dist/cli/chunks/{chunk-22CUJA33.js → chunk-TBT3OFRW.js} +2 -2
  128. package/dist/cli/chunks/{chunk-26KHL4VO.js → chunk-TEIWJ3GJ.js} +1 -1
  129. package/dist/cli/chunks/{chunk-SFGBC5RP.js → chunk-TRNBQFFG.js} +8 -20
  130. package/dist/cli/chunks/{chunk-UTGW75AZ.js → chunk-TTJJ4DQE.js} +2 -2
  131. package/dist/cli/chunks/{chunk-H6YFMUFG.js → chunk-UBI2EOS3.js} +1 -1
  132. package/dist/cli/chunks/{chunk-GCIL7PK7.js → chunk-UBY322ED.js} +2 -2
  133. package/dist/cli/chunks/{chunk-P4UGVVVX.js → chunk-UORTQXJ2.js} +1 -1
  134. package/dist/cli/chunks/{chunk-BFBZFUBP.js → chunk-URP75DL4.js} +1 -1
  135. package/dist/cli/chunks/chunk-V6NAB5UZ.js +2 -0
  136. package/dist/cli/chunks/{chunk-DZ7PWB6E.js → chunk-VMFAANWX.js} +2 -2
  137. package/dist/cli/chunks/{chunk-6KKKPVOF.js → chunk-VMWRMINE.js} +1 -1
  138. package/dist/cli/chunks/{chunk-ECGASTG7.js → chunk-VN2HHBZN.js} +2 -2
  139. package/dist/cli/chunks/{chunk-6GVRP64A.js → chunk-W72FJA2H.js} +2 -2
  140. package/dist/cli/chunks/chunk-W7TYKPLY.js +27 -0
  141. package/dist/cli/chunks/{chunk-2OUXYSQV.js → chunk-WHHQIL4F.js} +2 -2
  142. package/dist/cli/chunks/{chunk-RRSUW2TK.js → chunk-WMZ2QGGS.js} +2 -2
  143. package/dist/cli/chunks/{chunk-54TDOQAH.js → chunk-WPSK237F.js} +3 -3
  144. package/dist/cli/chunks/{chunk-LMA6KEZH.js → chunk-XKQY2Z3Q.js} +1 -1
  145. package/dist/cli/chunks/{chunk-UMWYL37S.js → chunk-XLT3FYS7.js} +2 -2
  146. package/dist/cli/chunks/{chunk-5EW36WTI.js → chunk-XT4TDLOB.js} +2 -2
  147. package/dist/cli/chunks/{chunk-7UOH55UT.js → chunk-Y25PO65W.js} +2 -2
  148. package/dist/cli/chunks/{chunk-ED7MD6OI.js → chunk-Y6DWJKHU.js} +3 -3
  149. package/dist/cli/chunks/{chunk-A4NYOH7P.js → chunk-YBPLJRVT.js} +2 -2
  150. package/dist/cli/chunks/{chunk-BA7PJS3Y.js → chunk-YFCULQBP.js} +2 -2
  151. package/dist/cli/chunks/{chunk-B65CRJN6.js → chunk-YGVDP6X7.js} +1 -1
  152. package/dist/cli/chunks/chunk-YR2JKBZO.js +2 -0
  153. package/dist/cli/chunks/{chunk-FJRRXCIS.js → chunk-YZSTZUGJ.js} +1 -1
  154. package/dist/cli/chunks/{chunk-H2YOWAEB.js → chunk-ZG5UAEEO.js} +2 -2
  155. package/dist/cli/chunks/{chunk-MU36VPXV.js → chunk-ZLBY25MB.js} +1 -1
  156. package/dist/cli/chunks/chunk-ZMPAM4DY.js +2 -0
  157. package/dist/cli/chunks/{chunk-4ITHKHR5.js → chunk-ZPP57WQU.js} +2 -2
  158. package/dist/cli/chunks/{chunk-B6USJW5E.js → chunk-ZXEWTZFR.js} +1 -1
  159. package/dist/cli/chunks/{ci-JW4O2J3W.js → ci-CBNVLOOQ.js} +2 -2
  160. package/dist/cli/chunks/{ci-output-JNXJV4B2.js → ci-output-I4HY2FYJ.js} +2 -2
  161. package/dist/cli/chunks/{circuit-breaker-XDD4KUGR.js → circuit-breaker-5VRBKGWL.js} +2 -2
  162. package/dist/cli/chunks/{claude-flow-setup-L6IZOGYZ.js → claude-flow-setup-XPJPKHIO.js} +2 -2
  163. package/dist/cli/chunks/client-AHXNCOHK.js +2 -0
  164. package/dist/cli/chunks/{cline-installer-PK5SMN2B.js → cline-installer-OFRDUUWZ.js} +2 -2
  165. package/dist/cli/chunks/{code-ZDVX3SQH.js → code-QIZQVB3E.js} +2 -2
  166. package/dist/cli/chunks/{code-index-extractor-VXZNKEU5.js → code-index-extractor-LMUUWEX4.js} +2 -2
  167. package/dist/cli/chunks/{codex-installer-OXKSIX7H.js → codex-installer-N2MKIZ2S.js} +2 -2
  168. package/dist/cli/chunks/{completions-VRFFK223.js → completions-Y36S3C5J.js} +2 -2
  169. package/dist/cli/chunks/{complexity-analyzer-FTIMV74J.js → complexity-analyzer-73YS3WUD.js} +2 -2
  170. package/dist/cli/chunks/{continuedev-installer-KTYBBPN4.js → continuedev-installer-SAOTP6J3.js} +2 -2
  171. package/dist/cli/chunks/{copilot-installer-WDC3YNUR.js → copilot-installer-A4HXF6HE.js} +2 -2
  172. package/dist/cli/chunks/core-handlers-EEFLLMAZ.js +2 -0
  173. package/dist/cli/chunks/{cost-tracker-6MH4H33B.js → cost-tracker-P26XUVZS.js} +2 -2
  174. package/dist/cli/chunks/{coverage-NHATLNS4.js → coverage-HVNHSMVJ.js} +3 -3
  175. package/dist/cli/chunks/cross-domain-router-LT3H4SNJ.js +2 -0
  176. package/dist/cli/chunks/{cursor-installer-VQSUJDFB.js → cursor-installer-46BQFTYZ.js} +2 -2
  177. package/dist/cli/chunks/{daemon-3VAOEKQW.js → daemon-Y54O3FLT.js} +3 -3
  178. package/dist/cli/chunks/daemon-YE7K2AZF.js +10 -0
  179. package/dist/cli/chunks/{dag-attention-scheduler-HZ6OGYIH.js → dag-attention-scheduler-ETA7YY52.js} +2 -2
  180. package/dist/cli/chunks/{detect-CGU3SC63.js → detect-5WLQ2J3E.js} +2 -2
  181. package/dist/cli/chunks/{dist-node-DIBQ7PTA.js → dist-node-45WW6I7J.js} +2 -2
  182. package/dist/cli/chunks/{domain-handler-DCMGAYXS.js → domain-handler-J7DQV74M.js} +2 -2
  183. package/dist/cli/chunks/domain-transfer-GD2EGQVR.js +2 -0
  184. package/dist/cli/chunks/dream-4K3BK4IG.js +2 -0
  185. package/dist/cli/chunks/{embed-and-insert-pattern-7247LAU3.js → embed-and-insert-pattern-JELNEA2D.js} +2 -2
  186. package/dist/cli/chunks/{eval-6KR7TFOK.js → eval-A4PA5G2U.js} +2 -2
  187. package/dist/cli/chunks/{experience-capture-middleware-IIOR6RVV.js → experience-capture-middleware-MLHTYWTA.js} +3 -3
  188. package/dist/cli/chunks/{fast-paths-M7OGD4ZI.js → fast-paths-QYDTITRV.js} +2 -2
  189. package/dist/cli/chunks/{feature-flags-U75KFIGH.js → feature-flags-H4MSY26Z.js} +2 -2
  190. package/dist/cli/chunks/{feature-flags-GGUXHRJI.js → feature-flags-MQYYRHIK.js} +2 -2
  191. package/dist/cli/chunks/{file-discovery-V52AYEB7.js → file-discovery-RMFVJNGL.js} +2 -2
  192. package/dist/cli/chunks/{fleet-2UH72CK4.js → fleet-7KZQOTAC.js} +4 -4
  193. package/dist/cli/chunks/{gnn-wrapper-J2GDLT3P.js → gnn-wrapper-NMZFTGVH.js} +2 -2
  194. package/dist/cli/chunks/{heartbeat-handler-QIDQHRXT.js → heartbeat-handler-7BQDK7MG.js} +4 -4
  195. package/dist/cli/chunks/heartbeat-scheduler-IMPPGQUK.js +2 -0
  196. package/dist/cli/chunks/hnsw-adapter-EIAA6R2L.js +2 -0
  197. package/dist/cli/chunks/hnsw-index-ZXXP6AXZ.js +2 -0
  198. package/dist/cli/chunks/{hnsw-legacy-bridge-IU62PIY5.js → hnsw-legacy-bridge-TPPGBPKF.js} +2 -2
  199. package/dist/cli/chunks/{better-sqlite3-QNZJOJAB.js → hnswlib-node-E6NSZPP2.js} +2 -2
  200. package/dist/cli/chunks/{hooks-ZI4D3ATS.js → hooks-CYZIUYSH.js} +48 -52
  201. package/dist/cli/chunks/hybrid-router-LXWG4MLH.js +2 -0
  202. package/dist/cli/chunks/{hypergraph-engine-6JEERAGA.js → hypergraph-engine-WC6DMTYQ.js} +2 -2
  203. package/dist/cli/chunks/{hypergraph-handler-YMDGYCB6.js → hypergraph-handler-GTGA3TXJ.js} +3 -3
  204. package/dist/cli/chunks/impact-analyzer-TP5LRFYH.js +2 -0
  205. package/dist/cli/chunks/{init-handler-N57NW3QI.js → init-handler-N3Z72JNI.js} +6 -6
  206. package/dist/cli/chunks/init-wizard-AIOA5KOY.js +2 -0
  207. package/dist/cli/chunks/kernel-SQALRU6Q.js +2 -0
  208. package/dist/cli/chunks/{kilocode-installer-7ABTGXJ5.js → kilocode-installer-FUX4V6II.js} +2 -2
  209. package/dist/cli/chunks/{kiro-installer-2JFOHLVI.js → kiro-installer-ZSNZT7ZR.js} +2 -2
  210. package/dist/cli/chunks/knowledge-graph-JFVT6SNN.js +2 -0
  211. package/dist/cli/chunks/{learning-3P3ZXRGD.js → learning-UQY64COU.js} +3 -3
  212. package/dist/cli/chunks/{llm-router-AWB2KHDW.js → llm-router-CMHGGX6N.js} +4 -4
  213. package/dist/cli/chunks/llm-router-service-XHFKTH3I.js +2 -0
  214. package/dist/cli/chunks/{load-GGVBCBGX.js → load-E6WH4QN2.js} +2 -2
  215. package/dist/cli/chunks/load-test-JEIFJKNN.js +2 -0
  216. package/dist/cli/chunks/{mcp-33NHIBN3.js → mcp-UM5VTW6N.js} +2 -2
  217. package/dist/cli/chunks/{memory-IVAQS4OW.js → memory-7Q3XDUE5.js} +5 -5
  218. package/dist/cli/chunks/memory-backend-NT7I37CP.js +2 -0
  219. package/dist/cli/chunks/memory-handlers-746D7NE7.js +2 -0
  220. package/dist/cli/chunks/{multi-model-executor-NWQY6IN2.js → multi-model-executor-LZENWVRR.js} +2 -2
  221. package/dist/cli/chunks/{opencode-installer-FBB4JOEV.js → opencode-installer-O2JAIPLF.js} +2 -2
  222. package/dist/cli/chunks/{orchestrator-GDAXR7DH.js → orchestrator-DKZWXDRI.js} +5 -5
  223. package/dist/cli/chunks/pattern-null-store-6QU6WHDW.js +2 -0
  224. package/dist/cli/chunks/pattern-usage-recorder-CLUL4M55.js +2 -0
  225. package/dist/cli/chunks/{pipeline-VIKAOIBE.js → pipeline-2VDLTR5J.js} +2 -2
  226. package/dist/cli/chunks/{platform-FFVP36LH.js → platform-4N4Q5XYX.js} +2 -2
  227. package/dist/cli/chunks/{plugin-TI6QOLXH.js → plugin-GY5AU5CS.js} +2 -2
  228. package/dist/cli/chunks/{prime-radiant-advanced-wasm-AZRNI2OL.js → prime-radiant-advanced-wasm-TQ4DKDZS.js} +2 -2
  229. package/dist/cli/chunks/protocol-executor-GT2MZYUU.js +2 -0
  230. package/dist/cli/chunks/{protocol-handler-J4EA34B3.js → protocol-handler-T3LZ3WRG.js} +2 -2
  231. package/dist/cli/chunks/{prove-ADVRMAWS.js → prove-OV7S5J4W.js} +2 -2
  232. package/dist/cli/chunks/provider-manager-OATJ7R3D.js +2 -0
  233. package/dist/cli/chunks/qe-reasoning-bank-IJXNQ67O.js +2 -0
  234. package/dist/cli/chunks/{quality-GB5SJFSD.js → quality-AXD4NLQA.js} +2 -2
  235. package/dist/cli/chunks/queen-coordinator-6RBHWCUG.js +2 -0
  236. package/dist/cli/chunks/{real-embeddings-GDRJ4XSH.js → real-embeddings-2PUCC7FG.js} +2 -2
  237. package/dist/cli/chunks/{roocode-installer-Q6EISUDV.js → roocode-installer-WJ5ARGLW.js} +2 -2
  238. package/dist/cli/chunks/router-XKQRT5JK.js +2 -0
  239. package/dist/cli/chunks/routing-feedback-ACPSD4LW.js +2 -0
  240. package/dist/cli/chunks/{routing-handler-RO4RTRAG.js → routing-handler-CU6657SZ.js} +2 -2
  241. package/dist/cli/chunks/{ruvector-commands-FFIHCGVQ.js → ruvector-commands-IIF6VSFW.js} +2 -2
  242. package/dist/cli/chunks/{rvf-dual-writer-JGEK3A5Y.js → rvf-dual-writer-YMQI7XO2.js} +2 -2
  243. package/dist/cli/chunks/{rvf-migration-adapter-OVYC4QM6.js → rvf-migration-adapter-HDE3PR2W.js} +2 -2
  244. package/dist/cli/chunks/{rvf-migration-coordinator-U6L77QTS.js → rvf-migration-coordinator-MQV5OA7K.js} +2 -2
  245. package/dist/cli/chunks/rvf-native-adapter-SIWRKE33.js +2 -0
  246. package/dist/cli/chunks/safe-db-LCPUYMX4.js +2 -0
  247. package/dist/cli/chunks/schedule-HIQJCWXG.js +2 -0
  248. package/dist/cli/chunks/scheduler-QE5EJ5LE.js +2 -0
  249. package/dist/cli/chunks/{security-QPQIDAIL.js → security-UM3IGDSM.js} +3 -3
  250. package/dist/cli/chunks/{shared-rvf-adapter-JRJTI4UD.js → shared-rvf-adapter-I3SOJ6M4.js} +2 -2
  251. package/dist/cli/chunks/{shared-rvf-dual-writer-DSHGURDA.js → shared-rvf-dual-writer-KQGC2UO7.js} +2 -2
  252. package/dist/cli/chunks/sqlite-persistence-EU54UTMH.js +2 -0
  253. package/dist/cli/chunks/status-handler-OX4CJZME.js +46 -0
  254. package/dist/cli/chunks/{structural-health-UVECCN7U.js → structural-health-PYUMVBXJ.js} +2 -2
  255. package/dist/cli/chunks/{sync-XXIGTGCG.js → sync-2TED3YTY.js} +2 -2
  256. package/dist/cli/chunks/{sync-ZLZ4CZFJ.js → sync-VALFNTA6.js} +2 -2
  257. package/dist/cli/chunks/{task-handler-73YAVOKJ.js → task-handler-VPGAJVPC.js} +2 -2
  258. package/dist/cli/chunks/{task-handlers-PKECV27D.js → task-handlers-IB4UAMU6.js} +3 -3
  259. package/dist/cli/chunks/{test-U3SXW4SV.js → test-OMRJOZB6.js} +4 -4
  260. package/dist/cli/chunks/{test-scheduling-POJND3GV.js → test-scheduling-ZL3YFPBU.js} +3 -3
  261. package/dist/cli/chunks/{token-bootstrap-ICX6SIXJ.js → token-bootstrap-DNWZI7SH.js} +2 -2
  262. package/dist/cli/chunks/{token-usage-WCHJUVGT.js → token-usage-IYO7RGFF.js} +2 -2
  263. package/dist/cli/chunks/{transformers-L77UIHIY.js → transformers-53ALC34T.js} +2 -2
  264. package/dist/cli/chunks/{tree-sitter-wasm-parser-CVAXURQP.js → tree-sitter-wasm-parser-WUKJ2I2Q.js} +2 -2
  265. package/dist/cli/chunks/{types-LNVJBDM2.js → types-47FTEPMV.js} +2 -2
  266. package/dist/cli/chunks/unified-memory-CJLMC2I4.js +2 -0
  267. package/dist/cli/chunks/unified-memory-hnsw-FDGR4D2J.js +2 -0
  268. package/dist/cli/chunks/unified-persistence-UFH5GLDN.js +2 -0
  269. package/dist/cli/chunks/{upgrade-4ND5RQFY.js → upgrade-QPLMJA5Z.js} +2 -2
  270. package/dist/cli/chunks/{validate-ZA4XT6K2.js → validate-3GVKZOVF.js} +2 -2
  271. package/dist/cli/chunks/{validate-swarm-FNK3GCJ4.js → validate-swarm-XCRTLVM6.js} +2 -2
  272. package/dist/cli/chunks/{vibium-E2CK2GBQ.js → vibium-CH4VPKVZ.js} +2 -2
  273. package/dist/cli/chunks/visual-security-4ARJ7J2Y.js +2 -0
  274. package/dist/cli/chunks/{web-tree-sitter-63VRNKZV.js → web-tree-sitter-JDBNAZTV.js} +2 -2
  275. package/dist/cli/chunks/{windsurf-installer-5BTCVOLH.js → windsurf-installer-3MNPVJBP.js} +2 -2
  276. package/dist/cli/chunks/witness-chain-73QC33ED.js +2 -0
  277. package/dist/cli/chunks/{witness-chain-6CUUGISD.js → witness-chain-HR5UBV5J.js} +2 -2
  278. package/dist/cli/chunks/witness-key-manager-G5SQTIBZ.js +2 -0
  279. package/dist/cli/chunks/{workflow-V7ED22XT.js → workflow-43EMD5FY.js} +4 -4
  280. package/dist/cli/chunks/workflow-orchestrator-RKMMPXNA.js +2 -0
  281. package/dist/cli/chunks/{wrappers-7S3NTTLW.js → wrappers-3N7AYNM3.js} +2 -2
  282. package/dist/cli/commands/audit.d.ts +12 -0
  283. package/dist/cli/commands/audit.js +64 -4
  284. package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +45 -19
  285. package/dist/cli/commands/hooks-handlers/hooks-shared.d.ts +13 -0
  286. package/dist/cli/commands/hooks-handlers/hooks-shared.js +38 -0
  287. package/dist/cli/commands/hooks-handlers/task-hooks.js +19 -1
  288. package/dist/cli/handlers/status-handler.d.ts +18 -0
  289. package/dist/cli/handlers/status-handler.js +47 -0
  290. package/dist/coordination/consensus/providers/ollama-provider.js +3 -2
  291. package/dist/coordination/mincut/queen-integration.js +24 -7
  292. package/dist/coordination/protocol-executor.js +2 -1
  293. package/dist/coordination/queen-lifecycle.js +4 -1
  294. package/dist/domains/code-intelligence/coordinator.js +10 -6
  295. package/dist/domains/code-intelligence/services/product-factors-bridge.js +3 -1
  296. package/dist/domains/defect-intelligence/services/defect-predictor.d.ts +6 -0
  297. package/dist/domains/defect-intelligence/services/defect-predictor.js +21 -0
  298. package/dist/domains/learning-optimization/interfaces.d.ts +7 -0
  299. package/dist/domains/learning-optimization/plugin.js +5 -0
  300. package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +10 -0
  301. package/dist/domains/learning-optimization/services/learning-coordinator.js +57 -0
  302. package/dist/domains/test-execution/plugin.js +2 -2
  303. package/dist/domains/test-execution/services/flaky-detector.js +1 -1
  304. package/dist/domains/test-generation/coordinator.js +22 -8
  305. package/dist/domains/test-generation/interfaces.d.ts +3 -0
  306. package/dist/domains/test-generation/services/test-generator.js +9 -1
  307. package/dist/integrations/ruvector/delta-tracker.js +10 -1
  308. package/dist/integrations/ruvector/proof-gate.d.ts +68 -0
  309. package/dist/integrations/ruvector/proof-gate.js +135 -0
  310. package/dist/integrations/ruvector/sona-persistence.d.ts +24 -0
  311. package/dist/integrations/ruvector/sona-persistence.js +76 -0
  312. package/dist/integrations/ruvector/sona-three-loop.d.ts +15 -0
  313. package/dist/integrations/ruvector/sona-three-loop.js +17 -0
  314. package/dist/kernel/unified-memory-schemas.d.ts +2 -2
  315. package/dist/kernel/unified-memory-schemas.js +48 -2
  316. package/dist/kernel/unified-memory.d.ts +57 -0
  317. package/dist/kernel/unified-memory.js +148 -0
  318. package/dist/learning/aqe-learning-engine.js +3 -1
  319. package/dist/learning/dream/concept-graph.d.ts +31 -1
  320. package/dist/learning/dream/concept-graph.js +109 -3
  321. package/dist/learning/dream/dream-engine.d.ts +13 -1
  322. package/dist/learning/dream/dream-engine.js +146 -10
  323. package/dist/learning/dream/index.d.ts +1 -1
  324. package/dist/learning/dream/types.d.ts +23 -0
  325. package/dist/learning/local-judge-client.js +2 -1
  326. package/dist/learning/pattern-store.d.ts +2 -2
  327. package/dist/learning/pattern-store.js +14 -3
  328. package/dist/learning/qe-reasoning-bank.js +34 -31
  329. package/dist/learning/routing-topology-gate.d.ts +12 -2
  330. package/dist/learning/routing-topology-gate.js +15 -3
  331. package/dist/learning/rvf-pattern-store.d.ts +1 -1
  332. package/dist/learning/rvf-pattern-store.js +21 -8
  333. package/dist/learning/sqlite-persistence.js +12 -9
  334. package/dist/mcp/bundle.js +524 -445
  335. package/dist/mcp/qe-tool-bridge.js +7 -2
  336. package/dist/mcp/tools/base.d.ts +29 -0
  337. package/dist/mcp/tools/base.js +25 -0
  338. package/dist/mcp/tools/coverage-analysis/index.js +6 -4
  339. package/dist/mcp/tools/learning-optimization/dream.d.ts +4 -13
  340. package/dist/mcp/tools/learning-optimization/dream.js +10 -96
  341. package/dist/mcp/tools/planning/goap-execute.d.ts +13 -1
  342. package/dist/mcp/tools/planning/goap-execute.js +33 -18
  343. package/dist/mcp/tools/registry.js +7 -2
  344. package/dist/persistence/rvf-migration-coordinator.js +2 -1
  345. package/dist/planning/actions/qe-action-library.js +124 -1
  346. package/dist/planning/goap-planner.d.ts +14 -2
  347. package/dist/planning/goap-planner.js +51 -9
  348. package/dist/planning/index.d.ts +1 -1
  349. package/dist/planning/plan-executor.d.ts +84 -4
  350. package/dist/planning/plan-executor.js +221 -56
  351. package/dist/planning/types.d.ts +27 -0
  352. package/dist/routing/free-tier/coordinator-support.d.ts +6 -3
  353. package/dist/routing/free-tier/coordinator-support.js +6 -3
  354. package/dist/routing/free-tier/executor.d.ts +14 -0
  355. package/dist/routing/free-tier/executor.js +21 -0
  356. package/dist/routing/free-tier/index.d.ts +1 -0
  357. package/dist/routing/free-tier/index.js +1 -0
  358. package/dist/routing/free-tier/pattern-cache.d.ts +57 -0
  359. package/dist/routing/free-tier/pattern-cache.js +148 -0
  360. package/dist/routing/free-tier/provider.js +9 -1
  361. package/dist/routing/value-score.js +3 -0
  362. package/dist/shared/embeddings/ollama-client.js +2 -1
  363. package/dist/shared/events/domain-events.d.ts +2 -0
  364. package/dist/shared/llm/model-mapping.js +26 -0
  365. package/dist/shared/llm/model-registry.d.ts +10 -0
  366. package/dist/shared/llm/model-registry.js +92 -0
  367. package/dist/shared/llm/ollama-url.d.ts +17 -0
  368. package/dist/shared/llm/ollama-url.js +25 -0
  369. package/dist/shared/llm/providers/ollama-timeout.d.ts +26 -0
  370. package/dist/shared/llm/providers/ollama-timeout.js +31 -0
  371. package/dist/shared/llm/providers/ollama.d.ts +10 -0
  372. package/dist/shared/llm/providers/ollama.js +31 -4
  373. package/dist/shared/llm/router/hybrid-router.js +18 -1
  374. package/dist/workers/workers/learning-consolidation.js +21 -1
  375. package/package.json +5 -1
  376. package/dist/cli/chunks/adapter-IU3H3MD7.js +0 -2
  377. package/dist/cli/chunks/aqe-learning-engine-BGOC63IN.js +0 -2
  378. package/dist/cli/chunks/audit-TTWAAV7P.js +0 -3
  379. package/dist/cli/chunks/base-DVPRE3WO.js +0 -2
  380. package/dist/cli/chunks/brain-handler-FXPLJCPV.js +0 -89
  381. package/dist/cli/chunks/browser-workflow-MP5P7KZF.js +0 -2
  382. package/dist/cli/chunks/chunk-2SZQDTI5.js +0 -2
  383. package/dist/cli/chunks/chunk-6IHB3T6M.js +0 -2
  384. package/dist/cli/chunks/chunk-7PDUD7FF.js +0 -2
  385. package/dist/cli/chunks/chunk-EBCUWMLX.js +0 -27
  386. package/dist/cli/chunks/chunk-NWUVXLBB.js +0 -65
  387. package/dist/cli/chunks/chunk-OCACCUFO.js +0 -2
  388. package/dist/cli/chunks/chunk-PY2Q6MN3.js +0 -24
  389. package/dist/cli/chunks/chunk-UNH2DE2G.js +0 -2
  390. package/dist/cli/chunks/client-ADCDBTEE.js +0 -2
  391. package/dist/cli/chunks/core-handlers-HCACMLUW.js +0 -2
  392. package/dist/cli/chunks/cross-domain-router-HXFQAU4M.js +0 -2
  393. package/dist/cli/chunks/daemon-ZSK6CLQR.js +0 -10
  394. package/dist/cli/chunks/domain-transfer-UWFKBZTJ.js +0 -2
  395. package/dist/cli/chunks/dream-SVWQH62A.js +0 -2
  396. package/dist/cli/chunks/heartbeat-scheduler-QW5TW5QS.js +0 -2
  397. package/dist/cli/chunks/hnsw-adapter-D6EJWYAL.js +0 -2
  398. package/dist/cli/chunks/hnsw-index-4MWR4U5W.js +0 -2
  399. package/dist/cli/chunks/hybrid-router-BYVUBHER.js +0 -2
  400. package/dist/cli/chunks/impact-analyzer-OK2UIMSG.js +0 -2
  401. package/dist/cli/chunks/init-wizard-6NNPNS6J.js +0 -2
  402. package/dist/cli/chunks/kernel-F4A4GRNO.js +0 -2
  403. package/dist/cli/chunks/knowledge-graph-MSJDEZCF.js +0 -2
  404. package/dist/cli/chunks/llm-router-service-27IQAO7G.js +0 -2
  405. package/dist/cli/chunks/load-test-TT5VLAN7.js +0 -2
  406. package/dist/cli/chunks/memory-backend-FVSK53IM.js +0 -2
  407. package/dist/cli/chunks/memory-handlers-OPUDOZNT.js +0 -2
  408. package/dist/cli/chunks/pattern-null-store-7MVEDWCY.js +0 -2
  409. package/dist/cli/chunks/protocol-executor-BLDDYEJ4.js +0 -2
  410. package/dist/cli/chunks/provider-manager-ZYCFRYZQ.js +0 -2
  411. package/dist/cli/chunks/qe-reasoning-bank-P66CCPHM.js +0 -2
  412. package/dist/cli/chunks/queen-coordinator-LPHT3SX5.js +0 -2
  413. package/dist/cli/chunks/router-XQ2TERUT.js +0 -2
  414. package/dist/cli/chunks/routing-feedback-K52O752B.js +0 -2
  415. package/dist/cli/chunks/rvf-native-adapter-G4DV7FK3.js +0 -2
  416. package/dist/cli/chunks/safe-db-TMSEITES.js +0 -2
  417. package/dist/cli/chunks/schedule-RWFLA43O.js +0 -2
  418. package/dist/cli/chunks/scheduler-2V55MJJR.js +0 -2
  419. package/dist/cli/chunks/sqlite-persistence-L7QM6IWF.js +0 -2
  420. package/dist/cli/chunks/status-handler-SBT3MZTX.js +0 -45
  421. package/dist/cli/chunks/unified-memory-ZSULA46X.js +0 -2
  422. package/dist/cli/chunks/unified-memory-hnsw-SQEWFUBN.js +0 -2
  423. package/dist/cli/chunks/unified-persistence-EDCTT6SE.js +0 -2
  424. package/dist/cli/chunks/visual-security-SOGAETFP.js +0 -2
  425. package/dist/cli/chunks/witness-chain-AJCECBH5.js +0 -2
  426. package/dist/cli/chunks/workflow-orchestrator-UXRUCOZR.js +0 -2
@@ -80,9 +80,14 @@ export function registerMissingQETools(registerFn) {
80
80
  // lazily for MCP-only contexts) so the MCPToolContext.llmRouter
81
81
  // field carries the actual instance rather than relying on each
82
82
  // tool's getLLMRouter(context) singleton fallback.
83
- const { getSharedLLMRouter } = await import('./tools/base.js');
83
+ const { getSharedLLMRouter, getKernel } = await import('./tools/base.js');
84
84
  const llmRouter = (await getSharedLLMRouter()) ?? undefined;
85
- const result = await tool.invoke(params, { llmRouter });
85
+ // A14: forward the fleet_init kernel singleton (if one exists) the
86
+ // same way, so tools that resolve real domain APIs
87
+ // (kernel.getDomainAPI) work through this bridge too, not just
88
+ // through whatever other entry point happens to pass one.
89
+ const kernel = await getKernel();
90
+ const result = await tool.invoke(params, { llmRouter, kernel });
86
91
  return result;
87
92
  },
88
93
  };
@@ -67,6 +67,18 @@ export declare function resetSharedLLMRouter(): void;
67
67
  * the value.
68
68
  */
69
69
  export declare function getLLMRouter(context?: MCPToolContext): Promise<import('../../shared/llm/router/hybrid-router.js').HybridRouter | undefined>;
70
+ /**
71
+ * A14: get the initialized kernel from context, or fall back to the
72
+ * fleet_init singleton (`core-handlers.ts`'s module-level fleet state) if
73
+ * one has been initialized in-process. Returns undefined — never throws —
74
+ * when no kernel is available (fleet_init hasn't run); callers must degrade
75
+ * gracefully.
76
+ *
77
+ * Dynamic import here, not a static one: core-handlers.ts transitively
78
+ * imports tools/registry.ts, which imports every tool that extends
79
+ * MCPToolBase (this file) — a static import would be circular.
80
+ */
81
+ export declare function getKernel(context?: MCPToolContext): Promise<import('../../kernel/interfaces.js').QEKernel | undefined>;
70
82
  /**
71
83
  * JSON Schema property definition for tool parameters
72
84
  */
@@ -127,6 +139,17 @@ export interface MCPToolContext {
127
139
  * bag so isLLMAnalysisAvailable() returns true.
128
140
  */
129
141
  llmRouter?: import('../../shared/llm/router/hybrid-router.js').HybridRouter;
142
+ /**
143
+ * A14: initialized kernel instance, for tools that need to reach a real
144
+ * domain plugin's public API (`kernel.getDomainAPI<T>(domain)`) rather
145
+ * than constructing their own service instance — the pattern
146
+ * `DefaultProtocolExecutor` already uses for real (non-mocked) action
147
+ * dispatch. Only populated when `fleet_init` has run in-process and
148
+ * handed its kernel to the MCP runtime (see qe-tool-bridge.ts); undefined
149
+ * otherwise. Tools MUST tolerate an undefined kernel and degrade
150
+ * gracefully (e.g. "run fleet_init first") rather than assume it's set.
151
+ */
152
+ kernel?: import('../../kernel/interfaces.js').QEKernel;
130
153
  }
131
154
  /**
132
155
  * Data source tracking for audit/transparency
@@ -229,6 +252,12 @@ export declare abstract class MCPToolBase<TParams extends Record<string, unknown
229
252
  * lazy build path.
230
253
  */
231
254
  llmRouter?: import('../../shared/llm/router/hybrid-router.js').HybridRouter;
255
+ /**
256
+ * A14: optional kernel injection, mirroring the memory/llmRouter
257
+ * pattern — the MCP runtime forwards the fleet_init kernel singleton
258
+ * here (see qe-tool-bridge.ts) when one has been initialized.
259
+ */
260
+ kernel?: import('../../kernel/interfaces.js').QEKernel;
232
261
  }): Promise<ToolResult<TResult>>;
233
262
  /**
234
263
  * Create result metadata
@@ -208,6 +208,30 @@ export async function getLLMRouter(context) {
208
208
  const shared = await getSharedLLMRouter();
209
209
  return shared ?? undefined;
210
210
  }
211
+ /**
212
+ * A14: get the initialized kernel from context, or fall back to the
213
+ * fleet_init singleton (`core-handlers.ts`'s module-level fleet state) if
214
+ * one has been initialized in-process. Returns undefined — never throws —
215
+ * when no kernel is available (fleet_init hasn't run); callers must degrade
216
+ * gracefully.
217
+ *
218
+ * Dynamic import here, not a static one: core-handlers.ts transitively
219
+ * imports tools/registry.ts, which imports every tool that extends
220
+ * MCPToolBase (this file) — a static import would be circular.
221
+ */
222
+ export async function getKernel(context) {
223
+ if (context?.kernel) {
224
+ return context.kernel;
225
+ }
226
+ try {
227
+ const { getFleetState } = await import('../handlers/core-handlers.js');
228
+ const state = getFleetState();
229
+ return state.kernel ?? undefined;
230
+ }
231
+ catch {
232
+ return undefined;
233
+ }
234
+ }
211
235
  /**
212
236
  * Default console logger
213
237
  */
@@ -372,6 +396,7 @@ export class MCPToolBase {
372
396
  demoMode: options.demoMode,
373
397
  memory: options.memory,
374
398
  llmRouter: options.llmRouter,
399
+ kernel: options.kernel,
375
400
  };
376
401
  try {
377
402
  // Execute the tool
@@ -7,7 +7,7 @@
7
7
  * This module wraps the REAL coverage-analysis domain services.
8
8
  * Uses actual LCOV/JSON parsing and vector-based gap detection.
9
9
  */
10
- import { MCPToolBase, getSharedMemoryBackend, getLLMRouter } from '../base';
10
+ import { MCPToolBase, getSharedMemoryBackend, getLLMRouter, getKernel } from '../base';
11
11
  import { CoverageAnalyzerService } from '../../../domains/coverage-analysis/services/coverage-analyzer';
12
12
  import { GapDetectorService } from '../../../domains/coverage-analysis/services/gap-detector';
13
13
  import { findAndParseCoverage, parseCoverage, } from '../../../domains/coverage-analysis/services/coverage-parser';
@@ -396,9 +396,11 @@ export class CoverageGapsTool extends MCPToolBase {
396
396
  let ghostGaps;
397
397
  if (params.includeGhost) {
398
398
  try {
399
- const contextExt = context;
400
- const kernel = contextExt.kernel;
401
- if (kernel) {
399
+ // A14: context.kernel is now a real MCPToolContext field (was
400
+ // previously always undefined — nothing set it — so this branch
401
+ // was dead code regardless of --includeGhost).
402
+ const kernel = await getKernel(context);
403
+ if (kernel?.getDomainAPIAsync) {
402
404
  const coordAPI = await kernel.getDomainAPIAsync('coverage-analysis');
403
405
  if (coordAPI?.analyzeGhostCoverage) {
404
406
  const ghostResult = await coordAPI.analyzeGhostCoverage(domainFiles.map((f) => f.path), target);
@@ -127,21 +127,12 @@ export declare class DreamCycleTool extends MCPToolBase<DreamCycleParams, DreamC
127
127
  /**
128
128
  * Apply an insight to create a REAL pattern in QEReasoningBank.
129
129
  *
130
- * This fixes the issue where applyInsight was generating fake pattern IDs.
131
- * Now it:
132
- * 1. Gets the insight details from pending insights
133
- * 2. Creates a REAL pattern in QEReasoningBank with proper structure
134
- * 3. Marks the insight as applied in the engine
135
- * 4. Returns the REAL pattern ID
130
+ * DreamEngine.applyInsight() is the single implementation (shared with the
131
+ * scheduler's autoApplyInsights) — it creates the real pattern, wires the
132
+ * RVF dual-writer, and updates dream_insights.pattern_id to point at the
133
+ * real row. This handler is a thin wrapper around it.
136
134
  */
137
135
  private applyInsight;
138
- /**
139
- * Map DreamInsight type to QEPatternType.
140
- *
141
- * Dream insights have types like 'cross-domain', 'novel-path', etc.
142
- * QEPatterns have types like 'test-template', 'coverage-strategy', etc.
143
- */
144
- private mapInsightTypeToPatternType;
145
136
  /**
146
137
  * Get dream cycle history
147
138
  */
@@ -269,12 +269,10 @@ export class DreamCycleTool extends MCPToolBase {
269
269
  /**
270
270
  * Apply an insight to create a REAL pattern in QEReasoningBank.
271
271
  *
272
- * This fixes the issue where applyInsight was generating fake pattern IDs.
273
- * Now it:
274
- * 1. Gets the insight details from pending insights
275
- * 2. Creates a REAL pattern in QEReasoningBank with proper structure
276
- * 3. Marks the insight as applied in the engine
277
- * 4. Returns the REAL pattern ID
272
+ * DreamEngine.applyInsight() is the single implementation (shared with the
273
+ * scheduler's autoApplyInsights) — it creates the real pattern, wires the
274
+ * RVF dual-writer, and updates dream_insights.pattern_id to point at the
275
+ * real row. This handler is a thin wrapper around it.
278
276
  */
279
277
  async applyInsight(params, context) {
280
278
  if (!params.insightId) {
@@ -290,92 +288,25 @@ export class DreamCycleTool extends MCPToolBase {
290
288
  }
291
289
  try {
292
290
  const engine = await this.getEngine();
293
- // Step 1: Find the insight from pending insights
294
- const pendingInsights = await engine.getPendingInsights(100);
295
- const insight = pendingInsights.find((i) => i.id === params.insightId);
296
- if (!insight) {
297
- // Check if already applied or doesn't exist
291
+ const applyResult = await engine.applyInsight(params.insightId);
292
+ if (!applyResult.success) {
298
293
  return {
299
294
  success: false,
300
- error: `Insight not found or already applied: ${params.insightId}`,
295
+ error: applyResult.error,
301
296
  data: {
302
297
  action: 'apply',
303
298
  success: false,
304
- error: `Insight not found or already applied: ${params.insightId}`,
299
+ error: applyResult.error,
305
300
  },
306
301
  };
307
302
  }
308
- if (!insight.actionable) {
309
- return {
310
- success: false,
311
- error: 'Insight is not actionable',
312
- data: {
313
- action: 'apply',
314
- success: false,
315
- error: 'Insight is not actionable',
316
- },
317
- };
318
- }
319
- // Step 2: Create a REAL pattern in QEReasoningBank
320
- const memoryBackend = await getSharedMemoryBackend();
321
- const reasoningBank = createQEReasoningBank(memoryBackend);
322
- await reasoningBank.initialize();
323
- // Wire RVF dual-writer (optional, best-effort)
324
- try {
325
- const { getSharedRvfDualWriter } = await import('../../../integrations/ruvector/shared-rvf-dual-writer.js');
326
- const dualWriter = await getSharedRvfDualWriter();
327
- if (dualWriter)
328
- reasoningBank.setRvfDualWriter(dualWriter);
329
- }
330
- catch (e) {
331
- if (process.env.DEBUG)
332
- this.logger.info('RVF wiring skipped', { error: String(e) });
333
- }
334
- // Map insight type to QE pattern type
335
- const patternType = this.mapInsightTypeToPatternType(insight.type);
336
- // Create the pattern with proper structure
337
- const patternResult = await reasoningBank.storePattern({
338
- patternType,
339
- name: `Dream Insight: ${insight.type}`,
340
- description: `${insight.description} (confidence: ${insight.confidenceScore.toFixed(2)})`,
341
- template: {
342
- type: 'workflow',
343
- content: insight.suggestedAction || insight.description,
344
- variables: [],
345
- },
346
- context: {
347
- tags: ['dream-generated', insight.type, ...insight.sourceConcepts.slice(0, 3)],
348
- complexity: 'medium',
349
- },
350
- });
351
- if (!patternResult.success) {
352
- const errorMsg = patternResult.error?.message || 'Unknown error';
353
- return {
354
- success: false,
355
- error: `Failed to create pattern: ${errorMsg}`,
356
- data: {
357
- action: 'apply',
358
- success: false,
359
- error: `Failed to create pattern: ${errorMsg}`,
360
- },
361
- };
362
- }
363
- const realPatternId = patternResult.value.id;
364
- // Step 3: Mark insight as applied in the engine
365
- // This updates the engine's internal database (ignore its fake pattern ID)
366
- await engine.applyInsight(params.insightId);
367
- this.logger.info(`Applied insight ${params.insightId} → REAL pattern ${realPatternId} in ReasoningBank`);
368
- const applyResult = {
369
- insightId: params.insightId,
370
- success: true,
371
- patternId: realPatternId, // Return the REAL pattern ID
372
- };
303
+ this.logger.info(`Applied insight ${params.insightId} → REAL pattern ${applyResult.patternId} in ReasoningBank`);
373
304
  return {
374
305
  success: true,
375
306
  data: {
376
307
  action: 'apply',
377
308
  success: true,
378
- applyResult,
309
+ applyResult: { insightId: params.insightId, ...applyResult },
379
310
  },
380
311
  };
381
312
  }
@@ -392,23 +323,6 @@ export class DreamCycleTool extends MCPToolBase {
392
323
  };
393
324
  }
394
325
  }
395
- /**
396
- * Map DreamInsight type to QEPatternType.
397
- *
398
- * Dream insights have types like 'cross-domain', 'novel-path', etc.
399
- * QEPatterns have types like 'test-template', 'coverage-strategy', etc.
400
- */
401
- mapInsightTypeToPatternType(insightType) {
402
- // Map insight types to the most appropriate pattern type
403
- const mapping = {
404
- 'cross-domain': 'coverage-strategy', // Cross-domain insights suggest coverage approaches
405
- 'novel-path': 'test-template', // Novel paths suggest new test templates
406
- 'cluster': 'refactor-safe', // Clusters suggest refactoring patterns
407
- 'high-activation': 'assertion-pattern', // High activation suggests important assertions
408
- 'bridge': 'mock-pattern', // Bridges between concepts suggest mocking
409
- };
410
- return mapping[insightType] || 'test-template';
411
- }
412
326
  /**
413
327
  * Get dream cycle history
414
328
  */
@@ -58,7 +58,19 @@ export declare class GOAPExecuteTool extends MCPToolBase<GOAPExecuteParams, GOAP
58
58
  */
59
59
  private getPlanner;
60
60
  /**
61
- * Get or create the plan executor instance
61
+ * Get or create the plan executor instance.
62
+ *
63
+ * A14: previously always built a mock executor (createMockExecutor,
64
+ * successRate: 0.95) regardless of whether real domain services were
65
+ * available — every "real execution" was actually a fabricated coin
66
+ * flip. Now constructs a real PlanExecutor with a getDomainAPI closure:
67
+ * `implemented: true` actions dispatch to the real domain method;
68
+ * `implemented: false` actions fail honestly (see PlanExecutor.executeStep).
69
+ *
70
+ * The closure is passed even when `kernel` is undefined (fleet_init
71
+ * hasn't run) — PlanExecutor.executeRealAction() then reports a clear
72
+ * "domain not available" error per step, which is what the user should
73
+ * see instead of a silent fallback to simulation.
62
74
  */
63
75
  private getExecutor;
64
76
  /**
@@ -7,9 +7,9 @@
7
7
  * @module mcp/tools/planning/goap-execute
8
8
  * @version 3.0.0
9
9
  */
10
- import { MCPToolBase, } from '../base.js';
10
+ import { MCPToolBase, getKernel, } from '../base.js';
11
11
  import { toErrorMessage } from '../../../shared/error-utils.js';
12
- import { getSharedGOAPPlanner, createMockExecutor, } from '../../../planning/index.js';
12
+ import { getSharedGOAPPlanner, PlanExecutor, MockAgentSpawner, } from '../../../planning/index.js';
13
13
  // ============================================================================
14
14
  // Tool Implementation
15
15
  // ============================================================================
@@ -23,8 +23,11 @@ export class GOAPExecuteTool extends MCPToolBase {
23
23
  executor = null;
24
24
  config = {
25
25
  name: 'qe/planning/goap_execute',
26
- description: 'Execute a GOAP plan, spawning agents to perform each action step. ' +
27
- 'Supports dry-run mode to simulate execution without actual agent spawning.',
26
+ description: 'Execute a GOAP plan. Each action dispatches to a real domain API method ' +
27
+ "when the action is marked implemented and a kernel is available (run fleet_init " +
28
+ 'first); actions with no real implementation, or with no domain/kernel available, ' +
29
+ 'fail with a specific reason rather than reporting a fabricated success. ' +
30
+ 'Supports dry-run mode to preview the plan without executing anything.',
28
31
  domain: 'coordination',
29
32
  schema: this.buildSchema(),
30
33
  timeout: 300000, // 5 minutes for plan execution
@@ -69,21 +72,32 @@ export class GOAPExecuteTool extends MCPToolBase {
69
72
  return this.planner;
70
73
  }
71
74
  /**
72
- * Get or create the plan executor instance
75
+ * Get or create the plan executor instance.
76
+ *
77
+ * A14: previously always built a mock executor (createMockExecutor,
78
+ * successRate: 0.95) regardless of whether real domain services were
79
+ * available — every "real execution" was actually a fabricated coin
80
+ * flip. Now constructs a real PlanExecutor with a getDomainAPI closure:
81
+ * `implemented: true` actions dispatch to the real domain method;
82
+ * `implemented: false` actions fail honestly (see PlanExecutor.executeStep).
83
+ *
84
+ * The closure is passed even when `kernel` is undefined (fleet_init
85
+ * hasn't run) — PlanExecutor.executeRealAction() then reports a clear
86
+ * "domain not available" error per step, which is what the user should
87
+ * see instead of a silent fallback to simulation.
73
88
  */
74
- async getExecutor() {
89
+ async getExecutor(kernel) {
75
90
  if (!this.executor) {
76
91
  const planner = await this.getPlanner();
77
- this.executor = createMockExecutor(planner, {
78
- successRate: 0.95, // High success rate for mock executor
79
- config: {
80
- maxRetries: 2,
81
- stepTimeoutMs: 60000,
82
- replanOnFailure: true,
83
- parallelExecution: false,
84
- recordWorldState: true,
85
- },
86
- });
92
+ const getDomainAPI = (domain) => kernel?.getDomainAPI(domain);
93
+ this.executor = new PlanExecutor(planner, new MockAgentSpawner(), // fallback only for actions with no `implemented` classification (e.g. custom addAction() calls) — see PlanExecutor's backward-compat contract
94
+ undefined, {
95
+ maxRetries: 2,
96
+ stepTimeoutMs: 60000,
97
+ replanOnFailure: true,
98
+ parallelExecution: false,
99
+ recordWorldState: true,
100
+ }, getDomainAPI);
87
101
  await this.executor.initialize();
88
102
  }
89
103
  return this.executor;
@@ -121,7 +135,7 @@ export class GOAPExecuteTool extends MCPToolBase {
121
135
  stepsCompleted: plan.actions.length,
122
136
  stepsFailed: 0,
123
137
  totalDurationMs: plan.estimatedDurationMs,
124
- steps: plan.actions.map((a, i) => ({
138
+ steps: plan.actions.map((a) => ({
125
139
  action: a.name,
126
140
  status: 'would-execute',
127
141
  retries: 0,
@@ -131,7 +145,8 @@ export class GOAPExecuteTool extends MCPToolBase {
131
145
  };
132
146
  }
133
147
  // Real execution
134
- const executor = await this.getExecutor();
148
+ const kernel = await getKernel(context);
149
+ const executor = await this.getExecutor(kernel);
135
150
  // Check if already executing
136
151
  if (executor.isExecuting()) {
137
152
  return {
@@ -173,9 +173,14 @@ export function registerAllQETools(registry) {
173
173
  // ADR-043: forward the shared HybridRouter so the tool's
174
174
  // MCPToolContext.llmRouter is populated explicitly.
175
175
  async (params) => {
176
- const { getSharedLLMRouter } = await import('./base.js');
176
+ const { getSharedLLMRouter, getKernel } = await import('./base.js');
177
177
  const llmRouter = (await getSharedLLMRouter()) ?? undefined;
178
- return tool.invoke(params, { llmRouter });
178
+ // A14: forward the fleet_init kernel singleton (if initialized) so
179
+ // tools that dispatch to real domain APIs (e.g. GOAPExecuteTool)
180
+ // can reach them — this is the actual registration path QE_TOOLS
181
+ // (including the GOAP planning tools) goes through in production.
182
+ const kernel = await getKernel();
183
+ return tool.invoke(params, { llmRouter, kernel });
179
184
  });
180
185
  }
181
186
  }
@@ -116,7 +116,8 @@ export class RvfMigrationCoordinator {
116
116
  // Try to attach witness chain
117
117
  try {
118
118
  const { WitnessChain } = await import('../audit/witness-chain.js');
119
- const wc = new WitnessChain();
119
+ const { getDefaultWitnessKeyManager } = await import('../audit/witness-key-manager.js');
120
+ const wc = new WitnessChain(undefined, getDefaultWitnessKeyManager());
120
121
  await wc.initialize();
121
122
  this.attachWitnessChain(wc);
122
123
  }