agentic-qe 3.15.8 → 3.15.10

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 (642) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +434 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/adapters/a2ui/catalog/component-schemas.js +2 -1
  5. package/dist/adapters/a2ui/data/json-pointer-resolver.js +10 -5
  6. package/dist/adapters/a2ui/integration/agui-sync.js +10 -6
  7. package/dist/adapters/a2ui/integration/surface-state-bridge.js +9 -5
  8. package/dist/adapters/ag-ui/json-patch.js +10 -6
  9. package/dist/agents/claim-verifier/claim-verifier-service.js +13 -8
  10. package/dist/audit/witness-chain.d.ts +1 -1
  11. package/dist/bridge/captured-experience-bridge.js +12 -13
  12. package/dist/cli/bundle.js +6 -6
  13. package/dist/cli/chunks/adapter-TR5SLAZC.js +2 -0
  14. package/dist/cli/chunks/agent-booster-wasm-H7ANGXW4.js +2 -0
  15. package/dist/cli/chunks/{agent-handler-2NQFHAWE.js → agent-handler-SVXSHEET.js} +2 -2
  16. package/dist/cli/chunks/{agent-memory-branch-457ECHHK.js → agent-memory-branch-WKQH36XL.js} +2 -2
  17. package/dist/cli/chunks/aqe-learning-engine-DXWKCHY2.js +2 -0
  18. package/dist/cli/chunks/{arena-JV3WSEHU.js → arena-EKOOFVST.js} +2 -2
  19. package/dist/cli/chunks/{arena-IYBQ3GPY.js → arena-OPS36NFZ.js} +4 -4
  20. package/dist/cli/chunks/{audit-5OS3T3K6.js → audit-AO5NDZRI.js} +3 -3
  21. package/dist/cli/chunks/base-GTB6POYE.js +2 -0
  22. package/dist/cli/chunks/{better-sqlite3-IQKBFVAO.js → better-sqlite3-TFLVEMMY.js} +2 -2
  23. package/dist/cli/chunks/{brain-handler-KA3SGAFM.js → brain-handler-ADBBJPYW.js} +3 -3
  24. package/dist/cli/chunks/{branch-enumerator-QZDU2VOQ.js → branch-enumerator-HGHUYYL5.js} +2 -2
  25. package/dist/cli/chunks/browser-5LU6P4SZ.js +4 -0
  26. package/dist/cli/chunks/browser-workflow-MSBOLYUY.js +2 -0
  27. package/dist/cli/chunks/{chunk-CRUQ6RXU.js → chunk-2SXBBUM6.js} +2 -2
  28. package/dist/cli/chunks/{chunk-4GUVVGJX.js → chunk-2T7RRL6G.js} +1 -1
  29. package/dist/cli/chunks/{chunk-OJWEZYLR.js → chunk-2XGVTYVX.js} +2 -2
  30. package/dist/cli/chunks/{chunk-LVHZK7GW.js → chunk-2ZI5FKSF.js} +2 -2
  31. package/dist/cli/chunks/chunk-2ZMF4NCF.js +4 -0
  32. package/dist/cli/chunks/{chunk-62T7U25U.js → chunk-37OWRCUN.js} +1 -1
  33. package/dist/cli/chunks/{chunk-UQLAN5TX.js → chunk-3P34JFQH.js} +5 -5
  34. package/dist/cli/chunks/{chunk-UDCYQLTD.js → chunk-3Y7SPD72.js} +2 -2
  35. package/dist/cli/chunks/{chunk-PPIM7B5G.js → chunk-4G63WT4F.js} +2 -2
  36. package/dist/cli/chunks/chunk-4SJYIX54.js +3 -0
  37. package/dist/cli/chunks/chunk-5E6GHSTY.js +3 -0
  38. package/dist/cli/chunks/{chunk-4TZLZRZ4.js → chunk-5LPYV3TK.js} +1 -1
  39. package/dist/cli/chunks/{chunk-YUP3APSN.js → chunk-62OAY5KJ.js} +1 -1
  40. package/dist/cli/chunks/{chunk-VQRBBR27.js → chunk-6C3II5OM.js} +2 -2
  41. package/dist/cli/chunks/{chunk-RG42LDOB.js → chunk-6GP6W46M.js} +2 -2
  42. package/dist/cli/chunks/{chunk-KMZW2P3R.js → chunk-6KIL6CMD.js} +2 -2
  43. package/dist/cli/chunks/{chunk-UKKFZJME.js → chunk-6MVVSSID.js} +1 -1
  44. package/dist/cli/chunks/{chunk-VVK4ECVJ.js → chunk-6P7424AO.js} +2 -2
  45. package/dist/cli/chunks/{chunk-A2UGPKCS.js → chunk-6PX4OXQO.js} +2 -2
  46. package/dist/cli/chunks/{chunk-JLTGO5BB.js → chunk-6S3WJGUV.js} +2 -2
  47. package/dist/cli/chunks/{chunk-GSOK4M6V.js → chunk-6TB6YOCZ.js} +1 -1
  48. package/dist/cli/chunks/{chunk-VWRNG3UK.js → chunk-6X5DHU6Q.js} +1 -1
  49. package/dist/cli/chunks/{chunk-5YOO5QSE.js → chunk-6XCMKIZN.js} +1 -1
  50. package/dist/cli/chunks/{chunk-4C3RYBTT.js → chunk-7LFZ4CHM.js} +2 -2
  51. package/dist/cli/chunks/{chunk-O4RRVTXN.js → chunk-7OZVZIBE.js} +2 -2
  52. package/dist/cli/chunks/{chunk-2JCLACCS.js → chunk-7PJIR4ST.js} +2 -2
  53. package/dist/cli/chunks/{chunk-NWFBF3KT.js → chunk-7TB6FK4B.js} +1 -1
  54. package/dist/cli/chunks/{chunk-FJAO4UX2.js → chunk-7ZCDZHDB.js} +2 -2
  55. package/dist/cli/chunks/chunk-A55QKKT2.js +2 -0
  56. package/dist/cli/chunks/{chunk-ZOVAZTXE.js → chunk-ABFFWZPC.js} +273 -278
  57. package/dist/cli/chunks/{chunk-FWXNFPLS.js → chunk-ACWFKES2.js} +2 -2
  58. package/dist/cli/chunks/{chunk-IJSFZO7P.js → chunk-AH3ZD3NJ.js} +2 -2
  59. package/dist/cli/chunks/{chunk-7SLEUVPZ.js → chunk-AI4VYSFS.js} +2 -2
  60. package/dist/cli/chunks/chunk-APSRPR4W.js +2 -0
  61. package/dist/cli/chunks/chunk-ATHWDAXB.js +3 -0
  62. package/dist/cli/chunks/{chunk-2GSAAUW3.js → chunk-B6LTH6YV.js} +2 -2
  63. package/dist/cli/chunks/chunk-BQUAE3CP.js +3 -0
  64. package/dist/cli/chunks/{chunk-7XGM7Q2N.js → chunk-C522H7XR.js} +54 -33
  65. package/dist/cli/chunks/{chunk-7DHSHD5B.js → chunk-CESIR27V.js} +2 -2
  66. package/dist/cli/chunks/{chunk-V7VZSNDK.js → chunk-CFBEBXLO.js} +3 -3
  67. package/dist/cli/chunks/{chunk-NZATJ2C6.js → chunk-CMBLM26R.js} +2 -2
  68. package/dist/cli/chunks/{chunk-7CVMT64N.js → chunk-CZ2IF6MC.js} +1 -1
  69. package/dist/cli/chunks/{chunk-YVWMJZ6O.js → chunk-CZGOSJQ4.js} +2 -2
  70. package/dist/cli/chunks/{chunk-TMNEK7TP.js → chunk-D6DA2KFD.js} +2 -2
  71. package/dist/cli/chunks/{chunk-UTNKMPTC.js → chunk-DBMNJSBV.js} +1 -1
  72. package/dist/cli/chunks/{chunk-JFWQFB3S.js → chunk-DE4YJQJF.js} +2 -2
  73. package/dist/cli/chunks/{chunk-767SR7WH.js → chunk-DEF34AFL.js} +2 -2
  74. package/dist/cli/chunks/{chunk-ZWMFKZEQ.js → chunk-DKAC3E3B.js} +2 -2
  75. package/dist/cli/chunks/{chunk-CDLG3Q2O.js → chunk-DMFTELBS.js} +2 -2
  76. package/dist/cli/chunks/{chunk-P4UT4LBE.js → chunk-DNRWGATA.js} +10 -10
  77. package/dist/cli/chunks/{chunk-PUYQ6EKC.js → chunk-DT7SIJOA.js} +2 -2
  78. package/dist/cli/chunks/{chunk-ST7ASEJO.js → chunk-DURHK377.js} +69 -69
  79. package/dist/cli/chunks/{chunk-V4QJ3MMT.js → chunk-EAU5KDFO.js} +1 -1
  80. package/dist/cli/chunks/{chunk-BLZEOGQE.js → chunk-EDLFX4ZB.js} +2 -2
  81. package/dist/cli/chunks/{chunk-ZBI7PJFX.js → chunk-EN2QSKFF.js} +2 -2
  82. package/dist/cli/chunks/{chunk-U7CIY3YR.js → chunk-ERQKYIP7.js} +2 -2
  83. package/dist/cli/chunks/{chunk-X7ZQIFES.js → chunk-ESUO3GTJ.js} +2 -2
  84. package/dist/cli/chunks/{chunk-SHEVM5PF.js → chunk-EWFECZ2U.js} +2 -2
  85. package/dist/cli/chunks/{chunk-JWPYMRIX.js → chunk-FAUCT5KR.js} +3 -3
  86. package/dist/cli/chunks/{chunk-KMVFBYJO.js → chunk-FB6TI3BH.js} +2 -2
  87. package/dist/cli/chunks/{chunk-22DOS3PM.js → chunk-FBXTQNRH.js} +2 -2
  88. package/dist/cli/chunks/{chunk-W5A36V3Z.js → chunk-FESZBPUB.js} +2 -2
  89. package/dist/cli/chunks/chunk-FFTPAWM6.js +141 -0
  90. package/dist/cli/chunks/{chunk-VWSGWYRB.js → chunk-FKL3R5JQ.js} +2 -2
  91. package/dist/cli/chunks/{chunk-2DPHFCMW.js → chunk-FPUDRSFJ.js} +2 -2
  92. package/dist/cli/chunks/{chunk-VKFVJCIH.js → chunk-FZOWULMH.js} +1 -1
  93. package/dist/cli/chunks/{chunk-HXCGV5UJ.js → chunk-G3CZCUPM.js} +2 -2
  94. package/dist/cli/chunks/{chunk-GENNJRNK.js → chunk-G5I6KGMW.js} +22 -22
  95. package/dist/cli/chunks/{chunk-J7FLNP5L.js → chunk-GHBNRMSJ.js} +2 -2
  96. package/dist/cli/chunks/{chunk-I77D65X5.js → chunk-GJHWY3ZX.js} +2 -2
  97. package/dist/cli/chunks/{chunk-DKFSCJEF.js → chunk-GJMLK5UT.js} +2 -2
  98. package/dist/cli/chunks/{chunk-52YRSWPS.js → chunk-GRCIBCJ2.js} +2 -2
  99. package/dist/cli/chunks/{chunk-NW7HTOSN.js → chunk-GWZZ7DAO.js} +2 -2
  100. package/dist/cli/chunks/{chunk-D4IBIMWI.js → chunk-GZLZCZ42.js} +2 -2
  101. package/dist/cli/chunks/{chunk-FEN2DHFM.js → chunk-H2PYU7MN.js} +1 -1
  102. package/dist/cli/chunks/{chunk-4I35ARWW.js → chunk-H32EPIR2.js} +1 -1
  103. package/dist/cli/chunks/{chunk-MUDBF2JC.js → chunk-H74Q7TJN.js} +1 -1
  104. package/dist/cli/chunks/chunk-HOZUDE4C.js +2 -0
  105. package/dist/cli/chunks/{chunk-MMY52Y6R.js → chunk-I33O4BRQ.js} +2 -2
  106. package/dist/cli/chunks/{chunk-ZG7UKWBB.js → chunk-IKISCIGH.js} +2 -2
  107. package/dist/cli/chunks/{chunk-SFPGLUXS.js → chunk-IPJ7Q3AJ.js} +1 -1
  108. package/dist/cli/chunks/{chunk-2ZRNXEVI.js → chunk-IU2IV4NE.js} +1 -1
  109. package/dist/cli/chunks/{chunk-XOOBLZXR.js → chunk-JHIY4VCC.js} +2 -2
  110. package/dist/cli/chunks/{chunk-PJGQ2TKN.js → chunk-KG336OV3.js} +2 -2
  111. package/dist/cli/chunks/{chunk-YRH7KMTU.js → chunk-KI73QCR5.js} +2 -2
  112. package/dist/cli/chunks/{chunk-FAYXES7R.js → chunk-KNQ2ERFX.js} +2 -2
  113. package/dist/cli/chunks/{chunk-CQ3SBRDP.js → chunk-KOBVYY6H.js} +2 -2
  114. package/dist/cli/chunks/{chunk-3N627QRU.js → chunk-KSIWGGJI.js} +8 -8
  115. package/dist/cli/chunks/{chunk-2UN4JOTN.js → chunk-LMS3Y7JD.js} +2 -2
  116. package/dist/cli/chunks/{chunk-RSMPJWQH.js → chunk-LQEURY7C.js} +1 -1
  117. package/dist/cli/chunks/{chunk-NQDYOF35.js → chunk-LRZY4KS2.js} +2 -2
  118. package/dist/cli/chunks/{chunk-U3BWBP6B.js → chunk-M2QV7PT7.js} +2 -2
  119. package/dist/cli/chunks/{chunk-WLXGUQOZ.js → chunk-MA7JIQ6U.js} +2 -2
  120. package/dist/cli/chunks/{chunk-Y5ZBF7MA.js → chunk-MG27QY4D.js} +2 -2
  121. package/dist/cli/chunks/chunk-MNN5J4GU.js +12 -0
  122. package/dist/cli/chunks/chunk-N6PIIK6G.js +3 -0
  123. package/dist/cli/chunks/chunk-NAXGWDVM.js +12 -0
  124. package/dist/cli/chunks/{chunk-DCYUHCPK.js → chunk-NGKNYIQZ.js} +1 -1
  125. package/dist/cli/chunks/chunk-NNFZUTDH.js +2 -0
  126. package/dist/cli/chunks/{chunk-UTFMMZ57.js → chunk-NPPHWFA2.js} +3 -3
  127. package/dist/cli/chunks/chunk-NSHU347M.js +2 -0
  128. package/dist/cli/chunks/{chunk-NF63NHJH.js → chunk-NVYIZCSR.js} +2 -2
  129. package/dist/cli/chunks/{chunk-YNQPHRUZ.js → chunk-NW5JUCCG.js} +1 -1
  130. package/dist/cli/chunks/{chunk-G6CLO74Q.js → chunk-NZYLNXT6.js} +3 -3
  131. package/dist/cli/chunks/{chunk-R2NHGESM.js → chunk-OBAREPDC.js} +2 -2
  132. package/dist/cli/chunks/{chunk-X3HM7SV4.js → chunk-ODJNUMV3.js} +2 -2
  133. package/dist/cli/chunks/{chunk-OCLAMZJG.js → chunk-OEKP73MC.js} +2 -2
  134. package/dist/cli/chunks/{chunk-5MBNRTT5.js → chunk-OPFGRS5S.js} +2 -2
  135. package/dist/cli/chunks/{chunk-K5R3WUJP.js → chunk-OY2AHLSF.js} +1 -1
  136. package/dist/cli/chunks/{chunk-KJNUETCB.js → chunk-OY3NJNP2.js} +1 -1
  137. package/dist/cli/chunks/{chunk-P2EA62YS.js → chunk-PCEW6Q2C.js} +1 -1
  138. package/dist/cli/chunks/{chunk-HNGNRIZZ.js → chunk-PFG6VQ5Z.js} +2 -2
  139. package/dist/cli/chunks/{chunk-DN3AKAPY.js → chunk-PGYMKGOE.js} +2 -2
  140. package/dist/cli/chunks/{chunk-BEVWCF3Q.js → chunk-PPSAMXYN.js} +3 -3
  141. package/dist/cli/chunks/chunk-RK73HB2F.js +2 -0
  142. package/dist/cli/chunks/{chunk-6E7EOHMN.js → chunk-RPHY2DU6.js} +2 -2
  143. package/dist/cli/chunks/{chunk-7C6FMLQR.js → chunk-RWWOHCMG.js} +25 -20
  144. package/dist/cli/chunks/{chunk-5ONJ7AV6.js → chunk-S75EYIJG.js} +1 -1
  145. package/dist/cli/chunks/chunk-SKQUUE4F.js +5 -0
  146. package/dist/cli/chunks/chunk-SO45NA4D.js +180 -0
  147. package/dist/cli/chunks/{chunk-SWY6KGMF.js → chunk-SU5H66SD.js} +2 -2
  148. package/dist/cli/chunks/{chunk-ZOHS32SI.js → chunk-SY2IB442.js} +2 -2
  149. package/dist/cli/chunks/{chunk-MV4S3TEC.js → chunk-TBLI254A.js} +2 -2
  150. package/dist/cli/chunks/{chunk-5DZDLOY6.js → chunk-TNMBRDCA.js} +3 -3
  151. package/dist/cli/chunks/{chunk-FEPFXXI7.js → chunk-TYFZXDGZ.js} +2 -2
  152. package/dist/cli/chunks/{chunk-A6GCO6ZU.js → chunk-U4OICXV2.js} +2 -2
  153. package/dist/cli/chunks/{chunk-G77Q22EN.js → chunk-U53ZB4IX.js} +2 -2
  154. package/dist/cli/chunks/chunk-UARKIZAS.js +2 -0
  155. package/dist/cli/chunks/{chunk-6GIC2263.js → chunk-UCJMVXO4.js} +2 -2
  156. package/dist/cli/chunks/{chunk-DAFMHM64.js → chunk-UHTTW3IT.js} +2 -2
  157. package/dist/cli/chunks/{chunk-2QRGIEQV.js → chunk-V2M2XCR5.js} +1 -1
  158. package/dist/cli/chunks/{chunk-XZQVC3GD.js → chunk-V2RSNVMW.js} +1 -1
  159. package/dist/cli/chunks/{chunk-GGSTLKY5.js → chunk-V6JBOIMX.js} +1 -1
  160. package/dist/cli/chunks/{chunk-BTMEOZYY.js → chunk-VFKF2XO7.js} +1 -1
  161. package/dist/cli/chunks/{chunk-4C7KE2EL.js → chunk-VFSYMOAL.js} +2 -2
  162. package/dist/cli/chunks/{chunk-D4O3TJI7.js → chunk-VJQYDYAJ.js} +2 -2
  163. package/dist/cli/chunks/{chunk-PZ7FJ4UG.js → chunk-VKRTTFB6.js} +2 -2
  164. package/dist/cli/chunks/{chunk-CQ5G64EA.js → chunk-VWNFAW2M.js} +2 -2
  165. package/dist/cli/chunks/{chunk-DY37YMMQ.js → chunk-WBM6N6IM.js} +1 -1
  166. package/dist/cli/chunks/{chunk-K4N2MBCE.js → chunk-WDQ7IEZY.js} +2 -2
  167. package/dist/cli/chunks/{chunk-HI6OBDDY.js → chunk-WDVRE6GN.js} +2 -2
  168. package/dist/cli/chunks/{chunk-PICEGWGB.js → chunk-WQ4PYWSW.js} +1 -1
  169. package/dist/cli/chunks/{chunk-NHOMVBCI.js → chunk-WSF24I3D.js} +2 -2
  170. package/dist/cli/chunks/{chunk-LPSMVBB3.js → chunk-XBVUVFJK.js} +2 -2
  171. package/dist/cli/chunks/{chunk-J6LL25QJ.js → chunk-XEB3NLJR.js} +2 -2
  172. package/dist/cli/chunks/{chunk-SJMZZMHP.js → chunk-XFVTGAAJ.js} +2 -2
  173. package/dist/cli/chunks/{chunk-KVMKYUOE.js → chunk-XLZYRTNO.js} +2 -2
  174. package/dist/cli/chunks/chunk-XUZDBQ5X.js +6 -0
  175. package/dist/cli/chunks/{chunk-WAWKAYPY.js → chunk-Y76IAYQD.js} +1 -1
  176. package/dist/cli/chunks/{chunk-3LFLO2WK.js → chunk-YAKGBHO4.js} +2 -2
  177. package/dist/cli/chunks/{chunk-TC52M542.js → chunk-YBSBABOS.js} +2 -2
  178. package/dist/cli/chunks/{chunk-BQUIZ5QT.js → chunk-YCGP5VFP.js} +2 -2
  179. package/dist/cli/chunks/{chunk-T2TDTBFV.js → chunk-YDAQK5UF.js} +1 -1
  180. package/dist/cli/chunks/{chunk-LHRVSK44.js → chunk-YK3BVZY6.js} +2 -2
  181. package/dist/cli/chunks/{chunk-QFYUZYRA.js → chunk-YK7JN5N7.js} +4 -4
  182. package/dist/cli/chunks/{chunk-IMSRWNWF.js → chunk-YKMU4LBV.js} +1 -1
  183. package/dist/cli/chunks/{chunk-NLYUC63R.js → chunk-YYTGXD3R.js} +2 -2
  184. package/dist/cli/chunks/{chunk-OWBFVAEH.js → chunk-Z2O2YJAF.js} +2 -2
  185. package/dist/cli/chunks/{chunk-KITKQUBX.js → chunk-Z7IYW5U7.js} +1 -1
  186. package/dist/cli/chunks/{chunk-4NTLGGXO.js → chunk-ZG5666GJ.js} +1 -1
  187. package/dist/cli/chunks/{chunk-4YUBWU3E.js → chunk-ZXPY654C.js} +1 -1
  188. package/dist/cli/chunks/{ci-7NUCRGWO.js → ci-MSKMVH5X.js} +2 -2
  189. package/dist/cli/chunks/{ci-config-VQVECCFI.js → ci-config-7ODMNAUM.js} +2 -2
  190. package/dist/cli/chunks/{ci-output-P7GQ6TKF.js → ci-output-FXZ7ZZW3.js} +2 -2
  191. package/dist/cli/chunks/{circuit-breaker-5YP6N6HE.js → circuit-breaker-4VOUEPOX.js} +2 -2
  192. package/dist/cli/chunks/{claude-flow-setup-W5H7CMU6.js → claude-flow-setup-7D4SGLM4.js} +2 -2
  193. package/dist/cli/chunks/client-POSVREVS.js +2 -0
  194. package/dist/cli/chunks/{cline-installer-OYANSZ54.js → cline-installer-WRRT7BGQ.js} +2 -2
  195. package/dist/cli/chunks/{code-OMT4UEZI.js → code-ZDJRIL3S.js} +25 -24
  196. package/dist/cli/chunks/{code-index-extractor-M2JEWKNF.js → code-index-extractor-4S4SHM56.js} +2 -2
  197. package/dist/cli/chunks/{codex-installer-YBS6N5O3.js → codex-installer-YTRHNDWR.js} +2 -2
  198. package/dist/cli/chunks/{completions-U7GS5RG6.js → completions-6N64JUXJ.js} +2 -2
  199. package/dist/cli/chunks/{complexity-analyzer-QSXPIUIU.js → complexity-analyzer-I4A26VCJ.js} +2 -2
  200. package/dist/cli/chunks/{continuedev-installer-W5TTT743.js → continuedev-installer-IIDR66LB.js} +2 -2
  201. package/dist/cli/chunks/{copilot-installer-KC2RT24C.js → copilot-installer-SVVFY3S2.js} +2 -2
  202. package/dist/cli/chunks/core-handlers-V243GY7X.js +2 -0
  203. package/dist/cli/chunks/{cost-tracker-OQPVR6V4.js → cost-tracker-VGFS6IBX.js} +2 -2
  204. package/dist/cli/chunks/{coverage-TCO2A2NX.js → coverage-B7MCGNTE.js} +3 -3
  205. package/dist/cli/chunks/cross-domain-router-N3AIEM3B.js +2 -0
  206. package/dist/cli/chunks/{cursor-installer-MH7GWD4L.js → cursor-installer-UPETT57E.js} +2 -2
  207. package/dist/cli/chunks/daemon-7BDJHEIJ.js +18 -0
  208. package/dist/cli/chunks/{daemon-UJEARJZ2.js → daemon-CQFNZLXU.js} +7 -7
  209. package/dist/cli/chunks/{dag-attention-scheduler-F3SUJU5O.js → dag-attention-scheduler-PJVABHON.js} +2 -2
  210. package/dist/cli/chunks/{detect-5QTCRB32.js → detect-56SKAGWX.js} +2 -2
  211. package/dist/cli/chunks/{dist-node-XKZPHDBO.js → dist-node-UYTYUMLN.js} +2 -2
  212. package/dist/cli/chunks/{domain-handler-V3UEADKW.js → domain-handler-YOYLBYJE.js} +2 -2
  213. package/dist/cli/chunks/{domain-plugins-7PES4UHZ.js → domain-plugins-7TARX2XF.js} +2 -2
  214. package/dist/cli/chunks/domain-transfer-AKVSBD6E.js +2 -0
  215. package/dist/cli/chunks/dream-UA7MKOPQ.js +2 -0
  216. package/dist/cli/chunks/{embed-and-insert-pattern-D2HWORHF.js → embed-and-insert-pattern-IS6HSR66.js} +2 -2
  217. package/dist/cli/chunks/{eval-UF2UBAUC.js → eval-GNB574IM.js} +2 -2
  218. package/dist/cli/chunks/{experience-capture-middleware-2OUCEHHM.js → experience-capture-middleware-RCAOCKM7.js} +3 -3
  219. package/dist/cli/chunks/{fast-paths-KV5DKKHC.js → fast-paths-KTZ5SF54.js} +2 -2
  220. package/dist/cli/chunks/{feature-flags-MTW6NMR3.js → feature-flags-ITX5LQ57.js} +2 -2
  221. package/dist/cli/chunks/{feature-flags-6YWMTNO5.js → feature-flags-KFHSR5YF.js} +2 -2
  222. package/dist/cli/chunks/file-discovery-YCMNKZAK.js +2 -0
  223. package/dist/cli/chunks/fleet-2Y3ZE6CE.js +46 -0
  224. package/dist/cli/chunks/{gnn-wrapper-52V6ANOY.js → gnn-wrapper-RLFW3GSX.js} +2 -2
  225. package/dist/cli/chunks/{heartbeat-handler-X7NHNRC7.js → heartbeat-handler-EM2URCYZ.js} +4 -4
  226. package/dist/cli/chunks/heartbeat-scheduler-QH5V6G2P.js +2 -0
  227. package/dist/cli/chunks/hnsw-adapter-OJNFAGJS.js +2 -0
  228. package/dist/cli/chunks/hnsw-index-DFUNARVD.js +2 -0
  229. package/dist/cli/chunks/{hnsw-legacy-bridge-DZBE3KMK.js → hnsw-legacy-bridge-JMHEOIBH.js} +2 -2
  230. package/dist/cli/chunks/{hnswlib-node-2AWWUJAZ.js → hnswlib-node-CBP73QHY.js} +2 -2
  231. package/dist/cli/chunks/{hooks-XLPVROL3.js → hooks-IP7XE34Z.js} +34 -34
  232. package/dist/cli/chunks/hybrid-backend-SSGQQEQ2.js +2 -0
  233. package/dist/cli/chunks/{hypergraph-engine-6TI7YP6P.js → hypergraph-engine-ONAYHU25.js} +2 -2
  234. package/dist/cli/chunks/{hypergraph-handler-DBIBBOXS.js → hypergraph-handler-VINJRAID.js} +3 -3
  235. package/dist/cli/chunks/impact-analyzer-CRGCA7ZD.js +2 -0
  236. package/dist/cli/chunks/{init-guard-OSO6MIDD.js → init-guard-RYVV5R3Z.js} +2 -2
  237. package/dist/cli/chunks/{init-handler-7S7IHMUF.js → init-handler-MPRGWMOE.js} +6 -6
  238. package/dist/cli/chunks/init-wizard-NIMZ4J55.js +2 -0
  239. package/dist/cli/chunks/kernel-JQK7PRAI.js +2 -0
  240. package/dist/cli/chunks/{kilocode-installer-2KBRFXMA.js → kilocode-installer-OPD7JBRL.js} +2 -2
  241. package/dist/cli/chunks/{kiro-installer-5VFR4OQZ.js → kiro-installer-M4OPUNK2.js} +2 -2
  242. package/dist/cli/chunks/knowledge-graph-YPVVIKEU.js +2 -0
  243. package/dist/cli/chunks/{learning-G5NHL3DV.js → learning-4UWTQLMF.js} +24 -24
  244. package/dist/cli/chunks/{llm-router-4EAPPMHS.js → llm-router-SQ56FF6Z.js} +4 -4
  245. package/dist/cli/chunks/llm-router-service-5OGAUOXF.js +2 -0
  246. package/dist/cli/chunks/{load-UYMZPEY6.js → load-HPHKDGGL.js} +2 -2
  247. package/dist/cli/chunks/load-test-UKNV5MWW.js +2 -0
  248. package/dist/cli/chunks/mcp-TELMAC7Z.js +2 -0
  249. package/dist/cli/chunks/{memory-QL53YIHP.js → memory-PFQ3KPVJ.js} +5 -5
  250. package/dist/cli/chunks/memory-backend-ZW4BTRNK.js +2 -0
  251. package/dist/cli/chunks/memory-handlers-FCXN437E.js +2 -0
  252. package/dist/cli/chunks/{multi-model-executor-PDDDXF2B.js → multi-model-executor-3VDRX6TZ.js} +2 -2
  253. package/dist/cli/chunks/{opencode-installer-75D2SKOT.js → opencode-installer-PJ576R63.js} +2 -2
  254. package/dist/cli/chunks/{orchestrator-3WIZBV4T.js → orchestrator-72QP4UU7.js} +64 -19
  255. package/dist/cli/chunks/pattern-null-store-4DUV6MQC.js +2 -0
  256. package/dist/cli/chunks/{pattern-usage-recorder-TEX2JGHA.js → pattern-usage-recorder-754YQW7C.js} +2 -2
  257. package/dist/cli/chunks/pipeline-AVXY4MVB.js +19 -0
  258. package/dist/cli/chunks/{platform-WPSKRJE7.js → platform-3E3DXLYB.js} +2 -2
  259. package/dist/cli/chunks/{plugin-UUFOVVMU.js → plugin-7FUQAKRE.js} +2 -2
  260. package/dist/cli/chunks/{prime-radiant-advanced-wasm-PDFSYWKZ.js → prime-radiant-advanced-wasm-NIB4F5NV.js} +2 -2
  261. package/dist/cli/chunks/project-root-JCAUNL6O.js +2 -0
  262. package/dist/cli/chunks/protocol-executor-RNZNZP3A.js +2 -0
  263. package/dist/cli/chunks/{protocol-handler-3VRYRIQB.js → protocol-handler-BQRYMUTG.js} +2 -2
  264. package/dist/cli/chunks/{prove-2NAUROGF.js → prove-H52QGC6B.js} +2 -2
  265. package/dist/cli/chunks/qe-reasoning-bank-WK6TQOG2.js +2 -0
  266. package/dist/cli/chunks/{quality-ZIEI2WGA.js → quality-QO4XPAUM.js} +2 -2
  267. package/dist/cli/chunks/{quality-gate-KWJO4SWQ.js → quality-gate-FBKE5E6F.js} +3 -3
  268. package/dist/cli/chunks/queen-coordinator-4452SXZQ.js +2 -0
  269. package/dist/cli/chunks/{real-embeddings-TSZ4UIAE.js → real-embeddings-RWGOVOXO.js} +2 -2
  270. package/dist/cli/chunks/{ref-validation-DWFFRETJ.js → ref-validation-LF76ZOBD.js} +2 -2
  271. package/dist/cli/chunks/{roocode-installer-XTZHLUBO.js → roocode-installer-3BYEBTQ7.js} +2 -2
  272. package/dist/cli/chunks/router-3DIS5X4R.js +2 -0
  273. package/dist/cli/chunks/routing-feedback-OPXRCXM7.js +2 -0
  274. package/dist/cli/chunks/{routing-handler-GG525TDM.js → routing-handler-DST7BVCU.js} +2 -2
  275. package/dist/cli/chunks/{ruvector-commands-QKRJDM7Z.js → ruvector-commands-XE32PGKC.js} +2 -2
  276. package/dist/cli/chunks/rvf-dual-writer-JL6T727I.js +2 -0
  277. package/dist/cli/chunks/rvf-migration-adapter-V7IBDUCS.js +2 -0
  278. package/dist/cli/chunks/{rvf-migration-coordinator-FF52OS6Q.js → rvf-migration-coordinator-VP32XC75.js} +2 -2
  279. package/dist/cli/chunks/rvf-native-adapter-O3UQTEBK.js +2 -0
  280. package/dist/cli/chunks/{rvf-store-integrity-M6DXTAZ4.js → rvf-store-integrity-SH2AMVI7.js} +2 -2
  281. package/dist/cli/chunks/safe-db-EVB4ZC7T.js +2 -0
  282. package/dist/cli/chunks/schedule-ORDDXXY4.js +2 -0
  283. package/dist/cli/chunks/scheduler-XFLJSFIU.js +2 -0
  284. package/dist/cli/chunks/{security-EHXSW22U.js → security-VSPNKCDS.js} +3 -3
  285. package/dist/cli/chunks/{shared-rvf-adapter-6EH7UVJL.js → shared-rvf-adapter-HX6AHL3P.js} +2 -2
  286. package/dist/cli/chunks/{shared-rvf-dual-writer-WML274E7.js → shared-rvf-dual-writer-MX4FC2JE.js} +2 -2
  287. package/dist/cli/chunks/sqlite-persistence-Y7B42CJ3.js +2 -0
  288. package/dist/cli/chunks/{standalone-memory-C7QKAXS4.js → standalone-memory-O4QUTK6L.js} +2 -2
  289. package/dist/cli/chunks/{status-handler-VLI7MRLM.js → status-handler-Z2BP6EOG.js} +2 -2
  290. package/dist/cli/chunks/{structural-health-3LPG6MQN.js → structural-health-R36WNLQG.js} +2 -2
  291. package/dist/cli/chunks/sync-2ELWUFQU.js +2 -0
  292. package/dist/cli/chunks/{sync-JFJEJBVK.js → sync-QF5Y3EMZ.js} +2 -2
  293. package/dist/cli/chunks/{task-handler-IED3K6E4.js → task-handler-43PYE75J.js} +13 -7
  294. package/dist/cli/chunks/task-handlers-KPWAEMKH.js +9 -0
  295. package/dist/cli/chunks/{test-GPKT3CKZ.js → test-UWA377D4.js} +16 -16
  296. package/dist/cli/chunks/test-runner-process-3XZUYST2.js +2 -0
  297. package/dist/cli/chunks/{test-scheduling-Z42XXZP6.js → test-scheduling-YQZPJRRN.js} +3 -3
  298. package/dist/cli/chunks/token-bootstrap-F7C6UKTC.js +2 -0
  299. package/dist/cli/chunks/{token-usage-6Y2ERYIY.js → token-usage-DO6WLMXP.js} +2 -2
  300. package/dist/cli/chunks/{transformers-MB63T2XO.js → transformers-H5RGFKVO.js} +2 -2
  301. package/dist/cli/chunks/tree-sitter-wasm-parser-YTBCBHUO.js +2 -0
  302. package/dist/cli/chunks/{types-J4J6QV3I.js → types-PJS2FGPF.js} +2 -2
  303. package/dist/cli/chunks/unified-memory-EHD4VNFW.js +2 -0
  304. package/dist/cli/chunks/unified-memory-hnsw-ZODGM4UK.js +2 -0
  305. package/dist/cli/chunks/unified-persistence-MHSI7ABK.js +2 -0
  306. package/dist/cli/chunks/{upgrade-U4XU7LFM.js → upgrade-4IC4F6AB.js} +2 -2
  307. package/dist/cli/chunks/{validate-B57HA4YK.js → validate-DHUWW7PF.js} +2 -2
  308. package/dist/cli/chunks/{validate-swarm-UPPA4M6T.js → validate-swarm-OERQNOX5.js} +2 -2
  309. package/dist/cli/chunks/visual-security-54MLFKWY.js +2 -0
  310. package/dist/cli/chunks/{web-tree-sitter-GDZMUKOZ.js → web-tree-sitter-TV7DMKES.js} +2 -2
  311. package/dist/cli/chunks/{windsurf-installer-VJRWCHXP.js → windsurf-installer-QZPWSH37.js} +2 -2
  312. package/dist/cli/chunks/witness-chain-LC6Q2W27.js +2 -0
  313. package/dist/cli/chunks/witness-chain-QUIBAF3W.js +2 -0
  314. package/dist/cli/chunks/witness-chain-repair-RUXIOE7F.js +2 -0
  315. package/dist/cli/chunks/{witness-chain-verifier-Z23FVABW.js → witness-chain-verifier-YXENHB42.js} +2 -2
  316. package/dist/cli/chunks/{witness-key-manager-745MJ7WO.js → witness-key-manager-HL26AGFO.js} +2 -2
  317. package/dist/cli/chunks/{workflow-T245QNQM.js → workflow-EOVVCN2E.js} +4 -4
  318. package/dist/cli/chunks/workflow-orchestrator-UKHEJVSK.js +2 -0
  319. package/dist/cli/chunks/wrappers-AGODHBOO.js +2 -0
  320. package/dist/cli/commands/code.js +8 -0
  321. package/dist/cli/commands/daemon.js +8 -0
  322. package/dist/cli/commands/fleet.js +27 -15
  323. package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +9 -2
  324. package/dist/cli/commands/hooks-handlers/session-hooks.js +2 -2
  325. package/dist/cli/commands/hooks-handlers/stats-hooks.js +3 -2
  326. package/dist/cli/commands/learning.js +5 -3
  327. package/dist/cli/commands/ruvector-commands.js +2 -1
  328. package/dist/cli/commands/test.js +6 -0
  329. package/dist/cli/handlers/task-handler.js +21 -1
  330. package/dist/cli/utils/ci-output.d.ts +9 -0
  331. package/dist/cli/utils/fleet-operation.d.ts +32 -0
  332. package/dist/cli/utils/fleet-operation.js +71 -0
  333. package/dist/cli/utils/fleet-result.d.ts +31 -0
  334. package/dist/cli/utils/fleet-result.js +124 -0
  335. package/dist/context/sources/git-source.js +6 -2
  336. package/dist/coordination/handlers/code-intelligence-handlers.js +74 -7
  337. package/dist/coordination/handlers/coverage-collection.js +9 -10
  338. package/dist/coordination/handlers/coverage-handlers.js +31 -4
  339. package/dist/coordination/handlers/coverage-runner.d.ts +2 -1
  340. package/dist/coordination/handlers/coverage-runner.js +9 -2
  341. package/dist/coordination/handlers/coverage-target.d.ts +13 -3
  342. package/dist/coordination/handlers/coverage-target.js +224 -7
  343. package/dist/coordination/handlers/handler-types.d.ts +2 -0
  344. package/dist/coordination/handlers/requirements-handlers.js +16 -2
  345. package/dist/coordination/handlers/security-handlers.js +11 -1
  346. package/dist/coordination/handlers/test-execution-handlers.js +57 -12
  347. package/dist/coordination/index.d.ts +2 -2
  348. package/dist/coordination/index.js +1 -1
  349. package/dist/coordination/mincut/queen-integration.d.ts +39 -1
  350. package/dist/coordination/mincut/queen-integration.js +83 -6
  351. package/dist/coordination/protocols/learning-consolidation-archive.d.ts +35 -0
  352. package/dist/coordination/protocols/learning-consolidation-archive.js +34 -0
  353. package/dist/coordination/protocols/learning-consolidation.d.ts +62 -3
  354. package/dist/coordination/protocols/learning-consolidation.js +187 -60
  355. package/dist/coordination/queen-coordinator.d.ts +13 -2
  356. package/dist/coordination/queen-coordinator.js +43 -8
  357. package/dist/coordination/queen-event-handlers.js +15 -1
  358. package/dist/coordination/queen-lifecycle.js +9 -0
  359. package/dist/coordination/queen-task-management.d.ts +18 -24
  360. package/dist/coordination/queen-task-management.js +94 -127
  361. package/dist/coordination/queen-task-queue.d.ts +41 -0
  362. package/dist/coordination/queen-task-queue.js +194 -0
  363. package/dist/coordination/queen-types.d.ts +11 -1
  364. package/dist/coordination/queen-types.js +8 -0
  365. package/dist/coordination/queen-work-stealing.d.ts +6 -1
  366. package/dist/coordination/queen-work-stealing.js +7 -4
  367. package/dist/coordination/result-saver-adapters.d.ts +15 -0
  368. package/dist/coordination/result-saver-adapters.js +57 -0
  369. package/dist/coordination/result-saver.d.ts +1 -1
  370. package/dist/coordination/result-saver.js +8 -5
  371. package/dist/coordination/task-dag/dag-algorithms.d.ts +33 -0
  372. package/dist/coordination/task-dag/dag-algorithms.js +162 -0
  373. package/dist/coordination/task-dag/dag-obligations.d.ts +21 -0
  374. package/dist/coordination/task-dag/dag-obligations.js +83 -0
  375. package/dist/coordination/task-dag/dag.d.ts +69 -19
  376. package/dist/coordination/task-dag/dag.js +215 -269
  377. package/dist/coordination/task-dag/index.d.ts +12 -4
  378. package/dist/coordination/task-dag/index.js +11 -3
  379. package/dist/coordination/task-dag/prerequisite-ledger.d.ts +84 -0
  380. package/dist/coordination/task-dag/prerequisite-ledger.js +252 -0
  381. package/dist/coordination/task-dag/scheduler.d.ts +19 -9
  382. package/dist/coordination/task-dag/scheduler.js +36 -12
  383. package/dist/coordination/task-dag/types.d.ts +160 -1
  384. package/dist/coordination/task-dag/types.js +2 -1
  385. package/dist/coordination/task-executability.d.ts +18 -0
  386. package/dist/coordination/task-executability.js +31 -0
  387. package/dist/coordination/task-executor.d.ts +1 -0
  388. package/dist/coordination/task-executor.js +5 -0
  389. package/dist/coordination/yaml-pipeline-loader.js +5 -2
  390. package/dist/domains/code-intelligence/coordinator.js +35 -9
  391. package/dist/domains/code-intelligence/index-path-guard.d.ts +52 -0
  392. package/dist/domains/code-intelligence/index-path-guard.js +95 -0
  393. package/dist/domains/code-intelligence/interfaces.d.ts +12 -0
  394. package/dist/domains/code-intelligence/plugin.js +5 -1
  395. package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +6 -0
  396. package/dist/domains/code-intelligence/services/knowledge-graph.js +42 -5
  397. package/dist/domains/code-intelligence/services/metric-collector/index.d.ts +2 -2
  398. package/dist/domains/code-intelligence/services/metric-collector/index.js +2 -3
  399. package/dist/domains/code-intelligence/services/metric-collector/loc-counter.d.ts +1 -1
  400. package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +11 -36
  401. package/dist/domains/code-intelligence/services/metric-collector/test-counter.d.ts +1 -1
  402. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +45 -103
  403. package/dist/domains/contract-testing/coordinator.js +3 -1
  404. package/dist/domains/contract-testing/services/api-compatibility.js +7 -6
  405. package/dist/domains/contract-testing/services/contract-validator.js +6 -4
  406. package/dist/domains/contract-testing/services/schema-validator.js +8 -5
  407. package/dist/domains/defect-intelligence/interfaces.d.ts +2 -0
  408. package/dist/domains/defect-intelligence/plugin.js +11 -2
  409. package/dist/domains/defect-intelligence/prediction-history.d.ts +27 -0
  410. package/dist/domains/defect-intelligence/prediction-history.js +68 -0
  411. package/dist/domains/defect-intelligence/services/defect-predictor.js +29 -12
  412. package/dist/domains/enterprise-integration/services/message-broker-service.js +3 -2
  413. package/dist/domains/enterprise-integration/services/odata-service.js +2 -1
  414. package/dist/domains/enterprise-integration/services/sap-integration-service.js +3 -2
  415. package/dist/domains/learning-optimization/active-patterns.d.ts +14 -14
  416. package/dist/domains/learning-optimization/active-patterns.js +17 -14
  417. package/dist/domains/learning-optimization/coordinator-helpers.js +2 -3
  418. package/dist/domains/learning-optimization/coordinator.d.ts +0 -3
  419. package/dist/domains/learning-optimization/coordinator.js +52 -107
  420. package/dist/domains/learning-optimization/index.d.ts +1 -1
  421. package/dist/domains/learning-optimization/interfaces.d.ts +62 -6
  422. package/dist/domains/learning-optimization/pattern-archive.d.ts +31 -0
  423. package/dist/domains/learning-optimization/pattern-archive.js +56 -0
  424. package/dist/domains/learning-optimization/pattern-consolidation.d.ts +12 -0
  425. package/dist/domains/learning-optimization/pattern-consolidation.js +41 -0
  426. package/dist/domains/learning-optimization/plugin.js +11 -1
  427. package/dist/domains/learning-optimization/reward-source.d.ts +50 -0
  428. package/dist/domains/learning-optimization/reward-source.js +65 -0
  429. package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +7 -5
  430. package/dist/domains/learning-optimization/services/learning-coordinator.js +98 -75
  431. package/dist/domains/learning-optimization/services/metrics-optimizer.d.ts +14 -4
  432. package/dist/domains/learning-optimization/services/metrics-optimizer.js +129 -63
  433. package/dist/domains/learning-optimization/services/transfer-specialist.js +25 -15
  434. package/dist/domains/security-compliance/plugin.js +17 -3
  435. package/dist/domains/security-compliance/sast-path-guard.d.ts +9 -0
  436. package/dist/domains/security-compliance/sast-path-guard.js +17 -0
  437. package/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +46 -56
  438. package/dist/domains/security-compliance/services/scanners/dast-helpers.js +76 -91
  439. package/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +52 -62
  440. package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +21 -1
  441. package/dist/domains/security-compliance/services/scanners/dast-scanner.js +29 -24
  442. package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +4 -1
  443. package/dist/domains/test-execution/coordinator.d.ts +5 -0
  444. package/dist/domains/test-execution/coordinator.js +35 -20
  445. package/dist/domains/test-execution/interfaces.d.ts +41 -0
  446. package/dist/domains/test-execution/plugin.js +19 -4
  447. package/dist/domains/test-execution/services/flaky-detector.js +9 -7
  448. package/dist/domains/test-execution/services/retry-handler.js +46 -7
  449. package/dist/domains/test-execution/services/runner-test-cases.d.ts +32 -0
  450. package/dist/domains/test-execution/services/runner-test-cases.js +87 -0
  451. package/dist/domains/test-execution/services/test-executor.d.ts +5 -0
  452. package/dist/domains/test-execution/services/test-executor.js +31 -9
  453. package/dist/domains/test-generation/plugin.js +7 -2
  454. package/dist/domains/test-generation/services/test-data-generator.js +3 -1
  455. package/dist/domains/visual-accessibility/services/axe-core-audit.js +1 -1
  456. package/dist/hooks/cross-phase-hooks.js +2 -1
  457. package/dist/init/fleet-integration.js +2 -0
  458. package/dist/init/init-wizard-steps.js +2 -0
  459. package/dist/init/phases/06-code-intelligence.js +2 -0
  460. package/dist/init/phases/10-workers.js +51 -6
  461. package/dist/integrations/browser/agent-browser/client.js +37 -52
  462. package/dist/integrations/browser/agent-browser/command-executor.d.ts +33 -27
  463. package/dist/integrations/browser/agent-browser/command-executor.js +53 -54
  464. package/dist/integrations/browser/agent-browser/session-manager.d.ts +1 -1
  465. package/dist/integrations/browser/agent-browser/session-manager.js +8 -9
  466. package/dist/integrations/browser/web-content-fetcher.js +9 -3
  467. package/dist/integrations/vibium/client.js +2 -2
  468. package/dist/integrations/vibium/runtime.d.ts +1 -1
  469. package/dist/integrations/vibium/runtime.js +14 -11
  470. package/dist/kernel/anti-drift-middleware.d.ts +44 -5
  471. package/dist/kernel/anti-drift-middleware.js +147 -11
  472. package/dist/kernel/interfaces.d.ts +5 -0
  473. package/dist/kernel/unified-memory-schemas.d.ts +3 -2
  474. package/dist/kernel/unified-memory-schemas.js +3 -2
  475. package/dist/kernel/unified-memory.js +25 -6
  476. package/dist/learning/dream/dream-commit.d.ts +65 -0
  477. package/dist/learning/dream/dream-commit.js +104 -0
  478. package/dist/learning/dream/dream-engine.d.ts +81 -31
  479. package/dist/learning/dream/dream-engine.js +225 -168
  480. package/dist/learning/dream/dream-insights-pruner.d.ts +24 -4
  481. package/dist/learning/dream/dream-insights-pruner.js +85 -11
  482. package/dist/learning/dream/index.d.ts +3 -2
  483. package/dist/learning/dream/index.js +3 -1
  484. package/dist/learning/dream/rvcow-branch-manager.d.ts +8 -1
  485. package/dist/learning/dream/rvcow-branch-manager.js +8 -1
  486. package/dist/learning/dream/speculative-dreamer.d.ts +50 -74
  487. package/dist/learning/dream/speculative-dreamer.js +64 -111
  488. package/dist/learning/dream/spreading-activation.d.ts +2 -1
  489. package/dist/learning/dream/spreading-activation.js +15 -6
  490. package/dist/learning/experience-capture.d.ts +9 -0
  491. package/dist/learning/experience-capture.js +18 -4
  492. package/dist/learning/qe-reasoning-bank-types.d.ts +17 -2
  493. package/dist/learning/qe-reasoning-bank.js +22 -11
  494. package/dist/learning/skill-validation-learner.d.ts +2 -0
  495. package/dist/learning/skill-validation-learner.js +29 -21
  496. package/dist/learning/sqlite-persistence.d.ts +6 -0
  497. package/dist/learning/sqlite-persistence.js +16 -2
  498. package/dist/learning/usage-outcome.d.ts +68 -0
  499. package/dist/learning/usage-outcome.js +84 -0
  500. package/dist/mcp/background-workers.d.ts +13 -1
  501. package/dist/mcp/background-workers.js +23 -3
  502. package/dist/mcp/bundle.js +602 -551
  503. package/dist/mcp/handlers/core-handlers.js +11 -0
  504. package/dist/mcp/handlers/domain-handler-configs.d.ts +19 -0
  505. package/dist/mcp/handlers/domain-handler-configs.js +76 -30
  506. package/dist/mcp/handlers/handler-factory.d.ts +2 -1
  507. package/dist/mcp/handlers/handler-factory.js +37 -15
  508. package/dist/mcp/handlers/orchestrate-routes.d.ts +36 -0
  509. package/dist/mcp/handlers/orchestrate-routes.js +88 -0
  510. package/dist/mcp/handlers/task-handlers.d.ts +3 -0
  511. package/dist/mcp/handlers/task-handlers.js +69 -6
  512. package/dist/mcp/handlers/validation-pipeline-handler.js +6 -2
  513. package/dist/mcp/metrics/metrics-collector.d.ts +11 -9
  514. package/dist/mcp/metrics/metrics-collector.js +13 -26
  515. package/dist/mcp/protocol-server.js +10 -3
  516. package/dist/mcp/security/schema-validator.js +3 -2
  517. package/dist/mcp/tools/code-intelligence/c4.js +11 -1
  518. package/dist/mcp/tools/coverage-analysis/index.js +31 -2
  519. package/dist/mcp/tools/learning-optimization/dream.d.ts +8 -8
  520. package/dist/mcp/tools/learning-optimization/dream.js +38 -34
  521. package/dist/mcp/tools/learning-optimization/optimize.d.ts +52 -5
  522. package/dist/mcp/tools/learning-optimization/optimize.js +164 -80
  523. package/dist/mcp/tools/quality-assessment/gate.js +12 -1
  524. package/dist/mcp/tools/requirements-validation/quality-criteria.js +9 -2
  525. package/dist/memory/crdt/lww-register.js +11 -1
  526. package/dist/migration/agent-compat.js +7 -5
  527. package/dist/migrations/20261018_add_dream_insights_archive.d.ts +27 -0
  528. package/dist/migrations/20261018_add_dream_insights_archive.js +57 -0
  529. package/dist/routing/calibration/ema-calibrator.js +3 -1
  530. package/dist/shared/base-domain-plugin.d.ts +4 -0
  531. package/dist/shared/base-domain-plugin.js +6 -0
  532. package/dist/shared/git/git-analyzer.d.ts +49 -0
  533. package/dist/shared/git/git-analyzer.js +159 -319
  534. package/dist/shared/git/git-process.d.ts +22 -0
  535. package/dist/shared/git/git-process.js +37 -0
  536. package/dist/shared/git/index.d.ts +1 -0
  537. package/dist/shared/git/index.js +1 -0
  538. package/dist/shared/io/payload-path-guard.d.ts +75 -0
  539. package/dist/shared/io/payload-path-guard.js +190 -0
  540. package/dist/shared/llm/cache.js +4 -1
  541. package/dist/shared/llm/router/agent-router-config.js +2 -1
  542. package/dist/shared/llm/translation/tool-translator.js +2 -1
  543. package/dist/shared/security/compliance-patterns.js +3 -1
  544. package/dist/shared/test-runner-args.d.ts +5 -0
  545. package/dist/shared/test-runner-args.js +6 -1
  546. package/dist/shared/test-runner-process.d.ts +32 -0
  547. package/dist/shared/test-runner-process.js +105 -0
  548. package/dist/shared/test-runner-verdict.d.ts +9 -1
  549. package/dist/shared/test-runner-verdict.js +15 -4
  550. package/dist/shared/types/index.d.ts +9 -0
  551. package/dist/shared/types/index.js +13 -0
  552. package/dist/shared/utils/namespaced-search.d.ts +56 -0
  553. package/dist/shared/utils/namespaced-search.js +71 -0
  554. package/dist/shared/utils/safe-expression-evaluator.js +4 -3
  555. package/dist/strange-loop/infra-healing/infra-action-executor.js +7 -3
  556. package/dist/strange-loop/infra-healing/infra-healing-orchestrator.js +10 -9
  557. package/dist/strange-loop/infra-healing/recovery-playbook.js +13 -3
  558. package/dist/validation/gate-reexecute.js +7 -4
  559. package/dist/workers/daemon.d.ts +2 -0
  560. package/dist/workers/daemon.js +23 -6
  561. package/dist/workers/namespaced-keys.d.ts +4 -7
  562. package/dist/workers/namespaced-keys.js +4 -15
  563. package/dist/workers/quality-daemon/ci-monitor.js +9 -5
  564. package/dist/workers/quality-daemon/git-watcher.js +9 -9
  565. package/dist/workers/worker-env.d.ts +16 -8
  566. package/dist/workers/worker-env.js +25 -12
  567. package/dist/workers/worker-manager.js +4 -0
  568. package/dist/workers/workers/defect-predictor.d.ts +8 -3
  569. package/dist/workers/workers/defect-predictor.js +48 -49
  570. package/dist/workers/workers/learning-consolidation.d.ts +3 -1
  571. package/dist/workers/workers/learning-consolidation.js +22 -8
  572. package/dist/workflows/browser/workflow-loader.js +8 -5
  573. package/package.json +1 -1
  574. package/dist/cli/chunks/adapter-FC4EY447.js +0 -2
  575. package/dist/cli/chunks/agent-booster-wasm-W3V5P7LE.js +0 -2
  576. package/dist/cli/chunks/aqe-learning-engine-AUAL6UBL.js +0 -2
  577. package/dist/cli/chunks/base-2XML4WH7.js +0 -2
  578. package/dist/cli/chunks/browser-ZL7OLKJQ.js +0 -4
  579. package/dist/cli/chunks/browser-workflow-2IFEUAAK.js +0 -2
  580. package/dist/cli/chunks/chunk-4GYFONJB.js +0 -4
  581. package/dist/cli/chunks/chunk-6CKTLVYV.js +0 -2
  582. package/dist/cli/chunks/chunk-7H3GNRNA.js +0 -4
  583. package/dist/cli/chunks/chunk-EUVSSIGR.js +0 -12
  584. package/dist/cli/chunks/chunk-I4U7YCXG.js +0 -180
  585. package/dist/cli/chunks/chunk-J7RCI25Q.js +0 -2
  586. package/dist/cli/chunks/chunk-KNHLOANK.js +0 -4
  587. package/dist/cli/chunks/chunk-KNQUHGNY.js +0 -2
  588. package/dist/cli/chunks/chunk-LZWBUVCK.js +0 -5
  589. package/dist/cli/chunks/chunk-PIEKGKW6.js +0 -12
  590. package/dist/cli/chunks/chunk-PWA6XBW4.js +0 -120
  591. package/dist/cli/chunks/chunk-X6VYQVUM.js +0 -2
  592. package/dist/cli/chunks/chunk-YTYS2XSY.js +0 -2
  593. package/dist/cli/chunks/chunk-Z3LDUPLQ.js +0 -6
  594. package/dist/cli/chunks/client-RFUSQRUZ.js +0 -2
  595. package/dist/cli/chunks/core-handlers-ZC7QB432.js +0 -2
  596. package/dist/cli/chunks/cross-domain-router-GRBK7YFZ.js +0 -2
  597. package/dist/cli/chunks/daemon-JER6HE2J.js +0 -12
  598. package/dist/cli/chunks/domain-transfer-NF7UJW7B.js +0 -2
  599. package/dist/cli/chunks/dream-VALD726W.js +0 -2
  600. package/dist/cli/chunks/file-discovery-VL73ASNI.js +0 -2
  601. package/dist/cli/chunks/fleet-GJ66QFXK.js +0 -43
  602. package/dist/cli/chunks/heartbeat-scheduler-FSX7A3ZA.js +0 -2
  603. package/dist/cli/chunks/hnsw-adapter-UX2QT6RL.js +0 -2
  604. package/dist/cli/chunks/hnsw-index-WRDDAMXH.js +0 -2
  605. package/dist/cli/chunks/hybrid-backend-O67NGIB5.js +0 -2
  606. package/dist/cli/chunks/impact-analyzer-6VXWWYWM.js +0 -2
  607. package/dist/cli/chunks/init-wizard-VH34J4TL.js +0 -2
  608. package/dist/cli/chunks/kernel-KJD24NO7.js +0 -2
  609. package/dist/cli/chunks/knowledge-graph-343O2HEZ.js +0 -2
  610. package/dist/cli/chunks/llm-router-service-2M4BT2AO.js +0 -2
  611. package/dist/cli/chunks/load-test-OTQ2JQ5F.js +0 -2
  612. package/dist/cli/chunks/mcp-NOTDZBW5.js +0 -2
  613. package/dist/cli/chunks/memory-backend-4QSNRRV6.js +0 -2
  614. package/dist/cli/chunks/memory-handlers-YFFYRSM6.js +0 -2
  615. package/dist/cli/chunks/pattern-null-store-5USH5MNR.js +0 -2
  616. package/dist/cli/chunks/pipeline-7ATPA6LU.js +0 -19
  617. package/dist/cli/chunks/project-root-SRTA6TBL.js +0 -2
  618. package/dist/cli/chunks/protocol-executor-4WYPCNBS.js +0 -2
  619. package/dist/cli/chunks/qe-reasoning-bank-I4D6SFS4.js +0 -2
  620. package/dist/cli/chunks/queen-coordinator-24UMTZTE.js +0 -2
  621. package/dist/cli/chunks/router-AUD4GATI.js +0 -2
  622. package/dist/cli/chunks/routing-feedback-2FE6SIKQ.js +0 -2
  623. package/dist/cli/chunks/rvf-dual-writer-P5LEUF25.js +0 -2
  624. package/dist/cli/chunks/rvf-migration-adapter-ZCYD5YJS.js +0 -2
  625. package/dist/cli/chunks/rvf-native-adapter-QGV6BW2W.js +0 -2
  626. package/dist/cli/chunks/safe-db-Q6JUKG2A.js +0 -2
  627. package/dist/cli/chunks/schedule-44OSMGE5.js +0 -2
  628. package/dist/cli/chunks/scheduler-V3HO2QQT.js +0 -2
  629. package/dist/cli/chunks/sqlite-persistence-N5T7DWMR.js +0 -2
  630. package/dist/cli/chunks/sync-4IMMQEPT.js +0 -2
  631. package/dist/cli/chunks/task-handlers-FH6DNTHW.js +0 -9
  632. package/dist/cli/chunks/token-bootstrap-HMM3AHXM.js +0 -2
  633. package/dist/cli/chunks/tree-sitter-wasm-parser-56GDQCMR.js +0 -2
  634. package/dist/cli/chunks/unified-memory-RQ3Q4CU3.js +0 -2
  635. package/dist/cli/chunks/unified-memory-hnsw-ZOP5FEYX.js +0 -2
  636. package/dist/cli/chunks/unified-persistence-72OCJJKK.js +0 -2
  637. package/dist/cli/chunks/visual-security-7F5UV23J.js +0 -2
  638. package/dist/cli/chunks/witness-chain-KZ57QUFE.js +0 -2
  639. package/dist/cli/chunks/witness-chain-LFASSMZK.js +0 -2
  640. package/dist/cli/chunks/witness-chain-repair-TPHN4DXN.js +0 -2
  641. package/dist/cli/chunks/workflow-orchestrator-ZNWEUYBN.js +0 -2
  642. package/dist/cli/chunks/wrappers-WCAYIQUX.js +0 -2
@@ -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.15.8");process.exit(0)}
2
- import{b as $}from"./chunk-4YUBWU3E.js";import"./chunk-U3BWBP6B.js";import{a as k,b as W,c as b,g as C}from"./chunk-PPIM7B5G.js";import"./chunk-VKFVJCIH.js";import{c as v}from"./chunk-FWXNFPLS.js";import"./chunk-YTYS2XSY.js";import"./chunk-J7FLNP5L.js";import"./chunk-K5R3WUJP.js";import{Command as D}from"commander";import o from"chalk";function O(f,i){let h=f.indexOf("=");return h>0&&(i[f.substring(0,h)]=f.substring(h+1)),i}function V(f,i,h){let m=new D("workflow").description("Manage QE workflows and pipelines (ADR-041)");return m.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(n,t)=>{if(!await h())return;let c=(await import("path")).resolve(n);try{console.log(o.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.15.10");process.exit(0)}
2
+ import{b as $}from"./chunk-ZXPY654C.js";import"./chunk-M2QV7PT7.js";import{a as k,b as W,c as b,g as C}from"./chunk-4G63WT4F.js";import"./chunk-FZOWULMH.js";import{c as v}from"./chunk-ACWFKES2.js";import"./chunk-NSHU347M.js";import"./chunk-GHBNRMSJ.js";import"./chunk-OY2AHLSF.js";import{Command as D}from"commander";import o from"chalk";function O(f,i){let h=f.indexOf("=");return h>0&&(i[f.substring(0,h)]=f.substring(h+1)),i}function V(f,i,h){let m=new D("workflow").description("Manage QE workflows and pipelines (ADR-041)");return m.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(n,t)=>{if(!await h())return;let c=(await import("path")).resolve(n);try{console.log(o.blue(`
3
3
  Running workflow from: ${n}
4
4
  `));let l=k(c);if(!l.success||!l.workflow){console.log(o.red("Failed to parse pipeline:"));for(let d of l.errors)console.log(o.red(` ${d}`));await i(1)}let u={...v(t.params,"params")};if(l.pipeline){for(let d of l.pipeline.stages)if(d.params)for(let[y,p]of Object.entries(d.params))u[y]=p}if(!f.workflowOrchestrator.getWorkflow(l.workflow.id)){let d=f.workflowOrchestrator.registerWorkflow(l.workflow);d.success||(console.log(o.red(`Failed to register workflow: ${d.error.message}`)),await i(1))}let g=await f.workflowOrchestrator.executeWorkflow(l.workflow.id,u);if(!g.success){console.log(o.red(`Failed to start workflow: ${g.error.message}`)),await i(1);return}let a=g.value;if(console.log(o.cyan(` Execution ID: ${a}`)),console.log(o.gray(` Workflow: ${l.workflow.name}`)),console.log(o.gray(` Stages: ${l.workflow.steps.length}`)),console.log(""),t.watch){console.log(o.blue(`Workflow Progress:
5
5
  `));let d,y=Date.now();for(;;){let w=f.workflowOrchestrator.getWorkflowStatus(a);if(!w)break;if(!d||d.progress!==w.progress||d.status!==w.status||JSON.stringify(d.currentSteps)!==JSON.stringify(w.currentSteps)){process.stdout.write("\r\x1B[K");let S="\u2588".repeat(Math.floor(w.progress/5))+"\u2591".repeat(20-Math.floor(w.progress/5)),R=w.status==="completed"?o.green:w.status==="failed"?o.red:w.status==="running"?o.yellow:o.gray;console.log(` [${S}] ${w.progress}% - ${R(w.status)}`),w.currentSteps.length>0&&t.verbose&&console.log(o.gray(` Running: ${w.currentSteps.join(", ")}`)),d=w}if(w.status==="completed"||w.status==="failed"||w.status==="cancelled")break;await new Promise(S=>setTimeout(S,500))}let p=f.workflowOrchestrator.getWorkflowStatus(a);if(p){console.log("");let w=p.duration||Date.now()-y;p.status==="completed"?(console.log(o.green("Workflow completed successfully")),console.log(o.gray(` Duration: ${$(w)}`)),console.log(o.gray(` Completed: ${p.completedSteps.length} stages`)),p.skippedSteps.length>0&&console.log(o.yellow(` Skipped: ${p.skippedSteps.length} stages`))):p.status==="failed"?(console.log(o.red("Workflow failed")),console.log(o.red(` Error: ${p.error}`)),console.log(o.gray(` Failed stages: ${p.failedSteps.join(", ")}`))):console.log(o.yellow(`Workflow ${p.status}`))}console.log(""),await i(p?.status==="completed"?0:1);return}else console.log(o.green("Workflow execution started")),console.log(o.gray(` Use 'aqe workflow status ${a}' to check progress`));console.log(""),await i(0)}catch(l){console.error(o.red(`
@@ -35,10 +35,10 @@ Workflow cancelled: ${n}
35
35
  `)):console.log(o.red(`
36
36
  Failed to cancel workflow: ${t.error.message}
37
37
  `)),await i(t.success?0:1)}catch(t){console.error(o.red(`
38
- Failed to cancel workflow:`),t),await i(1)}}),m.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:n}=await import("./browser-workflow-2IFEUAAK.js"),e=await new n().invoke({});if(e.success&&e.data){console.log(o.blue(`
38
+ Failed to cancel workflow:`),t),await i(1)}}),m.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:n}=await import("./browser-workflow-MSBOLYUY.js"),e=await new n().invoke({});if(e.success&&e.data){console.log(o.blue(`
39
39
  Browser Workflow Templates:
40
40
  `));for(let c of e.data.availableTemplates)console.log(` ${o.cyan(c)}`);console.log("")}else console.log(o.red(`Failed: ${e.error||"Unknown error"}`));await i(0)}catch(n){console.error(o.red(`
41
- Failed:`),n),await i(1)}}),m.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",O,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(n,t)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-2IFEUAAK.js"),{writeOutput:c,toJSON:l}=await import("./ci-output-P7GQ6TKF.js"),s=new e,u={variables:t.var||{}};if(t.yaml)u.workflowYaml=t.yaml;else if(n)if(n.endsWith(".yaml")||n.endsWith(".yml")){let g=await import("fs"),d=(await import("path")).resolve(n);g.existsSync(d)||(console.log(o.red(`
41
+ Failed:`),n),await i(1)}}),m.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",O,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(n,t)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-MSBOLYUY.js"),{writeOutput:c,toJSON:l}=await import("./ci-output-FXZ7ZZW3.js"),s=new e,u={variables:t.var||{}};if(t.yaml)u.workflowYaml=t.yaml;else if(n)if(n.endsWith(".yaml")||n.endsWith(".yml")){let g=await import("fs"),d=(await import("path")).resolve(n);g.existsSync(d)||(console.log(o.red(`
42
42
  File not found: ${d}
43
43
  `)),await i(1)),u.workflowYaml=g.readFileSync(d,"utf-8")}else u.templateName=n;else console.log(o.red(`
44
44
  Provide a template name or --yaml. Use "workflow browser-list" to see templates.
@@ -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.15.10");process.exit(0)}
2
+ import{a,b,d as c,e as d}from"./chunk-MA7JIQ6U.js";import"./chunk-LRZY4KS2.js";import"./chunk-C522H7XR.js";import"./chunk-3Y7SPD72.js";import"./chunk-ACWFKES2.js";import"./chunk-AI4VYSFS.js";import"./chunk-VJQYDYAJ.js";import"./chunk-OBAREPDC.js";import"./chunk-6GP6W46M.js";import"./chunk-PGYMKGOE.js";import"./chunk-GZLZCZ42.js";import"./chunk-GJMLK5UT.js";import"./chunk-6PX4OXQO.js";import"./chunk-WQ4PYWSW.js";import"./chunk-NSHU347M.js";import"./chunk-AH3ZD3NJ.js";import"./chunk-HOZUDE4C.js";import"./chunk-ATHWDAXB.js";import"./chunk-N6PIIK6G.js";import"./chunk-WSF24I3D.js";import"./chunk-GHBNRMSJ.js";import"./chunk-XLZYRTNO.js";import"./chunk-EWFECZ2U.js";import"./chunk-VWNFAW2M.js";import"./chunk-XBVUVFJK.js";import"./chunk-EN2QSKFF.js";import"./chunk-OY2AHLSF.js";export{b as DEFAULT_WORKFLOW_CONFIG,a as WorkflowEvents,c as WorkflowOrchestrator,d as createWorkflowOrchestrator};
@@ -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.15.10");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-ODJNUMV3.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-ESUO3GTJ.js";import"./chunk-C522H7XR.js";import"./chunk-3Y7SPD72.js";import"./chunk-ACWFKES2.js";import"./chunk-AI4VYSFS.js";import"./chunk-VJQYDYAJ.js";import"./chunk-OBAREPDC.js";import"./chunk-6GP6W46M.js";import"./chunk-PGYMKGOE.js";import"./chunk-GZLZCZ42.js";import"./chunk-GJMLK5UT.js";import"./chunk-6PX4OXQO.js";import"./chunk-AH3ZD3NJ.js";import"./chunk-HOZUDE4C.js";import"./chunk-ATHWDAXB.js";import"./chunk-N6PIIK6G.js";import"./chunk-WSF24I3D.js";import"./chunk-GHBNRMSJ.js";import"./chunk-XLZYRTNO.js";import"./chunk-EWFECZ2U.js";import"./chunk-VWNFAW2M.js";import"./chunk-XBVUVFJK.js";import"./chunk-EN2QSKFF.js";import"./chunk-OY2AHLSF.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
@@ -117,10 +117,18 @@ Examples:
117
117
  console.log(chalk.red(` ${err.file}: ${err.error}`));
118
118
  }
119
119
  }
120
+ if (idx.skipped && idx.skipped.length > 0) {
121
+ console.log(chalk.yellow(`\n Skipped (${idx.skipped.length}):`));
122
+ for (const s of idx.skipped.slice(0, 5)) {
123
+ console.log(chalk.yellow(` ${s.path}: ${s.reason}`));
124
+ }
125
+ }
120
126
  }
121
127
  }
122
128
  else {
129
+ // #1096: nothing indexed (or indexing failed) is a failed command.
123
130
  console.log(chalk.red(`Failed: ${result.error?.message || 'Unknown error'}`));
131
+ return await cleanupAndExit(1);
124
132
  }
125
133
  }
126
134
  else if (action === 'search') {
@@ -14,6 +14,7 @@ import { QualityDaemon } from '../../workers/quality-daemon/index.js';
14
14
  import { PersistentWorkerMemory } from '../../workers/quality-daemon/persistent-memory.js';
15
15
  import { isPrivateIp } from '../../hooks/security/ssrf-guard.js';
16
16
  import { activateForegroundCommand } from '../foreground-command.js';
17
+ import { isWorkersEnabled } from '../../workers/worker-env.js';
17
18
  // In-process daemon instance (non-detached mode)
18
19
  let activeDaemon;
19
20
  export function createDaemonCommand() {
@@ -34,6 +35,13 @@ Examples:
34
35
  .option('--tick-interval <ms>', 'Tick interval in milliseconds', '30000')
35
36
  .option('--ci-interval <ms>', 'CI poll interval in milliseconds', '300000')
36
37
  .action(async (options) => {
38
+ // #1066: same switch as the MCP server (#1061). `aqe init --no-database`
39
+ // writes AQE_WORKERS_ENABLED=false.
40
+ if (!isWorkersEnabled()) {
41
+ console.log(chalk.yellow(`Background workers are disabled (AQE_WORKERS_ENABLED=${process.env.AQE_WORKERS_ENABLED}); ` +
42
+ 'QE Quality Daemon not started'));
43
+ return;
44
+ }
37
45
  if (activeDaemon?.running) {
38
46
  console.log(chalk.yellow('Daemon is already running'));
39
47
  const status = activeDaemon.getStatus();
@@ -16,6 +16,8 @@ import { createPersistentScheduler } from '../scheduler/index.js';
16
16
  import { integrateCodeIntelligence } from '../../init/fleet-integration.js';
17
17
  import { runFleetInitWizard } from '../wizards/fleet-wizard.js';
18
18
  import { FleetProgressManager, createTimedSpinner } from '../utils/progress.js';
19
+ import { FLEET_OPERATIONS, planFleetOperation } from '../utils/fleet-operation.js';
20
+ import { reportFleetVerdict } from '../utils/fleet-result.js';
19
21
  import { writeOutput, toJSON } from '../utils/ci-output.js';
20
22
  export function createFleetCommand(context, cleanupAndExit, ensureInitialized, registerDomainWorkflowActions) {
21
23
  const fleetCmd = new Command('fleet')
@@ -227,21 +229,31 @@ export function createFleetCommand(context, cleanupAndExit, ensureInitialized, r
227
229
  if (!Number.isSafeInteger(parallelCount) || parallelCount < 1) {
228
230
  throw new Error('--parallel must be a positive integer');
229
231
  }
230
- if (!['test', 'analyze', 'scan'].includes(operation)) {
232
+ if (!FLEET_OPERATIONS.includes(operation)) {
231
233
  throw new Error(`Unsupported operation: ${operation}`);
232
234
  }
235
+ // #1125: each operation runs a real domain handler with the input it
236
+ // needs, taken from the target; without that input it is refused.
237
+ const plan = await planFleetOperation(operation, options.target);
238
+ if (!plan.success) {
239
+ console.error(chalk.red(`\n Operation '${operation}' cannot run: ${plan.error}`));
240
+ return cleanupAndExit(1);
241
+ }
242
+ const { domain, payload } = plan.task;
243
+ const taskType = plan.task.type;
244
+ // #1081: refuse an operation whose task no domain plugin executes,
245
+ // instead of submitting work that can only fail at dispatch.
246
+ const executable = context.queen.validateTaskExecutable(taskType, [domain]);
247
+ if (!executable.success) {
248
+ console.error(chalk.red(`\n Operation '${operation}' cannot run: ${executable.error.message}`));
249
+ return cleanupAndExit(1);
250
+ }
233
251
  console.log(chalk.blue(`\n Fleet Operation: ${operation}\n`));
234
252
  const progress = new FleetProgressManager({
235
253
  title: `${operation.charAt(0).toUpperCase() + operation.slice(1)} Progress`,
236
254
  showEta: true,
237
255
  });
238
256
  progress.start(parallelCount);
239
- const domainMap = {
240
- test: 'test-generation',
241
- analyze: 'coverage-analysis',
242
- scan: 'security-compliance',
243
- };
244
- const domain = domainMap[operation];
245
257
  const agentOperations = Array.from({ length: parallelCount }, (_, i) => {
246
258
  const agentId = `${operation}-agent-${i + 1}`;
247
259
  return {
@@ -262,12 +274,10 @@ export function createFleetCommand(context, cleanupAndExit, ensureInitialized, r
262
274
  progress.updateAgent(op.id, 0, { status: 'running' });
263
275
  try {
264
276
  const taskResult = await context.queen.submitTask({
265
- type: operation === 'test' ? 'generate-tests' :
266
- operation === 'analyze' ? 'analyze-coverage' :
267
- 'scan-security',
277
+ type: taskType,
268
278
  priority: 'p1',
269
279
  targetDomains: [domain],
270
- payload: { target: options.target, workerId: op.id },
280
+ payload: { ...payload, target: options.target, workerId: op.id },
271
281
  timeout: 60000,
272
282
  });
273
283
  if (!taskResult.success) {
@@ -282,7 +292,7 @@ export function createFleetCommand(context, cleanupAndExit, ensureInitialized, r
282
292
  throw new Error(`Task status unavailable: ${taskResult.value}`);
283
293
  if (task.status === 'completed') {
284
294
  progress.completeAgent(op.id, true);
285
- return { id: op.id, success: true };
295
+ return { id: op.id, success: true, result: task.result };
286
296
  }
287
297
  if (task.status === 'failed' || task.status === 'cancelled') {
288
298
  throw new Error(task.error || `Task ${task.status}`);
@@ -294,7 +304,7 @@ export function createFleetCommand(context, cleanupAndExit, ensureInitialized, r
294
304
  catch (error) {
295
305
  console.error(chalk.red(` ${op.name}: ${error instanceof Error ? error.message : String(error)}`));
296
306
  progress.completeAgent(op.id, false);
297
- return { id: op.id, success: false };
307
+ return { id: op.id, success: false, result: undefined };
298
308
  }
299
309
  }));
300
310
  progress.stop();
@@ -303,12 +313,14 @@ export function createFleetCommand(context, cleanupAndExit, ensureInitialized, r
303
313
  console.log(chalk.blue('\n Operation Summary:'));
304
314
  console.log(chalk.gray(` Operation: ${operation}`));
305
315
  console.log(chalk.gray(` Target: ${options.target}`));
306
- console.log(chalk.green(` Successful: ${successful}`));
316
+ console.log(chalk.gray(` Completed: ${successful}`));
307
317
  if (failed > 0) {
308
318
  console.log(chalk.red(` Failed: ${failed}`));
309
319
  }
320
+ // #1125 review: a completed task is not a passed check.
321
+ const passed = reportFleetVerdict(operation, results);
310
322
  console.log('');
311
- await cleanupAndExit(failed > 0 ? 1 : 0);
323
+ await cleanupAndExit(passed ? 0 : 1);
312
324
  }
313
325
  catch (error) {
314
326
  console.error(chalk.red('\n Fleet operation failed:'), error);
@@ -115,7 +115,8 @@ export async function checkAndTriggerDream(memoryBackend) {
115
115
  domain: r.pattern.qeDomain || 'learning-optimization',
116
116
  patternType: r.pattern.patternType,
117
117
  confidence: r.pattern.confidence,
118
- successRate: r.pattern.successRate || 0.5,
118
+ // A real 0% stays 0%; a pattern never used has no rate (#1142 review).
119
+ successRate: r.pattern.usageCount > 0 ? r.pattern.successRate : undefined,
119
120
  }));
120
121
  await engine.loadPatternsAsConcepts(importPatterns);
121
122
  }
@@ -746,7 +747,13 @@ export async function consolidateExperiencesToPatterns() {
746
747
  patternId: existing.id,
747
748
  usageCount: agg.cnt,
748
749
  successfulUses: agg.successes,
749
- metrics: { source: 'session-consolidation', domain: agg.domain, agent: agg.agent },
750
+ // #1129: these aggregates are selected by success rate (HAVING
751
+ // success_rate >= 0.6) from hook-reported success, so they are uses,
752
+ // never measured outcomes.
753
+ metrics: {
754
+ source: 'session-consolidation', domain: agg.domain, agent: agg.agent,
755
+ outcome: 'unmeasured', outcomeBasis: 'session-consolidation',
756
+ },
750
757
  });
751
758
  db.prepare(`
752
759
  UPDATE qe_patterns
@@ -61,7 +61,7 @@ export function registerSessionHooks(hooks) {
61
61
  if (domainEntries.length > 0) {
62
62
  contextParts.push(`Top domains: ${domainEntries.map(([d, c]) => `${d}(${c})`).join(', ')}`);
63
63
  }
64
- if (stats.patternSuccessRate > 0) {
64
+ if (stats.patternSuccessRate !== null && stats.patternSuccessRate > 0) {
65
65
  contextParts.push(`Pattern success rate: ${(stats.patternSuccessRate * 100).toFixed(0)}%`);
66
66
  }
67
67
  if (stats.routingRequests > 0) {
@@ -131,7 +131,7 @@ export function registerSessionHooks(hooks) {
131
131
  }
132
132
  if (options.json) {
133
133
  const summary = stats
134
- ? `Session complete: ${stats.totalPatterns} patterns, ${stats.routingRequests} routings, ${(stats.patternSuccessRate * 100).toFixed(0)}% success rate`
134
+ ? `Session complete: ${stats.totalPatterns} patterns, ${stats.routingRequests} routings, ${stats.patternSuccessRate === null ? 'success rate: insufficient evidence' : `${(stats.patternSuccessRate * 100).toFixed(0)}% success rate`}`
135
135
  : 'Session complete';
136
136
  // Stop hooks don't support hookSpecificOutput — only simple fields
137
137
  printJson({
@@ -8,6 +8,7 @@ import chalk from 'chalk';
8
8
  import { QE_HOOK_EVENTS } from '../../../learning/qe-hooks.js';
9
9
  import { safeJsonParse } from '../../../shared/safe-json.js';
10
10
  import { committedPendingIndexPatternId } from '../../../learning/pattern-mutation-error.js';
11
+ import { formatLearningOutcomes, formatPatternSuccessRate } from '../../../learning/usage-outcome.js';
11
12
  import { getHooksSystem, printJson, printSuccess, printError, } from './hooks-shared.js';
12
13
  /**
13
14
  * How a learned pattern reached vector search, by cause (#981, review N1).
@@ -72,8 +73,8 @@ export function registerStatsHooks(hooks) {
72
73
  console.log(` Requests: ${stats.routingRequests}`);
73
74
  console.log(` Avg Confidence: ${(stats.avgRoutingConfidence * 100).toFixed(1)}%`);
74
75
  console.log(chalk.bold('\nLearning:'));
75
- console.log(` Outcomes: ${stats.learningOutcomes}`);
76
- console.log(` Success Rate: ${(stats.patternSuccessRate * 100).toFixed(1)}%`);
76
+ console.log(` Outcomes: ${formatLearningOutcomes(stats)}`);
77
+ console.log(` Success Rate: ${formatPatternSuccessRate(stats)}`);
77
78
  console.log(chalk.bold('\nSearch Performance:'));
78
79
  console.log(` Operations: ${stats.patternStoreStats.searchOperations}`);
79
80
  console.log(` Avg Latency: ${stats.patternStoreStats.avgSearchLatencyMs.toFixed(2)}ms`);
@@ -26,6 +26,7 @@ import { createSQLitePatternStore } from '../../learning/sqlite-persistence.js';
26
26
  import { getActiveEmbeddingSpaceIdentity } from '../../learning/real-embeddings.js';
27
27
  import { inspectEmbeddingSpaceRows } from '../../learning/embedding-space.js';
28
28
  import { committedPendingIndexPatternId } from '../../learning/pattern-mutation-error.js';
29
+ import { formatLearningOutcomes, formatPatternSuccessRate } from '../../learning/usage-outcome.js';
29
30
  // Extracted helpers
30
31
  import { initializeLearningSystem, printJson, printSuccess, printError, printInfo, displayDashboard, getDbPath, compressFile, decompressFile, verifyDatabaseIntegrity, getSchemaVersion, padRight, EXPORT_FORMAT_VERSION, DOMAIN_MAPPING, PATTERN_TYPE_MAPPING, } from './learning-helpers.js';
31
32
  // ============================================================================
@@ -241,8 +242,8 @@ function registerStatsCommand(learning) {
241
242
  console.log(chalk.bold('\nLearning:'));
242
243
  console.log(` Routing Requests: ${stats.routingRequests}`);
243
244
  console.log(` Avg Routing Confidence: ${(stats.avgRoutingConfidence * 100).toFixed(1)}%`);
244
- console.log(` Learning Outcomes: ${stats.learningOutcomes}`);
245
- console.log(` Pattern Success Rate: ${(stats.patternSuccessRate * 100).toFixed(1)}%`);
245
+ console.log(` Learning Outcomes: ${formatLearningOutcomes(stats)}`);
246
+ console.log(` Pattern Success Rate: ${formatPatternSuccessRate(stats)}`);
246
247
  console.log(chalk.bold('\nSearch Performance:'));
247
248
  console.log(` Operations: ${stats.patternStoreStats.searchOperations}`);
248
249
  console.log(` Avg Latency: ${stats.patternStoreStats.avgSearchLatencyMs.toFixed(2)}ms`);
@@ -1227,7 +1228,8 @@ function registerDreamCommand(learning) {
1227
1228
  description: result.pattern.description || `${result.pattern.patternType} pattern`,
1228
1229
  domain: result.pattern.qeDomain || 'learning-optimization',
1229
1230
  patternType: result.pattern.patternType, confidence: result.pattern.confidence,
1230
- successRate: result.pattern.successRate || 0.5,
1231
+ // A real 0% stays 0%; a pattern never used has no rate (#1142 review).
1232
+ successRate: result.pattern.usageCount > 0 ? result.pattern.successRate : undefined,
1231
1233
  }));
1232
1234
  loaded = await engine.loadPatternsAsConcepts(importPatterns);
1233
1235
  printInfo(`Loaded ${loaded} patterns from ReasoningBank as concepts`);
@@ -144,7 +144,8 @@ function isValidFlagName(name) {
144
144
  return VALID_FLAG_NAMES.includes(name);
145
145
  }
146
146
  function isValidProfile(name) {
147
- return name in PROFILES;
147
+ // #1136: own entries only; `constructor` is not a profile.
148
+ return Object.hasOwn(PROFILES, name);
148
149
  }
149
150
  // ============================================================================
150
151
  // Command: ruvector status
@@ -215,6 +215,12 @@ export function createTestCommand(context, cleanupAndExit, ensureInitialized) {
215
215
  console.log(` Failed: ${chalk.red(run.failed)}`);
216
216
  console.log(` Skipped: ${chalk.yellow(run.skipped)}`);
217
217
  console.log(` Duration: ${chalk.cyan(run.duration + 'ms')}`);
218
+ if (run.retries) {
219
+ const unmatched = run.retries.tests.filter(t => t.unmatched).length;
220
+ console.log(` Retries: ${chalk.white(run.retries.totalRetries)} run, ` +
221
+ `${chalk.green(run.retries.nowPassing)} now passing, ${chalk.red(run.retries.stillFailing)} still failing` +
222
+ (unmatched > 0 ? `, ${chalk.yellow(unmatched)} matched no test` : ''));
223
+ }
218
224
  }
219
225
  // Exit codes: 1 = failures, 2 = >20% skipped, 0 = all good
220
226
  if (run.failed > 0) {
@@ -5,9 +5,10 @@
5
5
  */
6
6
  import chalk from 'chalk';
7
7
  import { getStatusColor, formatDuration, } from './interfaces.js';
8
- import { ALL_DOMAINS, isDomainName } from '../../shared/types/index.js';
8
+ import { ALL_DOMAINS, invalidPriorityMessage, isDomainName, isPriority } from '../../shared/types/index.js';
9
9
  import { createTimedSpinner } from '../utils/progress.js';
10
10
  import { parseJsonOption } from '../helpers/safe-json.js';
11
+ import { validateIndexTaskPayload } from '../../domains/code-intelligence/index-path-guard.js';
11
12
  import { writeOutput, toJSON } from '../utils/ci-output.js';
12
13
  // ============================================================================
13
14
  // Task Handler
@@ -75,6 +76,12 @@ export class TaskHandler {
75
76
  console.error(chalk.gray(` Valid domains: ${ALL_DOMAINS.join(', ')}\n`));
76
77
  return this.cleanupAndExit(1);
77
78
  }
79
+ // #1108: reject a priority outside the allowed set. Parity with MCP
80
+ // `task_submit`.
81
+ if (!isPriority(options.priority)) {
82
+ console.error(chalk.red(`\n ${invalidPriorityMessage(options.priority)}\n`));
83
+ return this.cleanupAndExit(1);
84
+ }
78
85
  // #734 C: a CLI-submitted task runs inside this process and is not
79
86
  // persisted, so a detached submit would report an ID for work that is
80
87
  // abandoned when the command exits. Refuse it rather than claim success.
@@ -93,6 +100,19 @@ export class TaskHandler {
93
100
  const taskType = type;
94
101
  const payload = parseJsonOption(options.payload, 'payload');
95
102
  const targetDomains = options.domain ? [options.domain] : [];
103
+ // #1075: reject a type that no domain plugin executes instead of waiting
104
+ // out the timeout on a task that can never finish.
105
+ const executable = context.queen.validateTaskExecutable(taskType, targetDomains);
106
+ if (!executable.success) {
107
+ console.error(chalk.red(`\n ${executable.error.message}\n`));
108
+ return this.cleanupAndExit(1);
109
+ }
110
+ // #1096: same boundary check as MCP task_submit.
111
+ const payloadError = validateIndexTaskPayload(taskType, payload);
112
+ if (payloadError) {
113
+ console.error(chalk.red(`\n ${payloadError.message}\n`));
114
+ return this.cleanupAndExit(1);
115
+ }
96
116
  console.log(chalk.blue(`\n Submitting task: ${taskType}\n`));
97
117
  // Use spinner for submit operation
98
118
  const spinner = options.progress !== false
@@ -67,6 +67,15 @@ export interface TestRunSummary {
67
67
  skipped: number;
68
68
  duration: number;
69
69
  tests?: TestResult[];
70
+ /** #1130: what the retries of failed tests did, when retries were requested. */
71
+ retries?: {
72
+ totalRetries: number;
73
+ nowPassing: number;
74
+ stillFailing: number;
75
+ tests: Array<{
76
+ unmatched?: boolean;
77
+ }>;
78
+ };
70
79
  }
71
80
  export interface CoverageResult {
72
81
  /** `null` = the report never collected that metric (#995); not 0%. */
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Agentic QE v3 - `aqe fleet run` operation tasks (#1125)
3
+ *
4
+ * Each fleet operation runs a real domain handler with the payload it
5
+ * requires, built from the target on disk:
6
+ * - test -> test-generation `generate-tests` with the target's source files
7
+ * - scan -> security-compliance `sast-scan` with the target's JS/TS files
8
+ * - analyze -> coverage-analysis `analyze-coverage` with the coverage report
9
+ * that already exists for the target
10
+ * When the target cannot supply that input the operation is refused with what
11
+ * is missing. Nothing is estimated or made up to fill a payload.
12
+ */
13
+ import type { DomainName } from '../../shared/types/index.js';
14
+ export declare const FLEET_OPERATIONS: readonly ["test", "analyze", "scan"];
15
+ export type FleetOperation = typeof FLEET_OPERATIONS[number];
16
+ export interface FleetOperationTask {
17
+ domain: DomainName;
18
+ type: string;
19
+ payload: Record<string, unknown>;
20
+ }
21
+ export type FleetOperationPlan = {
22
+ success: true;
23
+ task: FleetOperationTask;
24
+ } | {
25
+ success: false;
26
+ error: string;
27
+ };
28
+ /** Coverage threshold `analyze` judges against, as `aqe coverage` does by default. */
29
+ export declare const FLEET_COVERAGE_THRESHOLD = 80;
30
+ /** Build the domain task for a fleet operation on `target`, or say why it cannot run. */
31
+ export declare function planFleetOperation(operation: FleetOperation, target: string): Promise<FleetOperationPlan>;
32
+ //# sourceMappingURL=fleet-operation.d.ts.map
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Agentic QE v3 - `aqe fleet run` operation tasks (#1125)
3
+ *
4
+ * Each fleet operation runs a real domain handler with the payload it
5
+ * requires, built from the target on disk:
6
+ * - test -> test-generation `generate-tests` with the target's source files
7
+ * - scan -> security-compliance `sast-scan` with the target's JS/TS files
8
+ * - analyze -> coverage-analysis `analyze-coverage` with the coverage report
9
+ * that already exists for the target
10
+ * When the target cannot supply that input the operation is refused with what
11
+ * is missing. Nothing is estimated or made up to fill a payload.
12
+ */
13
+ import { existsSync, statSync } from 'node:fs';
14
+ import { extname, resolve } from 'node:path';
15
+ import { walkSourceFiles } from './file-discovery.js';
16
+ import { summarizeCoverage } from './coverage-data.js';
17
+ import { describeNoData, resolveExistingCoverage } from '../../coordination/handlers/coverage-target.js';
18
+ import { MAX_SAST_FILE_BYTES } from '../../domains/security-compliance/sast-path-guard.js';
19
+ export const FLEET_OPERATIONS = ['test', 'analyze', 'scan'];
20
+ /** Coverage threshold `analyze` judges against, as `aqe coverage` does by default. */
21
+ export const FLEET_COVERAGE_THRESHOLD = 80;
22
+ /** Extensions the built-in SAST patterns cover (sast-scanner.ts). */
23
+ const SAST_EXTENSIONS = new Set(['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs']);
24
+ const refuse = (error) => ({ success: false, error });
25
+ /** Build the domain task for a fleet operation on `target`, or say why it cannot run. */
26
+ export async function planFleetOperation(operation, target) {
27
+ const targetPath = resolve(target);
28
+ if (!existsSync(targetPath))
29
+ return refuse(`Target does not exist: ${target}`);
30
+ switch (operation) {
31
+ case 'test': {
32
+ const sourceFiles = walkSourceFiles(targetPath, { includeTests: false });
33
+ if (sourceFiles.length === 0)
34
+ return refuse(`No source files under ${target} to generate tests for.`);
35
+ return { success: true, task: { domain: 'test-generation', type: 'generate-tests', payload: { sourceFiles } } };
36
+ }
37
+ case 'scan': {
38
+ const files = walkSourceFiles(targetPath, { includeTests: true })
39
+ .filter(file => SAST_EXTENSIONS.has(extname(file).toLowerCase()));
40
+ if (files.length === 0) {
41
+ return refuse(`No files under ${target} that the SAST scanner covers (${[...SAST_EXTENSIONS].join(' ')}).`);
42
+ }
43
+ // sast-scan refuses the whole request when a file exceeds its limit.
44
+ const tooLarge = files.filter(file => statSync(file).size > MAX_SAST_FILE_BYTES);
45
+ if (tooLarge.length > 0) {
46
+ return refuse(`${tooLarge.length} files under ${target} are over the ${MAX_SAST_FILE_BYTES / (1024 * 1024)} MB ` +
47
+ `SAST limit (${tooLarge.slice(0, 5).join(', ')}${tooLarge.length > 5 ? ', …' : ''}). Narrow --target to the source to scan.`);
48
+ }
49
+ return { success: true, task: { domain: 'security-compliance', type: 'sast-scan', payload: { files } } };
50
+ }
51
+ case 'analyze': {
52
+ const existing = await resolveExistingCoverage(targetPath);
53
+ if (existing.status === 'no-report') {
54
+ return refuse(`No coverage report for project ${existing.projectRoot}, so there is no coverage to ` +
55
+ 'analyze. Run your tests with coverage first (e.g. `npm test -- --coverage`), or pass the report ' +
56
+ 'file as --target.');
57
+ }
58
+ if (existing.status === 'target-missing')
59
+ return refuse(describeNoData('target-missing', target, null));
60
+ const { evaluation, projectRoot } = existing;
61
+ if (evaluation.status !== 'measured')
62
+ return refuse(describeNoData(evaluation.reason, target, projectRoot));
63
+ const coverageData = { files: evaluation.files, summary: summarizeCoverage(evaluation.files) };
64
+ return {
65
+ success: true,
66
+ task: { domain: 'coverage-analysis', type: 'analyze-coverage', payload: { coverageData, threshold: FLEET_COVERAGE_THRESHOLD } },
67
+ };
68
+ }
69
+ }
70
+ }
71
+ //# sourceMappingURL=fleet-operation.js.map
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Agentic QE v3 - `aqe fleet run` result summary (#1125 review)
3
+ *
4
+ * A completed task is not a passed check. The summary shows what each
5
+ * operation's handler returned and turns it into a verdict:
6
+ * - scan fails on a critical or high finding, or when the scan evidence
7
+ * says not every requested file was analyzed;
8
+ * - test fails when no test was generated or a generated test failed
9
+ * the test quality gate;
10
+ * - analyze fails when coverage over the collected metrics is below the
11
+ * threshold (an uncollected metric is not counted as 0%).
12
+ * A result without the expected shape fails rather than passing unread.
13
+ */
14
+ import { type FleetOperation } from './fleet-operation.js';
15
+ export interface FleetResultSummary {
16
+ lines: string[];
17
+ passed: boolean;
18
+ /** Why the verdict failed; empty when it passed. */
19
+ reasons: string[];
20
+ }
21
+ /** Summarize one completed task's result for its fleet operation. */
22
+ export declare function summarizeFleetResult(operation: FleetOperation, result: unknown): FleetResultSummary;
23
+ /**
24
+ * Print each distinct worker result once and the verdict over all workers.
25
+ * Returns whether the operation passed.
26
+ */
27
+ export declare function reportFleetVerdict(operation: FleetOperation, workers: ReadonlyArray<{
28
+ success: boolean;
29
+ result: unknown;
30
+ }>, log?: (line: string) => void): boolean;
31
+ //# sourceMappingURL=fleet-result.d.ts.map
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Agentic QE v3 - `aqe fleet run` result summary (#1125 review)
3
+ *
4
+ * A completed task is not a passed check. The summary shows what each
5
+ * operation's handler returned and turns it into a verdict:
6
+ * - scan fails on a critical or high finding, or when the scan evidence
7
+ * says not every requested file was analyzed;
8
+ * - test fails when no test was generated or a generated test failed
9
+ * the test quality gate;
10
+ * - analyze fails when coverage over the collected metrics is below the
11
+ * threshold (an uncollected metric is not counted as 0%).
12
+ * A result without the expected shape fails rather than passing unread.
13
+ */
14
+ import chalk from 'chalk';
15
+ import { FLEET_COVERAGE_THRESHOLD } from './fleet-operation.js';
16
+ import { thresholdVerdict } from '../../coordination/handlers/coverage-target.js';
17
+ const SEVERITIES = ['critical', 'high', 'medium', 'low', 'informational'];
18
+ const MAX_LISTED_FINDINGS = 10;
19
+ const asRecord = (value) => value !== null && typeof value === 'object' ? value : undefined;
20
+ const pct = (value) => typeof value === 'number' ? `${value}%` : 'n/a';
21
+ function summarizeScan(result) {
22
+ const summary = asRecord(result.summary);
23
+ const findings = Array.isArray(result.vulnerabilities) ? result.vulnerabilities : undefined;
24
+ if (!summary || !findings)
25
+ return unreadable('scan');
26
+ const count = (severity) => Number(summary[severity] ?? 0);
27
+ const coverage = asRecord(result.coverage);
28
+ const evidence = asRecord(result.evidence);
29
+ const completeness = typeof evidence?.completeness === 'string' ? evidence.completeness : 'unknown';
30
+ const lines = [
31
+ `Findings: ${SEVERITIES.map(s => `${s} ${count(s)}`).join(', ')}`,
32
+ `Files scanned: ${coverage?.filesScanned ?? 'n/a'} (evidence: ${completeness})`,
33
+ ...findings.slice(0, MAX_LISTED_FINDINGS).map(f => ` [${f.severity ?? '?'}] ${f.title ?? 'untitled'} @ ${f.location?.file ?? '?'}:${f.location?.line ?? '?'}`),
34
+ ];
35
+ if (findings.length > MAX_LISTED_FINDINGS)
36
+ lines.push(` … ${findings.length - MAX_LISTED_FINDINGS} more`);
37
+ const reasons = [];
38
+ if (count('critical') + count('high') > 0)
39
+ reasons.push(`${count('critical')} critical and ${count('high')} high findings`);
40
+ if (completeness !== 'complete')
41
+ reasons.push(`scan evidence is ${completeness}: not every requested file was analyzed`);
42
+ return { lines, passed: reasons.length === 0, reasons };
43
+ }
44
+ function summarizeTests(result) {
45
+ if (!Array.isArray(result.tests))
46
+ return unreadable('test');
47
+ const tests = result.tests;
48
+ const assertions = tests.reduce((sum, t) => sum + (typeof t.assertions === 'number' ? t.assertions : 0), 0);
49
+ const modes = [...new Set(tests.map(t => t.generationMode).filter((m) => typeof m === 'string'))];
50
+ const gateFailed = tests.filter(t => asRecord(t.qualityGateResult)?.passed === false);
51
+ const lines = [
52
+ `Tests generated: ${tests.length}, assertions: ${assertions}` +
53
+ (modes.length > 0 ? `, generation mode: ${modes.join(', ')}` : ''),
54
+ `Quality gate: ${gateFailed.length === 0 ? 'passed' : `failed for ${gateFailed.length} of ${tests.length} tests`}`,
55
+ ...gateFailed.slice(0, MAX_LISTED_FINDINGS).map(t => ` ${t.testFile ?? t.name ?? t.id}`),
56
+ ];
57
+ const reasons = [];
58
+ if (tests.length === 0)
59
+ reasons.push('no tests were generated');
60
+ if (gateFailed.length > 0)
61
+ reasons.push(`${gateFailed.length} generated tests failed the test quality gate`);
62
+ return { lines, passed: reasons.length === 0, reasons };
63
+ }
64
+ function summarizeCoverage(result) {
65
+ const summary = asRecord(result.summary);
66
+ if (!summary || typeof summary.line !== 'number')
67
+ return unreadable('analyze');
68
+ const collected = asRecord(result.collected);
69
+ const isCollected = (name) => collected?.[name] !== false;
70
+ // An uncollected metric is 0 by construction (#1027 B2): show it as n/a and
71
+ // leave it out of the verdict, as `aqe coverage` does (#995).
72
+ const metric = (name) => isCollected(name) ? pct(summary[name]) : 'n/a (not collected)';
73
+ const num = (name) => typeof summary[name] === 'number' ? summary[name] : 0;
74
+ const verdict = thresholdVerdict({ line: num('line'), branch: num('branch'), function: num('function'), statement: num('statement') }, FLEET_COVERAGE_THRESHOLD, { branch: isCollected('branch'), function: isCollected('function'), statement: isCollected('statement') });
75
+ const lines = [
76
+ `Coverage: line ${pct(summary.line)}, branch ${metric('branch')}, function ${metric('function')}, ` +
77
+ `statement ${metric('statement')} over ${summary.files ?? 'n/a'} files`,
78
+ `Overall over collected metrics: ${verdict.overall.toFixed(1)}% (threshold ${FLEET_COVERAGE_THRESHOLD}%)`,
79
+ ];
80
+ const reasons = verdict.meetsThreshold ? [] : [`coverage is below the ${FLEET_COVERAGE_THRESHOLD}% threshold`];
81
+ return { lines, passed: reasons.length === 0, reasons };
82
+ }
83
+ function unreadable(operation) {
84
+ const reason = `the ${operation} result has no readable summary`;
85
+ return { lines: [`Result: ${reason}`], passed: false, reasons: [reason] };
86
+ }
87
+ /** Summarize one completed task's result for its fleet operation. */
88
+ export function summarizeFleetResult(operation, result) {
89
+ const record = asRecord(result);
90
+ if (!record)
91
+ return unreadable(operation);
92
+ switch (operation) {
93
+ case 'scan': return summarizeScan(record);
94
+ case 'test': return summarizeTests(record);
95
+ case 'analyze': return summarizeCoverage(record);
96
+ }
97
+ }
98
+ /**
99
+ * Print each distinct worker result once and the verdict over all workers.
100
+ * Returns whether the operation passed.
101
+ */
102
+ export function reportFleetVerdict(operation, workers, log = line => console.log(line)) {
103
+ const summaries = workers.filter(w => w.success).map(w => summarizeFleetResult(operation, w.result));
104
+ const shown = new Set();
105
+ for (const summary of summaries) {
106
+ const text = summary.lines.join('\n');
107
+ if (shown.has(text))
108
+ continue;
109
+ shown.add(text);
110
+ log('');
111
+ for (const line of summary.lines)
112
+ log(` ${line}`);
113
+ }
114
+ const incomplete = workers.filter(w => !w.success).length;
115
+ const reasons = [...new Set(summaries.flatMap(s => s.reasons))];
116
+ if (incomplete > 0)
117
+ reasons.unshift(`${incomplete} of ${workers.length} workers did not complete`);
118
+ log('');
119
+ log(reasons.length === 0
120
+ ? chalk.green(' Verdict: PASSED')
121
+ : chalk.red(` Verdict: FAILED (${reasons.join('; ')})`));
122
+ return reasons.length === 0;
123
+ }
124
+ //# sourceMappingURL=fleet-result.js.map