agentic-qe 3.15.12 → 3.15.14

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 (506) hide show
  1. package/.claude/helpers/brain-checkpoint.cjs +124 -5
  2. package/.claude/skills/skills-manifest.json +1 -1
  3. package/CHANGELOG.md +196 -0
  4. package/assets/skills/skills-manifest.json +1 -1
  5. package/dist/cli/bundle.js +6 -6
  6. package/dist/cli/chunks/adapter-23KA2YW7.js +2 -0
  7. package/dist/cli/chunks/{agent-booster-wasm-5VZCKTIJ.js → agent-booster-wasm-2DLAEZK6.js} +2 -2
  8. package/dist/cli/chunks/{agent-handler-K3C6CQCD.js → agent-handler-P3IY7XEE.js} +2 -2
  9. package/dist/cli/chunks/{agent-memory-branch-NVFQ25WS.js → agent-memory-branch-WWKC2H3G.js} +2 -2
  10. package/dist/cli/chunks/aqe-learning-engine-MUICAXW5.js +2 -0
  11. package/dist/cli/chunks/{arena-TSZVDSXS.js → arena-4BMFF6BS.js} +4 -4
  12. package/dist/cli/chunks/{arena-QGWIJADQ.js → arena-EIV5OALF.js} +2 -2
  13. package/dist/cli/chunks/{audit-KIEE2SHJ.js → audit-DNTI453H.js} +3 -3
  14. package/dist/cli/chunks/base-XPWGYDKD.js +2 -0
  15. package/dist/cli/chunks/{better-sqlite3-BNB32NW3.js → better-sqlite3-TQBQGNC6.js} +2 -2
  16. package/dist/cli/chunks/brain-handler-HY57CNAO.js +95 -0
  17. package/dist/cli/chunks/{branch-enumerator-LZ7UXKAY.js → branch-enumerator-THPMZPHQ.js} +2 -2
  18. package/dist/cli/chunks/{browser-VDHAW4RK.js → browser-O6JJOZCK.js} +2 -2
  19. package/dist/cli/chunks/browser-workflow-UMQVBVGK.js +2 -0
  20. package/dist/cli/chunks/{chunk-4PU5GTZW.js → chunk-2HPNGK7A.js} +2 -2
  21. package/dist/cli/chunks/{chunk-MCPXNUDK.js → chunk-2IJO3657.js} +2 -2
  22. package/dist/cli/chunks/{chunk-4Y6OEBJZ.js → chunk-2QLE6NDW.js} +1 -1
  23. package/dist/cli/chunks/{chunk-DZGPUGUG.js → chunk-2UZBLC5H.js} +2 -2
  24. package/dist/cli/chunks/{chunk-5A66EGEW.js → chunk-2W5MQDHM.js} +2 -2
  25. package/dist/cli/chunks/{chunk-JRYWLOBD.js → chunk-3FITMWWJ.js} +2 -2
  26. package/dist/cli/chunks/{chunk-RCOLPF3B.js → chunk-3TF27MG5.js} +2 -2
  27. package/dist/cli/chunks/{chunk-KGA7VAI4.js → chunk-3XACRXBY.js} +2 -2
  28. package/dist/cli/chunks/{chunk-SQVZ3TRU.js → chunk-43XHGWYH.js} +2 -2
  29. package/dist/cli/chunks/{chunk-JR6CUKAI.js → chunk-4RPBODN5.js} +2 -2
  30. package/dist/cli/chunks/{chunk-C3YOVASQ.js → chunk-4T7XV5KQ.js} +1 -1
  31. package/dist/cli/chunks/{chunk-N7O3PF6Y.js → chunk-4WLIOPHX.js} +2 -2
  32. package/dist/cli/chunks/{chunk-PGSJBXTD.js → chunk-52KOPIMI.js} +2 -2
  33. package/dist/cli/chunks/{chunk-4KUOYDY2.js → chunk-56NSE3LJ.js} +2 -2
  34. package/dist/cli/chunks/{chunk-3IU4LDZR.js → chunk-57DRT6UA.js} +2 -2
  35. package/dist/cli/chunks/{chunk-2JYUA27M.js → chunk-57FX3GP6.js} +1 -1
  36. package/dist/cli/chunks/{chunk-7QEUHNKO.js → chunk-5PLBQZ5J.js} +1 -1
  37. package/dist/cli/chunks/{chunk-VF7FTD64.js → chunk-5Y7UFHJD.js} +1 -1
  38. package/dist/cli/chunks/{chunk-7JFDLL2F.js → chunk-5Z4MO2F3.js} +1 -1
  39. package/dist/cli/chunks/chunk-65EE2EST.js +8 -0
  40. package/dist/cli/chunks/{chunk-66PXR3NI.js → chunk-6NIGSY5L.js} +2 -2
  41. package/dist/cli/chunks/chunk-6O63ZTVX.js +3 -0
  42. package/dist/cli/chunks/{chunk-ZYOYR3UR.js → chunk-6OI5SK7M.js} +1 -1
  43. package/dist/cli/chunks/{chunk-5TAEW5OV.js → chunk-6P4Q4RTC.js} +1 -1
  44. package/dist/cli/chunks/{chunk-W5HQIYQU.js → chunk-7724KXM2.js} +3 -3
  45. package/dist/cli/chunks/{chunk-A2JCRXTK.js → chunk-7MISCSL5.js} +2 -2
  46. package/dist/cli/chunks/{chunk-OHVYINGM.js → chunk-7MUO4DEH.js} +3 -3
  47. package/dist/cli/chunks/{chunk-QCPVUNN3.js → chunk-7QUSNBAA.js} +2 -2
  48. package/dist/cli/chunks/{chunk-YUA6ZKKY.js → chunk-7SQTLUEN.js} +2 -2
  49. package/dist/cli/chunks/{chunk-CA5UNWQF.js → chunk-7T6L3LFN.js} +2 -2
  50. package/dist/cli/chunks/{chunk-UREDS662.js → chunk-7TH4PJSU.js} +2 -2
  51. package/dist/cli/chunks/{chunk-TVA5GRIU.js → chunk-7Y3LXH57.js} +2 -2
  52. package/dist/cli/chunks/{chunk-A5Y7DAVQ.js → chunk-A2T56XVL.js} +2 -2
  53. package/dist/cli/chunks/{chunk-ZROAMFX2.js → chunk-AJVLVF7V.js} +2 -2
  54. package/dist/cli/chunks/{chunk-26672ISV.js → chunk-ARRBXCII.js} +2 -2
  55. package/dist/cli/chunks/{chunk-5S4UIDFK.js → chunk-AYLEH2UF.js} +1 -1
  56. package/dist/cli/chunks/{chunk-DRCBRUGN.js → chunk-BBYJBZHG.js} +2 -2
  57. package/dist/cli/chunks/{chunk-BMG2JLSQ.js → chunk-BM3EJLMV.js} +2 -2
  58. package/dist/cli/chunks/{chunk-6QRI3JVE.js → chunk-BNG4J3CE.js} +2 -2
  59. package/dist/cli/chunks/{chunk-EN7GRVEQ.js → chunk-BPDAQB3F.js} +2 -2
  60. package/dist/cli/chunks/{chunk-J7Y7ZBIT.js → chunk-BQJ7CV53.js} +9 -9
  61. package/dist/cli/chunks/{chunk-ADUAJIAU.js → chunk-C3OIBFAA.js} +2 -2
  62. package/dist/cli/chunks/{chunk-4LWMAAWK.js → chunk-CAZM63TP.js} +2 -2
  63. package/dist/cli/chunks/{chunk-UZED4YZ5.js → chunk-CIINJHOX.js} +1 -1
  64. package/dist/cli/chunks/{chunk-C74M4WUI.js → chunk-CPPYZYXC.js} +2 -2
  65. package/dist/cli/chunks/chunk-D3ZZ2NLL.js +62 -0
  66. package/dist/cli/chunks/{chunk-U7ZHDGXG.js → chunk-D5GB5PUU.js} +1 -1
  67. package/dist/cli/chunks/{chunk-HZBXJFGN.js → chunk-DLTB5KCR.js} +2 -2
  68. package/dist/cli/chunks/{chunk-NNBQZR73.js → chunk-DRLSJJIC.js} +2 -2
  69. package/dist/cli/chunks/{chunk-HLGFHHWV.js → chunk-DSQESXL4.js} +2 -2
  70. package/dist/cli/chunks/{chunk-LFBA735S.js → chunk-E2JLAW3U.js} +3 -3
  71. package/dist/cli/chunks/{chunk-PT2NXS43.js → chunk-E3QIQMMN.js} +1 -1
  72. package/dist/cli/chunks/{chunk-35MIUSXQ.js → chunk-E7OR6V3V.js} +2 -2
  73. package/dist/cli/chunks/{chunk-G24SWTAX.js → chunk-E7QTWGPI.js} +413 -413
  74. package/dist/cli/chunks/{chunk-PX5OPXY6.js → chunk-EC65UZ77.js} +1 -1
  75. package/dist/cli/chunks/{chunk-JNXK47OL.js → chunk-EIEEST4T.js} +2 -2
  76. package/dist/cli/chunks/{chunk-2PPSS4JD.js → chunk-FHPNWHY7.js} +2 -2
  77. package/dist/cli/chunks/{chunk-PTBOLBM4.js → chunk-FJOIBZUB.js} +2 -2
  78. package/dist/cli/chunks/{chunk-TXEUVUMO.js → chunk-FTYRPEJS.js} +1 -1
  79. package/dist/cli/chunks/{chunk-ZPVGX4DI.js → chunk-G7HGUQAE.js} +2 -2
  80. package/dist/cli/chunks/{chunk-EF6OERRR.js → chunk-GY4P7KAI.js} +1 -1
  81. package/dist/cli/chunks/{chunk-UUZZXHUF.js → chunk-H3C5FJRH.js} +2 -2
  82. package/dist/cli/chunks/{chunk-L3PV7VXK.js → chunk-H4LYXLAT.js} +1 -1
  83. package/dist/cli/chunks/{chunk-5Z23ZMXZ.js → chunk-HAYKLXCT.js} +63 -61
  84. package/dist/cli/chunks/{chunk-IPA7K556.js → chunk-HEDGFKC5.js} +2 -2
  85. package/dist/cli/chunks/{chunk-BC4T6SCV.js → chunk-HHBF2BZC.js} +4 -4
  86. package/dist/cli/chunks/{chunk-IVTQF55W.js → chunk-HSDWPQQY.js} +3 -3
  87. package/dist/cli/chunks/{chunk-SG2TX72G.js → chunk-HTVGHHX2.js} +2 -2
  88. package/dist/cli/chunks/{chunk-FZJCBSN4.js → chunk-HV43NX4A.js} +2 -2
  89. package/dist/cli/chunks/{chunk-MMEALJ4D.js → chunk-IDBA5GK2.js} +2 -2
  90. package/dist/cli/chunks/{chunk-IA55PFLG.js → chunk-INGXD5IX.js} +2 -2
  91. package/dist/cli/chunks/{chunk-RYHG3I7J.js → chunk-IQRPR4KB.js} +2 -2
  92. package/dist/cli/chunks/{chunk-7OEFBWAG.js → chunk-IRPNEXOU.js} +2 -2
  93. package/dist/cli/chunks/{chunk-P7UFJ6DO.js → chunk-J35JWDJE.js} +1 -1
  94. package/dist/cli/chunks/chunk-J6ASX536.js +2 -0
  95. package/dist/cli/chunks/{chunk-2ASQRBK2.js → chunk-JAOCHPYX.js} +2 -2
  96. package/dist/cli/chunks/{chunk-G3AABG4Q.js → chunk-JB7R77SH.js} +2 -2
  97. package/dist/cli/chunks/{chunk-HSA5IGGW.js → chunk-JI67T6Q2.js} +2 -2
  98. package/dist/cli/chunks/{chunk-ZGROHCOW.js → chunk-JJHLGGPP.js} +1 -1
  99. package/dist/cli/chunks/{chunk-L7NGKANW.js → chunk-JK6PMLQQ.js} +2 -2
  100. package/dist/cli/chunks/{chunk-IL7GQNNE.js → chunk-JO26SG47.js} +2 -2
  101. package/dist/cli/chunks/{chunk-3EWQN37E.js → chunk-JSSU4RIK.js} +2 -2
  102. package/dist/cli/chunks/{chunk-TOWOJGEI.js → chunk-K2SMP4OD.js} +1 -1
  103. package/dist/cli/chunks/{chunk-YVJEUX3I.js → chunk-K7GFYFBO.js} +2 -2
  104. package/dist/cli/chunks/{chunk-DAUEK66C.js → chunk-K7RT6ITZ.js} +1 -1
  105. package/dist/cli/chunks/{chunk-33I2ZP6E.js → chunk-KJ5A54ZH.js} +2 -2
  106. package/dist/cli/chunks/{chunk-W4II6SIH.js → chunk-L5VSLPMW.js} +2 -2
  107. package/dist/cli/chunks/{chunk-NVRYELCY.js → chunk-L752CNG3.js} +3 -3
  108. package/dist/cli/chunks/{chunk-MAJXZYGK.js → chunk-L7PC675Y.js} +1 -1
  109. package/dist/cli/chunks/{chunk-YWWMNTBF.js → chunk-LTGQJYYO.js} +2 -2
  110. package/dist/cli/chunks/{chunk-7DNR4KKR.js → chunk-M2TG7VDK.js} +1 -1
  111. package/dist/cli/chunks/{chunk-2E2QO44T.js → chunk-M5JEA6ZY.js} +2 -2
  112. package/dist/cli/chunks/{chunk-IETBWYHW.js → chunk-MB4UKUBV.js} +2 -2
  113. package/dist/cli/chunks/{chunk-W7H55PY4.js → chunk-MKYOE7NE.js} +1 -1
  114. package/dist/cli/chunks/{chunk-FNUFTWEO.js → chunk-MQXWG55U.js} +3 -3
  115. package/dist/cli/chunks/{chunk-O4QJMANM.js → chunk-MR2OPUSA.js} +1 -1
  116. package/dist/cli/chunks/{chunk-KA5SHLMW.js → chunk-N736GLWZ.js} +2 -2
  117. package/dist/cli/chunks/{chunk-NV74SICL.js → chunk-NHEG2DLN.js} +2 -2
  118. package/dist/cli/chunks/chunk-NKOLILT7.js +86 -0
  119. package/dist/cli/chunks/{chunk-KJDI5CHX.js → chunk-NPCXGX7N.js} +2 -2
  120. package/dist/cli/chunks/{chunk-2IVE5AR3.js → chunk-NZQYJCO6.js} +1 -1
  121. package/dist/cli/chunks/{chunk-4SA7M34P.js → chunk-O2AAYJUV.js} +1 -1
  122. package/dist/cli/chunks/{chunk-ULCW6IVQ.js → chunk-O32BFQV4.js} +2 -2
  123. package/dist/cli/chunks/{chunk-JOWUS2X5.js → chunk-O3ERGUXH.js} +1 -1
  124. package/dist/cli/chunks/{chunk-BYRCB5JT.js → chunk-O5CEL447.js} +2 -2
  125. package/dist/cli/chunks/{chunk-CPIBIR3X.js → chunk-O756AOUX.js} +2 -2
  126. package/dist/cli/chunks/{chunk-TSOQ2QLT.js → chunk-OCN53CCK.js} +2 -2
  127. package/dist/cli/chunks/{chunk-YLKIXEPP.js → chunk-OGEIHS76.js} +1 -1
  128. package/dist/cli/chunks/{chunk-ICKUINKD.js → chunk-OLUOVNUF.js} +2 -2
  129. package/dist/cli/chunks/{chunk-5ADXFUMO.js → chunk-P2TPH3TC.js} +2 -2
  130. package/dist/cli/chunks/{chunk-SBHM5X2S.js → chunk-PCQZIAXB.js} +2 -2
  131. package/dist/cli/chunks/{chunk-CDA5Z74H.js → chunk-PGN4TARY.js} +2 -2
  132. package/dist/cli/chunks/{chunk-P5E26N2X.js → chunk-PNRPVQGI.js} +2 -2
  133. package/dist/cli/chunks/{chunk-23PQF7NN.js → chunk-PWQWKYBG.js} +1 -1
  134. package/dist/cli/chunks/{chunk-T4EN5VVK.js → chunk-QNQE3EOH.js} +2 -2
  135. package/dist/cli/chunks/chunk-QP2HLKTS.js +2 -0
  136. package/dist/cli/chunks/{chunk-7TA5MUPW.js → chunk-QP6GL3O5.js} +1 -1
  137. package/dist/cli/chunks/{chunk-GKFV6CUD.js → chunk-QUZ745UQ.js} +2 -2
  138. package/dist/cli/chunks/{chunk-INZARYUD.js → chunk-R5RRWLRI.js} +2 -2
  139. package/dist/cli/chunks/{chunk-VZBC6DP7.js → chunk-RE6JTSDM.js} +1 -1
  140. package/dist/cli/chunks/{chunk-JGIJPDGD.js → chunk-TOJF3ZG4.js} +2 -2
  141. package/dist/cli/chunks/{chunk-WLRU6ESI.js → chunk-TSP6SU5V.js} +2 -2
  142. package/dist/cli/chunks/{chunk-6E6HB4N4.js → chunk-TW6Z6W4X.js} +4 -4
  143. package/dist/cli/chunks/{chunk-ENGL7FIJ.js → chunk-TWOV3I3A.js} +1 -1
  144. package/dist/cli/chunks/chunk-U4TML2VD.js +3 -0
  145. package/dist/cli/chunks/{chunk-O3IM4WRZ.js → chunk-U6IOQKCT.js} +2 -2
  146. package/dist/cli/chunks/{chunk-SPC4RBLF.js → chunk-UDSB3XCG.js} +2 -2
  147. package/dist/cli/chunks/{chunk-URSTP3WI.js → chunk-UFP7SN5V.js} +2 -2
  148. package/dist/cli/chunks/{chunk-MYF5CNGV.js → chunk-UMHFTQTR.js} +2 -2
  149. package/dist/cli/chunks/{chunk-65TH6RPD.js → chunk-UNYTHZDZ.js} +1 -1
  150. package/dist/cli/chunks/{chunk-FAGKBOX2.js → chunk-UPWLMIDY.js} +2 -2
  151. package/dist/cli/chunks/{chunk-4CB3QPZM.js → chunk-USAKCGHC.js} +2 -2
  152. package/dist/cli/chunks/{chunk-QUJJYTJH.js → chunk-V3MGY76S.js} +2 -2
  153. package/dist/cli/chunks/{chunk-WDEXOLK2.js → chunk-V6SE2ZU2.js} +1 -1
  154. package/dist/cli/chunks/{chunk-JW5PDJ5O.js → chunk-VCVRZD4Y.js} +3 -3
  155. package/dist/cli/chunks/{chunk-TGMXUZZC.js → chunk-VG32EEUG.js} +2 -2
  156. package/dist/cli/chunks/{chunk-MYUMJ2ZI.js → chunk-VGZOPQQY.js} +1 -1
  157. package/dist/cli/chunks/{chunk-BOSMELJX.js → chunk-VJBJRFUO.js} +2 -2
  158. package/dist/cli/chunks/{chunk-K3A3NWT3.js → chunk-WBC6WB32.js} +2 -2
  159. package/dist/cli/chunks/{chunk-QWG3SILX.js → chunk-WCM6WE7G.js} +5 -5
  160. package/dist/cli/chunks/{chunk-GJKZ7UQO.js → chunk-WCPSR4MJ.js} +2 -2
  161. package/dist/cli/chunks/{chunk-U6IXYQO4.js → chunk-WKI46WWN.js} +2 -2
  162. package/dist/cli/chunks/{chunk-NX4BCSOZ.js → chunk-WM2QRIRD.js} +2 -2
  163. package/dist/cli/chunks/{chunk-32UTHIY5.js → chunk-WRC3HLUY.js} +3 -3
  164. package/dist/cli/chunks/{chunk-AJEXPFAB.js → chunk-WUGXXNK4.js} +1 -1
  165. package/dist/cli/chunks/{chunk-NA3F6FEO.js → chunk-WZQADC5R.js} +2 -2
  166. package/dist/cli/chunks/{chunk-SDRJJUPO.js → chunk-X6NJOT3V.js} +1 -1
  167. package/dist/cli/chunks/{chunk-CU36D7TN.js → chunk-X6Q2N5S5.js} +2 -2
  168. package/dist/cli/chunks/{chunk-UIKQPO4Y.js → chunk-X7CUI7KH.js} +2 -2
  169. package/dist/cli/chunks/{chunk-MCPEC6OO.js → chunk-XMCSKYDE.js} +1 -1
  170. package/dist/cli/chunks/{chunk-WTAUF6O4.js → chunk-XN3KCKAM.js} +2 -2
  171. package/dist/cli/chunks/{chunk-TLRHAMX5.js → chunk-XSPMLJCQ.js} +1 -1
  172. package/dist/cli/chunks/{chunk-VUR5THML.js → chunk-XTZGAG6P.js} +2 -2
  173. package/dist/cli/chunks/{chunk-47RMGDG4.js → chunk-YE54T2NQ.js} +2 -2
  174. package/dist/cli/chunks/{chunk-HM3LSFTY.js → chunk-YEFTK4HD.js} +2 -2
  175. package/dist/cli/chunks/{chunk-4HWUECVD.js → chunk-YGC5QKQ4.js} +2 -2
  176. package/dist/cli/chunks/{chunk-SUX5XB2Z.js → chunk-YGOSSVY5.js} +2 -2
  177. package/dist/cli/chunks/{chunk-UJNGGFGX.js → chunk-YKQWIXUY.js} +2 -2
  178. package/dist/cli/chunks/{chunk-SITL5YZV.js → chunk-Z2S7DNFP.js} +2 -2
  179. package/dist/cli/chunks/{chunk-WGTEZT7G.js → chunk-Z54G2YOL.js} +2 -2
  180. package/dist/cli/chunks/{chunk-YNVEDFPQ.js → chunk-ZJGFQK27.js} +1 -1
  181. package/dist/cli/chunks/{chunk-35NW676P.js → chunk-ZUE524JL.js} +2 -2
  182. package/dist/cli/chunks/{ci-BZNWW3I3.js → ci-UMA2SMNW.js} +2 -2
  183. package/dist/cli/chunks/{ci-config-LOHNXOKV.js → ci-config-UQSILJFQ.js} +2 -2
  184. package/dist/cli/chunks/{ci-output-LCOQBSJL.js → ci-output-U6YZLLKH.js} +2 -2
  185. package/dist/cli/chunks/{circuit-breaker-7LRXTLFE.js → circuit-breaker-ATYQP6X2.js} +2 -2
  186. package/dist/cli/chunks/{claude-flow-setup-HBU4VWC3.js → claude-flow-setup-6YHFD7AN.js} +2 -2
  187. package/dist/cli/chunks/client-E43GWLQH.js +2 -0
  188. package/dist/cli/chunks/{cline-installer-CO6MLH6X.js → cline-installer-EPE7IOZE.js} +2 -2
  189. package/dist/cli/chunks/{code-SIXBS6JM.js → code-NUEJ4XYO.js} +19 -18
  190. package/dist/cli/chunks/{code-index-extractor-GWJKZ2IQ.js → code-index-extractor-D4DBT6OL.js} +2 -2
  191. package/dist/cli/chunks/{codex-installer-6NINVWXJ.js → codex-installer-633SM4LR.js} +2 -2
  192. package/dist/cli/chunks/{completions-7VIX3GML.js → completions-WUKVIW3L.js} +2 -2
  193. package/dist/cli/chunks/{complexity-analyzer-FBQR6ZP2.js → complexity-analyzer-F73ACR5H.js} +2 -2
  194. package/dist/cli/chunks/{continuedev-installer-VA7RIXW5.js → continuedev-installer-QH42TKMS.js} +2 -2
  195. package/dist/cli/chunks/{copilot-installer-4QEBC4MU.js → copilot-installer-Y3XC7BTT.js} +2 -2
  196. package/dist/cli/chunks/core-handlers-R5A3SQDY.js +2 -0
  197. package/dist/cli/chunks/{cost-tracker-GRYKHPWL.js → cost-tracker-57QPV7E3.js} +2 -2
  198. package/dist/cli/chunks/coverage-IBCHMBCR.js +51 -0
  199. package/dist/cli/chunks/cross-domain-router-LLYVPZF6.js +2 -0
  200. package/dist/cli/chunks/{cursor-installer-ZXIPSZVH.js → cursor-installer-F4UYQHIN.js} +2 -2
  201. package/dist/cli/chunks/{daemon-N2VRHPSJ.js → daemon-BYYPIJ7G.js} +4 -4
  202. package/dist/cli/chunks/{daemon-D7F3RGI5.js → daemon-XR4Q6YZF.js} +3 -3
  203. package/dist/cli/chunks/{dag-attention-scheduler-NL6BA7BY.js → dag-attention-scheduler-ZR5ZD3TW.js} +2 -2
  204. package/dist/cli/chunks/{detect-XC2HCIIT.js → detect-GEGYURLL.js} +2 -2
  205. package/dist/cli/chunks/{dist-node-A3Y26MEI.js → dist-node-JU3KT2JO.js} +2 -2
  206. package/dist/cli/chunks/{domain-handler-WV6SFXRB.js → domain-handler-7QI3FJGE.js} +2 -2
  207. package/dist/cli/chunks/{domain-plugins-KJIF6Z2B.js → domain-plugins-O2YRM2PD.js} +2 -2
  208. package/dist/cli/chunks/domain-transfer-7J3S2OS6.js +2 -0
  209. package/dist/cli/chunks/dream-6C4NURSE.js +2 -0
  210. package/dist/cli/chunks/{embed-and-insert-pattern-PA3Y4KGO.js → embed-and-insert-pattern-URES5Q6J.js} +2 -2
  211. package/dist/cli/chunks/{eval-YGEZNUVE.js → eval-RVMCIUOR.js} +2 -2
  212. package/dist/cli/chunks/{experience-capture-middleware-D4T7NW6B.js → experience-capture-middleware-SYJQSBKE.js} +3 -3
  213. package/dist/cli/chunks/{fast-paths-6JYK7RYQ.js → fast-paths-QUKPKWKZ.js} +2 -2
  214. package/dist/cli/chunks/{feature-flags-DKXMDVPE.js → feature-flags-5JCSKL2P.js} +2 -2
  215. package/dist/cli/chunks/{feature-flags-RBH2GDSR.js → feature-flags-K7JXNKJI.js} +2 -2
  216. package/dist/cli/chunks/file-discovery-J5IE5KP7.js +2 -0
  217. package/dist/cli/chunks/fleet-II4Q6HXK.js +44 -0
  218. package/dist/cli/chunks/{gnn-wrapper-MV54UC4C.js → gnn-wrapper-M7VO2EMS.js} +2 -2
  219. package/dist/cli/chunks/{heartbeat-handler-7DKMVQQH.js → heartbeat-handler-ND5CY26N.js} +4 -4
  220. package/dist/cli/chunks/heartbeat-scheduler-FC5PBTMN.js +2 -0
  221. package/dist/cli/chunks/hnsw-adapter-47UIVOBG.js +2 -0
  222. package/dist/cli/chunks/hnsw-index-3AKVLOZQ.js +2 -0
  223. package/dist/cli/chunks/{hnsw-legacy-bridge-6IWREDQC.js → hnsw-legacy-bridge-N3AUUUU7.js} +2 -2
  224. package/dist/cli/chunks/{hnswlib-node-5BIESSCK.js → hnswlib-node-NZY3E5EN.js} +2 -2
  225. package/dist/cli/chunks/{hooks-3EETRM62.js → hooks-QVJDTII5.js} +10 -10
  226. package/dist/cli/chunks/hybrid-backend-YAOSNX47.js +2 -0
  227. package/dist/cli/chunks/{hypergraph-engine-RSWCB2D3.js → hypergraph-engine-ZRY6MTDV.js} +2 -2
  228. package/dist/cli/chunks/{hypergraph-handler-552LXKL3.js → hypergraph-handler-56DO4XZQ.js} +3 -3
  229. package/dist/cli/chunks/impact-analyzer-4FMJXM4M.js +2 -0
  230. package/dist/cli/chunks/{init-guard-OTDBJ5HD.js → init-guard-DTF4EVUY.js} +2 -2
  231. package/dist/cli/chunks/{init-handler-3FK3TKEA.js → init-handler-M6CNQHMX.js} +6 -6
  232. package/dist/cli/chunks/init-wizard-RTLCRWDT.js +2 -0
  233. package/dist/cli/chunks/kernel-2OWIGGGT.js +2 -0
  234. package/dist/cli/chunks/{kilocode-installer-KZ2O4LF3.js → kilocode-installer-IJN7XKBH.js} +2 -2
  235. package/dist/cli/chunks/{kiro-installer-MLCCXRF7.js → kiro-installer-UKKPGPDC.js} +2 -2
  236. package/dist/cli/chunks/knowledge-graph-25XXKDJN.js +2 -0
  237. package/dist/cli/chunks/learning-W2HETWQ4.js +131 -0
  238. package/dist/cli/chunks/{llm-router-PDEV3UP2.js → llm-router-Y546K4VX.js} +4 -4
  239. package/dist/cli/chunks/llm-router-service-G3EIN4UB.js +2 -0
  240. package/dist/cli/chunks/{load-XFVVLO7E.js → load-MKAB2AXE.js} +2 -2
  241. package/dist/cli/chunks/load-test-D6QYNIVT.js +2 -0
  242. package/dist/cli/chunks/{mcp-74G3CL2S.js → mcp-AZKUS6K3.js} +2 -2
  243. package/dist/cli/chunks/{memory-XIFM6JNX.js → memory-ZDOQN2KU.js} +5 -5
  244. package/dist/cli/chunks/memory-backend-LDFFZMEQ.js +2 -0
  245. package/dist/cli/chunks/{memory-handlers-ZCKURV6S.js → memory-handlers-3SQVY7FE.js} +2 -2
  246. package/dist/cli/chunks/{multi-model-executor-7L4W3O2Q.js → multi-model-executor-WWVXDHG4.js} +2 -2
  247. package/dist/cli/chunks/{opencode-installer-BPG422LF.js → opencode-installer-YUJNXXWS.js} +2 -2
  248. package/dist/cli/chunks/{orchestrator-OEAFLAEV.js → orchestrator-Z6PWPLRE.js} +109 -25
  249. package/dist/cli/chunks/pattern-null-store-KDVRM7PW.js +2 -0
  250. package/dist/cli/chunks/{pattern-usage-recorder-LOPNCULT.js → pattern-usage-recorder-TPWPX32U.js} +2 -2
  251. package/dist/cli/chunks/{pipeline-VWTYUZB7.js → pipeline-4BBGTE4M.js} +2 -2
  252. package/dist/cli/chunks/{platform-WFJJ3X2E.js → platform-5GSHXCV5.js} +2 -2
  253. package/dist/cli/chunks/{plugin-744TPUSG.js → plugin-OFDVF5HS.js} +2 -2
  254. package/dist/cli/chunks/{prime-radiant-advanced-wasm-BD5BLNDR.js → prime-radiant-advanced-wasm-NC6MUYGJ.js} +2 -2
  255. package/dist/cli/chunks/project-root-DDGBWDP6.js +2 -0
  256. package/dist/cli/chunks/protocol-executor-KBOLLCWA.js +2 -0
  257. package/dist/cli/chunks/{protocol-handler-JIBILI74.js → protocol-handler-MPOAAEPA.js} +2 -2
  258. package/dist/cli/chunks/{prove-MNOL5FYW.js → prove-CDKMAIVM.js} +2 -2
  259. package/dist/cli/chunks/qe-reasoning-bank-GRXBT7FC.js +2 -0
  260. package/dist/cli/chunks/{quality-JEGBDGGX.js → quality-ZH4F7R7R.js} +2 -2
  261. package/dist/cli/chunks/{quality-gate-SYJ6ROMI.js → quality-gate-IDRMW6OE.js} +3 -3
  262. package/dist/cli/chunks/queen-coordinator-L2QWMJ5Q.js +2 -0
  263. package/dist/cli/chunks/{real-embeddings-ZWXS5ZFV.js → real-embeddings-I2UVNNB3.js} +2 -2
  264. package/dist/cli/chunks/{ref-validation-RRHUFW2N.js → ref-validation-Z5GCGVXK.js} +2 -2
  265. package/dist/cli/chunks/{roocode-installer-XFO6JSVN.js → roocode-installer-IZ2S7PH2.js} +2 -2
  266. package/dist/cli/chunks/router-FT5WJPUH.js +2 -0
  267. package/dist/cli/chunks/routing-feedback-EO2MKOUX.js +2 -0
  268. package/dist/cli/chunks/{routing-handler-L2K3JASE.js → routing-handler-NAX35VUW.js} +2 -2
  269. package/dist/cli/chunks/{ruvector-commands-A6CINHGM.js → ruvector-commands-5YW2SOFF.js} +2 -2
  270. package/dist/cli/chunks/rvf-dual-writer-WHBFQJVU.js +2 -0
  271. package/dist/cli/chunks/rvf-migration-adapter-YT3APF2I.js +2 -0
  272. package/dist/cli/chunks/{rvf-migration-coordinator-T4RY7L53.js → rvf-migration-coordinator-VUIZHTVG.js} +2 -2
  273. package/dist/cli/chunks/rvf-native-adapter-37PUFKQD.js +2 -0
  274. package/dist/cli/chunks/{rvf-store-integrity-IR33TGQS.js → rvf-store-integrity-IPGCAT6C.js} +2 -2
  275. package/dist/cli/chunks/safe-db-TDZKUOZJ.js +2 -0
  276. package/dist/cli/chunks/schedule-CRKTRY2A.js +2 -0
  277. package/dist/cli/chunks/scheduler-6ZBDVQWN.js +2 -0
  278. package/dist/cli/chunks/{security-Z5GDE2IH.js → security-3IH4BO5Z.js} +3 -3
  279. package/dist/cli/chunks/{shared-rvf-adapter-SIZMEHPM.js → shared-rvf-adapter-ABY7PAY2.js} +2 -2
  280. package/dist/cli/chunks/{shared-rvf-dual-writer-HLM65RDS.js → shared-rvf-dual-writer-6KENLN2W.js} +2 -2
  281. package/dist/cli/chunks/sqlite-persistence-FFJQAIKW.js +2 -0
  282. package/dist/cli/chunks/{standalone-memory-SKSZG7P5.js → standalone-memory-RLFAUGOW.js} +2 -2
  283. package/dist/cli/chunks/{status-handler-766YOOMJ.js → status-handler-FCOZBPE5.js} +2 -2
  284. package/dist/cli/chunks/{structural-health-M45FNOLT.js → structural-health-4RDA5UUM.js} +2 -2
  285. package/dist/cli/chunks/{sync-B2U366I3.js → sync-54LUAUTK.js} +2 -2
  286. package/dist/cli/chunks/{sync-6CJ24B5T.js → sync-KGEEXXCC.js} +2 -2
  287. package/dist/cli/chunks/task-handler-K3OXHYKU.js +62 -0
  288. package/dist/cli/chunks/task-handlers-6H7L2UT4.js +9 -0
  289. package/dist/cli/chunks/{test-TODH7KRF.js → test-S7IG6EIX.js} +4 -4
  290. package/dist/cli/chunks/test-runner-process-OTQDAJLN.js +2 -0
  291. package/dist/cli/chunks/{test-scheduling-VMVMVRHT.js → test-scheduling-7XYXI4L2.js} +3 -3
  292. package/dist/cli/chunks/{token-bootstrap-XQW7BMCK.js → token-bootstrap-3QMABE45.js} +2 -2
  293. package/dist/cli/chunks/{token-usage-JCZEIRKO.js → token-usage-Y2YTPOFE.js} +2 -2
  294. package/dist/cli/chunks/{transformers-U2ML3OHE.js → transformers-UCJ3HHHC.js} +2 -2
  295. package/dist/cli/chunks/tree-sitter-wasm-parser-D6JTTHTP.js +2 -0
  296. package/dist/cli/chunks/{types-GGEPCHP6.js → types-6CMFPETH.js} +2 -2
  297. package/dist/cli/chunks/unified-memory-QARWQKJ2.js +2 -0
  298. package/dist/cli/chunks/unified-memory-hnsw-LHY3DXCP.js +2 -0
  299. package/dist/cli/chunks/unified-persistence-WEYYGLHM.js +2 -0
  300. package/dist/cli/chunks/{upgrade-T5GRM7HS.js → upgrade-K25DN6WU.js} +2 -2
  301. package/dist/cli/chunks/{validate-XMUJPLP3.js → validate-T4V3TBY3.js} +2 -2
  302. package/dist/cli/chunks/{validate-swarm-KJLF7JEH.js → validate-swarm-XSRC576T.js} +2 -2
  303. package/dist/cli/chunks/visual-security-O4ALMCXQ.js +2 -0
  304. package/dist/cli/chunks/{web-tree-sitter-LOHVZ7G5.js → web-tree-sitter-YOZXHRTN.js} +2 -2
  305. package/dist/cli/chunks/{windsurf-installer-33FBTXJU.js → windsurf-installer-ITPU2IYL.js} +2 -2
  306. package/dist/cli/chunks/witness-chain-B3YW5NMS.js +2 -0
  307. package/dist/cli/chunks/witness-chain-PIYR72HJ.js +2 -0
  308. package/dist/cli/chunks/{witness-chain-repair-VWBO4NXE.js → witness-chain-repair-YUG7E3UX.js} +2 -2
  309. package/dist/cli/chunks/{witness-chain-verifier-BHJ3ZAEK.js → witness-chain-verifier-DTDSVKOG.js} +2 -2
  310. package/dist/cli/chunks/{witness-key-manager-WNVPH2Z3.js → witness-key-manager-EWACWGAW.js} +2 -2
  311. package/dist/cli/chunks/{workflow-6QR5MQTO.js → workflow-ZIQ4FV42.js} +4 -4
  312. package/dist/cli/chunks/workflow-orchestrator-3ZN2BCGY.js +2 -0
  313. package/dist/cli/chunks/{wrappers-EHOL62TS.js → wrappers-PW2O27LL.js} +2 -2
  314. package/dist/cli/commands/code.js +6 -0
  315. package/dist/cli/commands/coverage.js +6 -0
  316. package/dist/cli/commands/fleet-run.d.ts +12 -0
  317. package/dist/cli/commands/fleet-run.js +175 -0
  318. package/dist/cli/commands/fleet.js +2 -117
  319. package/dist/cli/commands/learning-prune.d.ts +14 -0
  320. package/dist/cli/commands/learning-prune.js +105 -0
  321. package/dist/cli/commands/learning.js +9 -0
  322. package/dist/cli/handlers/brain-handler.js +12 -1
  323. package/dist/cli/handlers/task-handler.d.ts +5 -0
  324. package/dist/cli/handlers/task-handler.js +20 -0
  325. package/dist/cli/utils/coverage-verdict.js +14 -3
  326. package/dist/cli/utils/fleet-operation.d.ts +5 -2
  327. package/dist/cli/utils/fleet-operation.js +13 -2
  328. package/dist/cli/utils/fleet-result.d.ts +16 -2
  329. package/dist/cli/utils/fleet-result.js +26 -21
  330. package/dist/cli/utils/fleet-shard.d.ts +36 -0
  331. package/dist/cli/utils/fleet-shard.js +110 -0
  332. package/dist/context/compaction/index.d.ts +7 -0
  333. package/dist/context/compaction/index.js +30 -6
  334. package/dist/coordination/handlers/code-intelligence-handlers.js +21 -1
  335. package/dist/coordination/handlers/coverage-evidence.d.ts +19 -0
  336. package/dist/coordination/handlers/coverage-evidence.js +31 -2
  337. package/dist/coordination/handlers/coverage-handlers.js +5 -1
  338. package/dist/coordination/handlers/coverage-target.js +8 -1
  339. package/dist/coordination/handlers/handler-types.d.ts +2 -2
  340. package/dist/coordination/handlers/handler-utils.d.ts +6 -0
  341. package/dist/coordination/handlers/handler-utils.js +14 -4
  342. package/dist/coordination/handlers/misc-handlers.js +5 -2
  343. package/dist/coordination/handlers/quality-handlers.js +11 -3
  344. package/dist/coordination/handlers/security-handlers.js +12 -2
  345. package/dist/coordination/protocols/security-audit.js +11 -1
  346. package/dist/coordination/result-saver-adapters.js +1 -0
  347. package/dist/coordination/result-saver.js +9 -5
  348. package/dist/coordination/task-executor.js +7 -2
  349. package/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +1 -0
  350. package/dist/domains/chaos-resilience/services/chaos-engineer.js +23 -45
  351. package/dist/domains/code-intelligence/coordinator-gnn.d.ts +2 -16
  352. package/dist/domains/code-intelligence/coordinator-gnn.js +1 -62
  353. package/dist/domains/code-intelligence/coordinator.d.ts +12 -6
  354. package/dist/domains/code-intelligence/coordinator.js +24 -27
  355. package/dist/domains/code-intelligence/interfaces.d.ts +9 -0
  356. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +43 -5
  357. package/dist/domains/code-intelligence/services/semantic-analyzer.js +134 -71
  358. package/dist/domains/coverage-analysis/collected-metrics.d.ts +26 -0
  359. package/dist/domains/coverage-analysis/collected-metrics.js +54 -0
  360. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +13 -3
  361. package/dist/domains/coverage-analysis/services/coverage-parser.d.ts +2 -0
  362. package/dist/domains/coverage-analysis/services/coverage-parser.js +18 -2
  363. package/dist/domains/defect-intelligence/services/defect-predictor.js +3 -6
  364. package/dist/domains/quality-assessment/coherence/gate-controller.js +16 -4
  365. package/dist/domains/quality-assessment/coherence/lambda-calculator.d.ts +8 -0
  366. package/dist/domains/quality-assessment/coherence/lambda-calculator.js +57 -14
  367. package/dist/domains/quality-assessment/coherence/types.d.ts +12 -7
  368. package/dist/domains/quality-assessment/coordinator-gate-evaluation.js +3 -1
  369. package/dist/domains/quality-assessment/coordinator-reports.d.ts +30 -10
  370. package/dist/domains/quality-assessment/coordinator-reports.js +93 -57
  371. package/dist/domains/quality-assessment/coordinator.d.ts +14 -40
  372. package/dist/domains/quality-assessment/coordinator.js +10 -4
  373. package/dist/domains/quality-assessment/coverage-report-event.d.ts +8 -0
  374. package/dist/domains/quality-assessment/coverage-report-event.js +22 -1
  375. package/dist/domains/quality-assessment/interfaces.d.ts +8 -0
  376. package/dist/domains/quality-assessment/services/coherence-gate.js +15 -2
  377. package/dist/domains/quality-assessment/services/quality-analyzer.d.ts +4 -0
  378. package/dist/domains/quality-assessment/services/quality-analyzer.js +63 -17
  379. package/dist/domains/quality-assessment/services/quality-gate.js +6 -4
  380. package/dist/domains/security-compliance/index.d.ts +1 -1
  381. package/dist/domains/security-compliance/interfaces.d.ts +46 -5
  382. package/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts +3 -3
  383. package/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +15 -14
  384. package/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts +8 -9
  385. package/dist/domains/security-compliance/services/scanners/dast-helpers.js +19 -44
  386. package/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts +3 -3
  387. package/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +13 -9
  388. package/dist/domains/security-compliance/services/scanners/dast-requests.d.ts +54 -0
  389. package/dist/domains/security-compliance/services/scanners/dast-requests.js +125 -0
  390. package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +5 -1
  391. package/dist/domains/security-compliance/services/scanners/dast-scanner.js +125 -155
  392. package/dist/domains/security-compliance/services/scanners/index.d.ts +1 -1
  393. package/dist/domains/security-compliance/services/scanners/index.js +1 -1
  394. package/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +2 -2
  395. package/dist/domains/security-compliance/services/security-auditor-dast.js +183 -212
  396. package/dist/domains/security-compliance/services/security-auditor-reports.js +5 -1
  397. package/dist/domains/security-compliance/services/security-auditor.d.ts +11 -3
  398. package/dist/domains/security-compliance/services/security-auditor.js +106 -65
  399. package/dist/domains/test-execution/coordinator.d.ts +2 -1
  400. package/dist/domains/test-execution/coordinator.js +33 -27
  401. package/dist/domains/test-execution/interfaces.d.ts +10 -0
  402. package/dist/domains/test-execution/services/test-executor.d.ts +6 -0
  403. package/dist/domains/test-execution/services/test-executor.js +22 -4
  404. package/dist/domains/visual-accessibility/coordinator.js +34 -9
  405. package/dist/domains/visual-accessibility/interfaces.d.ts +27 -0
  406. package/dist/domains/visual-accessibility/plugin.js +5 -0
  407. package/dist/domains/visual-accessibility/services/accessibility-tester-heuristics.d.ts +13 -21
  408. package/dist/domains/visual-accessibility/services/accessibility-tester-heuristics.js +13 -297
  409. package/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +13 -5
  410. package/dist/domains/visual-accessibility/services/accessibility-tester.js +96 -73
  411. package/dist/init/phases/07-hooks.js +90 -6
  412. package/dist/integrations/embeddings/index/HNSWIndex.js +8 -4
  413. package/dist/integrations/ruvector/brain-rvf-exporter.d.ts +25 -0
  414. package/dist/integrations/ruvector/brain-rvf-exporter.js +154 -61
  415. package/dist/integrations/ruvector/transfer-coherence-stub.js +5 -10
  416. package/dist/learning/dream/dream-engine.d.ts +24 -1
  417. package/dist/learning/dream/dream-engine.js +57 -6
  418. package/dist/learning/learning-retention.d.ts +103 -0
  419. package/dist/learning/learning-retention.js +213 -0
  420. package/dist/mcp/bundle.js +508 -503
  421. package/dist/mcp/handlers/domain-handler-configs.d.ts +17 -1
  422. package/dist/mcp/handlers/domain-handler-configs.js +33 -16
  423. package/dist/mcp/handlers/handler-factory.js +3 -0
  424. package/dist/mcp/handlers/model-route-handlers.d.ts +107 -0
  425. package/dist/mcp/handlers/model-route-handlers.js +139 -0
  426. package/dist/mcp/handlers/orchestrate-routes.js +41 -3
  427. package/dist/mcp/handlers/task-handlers.d.ts +3 -251
  428. package/dist/mcp/handlers/task-handlers.js +6 -828
  429. package/dist/mcp/handlers/task-inference.d.ts +26 -0
  430. package/dist/mcp/handlers/task-inference.js +156 -0
  431. package/dist/mcp/handlers/task-learning-handlers.d.ts +92 -0
  432. package/dist/mcp/handlers/task-learning-handlers.js +230 -0
  433. package/dist/mcp/handlers/task-orchestrate-handler.d.ts +73 -0
  434. package/dist/mcp/handlers/task-orchestrate-handler.js +361 -0
  435. package/dist/mcp/protocol-server.js +13 -3
  436. package/dist/mcp/tools/chaos-resilience/inject.d.ts +3 -4
  437. package/dist/mcp/tools/chaos-resilience/inject.js +11 -81
  438. package/dist/mcp/tools/code-intelligence/analyze.js +3 -6
  439. package/dist/mcp/tools/coverage-analysis/index.d.ts +4 -0
  440. package/dist/mcp/tools/coverage-analysis/index.js +8 -2
  441. package/dist/mcp/tools/learning-optimization/dream.d.ts +8 -0
  442. package/dist/mcp/tools/learning-optimization/dream.js +4 -0
  443. package/dist/mcp/tools/visual-accessibility/index.d.ts +7 -0
  444. package/dist/mcp/tools/visual-accessibility/index.js +29 -13
  445. package/dist/shared/events/domain-events.d.ts +2 -0
  446. package/dist/shared/metrics/code-metrics.js +21 -3
  447. package/dist/shared/parsers/typescript-parser.d.ts +6 -0
  448. package/dist/shared/parsers/typescript-parser.js +13 -1
  449. package/package.json +1 -1
  450. package/dist/cli/chunks/adapter-HL7MOCQN.js +0 -2
  451. package/dist/cli/chunks/aqe-learning-engine-OZ2DXB4G.js +0 -2
  452. package/dist/cli/chunks/base-WIM7G3HC.js +0 -2
  453. package/dist/cli/chunks/brain-handler-MPC5SPYI.js +0 -94
  454. package/dist/cli/chunks/browser-workflow-QRKCFVR3.js +0 -2
  455. package/dist/cli/chunks/chunk-4A76VPU4.js +0 -3
  456. package/dist/cli/chunks/chunk-QSGEBCDB.js +0 -62
  457. package/dist/cli/chunks/chunk-UCSK2RMI.js +0 -2
  458. package/dist/cli/chunks/chunk-VXVTFKRA.js +0 -2
  459. package/dist/cli/chunks/chunk-XCNSGSKV.js +0 -3
  460. package/dist/cli/chunks/chunk-XZOYKB22.js +0 -79
  461. package/dist/cli/chunks/chunk-YIDAXOUX.js +0 -8
  462. package/dist/cli/chunks/client-4PNYDFYS.js +0 -2
  463. package/dist/cli/chunks/core-handlers-ODO6LUWQ.js +0 -2
  464. package/dist/cli/chunks/coverage-USPMNKOU.js +0 -50
  465. package/dist/cli/chunks/cross-domain-router-DT4MHJKK.js +0 -2
  466. package/dist/cli/chunks/domain-transfer-L3F6AES2.js +0 -2
  467. package/dist/cli/chunks/dream-QOB3JCOM.js +0 -2
  468. package/dist/cli/chunks/file-discovery-BN76S2PR.js +0 -2
  469. package/dist/cli/chunks/fleet-43YMXACN.js +0 -46
  470. package/dist/cli/chunks/heartbeat-scheduler-3NNP4WCP.js +0 -2
  471. package/dist/cli/chunks/hnsw-adapter-MZR7Y4WF.js +0 -2
  472. package/dist/cli/chunks/hnsw-index-HE4AX22U.js +0 -2
  473. package/dist/cli/chunks/hybrid-backend-IHUHB3Y2.js +0 -2
  474. package/dist/cli/chunks/impact-analyzer-FI6GI6PD.js +0 -2
  475. package/dist/cli/chunks/init-wizard-WLQKH5Y5.js +0 -2
  476. package/dist/cli/chunks/kernel-2WZOQEZS.js +0 -2
  477. package/dist/cli/chunks/knowledge-graph-G3LVKK6P.js +0 -2
  478. package/dist/cli/chunks/learning-QUCMBD77.js +0 -122
  479. package/dist/cli/chunks/llm-router-service-MM75HKWJ.js +0 -2
  480. package/dist/cli/chunks/load-test-BEWEE44J.js +0 -2
  481. package/dist/cli/chunks/memory-backend-NYKBBKZR.js +0 -2
  482. package/dist/cli/chunks/pattern-null-store-QGPUIV6M.js +0 -2
  483. package/dist/cli/chunks/project-root-C7ELXZRK.js +0 -2
  484. package/dist/cli/chunks/protocol-executor-SUVE33BM.js +0 -2
  485. package/dist/cli/chunks/qe-reasoning-bank-YWZMMGJB.js +0 -2
  486. package/dist/cli/chunks/queen-coordinator-ZFAKXRN7.js +0 -2
  487. package/dist/cli/chunks/router-4FTAVYLJ.js +0 -2
  488. package/dist/cli/chunks/routing-feedback-IO2KOWMJ.js +0 -2
  489. package/dist/cli/chunks/rvf-dual-writer-KCIRNE7C.js +0 -2
  490. package/dist/cli/chunks/rvf-migration-adapter-MFC5WTJU.js +0 -2
  491. package/dist/cli/chunks/rvf-native-adapter-I3KWHE7X.js +0 -2
  492. package/dist/cli/chunks/safe-db-QXDZ6QY3.js +0 -2
  493. package/dist/cli/chunks/schedule-CZKD6RIY.js +0 -2
  494. package/dist/cli/chunks/scheduler-BLA3Q4CH.js +0 -2
  495. package/dist/cli/chunks/sqlite-persistence-XIUYDJC4.js +0 -2
  496. package/dist/cli/chunks/task-handler-P6IFLCKP.js +0 -62
  497. package/dist/cli/chunks/task-handlers-DPWMUKFC.js +0 -9
  498. package/dist/cli/chunks/test-runner-process-46IPK3GH.js +0 -2
  499. package/dist/cli/chunks/tree-sitter-wasm-parser-MOI2WWNJ.js +0 -2
  500. package/dist/cli/chunks/unified-memory-FL26RTV3.js +0 -2
  501. package/dist/cli/chunks/unified-memory-hnsw-E2BPTH3U.js +0 -2
  502. package/dist/cli/chunks/unified-persistence-5ZOUPKHF.js +0 -2
  503. package/dist/cli/chunks/visual-security-IJVPO5FA.js +0 -2
  504. package/dist/cli/chunks/witness-chain-5FAFCQKP.js +0 -2
  505. package/dist/cli/chunks/witness-chain-V2M32W5D.js +0 -2
  506. package/dist/cli/chunks/workflow-orchestrator-3JLF3IX7.js +0 -2
@@ -84,6 +84,10 @@ export interface QualityAssessResult {
84
84
  * files (partial metrics). Such a score is not a verdict.
85
85
  */
86
86
  scoreBasis?: string[];
87
+ /** Why `qualityScore` is -1: the requested metrics that were unmeasured. */
88
+ qualityScoreReason?: string;
89
+ /** The score over the measured metrics (`scoreBasis`) when `qualityScore` is -1. Not a verdict. */
90
+ subsetScore?: number;
87
91
  /** #996: measured metrics that fail their own limit; any entry blocks. */
88
92
  measuredFailures?: MeasuredFailure[];
89
93
  /** #996: false for static analysis (runGate omitted/false) — no quality gate ran. */
@@ -148,6 +152,9 @@ export interface AccessibilityTestResult {
148
152
  score: number;
149
153
  violations: unknown[];
150
154
  warnings: unknown[];
155
+ /** #1145: false when no page was audited; `passed` is then not a verdict and `score` is -1. */
156
+ measured?: boolean;
157
+ note?: string;
151
158
  duration: number;
152
159
  savedFiles?: string[];
153
160
  /** #933: true when result files were written; see savedFiles for their paths. */
@@ -157,13 +164,17 @@ export interface AccessibilityTestResult {
157
164
  }
158
165
  export interface ChaosTestResult {
159
166
  taskId: string;
167
+ /** #1258: 'not-executed' when no fault was injected, so nothing was observed. */
160
168
  status: string;
161
169
  faultType: string;
170
+ /** #1258: null when not measured; never a default recovered/dataLoss verdict. */
162
171
  resilience: {
163
172
  recovered: boolean;
164
173
  recoveryTime: number;
165
174
  dataLoss: boolean;
166
- };
175
+ } | null;
176
+ /** Why the fault was not executed, when status is 'not-executed'. */
177
+ note?: string;
167
178
  duration: number;
168
179
  savedFiles?: string[];
169
180
  /** #933: true when result files were written; see savedFiles for their paths. */
@@ -247,6 +258,11 @@ export interface CodeIndexResult {
247
258
  tests: number;
248
259
  toolsUsed: string[];
249
260
  };
261
+ /**
262
+ * #1224: non-fatal indexing warnings, e.g. that code search does not cover
263
+ * every indexed file. Absent when there are none.
264
+ */
265
+ warnings?: string[];
250
266
  /**
251
267
  * #1096: discovered paths that were not indexed (missing, not a regular
252
268
  * file, outside the project root, filtered out), with the reason. Absent
@@ -535,7 +535,7 @@ export const qualityAssessConfig = {
535
535
  passed: insufficient || failedMetrics.length > 0
536
536
  ? false
537
537
  : typeof data.passed === 'boolean' ? data.passed : undefined,
538
- qualityScore: measuredScore,
538
+ qualityScore: insufficient ? undefined : measuredScore,
539
539
  recommendations: data.recommendations || [],
540
540
  unmeasured: insufficient ? (unmeasured?.length ? unmeasured : ['unknown']) : [],
541
541
  failedMetrics,
@@ -545,7 +545,13 @@ export const qualityAssessConfig = {
545
545
  return {
546
546
  taskId,
547
547
  status: insufficient ? INSUFFICIENT_EVIDENCE : 'completed',
548
- ...(typeof data.qualityScore === 'number' ? { qualityScore: data.qualityScore } : {}),
548
+ // An insufficient-evidence result has no overall score (-1); a number
549
+ // from a producer that did not apply that rule is kept only as a subset.
550
+ ...(typeof data.qualityScore === 'number'
551
+ ? { qualityScore: insufficient && !Array.isArray(data.checks) ? -1 : data.qualityScore } : {}),
552
+ ...(typeof data.qualityScoreReason === 'string' ? { qualityScoreReason: data.qualityScoreReason } : {}),
553
+ ...(typeof data.subsetScore === 'number' ? { subsetScore: data.subsetScore }
554
+ : insufficient && measuredScore !== undefined && !Array.isArray(data.checks) ? { subsetScore: measuredScore } : {}),
549
555
  ...(Array.isArray(data.checks) ? { checks: data.checks } : {}),
550
556
  passed,
551
557
  metrics: data.metrics || {},
@@ -687,11 +693,15 @@ export const accessibilityTestConfig = {
687
693
  }),
688
694
  mapToResult: (taskId, data, duration, savedFiles) => ({
689
695
  taskId,
690
- status: 'completed',
696
+ status: data.measured === true ? 'completed' : 'not-measured',
691
697
  passed: data.passed || false,
692
- score: data.score || 0,
698
+ // #1145: an unmeasured score is -1, never a 0/100 grade
699
+ score: data.measured === true && typeof data.score === 'number' ? data.score : -1,
693
700
  violations: data.violations || [],
694
701
  warnings: data.warnings || [],
702
+ // #1145: fail closed; only an explicit measurement counts as one
703
+ measured: data.measured === true,
704
+ ...(typeof data.note === 'string' ? { note: data.note } : {}),
695
705
  duration,
696
706
  savedFiles,
697
707
  }),
@@ -716,18 +726,22 @@ export const chaosTestConfig = {
716
726
  compiledContext: routingResult?.compiledContext,
717
727
  }),
718
728
  calculateTimeout: (params) => (params.duration || 30000) + 60000,
719
- mapToResult: (taskId, data, duration, savedFiles) => ({
720
- taskId,
721
- status: 'completed',
722
- faultType: data.faultType || 'latency',
723
- resilience: data.resilience || {
724
- recovered: false,
725
- recoveryTime: 0,
726
- dataLoss: false,
727
- },
728
- duration,
729
- savedFiles,
730
- }),
729
+ mapToResult: (taskId, data, duration, savedFiles) => {
730
+ // #1258: the run-chaos handler injects nothing and says so (systemBehavior
731
+ // 'not-executed', resilience null). Report that instead of 'completed' with
732
+ // a made-up recovered/dataLoss result.
733
+ const resilience = data.resilience ?? null;
734
+ const executed = data.systemBehavior !== 'not-executed' && resilience !== null;
735
+ return {
736
+ taskId,
737
+ status: executed ? 'completed' : 'not-executed',
738
+ faultType: data.faultType || 'latency',
739
+ resilience: executed ? resilience : null,
740
+ ...(typeof data.note === 'string' ? { note: data.note } : {}),
741
+ duration,
742
+ savedFiles,
743
+ };
744
+ },
731
745
  };
732
746
  // ============================================================================
733
747
  // Defect Prediction Configuration
@@ -813,6 +827,9 @@ export const codeIndexConfig = {
813
827
  symbolsExtracted: data.symbolsExtracted || 0,
814
828
  relationsFound: data.relationsFound || 0,
815
829
  ...(data.projectMetrics ? { projectMetrics: data.projectMetrics } : {}),
830
+ ...(Array.isArray(data.warnings) && data.warnings.length > 0
831
+ ? { warnings: data.warnings }
832
+ : {}),
816
833
  ...(Array.isArray(data.skipped) && data.skipped.length > 0
817
834
  ? { skipped: data.skipped }
818
835
  : {}),
@@ -224,6 +224,9 @@ async function recordDomainFeedback(domain, data, durationMs, params) {
224
224
  coverageMethod: data.coverageMethod ?? 'instrumented-report',
225
225
  branchDataCollected: data.branchCoverage !== null && data.branchCoverage !== undefined,
226
226
  functionDataCollected: data.functionCoverage !== null && data.functionCoverage !== undefined,
227
+ // #1030: coverage from a run whose tests failed says so, as
228
+ // coverage:latest and the per-file records already do (#1027 N4).
229
+ ...(data.runStatus === 'passed' || data.runStatus === 'failed' ? { runStatus: data.runStatus } : {}),
227
230
  },
228
231
  };
229
232
  await loop.recordCoverageSession(session);
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Agentic QE v3 - Model routing MCP handlers (ADR-051)
3
+ * Routing decisions, routing metrics and routing economics.
4
+ */
5
+ import type { ToolResult } from '../types';
6
+ import { type RoutingLogEntry, type RoutingStats } from '../services/task-router';
7
+ import type { ModelTier } from '../../integrations/agentic-flow';
8
+ export interface ModelRouteParams {
9
+ /** Task description to analyze */
10
+ task: string;
11
+ /** Optional code context for complexity analysis */
12
+ codeContext?: string;
13
+ /** Optional file paths */
14
+ filePaths?: string[];
15
+ /** Manual tier override */
16
+ manualTier?: ModelTier;
17
+ /** Mark as critical task */
18
+ isCritical?: boolean;
19
+ /** Agent type making the request */
20
+ agentType?: string;
21
+ /** Domain context */
22
+ domain?: string;
23
+ }
24
+ export interface ModelRouteResult {
25
+ tier: ModelTier;
26
+ tierName: string;
27
+ modelId: string;
28
+ executionStrategy: string;
29
+ useAgentBooster: boolean;
30
+ agentBoosterTransform?: string;
31
+ complexity: {
32
+ overall: number;
33
+ code: number;
34
+ reasoning: number;
35
+ scope: number;
36
+ };
37
+ confidence: number;
38
+ rationale: string;
39
+ warnings: string[];
40
+ budget: {
41
+ allowed: boolean;
42
+ wasDowngraded: boolean;
43
+ estimatedCostUsd: number;
44
+ };
45
+ decisionTimeMs: number;
46
+ }
47
+ /**
48
+ * Handle model routing query - returns routing decision without submitting task
49
+ */
50
+ export declare function handleModelRoute(params: ModelRouteParams): Promise<ToolResult<ModelRouteResult>>;
51
+ export interface RoutingMetricsParams {
52
+ /** Include routing log entries */
53
+ includeLog?: boolean;
54
+ /** Max log entries to return */
55
+ logLimit?: number;
56
+ }
57
+ export interface RoutingMetricsResult {
58
+ stats: RoutingStats;
59
+ log?: RoutingLogEntry[];
60
+ modelRouterMetrics: {
61
+ totalDecisions: number;
62
+ avgDecisionTimeMs: number;
63
+ agentBoosterStats: {
64
+ eligible: number;
65
+ used: number;
66
+ successRate: number;
67
+ };
68
+ budgetStats: {
69
+ totalSpentUsd: number;
70
+ budgetUtilization: number;
71
+ downgradeCount: number;
72
+ };
73
+ };
74
+ }
75
+ /**
76
+ * Handle routing metrics query
77
+ */
78
+ export declare function handleRoutingMetrics(params: RoutingMetricsParams): Promise<ToolResult<RoutingMetricsResult>>;
79
+ export interface RoutingEconomicsParams {
80
+ /** Task complexity score 0-1 for tier scoring (default: 0.5) */
81
+ taskComplexity?: number;
82
+ }
83
+ export interface RoutingEconomicsResult {
84
+ tierEfficiency: Array<{
85
+ tier: string;
86
+ qualityScore: number;
87
+ estimatedCostUsd: number;
88
+ qualityPerDollar: number | string;
89
+ economicScore: number;
90
+ }>;
91
+ currentHourlyCostUsd: number;
92
+ currentDailyCostUsd: number;
93
+ budgetRemaining: {
94
+ hourly: number | null;
95
+ daily: number | null;
96
+ };
97
+ recommendation: string;
98
+ savingsOpportunity: {
99
+ usd: number;
100
+ description: string;
101
+ } | null;
102
+ }
103
+ /**
104
+ * Handle economic routing report query
105
+ */
106
+ export declare function handleRoutingEconomics(params: RoutingEconomicsParams): Promise<ToolResult<RoutingEconomicsResult>>;
107
+ //# sourceMappingURL=model-route-handlers.d.ts.map
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Agentic QE v3 - Model routing MCP handlers (ADR-051)
3
+ * Routing decisions, routing metrics and routing economics.
4
+ */
5
+ import { getTaskRouter, } from '../services/task-router.js';
6
+ import { toErrorMessage } from '../../shared/error-utils.js';
7
+ import { inferDomainFromDescription } from './task-inference.js';
8
+ /**
9
+ * Handle model routing query - returns routing decision without submitting task
10
+ */
11
+ export async function handleModelRoute(params) {
12
+ try {
13
+ const router = await getTaskRouter();
14
+ // Enrich routing input: infer domain and metadata from task description
15
+ // when the caller doesn't provide them explicitly
16
+ const inferredDomain = params.domain || inferDomainFromDescription(params.task);
17
+ const inferredIsCritical = params.isCritical ??
18
+ /\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(params.task);
19
+ const result = await router.routeTask({
20
+ task: params.task,
21
+ codeContext: params.codeContext,
22
+ filePaths: params.filePaths,
23
+ manualTier: params.manualTier,
24
+ isCritical: inferredIsCritical,
25
+ agentType: params.agentType || `qe-${inferredDomain}`,
26
+ domain: inferredDomain,
27
+ // Pass metadata to help the complexity analyzer
28
+ metadata: {
29
+ inferredDomain,
30
+ hasCodeContext: !!params.codeContext,
31
+ fileCount: params.filePaths?.length,
32
+ },
33
+ });
34
+ return {
35
+ success: true,
36
+ data: {
37
+ tier: result.decision.tier,
38
+ tierName: result.tierInfo.name,
39
+ modelId: result.modelId,
40
+ executionStrategy: result.executionStrategy,
41
+ useAgentBooster: result.useAgentBooster,
42
+ agentBoosterTransform: result.decision.agentBoosterTransform,
43
+ complexity: {
44
+ overall: result.decision.complexityAnalysis.overall,
45
+ code: result.decision.complexityAnalysis.codeComplexity,
46
+ reasoning: result.decision.complexityAnalysis.reasoningComplexity,
47
+ scope: result.decision.complexityAnalysis.scopeComplexity,
48
+ },
49
+ confidence: result.decision.confidence,
50
+ rationale: result.decision.rationale,
51
+ warnings: result.decision.warnings,
52
+ budget: {
53
+ allowed: result.decision.budgetDecision.allowed,
54
+ wasDowngraded: result.decision.budgetDecision.wasDowngraded,
55
+ estimatedCostUsd: result.decision.budgetDecision.estimatedCostUsd,
56
+ },
57
+ decisionTimeMs: result.decision.metadata.decisionTimeMs,
58
+ },
59
+ };
60
+ }
61
+ catch (error) {
62
+ return {
63
+ success: false,
64
+ error: `Failed to route task: ${toErrorMessage(error)}`,
65
+ };
66
+ }
67
+ }
68
+ /**
69
+ * Handle routing metrics query
70
+ */
71
+ export async function handleRoutingMetrics(params) {
72
+ try {
73
+ const router = await getTaskRouter();
74
+ const stats = router.getRoutingStats();
75
+ const metrics = router.getMetrics();
76
+ const result = {
77
+ stats,
78
+ modelRouterMetrics: {
79
+ totalDecisions: metrics.totalDecisions,
80
+ avgDecisionTimeMs: metrics.avgDecisionTimeMs,
81
+ agentBoosterStats: metrics.agentBoosterStats,
82
+ budgetStats: metrics.budgetStats,
83
+ },
84
+ };
85
+ if (params.includeLog) {
86
+ result.log = router.getRoutingLog(params.logLimit || 100);
87
+ }
88
+ return {
89
+ success: true,
90
+ data: result,
91
+ };
92
+ }
93
+ catch (error) {
94
+ return {
95
+ success: false,
96
+ error: `Failed to get routing metrics: ${toErrorMessage(error)}`,
97
+ };
98
+ }
99
+ }
100
+ /**
101
+ * Handle economic routing report query
102
+ */
103
+ export async function handleRoutingEconomics(params) {
104
+ try {
105
+ const { createRoutingFeedbackCollector } = await import('../../routing/routing-feedback.js');
106
+ const { getGlobalCostTracker } = await import('../../shared/llm/cost-tracker.js');
107
+ // Create collector, initialize to load persisted state from DB, then enable economic routing
108
+ const collector = createRoutingFeedbackCollector(100);
109
+ await collector.initialize();
110
+ collector.enableEconomicRouting({ ...(params.taskComplexity != null ? {} : {}) }, getGlobalCostTracker());
111
+ const report = collector.getEconomicReport();
112
+ if (!report) {
113
+ return { success: false, error: 'Economic routing is not available' };
114
+ }
115
+ // Convert Infinity to string for JSON serialization
116
+ const tierEfficiency = report.tierEfficiency.map(t => ({
117
+ ...t,
118
+ qualityPerDollar: isFinite(t.qualityPerDollar) ? t.qualityPerDollar : 'Infinity',
119
+ }));
120
+ return {
121
+ success: true,
122
+ data: {
123
+ tierEfficiency,
124
+ currentHourlyCostUsd: report.currentHourlyCostUsd,
125
+ currentDailyCostUsd: report.currentDailyCostUsd,
126
+ budgetRemaining: report.budgetRemaining,
127
+ recommendation: report.recommendation,
128
+ savingsOpportunity: report.savingsOpportunity,
129
+ },
130
+ };
131
+ }
132
+ catch (error) {
133
+ return {
134
+ success: false,
135
+ error: `Failed to get economic routing report: ${toErrorMessage(error)}`,
136
+ };
137
+ }
138
+ }
139
+ //# sourceMappingURL=model-route-handlers.js.map
@@ -13,6 +13,7 @@ import { resolve } from 'node:path';
13
13
  import { findProjectRoot } from '../../kernel/project-root.js';
14
14
  import { confineIndexPaths } from '../../domains/code-intelligence/index-path-guard.js';
15
15
  import { requirePayloadPath } from '../../shared/io/payload-path-guard.js';
16
+ import { isCodeSearch, namesTestGeneration } from './task-inference.js';
16
17
  const needs = (type, what) => ({
17
18
  kind: 'needs-input',
18
19
  error: `task_orchestrate inferred '${type}' from the description, but ${what}`,
@@ -75,6 +76,31 @@ async function coverageRoute(request) {
75
76
  payload: { target, detectGaps: true },
76
77
  };
77
78
  }
79
+ /**
80
+ * #1225: test generation reads source files. Without filePaths, the files the
81
+ * description names are used; with none, the task is refused up front instead
82
+ * of being accepted and failing with "missing sourceFiles". `generate-tests`
83
+ * is also the fallback for a description that names no task, which the
84
+ * refusal says.
85
+ */
86
+ async function testGenerationRoute(request) {
87
+ const type = 'generate-tests';
88
+ if ((request.filePaths ?? []).length > 0)
89
+ return { kind: 'as-inferred' };
90
+ const named = pathsInDescription(request.task);
91
+ if (named.length === 0) {
92
+ const why = namesTestGeneration(request.task)
93
+ ? 'no source files were given and the description names none.'
94
+ : 'no task type could be inferred from the description, and test generation (the fallback) needs ' +
95
+ 'source files: none were given and the description names none.';
96
+ return needs(type, `${why} Pass filePaths with the source files to generate tests for, or use ` +
97
+ 'test_generate_enhanced, or task_submit with a task type and its payload.');
98
+ }
99
+ const confined = await projectFiles(type, named);
100
+ if ('kind' in confined)
101
+ return confined;
102
+ return { kind: 'route', type, domain: 'test-generation', payload: { sourceFiles: confined.files } };
103
+ }
78
104
  /** Decide how task_orchestrate runs an inferred task type. */
79
105
  export async function routeInferredTask(type, request) {
80
106
  const filePaths = request.filePaths ?? [];
@@ -89,7 +115,16 @@ export async function routeInferredTask(type, request) {
89
115
  return confined;
90
116
  return { kind: 'route', type: 'sast-scan', domain: 'security-compliance', payload: { files: confined.files } };
91
117
  }
92
- case 'index-code':
118
+ case 'index-code': {
119
+ // #1146: a search description ("semantic search for auth code") is not
120
+ // an index request. Running the domain's search could answer "no
121
+ // results" for code that exists (#1224), so it is refused with what to
122
+ // use instead of the misleading "no files to index".
123
+ if (isCodeSearch(request.task)) {
124
+ return needs(type, 'the description asks for a code search, which task_orchestrate does not run: the ' +
125
+ 'code-intelligence search can report no results for code that exists (#1224). Search the source ' +
126
+ 'directly (e.g. grep), or use code_index with a target for dependency and impact analysis.');
127
+ }
93
128
  // #1134: indexing reads exactly the files it is given; without them the
94
129
  // task could only fail after it was accepted. The indexer confines the
95
130
  // paths to the project itself (#1096).
@@ -98,6 +133,7 @@ export async function routeInferredTask(type, request) {
98
133
  'or use code_index with a target.');
99
134
  }
100
135
  return { kind: 'as-inferred' };
136
+ }
101
137
  case 'assess-quality': {
102
138
  if (filePaths.length === 0) {
103
139
  return needs(type, 'no source files were given. Pass filePaths with the source files to assess, ' +
@@ -119,8 +155,8 @@ export async function routeInferredTask(type, request) {
119
155
  'Lighthouse), and the domain task handler cannot guarantee one. Use accessibility_test with the page URL.');
120
156
  case 'optimize-learning':
121
157
  // optimize-strategies overwrites the stored learned strategies
122
- // (persist: true). Words like "improve" or "optimize" in a description
123
- // must not change learning data as a side effect.
158
+ // (persist: true), so learning wording alone does not run it (#1146:
159
+ // "improve"/"optimize" alone no longer infer it at all).
124
160
  return needs(type, 'learning optimization overwrites the stored learned strategies, so it is not run from ' +
125
161
  'a description. Use task_submit with type optimize-strategies in domain learning-optimization.');
126
162
  case 'run-chaos':
@@ -134,6 +170,8 @@ export async function routeInferredTask(type, request) {
134
170
  return needs(type, 'requirement validation needs a structured requirement (title, description, ' +
135
171
  'acceptance criteria). Use requirements_validate, or task_submit with type validate and ' +
136
172
  'payload.requirement in domain requirements-validation.');
173
+ case 'generate-tests':
174
+ return testGenerationRoute(request);
137
175
  default:
138
176
  return { kind: 'as-inferred' };
139
177
  }