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
@@ -37,6 +37,8 @@ export interface DAGTask {
37
37
  result?: unknown;
38
38
  /** Error message from failed execution */
39
39
  error?: string;
40
+ /** Caller-supplied completion evidence reference (set by complete()) */
41
+ evidenceRef?: string;
40
42
  }
41
43
  /** Input for adding a task to the DAG */
42
44
  export interface AddTaskInput {
@@ -76,8 +78,21 @@ export interface DAGStats {
76
78
  /** Whether the graph contains cycles (should always be false for a valid DAG) */
77
79
  readonly hasCycles: boolean;
78
80
  }
81
+ /** Serialized view of a TaskDAG returned by toJSON() */
82
+ export interface DAGSnapshot {
83
+ readonly graphId: string;
84
+ readonly graphRevision: number;
85
+ readonly tasks: DAGTask[];
86
+ readonly edges: Array<{
87
+ from: string;
88
+ to: string;
89
+ }>;
90
+ readonly receipts: PrerequisiteReceiptV1[];
91
+ readonly removedTasks: RemovedTaskRecord[];
92
+ readonly stats: DAGStats;
93
+ }
79
94
  /** Event types emitted by the DAG */
80
- export type DAGEventType = 'task-ready' | 'task-completed' | 'task-failed' | 'tasks-unblocked' | 'cycle-detected';
95
+ export type DAGEventType = 'task-ready' | 'task-completed' | 'task-failed' | 'task-cancelled' | 'task-removed' | 'prerequisite-waived' | 'tasks-unblocked' | 'cycle-detected';
81
96
  /** Event emitted by the DAG when state changes occur */
82
97
  export interface DAGEvent {
83
98
  /** Type of event that occurred */
@@ -88,6 +103,12 @@ export interface DAGEvent {
88
103
  readonly unblockedTaskIds?: string[];
89
104
  /** Node IDs involved in detected cycles (for 'cycle-detected' events) */
90
105
  readonly cycleNodes?: string[];
106
+ /** Prerequisite ID (for 'prerequisite-waived' events) */
107
+ readonly prerequisiteId?: string;
108
+ /** Dependents whose edge was tombstoned (for 'task-removed' events) */
109
+ readonly affectedTaskIds?: string[];
110
+ /** Graph revision at which the change was committed */
111
+ readonly graphRevision?: number;
91
112
  /** Timestamp when the event occurred (epoch ms) */
92
113
  readonly timestamp: number;
93
114
  }
@@ -100,4 +121,142 @@ export interface DAGSchedulerConfig {
100
121
  }
101
122
  /** Event handler callback for DAG events */
102
123
  export type DAGEventHandler = (event: DAGEvent) => void;
124
+ /**
125
+ * Typed state of one prerequisite edge (dependent -> prerequisite).
126
+ * Only SATISFIED and WAIVED allow a dependent to become ready.
127
+ */
128
+ export type PrerequisiteDisposition = 'UNRESOLVED' | 'SATISFIED' | 'FAILED' | 'CANCELLED' | 'WAIVED' | 'MISSING' | 'REMOVED';
129
+ /** Schema identifier for PrerequisiteReceiptV1 */
130
+ export declare const PREREQUISITE_RECEIPT_SCHEMA: "aqe.task-prerequisite@1";
131
+ /** Waiver attached to a WAIVED receipt */
132
+ export interface PrerequisiteWaiver {
133
+ /** Who issued the waiver */
134
+ readonly actor: string;
135
+ /** Why the prerequisite is waived */
136
+ readonly reason: string;
137
+ /** Reference to the authority (ticket, policy, approval) backing the waiver */
138
+ readonly authorityRef?: string;
139
+ /** ISO-8601 time the waiver was issued */
140
+ readonly issuedAt: string;
141
+ }
142
+ /** Immutable record of a prerequisite edge changing disposition */
143
+ export interface PrerequisiteReceiptV1 {
144
+ readonly schema: typeof PREREQUISITE_RECEIPT_SCHEMA;
145
+ readonly graphId: string;
146
+ /** Graph revision at which this disposition was committed */
147
+ readonly graphRevision: number;
148
+ /** Dependent task */
149
+ readonly taskId: string;
150
+ /** Prerequisite task */
151
+ readonly prerequisiteId: string;
152
+ readonly disposition: PrerequisiteDisposition;
153
+ /** Evidence bound to a SATISFIED disposition (from complete()) */
154
+ readonly completionEvidenceRef?: string;
155
+ /** Present only on WAIVED receipts */
156
+ readonly waiver?: PrerequisiteWaiver;
157
+ /** ISO-8601 time the disposition was observed */
158
+ readonly observedAt: string;
159
+ }
160
+ /** Current disposition of one prerequisite edge, with its latest receipt */
161
+ export interface PrerequisiteEdgeState {
162
+ readonly prerequisiteId: string;
163
+ readonly disposition: PrerequisiteDisposition;
164
+ readonly receipt: PrerequisiteReceiptV1;
165
+ }
166
+ /** Input for TaskDAG.waivePrerequisite() */
167
+ export interface WaivePrerequisiteInput {
168
+ /** Dependent task whose prerequisite is waived */
169
+ readonly taskId: string;
170
+ /** Prerequisite being waived */
171
+ readonly prerequisiteId: string;
172
+ /** Who is waiving (required, non-empty) */
173
+ readonly actor: string;
174
+ /** Why it is waived (required, non-empty) */
175
+ readonly reason: string;
176
+ /** Optional reference to the authority backing the waiver */
177
+ readonly authorityRef?: string;
178
+ /** Compare-and-swap guard: reject if the graph revision has moved */
179
+ readonly expectedRevision?: number;
180
+ }
181
+ /** Context passed to a waiver policy */
182
+ export interface WaiverRequest {
183
+ readonly graphId: string;
184
+ readonly graphRevision: number;
185
+ readonly taskId: string;
186
+ readonly prerequisiteId: string;
187
+ readonly actor: string;
188
+ readonly reason: string;
189
+ readonly authorityRef?: string;
190
+ readonly currentDisposition: PrerequisiteDisposition;
191
+ }
192
+ /** Policy deciding whether a waiver is authorized; return false to reject */
193
+ export type WaiverPolicy = (request: WaiverRequest) => boolean;
194
+ /** Options for constructing a TaskDAG */
195
+ export interface TaskDAGOptions {
196
+ /** Stable graph identity (defaults to a random UUID-based ID) */
197
+ readonly graphId?: string;
198
+ /** Optional authorization policy applied to every waiver */
199
+ readonly waiverPolicy?: WaiverPolicy;
200
+ }
201
+ /** Options for TaskDAG.complete() */
202
+ export interface CompleteTaskOptions {
203
+ /** Evidence reference bound to the SATISFIED receipts this completion emits */
204
+ readonly evidenceRef?: string;
205
+ /** Compare-and-swap guard: reject if the graph revision has moved */
206
+ readonly expectedRevision?: number;
207
+ }
208
+ /** Options for TaskDAG.removeTask() */
209
+ export interface RemoveTaskOptions {
210
+ /** Compare-and-swap guard: reject if the graph revision has moved */
211
+ readonly expectedRevision?: number;
212
+ }
213
+ /** A task that was removed from the graph, kept as a tombstone */
214
+ export interface RemovedTaskRecord {
215
+ readonly taskId: string;
216
+ /** Status the task had when it was removed */
217
+ readonly statusAtRemoval: DAGTaskStatus;
218
+ readonly graphRevision: number;
219
+ }
220
+ /**
221
+ * Obligation accounting over the original graph. Removed tasks stay in
222
+ * the denominator; completed-then-removed tasks still count as completed.
223
+ */
224
+ export interface ObligationSummary {
225
+ readonly graphId: string;
226
+ readonly graphRevision: number;
227
+ /** Every task ever added since construction or clear() */
228
+ readonly originalTotal: number;
229
+ /** Tasks currently present in the graph */
230
+ readonly currentTotal: number;
231
+ readonly completed: number;
232
+ readonly failed: number;
233
+ readonly cancelled: number;
234
+ /** Tasks removed before completing */
235
+ readonly removed: number;
236
+ /** Live tasks not yet terminal (pending, blocked, ready, in_progress) */
237
+ readonly notRun: number;
238
+ /** Live edges whose current disposition is WAIVED */
239
+ readonly waivedEdges: number;
240
+ /** Live edges whose current disposition is MISSING */
241
+ readonly missingEdges: number;
242
+ /** Live edges whose current disposition is REMOVED */
243
+ readonly removedEdges: number;
244
+ }
245
+ /** Progress report from DAGScheduler.getProgress() */
246
+ export interface DAGProgress {
247
+ /** Completed obligations (including completed tasks later removed) */
248
+ readonly completed: number;
249
+ /** Original obligation denominator; does not shrink when tasks are removed */
250
+ readonly total: number;
251
+ /** completed / total, rounded */
252
+ readonly percentage: number;
253
+ /** Tasks currently present in the graph */
254
+ readonly currentTotal: number;
255
+ readonly failed: number;
256
+ readonly cancelled: number;
257
+ readonly removed: number;
258
+ readonly notRun: number;
259
+ readonly waivedEdges: number;
260
+ readonly graphRevision: number;
261
+ }
103
262
  //# sourceMappingURL=types.d.ts.map
@@ -5,5 +5,6 @@
5
5
  * Defines the core types for representing tasks as nodes in a directed
6
6
  * acyclic graph, with dependency edges controlling execution order.
7
7
  */
8
- export {};
8
+ /** Schema identifier for PrerequisiteReceiptV1 */
9
+ export const PREREQUISITE_RECEIPT_SCHEMA = 'aqe.task-prerequisite@1';
9
10
  //# sourceMappingURL=types.js.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Agentic QE v3 - Task executability check (#1075, #1081)
3
+ *
4
+ * A Queen-owned task runs only if the domain plugin it is assigned to has an
5
+ * `executeTask` handler for its type. Anything else used to fall through to
6
+ * the `TaskAssigned` event fallback, which nothing answers, so the task stayed
7
+ * `running` and held a concurrency slot for good.
8
+ */
9
+ import type { DomainName } from '../shared/types';
10
+ import type { DomainPlugin } from '../kernel/interfaces';
11
+ /**
12
+ * List the domains among `domains` that cannot execute `type`, each with the
13
+ * reason and, where known, the types it does support. An empty list means
14
+ * every domain can run the task.
15
+ */
16
+ export declare function findDomainsWithoutHandler(domainPlugins: ReadonlyMap<DomainName, DomainPlugin>, type: string, domains: readonly DomainName[]): string[];
17
+ export declare function describeMissingHandler(type: string, gaps: readonly string[]): string;
18
+ //# sourceMappingURL=task-executability.d.ts.map
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Agentic QE v3 - Task executability check (#1075, #1081)
3
+ *
4
+ * A Queen-owned task runs only if the domain plugin it is assigned to has an
5
+ * `executeTask` handler for its type. Anything else used to fall through to
6
+ * the `TaskAssigned` event fallback, which nothing answers, so the task stayed
7
+ * `running` and held a concurrency slot for good.
8
+ */
9
+ /**
10
+ * List the domains among `domains` that cannot execute `type`, each with the
11
+ * reason and, where known, the types it does support. An empty list means
12
+ * every domain can run the task.
13
+ */
14
+ export function findDomainsWithoutHandler(domainPlugins, type, domains) {
15
+ const gaps = [];
16
+ for (const domain of domains) {
17
+ const plugin = domainPlugins.get(domain);
18
+ if (!plugin) {
19
+ gaps.push(`${domain} (domain not loaded)`);
20
+ }
21
+ else if (!plugin.executeTask || !plugin.canHandleTask?.(type)) {
22
+ const supported = plugin.getSupportedTaskTypes?.() ?? [];
23
+ gaps.push(supported.length > 0 ? `${domain} (supported: ${supported.join(', ')})` : domain);
24
+ }
25
+ }
26
+ return gaps;
27
+ }
28
+ export function describeMissingHandler(type, gaps) {
29
+ return `No handler for task type '${type}' in domain ${gaps.join('; ')}`;
30
+ }
31
+ //# sourceMappingURL=task-executability.js.map
@@ -114,6 +114,7 @@ export declare class DomainTaskExecutor implements TaskHandlerContext {
114
114
  */
115
115
  getCodeIntelligenceCoordinator(): Promise<ProjectMetricsCollector | undefined>;
116
116
  getQualityAnalyzer(): QualityAnalyzerService;
117
+ getTestExecutionAPI(): Promise<import('../domains/test-execution/interfaces').ITestExecutionAPI | undefined>;
117
118
  private registerHandlers;
118
119
  /**
119
120
  * Get or create Agent Booster adapter (instance-level)
@@ -273,6 +273,11 @@ export class DomainTaskExecutor {
273
273
  }
274
274
  return this.qualityAnalyzer;
275
275
  }
276
+ async getTestExecutionAPI() {
277
+ return this.kernel.getDomainAPIAsync
278
+ ? this.kernel.getDomainAPIAsync('test-execution')
279
+ : this.kernel.getDomainAPI('test-execution');
280
+ }
276
281
  // ============================================================================
277
282
  // Handler Registration (delegates to extracted handler modules)
278
283
  // ============================================================================
@@ -8,6 +8,7 @@
8
8
  import * as fs from 'node:fs/promises';
9
9
  import { parse as parseYaml } from 'yaml';
10
10
  import { ok, err, ALL_DOMAINS } from '../shared/types/index.js';
11
+ import { getOwn } from '../shared/utils/safe-record.js';
11
12
  const VALID_OPERATORS = [
12
13
  'eq', 'neq', 'gt', 'gte', 'lt', 'lte', 'contains', 'exists',
13
14
  ];
@@ -380,8 +381,10 @@ export class YamlPipelineLoader {
380
381
  }
381
382
  /** Resolve a dot-path variable (e.g. "foo.bar") from a variables map. */
382
383
  resolveVarPath(vars, path) {
384
+ // #1136: own properties only, so ${constructor} or ${x.toString} does
385
+ // not expand to an inherited Object.prototype member.
383
386
  // Try direct key first (covers flat keys like "coverageGoal")
384
- if (path in vars)
387
+ if (Object.hasOwn(vars, path))
385
388
  return vars[path];
386
389
  // Try dot-path traversal
387
390
  const parts = path.split('.');
@@ -390,7 +393,7 @@ export class YamlPipelineLoader {
390
393
  if (current === null || current === undefined || typeof current !== 'object') {
391
394
  return undefined;
392
395
  }
393
- current = current[part];
396
+ current = getOwn(current, part);
394
397
  }
395
398
  return current;
396
399
  }
@@ -7,6 +7,8 @@
7
7
  * - QESONA: Learns and adapts code patterns for improved intelligence
8
8
  */
9
9
  import { resolveProjectRootFromPaths } from './project-root-resolver.js';
10
+ import { nothingIndexedError, validateIndexPaths } from './index-path-guard.js';
11
+ import { findProjectRoot } from '../../kernel/project-root.js';
10
12
  import { LoggerFactory } from '../../logging/index.js';
11
13
  import { v4 as uuidv4 } from 'uuid';
12
14
  import { err } from '../../shared/types/index.js';
@@ -86,7 +88,9 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
86
88
  this.knowledgeGraph = new KnowledgeGraphService({ memory, llmRouter });
87
89
  this.semanticAnalyzer = new SemanticAnalyzerService(memory);
88
90
  this.impactAnalyzer = new ImpactAnalyzerService(memory, this.knowledgeGraph);
89
- this.fileReader = new FileReader();
91
+ // #1096: confine reads (semantic index, GNN) to the project root by
92
+ // realpath, as the knowledge graph does.
93
+ this.fileReader = new FileReader({ projectRoot: findProjectRoot() });
90
94
  // Initialize Product Factors Bridge.
91
95
  // ADR-112 C2: inject a KG-backed relationship resolver so C4 component
92
96
  // diagrams use REAL import/call edges (not the naming heuristic).
@@ -265,6 +269,13 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
265
269
  * Index codebase into Knowledge Graph
266
270
  */
267
271
  async index(request) {
272
+ // #1096: reject a malformed path list before any work starts. The size
273
+ // cap is enforced where callers hand in lists (task_submit, task_orchestrate,
274
+ // `aqe task submit`); `aqe code index` passes the files it discovered.
275
+ const validPaths = validateIndexPaths(request.paths, 'paths', 'Invalid index payload', Number.POSITIVE_INFINITY);
276
+ if (!validPaths.success) {
277
+ return validPaths;
278
+ }
268
279
  const workflowId = uuidv4();
269
280
  try {
270
281
  this.startWorkflow(workflowId, 'index');
@@ -291,17 +302,32 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
291
302
  this.updateWorkflowProgress(workflowId, 10);
292
303
  // Perform indexing
293
304
  const result = await this.knowledgeGraph.index(request);
305
+ // #1096: paths were requested but none was indexed - fail rather than
306
+ // report success, naming what was skipped and why.
307
+ if (result.success && result.value.filesIndexed === 0 && request.paths.length > 0) {
308
+ const failure = nothingIndexedError(request.paths.length, result.value.skipped ?? [], result.value.errors);
309
+ this.failWorkflow(workflowId, failure.message);
310
+ await this.agentCoordinator.stop(agentResult.value);
311
+ return err(failure);
312
+ }
294
313
  if (result.success) {
295
314
  this.updateWorkflowProgress(workflowId, 40);
315
+ // #1096: the follow-up steps read file content too, so they only see
316
+ // the files the knowledge graph actually indexed.
317
+ const notIndexed = new Set([
318
+ ...(result.value.skipped ?? []).map((s) => s.path),
319
+ ...result.value.errors.map((e) => e.file),
320
+ ]);
321
+ const indexedPaths = request.paths.filter((p) => !notIndexed.has(p));
296
322
  // V3: Index code embeddings in GNN
297
- if (this.config.enableGNN && this.gnnIndex && request.paths.length > 0) {
298
- await this.indexCodeEmbeddings(request.paths);
323
+ if (this.config.enableGNN && this.gnnIndex && indexedPaths.length > 0) {
324
+ await this.indexCodeEmbeddings(indexedPaths);
299
325
  }
300
326
  this.updateWorkflowProgress(workflowId, 60);
301
327
  // V3: Collect real project metrics using actual tooling (Phase 5)
302
- if (this.config.enableMetricCollector && this.metricCollector && request.paths.length > 0) {
328
+ if (this.config.enableMetricCollector && this.metricCollector && indexedPaths.length > 0) {
303
329
  // Determine project root from the caller's target (or the indexed paths)
304
- const projectPath = this.getProjectRootFromPaths(request.paths, request.target);
330
+ const projectPath = this.getProjectRootFromPaths(indexedPaths, request.target);
305
331
  if (projectPath) {
306
332
  await this.collectProjectMetrics(projectPath);
307
333
  }
@@ -311,14 +337,14 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
311
337
  }
312
338
  this.updateWorkflowProgress(workflowId, 70);
313
339
  // Index content for semantic search
314
- if (request.paths.length > 0) {
315
- await this.indexForSemanticSearch(request.paths);
340
+ if (indexedPaths.length > 0) {
341
+ await this.indexForSemanticSearch(indexedPaths);
316
342
  }
317
343
  this.updateWorkflowProgress(workflowId, 85);
318
344
  // V3: Rebuild hypergraph from indexed files (keeps hypergraph in sync with KG)
319
- if (this.config.enableHypergraph && this.hypergraph && request.paths.length > 0) {
345
+ if (this.config.enableHypergraph && this.hypergraph && indexedPaths.length > 0) {
320
346
  try {
321
- const codeIndexResult = await this.buildCodeIndexResultFromPaths(request.paths);
347
+ const codeIndexResult = await this.buildCodeIndexResultFromPaths(indexedPaths);
322
348
  if (codeIndexResult.files.length > 0) {
323
349
  await this.hypergraph.buildFromIndexResult(codeIndexResult);
324
350
  logger.info(`Hypergraph rebuilt from ${codeIndexResult.files.length} indexed files`);
@@ -0,0 +1,52 @@
1
+ /**
2
+ * #1096: decide which requested paths code indexing may read.
3
+ *
4
+ * Every index entry point (the `index`/`index-code` tasks, `code_index`,
5
+ * `aqe code index`) ends in KnowledgeGraphService.index, which runs these
6
+ * checks before reading anything. A path is indexed only when its realpath is
7
+ * a regular file inside the project root's realpath, so a symlink pointing out
8
+ * of the project is skipped and reported instead of followed. Callers get the
9
+ * skipped paths back with a reason; nothing skipped counts as indexed.
10
+ */
11
+ import { Result } from '../../shared/types';
12
+ import type { SkippedIndexPath } from './interfaces';
13
+ export interface ConfinedIndexPaths {
14
+ /** Requested paths (as given) that are regular files inside the project root. */
15
+ accepted: string[];
16
+ skipped: SkippedIndexPath[];
17
+ }
18
+ /**
19
+ * Most paths a caller may hand an index request at a boundary (MCP
20
+ * task_submit / task_orchestrate, `aqe task submit`). Lists the tools discover
21
+ * themselves (`aqe code index`, init) are not capped here.
22
+ */
23
+ export declare const MAX_INDEX_PATHS = 10000;
24
+ /**
25
+ * Validate the shape of a caller-supplied path list at a boundary, so a
26
+ * non-array value fails with a clear message rather than deep inside indexing.
27
+ */
28
+ export declare function validateIndexPaths(value: unknown, field?: string, context?: string, maxPaths?: number): Result<string[], Error>;
29
+ /**
30
+ * Boundary check shared by `task_submit` and `aqe task submit`: an `index` or
31
+ * `index-code` task must carry a non-empty, well-formed `paths` list. The task
32
+ * handler indexes exactly those files; it does not expand a directory
33
+ * `target` (#1134), so a request without `paths` is refused here instead of
34
+ * failing after it was accepted. Returns undefined when the task is acceptable.
35
+ */
36
+ export declare function validateIndexTaskPayload(type: string, payload: unknown): Error | undefined;
37
+ /**
38
+ * Split `paths` into those that may be indexed and those that must be skipped.
39
+ * Relative paths resolve against `basePath` (default: cwd), as FileReader does.
40
+ * The rule is the shared payload-path guard (#1126) without a size limit.
41
+ */
42
+ export declare function confineIndexPaths(paths: readonly string[], projectRoot: string, basePath?: string): Promise<ConfinedIndexPaths>;
43
+ /**
44
+ * The error an index entry point returns when paths were requested but none
45
+ * was indexed, so a task fails (and the CLI exits non-zero) instead of
46
+ * reporting success for work that did not happen.
47
+ */
48
+ export declare function nothingIndexedError(requested: number, skipped: readonly SkippedIndexPath[], errors?: ReadonlyArray<{
49
+ file: string;
50
+ error: string;
51
+ }>): Error;
52
+ //# sourceMappingURL=index-path-guard.d.ts.map
@@ -0,0 +1,95 @@
1
+ /**
2
+ * #1096: decide which requested paths code indexing may read.
3
+ *
4
+ * Every index entry point (the `index`/`index-code` tasks, `code_index`,
5
+ * `aqe code index`) ends in KnowledgeGraphService.index, which runs these
6
+ * checks before reading anything. A path is indexed only when its realpath is
7
+ * a regular file inside the project root's realpath, so a symlink pointing out
8
+ * of the project is skipped and reported instead of followed. Callers get the
9
+ * skipped paths back with a reason; nothing skipped counts as indexed.
10
+ */
11
+ import { ok, err } from '../../shared/types/index.js';
12
+ import { confinePayloadPaths } from '../../shared/io/payload-path-guard.js';
13
+ function describe(value) {
14
+ if (value === null)
15
+ return 'null';
16
+ if (Array.isArray(value))
17
+ return 'array';
18
+ return typeof value;
19
+ }
20
+ /**
21
+ * Most paths a caller may hand an index request at a boundary (MCP
22
+ * task_submit / task_orchestrate, `aqe task submit`). Lists the tools discover
23
+ * themselves (`aqe code index`, init) are not capped here.
24
+ */
25
+ export const MAX_INDEX_PATHS = 10_000;
26
+ /**
27
+ * Validate the shape of a caller-supplied path list at a boundary, so a
28
+ * non-array value fails with a clear message rather than deep inside indexing.
29
+ */
30
+ export function validateIndexPaths(value, field = 'paths', context = 'Invalid index payload', maxPaths = MAX_INDEX_PATHS) {
31
+ if (!Array.isArray(value)) {
32
+ return err(new Error(`${context}: '${field}' must be an array of file paths, got ${describe(value)}`));
33
+ }
34
+ if (value.length > maxPaths) {
35
+ return err(new Error(`${context}: '${field}' has ${value.length} entries; at most ${maxPaths} paths are accepted per request - index a directory target or split the list`));
36
+ }
37
+ for (let i = 0; i < value.length; i++) {
38
+ const entry = value[i];
39
+ if (typeof entry !== 'string' || entry.trim() === '') {
40
+ return err(new Error(`${context}: '${field}[${i}]' must be a non-empty string, got ${describe(entry)}`));
41
+ }
42
+ if (entry.includes('\0')) {
43
+ return err(new Error(`${context}: '${field}[${i}]' contains a null byte`));
44
+ }
45
+ }
46
+ return ok(value);
47
+ }
48
+ /**
49
+ * Boundary check shared by `task_submit` and `aqe task submit`: an `index` or
50
+ * `index-code` task must carry a non-empty, well-formed `paths` list. The task
51
+ * handler indexes exactly those files; it does not expand a directory
52
+ * `target` (#1134), so a request without `paths` is refused here instead of
53
+ * failing after it was accepted. Returns undefined when the task is acceptable.
54
+ */
55
+ export function validateIndexTaskPayload(type, payload) {
56
+ if (type !== 'index' && type !== 'index-code')
57
+ return undefined;
58
+ if (payload === null || typeof payload !== 'object' || !Object.hasOwn(payload, 'paths')) {
59
+ return new Error(`Invalid index payload: '${type}' needs 'paths', the list of files to index. ` +
60
+ "It does not expand a directory 'target'; use code_index (or `aqe code index`) with a target, " +
61
+ 'or list the files in paths.');
62
+ }
63
+ const result = validateIndexPaths(payload.paths);
64
+ if (!result.success)
65
+ return result.error;
66
+ if (result.value.length === 0) {
67
+ return new Error("Invalid index payload: 'paths' is empty; list at least one file to index");
68
+ }
69
+ return undefined;
70
+ }
71
+ /**
72
+ * Split `paths` into those that may be indexed and those that must be skipped.
73
+ * Relative paths resolve against `basePath` (default: cwd), as FileReader does.
74
+ * The rule is the shared payload-path guard (#1126) without a size limit.
75
+ */
76
+ export async function confineIndexPaths(paths, projectRoot, basePath = process.cwd()) {
77
+ const { accepted, skipped } = await confinePayloadPaths(paths, { projectRoot, basePath });
78
+ // Without maxBytes the guard never reports 'too-large'.
79
+ return { accepted, skipped: skipped };
80
+ }
81
+ /**
82
+ * The error an index entry point returns when paths were requested but none
83
+ * was indexed, so a task fails (and the CLI exits non-zero) instead of
84
+ * reporting success for work that did not happen.
85
+ */
86
+ export function nothingIndexedError(requested, skipped, errors = []) {
87
+ const details = [
88
+ ...skipped.map((s) => `${s.path} (${s.reason})`),
89
+ ...errors.map((e) => `${e.file} (${e.error})`),
90
+ ];
91
+ const shown = details.slice(0, 5).join(', ');
92
+ const more = details.length > 5 ? `, and ${details.length - 5} more` : '';
93
+ return new Error(`Nothing was indexed: 0 of ${requested} requested path(s) indexed` + (shown ? ` - ${shown}${more}` : ''));
94
+ }
95
+ //# sourceMappingURL=index-path-guard.js.map
@@ -37,6 +37,18 @@ export interface IndexResult {
37
37
  * no dependency extractor, so `deps`/`impact` will show 0 edges for them (#511).
38
38
  */
39
39
  warnings?: string[];
40
+ /**
41
+ * Requested paths that were not indexed, with the reason (#1096): missing,
42
+ * not a regular file, resolving outside the project root (e.g. through a
43
+ * symlink), or excluded by the language/test filters. None of them counts
44
+ * toward `filesIndexed`.
45
+ */
46
+ skipped?: SkippedIndexPath[];
47
+ }
48
+ export type IndexSkipReason = 'not-found' | 'not-a-file' | 'outside-project-root' | 'unreadable' | 'excluded-by-language' | 'excluded-test-file';
49
+ export interface SkippedIndexPath {
50
+ path: string;
51
+ reason: IndexSkipReason;
40
52
  }
41
53
  export interface IndexError {
42
54
  file: string;
@@ -66,7 +66,7 @@ export class CodeIntelligencePlugin extends BaseDomainPlugin {
66
66
  // Task Handlers (Queen-Domain Integration)
67
67
  // ============================================================================
68
68
  getTaskHandlers() {
69
- return new Map([
69
+ const handlers = new Map([
70
70
  ['index', async (payload) => {
71
71
  if (!this.coordinator) {
72
72
  return err(new Error('Coordinator not initialized'));
@@ -127,6 +127,10 @@ export class CodeIntelligencePlugin extends BaseDomainPlugin {
127
127
  });
128
128
  }],
129
129
  ]);
130
+ // `index-code` is the public Queen TaskType inferred by task_orchestrate.
131
+ // Both names share one execution handler and the same result lifecycle.
132
+ handlers.set('index-code', handlers.get('index'));
133
+ return handlers;
130
134
  }
131
135
  // ============================================================================
132
136
  // Lifecycle Methods
@@ -46,6 +46,11 @@ export interface KnowledgeGraphConfig {
46
46
  * doesn't trip the FileReader path-traversal guard.
47
47
  */
48
48
  basePath?: string;
49
+ /**
50
+ * #1096: directory that indexing is confined to (by realpath). Defaults to
51
+ * `basePath` when set, otherwise the detected project root.
52
+ */
53
+ projectRoot?: string;
49
54
  }
50
55
  /**
51
56
  * Dependencies for KnowledgeGraphService
@@ -70,6 +75,7 @@ export declare class KnowledgeGraphService implements IKnowledgeGraphService {
70
75
  private allEdgesCache?;
71
76
  private readonly tsParser;
72
77
  private readonly fileReader;
78
+ private readonly projectRoot;
73
79
  private readonly embedder;
74
80
  /** ADR-051: Optional LLM router for AI-enhanced extraction */
75
81
  private readonly llmRouter?;