agentic-qe 3.11.5 → 3.12.1

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 (374) hide show
  1. package/.claude/helpers/.helpers-version +1 -0
  2. package/.claude/helpers/auto-memory-hook.mjs +35 -3
  3. package/.claude/helpers/brain-checkpoint.cjs +16 -1
  4. package/.claude/helpers/helpers.manifest.json +12 -0
  5. package/.claude/helpers/hook-handler.cjs +26 -5
  6. package/.claude/helpers/intelligence.cjs +14 -1
  7. package/.claude/hooks/aqe-hook.cjs +14 -1
  8. package/.claude/skills/skills-manifest.json +1 -1
  9. package/CHANGELOG.md +87 -0
  10. package/assets/skills/skills-manifest.json +1 -1
  11. package/dist/adapters/a2a/auth/routes.js +59 -28
  12. package/dist/cli/bundle.js +6 -6
  13. package/dist/cli/chunks/adapter-X4UEC6UJ.js +2 -0
  14. package/dist/cli/chunks/{agent-booster-wasm-CSTBLNYZ.js → agent-booster-wasm-P4VYM5KK.js} +2 -2
  15. package/dist/cli/chunks/{agent-handler-M4W4GTXN.js → agent-handler-PBQ7L2TO.js} +2 -2
  16. package/dist/cli/chunks/{agent-memory-branch-VGXFYLSQ.js → agent-memory-branch-UPWO3X6V.js} +2 -2
  17. package/dist/cli/chunks/aqe-learning-engine-5FG7JCY7.js +2 -0
  18. package/dist/cli/chunks/{arena-IQBRGWAG.js → arena-LEUTILZ7.js} +2 -2
  19. package/dist/cli/chunks/{arena-FKSD3LLM.js → arena-QYTP3FG6.js} +4 -4
  20. package/dist/cli/chunks/{audit-7NSGRR4Z.js → audit-TB6M2YLK.js} +3 -3
  21. package/dist/cli/chunks/base-CWPMFSZG.js +2 -0
  22. package/dist/cli/chunks/{hnswlib-node-E6NSZPP2.js → better-sqlite3-IPKCAVLS.js} +2 -2
  23. package/dist/cli/chunks/{brain-handler-M6A3UB66.js → brain-handler-JF3OK35F.js} +3 -3
  24. package/dist/cli/chunks/{branch-enumerator-2JGKY4BB.js → branch-enumerator-WEIP3DXB.js} +2 -2
  25. package/dist/cli/chunks/{browser-J43WQPJL.js → browser-HY6VLXHZ.js} +2 -2
  26. package/dist/cli/chunks/browser-workflow-A77OFBVY.js +2 -0
  27. package/dist/cli/chunks/{chunk-7BCRULCP.js → chunk-2PQ7YADF.js} +2 -2
  28. package/dist/cli/chunks/{chunk-XKQY2Z3Q.js → chunk-3I3Z4C5X.js} +1 -1
  29. package/dist/cli/chunks/{chunk-MCHEUSY4.js → chunk-3W2FZXFD.js} +1 -1
  30. package/dist/cli/chunks/{chunk-WMZ2QGGS.js → chunk-42GFB7VX.js} +2 -2
  31. package/dist/cli/chunks/{chunk-UBI2EOS3.js → chunk-42PYEEYQ.js} +1 -1
  32. package/dist/cli/chunks/{chunk-HJWT4KME.js → chunk-45QNHMTP.js} +1 -1
  33. package/dist/cli/chunks/{chunk-AGJOGUP5.js → chunk-4KI72C2E.js} +1 -1
  34. package/dist/cli/chunks/{chunk-5WMU7XCF.js → chunk-4LKQZW2H.js} +1 -1
  35. package/dist/cli/chunks/{chunk-SUL3I6QZ.js → chunk-4U5MJX2H.js} +2 -2
  36. package/dist/cli/chunks/{chunk-DFRRWOEX.js → chunk-55MQ2SFP.js} +2 -2
  37. package/dist/cli/chunks/{chunk-KP3R2M2G.js → chunk-5H5A74U2.js} +1 -1
  38. package/dist/cli/chunks/{chunk-YBPLJRVT.js → chunk-5HMGDB7B.js} +2 -2
  39. package/dist/cli/chunks/{chunk-YZSTZUGJ.js → chunk-6432JORM.js} +1 -1
  40. package/dist/cli/chunks/{chunk-CDJP6COA.js → chunk-6BCVKCG5.js} +2 -2
  41. package/dist/cli/chunks/{chunk-TBT3OFRW.js → chunk-6ONUCDVL.js} +2 -2
  42. package/dist/cli/chunks/{chunk-3LY7OCSO.js → chunk-6RX5QZMU.js} +1 -1
  43. package/dist/cli/chunks/chunk-74VIADSJ.js +2 -0
  44. package/dist/cli/chunks/{chunk-K4I7UIU5.js → chunk-75AVUS5U.js} +1 -1
  45. package/dist/cli/chunks/{chunk-KVVJVMDM.js → chunk-774X6OJY.js} +2 -2
  46. package/dist/cli/chunks/chunk-7KHIOWBN.js +2 -0
  47. package/dist/cli/chunks/{chunk-62OTU2AP.js → chunk-7KK6XSYK.js} +2 -2
  48. package/dist/cli/chunks/{chunk-RFLHPLET.js → chunk-7N2SCRWJ.js} +1 -1
  49. package/dist/cli/chunks/{chunk-OS2HHJTM.js → chunk-AGWKCY42.js} +2 -2
  50. package/dist/cli/chunks/chunk-BAHXVVX3.js +4 -0
  51. package/dist/cli/chunks/{chunk-6T65OKUM.js → chunk-BALFQQB7.js} +2 -2
  52. package/dist/cli/chunks/{chunk-I3ANRYQ6.js → chunk-BBNQDHGF.js} +2 -2
  53. package/dist/cli/chunks/{chunk-LOE2JETO.js → chunk-BCBITOMT.js} +2 -2
  54. package/dist/cli/chunks/{chunk-FII3WCCY.js → chunk-BKKJEKNT.js} +2 -2
  55. package/dist/cli/chunks/{chunk-TTJJ4DQE.js → chunk-BLU7OLQZ.js} +2 -2
  56. package/dist/cli/chunks/{chunk-AL5VJJN4.js → chunk-BNMV5DCM.js} +1 -1
  57. package/dist/cli/chunks/{chunk-4XJ2A3HY.js → chunk-BPM7NEHS.js} +4 -4
  58. package/dist/cli/chunks/{chunk-3V36WMIO.js → chunk-BWNMAXV7.js} +1 -1
  59. package/dist/cli/chunks/{chunk-EDOGRFAG.js → chunk-BXIJY6SB.js} +1 -1
  60. package/dist/cli/chunks/{chunk-ZXEWTZFR.js → chunk-C2K4LQI5.js} +1 -1
  61. package/dist/cli/chunks/{chunk-3WR35GFF.js → chunk-C7HGYLNF.js} +2 -2
  62. package/dist/cli/chunks/{chunk-7YSBATSN.js → chunk-CDVKFAYP.js} +2 -2
  63. package/dist/cli/chunks/{chunk-JBKZ5TUM.js → chunk-CJTXZI37.js} +2 -2
  64. package/dist/cli/chunks/{chunk-VMWRMINE.js → chunk-CP4GSICY.js} +1 -1
  65. package/dist/cli/chunks/{chunk-2XPMATEK.js → chunk-CXUHD2O5.js} +2 -2
  66. package/dist/cli/chunks/{chunk-W7TYKPLY.js → chunk-CYYT6YEV.js} +2 -2
  67. package/dist/cli/chunks/{chunk-SO6G4IX3.js → chunk-D72N5V2S.js} +2 -2
  68. package/dist/cli/chunks/{chunk-4LODYRNV.js → chunk-DQ3J7ZT6.js} +2 -2
  69. package/dist/cli/chunks/{chunk-PVDXNQPL.js → chunk-DSNFOX22.js} +2 -2
  70. package/dist/cli/chunks/{chunk-LPR2R3AN.js → chunk-EOBZJDJR.js} +3 -3
  71. package/dist/cli/chunks/{chunk-6R3YOAKO.js → chunk-FBYFDD7L.js} +2 -2
  72. package/dist/cli/chunks/{chunk-ZPP57WQU.js → chunk-FFSS3Y6W.js} +2 -2
  73. package/dist/cli/chunks/chunk-FNMEVLSN.js +2 -0
  74. package/dist/cli/chunks/{chunk-7KXPNNMR.js → chunk-GASACVTU.js} +2 -2
  75. package/dist/cli/chunks/{chunk-ABU64UWB.js → chunk-GGF5FZWS.js} +1 -1
  76. package/dist/cli/chunks/{chunk-M6FW56MV.js → chunk-GLO53MUQ.js} +2 -2
  77. package/dist/cli/chunks/{chunk-52U5BFZP.js → chunk-GW3M7GQH.js} +2 -2
  78. package/dist/cli/chunks/chunk-GXMNCW2M.js +2 -0
  79. package/dist/cli/chunks/{chunk-D45QLJEL.js → chunk-HDI3FD4G.js} +1 -1
  80. package/dist/cli/chunks/{chunk-26WEI3P4.js → chunk-HGKSU4QV.js} +2 -2
  81. package/dist/cli/chunks/{chunk-B2VBDMDI.js → chunk-HHMTQQUE.js} +2 -2
  82. package/dist/cli/chunks/{chunk-4Y3LGBKJ.js → chunk-HZGFER4N.js} +3 -3
  83. package/dist/cli/chunks/{chunk-AXKWV5NF.js → chunk-I4BZLVFE.js} +3 -3
  84. package/dist/cli/chunks/{chunk-JDSHUECG.js → chunk-IC6SOVGO.js} +2 -2
  85. package/dist/cli/chunks/{chunk-YFCULQBP.js → chunk-IE6FDICX.js} +2 -2
  86. package/dist/cli/chunks/{chunk-FGD6HINU.js → chunk-IHWWZOHP.js} +1 -1
  87. package/dist/cli/chunks/{chunk-HC6KTVFR.js → chunk-J4IAMQZI.js} +2 -2
  88. package/dist/cli/chunks/{chunk-VMFAANWX.js → chunk-J6ZCULWG.js} +2 -2
  89. package/dist/cli/chunks/{chunk-YGVDP6X7.js → chunk-JDZIBSMY.js} +1 -1
  90. package/dist/cli/chunks/{chunk-WPSK237F.js → chunk-JIM4VSLF.js} +3 -3
  91. package/dist/cli/chunks/{chunk-EK3HPH6A.js → chunk-JRHRC2MP.js} +1 -1
  92. package/dist/cli/chunks/{chunk-3JF5A72M.js → chunk-JRNDFC23.js} +2 -2
  93. package/dist/cli/chunks/chunk-JWZNWVLG.js +153 -0
  94. package/dist/cli/chunks/{chunk-Q5TR6ETB.js → chunk-KQV5644J.js} +3 -3
  95. package/dist/cli/chunks/{chunk-4RTWPR3X.js → chunk-LAJHHR3Q.js} +1 -1
  96. package/dist/cli/chunks/{chunk-AOXJFDH5.js → chunk-LF5XOYR7.js} +10 -10
  97. package/dist/cli/chunks/{chunk-I3NWKPXJ.js → chunk-LRWBOJ5Y.js} +2 -2
  98. package/dist/cli/chunks/{chunk-354367AP.js → chunk-LZ6TJ7XL.js} +2 -2
  99. package/dist/cli/chunks/{chunk-4QOI5JS7.js → chunk-M5P5WNXA.js} +1 -1
  100. package/dist/cli/chunks/{chunk-SE3JFUKP.js → chunk-MCUILJ33.js} +1 -1
  101. package/dist/cli/chunks/{chunk-ZG5UAEEO.js → chunk-MIAY35K6.js} +2 -2
  102. package/dist/cli/chunks/{chunk-6Q57K4YD.js → chunk-N3PSRG6F.js} +2 -2
  103. package/dist/cli/chunks/{chunk-FMNXHVIN.js → chunk-NEXJUTHF.js} +2 -2
  104. package/dist/cli/chunks/{chunk-RJN2RM76.js → chunk-NHRBKOYD.js} +2 -2
  105. package/dist/cli/chunks/{chunk-BJLA2IX7.js → chunk-NK2Z6FGF.js} +2 -2
  106. package/dist/cli/chunks/{chunk-Y25PO65W.js → chunk-NOCPO55P.js} +2 -2
  107. package/dist/cli/chunks/{chunk-XT4TDLOB.js → chunk-NTMN2ZJY.js} +2 -2
  108. package/dist/cli/chunks/{chunk-7DTMENY6.js → chunk-NVXSM7UO.js} +2 -2
  109. package/dist/cli/chunks/{chunk-CKOF27L7.js → chunk-O65OPAZH.js} +2 -2
  110. package/dist/cli/chunks/{chunk-OGNTCZKK.js → chunk-OEXSBR72.js} +1 -1
  111. package/dist/cli/chunks/{chunk-Y6DWJKHU.js → chunk-OJORNYN3.js} +3 -3
  112. package/dist/cli/chunks/{chunk-DPL762HU.js → chunk-ONSNNY6J.js} +1 -1
  113. package/dist/cli/chunks/{chunk-IBDQWKI3.js → chunk-OXVAGR64.js} +2 -2
  114. package/dist/cli/chunks/{chunk-C5C4W572.js → chunk-P7G5LGUE.js} +2 -2
  115. package/dist/cli/chunks/{chunk-XLT3FYS7.js → chunk-PDS5P5QD.js} +2 -2
  116. package/dist/cli/chunks/{chunk-IU5RSN6M.js → chunk-PQ4NSXZM.js} +2 -2
  117. package/dist/cli/chunks/{chunk-4MHN7JWC.js → chunk-PRA73XZY.js} +12 -12
  118. package/dist/cli/chunks/{chunk-2XQHG56O.js → chunk-PZ3Q34OT.js} +2 -2
  119. package/dist/cli/chunks/{chunk-EEKG35K5.js → chunk-PZZDAECU.js} +3 -3
  120. package/dist/cli/chunks/{chunk-J6PFPY7V.js → chunk-QJXUK54J.js} +2 -2
  121. package/dist/cli/chunks/{chunk-7P6X4BFO.js → chunk-QOAI6ETC.js} +3 -3
  122. package/dist/cli/chunks/{chunk-53YOYZW5.js → chunk-QORWBION.js} +2 -2
  123. package/dist/cli/chunks/{chunk-OS62Y77J.js → chunk-QXZOUETY.js} +2 -2
  124. package/dist/cli/chunks/{chunk-G2ZIJZJ7.js → chunk-QZBPXJ5C.js} +2 -2
  125. package/dist/cli/chunks/{chunk-WHHQIL4F.js → chunk-R4A6PY5D.js} +2 -2
  126. package/dist/cli/chunks/{chunk-ZLBY25MB.js → chunk-R7XEACKR.js} +1 -1
  127. package/dist/cli/chunks/{chunk-K4C25BWV.js → chunk-RAS7WRN5.js} +2 -2
  128. package/dist/cli/chunks/{chunk-MHMQ6MCT.js → chunk-REJGZP27.js} +2 -2
  129. package/dist/cli/chunks/{chunk-PW72M2FE.js → chunk-RIASOMB2.js} +2 -2
  130. package/dist/cli/chunks/{chunk-TEIWJ3GJ.js → chunk-RJ7TU2MP.js} +1 -1
  131. package/dist/cli/chunks/{chunk-W72FJA2H.js → chunk-S42RFOZJ.js} +2 -2
  132. package/dist/cli/chunks/chunk-SFQFBLWQ.js +2 -0
  133. package/dist/cli/chunks/{chunk-O7J54OHN.js → chunk-SHKOPOPD.js} +1 -1
  134. package/dist/cli/chunks/{chunk-QKK7VBVB.js → chunk-TGIKKD43.js} +2 -2
  135. package/dist/cli/chunks/chunk-TMPRR3FZ.js +2 -0
  136. package/dist/cli/chunks/{chunk-GW6XWMX2.js → chunk-U55X2ZUM.js} +2 -2
  137. package/dist/cli/chunks/{chunk-C4EZNOWK.js → chunk-U5ITD7ZD.js} +1 -1
  138. package/dist/cli/chunks/{chunk-RKXZLTWR.js → chunk-UBPJQKYS.js} +2 -2
  139. package/dist/cli/chunks/{chunk-DVW66FPU.js → chunk-UBWSYDO5.js} +1 -1
  140. package/dist/cli/chunks/chunk-UEC53US3.js +316 -0
  141. package/dist/cli/chunks/{chunk-UBY322ED.js → chunk-UGPBL7LX.js} +2 -2
  142. package/dist/cli/chunks/{chunk-MMEXHZUC.js → chunk-UKF4V7LE.js} +5 -5
  143. package/dist/cli/chunks/{chunk-FIPKIIMS.js → chunk-UR655D4K.js} +2 -2
  144. package/dist/cli/chunks/{chunk-GODAWJMZ.js → chunk-USTUWUCE.js} +2 -2
  145. package/dist/cli/chunks/{chunk-FGSIID5C.js → chunk-UZXDYT6O.js} +2 -2
  146. package/dist/cli/chunks/{chunk-JATLFS6A.js → chunk-VFRWLSQO.js} +1 -1
  147. package/dist/cli/chunks/{chunk-AF6P5RWY.js → chunk-VHJCQBD2.js} +2 -2
  148. package/dist/cli/chunks/{chunk-J5XDKVI7.js → chunk-VTFYY4SH.js} +2 -2
  149. package/dist/cli/chunks/{chunk-BTLUWH4R.js → chunk-W52R3G22.js} +2 -2
  150. package/dist/cli/chunks/{chunk-AOQYORVA.js → chunk-WBDV4V3H.js} +2 -2
  151. package/dist/cli/chunks/{chunk-3I4TCMOJ.js → chunk-WPEGG6DX.js} +1 -1
  152. package/dist/cli/chunks/{chunk-KQVIWE3W.js → chunk-WPG5LXR7.js} +2 -2
  153. package/dist/cli/chunks/{chunk-DLBVADWQ.js → chunk-X2CEX4KC.js} +42 -42
  154. package/dist/cli/chunks/{chunk-MTBGOWJA.js → chunk-X2K3BTI4.js} +2 -2
  155. package/dist/cli/chunks/{chunk-NCSXLMDL.js → chunk-XDRAU3W6.js} +2 -2
  156. package/dist/cli/chunks/{chunk-URP75DL4.js → chunk-XJTGLG7G.js} +1 -1
  157. package/dist/cli/chunks/{chunk-TRNBQFFG.js → chunk-XS6BIOPQ.js} +2 -2
  158. package/dist/cli/chunks/{chunk-MEIU7457.js → chunk-XTAXSKPC.js} +2 -2
  159. package/dist/cli/chunks/{chunk-VN2HHBZN.js → chunk-XYV6YUWS.js} +2 -2
  160. package/dist/cli/chunks/{chunk-UORTQXJ2.js → chunk-YGB3MT3R.js} +1 -1
  161. package/dist/cli/chunks/{chunk-37ZUF5NX.js → chunk-YNXQMJGJ.js} +1 -1
  162. package/dist/cli/chunks/{chunk-BLPWJQTY.js → chunk-ZCDGLNJ7.js} +2 -2
  163. package/dist/cli/chunks/{chunk-62UM7Q5N.js → chunk-ZNITDSWL.js} +1 -1
  164. package/dist/cli/chunks/{ci-CBNVLOOQ.js → ci-IU5HVUL5.js} +2 -2
  165. package/dist/cli/chunks/{ci-output-I4HY2FYJ.js → ci-output-CLI4A43F.js} +2 -2
  166. package/dist/cli/chunks/{circuit-breaker-5VRBKGWL.js → circuit-breaker-ZR5OFMW7.js} +2 -2
  167. package/dist/cli/chunks/{claude-flow-setup-XPJPKHIO.js → claude-flow-setup-UBMA6ZHJ.js} +2 -2
  168. package/dist/cli/chunks/client-KKCFGD7R.js +2 -0
  169. package/dist/cli/chunks/{cline-installer-OFRDUUWZ.js → cline-installer-EWYELOBI.js} +2 -2
  170. package/dist/cli/chunks/{code-QIZQVB3E.js → code-YSPF4MXN.js} +2 -2
  171. package/dist/cli/chunks/{code-index-extractor-LMUUWEX4.js → code-index-extractor-WW5OKSTN.js} +2 -2
  172. package/dist/cli/chunks/{codex-installer-N2MKIZ2S.js → codex-installer-GLADK5PY.js} +2 -2
  173. package/dist/cli/chunks/{completions-Y36S3C5J.js → completions-2KTWZ3AK.js} +2 -2
  174. package/dist/cli/chunks/{complexity-analyzer-73YS3WUD.js → complexity-analyzer-KMX4OWKB.js} +2 -2
  175. package/dist/cli/chunks/{continuedev-installer-SAOTP6J3.js → continuedev-installer-4FHU4OEJ.js} +2 -2
  176. package/dist/cli/chunks/{copilot-installer-A4HXF6HE.js → copilot-installer-AKR4WE7B.js} +2 -2
  177. package/dist/cli/chunks/core-handlers-KRSSJEO5.js +2 -0
  178. package/dist/cli/chunks/{cost-tracker-P26XUVZS.js → cost-tracker-BUJ6WEWY.js} +2 -2
  179. package/dist/cli/chunks/{coverage-HVNHSMVJ.js → coverage-OB6HVQS4.js} +3 -3
  180. package/dist/cli/chunks/cross-domain-router-27QGWU27.js +2 -0
  181. package/dist/cli/chunks/{cursor-installer-46BQFTYZ.js → cursor-installer-3AOE4O3Q.js} +2 -2
  182. package/dist/cli/chunks/{daemon-Y54O3FLT.js → daemon-4RAL5URG.js} +3 -3
  183. package/dist/cli/chunks/{daemon-YE7K2AZF.js → daemon-JGSPLYGO.js} +4 -4
  184. package/dist/cli/chunks/{dag-attention-scheduler-ETA7YY52.js → dag-attention-scheduler-DSBTHIMH.js} +2 -2
  185. package/dist/cli/chunks/{detect-5WLQ2J3E.js → detect-6CVW2VUQ.js} +2 -2
  186. package/dist/cli/chunks/{dist-node-45WW6I7J.js → dist-node-EWPKBTYA.js} +2 -2
  187. package/dist/cli/chunks/{domain-handler-J7DQV74M.js → domain-handler-HLVIJU25.js} +2 -2
  188. package/dist/cli/chunks/{domain-transfer-GD2EGQVR.js → domain-transfer-7Y3BR3YU.js} +2 -2
  189. package/dist/cli/chunks/dream-M6K47Q4H.js +2 -0
  190. package/dist/cli/chunks/{embed-and-insert-pattern-JELNEA2D.js → embed-and-insert-pattern-ZMJ3263X.js} +2 -2
  191. package/dist/cli/chunks/{eval-A4PA5G2U.js → eval-73XW2WJD.js} +2 -2
  192. package/dist/cli/chunks/{experience-capture-middleware-MLHTYWTA.js → experience-capture-middleware-OGJ3JOSQ.js} +3 -3
  193. package/dist/cli/chunks/{fast-paths-QYDTITRV.js → fast-paths-5XCY3Y6U.js} +2 -2
  194. package/dist/cli/chunks/{feature-flags-H4MSY26Z.js → feature-flags-R5V2FRJR.js} +2 -2
  195. package/dist/cli/chunks/{feature-flags-MQYYRHIK.js → feature-flags-VULQI6KY.js} +2 -2
  196. package/dist/cli/chunks/{file-discovery-RMFVJNGL.js → file-discovery-HW33C3HC.js} +2 -2
  197. package/dist/cli/chunks/{fleet-7KZQOTAC.js → fleet-NH3XR5OY.js} +3 -3
  198. package/dist/cli/chunks/{gnn-wrapper-NMZFTGVH.js → gnn-wrapper-L3XMLPTG.js} +2 -2
  199. package/dist/cli/chunks/{heartbeat-handler-7BQDK7MG.js → heartbeat-handler-TIQFBT4D.js} +4 -4
  200. package/dist/cli/chunks/heartbeat-scheduler-URXBF5RW.js +2 -0
  201. package/dist/cli/chunks/hnsw-adapter-WWAGM6HK.js +2 -0
  202. package/dist/cli/chunks/hnsw-index-UFV2HSZE.js +2 -0
  203. package/dist/cli/chunks/{hnsw-legacy-bridge-TPPGBPKF.js → hnsw-legacy-bridge-YL2SUIPA.js} +2 -2
  204. package/dist/cli/chunks/{better-sqlite3-2KR4LQRU.js → hnswlib-node-62RTSHAY.js} +2 -2
  205. package/dist/cli/chunks/{hooks-CYZIUYSH.js → hooks-UR2ZF54G.js} +10 -10
  206. package/dist/cli/chunks/hybrid-router-3U6Q6OTL.js +2 -0
  207. package/dist/cli/chunks/{hypergraph-engine-WC6DMTYQ.js → hypergraph-engine-NX45AOPY.js} +2 -2
  208. package/dist/cli/chunks/{hypergraph-handler-GTGA3TXJ.js → hypergraph-handler-LUM4YI4K.js} +3 -3
  209. package/dist/cli/chunks/impact-analyzer-EUEX6ZRO.js +2 -0
  210. package/dist/cli/chunks/{init-handler-N3Z72JNI.js → init-handler-YTKKNTVV.js} +6 -6
  211. package/dist/cli/chunks/init-wizard-POKY2LRY.js +2 -0
  212. package/dist/cli/chunks/kernel-HPAONLZY.js +2 -0
  213. package/dist/cli/chunks/{kilocode-installer-FUX4V6II.js → kilocode-installer-ZW7DVH7T.js} +2 -2
  214. package/dist/cli/chunks/{kiro-installer-ZSNZT7ZR.js → kiro-installer-IA7INW4N.js} +2 -2
  215. package/dist/cli/chunks/knowledge-graph-2WCUFG63.js +2 -0
  216. package/dist/cli/chunks/{learning-UQY64COU.js → learning-4AZ5PGTT.js} +3 -3
  217. package/dist/cli/chunks/{llm-router-CMHGGX6N.js → llm-router-WQ4E3AOP.js} +4 -4
  218. package/dist/cli/chunks/llm-router-service-D5VMG6SD.js +2 -0
  219. package/dist/cli/chunks/{load-E6WH4QN2.js → load-4FAH7CZO.js} +2 -2
  220. package/dist/cli/chunks/load-test-DHG26REU.js +2 -0
  221. package/dist/cli/chunks/{mcp-UM5VTW6N.js → mcp-KLLHI6DG.js} +2 -2
  222. package/dist/cli/chunks/{memory-7Q3XDUE5.js → memory-Q5HLIUC6.js} +5 -5
  223. package/dist/cli/chunks/memory-backend-GLWQ4DAL.js +2 -0
  224. package/dist/cli/chunks/memory-handlers-P72I4VV4.js +2 -0
  225. package/dist/cli/chunks/{multi-model-executor-LZENWVRR.js → multi-model-executor-ABI73AFV.js} +2 -2
  226. package/dist/cli/chunks/{opencode-installer-O2JAIPLF.js → opencode-installer-KRPQ6JOJ.js} +2 -2
  227. package/dist/cli/chunks/{orchestrator-DKZWXDRI.js → orchestrator-SUPEONRG.js} +18 -18
  228. package/dist/cli/chunks/pattern-null-store-Y2YFTE3V.js +2 -0
  229. package/dist/cli/chunks/{pattern-usage-recorder-CLUL4M55.js → pattern-usage-recorder-R4GKK6RZ.js} +2 -2
  230. package/dist/cli/chunks/{pipeline-2VDLTR5J.js → pipeline-LCUETNGD.js} +2 -2
  231. package/dist/cli/chunks/{platform-4N4Q5XYX.js → platform-WJDIB4X3.js} +2 -2
  232. package/dist/cli/chunks/{plugin-GY5AU5CS.js → plugin-2X5NY2RF.js} +2 -2
  233. package/dist/cli/chunks/{prime-radiant-advanced-wasm-TQ4DKDZS.js → prime-radiant-advanced-wasm-3T665QC6.js} +2 -2
  234. package/dist/cli/chunks/protocol-executor-HNT67NN5.js +2 -0
  235. package/dist/cli/chunks/{protocol-handler-T3LZ3WRG.js → protocol-handler-JTXRF7GU.js} +2 -2
  236. package/dist/cli/chunks/{prove-OV7S5J4W.js → prove-BFPWWPOC.js} +2 -2
  237. package/dist/cli/chunks/provider-manager-5YGPZIEZ.js +2 -0
  238. package/dist/cli/chunks/qe-reasoning-bank-Z5UGOA3F.js +2 -0
  239. package/dist/cli/chunks/{quality-AXD4NLQA.js → quality-F7UZU4RN.js} +2 -2
  240. package/dist/cli/chunks/quality-gate-R5L4UZIX.js +7 -0
  241. package/dist/cli/chunks/queen-coordinator-P5LU5NWI.js +2 -0
  242. package/dist/cli/chunks/{real-embeddings-2PUCC7FG.js → real-embeddings-LZD6HTQF.js} +2 -2
  243. package/dist/cli/chunks/{roocode-installer-WJ5ARGLW.js → roocode-installer-6TTG7VSH.js} +2 -2
  244. package/dist/cli/chunks/router-CRGHUAVR.js +2 -0
  245. package/dist/cli/chunks/routing-feedback-BVX5ZBCF.js +2 -0
  246. package/dist/cli/chunks/{routing-handler-CU6657SZ.js → routing-handler-SW442GK7.js} +2 -2
  247. package/dist/cli/chunks/{ruvector-commands-IIF6VSFW.js → ruvector-commands-CLFGKXMW.js} +2 -2
  248. package/dist/cli/chunks/{rvf-dual-writer-YMQI7XO2.js → rvf-dual-writer-EVPPXXXS.js} +2 -2
  249. package/dist/cli/chunks/{rvf-migration-adapter-HDE3PR2W.js → rvf-migration-adapter-NOHDIRIP.js} +2 -2
  250. package/dist/cli/chunks/{rvf-migration-coordinator-MQV5OA7K.js → rvf-migration-coordinator-BYJ3M7WZ.js} +2 -2
  251. package/dist/cli/chunks/rvf-native-adapter-FZJSQOJM.js +2 -0
  252. package/dist/cli/chunks/safe-db-USYNEOC6.js +2 -0
  253. package/dist/cli/chunks/schedule-KCRCQ3PS.js +2 -0
  254. package/dist/cli/chunks/scheduler-CX3UHI4U.js +2 -0
  255. package/dist/cli/chunks/{security-UM3IGDSM.js → security-IXDKBPSG.js} +3 -3
  256. package/dist/cli/chunks/{shared-rvf-adapter-I3SOJ6M4.js → shared-rvf-adapter-VCOK3OVD.js} +2 -2
  257. package/dist/cli/chunks/{shared-rvf-dual-writer-KQGC2UO7.js → shared-rvf-dual-writer-FFKBKYNL.js} +2 -2
  258. package/dist/cli/chunks/sqlite-persistence-K23C4TFH.js +2 -0
  259. package/dist/cli/chunks/{status-handler-OX4CJZME.js → status-handler-M5W64S5U.js} +2 -2
  260. package/dist/cli/chunks/{structural-health-PYUMVBXJ.js → structural-health-55X6BTLT.js} +2 -2
  261. package/dist/cli/chunks/{sync-VALFNTA6.js → sync-BUGDXW3Y.js} +2 -2
  262. package/dist/cli/chunks/{sync-2TED3YTY.js → sync-NUG67HGK.js} +2 -2
  263. package/dist/cli/chunks/{task-handler-VPGAJVPC.js → task-handler-T6ZKXV4S.js} +2 -2
  264. package/dist/cli/chunks/{task-handlers-IB4UAMU6.js → task-handlers-H63TB2UI.js} +3 -3
  265. package/dist/cli/chunks/{test-OMRJOZB6.js → test-VEK76SBT.js} +4 -4
  266. package/dist/cli/chunks/{test-scheduling-ZL3YFPBU.js → test-scheduling-QZM6PNZH.js} +3 -3
  267. package/dist/cli/chunks/{token-bootstrap-DNWZI7SH.js → token-bootstrap-W5IAMJW4.js} +2 -2
  268. package/dist/cli/chunks/{token-usage-IYO7RGFF.js → token-usage-OBY6UEUR.js} +2 -2
  269. package/dist/cli/chunks/{transformers-53ALC34T.js → transformers-EFNY2MRX.js} +2 -2
  270. package/dist/cli/chunks/{tree-sitter-wasm-parser-WUKJ2I2Q.js → tree-sitter-wasm-parser-EU2S5NVM.js} +2 -2
  271. package/dist/cli/chunks/{types-47FTEPMV.js → types-3DYRKX23.js} +2 -2
  272. package/dist/cli/chunks/unified-memory-NCDBQLLF.js +2 -0
  273. package/dist/cli/chunks/unified-memory-hnsw-T7NSGQ2H.js +2 -0
  274. package/dist/cli/chunks/unified-persistence-XUAYDCMM.js +2 -0
  275. package/dist/cli/chunks/{upgrade-QPLMJA5Z.js → upgrade-H5V53FRF.js} +2 -2
  276. package/dist/cli/chunks/{validate-3GVKZOVF.js → validate-IL22VB5I.js} +2 -2
  277. package/dist/cli/chunks/{validate-swarm-XCRTLVM6.js → validate-swarm-WZKECK3W.js} +2 -2
  278. package/dist/cli/chunks/{vibium-CH4VPKVZ.js → vibium-KKM23OTQ.js} +2 -2
  279. package/dist/cli/chunks/visual-security-3TUC4GPP.js +2 -0
  280. package/dist/cli/chunks/{web-tree-sitter-JDBNAZTV.js → web-tree-sitter-NJM5YBOY.js} +2 -2
  281. package/dist/cli/chunks/{windsurf-installer-3MNPVJBP.js → windsurf-installer-SLP43TVT.js} +2 -2
  282. package/dist/cli/chunks/witness-chain-QLOKUZXC.js +2 -0
  283. package/dist/cli/chunks/{witness-chain-HR5UBV5J.js → witness-chain-XBEPT4XD.js} +2 -2
  284. package/dist/cli/chunks/{witness-key-manager-G5SQTIBZ.js → witness-key-manager-DAAMNYOW.js} +2 -2
  285. package/dist/cli/chunks/{workflow-43EMD5FY.js → workflow-SZOOU6D3.js} +4 -4
  286. package/dist/cli/chunks/workflow-orchestrator-6JAYTZ7L.js +2 -0
  287. package/dist/cli/chunks/{wrappers-3N7AYNM3.js → wrappers-I2CBKWGF.js} +2 -2
  288. package/dist/cli/commands/quality-gate.d.ts +24 -0
  289. package/dist/cli/commands/quality-gate.js +135 -0
  290. package/dist/cli/index.js +5 -0
  291. package/dist/coordination/mincut/dream-integration.d.ts +11 -0
  292. package/dist/coordination/mincut/dream-integration.js +39 -12
  293. package/dist/init/init-wizard-hooks.js +11 -25
  294. package/dist/init/phases/07-hooks.js +15 -25
  295. package/dist/init/settings-merge.d.ts +44 -0
  296. package/dist/init/settings-merge.js +119 -4
  297. package/dist/integrations/ruvector/feature-flags.js +7 -0
  298. package/dist/learning/pattern-lifecycle.d.ts +16 -0
  299. package/dist/learning/pattern-lifecycle.js +77 -1
  300. package/dist/learning/provenance-tier.d.ts +52 -0
  301. package/dist/learning/provenance-tier.js +64 -0
  302. package/dist/learning/qe-flywheel/corpus-scorer.d.ts +55 -0
  303. package/dist/learning/qe-flywheel/corpus-scorer.js +293 -0
  304. package/dist/learning/qe-flywheel/coupled-anchor.d.ts +91 -0
  305. package/dist/learning/qe-flywheel/coupled-anchor.js +181 -0
  306. package/dist/learning/qe-flywheel/generation.d.ts +121 -0
  307. package/dist/learning/qe-flywheel/generation.js +167 -0
  308. package/dist/learning/qe-flywheel/policy.d.ts +37 -0
  309. package/dist/learning/qe-flywheel/policy.js +66 -0
  310. package/dist/learning/qe-flywheel/receipt-store.d.ts +31 -0
  311. package/dist/learning/qe-flywheel/receipt-store.js +89 -0
  312. package/dist/learning/qe-flywheel/receipt.d.ts +62 -0
  313. package/dist/learning/qe-flywheel/receipt.js +97 -0
  314. package/dist/mcp/bundle.js +396 -390
  315. package/dist/mcp/tools/quality-assessment/gate.d.ts +38 -0
  316. package/dist/mcp/tools/quality-assessment/gate.js +86 -0
  317. package/dist/mcp/tools/registry.d.ts +1 -0
  318. package/dist/mcp/tools/registry.js +3 -0
  319. package/dist/shared/safe-db.js +23 -4
  320. package/dist/validation/anchor-set.d.ts +74 -0
  321. package/dist/validation/anchor-set.js +78 -0
  322. package/dist/validation/frontier-judge.d.ts +99 -0
  323. package/dist/validation/frontier-judge.js +234 -0
  324. package/dist/validation/gate-reexecute.d.ts +165 -0
  325. package/dist/validation/gate-reexecute.js +255 -0
  326. package/dist/validation/quality-gate-runner.d.ts +49 -0
  327. package/dist/validation/quality-gate-runner.js +62 -0
  328. package/dist/validation/quality-verdict.d.ts +94 -0
  329. package/dist/validation/quality-verdict.js +120 -0
  330. package/package.json +1 -1
  331. package/dist/cli/chunks/adapter-KNM5R47J.js +0 -2
  332. package/dist/cli/chunks/aqe-learning-engine-MXPJLVR3.js +0 -2
  333. package/dist/cli/chunks/base-X4EXQ2AS.js +0 -2
  334. package/dist/cli/chunks/browser-workflow-4HX6RP5F.js +0 -2
  335. package/dist/cli/chunks/chunk-FHTYEAQ3.js +0 -2
  336. package/dist/cli/chunks/chunk-MIU5RUBJ.js +0 -149
  337. package/dist/cli/chunks/chunk-SK754ZSH.js +0 -316
  338. package/dist/cli/chunks/chunk-V6NAB5UZ.js +0 -2
  339. package/dist/cli/chunks/chunk-YR2JKBZO.js +0 -2
  340. package/dist/cli/chunks/chunk-ZMPAM4DY.js +0 -2
  341. package/dist/cli/chunks/client-AHXNCOHK.js +0 -2
  342. package/dist/cli/chunks/core-handlers-EEFLLMAZ.js +0 -2
  343. package/dist/cli/chunks/cross-domain-router-LT3H4SNJ.js +0 -2
  344. package/dist/cli/chunks/dream-4K3BK4IG.js +0 -2
  345. package/dist/cli/chunks/heartbeat-scheduler-IMPPGQUK.js +0 -2
  346. package/dist/cli/chunks/hnsw-adapter-EIAA6R2L.js +0 -2
  347. package/dist/cli/chunks/hnsw-index-ZXXP6AXZ.js +0 -2
  348. package/dist/cli/chunks/hybrid-router-LXWG4MLH.js +0 -2
  349. package/dist/cli/chunks/impact-analyzer-TP5LRFYH.js +0 -2
  350. package/dist/cli/chunks/init-wizard-AIOA5KOY.js +0 -2
  351. package/dist/cli/chunks/kernel-SQALRU6Q.js +0 -2
  352. package/dist/cli/chunks/knowledge-graph-JFVT6SNN.js +0 -2
  353. package/dist/cli/chunks/llm-router-service-XHFKTH3I.js +0 -2
  354. package/dist/cli/chunks/load-test-JEIFJKNN.js +0 -2
  355. package/dist/cli/chunks/memory-backend-NT7I37CP.js +0 -2
  356. package/dist/cli/chunks/memory-handlers-746D7NE7.js +0 -2
  357. package/dist/cli/chunks/pattern-null-store-6QU6WHDW.js +0 -2
  358. package/dist/cli/chunks/protocol-executor-GT2MZYUU.js +0 -2
  359. package/dist/cli/chunks/provider-manager-OATJ7R3D.js +0 -2
  360. package/dist/cli/chunks/qe-reasoning-bank-IJXNQ67O.js +0 -2
  361. package/dist/cli/chunks/queen-coordinator-6RBHWCUG.js +0 -2
  362. package/dist/cli/chunks/router-XKQRT5JK.js +0 -2
  363. package/dist/cli/chunks/routing-feedback-ACPSD4LW.js +0 -2
  364. package/dist/cli/chunks/rvf-native-adapter-SIWRKE33.js +0 -2
  365. package/dist/cli/chunks/safe-db-LCPUYMX4.js +0 -2
  366. package/dist/cli/chunks/schedule-HIQJCWXG.js +0 -2
  367. package/dist/cli/chunks/scheduler-QE5EJ5LE.js +0 -2
  368. package/dist/cli/chunks/sqlite-persistence-EU54UTMH.js +0 -2
  369. package/dist/cli/chunks/unified-memory-CJLMC2I4.js +0 -2
  370. package/dist/cli/chunks/unified-memory-hnsw-FDGR4D2J.js +0 -2
  371. package/dist/cli/chunks/unified-persistence-UFH5GLDN.js +0 -2
  372. package/dist/cli/chunks/visual-security-4ARJ7J2Y.js +0 -2
  373. package/dist/cli/chunks/witness-chain-73QC33ED.js +0 -2
  374. package/dist/cli/chunks/workflow-orchestrator-RKMMPXNA.js +0 -2
@@ -0,0 +1 @@
1
+ 3.25.4
@@ -27,10 +27,23 @@ const CYAN = '\x1b[0;36m';
27
27
  const DIM = '\x1b[2m';
28
28
  const RESET = '\x1b[0m';
29
29
 
30
+ const YELLOW = '\x1b[0;33m';
30
31
  const log = (msg) => console.log(`${CYAN}[AutoMemory] ${msg}${RESET}`);
31
32
  const success = (msg) => console.log(`${GREEN}[AutoMemory] ✓ ${msg}${RESET}`);
32
33
  const dim = (msg) => console.log(` ${DIM}${msg}${RESET}`);
33
34
 
35
+ // #2545: fail LOUD instead of a silent dim skip. When @claude-flow/memory cannot
36
+ // be resolved, self-learning imports are a no-op — the user must see this and be
37
+ // told exactly how to fix it (on both stdout, so it shows in the Claude Code hook
38
+ // transcript, and stderr, per the issue's requested channel).
39
+ function warnMemoryUnavailable() {
40
+ const line1 = `[AutoMemory] @claude-flow/memory not resolvable from ${PROJECT_ROOT} — self-learning imports are DISABLED.`;
41
+ const line2 = ' Fix: npm i -D @claude-flow/memory (or re-run: npx ruflo@latest init, then npx ruflo@latest doctor --fix)';
42
+ console.log(`${YELLOW}${line1}${RESET}`);
43
+ console.log(`${YELLOW}${line2}${RESET}`);
44
+ process.stderr.write(`${line1}\n${line2}\n`);
45
+ }
46
+
34
47
  const DEBUG = !!(process.env.RUFLO_DEBUG || process.env.DEBUG);
35
48
 
36
49
  // ── Graceful shutdown (FIX 3) ───────────────────────────────────────────────
@@ -152,6 +165,21 @@ class JsonFileBackend {
152
165
  // ============================================================================
153
166
 
154
167
  async function loadMemoryPackage() {
168
+ // Strategy 0 (#2545): sidecar recorded by `init` / `doctor --fix`. On the
169
+ // documented `npx ruflo` path @claude-flow/memory (an optionalDependency of
170
+ // the CLI) lands in the npx cache, which is NOT on the walk-up path from the
171
+ // project — so init resolves it from the CLI's own context and records the
172
+ // absolute path here. This is the only strategy that works on that install.
173
+ try {
174
+ const sidecar = join(PROJECT_ROOT, '.claude-flow', 'memory-package.json');
175
+ if (existsSync(sidecar)) {
176
+ const rec = JSON.parse(readFileSync(sidecar, 'utf-8'));
177
+ if (rec?.distPath && existsSync(rec.distPath)) {
178
+ return await import(`file://${rec.distPath}`);
179
+ }
180
+ }
181
+ } catch { /* fall through */ }
182
+
155
183
  // Strategy 1: Local dev (built dist)
156
184
  const localDist = join(PROJECT_ROOT, 'v3/@claude-flow/memory/dist/index.js');
157
185
  if (existsSync(localDist)) {
@@ -235,7 +263,7 @@ async function doImport() {
235
263
 
236
264
  const memPkg = await loadMemoryPackage();
237
265
  if (!memPkg || !memPkg.AutoMemoryBridge) {
238
- dim('Memory package not available — skipping auto memory import');
266
+ warnMemoryUnavailable();
239
267
  return;
240
268
  }
241
269
 
@@ -288,7 +316,7 @@ async function doSync() {
288
316
 
289
317
  const memPkg = await loadMemoryPackage();
290
318
  if (!memPkg || !memPkg.AutoMemoryBridge) {
291
- dim('Memory package not available — skipping sync');
319
+ warnMemoryUnavailable();
292
320
  return;
293
321
  }
294
322
 
@@ -346,8 +374,12 @@ async function doStatus() {
346
374
  const memPkg = await loadMemoryPackage();
347
375
  const config = readConfig();
348
376
 
377
+ const sidecar = join(PROJECT_ROOT, '.claude-flow', 'memory-package.json');
378
+ const hasSidecar = existsSync(sidecar);
379
+
349
380
  console.log('\n=== Auto Memory Bridge Status ===\n');
350
- console.log(` Package: ${memPkg ? '✅ Available' : '❌ Not found'}`);
381
+ console.log(` Package: ${memPkg ? '✅ Available' : '❌ Not found — self-learning DISABLED (fix: npm i -D @claude-flow/memory)'}`);
382
+ console.log(` Resolver: ${hasSidecar ? '✅ .claude-flow/memory-package.json' : '⏸ no sidecar (run: npx ruflo@latest doctor --fix)'}`);
351
383
  console.log(` Store: ${existsSync(STORE_PATH) ? '✅ ' + STORE_PATH : '⏸ Not initialized'}`);
352
384
  console.log(` LearningBridge: ${config.learningBridge.enabled ? '✅ Enabled' : '⏸ Disabled'}`);
353
385
  console.log(` MemoryGraph: ${config.memoryGraph.enabled ? '✅ Enabled' : '⏸ Disabled'}`);
@@ -18,6 +18,16 @@ const RVF_PATH = path.join(AQE_DIR, 'aqe.rvf');
18
18
  const DB_PATH = path.join(AQE_DIR, 'memory.db');
19
19
  const MAX_AGE_HOURS = 24;
20
20
 
21
+ // Mount-local kill switch. `brain export` (below) spawns a native RVF writer
22
+ // that, on a macOS Docker virtiofs bind mount, deadlocks in a futex and IGNORES
23
+ // the SIGTERM that execFileSync's timeout sends — so the 60s timeout can't reap
24
+ // it and orphaned exporters pile up (~1.5GB RSS observed 2026-07-08). Disable
25
+ // via env `AQE_DISABLE_BRAIN_CHECKPOINT=1` or a `.agentic-qe/DISABLE_BRAIN_CHECKPOINT`
26
+ // marker file. Opt-in: shipped installs without the flag behave exactly as before.
27
+ const CHECKPOINT_DISABLED =
28
+ process.env.AQE_DISABLE_BRAIN_CHECKPOINT === '1' ||
29
+ fs.existsSync(path.join(AQE_DIR, 'DISABLE_BRAIN_CHECKPOINT'));
30
+
21
31
  function log(msg) { process.stderr.write('[brain-checkpoint] ' + msg + '\n'); }
22
32
 
23
33
  function exportBrain() {
@@ -54,5 +64,10 @@ function verifyBrain() {
54
64
  }
55
65
 
56
66
  const cmd = process.argv[2] || 'verify';
57
- const result = cmd === 'export' ? exportBrain() : verifyBrain();
67
+ let result;
68
+ if (CHECKPOINT_DISABLED) {
69
+ result = { disabled: true, reason: 'brain-checkpoint disabled on this mount' };
70
+ } else {
71
+ result = cmd === 'export' ? exportBrain() : verifyBrain();
72
+ }
58
73
  if (process.argv.includes('--json')) process.stdout.write(JSON.stringify(result));
@@ -0,0 +1,12 @@
1
+ {
2
+ "manifest": {
3
+ "version": "3.25.4",
4
+ "files": {
5
+ "auto-memory-hook.mjs": "68be7e9a9eba7bf9c4e8a230db7bf61a243b965639f8504842799d6c6ca28762",
6
+ "hook-handler.cjs": "bc4d2d26823d49b3ab1dded2946b66369f1f67bd76b4c30dca9f3b6df3cca8f0",
7
+ "intelligence.cjs": "bd1f8e4b034944aee1df0391dc47ac2e8cc4b3aa542c65407a59d49620bbf76b"
8
+ }
9
+ },
10
+ "signature": "F3TIRoNcQTCkNeMEk5Isah5CWkV/zddUKR/6pieOlAWoYgI2BEUO7avQj8B8UP4vhvgT9TSgbYsis2UnnnQyBg==",
11
+ "algorithm": "ed25519"
12
+ }
@@ -124,6 +124,25 @@ async function main() {
124
124
  const prompt = hookInput.prompt || hookInput.command || toolInput.command
125
125
  || process.env.PROMPT || process.env.TOOL_INPUT_command || args.join(' ') || '';
126
126
 
127
+ // ADR-174: capture FAILURES so the learning substrate has negative examples.
128
+ // Claude Code's PostToolUse payload carries the tool result; a failed
129
+ // Write/Edit/Bash surfaces as tool_response.is_error / an error string /
130
+ // a non-zero exit code. Conservative — only a positive error signal counts
131
+ // as failure (mirrors isToolFailure() in helpers-generator.ts).
132
+ const toolFailed = (function (hi) {
133
+ if (!hi || typeof hi !== 'object') return false;
134
+ const tr = hi.tool_response != null ? hi.tool_response : (hi.toolResponse != null ? hi.toolResponse : hi.result);
135
+ if (tr == null) return false;
136
+ if (typeof tr === 'string') return /\b(error|failed|failure|exception|not found|no such|permission denied|traceback)\b/i.test(tr);
137
+ if (typeof tr === 'object') {
138
+ if (tr.is_error === true || tr.isError === true || tr.success === false || tr.error != null) return true;
139
+ const code = tr.exit_code != null ? tr.exit_code : (tr.exitCode != null ? tr.exitCode : tr.code);
140
+ if (typeof code === 'number' && code !== 0) return true;
141
+ if (Array.isArray(tr.content) && tr.is_error === true) return true;
142
+ }
143
+ return false;
144
+ })(hookInput);
145
+
127
146
  const handlers = {
128
147
  'route': () => {
129
148
  // Inject ranked intelligence context before routing
@@ -178,10 +197,10 @@ const handlers = {
178
197
  try {
179
198
  const file = hookInput.file_path || toolInput.file_path
180
199
  || process.env.TOOL_INPUT_file_path || args[0] || '';
181
- intelligence.recordEdit(file);
200
+ intelligence.recordEdit(file, !toolFailed);
182
201
  } catch (e) { /* non-fatal */ }
183
202
  }
184
- console.log('[OK] Edit recorded');
203
+ console.log(toolFailed ? '[LEARN] Edit FAILURE recorded' : '[OK] Edit recorded');
185
204
  },
186
205
 
187
206
  'session-restore': async () => {
@@ -246,13 +265,15 @@ const handlers = {
246
265
  },
247
266
 
248
267
  'post-task': () => {
249
- // Implicit success feedback for intelligence
268
+ // ADR-174: feed the REAL outcome (feedback() boosts confidence on success,
269
+ // decays it on failure) instead of a hardcoded true — no more all-positive
270
+ // signal that the substrate can't learn from.
250
271
  if (intelligence && intelligence.feedback) {
251
272
  try {
252
- intelligence.feedback(true);
273
+ intelligence.feedback(!toolFailed);
253
274
  } catch (e) { /* non-fatal */ }
254
275
  }
255
- console.log('[OK] Task completed');
276
+ console.log(toolFailed ? '[LEARN] Task FAILURE recorded' : '[OK] Task completed');
256
277
  },
257
278
 
258
279
  'stats': () => {
@@ -575,15 +575,28 @@ function getContext(prompt) {
575
575
  * recordEdit(file) — Called from post-edit. Budget: <2ms.
576
576
  * Appends to pending-insights.jsonl.
577
577
  */
578
- function recordEdit(file) {
578
+ function recordEdit(file, success) {
579
579
  ensureDataDir();
580
580
  const entry = JSON.stringify({
581
581
  type: 'edit',
582
582
  file: file || 'unknown',
583
+ // ADR-174: record failures too, not just successes — the learning substrate
584
+ // needs negative examples. Defaults true; an explicit false is a failed edit.
585
+ success: success !== false,
583
586
  timestamp: Date.now(),
584
587
  sessionId: sessionGet('sessionId') || null,
585
588
  });
586
589
  fs.appendFileSync(PENDING_PATH, entry + '\n', 'utf-8');
590
+ // Runaway-storage guard: pending-insights is append-only and only drained by
591
+ // consolidation. If it grows past ~512KB (thousands of un-consolidated edits
592
+ // — e.g. the daemon never ran), keep only the most recent 2000 lines so it
593
+ // can never grow unbounded. Cheap (a statSync per edit; rewrite only when over).
594
+ try {
595
+ if (fs.statSync(PENDING_PATH).size > 512 * 1024) {
596
+ const lines = fs.readFileSync(PENDING_PATH, 'utf-8').split('\n').filter(Boolean);
597
+ if (lines.length > 2000) fs.writeFileSync(PENDING_PATH, lines.slice(-2000).join('\n') + '\n', 'utf-8');
598
+ }
599
+ } catch (e) { /* non-fatal */ }
587
600
  }
588
601
 
589
602
  /**
@@ -129,9 +129,22 @@ try {
129
129
  const hit = FATAL_MARKERS.find((m) => stderr.includes(m));
130
130
  const ts = () => new Date().toISOString();
131
131
  if (hit) {
132
+ // The fix depends on WHICH failure hit. A native-binary marker (invalid ELF
133
+ // header / ERR_DLOPEN_FAILED / wrong Node version) is a real rebuild case.
134
+ // But "Failed to initialize UnifiedMemoryManager" is almost always LOCK
135
+ // CONTENTION — another AQE process (MCP server, daemon, hooks) holding
136
+ // memory.db, often amplified by a WAL-hostile bind mount — NOT a bad binary.
137
+ // Suggesting `npm rebuild` there sends people down the wrong path (verified
138
+ // 2026-07-08: better-sqlite3 loaded fine while this marker still fired).
139
+ const nativeMismatch = /invalid ELF header|ERR_DLOPEN_FAILED|different Node\.js version/.test(hit);
140
+ const fix = nativeMismatch
141
+ ? '`npm rebuild better-sqlite3` (host/container native-binary mismatch).'
142
+ : 'lock contention — check for concurrent AQE processes holding memory.db '
143
+ + '(MCP server / daemon / other hooks) and WAL safety on bind mounts '
144
+ + '(AQE_DISABLE_WAL); NOT a native-binary rebuild.';
132
145
  recordHookHealth(`[${ts()}] FATAL hook persistence failure `
133
146
  + `(cmd=${subcmd}): "${hit}". Learning is NOT being captured. `
134
- + `Fix: \`npm rebuild better-sqlite3\` (host/container native-binary mismatch).\n`);
147
+ + `Fix: ${fix}\n`);
135
148
  } else if (res && res.signal) {
136
149
  // Killed by our own SPAWN_TIMEOUT_MS (or another signal) before finishing.
137
150
  // No output means no persistence happened for this invocation.
@@ -939,7 +939,7 @@
939
939
  },
940
940
  "metadata": {
941
941
  "generatedBy": "Agentic QE Fleet",
942
- "fleetVersion": "3.11.5",
942
+ "fleetVersion": "3.12.1",
943
943
  "manifestVersion": "1.4.0",
944
944
  "lastUpdated": "2026-04-13T00:00:00.000Z",
945
945
  "contributors": [
package/CHANGELOG.md CHANGED
@@ -5,6 +5,93 @@ 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.12.1] - 2026-07-12
9
+
10
+ Makes `aqe init` non-destructive to configuration users already have in their
11
+ project. Previously, running `aqe init` (e.g. after `ruflo init`) could overwrite
12
+ a project's `.claude/settings.json` — clobbering a custom status line, an explicit
13
+ `includeCoAuthoredBy` choice, user-tuned `AQE_*` environment variables, and even
14
+ another tool's hooks. Init now merges rather than overwrites, preserves the user's
15
+ values, and takes a one-time backup of the original file — the same treatment
16
+ `CLAUDE.md` already received.
17
+
18
+ ### Fixed
19
+
20
+ - **`aqe init` no longer strips ruflo / Claude Flow hooks.** The AQE hook-detection
21
+ patterns were too broad (matching anything under `.claude/helpers/` or any
22
+ `ruflo` command), so re-running init in a project that had already run
23
+ `ruflo init` deleted the user's hooks. Detection is now scoped to AQE's own
24
+ hook markers, so other tools' hooks are preserved.
25
+ - **`aqe init` preserves a user's custom `statusLine`.** Init only writes its own
26
+ status line when none exists or the existing one is AQE's — a user's (or another
27
+ tool's) custom status line is kept.
28
+ - **`aqe init` respects an explicit `includeCoAuthoredBy` setting.** Init only sets
29
+ the default when the user has not chosen a value.
30
+ - **`aqe init` preserves user overrides of `AQE_*` environment variables.** Re-init
31
+ fills in only the missing keys; values the user changed (e.g.
32
+ `AQE_LEARNING_ENABLED=false`) are kept.
33
+ - **`v3Configuration` / `v3Learning` sections are deep-merged**, so user-added keys
34
+ in those sections survive re-init instead of being replaced wholesale.
35
+
36
+ ### Added
37
+
38
+ - **`.claude/settings.json.backup`** — `aqe init` now writes a one-time backup of
39
+ the pristine original `settings.json` before modifying it (mirroring the
40
+ existing `CLAUDE.md.backup` behavior). The backup is never overwritten on
41
+ subsequent re-inits, so the original is always recoverable.
42
+
43
+ ## [3.12.0] - 2026-07-10
44
+
45
+ Adds a **learning-integrity layer** so the self-learning system can only promote
46
+ what it can prove. Test-quality is now measured against a frozen, hash-pinned
47
+ oracle benchmark; promotions are gated by the *quality of their evidence*
48
+ (real test execution beats an LLM judge beats a structural heuristic), recorded
49
+ as cryptographically-signed, replayable receipts, and re-checked against the
50
+ exact frozen rule before they take effect. A new two-gate quality command
51
+ (mechanical checks + an independent frontier-model judge) is exposed on both the
52
+ CLI and MCP. Ships with a designed-experiment tool that measures — with real
53
+ statistics — whether a given harness feature actually improves test quality or
54
+ just adds cost. See ADRs
55
+ [117](docs/implementation/adrs/ADR-117-frozen-oracle-anchor-set.md)–[122](docs/implementation/adrs/ADR-122-designed-experiment-harness-gate.md)
56
+ and [v3.12.0 release notes](docs/releases/v3.12.0.md).
57
+
58
+ ### Added
59
+
60
+ - **`aqe quality-gate` CLI command and `qe/quality/gate` MCP tool** — a two-gate
61
+ quality verdict: a mechanical gate (the code must actually run and kill
62
+ mutations) plus an independent frontier-model judge that checks the test
63
+ against the spec. Returns a three-valued verdict (pass / fail / inconclusive)
64
+ and degrades honestly to "inconclusive" when the judge is unavailable rather
65
+ than guessing.
66
+ - **Frozen oracle anchor set** — a hash-pinned benchmark of graded test items
67
+ with a constant denominator, so a drop in the learning system's test-quality
68
+ is detectable as a real regression instead of being hidden by a moving target.
69
+ - **Provenance-tiered promotion** — every learning promotion now carries an
70
+ evidence tier (test-execution > LLM-judge > structural heuristic), and a
71
+ policy can require a minimum tier before anything is promoted.
72
+ - **Receipt-gated policy flywheel** — retrieval-policy improvements are recorded
73
+ as Ed25519-signed, replayable receipts with a compounding lineage, so every
74
+ promotion is auditable, re-verifiable offline, and reversible.
75
+ - **Gate re-execution on promotion paths** — before a promotion takes effect the
76
+ frozen accept-rule is re-run on the sealed inputs, catching any promotion that
77
+ was logged but that the rule would actually reject.
78
+ - **Designed-experiment harness tool** (`scripts/doe-run.ts` +
79
+ `scripts/doe-aggregate.mjs`) — runs a factorial screen (model × prompt ×
80
+ retrieval × scaffold) with replicates and a real main-effects ANOVA, so you
81
+ can tell whether a harness feature helps reliability or is just cost. First
82
+ screen found that heavy scaffolding *lowers* reliability and that retrieval
83
+ adds no measurable quality on already-known tasks.
84
+
85
+ ### Fixed
86
+
87
+ - **Brain-export hook no longer leaks** deadlocked background exports that could
88
+ respawn, and database backups are hardened for virtiofs bind-mounts (a
89
+ VACUUM-INTO backup path that avoids the WAL-corruption failure mode).
90
+ - **`AQE_DISABLE_WAL` / `AQE_JOURNAL_MODE` env override** for SQLite journal mode,
91
+ so environments prone to bind-mount WAL corruption can opt into a safer mode.
92
+ - **Pattern-lifecycle promotion** now records and gates on provenance tier
93
+ (additive column migration, conservative backfill).
94
+
8
95
  ## [3.11.5] - 2026-07-07
9
96
 
10
97
  A system-integrity sweep of the self-learning loop: dream-cycle insights now
@@ -939,7 +939,7 @@
939
939
  },
940
940
  "metadata": {
941
941
  "generatedBy": "Agentic QE Fleet",
942
- "fleetVersion": "3.11.5",
942
+ "fleetVersion": "3.12.1",
943
943
  "manifestVersion": "1.4.0",
944
944
  "lastUpdated": "2026-04-13T00:00:00.000Z",
945
945
  "contributors": [
@@ -421,41 +421,72 @@ export function createOAuthRoutes(config) {
421
421
  * @returns True if URI is allowed
422
422
  */
423
423
  export function validateRedirectUri(uri, allowedUris) {
424
+ let target;
424
425
  try {
425
- const parsed = new URL(uri);
426
- for (const allowed of allowedUris) {
427
- // Exact match
428
- if (allowed === uri) {
429
- return true;
430
- }
431
- // Wildcard match (e.g., "https://*.example.com/callback")
432
- if (allowed.includes('*')) {
433
- const pattern = allowed
434
- .replace(/[.+?^${}()|[\]\\]/g, '\\$&')
435
- .replace(/\*/g, '.*');
436
- const regex = new RegExp(`^${pattern}$`);
437
- if (regex.test(uri)) {
438
- return true;
439
- }
440
- }
441
- // Same origin match
426
+ target = new URL(uri);
427
+ }
428
+ catch {
429
+ return false;
430
+ }
431
+ for (const allowed of allowedUris) {
432
+ // Exact match
433
+ if (allowed === uri) {
434
+ return true;
435
+ }
436
+ // Wildcard match (e.g., "https://*.example.com/callback"). Compared
437
+ // STRUCTURALLY on parsed URL components — NEVER by building a RegExp from a
438
+ // URL string. A regex approach (`.replace(/\*/g, '.*')`) let an attacker
439
+ // spoof the host via the PATH, e.g. "https://evil.com/x.example.com/cb"
440
+ // satisfied "^https://.*\.example\.com/cb$" (open redirect; also the CodeQL
441
+ // js/incomplete-hostname-regexp finding). Here only the single leftmost
442
+ // subdomain label may be wildcarded, and it must be a non-empty, dot-free
443
+ // label — so the host cannot be spoofed via extra dots or path segments.
444
+ if (allowed.includes('*')) {
445
+ const MARKER = 'wildcardlabelplaceholder';
446
+ let pattern;
442
447
  try {
443
- const allowedParsed = new URL(allowed);
444
- if (parsed.protocol === allowedParsed.protocol &&
445
- parsed.host === allowedParsed.host &&
446
- parsed.pathname.startsWith(allowedParsed.pathname)) {
447
- return true;
448
- }
448
+ // Replace EVERY '*' (global) — a first-occurrence-only replace would leave
449
+ // later '*' chars in the string. Any multi-wildcard pattern still gets
450
+ // rejected below because its suffix would then contain MARKER, which no
451
+ // real host can end with.
452
+ pattern = new URL(allowed.replace(/\*/g, MARKER));
449
453
  }
450
454
  catch {
451
- // Invalid allowed URI, skip
455
+ continue; // malformed wildcard entry skip
452
456
  }
457
+ if (pattern.protocol !== target.protocol)
458
+ continue;
459
+ if (pattern.port !== target.port)
460
+ continue;
461
+ // The wildcard must be the leftmost host label: "<MARKER>.<suffix>".
462
+ if (!pattern.hostname.startsWith(`${MARKER}.`))
463
+ continue;
464
+ const suffix = pattern.hostname.slice(MARKER.length); // ".example.com"
465
+ if (!target.hostname.endsWith(suffix))
466
+ continue;
467
+ const label = target.hostname.slice(0, target.hostname.length - suffix.length);
468
+ if (label.length === 0 || label.includes('.'))
469
+ continue; // exactly one label
470
+ // Path matches exactly or as a prefix (same semantics as the same-origin case).
471
+ if (target.pathname === pattern.pathname || target.pathname.startsWith(pattern.pathname)) {
472
+ return true;
473
+ }
474
+ continue;
475
+ }
476
+ // Same origin match (exact protocol + host, path-prefix)
477
+ try {
478
+ const allowedParsed = new URL(allowed);
479
+ if (target.protocol === allowedParsed.protocol &&
480
+ target.host === allowedParsed.host &&
481
+ target.pathname.startsWith(allowedParsed.pathname)) {
482
+ return true;
483
+ }
484
+ }
485
+ catch {
486
+ // Invalid allowed URI, skip
453
487
  }
454
- return false;
455
- }
456
- catch {
457
- return false;
458
488
  }
489
+ return false;
459
490
  }
460
491
  /**
461
492
  * Generate PKCE code challenge from verifier
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.11.5");process.exit(0)}
3
- import{a as y}from"./chunks/chunk-5WMU7XCF.js";import{a as f,c as P}from"./chunks/chunk-RKXZLTWR.js";import"./chunks/chunk-C4EZNOWK.js";P();import{Command as S}from"commander";import m from"chalk";function h(e,i,a,s){let l=e.command(i).description(a);if(s)for(let u of s)l.alias(u);return l.helpOption(!1),l.allowUnknownOption(!0),l.allowExcessArguments(!0),l}function w(e,i){let a=e.commands,s=a.indexOf(i);s>=0&&a.splice(s,1)}function o(e,i){let a=h(e,i.name,i.description,i.aliases);a.action(async()=>{try{let s=await i.factory();w(e,a),e.addCommand(s),await e.parseAsync(process.argv)}catch(s){console.error(`Failed to load command '${i.name}':`,s instanceof Error?s.message:s),process.exit(1)}})}function d(e,i,a,s,l,u){let g=h(e,i,a,u);g.action(async()=>{try{let p=await s();w(e,g),p.register(e,l),await e.parseAsync(process.argv)}catch(p){console.error(`Failed to load command '${i}':`,p instanceof Error?p.message:p),process.exit(1)}})}var I=["[UnifiedMemory]","[HybridBackend]","[UnifiedPersistence]","[PersistentSONAEngine]","[QueenGovernance]","[QueenCoordinator]","[Queen]","[QUEEN]","[DomainBreakerRegistry]","[RealEmbeddings]","[HNSWIndex]","[PatternStore]","[TestGenerationCoordinator]","[CodeIntelligence]","[ProductFactorsBridge]","[LearningOptimizationCoordinator]","[DreamEngine]","[DreamScheduler]","[SecurityCompliance]","[Providers]","[GNN]","[test-generation]","[test-execution]","[coverage-analysis]","[quality-assessment]","[defect-intelligence]","[requirements-validation]","[code-intelligence]","[security-compliance]","[contract-testing]","[visual-accessibility]","[chaos-resilience]","[learning-optimization]","[enterprise-integration]","[coordination]","[PatternLearnerService]","[RequirementsValidation]","[ParserRegistry]","[AdversarialDefense]","[ContinueGateIntegration]","[ContinueGate]","[SQLitePatternStore]","[TokenTracking]","[InfraHealing]","[ExperienceCapture]"],b=/^\[\d{2}:\d{2}:\d{2}\.\d{3}\]\s+\[/,D=console.log.bind(console);console.log=(...e)=>{let a=(typeof e[0]=="string"?e[0]:"").trimStart();if(I.some(s=>a.startsWith(s))||b.test(a)){process.stderr.write(e.map(String).join(" ")+`
2
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.12.1");process.exit(0)}
3
+ import{a as y}from"./chunks/chunk-4LKQZW2H.js";import{a as f,c as P}from"./chunks/chunk-UBPJQKYS.js";import"./chunks/chunk-U5ITD7ZD.js";P();import{Command as S}from"commander";import m from"chalk";function h(e,i,a,s){let l=e.command(i).description(a);if(s)for(let u of s)l.alias(u);return l.helpOption(!1),l.allowUnknownOption(!0),l.allowExcessArguments(!0),l}function w(e,i){let a=e.commands,s=a.indexOf(i);s>=0&&a.splice(s,1)}function o(e,i){let a=h(e,i.name,i.description,i.aliases);a.action(async()=>{try{let s=await i.factory();w(e,a),e.addCommand(s),await e.parseAsync(process.argv)}catch(s){console.error(`Failed to load command '${i.name}':`,s instanceof Error?s.message:s),process.exit(1)}})}function d(e,i,a,s,l,u){let g=h(e,i,a,u);g.action(async()=>{try{let p=await s();w(e,g),p.register(e,l),await e.parseAsync(process.argv)}catch(p){console.error(`Failed to load command '${i}':`,p instanceof Error?p.message:p),process.exit(1)}})}var I=["[UnifiedMemory]","[HybridBackend]","[UnifiedPersistence]","[PersistentSONAEngine]","[QueenGovernance]","[QueenCoordinator]","[Queen]","[QUEEN]","[DomainBreakerRegistry]","[RealEmbeddings]","[HNSWIndex]","[PatternStore]","[TestGenerationCoordinator]","[CodeIntelligence]","[ProductFactorsBridge]","[LearningOptimizationCoordinator]","[DreamEngine]","[DreamScheduler]","[SecurityCompliance]","[Providers]","[GNN]","[test-generation]","[test-execution]","[coverage-analysis]","[quality-assessment]","[defect-intelligence]","[requirements-validation]","[code-intelligence]","[security-compliance]","[contract-testing]","[visual-accessibility]","[chaos-resilience]","[learning-optimization]","[enterprise-integration]","[coordination]","[PatternLearnerService]","[RequirementsValidation]","[ParserRegistry]","[AdversarialDefense]","[ContinueGateIntegration]","[ContinueGate]","[SQLitePatternStore]","[TokenTracking]","[InfraHealing]","[ExperienceCapture]"],b=/^\[\d{2}:\d{2}:\d{2}\.\d{3}\]\s+\[/,D=console.log.bind(console);console.log=(...e)=>{let a=(typeof e[0]=="string"?e[0]:"").trimStart();if(I.some(s=>a.startsWith(s))||b.test(a)){process.stderr.write(e.map(String).join(" ")+`
4
4
  `);return}D(...e)};console.info=(...e)=>{process.stderr.write(e.map(String).join(" ")+`
5
- `)};var t={kernel:null,queen:null,router:null,workflowOrchestrator:null,scheduledWorkflows:new Map,persistentScheduler:null,initialized:!1};function C(e,i){let a=e.getDomainAPI("visual-accessibility");if(a?.registerWorkflowActions)try{a.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register visual-accessibility workflow actions: ${f(l)}`))}let s=e.getDomainAPI("requirements-validation");if(s?.registerWorkflowActions)try{s.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register requirements-validation workflow actions: ${f(l)}`))}}async function x(){let{QEKernelImpl:e}=await import("./chunks/kernel-SQALRU6Q.js"),{CrossDomainEventRouter:i}=await import("./chunks/cross-domain-router-LT3H4SNJ.js"),{DefaultProtocolExecutor:a}=await import("./chunks/protocol-executor-GT2MZYUU.js"),{WorkflowOrchestrator:s}=await import("./chunks/workflow-orchestrator-RKMMPXNA.js"),{createQueenCoordinator:l}=await import("./chunks/queen-coordinator-6RBHWCUG.js"),{createPersistentScheduler:u}=await import("./chunks/scheduler-QE5EJ5LE.js");t.kernel=new e({maxConcurrentAgents:15,memoryBackend:"sqlite",hnswEnabled:!0,lazyLoading:!0,enabledDomains:[...y],enableExperienceBridge:!1}),await t.kernel.initialize(),t.router=new i(t.kernel.eventBus),await t.router.initialize();let g=A=>t.kernel.getDomainAPI(A),p=new a(t.kernel.eventBus,t.kernel.memory,g);t.workflowOrchestrator=new s(t.kernel.eventBus,t.kernel.memory,t.kernel.coordinator),await t.workflowOrchestrator.initialize(),C(t.kernel,t.workflowOrchestrator),t.persistentScheduler=u(),t.queen=l(t.kernel,t.router,p,void 0),await t.queen.initialize();let{adoptExternalFleet:E}=await import("./chunks/core-handlers-EEFLLMAZ.js");E({kernel:t.kernel,queen:t.queen,router:t.router,workflowOrchestrator:t.workflowOrchestrator}),t.initialized=!0}async function k(){if(t.initialized&&t.kernel&&t.queen)return!0;let e=await import("fs"),a=(await import("path")).resolve(".agentic-qe");return e.existsSync(a)?c():(console.error(m.red(`
5
+ `)};var t={kernel:null,queen:null,router:null,workflowOrchestrator:null,scheduledWorkflows:new Map,persistentScheduler:null,initialized:!1};function C(e,i){let a=e.getDomainAPI("visual-accessibility");if(a?.registerWorkflowActions)try{a.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register visual-accessibility workflow actions: ${f(l)}`))}let s=e.getDomainAPI("requirements-validation");if(s?.registerWorkflowActions)try{s.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register requirements-validation workflow actions: ${f(l)}`))}}async function R(){let{QEKernelImpl:e}=await import("./chunks/kernel-HPAONLZY.js"),{CrossDomainEventRouter:i}=await import("./chunks/cross-domain-router-27QGWU27.js"),{DefaultProtocolExecutor:a}=await import("./chunks/protocol-executor-HNT67NN5.js"),{WorkflowOrchestrator:s}=await import("./chunks/workflow-orchestrator-6JAYTZ7L.js"),{createQueenCoordinator:l}=await import("./chunks/queen-coordinator-P5LU5NWI.js"),{createPersistentScheduler:u}=await import("./chunks/scheduler-CX3UHI4U.js");t.kernel=new e({maxConcurrentAgents:15,memoryBackend:"sqlite",hnswEnabled:!0,lazyLoading:!0,enabledDomains:[...y],enableExperienceBridge:!1}),await t.kernel.initialize(),t.router=new i(t.kernel.eventBus),await t.router.initialize();let g=A=>t.kernel.getDomainAPI(A),p=new a(t.kernel.eventBus,t.kernel.memory,g);t.workflowOrchestrator=new s(t.kernel.eventBus,t.kernel.memory,t.kernel.coordinator),await t.workflowOrchestrator.initialize(),C(t.kernel,t.workflowOrchestrator),t.persistentScheduler=u(),t.queen=l(t.kernel,t.router,p,void 0),await t.queen.initialize();let{adoptExternalFleet:E}=await import("./chunks/core-handlers-KRSSJEO5.js");E({kernel:t.kernel,queen:t.queen,router:t.router,workflowOrchestrator:t.workflowOrchestrator}),t.initialized=!0}async function k(){if(t.initialized&&t.kernel&&t.queen)return!0;let e=await import("fs"),a=(await import("path")).resolve(".agentic-qe");return e.existsSync(a)?c():(console.error(m.red(`
6
6
  Error: AQE system not initialized in this directory.`)),console.log(m.yellow("Run `aqe init` first to set up this project.\n")),!1)}async function c(){if(t.initialized&&t.kernel&&t.queen)return!0;process.stderr.write(m.gray("Auto-initializing v3 system...")+`
7
- `);let e=3e4,i=new Promise((a,s)=>{setTimeout(()=>s(new Error("Initialization timeout after 30 seconds")),e)});try{return await Promise.race([x(),i]),process.stderr.write(m.green("System ready")+`
7
+ `);let e=3e4,i=new Promise((a,s)=>{setTimeout(()=>s(new Error("Initialization timeout after 30 seconds")),e)});try{return await Promise.race([R(),i]),process.stderr.write(m.green("System ready")+`
8
8
 
9
- `),!0}catch(a){return a.message.includes("timeout")?(console.error(m.red("Initialization timed out after 30 seconds.")),console.log(m.yellow("Try running `aqe init` manually."))):(console.error(m.red("Failed to auto-initialize:"),a),console.log(m.yellow("Try running `aqe init` manually."))),!1}}async function r(e=0){try{t.workflowOrchestrator&&t.workflowOrchestrator.dispose().catch(()=>{}),t.queen&&t.queen.dispose().catch(()=>{}),t.router&&t.router.dispose().catch(()=>{}),t.kernel&&t.kernel.dispose().catch(()=>{})}catch{}process.exit(e)}var n=new S,v="3.11.5";n.name("aqe").description("Agentic QE - Domain-Driven Quality Engineering").version(v);d(n,"init","Initialize the AQE v3 system",()=>import("./chunks/init-handler-N3Z72JNI.js").then(e=>e.createInitHandler(r)),t);d(n,"status","Show system status",()=>import("./chunks/status-handler-OX4CJZME.js").then(e=>e.createStatusHandler(r,k)),t);d(n,"health","Check system health",()=>import("./chunks/status-handler-OX4CJZME.js").then(e=>e.createHealthHandler(r,k)),t);d(n,"task","Manage QE tasks",()=>import("./chunks/task-handler-VPGAJVPC.js").then(e=>e.createTaskHandler(r,c)),t);d(n,"agent","Manage QE agents",()=>import("./chunks/agent-handler-M4W4GTXN.js").then(e=>e.createAgentHandler(r,c)),t);d(n,"domain","Domain operations",()=>import("./chunks/domain-handler-J7DQV74M.js").then(e=>e.createDomainHandler(r,c)),t);d(n,"protocol","Execute coordination protocols",()=>import("./chunks/protocol-handler-T3LZ3WRG.js").then(e=>e.createProtocolHandler(r,c)),t);d(n,"brain","Export, import, and inspect QE brain state",()=>import("./chunks/brain-handler-M6A3UB66.js").then(e=>e.createBrainHandler(r,c)),t);d(n,"hypergraph","Query the code knowledge hypergraph",()=>import("./chunks/hypergraph-handler-GTGA3TXJ.js").then(e=>e.createHypergraphHandler(r,c)),t,["hg"]);d(n,"heartbeat","Manage the token-free heartbeat scheduler",()=>import("./chunks/heartbeat-handler-7BQDK7MG.js").then(e=>e.createHeartbeatHandler(r)),t);d(n,"routing","View routing performance, economics, and accuracy",()=>import("./chunks/routing-handler-CU6657SZ.js").then(e=>e.createRoutingHandler(r)),t);o(n,{name:"workflow",description:"Manage QE workflows and pipelines (ADR-041)",factory:()=>import("./chunks/workflow-43EMD5FY.js").then(e=>e.createWorkflowCommand(t,r,c))});o(n,{name:"test",description:"Test generation, execution, scheduling, and load testing",factory:()=>import("./chunks/test-OMRJOZB6.js").then(e=>e.createTestCommand(t,r,c))});o(n,{name:"coverage",description:"Coverage analysis shortcut",factory:()=>import("./chunks/coverage-HVNHSMVJ.js").then(e=>e.createCoverageCommand(t,r,c))});o(n,{name:"quality",description:"Quality assessment shortcut",factory:()=>import("./chunks/quality-AXD4NLQA.js").then(e=>e.createQualityCommand(t,r,c))});o(n,{name:"security",description:"Security scanning and URL validation",factory:()=>import("./chunks/security-UM3IGDSM.js").then(e=>e.createSecurityCommand(t,r,c))});o(n,{name:"arena",description:"Competitive test-strategy tournaments (ADR-104)",factory:()=>import("./chunks/arena-FKSD3LLM.js").then(e=>e.createArenaCommand(t,r,c))});o(n,{name:"code",description:"Code intelligence analysis",factory:()=>import("./chunks/code-QIZQVB3E.js").then(e=>e.createCodeCommand(t,r,c))});o(n,{name:"completions",description:"Generate shell completions for aqe",factory:()=>import("./chunks/completions-Y36S3C5J.js").then(e=>e.createCompletionsCommand(r))});o(n,{name:"upgrade",description:"Detect optional native bindings and recommend install / flag changes",factory:()=>import("./chunks/upgrade-QPLMJA5Z.js").then(e=>e.createUpgradeCommand(r))});o(n,{name:"fleet",description:"Fleet operations with multi-agent progress tracking",factory:()=>import("./chunks/fleet-7KZQOTAC.js").then(e=>e.createFleetCommand(t,r,c,C))});o(n,{name:"validate",description:"Validation commands for skills and agents",factory:()=>import("./chunks/validate-swarm-XCRTLVM6.js").then(e=>e.createValidateSwarmCommand(t,r,c))});o(n,{name:"skill",description:"Skill validation and reporting (ADR-056)",factory:()=>import("./chunks/validate-3GVKZOVF.js").then(e=>e.createValidateCommand(t,r,c))});o(n,{name:"eval",description:"Run skill evaluation suites in parallel",factory:()=>import("./chunks/eval-A4PA5G2U.js").then(e=>e.createEvalCommand())});o(n,{name:"ci",description:"CI/CD pipeline orchestration",factory:()=>import("./chunks/ci-CBNVLOOQ.js").then(e=>e.createCICommand(t,r,c))});o(n,{name:"token-usage",description:"View and analyze token consumption metrics (ADR-042)",factory:()=>import("./chunks/token-usage-IYO7RGFF.js").then(e=>e.createTokenUsageCommand())});o(n,{name:"llm",description:"LLM Router management (ADR-043)",factory:()=>import("./chunks/llm-router-CMHGGX6N.js").then(e=>e.createLLMRouterCommand())});o(n,{name:"sync",description:"Sync local learning data to cloud PostgreSQL",factory:()=>import("./chunks/sync-2TED3YTY.js").then(e=>e.createSyncCommands())});o(n,{name:"hooks",description:"Self-learning QE hooks for pattern recognition and guidance",factory:()=>import("./chunks/hooks-CYZIUYSH.js").then(e=>e.createHooksCommand())});o(n,{name:"learning",description:"AQE self-learning system management (standalone, no claude-flow required)",factory:()=>import("./chunks/learning-UQY64COU.js").then(e=>e.createLearningCommand())});o(n,{name:"memory",description:"Memory store, retrieve, search, and delete operations",factory:()=>import("./chunks/memory-7Q3XDUE5.js").then(e=>e.createMemoryCommand(t,r,c))});o(n,{name:"mcp",description:"Start the MCP protocol server for Claude Code integration",factory:()=>import("./chunks/mcp-UM5VTW6N.js").then(e=>e.createMcpCommand())});o(n,{name:"platform",description:"Manage coding agent platform configurations",factory:()=>import("./chunks/platform-4N4Q5XYX.js").then(e=>e.createPlatformCommand())});o(n,{name:"prove",description:"Generate a verifiable Proof-of-Quality attestation",factory:()=>import("./chunks/prove-OV7S5J4W.js").then(e=>e.createProveCommand(t,r,c))});o(n,{name:"ruvector",description:"RuVector integration management",factory:()=>import("./chunks/ruvector-commands-IIF6VSFW.js").then(e=>e.createRuVectorCommand())});o(n,{name:"audit",description:"Witness chain audit trail management",factory:()=>import("./chunks/audit-7NSGRR4Z.js").then(e=>e.createAuditCommand(t,r,c))});o(n,{name:"pipeline",description:"Manage YAML deterministic pipelines (Imp-9)",factory:()=>import("./chunks/pipeline-2VDLTR5J.js").then(e=>e.createPipelineCommand(t,r,c))});o(n,{name:"plugin",description:"Manage external QE domain plugins",factory:()=>import("./chunks/plugin-GY5AU5CS.js").then(e=>e.createPluginCommand())});o(n,{name:"daemon",description:"Manage the QE Quality Daemon",factory:()=>import("./chunks/daemon-Y54O3FLT.js").then(e=>e.createDaemonCommand())});process.on("SIGINT",async()=>{console.log(m.yellow(`
9
+ `),!0}catch(a){return a.message.includes("timeout")?(console.error(m.red("Initialization timed out after 30 seconds.")),console.log(m.yellow("Try running `aqe init` manually."))):(console.error(m.red("Failed to auto-initialize:"),a),console.log(m.yellow("Try running `aqe init` manually."))),!1}}async function r(e=0){try{t.workflowOrchestrator&&t.workflowOrchestrator.dispose().catch(()=>{}),t.queen&&t.queen.dispose().catch(()=>{}),t.router&&t.router.dispose().catch(()=>{}),t.kernel&&t.kernel.dispose().catch(()=>{})}catch{}process.exit(e)}var n=new S,v="3.12.1";n.name("aqe").description("Agentic QE - Domain-Driven Quality Engineering").version(v);d(n,"init","Initialize the AQE v3 system",()=>import("./chunks/init-handler-YTKKNTVV.js").then(e=>e.createInitHandler(r)),t);d(n,"status","Show system status",()=>import("./chunks/status-handler-M5W64S5U.js").then(e=>e.createStatusHandler(r,k)),t);d(n,"health","Check system health",()=>import("./chunks/status-handler-M5W64S5U.js").then(e=>e.createHealthHandler(r,k)),t);d(n,"task","Manage QE tasks",()=>import("./chunks/task-handler-T6ZKXV4S.js").then(e=>e.createTaskHandler(r,c)),t);d(n,"agent","Manage QE agents",()=>import("./chunks/agent-handler-PBQ7L2TO.js").then(e=>e.createAgentHandler(r,c)),t);d(n,"domain","Domain operations",()=>import("./chunks/domain-handler-HLVIJU25.js").then(e=>e.createDomainHandler(r,c)),t);d(n,"protocol","Execute coordination protocols",()=>import("./chunks/protocol-handler-JTXRF7GU.js").then(e=>e.createProtocolHandler(r,c)),t);d(n,"brain","Export, import, and inspect QE brain state",()=>import("./chunks/brain-handler-JF3OK35F.js").then(e=>e.createBrainHandler(r,c)),t);d(n,"hypergraph","Query the code knowledge hypergraph",()=>import("./chunks/hypergraph-handler-LUM4YI4K.js").then(e=>e.createHypergraphHandler(r,c)),t,["hg"]);d(n,"heartbeat","Manage the token-free heartbeat scheduler",()=>import("./chunks/heartbeat-handler-TIQFBT4D.js").then(e=>e.createHeartbeatHandler(r)),t);d(n,"routing","View routing performance, economics, and accuracy",()=>import("./chunks/routing-handler-SW442GK7.js").then(e=>e.createRoutingHandler(r)),t);o(n,{name:"workflow",description:"Manage QE workflows and pipelines (ADR-041)",factory:()=>import("./chunks/workflow-SZOOU6D3.js").then(e=>e.createWorkflowCommand(t,r,c))});o(n,{name:"test",description:"Test generation, execution, scheduling, and load testing",factory:()=>import("./chunks/test-VEK76SBT.js").then(e=>e.createTestCommand(t,r,c))});o(n,{name:"coverage",description:"Coverage analysis shortcut",factory:()=>import("./chunks/coverage-OB6HVQS4.js").then(e=>e.createCoverageCommand(t,r,c))});o(n,{name:"quality",description:"Quality assessment shortcut",factory:()=>import("./chunks/quality-F7UZU4RN.js").then(e=>e.createQualityCommand(t,r,c))});o(n,{name:"quality-gate",description:"Two-gate, three-valued quality verdict against a pinned checklist (ADR-119)",factory:()=>import("./chunks/quality-gate-R5L4UZIX.js").then(e=>e.createQualityGateCommand(t,r,c))});o(n,{name:"security",description:"Security scanning and URL validation",factory:()=>import("./chunks/security-IXDKBPSG.js").then(e=>e.createSecurityCommand(t,r,c))});o(n,{name:"arena",description:"Competitive test-strategy tournaments (ADR-104)",factory:()=>import("./chunks/arena-QYTP3FG6.js").then(e=>e.createArenaCommand(t,r,c))});o(n,{name:"code",description:"Code intelligence analysis",factory:()=>import("./chunks/code-YSPF4MXN.js").then(e=>e.createCodeCommand(t,r,c))});o(n,{name:"completions",description:"Generate shell completions for aqe",factory:()=>import("./chunks/completions-2KTWZ3AK.js").then(e=>e.createCompletionsCommand(r))});o(n,{name:"upgrade",description:"Detect optional native bindings and recommend install / flag changes",factory:()=>import("./chunks/upgrade-H5V53FRF.js").then(e=>e.createUpgradeCommand(r))});o(n,{name:"fleet",description:"Fleet operations with multi-agent progress tracking",factory:()=>import("./chunks/fleet-NH3XR5OY.js").then(e=>e.createFleetCommand(t,r,c,C))});o(n,{name:"validate",description:"Validation commands for skills and agents",factory:()=>import("./chunks/validate-swarm-WZKECK3W.js").then(e=>e.createValidateSwarmCommand(t,r,c))});o(n,{name:"skill",description:"Skill validation and reporting (ADR-056)",factory:()=>import("./chunks/validate-IL22VB5I.js").then(e=>e.createValidateCommand(t,r,c))});o(n,{name:"eval",description:"Run skill evaluation suites in parallel",factory:()=>import("./chunks/eval-73XW2WJD.js").then(e=>e.createEvalCommand())});o(n,{name:"ci",description:"CI/CD pipeline orchestration",factory:()=>import("./chunks/ci-IU5HVUL5.js").then(e=>e.createCICommand(t,r,c))});o(n,{name:"token-usage",description:"View and analyze token consumption metrics (ADR-042)",factory:()=>import("./chunks/token-usage-OBY6UEUR.js").then(e=>e.createTokenUsageCommand())});o(n,{name:"llm",description:"LLM Router management (ADR-043)",factory:()=>import("./chunks/llm-router-WQ4E3AOP.js").then(e=>e.createLLMRouterCommand())});o(n,{name:"sync",description:"Sync local learning data to cloud PostgreSQL",factory:()=>import("./chunks/sync-NUG67HGK.js").then(e=>e.createSyncCommands())});o(n,{name:"hooks",description:"Self-learning QE hooks for pattern recognition and guidance",factory:()=>import("./chunks/hooks-UR2ZF54G.js").then(e=>e.createHooksCommand())});o(n,{name:"learning",description:"AQE self-learning system management (standalone, no claude-flow required)",factory:()=>import("./chunks/learning-4AZ5PGTT.js").then(e=>e.createLearningCommand())});o(n,{name:"memory",description:"Memory store, retrieve, search, and delete operations",factory:()=>import("./chunks/memory-Q5HLIUC6.js").then(e=>e.createMemoryCommand(t,r,c))});o(n,{name:"mcp",description:"Start the MCP protocol server for Claude Code integration",factory:()=>import("./chunks/mcp-KLLHI6DG.js").then(e=>e.createMcpCommand())});o(n,{name:"platform",description:"Manage coding agent platform configurations",factory:()=>import("./chunks/platform-WJDIB4X3.js").then(e=>e.createPlatformCommand())});o(n,{name:"prove",description:"Generate a verifiable Proof-of-Quality attestation",factory:()=>import("./chunks/prove-BFPWWPOC.js").then(e=>e.createProveCommand(t,r,c))});o(n,{name:"ruvector",description:"RuVector integration management",factory:()=>import("./chunks/ruvector-commands-CLFGKXMW.js").then(e=>e.createRuVectorCommand())});o(n,{name:"audit",description:"Witness chain audit trail management",factory:()=>import("./chunks/audit-TB6M2YLK.js").then(e=>e.createAuditCommand(t,r,c))});o(n,{name:"pipeline",description:"Manage YAML deterministic pipelines (Imp-9)",factory:()=>import("./chunks/pipeline-LCUETNGD.js").then(e=>e.createPipelineCommand(t,r,c))});o(n,{name:"plugin",description:"Manage external QE domain plugins",factory:()=>import("./chunks/plugin-2X5NY2RF.js").then(e=>e.createPluginCommand())});o(n,{name:"daemon",description:"Manage the QE Quality Daemon",factory:()=>import("./chunks/daemon-4RAL5URG.js").then(e=>e.createDaemonCommand())});process.on("SIGINT",async()=>{console.log(m.yellow(`
10
10
 
11
11
  Shutting down...`)),console.log(m.green(`Shutdown complete
12
12
  `)),await r(0)});process.on("SIGTERM",async()=>{console.log(m.yellow(`
13
- Received SIGTERM, shutting down gracefully...`)),await r(0)});async function R(){let{isVersionFastPath:e}=await import("./chunks/fast-paths-QYDTITRV.js");e(process.argv)&&(console.log(v),process.exit(0));let{bootstrapTokenTracking:i}=await import("./chunks/token-bootstrap-DNWZI7SH.js");await i({enableOptimization:!0,enablePersistence:!0,verbose:process.env.AQE_VERBOSE==="true"}),await n.parseAsync(),await r(0)}R().catch(async e=>{console.error(m.red("Fatal error:"),e),await r(1)});
13
+ Received SIGTERM, shutting down gracefully...`)),await r(0)});async function x(){let{isVersionFastPath:e}=await import("./chunks/fast-paths-5XCY3Y6U.js");e(process.argv)&&(console.log(v),process.exit(0));let{bootstrapTokenTracking:i}=await import("./chunks/token-bootstrap-W5IAMJW4.js");await i({enableOptimization:!0,enablePersistence:!0,verbose:process.env.AQE_VERBOSE==="true"}),await n.parseAsync(),await r(0)}x().catch(async e=>{console.error(m.red("Fatal error:"),e),await r(1)});
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.12.1");process.exit(0)}
2
+ import{a,b,c}from"./chunk-QOAI6ETC.js";import"./chunk-C7HGYLNF.js";import"./chunk-RJ7TU2MP.js";import"./chunk-O65OPAZH.js";import"./chunk-UBPJQKYS.js";import"./chunk-U5ITD7ZD.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.11.5");process.exit(0)}
2
- import{a as x}from"./chunk-ZMPAM4DY.js";import{c as f}from"./chunk-Y25PO65W.js";import"./chunk-C4EZNOWK.js";x();import{createRequire as w}from"module";var S=f.create("agent-booster-wasm"),t={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},l={ExactReplace:0,FuzzyReplace:1,InsertAfter:2,InsertBefore:3,Append:4},v={0:"JavaScript",1:"TypeScript",2:"Python",3:"Rust",4:"Go",5:"Java",6:"C",7:"Cpp"},a=null,u=null,p=null;async function g(){if(a)return!0;if(p)return!1;try{if(a=w(import.meta.url)("./agent_booster_wasm.js"),!a)throw new Error("WASM module loaded but is null");return u=new a.AgentBoosterWasm,!0}catch(e){return p=e,console.warn("[AgentBoosterWASM] Failed to load WASM module:",e),!1}}function A(e){return{".js":t.JavaScript,".mjs":t.JavaScript,".cjs":t.JavaScript,".jsx":t.JavaScript,".ts":t.TypeScript,".tsx":t.TypeScript,".mts":t.TypeScript,".cts":t.TypeScript,".py":t.Python,".rs":t.Rust,".go":t.Go,".java":t.Java,".c":t.C,".h":t.C,".cpp":t.Cpp,".cc":t.Cpp,".cxx":t.Cpp,".hpp":t.Cpp}[e.toLowerCase()]??t.JavaScript}var M=[{name:"var-to-const",detect:(e,r)=>e.includes("var ")&&r.includes("const "),apply:(e,r)=>e.replace(/\bvar\s+/g,"const ")},{name:"var-to-let",detect:(e,r)=>e.includes("var ")&&r.includes("let "),apply:(e,r)=>e.replace(/\bvar\s+/g,"let ")},{name:"add-types-function",detect:(e,r)=>e.includes("function")&&!e.includes(":")&&r.includes(":"),apply:(e,r)=>r},{name:"async-wrapper",detect:(e,r)=>!e.includes("async")&&r.includes("async")&&r.includes("await"),apply:(e,r)=>r},{name:"try-catch-wrapper",detect:(e,r)=>!e.includes("try {")&&r.includes("try {"),apply:(e,r)=>r},{name:"null-check",detect:(e,r)=>!e.includes("if (!")&&!e.includes("if (!")&&(r.includes("if (!")||r.includes("?.")),apply:(e,r)=>r},{name:"test-assertion",detect:(e,r)=>e.includes("test(")&&!e.includes("expect(")&&r.includes("expect("),apply:(e,r)=>r}];function y(e,r){for(let n of M)if(n.detect(e,r))try{return{success:!0,code:n.apply(e,r),pattern:n.name}}catch(s){S.debug("Pattern transform failed, trying next",{pattern:n.name,error:s instanceof Error?s.message:String(s)});continue}return{success:!1,code:r}}async function b(e,r,n,s={}){let o=performance.now(),{confidenceThreshold:T=.5,allowFallback:d=!0}=s;if(!e.trim())return{success:!0,mergedCode:r,confidence:1,strategy:l.Append,syntaxValid:!0,source:"fallback",latencyMs:performance.now()-o};if(await g()&&u&&a)try{let c=a.WasmLanguage[v[n]],i=u.apply_edit(e,r,c);return{success:!0,mergedCode:i.merged_code,confidence:i.confidence,strategy:i.strategy,syntaxValid:i.syntax_valid,source:"wasm",latencyMs:performance.now()-o}}catch(c){let i=c;if(d){let m=y(e,r);if(m.success)return{success:!0,mergedCode:m.code,confidence:.7,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:i.message}}if(d){let c=y(e,r);return{success:c.success,mergedCode:c.code,confidence:c.success?.7:0,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:p?.message??"WASM not available"}}async function W(e,r={}){return Promise.all(e.map(({original:n,edit:s,language:o})=>b(n,s,o,r)))}async function C(){return g()}async function L(){return await g()&&a?a.AgentBoosterWasm.version():"unavailable"}async function R(){if(await g(),u&&a)try{u.apply_edit("function x() {}","function x() {}",a.WasmLanguage.JavaScript)}catch(e){console.debug("[AgentBoosterWASM] Warmup error:",e instanceof Error?e.message:e)}}var _={transform:b,batchTransform:W,isWasmAvailable:C,getVersion:L,warmup:R,Language:t,MergeStrategy:l,languageFromExtension:A};export{t as Language,l as MergeStrategy,W as batchTransform,_ as default,L as getVersion,C as isWasmAvailable,A as languageFromExtension,b as transform,R as warmup};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.12.1");process.exit(0)}
2
+ import{a as x}from"./chunk-FNMEVLSN.js";import{c as f}from"./chunk-NOCPO55P.js";import"./chunk-U5ITD7ZD.js";x();import{createRequire as w}from"module";var S=f.create("agent-booster-wasm"),t={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},l={ExactReplace:0,FuzzyReplace:1,InsertAfter:2,InsertBefore:3,Append:4},v={0:"JavaScript",1:"TypeScript",2:"Python",3:"Rust",4:"Go",5:"Java",6:"C",7:"Cpp"},a=null,u=null,p=null;async function g(){if(a)return!0;if(p)return!1;try{if(a=w(import.meta.url)("./agent_booster_wasm.js"),!a)throw new Error("WASM module loaded but is null");return u=new a.AgentBoosterWasm,!0}catch(e){return p=e,console.warn("[AgentBoosterWASM] Failed to load WASM module:",e),!1}}function A(e){return{".js":t.JavaScript,".mjs":t.JavaScript,".cjs":t.JavaScript,".jsx":t.JavaScript,".ts":t.TypeScript,".tsx":t.TypeScript,".mts":t.TypeScript,".cts":t.TypeScript,".py":t.Python,".rs":t.Rust,".go":t.Go,".java":t.Java,".c":t.C,".h":t.C,".cpp":t.Cpp,".cc":t.Cpp,".cxx":t.Cpp,".hpp":t.Cpp}[e.toLowerCase()]??t.JavaScript}var M=[{name:"var-to-const",detect:(e,r)=>e.includes("var ")&&r.includes("const "),apply:(e,r)=>e.replace(/\bvar\s+/g,"const ")},{name:"var-to-let",detect:(e,r)=>e.includes("var ")&&r.includes("let "),apply:(e,r)=>e.replace(/\bvar\s+/g,"let ")},{name:"add-types-function",detect:(e,r)=>e.includes("function")&&!e.includes(":")&&r.includes(":"),apply:(e,r)=>r},{name:"async-wrapper",detect:(e,r)=>!e.includes("async")&&r.includes("async")&&r.includes("await"),apply:(e,r)=>r},{name:"try-catch-wrapper",detect:(e,r)=>!e.includes("try {")&&r.includes("try {"),apply:(e,r)=>r},{name:"null-check",detect:(e,r)=>!e.includes("if (!")&&!e.includes("if (!")&&(r.includes("if (!")||r.includes("?.")),apply:(e,r)=>r},{name:"test-assertion",detect:(e,r)=>e.includes("test(")&&!e.includes("expect(")&&r.includes("expect("),apply:(e,r)=>r}];function y(e,r){for(let n of M)if(n.detect(e,r))try{return{success:!0,code:n.apply(e,r),pattern:n.name}}catch(s){S.debug("Pattern transform failed, trying next",{pattern:n.name,error:s instanceof Error?s.message:String(s)});continue}return{success:!1,code:r}}async function b(e,r,n,s={}){let o=performance.now(),{confidenceThreshold:T=.5,allowFallback:d=!0}=s;if(!e.trim())return{success:!0,mergedCode:r,confidence:1,strategy:l.Append,syntaxValid:!0,source:"fallback",latencyMs:performance.now()-o};if(await g()&&u&&a)try{let c=a.WasmLanguage[v[n]],i=u.apply_edit(e,r,c);return{success:!0,mergedCode:i.merged_code,confidence:i.confidence,strategy:i.strategy,syntaxValid:i.syntax_valid,source:"wasm",latencyMs:performance.now()-o}}catch(c){let i=c;if(d){let m=y(e,r);if(m.success)return{success:!0,mergedCode:m.code,confidence:.7,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:i.message}}if(d){let c=y(e,r);return{success:c.success,mergedCode:c.code,confidence:c.success?.7:0,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:p?.message??"WASM not available"}}async function W(e,r={}){return Promise.all(e.map(({original:n,edit:s,language:o})=>b(n,s,o,r)))}async function C(){return g()}async function L(){return await g()&&a?a.AgentBoosterWasm.version():"unavailable"}async function R(){if(await g(),u&&a)try{u.apply_edit("function x() {}","function x() {}",a.WasmLanguage.JavaScript)}catch(e){console.debug("[AgentBoosterWASM] Warmup error:",e instanceof Error?e.message:e)}}var _={transform:b,batchTransform:W,isWasmAvailable:C,getVersion:L,warmup:R,Language:t,MergeStrategy:l,languageFromExtension:A};export{t as Language,l as MergeStrategy,W as batchTransform,_ as default,L as getVersion,C as isWasmAvailable,A as languageFromExtension,b as transform,R as warmup};
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.11.5");process.exit(0)}
2
- import{b as p}from"./chunk-FGSIID5C.js";import{a as g}from"./chunk-HJWT4KME.js";import"./chunk-CKOF27L7.js";import"./chunk-C4EZNOWK.js";import s from"chalk";var l=class{name="agent";description="Manage QE agents";cleanupAndExit;ensureInitialized;constructor(n,t){this.cleanupAndExit=n,this.ensureInitialized=t}register(n,t){let a=n.command("agent").description(this.description);a.command("list").description("List all agents").option("-d, --domain <domain>","Filter by domain").option("-s, --status <status>","Filter by status").action(async e=>{await this.executeList(e,t)}),a.command("spawn <domain>").description("Spawn an agent in a domain").option("-t, --type <type>","Agent type","worker").option("-c, --capabilities <caps>","Comma-separated capabilities","general").option("--no-progress","Disable progress indicator").action(async(e,o)=>{await this.executeSpawn(e,o,t)})}async executeList(n,t){if(await this.ensureInitialized())try{let a=n.domain?t.queen.getAgentsByDomain(n.domain):t.queen.listAllAgents();if(n.status&&(a=a.filter(e=>e.status===n.status)),console.log(s.blue(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.12.1");process.exit(0)}
2
+ import{b as p}from"./chunk-UZXDYT6O.js";import{a as g}from"./chunk-45QNHMTP.js";import"./chunk-O65OPAZH.js";import"./chunk-U5ITD7ZD.js";import s from"chalk";var l=class{name="agent";description="Manage QE agents";cleanupAndExit;ensureInitialized;constructor(n,t){this.cleanupAndExit=n,this.ensureInitialized=t}register(n,t){let a=n.command("agent").description(this.description);a.command("list").description("List all agents").option("-d, --domain <domain>","Filter by domain").option("-s, --status <status>","Filter by status").action(async e=>{await this.executeList(e,t)}),a.command("spawn <domain>").description("Spawn an agent in a domain").option("-t, --type <type>","Agent type","worker").option("-c, --capabilities <caps>","Comma-separated capabilities","general").option("--no-progress","Disable progress indicator").action(async(e,o)=>{await this.executeSpawn(e,o,t)})}async executeList(n,t){if(await this.ensureInitialized())try{let a=n.domain?t.queen.getAgentsByDomain(n.domain):t.queen.listAllAgents();if(n.status&&(a=a.filter(e=>e.status===n.status)),console.log(s.blue(`
3
3
  Agents (${a.length})
4
4
  `)),a.length===0)console.log(s.gray(" No agents found"));else{let e=new Map;for(let i of a)e.has(i.domain)||e.set(i.domain,[]),e.get(i.domain).push(i);let o=Array.from(e.entries());for(let[i,m]of o){console.log(s.cyan(` ${i}:`));for(let r of m)console.log(` ${r.id}`),console.log(` Type: ${r.type}`),console.log(` Status: ${g(r.status)}`),r.startedAt&&console.log(s.gray(` Started: ${r.startedAt.toISOString()}`));console.log("")}}}catch(a){console.error(s.red(`
5
5
  Failed to list agents:`),a),await this.cleanupAndExit(1)}}async executeSpawn(n,t,a){if(await this.ensureInitialized())try{let e=t.capabilities.split(",");console.log(s.blue(`
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.11.5");process.exit(0)}
2
- import"./chunk-C4EZNOWK.js";import{existsSync as i,mkdirSync as d,unlinkSync as s,readdirSync as p,statSync as f}from"fs";import{join as o,basename as l}from"path";var v={branchDir:".agentic-qe/branches",defaultStrategy:"child-wins",orphanMaxAgeMs:36e5},g=class{config;parentAdapter;activeBranches=new Map;witnessChain=null;constructor(t,e){this.parentAdapter=t,this.config={...v,...e}}setWitnessChain(t){this.witnessChain=t}createBranch(t){if(this.activeBranches.has(t))throw new Error(`Branch already exists for agent ${t}`);i(this.config.branchDir)||d(this.config.branchDir,{recursive:!0});let e=o(this.config.branchDir,`${t}.rvf`),r=this.parentAdapter.path(),n=this.parentAdapter.derive(e),a={agentId:t,childPath:e,parentPath:r,childAdapter:n,createdAt:Date.now(),ingestLog:[]};return this.activeBranches.set(t,a),a}recordIngest(t,e){let r=this.activeBranches.get(t);if(r)for(let n of e)r.ingestLog.push({id:n.id,vector:n.vector})}async mergeBranch(t,e){let r=e??this.config.defaultStrategy,n=performance.now(),a=0;if(r==="child-wins"&&t.ingestLog.length>0)try{a=this.parentAdapter.ingest(t.ingestLog).accepted}catch(c){console.warn(`[AgentMemoryBranch] Merge replay failed for ${t.agentId}:`,c)}return this.witnessChain?.append("BRANCH_MERGE",{agentId:t.agentId,strategy:r,vectorsMerged:a,branchPath:t.childPath},`agent-${t.agentId}`),this.cleanupBranchFile(t),this.activeBranches.delete(t.agentId),{vectorsMerged:a,strategy:r,durationMs:performance.now()-n}}discardBranch(t){this.witnessChain?.append("BRANCH_DISCARD",{agentId:t.agentId,action:"discard",branchPath:t.childPath},`agent-${t.agentId}`),this.cleanupBranchFile(t),this.activeBranches.delete(t.agentId)}getBranch(t){return this.activeBranches.get(t)}getActiveBranches(){return Array.from(this.activeBranches.values())}listBranchFiles(){return i(this.config.branchDir)?p(this.config.branchDir).filter(e=>e.endsWith(".rvf")).map(e=>{let r=o(this.config.branchDir,e),n=f(r);return{agentId:l(e,".rvf"),path:r,sizeBytes:n.size,modifiedAt:n.mtime}}):[]}cleanupOrphans(t){let e=t??this.config.orphanMaxAgeMs,r=Date.now(),n=0;for(let a of this.listBranchFiles())if(r-a.modifiedAt.getTime()>e&&!this.activeBranches.has(a.agentId))try{s(a.path);let h=`${a.path}.idmap.json`;i(h)&&s(h),n++}catch{}return n}cleanupBranchFile(t){try{t.childAdapter.close()}catch{}try{i(t.childPath)&&s(t.childPath);let e=`${t.childPath}.idmap.json`;i(e)&&s(e)}catch{}}};export{g as AgentMemoryBranch};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.12.1");process.exit(0)}
2
+ import"./chunk-U5ITD7ZD.js";import{existsSync as i,mkdirSync as d,unlinkSync as s,readdirSync as p,statSync as f}from"fs";import{join as o,basename as l}from"path";var v={branchDir:".agentic-qe/branches",defaultStrategy:"child-wins",orphanMaxAgeMs:36e5},g=class{config;parentAdapter;activeBranches=new Map;witnessChain=null;constructor(t,e){this.parentAdapter=t,this.config={...v,...e}}setWitnessChain(t){this.witnessChain=t}createBranch(t){if(this.activeBranches.has(t))throw new Error(`Branch already exists for agent ${t}`);i(this.config.branchDir)||d(this.config.branchDir,{recursive:!0});let e=o(this.config.branchDir,`${t}.rvf`),r=this.parentAdapter.path(),n=this.parentAdapter.derive(e),a={agentId:t,childPath:e,parentPath:r,childAdapter:n,createdAt:Date.now(),ingestLog:[]};return this.activeBranches.set(t,a),a}recordIngest(t,e){let r=this.activeBranches.get(t);if(r)for(let n of e)r.ingestLog.push({id:n.id,vector:n.vector})}async mergeBranch(t,e){let r=e??this.config.defaultStrategy,n=performance.now(),a=0;if(r==="child-wins"&&t.ingestLog.length>0)try{a=this.parentAdapter.ingest(t.ingestLog).accepted}catch(c){console.warn(`[AgentMemoryBranch] Merge replay failed for ${t.agentId}:`,c)}return this.witnessChain?.append("BRANCH_MERGE",{agentId:t.agentId,strategy:r,vectorsMerged:a,branchPath:t.childPath},`agent-${t.agentId}`),this.cleanupBranchFile(t),this.activeBranches.delete(t.agentId),{vectorsMerged:a,strategy:r,durationMs:performance.now()-n}}discardBranch(t){this.witnessChain?.append("BRANCH_DISCARD",{agentId:t.agentId,action:"discard",branchPath:t.childPath},`agent-${t.agentId}`),this.cleanupBranchFile(t),this.activeBranches.delete(t.agentId)}getBranch(t){return this.activeBranches.get(t)}getActiveBranches(){return Array.from(this.activeBranches.values())}listBranchFiles(){return i(this.config.branchDir)?p(this.config.branchDir).filter(e=>e.endsWith(".rvf")).map(e=>{let r=o(this.config.branchDir,e),n=f(r);return{agentId:l(e,".rvf"),path:r,sizeBytes:n.size,modifiedAt:n.mtime}}):[]}cleanupOrphans(t){let e=t??this.config.orphanMaxAgeMs,r=Date.now(),n=0;for(let a of this.listBranchFiles())if(r-a.modifiedAt.getTime()>e&&!this.activeBranches.has(a.agentId))try{s(a.path);let h=`${a.path}.idmap.json`;i(h)&&s(h),n++}catch{}return n}cleanupBranchFile(t){try{t.childAdapter.close()}catch{}try{i(t.childPath)&&s(t.childPath);let e=`${t.childPath}.idmap.json`;i(e)&&s(e)}catch{}}};export{g as AgentMemoryBranch};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.12.1");process.exit(0)}
2
+ import{a,b,c,d,e,f}from"./chunk-OJORNYN3.js";import"./chunk-QJXUK54J.js";import"./chunk-PZZDAECU.js";import"./chunk-YGB3MT3R.js";import"./chunk-BPM7NEHS.js";import"./chunk-RIASOMB2.js";import"./chunk-42PYEEYQ.js";import"./chunk-3W2FZXFD.js";import"./chunk-JDZIBSMY.js";import"./chunk-CJTXZI37.js";import"./chunk-CYYT6YEV.js";import"./chunk-OXVAGR64.js";import"./chunk-QORWBION.js";import"./chunk-XS6BIOPQ.js";import"./chunk-EOBZJDJR.js";import"./chunk-XDRAU3W6.js";import"./chunk-PQ4NSXZM.js";import"./chunk-FNMEVLSN.js";import"./chunk-NOCPO55P.js";import"./chunk-IE6FDICX.js";import"./chunk-O65OPAZH.js";import"./chunk-M5P5WNXA.js";import"./chunk-NHRBKOYD.js";import"./chunk-QXZOUETY.js";import"./chunk-BLU7OLQZ.js";import"./chunk-4LKQZW2H.js";import"./chunk-UBPJQKYS.js";import"./chunk-75AVUS5U.js";import"./chunk-TMPRR3FZ.js";import"./chunk-R4A6PY5D.js";import"./chunk-JRNDFC23.js";import"./chunk-6BCVKCG5.js";import"./chunk-UR655D4K.js";import"./chunk-PZ3Q34OT.js";import"./chunk-CXUHD2O5.js";import"./chunk-IC6SOVGO.js";import"./chunk-USTUWUCE.js";import"./chunk-U5ITD7ZD.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};