agentic-qe 3.9.24 → 3.9.25

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 (287) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +58 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/cli/bundle.js +5 -5
  5. package/dist/cli/chunks/adapter-DRRUAQGD.js +2 -0
  6. package/dist/cli/chunks/{agent-booster-wasm-YYKCGP5I.js → agent-booster-wasm-3JH5PJWN.js} +2 -2
  7. package/dist/cli/chunks/{agent-handler-SDRMLJNW.js → agent-handler-3FEJU2TM.js} +2 -2
  8. package/dist/cli/chunks/{agent-memory-branch-AD5E4475.js → agent-memory-branch-FCLJ7NQB.js} +2 -2
  9. package/dist/cli/chunks/aqe-learning-engine-5WYTKZ2I.js +2 -0
  10. package/dist/cli/chunks/{audit-6CXDBP5N.js → audit-FSLEJMM5.js} +2 -2
  11. package/dist/cli/chunks/base-LQVASZ6V.js +2 -0
  12. package/dist/cli/chunks/{hnswlib-node-PIFTVXNO.js → better-sqlite3-SAJ7HAFG.js} +2 -2
  13. package/dist/cli/chunks/{brain-handler-QPMGPK4J.js → brain-handler-IVRXCPLL.js} +3 -3
  14. package/dist/cli/chunks/{branch-enumerator-RNVAQ47F.js → branch-enumerator-EXW3AFAQ.js} +2 -2
  15. package/dist/cli/chunks/{browser-GCXX35IY.js → browser-3J6OTKWZ.js} +2 -2
  16. package/dist/cli/chunks/browser-workflow-TXQBTTSA.js +2 -0
  17. package/dist/cli/chunks/{chunk-PU3MT7SE.js → chunk-2ACE3T6H.js} +3 -3
  18. package/dist/cli/chunks/{chunk-C4ST4NP4.js → chunk-2IRRXFBV.js} +2 -2
  19. package/dist/cli/chunks/{chunk-SNTRKHVH.js → chunk-2ZN6YGSA.js} +4 -4
  20. package/dist/cli/chunks/{chunk-K2M6UBGI.js → chunk-3ITRVWXL.js} +1 -1
  21. package/dist/cli/chunks/{chunk-3Y5C4SE3.js → chunk-3LSHQUQ2.js} +2 -2
  22. package/dist/cli/chunks/{chunk-4LA24G33.js → chunk-3OPXTQMB.js} +1 -1
  23. package/dist/cli/chunks/{chunk-7ODDJI3P.js → chunk-4ASWQOFE.js} +2 -2
  24. package/dist/cli/chunks/{chunk-OOU4VQ2T.js → chunk-4DVQS5LA.js} +2 -2
  25. package/dist/cli/chunks/{chunk-OJPKAWKD.js → chunk-4EUPBVPV.js} +1 -1
  26. package/dist/cli/chunks/{chunk-4AUGLQOE.js → chunk-4FRRDVWH.js} +2 -2
  27. package/dist/cli/chunks/{chunk-6SWRLJ3I.js → chunk-4GVLZIHN.js} +2 -2
  28. package/dist/cli/chunks/{chunk-Z2CO6ZI5.js → chunk-5DOCH2OX.js} +1 -1
  29. package/dist/cli/chunks/{chunk-YEVQOQVZ.js → chunk-5KWOG53N.js} +1 -1
  30. package/dist/cli/chunks/{chunk-ROBKPGX5.js → chunk-5RJENBAG.js} +3 -3
  31. package/dist/cli/chunks/{chunk-QLPGWGJT.js → chunk-5SGWYFOV.js} +1 -1
  32. package/dist/cli/chunks/{chunk-EAC3PZGH.js → chunk-5XCHNZNW.js} +2 -2
  33. package/dist/cli/chunks/{chunk-SE572JWE.js → chunk-5ZADSKFC.js} +3 -3
  34. package/dist/cli/chunks/{chunk-YFWVVYZX.js → chunk-6IRQAAMQ.js} +1 -1
  35. package/dist/cli/chunks/{chunk-RHFNFYIL.js → chunk-6PW5L2SC.js} +2 -2
  36. package/dist/cli/chunks/{chunk-4SDQZI7D.js → chunk-6UH7B3PE.js} +1 -1
  37. package/dist/cli/chunks/{chunk-Q5OLVIKK.js → chunk-73SK2MNU.js} +2 -2
  38. package/dist/cli/chunks/{chunk-EHA2BZ47.js → chunk-73SPNQDP.js} +2 -2
  39. package/dist/cli/chunks/{chunk-LX6XRBJ2.js → chunk-74YWPNUB.js} +2 -2
  40. package/dist/cli/chunks/{chunk-L4JUOVBW.js → chunk-75PD5ATI.js} +2 -2
  41. package/dist/cli/chunks/{chunk-MUH2YGNO.js → chunk-76RCKSCL.js} +2 -2
  42. package/dist/cli/chunks/{chunk-3NZ7IVRI.js → chunk-7G2UJMKQ.js} +2 -2
  43. package/dist/cli/chunks/{chunk-ZHVORPKM.js → chunk-7QILWWRD.js} +2 -2
  44. package/dist/cli/chunks/{chunk-HFPQVO4O.js → chunk-7VNGENWZ.js} +2 -2
  45. package/dist/cli/chunks/{chunk-IQRLMOTN.js → chunk-7YV5T64G.js} +1 -1
  46. package/dist/cli/chunks/{chunk-HGOTTQQK.js → chunk-AFQNJJWA.js} +2 -2
  47. package/dist/cli/chunks/{chunk-U6V6R2EF.js → chunk-AQXKM5VB.js} +2 -2
  48. package/dist/cli/chunks/{chunk-QNMIY45G.js → chunk-AZ3GC5UX.js} +3 -3
  49. package/dist/cli/chunks/{chunk-V7IDAZKZ.js → chunk-CRTUB5NH.js} +1 -1
  50. package/dist/cli/chunks/{chunk-INPP5RW4.js → chunk-DNIU6W6Z.js} +2 -2
  51. package/dist/cli/chunks/{chunk-MDSCVTJZ.js → chunk-DPDDWIL7.js} +2 -2
  52. package/dist/cli/chunks/{chunk-NOUDTI2R.js → chunk-DZVIMPC2.js} +2 -2
  53. package/dist/cli/chunks/{chunk-ERDCTBUC.js → chunk-EKQI2HRL.js} +2 -2
  54. package/dist/cli/chunks/chunk-EOZIQTHG.js +2 -0
  55. package/dist/cli/chunks/{chunk-LOFQAI7V.js → chunk-EY2W47L3.js} +2 -2
  56. package/dist/cli/chunks/{chunk-7H36CVZ6.js → chunk-F3IEJL4O.js} +2 -2
  57. package/dist/cli/chunks/{chunk-5OBSLVXI.js → chunk-FFP7OV5L.js} +2 -2
  58. package/dist/cli/chunks/{chunk-7LIRKYB6.js → chunk-FHKQSSQT.js} +2 -2
  59. package/dist/cli/chunks/{chunk-7TC7HNSA.js → chunk-FL2G2VFC.js} +2 -2
  60. package/dist/cli/chunks/{chunk-PEKULOY4.js → chunk-FO3VJDCI.js} +1 -1
  61. package/dist/cli/chunks/{chunk-MXXRESCK.js → chunk-FUNP4GGE.js} +2 -2
  62. package/dist/cli/chunks/{chunk-QUN5QEW5.js → chunk-GV3LIGPJ.js} +2 -2
  63. package/dist/cli/chunks/{chunk-OPHVJUZK.js → chunk-H6IV3LHA.js} +2 -2
  64. package/dist/cli/chunks/{chunk-2NJO73YD.js → chunk-HEVA2HR3.js} +2 -2
  65. package/dist/cli/chunks/{chunk-O4CTWG4B.js → chunk-HLVL2N5U.js} +2 -2
  66. package/dist/cli/chunks/{chunk-MG52OB2J.js → chunk-I5AVFRDJ.js} +1 -1
  67. package/dist/cli/chunks/{chunk-I3VTEYYF.js → chunk-I5WMRFJ2.js} +3 -3
  68. package/dist/cli/chunks/{chunk-G73FWR34.js → chunk-IJH3WAC4.js} +3 -3
  69. package/dist/cli/chunks/{chunk-6XXHK6NL.js → chunk-ILIKB32B.js} +2 -2
  70. package/dist/cli/chunks/{chunk-3ZNIACXR.js → chunk-IV4OBL4P.js} +1 -1
  71. package/dist/cli/chunks/{chunk-L5JJKGKJ.js → chunk-J2O5RRNH.js} +1 -1
  72. package/dist/cli/chunks/{chunk-LVR47OZA.js → chunk-JFWRCQCV.js} +2 -2
  73. package/dist/cli/chunks/{chunk-N643IL63.js → chunk-JPB44BMP.js} +2 -2
  74. package/dist/cli/chunks/{chunk-EALLOFGD.js → chunk-JXSEJIIB.js} +1 -1
  75. package/dist/cli/chunks/{chunk-QG63KW2J.js → chunk-KAVN56IT.js} +2 -2
  76. package/dist/cli/chunks/{chunk-JDJ6VEXU.js → chunk-KVZKBPKC.js} +2 -2
  77. package/dist/cli/chunks/{chunk-W7HIJ5DV.js → chunk-KYDLYPOG.js} +8 -8
  78. package/dist/cli/chunks/{chunk-F4GZAQR2.js → chunk-LFD3YTNY.js} +2 -2
  79. package/dist/cli/chunks/{chunk-RMTPAEZO.js → chunk-LKRGOCDO.js} +2 -2
  80. package/dist/cli/chunks/{chunk-BWCSNSXR.js → chunk-LTWNVZDR.js} +2 -2
  81. package/dist/cli/chunks/{chunk-YRKY76JZ.js → chunk-M4F7EAR6.js} +2 -2
  82. package/dist/cli/chunks/{chunk-FHRUSW2V.js → chunk-M4GE3R5K.js} +2 -2
  83. package/dist/cli/chunks/{chunk-RSED3U2F.js → chunk-MAWGLIAE.js} +1 -1
  84. package/dist/cli/chunks/{chunk-O3ADCWEC.js → chunk-ML7AEOPI.js} +2 -2
  85. package/dist/cli/chunks/{chunk-A4CHQJEO.js → chunk-MMWH7D2O.js} +2 -2
  86. package/dist/cli/chunks/{chunk-DZPKBTP3.js → chunk-MP4GPPOD.js} +2 -2
  87. package/dist/cli/chunks/{chunk-73K34C4S.js → chunk-MVT2F4Z4.js} +4 -4
  88. package/dist/cli/chunks/{chunk-L5Y2BVYX.js → chunk-MYDJYPBT.js} +2 -2
  89. package/dist/cli/chunks/{chunk-7XK73L6C.js → chunk-N64WUFUI.js} +10 -10
  90. package/dist/cli/chunks/{chunk-DZHAXSOZ.js → chunk-NADXRFKX.js} +1 -1
  91. package/dist/cli/chunks/{chunk-UGR3JJD7.js → chunk-NIXA5DVA.js} +2 -2
  92. package/dist/cli/chunks/{chunk-BDGKN7GC.js → chunk-NURG5LQO.js} +1 -1
  93. package/dist/cli/chunks/{chunk-KSN6QUCR.js → chunk-OGBDSSVO.js} +2 -2
  94. package/dist/cli/chunks/{chunk-6FCVDWPR.js → chunk-OJ7RJC7F.js} +1 -1
  95. package/dist/cli/chunks/{chunk-RGOJFKIY.js → chunk-P5ZV4RCF.js} +2 -2
  96. package/dist/cli/chunks/{chunk-3LHP7G6U.js → chunk-P6REB3IC.js} +1 -1
  97. package/dist/cli/chunks/{chunk-L7EDWT5P.js → chunk-PFH2G7AP.js} +2 -2
  98. package/dist/cli/chunks/{chunk-54RVQDTB.js → chunk-PMAMZZ6B.js} +1 -1
  99. package/dist/cli/chunks/{chunk-NYEVQB5R.js → chunk-Q3MHHREJ.js} +2 -2
  100. package/dist/cli/chunks/{chunk-DFG3KX7E.js → chunk-QFNWLRPV.js} +2 -2
  101. package/dist/cli/chunks/{chunk-YLC6QGNW.js → chunk-QJKXAYOM.js} +2 -2
  102. package/dist/cli/chunks/{chunk-PSJJNJLE.js → chunk-QOVAU4DT.js} +1 -1
  103. package/dist/cli/chunks/{chunk-7I6ULQRI.js → chunk-R3OII6WM.js} +1 -1
  104. package/dist/cli/chunks/{chunk-WB3GQ7X7.js → chunk-R7VO6E3E.js} +2 -2
  105. package/dist/cli/chunks/{chunk-HQY2BNJT.js → chunk-SDOG2MMY.js} +2 -2
  106. package/dist/cli/chunks/{chunk-73JTRGIQ.js → chunk-SKRQF45C.js} +2 -2
  107. package/dist/cli/chunks/{chunk-25AL3RPA.js → chunk-T5WFV3EH.js} +1 -1
  108. package/dist/cli/chunks/{chunk-TS5YIHJH.js → chunk-TCRBP7GO.js} +1 -1
  109. package/dist/cli/chunks/{chunk-HYX3LWLA.js → chunk-THQNIMJU.js} +2 -2
  110. package/dist/cli/chunks/{chunk-ZSVCK7B2.js → chunk-U67BTJC3.js} +2 -2
  111. package/dist/cli/chunks/{chunk-M7MA7R2X.js → chunk-UHWGEZXG.js} +1 -1
  112. package/dist/cli/chunks/{chunk-PTIPWMXS.js → chunk-V3L3FD4I.js} +1 -1
  113. package/dist/cli/chunks/{chunk-QDUV7TDQ.js → chunk-VLNCDVU6.js} +2 -2
  114. package/dist/cli/chunks/{chunk-ZJNZ5SDG.js → chunk-VRNRR3VU.js} +2 -2
  115. package/dist/cli/chunks/{chunk-XD6XAYKA.js → chunk-VUEYEMMJ.js} +9 -9
  116. package/dist/cli/chunks/{chunk-VUKMN54Z.js → chunk-VYFRA4ZP.js} +1 -1
  117. package/dist/cli/chunks/{chunk-CTSTHKH4.js → chunk-VZVHYH7B.js} +1 -1
  118. package/dist/cli/chunks/{chunk-JYMDWMEJ.js → chunk-W2OPF27P.js} +3 -3
  119. package/dist/cli/chunks/{chunk-AJ45BRKK.js → chunk-W5RRYCQ7.js} +2 -2
  120. package/dist/cli/chunks/{chunk-WGEX22Z4.js → chunk-W7ULVE22.js} +2 -2
  121. package/dist/cli/chunks/{chunk-TQGEZV6M.js → chunk-WOD7Y7NC.js} +2 -2
  122. package/dist/cli/chunks/{chunk-HH3ENF7B.js → chunk-X33KZ6WO.js} +1 -1
  123. package/dist/cli/chunks/{chunk-IFCUBSI2.js → chunk-X66FBTTD.js} +1 -1
  124. package/dist/cli/chunks/{chunk-WH75EHSK.js → chunk-XBBNMF3C.js} +2 -2
  125. package/dist/cli/chunks/{chunk-LQHWPAQP.js → chunk-XBGO4NQE.js} +2 -2
  126. package/dist/cli/chunks/{chunk-TUY3BOQM.js → chunk-XC34CWA3.js} +2 -2
  127. package/dist/cli/chunks/{chunk-42CCJFXZ.js → chunk-XMYX6HAG.js} +2 -2
  128. package/dist/cli/chunks/{chunk-JVN5TS5E.js → chunk-XNXFB4TV.js} +2 -2
  129. package/dist/cli/chunks/{chunk-4FCCQJQA.js → chunk-XPXL75LN.js} +1 -1
  130. package/dist/cli/chunks/{chunk-FPBCG7CX.js → chunk-XXG6OQSR.js} +2 -2
  131. package/dist/cli/chunks/{chunk-KQRJXVMO.js → chunk-ZGGHGWXF.js} +1 -1
  132. package/dist/cli/chunks/{ci-F4VZKYED.js → ci-2UUAA532.js} +2 -2
  133. package/dist/cli/chunks/{ci-output-LLKTJAKA.js → ci-output-NLBMSDOP.js} +2 -2
  134. package/dist/cli/chunks/{circuit-breaker-ZQ4747J4.js → circuit-breaker-UMHTVSA2.js} +2 -2
  135. package/dist/cli/chunks/{claude-flow-setup-LHM5WAJN.js → claude-flow-setup-Q6A7T2CH.js} +2 -2
  136. package/dist/cli/chunks/client-TMGGCVZM.js +2 -0
  137. package/dist/cli/chunks/{cline-installer-YZOPUVED.js → cline-installer-UPIZH2ZF.js} +2 -2
  138. package/dist/cli/chunks/{code-7WPHN4PO.js → code-TPVQFW7C.js} +2 -2
  139. package/dist/cli/chunks/{code-index-extractor-N25SYDBV.js → code-index-extractor-Z7J3RZ4Q.js} +2 -2
  140. package/dist/cli/chunks/{codex-installer-53WXU6E4.js → codex-installer-GTT3IBZT.js} +2 -2
  141. package/dist/cli/chunks/{completions-WPB73WPI.js → completions-TXYGM6BK.js} +2 -2
  142. package/dist/cli/chunks/{complexity-analyzer-OLOYWXN5.js → complexity-analyzer-HMXULCFI.js} +2 -2
  143. package/dist/cli/chunks/{continuedev-installer-5QXNYNJG.js → continuedev-installer-3GDGFMEE.js} +2 -2
  144. package/dist/cli/chunks/{copilot-installer-POWDJ5TF.js → copilot-installer-S4KIV6OT.js} +2 -2
  145. package/dist/cli/chunks/{cost-tracker-NCRSKECA.js → cost-tracker-E2M57AGD.js} +2 -2
  146. package/dist/cli/chunks/{coverage-ZOWE75NF.js → coverage-NXF6THG2.js} +3 -3
  147. package/dist/cli/chunks/cross-domain-router-3WM3FES7.js +2 -0
  148. package/dist/cli/chunks/{cursor-installer-W5U432Q4.js → cursor-installer-GSMPSNIZ.js} +2 -2
  149. package/dist/cli/chunks/{daemon-JHXPBUL3.js → daemon-IGNIH3TQ.js} +3 -3
  150. package/dist/cli/chunks/{dag-attention-scheduler-JKYKYDLZ.js → dag-attention-scheduler-FFCTYK3P.js} +2 -2
  151. package/dist/cli/chunks/{detect-MNW7EGOS.js → detect-CFB72DRI.js} +2 -2
  152. package/dist/cli/chunks/{dist-node-33BRM2EM.js → dist-node-RGD4BMAQ.js} +2 -2
  153. package/dist/cli/chunks/{domain-handler-PRTXYKNX.js → domain-handler-SAKJIOXO.js} +2 -2
  154. package/dist/cli/chunks/{domain-transfer-FJVNUH6Y.js → domain-transfer-44QPKEAY.js} +2 -2
  155. package/dist/cli/chunks/dream-SSRYUA2N.js +2 -0
  156. package/dist/cli/chunks/{embed-and-insert-pattern-XST4CYRL.js → embed-and-insert-pattern-Z4MA4ZST.js} +2 -2
  157. package/dist/cli/chunks/{eval-SLBS3MDW.js → eval-IDTYZI7P.js} +2 -2
  158. package/dist/cli/chunks/{experience-capture-middleware-MZ4VBCGB.js → experience-capture-middleware-HXLGMWLK.js} +3 -3
  159. package/dist/cli/chunks/{fast-paths-H6Z4TAE7.js → fast-paths-V47QDNVC.js} +2 -2
  160. package/dist/cli/chunks/{feature-flags-7UYNPXYB.js → feature-flags-RALYJOEU.js} +2 -2
  161. package/dist/cli/chunks/{feature-flags-RF44J4FC.js → feature-flags-YWKFG357.js} +2 -2
  162. package/dist/cli/chunks/{file-discovery-2RZS7M6Q.js → file-discovery-R3CDYNKP.js} +2 -2
  163. package/dist/cli/chunks/{fleet-XVVAC32S.js → fleet-XBVAD6CL.js} +3 -3
  164. package/dist/cli/chunks/{gnn-wrapper-XAJR4F5W.js → gnn-wrapper-HVZMQHEX.js} +2 -2
  165. package/dist/cli/chunks/{heartbeat-handler-PAPNBHL5.js → heartbeat-handler-BBHOWYMJ.js} +4 -4
  166. package/dist/cli/chunks/{heartbeat-scheduler-PNGMQ5A2.js → heartbeat-scheduler-SNUBX4LF.js} +2 -2
  167. package/dist/cli/chunks/hnsw-adapter-HGJUAHPN.js +2 -0
  168. package/dist/cli/chunks/hnsw-index-Q6GETC2C.js +2 -0
  169. package/dist/cli/chunks/{hnsw-legacy-bridge-EK67OOYT.js → hnsw-legacy-bridge-NKQVKQ3J.js} +2 -2
  170. package/dist/cli/chunks/{better-sqlite3-X4MDD7D3.js → hnswlib-node-KUWXTCD4.js} +2 -2
  171. package/dist/cli/chunks/{hooks-FXUZIAAW.js → hooks-HOD4SK3C.js} +51 -39
  172. package/dist/cli/chunks/{hybrid-router-FA6Q25KJ.js → hybrid-router-YUVRBFMA.js} +2 -2
  173. package/dist/cli/chunks/{hypergraph-engine-PT6AI5VE.js → hypergraph-engine-EKOOW425.js} +2 -2
  174. package/dist/cli/chunks/{hypergraph-handler-TTP3AY5E.js → hypergraph-handler-M4MSX62E.js} +3 -3
  175. package/dist/cli/chunks/impact-analyzer-AIOLML23.js +2 -0
  176. package/dist/cli/chunks/{init-handler-GV4RMNLA.js → init-handler-W3DIXGVJ.js} +6 -6
  177. package/dist/cli/chunks/init-wizard-FVH6XXAD.js +2 -0
  178. package/dist/cli/chunks/kernel-EBLOZQ7R.js +2 -0
  179. package/dist/cli/chunks/{kilocode-installer-MUK6H6PQ.js → kilocode-installer-VVFIT4TJ.js} +2 -2
  180. package/dist/cli/chunks/{kiro-installer-VHOG37LV.js → kiro-installer-JCNYLJXT.js} +2 -2
  181. package/dist/cli/chunks/knowledge-graph-BXVKN4TE.js +2 -0
  182. package/dist/cli/chunks/{learning-N5NUW6SR.js → learning-5X4UDI4G.js} +3 -3
  183. package/dist/cli/chunks/{llm-router-6D3JJ5MX.js → llm-router-M6NOWWP3.js} +4 -4
  184. package/dist/cli/chunks/{load-3ZM66OKE.js → load-UMYB2ZGL.js} +2 -2
  185. package/dist/cli/chunks/load-test-DAFHZ5B4.js +2 -0
  186. package/dist/cli/chunks/{mcp-W2JSXQ32.js → mcp-ZDAIT7D5.js} +2 -2
  187. package/dist/cli/chunks/{memory-J4W4HRUH.js → memory-FIWC4JNS.js} +5 -5
  188. package/dist/cli/chunks/memory-backend-LW2HMGVV.js +2 -0
  189. package/dist/cli/chunks/{memory-handlers-ZBNFDKP4.js → memory-handlers-AHZIB4VB.js} +2 -2
  190. package/dist/cli/chunks/{multi-model-executor-MVEFZZSV.js → multi-model-executor-SA4CVCSA.js} +2 -2
  191. package/dist/cli/chunks/{opencode-installer-DGRDAJFV.js → opencode-installer-S6UDYAAQ.js} +2 -2
  192. package/dist/cli/chunks/{orchestrator-LPXK5JF7.js → orchestrator-JNVRGX5Z.js} +6 -6
  193. package/dist/cli/chunks/{pipeline-7GABQFX4.js → pipeline-TLZ66K2O.js} +2 -2
  194. package/dist/cli/chunks/{platform-FNGEQTDL.js → platform-MQ5UXRLD.js} +2 -2
  195. package/dist/cli/chunks/{plugin-T4YRNESL.js → plugin-5S4YEY4C.js} +2 -2
  196. package/dist/cli/chunks/{prime-radiant-advanced-wasm-I25PHLYB.js → prime-radiant-advanced-wasm-LIVSVFZA.js} +2 -2
  197. package/dist/cli/chunks/protocol-executor-LP4ID64X.js +2 -0
  198. package/dist/cli/chunks/{protocol-handler-6KWLEBZJ.js → protocol-handler-KQIOJKTK.js} +2 -2
  199. package/dist/cli/chunks/{prove-B5XQ3SY4.js → prove-YFRZIQ2O.js} +2 -2
  200. package/dist/cli/chunks/{provider-manager-WTZ3FGAH.js → provider-manager-OKEHQIHC.js} +2 -2
  201. package/dist/cli/chunks/qe-reasoning-bank-6KBZMXKR.js +2 -0
  202. package/dist/cli/chunks/{quality-JQ3M7ENY.js → quality-GGBNSKJU.js} +2 -2
  203. package/dist/cli/chunks/queen-coordinator-3ZAXRHXE.js +2 -0
  204. package/dist/cli/chunks/{real-embeddings-EH4WUKDJ.js → real-embeddings-2KWJAO6Y.js} +2 -2
  205. package/dist/cli/chunks/{roocode-installer-6GLCDHDJ.js → roocode-installer-KYZQFIEV.js} +2 -2
  206. package/dist/cli/chunks/router-QJUMFZN6.js +2 -0
  207. package/dist/cli/chunks/routing-feedback-TVYNKT3K.js +2 -0
  208. package/dist/cli/chunks/{routing-handler-4N2XJFNM.js → routing-handler-Y5FLAUB2.js} +2 -2
  209. package/dist/cli/chunks/{ruvector-commands-MGWMR2WN.js → ruvector-commands-MHSEXDRI.js} +2 -2
  210. package/dist/cli/chunks/{rvf-dual-writer-6LN3WQEK.js → rvf-dual-writer-5PV65OR3.js} +2 -2
  211. package/dist/cli/chunks/{rvf-migration-adapter-LAZ5EDQG.js → rvf-migration-adapter-3SZW2YA4.js} +2 -2
  212. package/dist/cli/chunks/{rvf-migration-coordinator-LRXFWTDN.js → rvf-migration-coordinator-5LN2I44C.js} +2 -2
  213. package/dist/cli/chunks/rvf-native-adapter-G5NC4S6V.js +2 -0
  214. package/dist/cli/chunks/safe-db-7STPJWYA.js +2 -0
  215. package/dist/cli/chunks/schedule-NTT6YXMP.js +2 -0
  216. package/dist/cli/chunks/scheduler-BC5VEZI2.js +2 -0
  217. package/dist/cli/chunks/{security-JMEQUSTV.js → security-THETDKDS.js} +3 -3
  218. package/dist/cli/chunks/shared-rvf-adapter-T63WSHGK.js +2 -0
  219. package/dist/cli/chunks/{shared-rvf-dual-writer-W3KUF2Z5.js → shared-rvf-dual-writer-NFUIB2ZL.js} +2 -2
  220. package/dist/cli/chunks/sqlite-persistence-GJDAUFQU.js +2 -0
  221. package/dist/cli/chunks/{status-handler-T3MU7LJC.js → status-handler-CUW2OUS2.js} +2 -2
  222. package/dist/cli/chunks/{structural-health-DKLLSKB7.js → structural-health-IK2LN4ES.js} +2 -2
  223. package/dist/cli/chunks/{sync-YV4JLAYR.js → sync-DA33QCRD.js} +2 -2
  224. package/dist/cli/chunks/{task-handler-WFMLTZFA.js → task-handler-24CAZ4MB.js} +2 -2
  225. package/dist/cli/chunks/{task-handlers-XPRO67IJ.js → task-handlers-YHMFT7G3.js} +3 -3
  226. package/dist/cli/chunks/{test-6LD3KVOS.js → test-ED6UE2EP.js} +4 -4
  227. package/dist/cli/chunks/{test-scheduling-E5CSY4SE.js → test-scheduling-RQP2IPFY.js} +3 -3
  228. package/dist/cli/chunks/{token-bootstrap-TLPEXH6S.js → token-bootstrap-POOTQ33M.js} +2 -2
  229. package/dist/cli/chunks/{token-usage-2MDI65YN.js → token-usage-YNKDAQDK.js} +2 -2
  230. package/dist/cli/chunks/{transformers-CMZ3QD3F.js → transformers-NONXIEJK.js} +2 -2
  231. package/dist/cli/chunks/{tree-sitter-wasm-parser-IXDHBBYF.js → tree-sitter-wasm-parser-HF7WUMJQ.js} +2 -2
  232. package/dist/cli/chunks/{types-GAK4Q24M.js → types-UUKKK3L5.js} +2 -2
  233. package/dist/cli/chunks/unified-memory-JVMA5MJR.js +2 -0
  234. package/dist/cli/chunks/unified-memory-hnsw-SSBWEA2T.js +2 -0
  235. package/dist/cli/chunks/unified-persistence-CWGWVHCB.js +2 -0
  236. package/dist/cli/chunks/{upgrade-TFUW4SLZ.js → upgrade-ZNUFD44G.js} +2 -2
  237. package/dist/cli/chunks/{validate-J4GGNKLW.js → validate-6IFD37Q4.js} +2 -2
  238. package/dist/cli/chunks/{validate-swarm-KCQX46PY.js → validate-swarm-74CENSXV.js} +2 -2
  239. package/dist/cli/chunks/{vibium-WKIFKIZW.js → vibium-B2DDFMOQ.js} +2 -2
  240. package/dist/cli/chunks/visual-security-LGOI2DGK.js +2 -0
  241. package/dist/cli/chunks/{web-tree-sitter-OQSGWVGY.js → web-tree-sitter-X6ELMFG4.js} +2 -2
  242. package/dist/cli/chunks/{windsurf-installer-D6PIM3JO.js → windsurf-installer-HEIKCJDP.js} +2 -2
  243. package/dist/cli/chunks/witness-chain-JDFTWTJS.js +2 -0
  244. package/dist/cli/chunks/{witness-chain-NRVX76IB.js → witness-chain-TO6YFTUT.js} +2 -2
  245. package/dist/cli/chunks/{workflow-3X2UQG7E.js → workflow-WY73P2QK.js} +4 -4
  246. package/dist/cli/chunks/workflow-orchestrator-IDCHNGN6.js +2 -0
  247. package/dist/cli/chunks/{wrappers-UXKMHCHX.js → wrappers-VF7LWJER.js} +2 -2
  248. package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +7 -0
  249. package/dist/cli/commands/hooks-handlers/routing-hooks.js +70 -1
  250. package/dist/cli/commands/hooks.js +1 -0
  251. package/dist/init/init-wizard-hooks.js +13 -0
  252. package/dist/init/phases/07-hooks.js +14 -0
  253. package/dist/mcp/bundle.js +1 -1
  254. package/package.json +1 -1
  255. package/dist/cli/chunks/adapter-KIGGXGP6.js +0 -2
  256. package/dist/cli/chunks/aqe-learning-engine-L3OD7COO.js +0 -2
  257. package/dist/cli/chunks/base-D55R3AAK.js +0 -2
  258. package/dist/cli/chunks/browser-workflow-GVOTUSBY.js +0 -2
  259. package/dist/cli/chunks/chunk-DWNKD2AQ.js +0 -2
  260. package/dist/cli/chunks/client-LZ4J7CB2.js +0 -2
  261. package/dist/cli/chunks/cross-domain-router-RQJLKTPC.js +0 -2
  262. package/dist/cli/chunks/dream-LLY2GYI7.js +0 -2
  263. package/dist/cli/chunks/hnsw-adapter-5KZG2W4N.js +0 -2
  264. package/dist/cli/chunks/hnsw-index-RVENHJNC.js +0 -2
  265. package/dist/cli/chunks/impact-analyzer-NXT3TDYG.js +0 -2
  266. package/dist/cli/chunks/init-wizard-WWYKBF4D.js +0 -2
  267. package/dist/cli/chunks/kernel-HGEE2UL6.js +0 -2
  268. package/dist/cli/chunks/knowledge-graph-EOJCWCZL.js +0 -2
  269. package/dist/cli/chunks/load-test-HRB2KH2Y.js +0 -2
  270. package/dist/cli/chunks/memory-backend-DPAKTNVV.js +0 -2
  271. package/dist/cli/chunks/protocol-executor-XQX2GJVA.js +0 -2
  272. package/dist/cli/chunks/qe-reasoning-bank-FYUB2RJT.js +0 -2
  273. package/dist/cli/chunks/queen-coordinator-J52B6O53.js +0 -2
  274. package/dist/cli/chunks/router-WFPO4XXI.js +0 -2
  275. package/dist/cli/chunks/routing-feedback-2RL7OC36.js +0 -2
  276. package/dist/cli/chunks/rvf-native-adapter-SA4QDDO3.js +0 -2
  277. package/dist/cli/chunks/safe-db-E5KUJFP2.js +0 -2
  278. package/dist/cli/chunks/schedule-BF4MDQ4Z.js +0 -2
  279. package/dist/cli/chunks/scheduler-QG2JMZVB.js +0 -2
  280. package/dist/cli/chunks/shared-rvf-adapter-S4KZM33F.js +0 -2
  281. package/dist/cli/chunks/sqlite-persistence-BXM2XX7R.js +0 -2
  282. package/dist/cli/chunks/unified-memory-WPVYK4Q5.js +0 -2
  283. package/dist/cli/chunks/unified-memory-hnsw-G3PRXB4L.js +0 -2
  284. package/dist/cli/chunks/unified-persistence-WZ5XANS4.js +0 -2
  285. package/dist/cli/chunks/visual-security-ZVQG2EY4.js +0 -2
  286. package/dist/cli/chunks/witness-chain-F3PHT6MB.js +0 -2
  287. package/dist/cli/chunks/workflow-orchestrator-VQVQKILY.js +0 -2
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.24");process.exit(0)}
2
- import{a as i,b as v,c as d,d as p}from"./chunk-L5Y2BVYX.js";import{a as h}from"./chunk-JVN5TS5E.js";import"./chunk-3Y5C4SE3.js";import{a as k}from"./chunk-HFPQVO4O.js";import"./chunk-RSED3U2F.js";import"./chunk-Z2CO6ZI5.js";import"./chunk-Q5OLVIKK.js";import"./chunk-3LHP7G6U.js";import"./chunk-BDGKN7GC.js";import"./chunk-KQRJXVMO.js";import"./chunk-FPBCG7CX.js";import"./chunk-INPP5RW4.js";import"./chunk-3NZ7IVRI.js";import"./chunk-U6V6R2EF.js";import"./chunk-C4ST4NP4.js";import"./chunk-DWNKD2AQ.js";import"./chunk-RGOJFKIY.js";import"./chunk-EAC3PZGH.js";import"./chunk-CTSTHKH4.js";import"./chunk-73JTRGIQ.js";import"./chunk-3ZNIACXR.js";import"./chunk-WB3GQ7X7.js";import"./chunk-HYX3LWLA.js";import"./chunk-AJ45BRKK.js";import"./chunk-BWCSNSXR.js";import"./chunk-O3ADCWEC.js";import"./chunk-HQY2BNJT.js";import"./chunk-4AUGLQOE.js";import"./chunk-HGOTTQQK.js";import"./chunk-7ODDJI3P.js";import"./chunk-4LA24G33.js";import{Command as x}from"commander";import o from"chalk";function _(e,t,a){let c=new x("validate").description("Validation commands for skills and agents");return c.command("swarm").description("Validate skills in parallel using Claude Flow swarms (ADR-056)").option("-s, --skills <skills>",'Comma-separated list of skills to validate, or "all" for P0 skills',"all").option("-m, --models <models>","Comma-separated list of models to validate against",p.join(",")).option("-t, --topology <topology>","Swarm topology: hierarchical or mesh","hierarchical").option("--max-concurrent <number>","Maximum concurrent skill validations",String(i.maxConcurrentSkills)).option("--max-models <number>","Maximum concurrent models per skill",String(i.maxConcurrentModels)).option("--timeout <ms>","Timeout per validation in milliseconds",String(i.timeout)).option("--no-retry","Disable retries on failure").option("-v, --verbose","Show detailed output").option("--json","Output results as JSON").action(async l=>{if(await a())try{console.log(o.blue(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import{a as i,b as v,c as d,d as p}from"./chunk-MYDJYPBT.js";import{a as h}from"./chunk-XNXFB4TV.js";import"./chunk-3LSHQUQ2.js";import{a as k}from"./chunk-7VNGENWZ.js";import"./chunk-MAWGLIAE.js";import"./chunk-5DOCH2OX.js";import"./chunk-73SK2MNU.js";import"./chunk-P6REB3IC.js";import"./chunk-NURG5LQO.js";import"./chunk-ZGGHGWXF.js";import"./chunk-XXG6OQSR.js";import"./chunk-DNIU6W6Z.js";import"./chunk-7G2UJMKQ.js";import"./chunk-AQXKM5VB.js";import"./chunk-2IRRXFBV.js";import"./chunk-EOZIQTHG.js";import"./chunk-P5ZV4RCF.js";import"./chunk-5XCHNZNW.js";import"./chunk-VZVHYH7B.js";import"./chunk-SKRQF45C.js";import"./chunk-IV4OBL4P.js";import"./chunk-R7VO6E3E.js";import"./chunk-THQNIMJU.js";import"./chunk-W5RRYCQ7.js";import"./chunk-LTWNVZDR.js";import"./chunk-ML7AEOPI.js";import"./chunk-SDOG2MMY.js";import"./chunk-4FRRDVWH.js";import"./chunk-AFQNJJWA.js";import"./chunk-4ASWQOFE.js";import"./chunk-3OPXTQMB.js";import{Command as x}from"commander";import o from"chalk";function _(e,t,a){let c=new x("validate").description("Validation commands for skills and agents");return c.command("swarm").description("Validate skills in parallel using Claude Flow swarms (ADR-056)").option("-s, --skills <skills>",'Comma-separated list of skills to validate, or "all" for P0 skills',"all").option("-m, --models <models>","Comma-separated list of models to validate against",p.join(",")).option("-t, --topology <topology>","Swarm topology: hierarchical or mesh","hierarchical").option("--max-concurrent <number>","Maximum concurrent skill validations",String(i.maxConcurrentSkills)).option("--max-models <number>","Maximum concurrent models per skill",String(i.maxConcurrentModels)).option("--timeout <ms>","Timeout per validation in milliseconds",String(i.timeout)).option("--no-retry","Disable retries on failure").option("-v, --verbose","Show detailed output").option("--json","Output results as JSON").action(async l=>{if(await a())try{console.log(o.blue(`
3
3
  Swarm Skill Validation
4
4
  `));let r=l.skills==="all"?[...d]:l.skills.split(",").map(y=>y.trim()),u=l.models.split(",").map(y=>y.trim()),g=P(l.topology),n={topology:g,maxConcurrentSkills:parseInt(l.maxConcurrent,10)||i.maxConcurrentSkills,maxConcurrentModels:parseInt(l.maxModels,10)||i.maxConcurrentModels,timeout:parseInt(l.timeout,10)||i.timeout,continueOnFailure:!0,retry:l.retry!==!1?i.retry:void 0};l.verbose&&(console.log(o.gray("Configuration:")),console.log(o.gray(` Topology: ${n.topology}`)),console.log(o.gray(` Skills: ${r.length}`)),console.log(o.gray(` Models: ${u.length}`)),console.log(o.gray(` Max Concurrent Skills: ${n.maxConcurrentSkills}`)),console.log(o.gray(` Max Concurrent Models: ${n.maxConcurrentModels}`)),console.log(o.gray(` Timeout: ${n.timeout}ms`)),console.log(o.gray(` Retry: ${n.retry?"enabled":"disabled"}`)),console.log("")),console.log(o.cyan(` Skills: ${r.join(", ")}`)),console.log(o.cyan(` Models: ${u.join(", ")}`)),console.log(o.cyan(` Topology: ${g}`)),console.log("");let m=await R(e),f=k(m),C=v(n,f),w=Date.now();console.log(o.yellow(` Starting parallel validation...
5
5
  `));let $=await C.validateSkillsParallel(r,u),s=C.getSummary($),b=Date.now()-w;l.json?T(s):V(s,l.verbose),console.log(o.blue(`
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.24");process.exit(0)}
2
- import{c as t}from"./chunk-4LA24G33.js";import{createRequire as o}from"module";var i,e,a,c,l,p,s,m,u,d,A,f,h,_,b,v,L,n=t(()=>{i=o(import.meta.url),e=i("vibium"),a=e,{RuvectorLayer:c,TensorCompress:l,differentiableSearch:p,hierarchicalForward:s,getCompressionLevel:m,init:u,FlashAttention:d,DotProductAttention:A,MultiHeadAttention:f,HyperbolicAttention:h,LinearAttention:_,MoEAttention:b,SonaEngine:v,pipeline:L}=e||{}});n();export{A as DotProductAttention,d as FlashAttention,h as HyperbolicAttention,_ as LinearAttention,b as MoEAttention,f as MultiHeadAttention,c as RuvectorLayer,v as SonaEngine,l as TensorCompress,a as default,p as differentiableSearch,m as getCompressionLevel,s as hierarchicalForward,u as init,L as pipeline};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import{c as t}from"./chunk-3OPXTQMB.js";import{createRequire as o}from"module";var i,e,a,c,l,p,s,m,u,d,A,f,h,_,b,v,L,n=t(()=>{i=o(import.meta.url),e=i("vibium"),a=e,{RuvectorLayer:c,TensorCompress:l,differentiableSearch:p,hierarchicalForward:s,getCompressionLevel:m,init:u,FlashAttention:d,DotProductAttention:A,MultiHeadAttention:f,HyperbolicAttention:h,LinearAttention:_,MoEAttention:b,SonaEngine:v,pipeline:L}=e||{}});n();export{A as DotProductAttention,d as FlashAttention,h as HyperbolicAttention,_ as LinearAttention,b as MoEAttention,f as MultiHeadAttention,c as RuvectorLayer,v as SonaEngine,l as TensorCompress,a as default,p as differentiableSearch,m as getCompressionLevel,s as hierarchicalForward,u as init,L as pipeline};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import{a}from"./chunk-F3IEJL4O.js";import"./chunk-ILIKB32B.js";import"./chunk-PFH2G7AP.js";import"./chunk-7G2UJMKQ.js";import"./chunk-AQXKM5VB.js";import"./chunk-EOZIQTHG.js";import"./chunk-P5ZV4RCF.js";import"./chunk-5XCHNZNW.js";import"./chunk-SKRQF45C.js";import"./chunk-IV4OBL4P.js";import"./chunk-R7VO6E3E.js";import"./chunk-THQNIMJU.js";import"./chunk-W5RRYCQ7.js";import"./chunk-LTWNVZDR.js";import"./chunk-ML7AEOPI.js";import"./chunk-SDOG2MMY.js";import"./chunk-4FRRDVWH.js";import"./chunk-AFQNJJWA.js";import"./chunk-4ASWQOFE.js";import"./chunk-3OPXTQMB.js";export{a as VisualSecurityTool};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.24");process.exit(0)}
2
- import"./chunk-4LA24G33.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("web-tree-sitter"),i=e,{RuvectorLayer:n,TensorCompress:a,differentiableSearch:c,hierarchicalForward:s,getCompressionLevel:l,init:p,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:d,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:b}=e||{};export{u as DotProductAttention,m as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,d as MultiHeadAttention,n as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,l as getCompressionLevel,s as hierarchicalForward,p as init,b as pipeline};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import"./chunk-3OPXTQMB.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("web-tree-sitter"),i=e,{RuvectorLayer:n,TensorCompress:a,differentiableSearch:c,hierarchicalForward:s,getCompressionLevel:l,init:p,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:d,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:b}=e||{};export{u as DotProductAttention,m as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,d as MultiHeadAttention,n as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,l as getCompressionLevel,s as hierarchicalForward,p as init,b as pipeline};
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.24");process.exit(0)}
2
- import{b as u}from"./chunk-PEKULOY4.js";import{a as f,c as h}from"./chunk-73JTRGIQ.js";import"./chunk-4LA24G33.js";h();import{existsSync as i,mkdirSync as d,readFileSync as g,writeFileSync as a}from"fs";import{join as p,dirname as v}from"path";var c=class{projectRoot;overwrite;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.generator=u()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("windsurf"),r=p(this.projectRoot,t.path);if(e.configPath=r,!i(r)||this.overwrite){let o=v(r);if(i(o)||d(o,{recursive:!0}),i(r)&&this.overwrite){let m=this.mergeExistingConfig(r,t.content);a(r,m)}else a(r,t.content);e.mcpConfigured=!0}let n=this.generator.generateBehavioralRules("windsurf"),s=p(this.projectRoot,n.path);if(e.rulesPath=s,!i(s)||this.overwrite){if(i(s)&&this.overwrite){let o=this.mergeExistingRules(s,n.content);a(s,o)}else a(s,n.content);e.rulesInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Windsurf installation failed: ${f(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(g(e,"utf-8")),n=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,n.mcpServers),JSON.stringify(r,null,2)+`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import{b as u}from"./chunk-FO3VJDCI.js";import{a as f,c as h}from"./chunk-SKRQF45C.js";import"./chunk-3OPXTQMB.js";h();import{existsSync as i,mkdirSync as d,readFileSync as g,writeFileSync as a}from"fs";import{join as p,dirname as v}from"path";var c=class{projectRoot;overwrite;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.generator=u()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("windsurf"),r=p(this.projectRoot,t.path);if(e.configPath=r,!i(r)||this.overwrite){let o=v(r);if(i(o)||d(o,{recursive:!0}),i(r)&&this.overwrite){let m=this.mergeExistingConfig(r,t.content);a(r,m)}else a(r,t.content);e.mcpConfigured=!0}let n=this.generator.generateBehavioralRules("windsurf"),s=p(this.projectRoot,n.path);if(e.rulesPath=s,!i(s)||this.overwrite){if(i(s)&&this.overwrite){let o=this.mergeExistingRules(s,n.content);a(s,o)}else a(s,n.content);e.rulesInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Windsurf installation failed: ${f(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(g(e,"utf-8")),n=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,n.mcpServers),JSON.stringify(r,null,2)+`
3
3
  `}catch{return t}}mergeExistingRules(e,t){try{let r=g(e,"utf-8");return r.includes("Agentic QE")||r.includes("fleet_init")?r:r.trimEnd()+`
4
4
 
5
5
  ---
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h}from"./chunk-VRNRR3VU.js";import"./chunk-7G2UJMKQ.js";import"./chunk-AQXKM5VB.js";import"./chunk-EOZIQTHG.js";import"./chunk-P5ZV4RCF.js";import"./chunk-5XCHNZNW.js";import"./chunk-SKRQF45C.js";import"./chunk-R7VO6E3E.js";import"./chunk-THQNIMJU.js";import"./chunk-W5RRYCQ7.js";import"./chunk-LTWNVZDR.js";import"./chunk-ML7AEOPI.js";import"./chunk-SDOG2MMY.js";import"./chunk-4FRRDVWH.js";import"./chunk-AFQNJJWA.js";import"./chunk-4ASWQOFE.js";import"./chunk-3OPXTQMB.js";export{a as GENESIS_PREV_HASH,f as WitnessChain,h as createWitnessChain,g as getWitnessChain,d as hashWith,e as serializeEntry,b as sha256,c as shake256};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.24");process.exit(0)}
2
- import{a,b,c,d,e,f,g}from"./chunk-C4ST4NP4.js";import"./chunk-DWNKD2AQ.js";import"./chunk-RGOJFKIY.js";import"./chunk-7ODDJI3P.js";import"./chunk-4LA24G33.js";export{c as PersistentWitnessChain,a as SPRTAccumulator,b as WitnessChain,f as createPersistentWitnessChain,e as createWitnessChain,d as createWitnessChainSQLitePersistence,g as isWitnessChainFeatureEnabled};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import{a,b,c,d,e,f,g}from"./chunk-2IRRXFBV.js";import"./chunk-EOZIQTHG.js";import"./chunk-P5ZV4RCF.js";import"./chunk-4ASWQOFE.js";import"./chunk-3OPXTQMB.js";export{c as PersistentWitnessChain,a as SPRTAccumulator,b as WitnessChain,f as createPersistentWitnessChain,e as createWitnessChain,d as createWitnessChainSQLitePersistence,g as isWitnessChainFeatureEnabled};
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.24");process.exit(0)}
2
- import"./chunk-2NJO73YD.js";import{b as $}from"./chunk-DZHAXSOZ.js";import{d as R}from"./chunk-DFG3KX7E.js";import{b as k,c as C,d as b}from"./chunk-6SWRLJ3I.js";import{c as W}from"./chunk-EAC3PZGH.js";import"./chunk-CTSTHKH4.js";import"./chunk-73JTRGIQ.js";import"./chunk-4LA24G33.js";import{Command as O}from"commander";import o from"chalk";function P(d,a){let m=d.indexOf("=");return m>0&&(a[d.substring(0,m)]=d.substring(m+1)),a}function x(d,a,m){let y=new O("workflow").description("Manage QE workflows and pipelines (ADR-041)");return y.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(t,l)=>{if(!await m())return;let e=await import("fs"),c=(await import("path")).resolve(t);try{console.log(o.blue(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import"./chunk-HEVA2HR3.js";import{b as $}from"./chunk-NADXRFKX.js";import{d as R}from"./chunk-QFNWLRPV.js";import{b as k,c as C,d as b}from"./chunk-4GVLZIHN.js";import{c as W}from"./chunk-5XCHNZNW.js";import"./chunk-VZVHYH7B.js";import"./chunk-SKRQF45C.js";import"./chunk-3OPXTQMB.js";import{Command as O}from"commander";import o from"chalk";function P(d,a){let m=d.indexOf("=");return m>0&&(a[d.substring(0,m)]=d.substring(m+1)),a}function x(d,a,m){let y=new O("workflow").description("Manage QE workflows and pipelines (ADR-041)");return y.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(t,l)=>{if(!await m())return;let e=await import("fs"),c=(await import("path")).resolve(t);try{console.log(o.blue(`
3
3
  Running workflow from: ${t}
4
4
  `));let s=k(c);if(!s.success||!s.workflow){console.log(o.red("Failed to parse pipeline:"));for(let w of s.errors)console.log(o.red(` ${w}`));await a(1)}let r={...W(l.params,"params")};if(s.pipeline){for(let w of s.pipeline.stages)if(w.params)for(let[S,h]of Object.entries(w.params))r[S]=h}if(!d.workflowOrchestrator.getWorkflow(s.workflow.id)){let w=d.workflowOrchestrator.registerWorkflow(s.workflow);w.success||(console.log(o.red(`Failed to register workflow: ${w.error.message}`)),await a(1))}let n=await d.workflowOrchestrator.executeWorkflow(s.workflow.id,r);if(!n.success){console.log(o.red(`Failed to start workflow: ${n.error.message}`)),await a(1);return}let p=n.value;if(console.log(o.cyan(` Execution ID: ${p}`)),console.log(o.gray(` Workflow: ${s.workflow.name}`)),console.log(o.gray(` Stages: ${s.workflow.steps.length}`)),console.log(""),l.watch){console.log(o.blue(`Workflow Progress:
5
5
  `));let w,S=Date.now();for(;;){let g=d.workflowOrchestrator.getWorkflowStatus(p);if(!g)break;if(!w||w.progress!==g.progress||w.status!==g.status||JSON.stringify(w.currentSteps)!==JSON.stringify(g.currentSteps)){process.stdout.write("\r\x1B[K");let v="\u2588".repeat(Math.floor(g.progress/5))+"\u2591".repeat(20-Math.floor(g.progress/5)),D=g.status==="completed"?o.green:g.status==="failed"?o.red:g.status==="running"?o.yellow:o.gray;console.log(` [${v}] ${g.progress}% - ${D(g.status)}`),g.currentSteps.length>0&&l.verbose&&console.log(o.gray(` Running: ${g.currentSteps.join(", ")}`)),w=g}if(g.status==="completed"||g.status==="failed"||g.status==="cancelled")break;await new Promise(v=>setTimeout(v,500))}let h=d.workflowOrchestrator.getWorkflowStatus(p);if(h){console.log("");let g=h.duration||Date.now()-S;h.status==="completed"?(console.log(o.green("Workflow completed successfully")),console.log(o.gray(` Duration: ${$(g)}`)),console.log(o.gray(` Completed: ${h.completedSteps.length} stages`)),h.skippedSteps.length>0&&console.log(o.yellow(` Skipped: ${h.skippedSteps.length} stages`))):h.status==="failed"?(console.log(o.red("Workflow failed")),console.log(o.red(` Error: ${h.error}`)),console.log(o.gray(` Failed stages: ${h.failedSteps.join(", ")}`))):console.log(o.yellow(`Workflow ${h.status}`))}}else console.log(o.green("Workflow execution started")),console.log(o.gray(` Use 'aqe workflow status ${p}' to check progress`));console.log(""),await a(0)}catch(s){console.error(o.red(`
@@ -35,10 +35,10 @@ Workflow cancelled: ${t}
35
35
  `)):console.log(o.red(`
36
36
  Failed to cancel workflow: ${l.error.message}
37
37
  `)),await a(l.success?0:1)}catch(l){console.error(o.red(`
38
- Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-GVOTUSBY.js"),e=await new t().invoke({});if(e.success&&e.data){console.log(o.blue(`
38
+ Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-TXQBTTSA.js"),e=await new t().invoke({});if(e.success&&e.data){console.log(o.blue(`
39
39
  Browser Workflow Templates:
40
40
  `));for(let u of e.data.availableTemplates)console.log(` ${o.cyan(u)}`);console.log("")}else console.log(o.red(`Failed: ${e.error||"Unknown error"}`));await a(0)}catch(t){console.error(o.red(`
41
- Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-GVOTUSBY.js"),{writeOutput:u,toJSON:c}=await import("./ci-output-LLKTJAKA.js"),s=new e,f={variables:l.var||{}};if(l.yaml)f.workflowYaml=l.yaml;else if(t)if(t.endsWith(".yaml")||t.endsWith(".yml")){let i=await import("fs"),p=(await import("path")).resolve(t);i.existsSync(p)||(console.log(o.red(`
41
+ Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-TXQBTTSA.js"),{writeOutput:u,toJSON:c}=await import("./ci-output-NLBMSDOP.js"),s=new e,f={variables:l.var||{}};if(l.yaml)f.workflowYaml=l.yaml;else if(t)if(t.endsWith(".yaml")||t.endsWith(".yml")){let i=await import("fs"),p=(await import("path")).resolve(t);i.existsSync(p)||(console.log(o.red(`
42
42
  File not found: ${p}
43
43
  `)),await a(1)),f.workflowYaml=i.readFileSync(p,"utf-8")}else f.templateName=t;else console.log(o.red(`
44
44
  Provide a template name or --yaml. Use "workflow browser-list" to see templates.
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import{a,b,c,d}from"./chunk-VLNCDVU6.js";import"./chunk-74YWPNUB.js";import"./chunk-7G2UJMKQ.js";import"./chunk-AQXKM5VB.js";import"./chunk-EOZIQTHG.js";import"./chunk-P5ZV4RCF.js";import"./chunk-5XCHNZNW.js";import"./chunk-VZVHYH7B.js";import"./chunk-SKRQF45C.js";import"./chunk-IV4OBL4P.js";import"./chunk-R7VO6E3E.js";import"./chunk-THQNIMJU.js";import"./chunk-W5RRYCQ7.js";import"./chunk-LTWNVZDR.js";import"./chunk-ML7AEOPI.js";import"./chunk-SDOG2MMY.js";import"./chunk-4FRRDVWH.js";import"./chunk-AFQNJJWA.js";import"./chunk-4ASWQOFE.js";import"./chunk-3OPXTQMB.js";export{b as DEFAULT_WORKFLOW_CONFIG,a as WorkflowEvents,c as WorkflowOrchestrator,d as createWorkflowOrchestrator};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.24");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-MUH2YGNO.js";import"./chunk-3NZ7IVRI.js";import"./chunk-U6V6R2EF.js";import"./chunk-DWNKD2AQ.js";import"./chunk-RGOJFKIY.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-FHRUSW2V.js";import"./chunk-EAC3PZGH.js";import"./chunk-73JTRGIQ.js";import"./chunk-WB3GQ7X7.js";import"./chunk-HYX3LWLA.js";import"./chunk-AJ45BRKK.js";import"./chunk-BWCSNSXR.js";import"./chunk-O3ADCWEC.js";import"./chunk-HQY2BNJT.js";import"./chunk-4AUGLQOE.js";import"./chunk-HGOTTQQK.js";import"./chunk-7ODDJI3P.js";import"./chunk-4LA24G33.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.25");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-76RCKSCL.js";import"./chunk-7G2UJMKQ.js";import"./chunk-AQXKM5VB.js";import"./chunk-EOZIQTHG.js";import"./chunk-P5ZV4RCF.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-M4GE3R5K.js";import"./chunk-5XCHNZNW.js";import"./chunk-SKRQF45C.js";import"./chunk-R7VO6E3E.js";import"./chunk-THQNIMJU.js";import"./chunk-W5RRYCQ7.js";import"./chunk-LTWNVZDR.js";import"./chunk-ML7AEOPI.js";import"./chunk-SDOG2MMY.js";import"./chunk-4FRRDVWH.js";import"./chunk-AFQNJJWA.js";import"./chunk-4ASWQOFE.js";import"./chunk-3OPXTQMB.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
@@ -475,12 +475,19 @@ export async function updateRoutingOutcomeQuality(opts) {
475
475
  db.pragma('busy_timeout = 60000');
476
476
  }
477
477
  catch { /* hook-side patient timeout (ADR-001 / patch 260) */ }
478
+ // #451: explicit discriminator — only close PRE-TASK sentinels here.
479
+ // The route hook (UserPromptSubmit) writes sentinels with no taskId field
480
+ // in task_json. pre-task writes them with `"taskId"` in task_json. Without
481
+ // this filter, post-task could accidentally grab a stale route sentinel
482
+ // sitting from earlier in the session. Symmetric counterpart in
483
+ // routing-hooks.ts's `post-route` command, which has the inverse filter.
478
484
  db.prepare(`
479
485
  UPDATE routing_outcomes
480
486
  SET success = ?, quality_score = ?, duration_ms = ?
481
487
  WHERE id IN (
482
488
  SELECT id FROM routing_outcomes
483
489
  WHERE quality_score = -1
490
+ AND task_json LIKE '%"taskId"%'
484
491
  AND created_at > datetime('now', '-30 minutes')
485
492
  ORDER BY (CASE WHEN used_agent = ? THEN 0 ELSE 1 END), created_at DESC
486
493
  LIMIT 1
@@ -7,7 +7,7 @@
7
7
  import { randomUUID } from 'crypto';
8
8
  import chalk from 'chalk';
9
9
  import path from 'node:path';
10
- import { findProjectRoot } from '../../../kernel/unified-memory.js';
10
+ import { findProjectRoot, getUnifiedMemory } from '../../../kernel/unified-memory.js';
11
11
  import { applyHookBusyTimeout, getHooksSystem, createHybridBackendWithTimeout, incrementDreamExperience, printJson, printError, printGuidance, } from './hooks-shared.js';
12
12
  /**
13
13
  * Read piped stdin with a short timeout. Claude Code delivers
@@ -189,5 +189,74 @@ export function registerRoutingHooks(hooks) {
189
189
  throw error;
190
190
  }
191
191
  });
192
+ // -------------------------------------------------------------------------
193
+ // post-route: Close routing_outcomes sentinel from Stop hook (#451)
194
+ //
195
+ // The `route` hook fires on UserPromptSubmit and writes a sentinel row with
196
+ // quality_score=-1. That sentinel is only closed by post-task's
197
+ // updateRoutingOutcomeQuality, which fires on PostToolUse ^(Task|Agent)$ —
198
+ // so in any direct-work session (Bash/Edit/Read without spawning sub-agents)
199
+ // route sentinels accumulate forever and Stream D never converges.
200
+ //
201
+ // This subcommand is wired into the Stop hook (one invocation per turn) and
202
+ // closes the most-recent route sentinel 1:1. Discriminator
203
+ // `task_json NOT LIKE '%"taskId"%'` isolates route sentinels from the
204
+ // pre-task sentinels that carry taskId in their task_json.
205
+ // -------------------------------------------------------------------------
206
+ hooks
207
+ .command('post-route')
208
+ .description('Close the most-recent route sentinel from a Stop hook (#451)')
209
+ .option('--success <bool>', 'Whether the turn completed successfully', 'true')
210
+ .option('--json', 'Output as JSON')
211
+ .action(async (options) => {
212
+ try {
213
+ const success = options.success === 'true' || options.success === true;
214
+ // 6-dim outcome quality, durationTier defaulted to favorable (1.0):
215
+ // qualityScore = 0.25*success + 0.325 + 0.10*durationTier
216
+ // Stop hook doesn't measure turn duration, so we pick the most
217
+ // favorable bucket — same shape as the post-task formula but with the
218
+ // duration term collapsed to a constant.
219
+ const qualityScore = 0.325 + (success ? 0.25 : 0) + 0.10;
220
+ const um = getUnifiedMemory();
221
+ if (!um.isInitialized()) {
222
+ await um.initialize();
223
+ }
224
+ const db = um.getDatabase();
225
+ applyHookBusyTimeout(db);
226
+ const result = db.prepare(`
227
+ UPDATE routing_outcomes
228
+ SET success = ?, quality_score = ?, duration_ms = 0, error = NULL
229
+ WHERE id = (
230
+ SELECT id FROM routing_outcomes
231
+ WHERE quality_score = -1
232
+ AND task_json NOT LIKE '%"taskId"%'
233
+ ORDER BY created_at DESC
234
+ LIMIT 1
235
+ )
236
+ `).run(success ? 1 : 0, qualityScore);
237
+ if (options.json) {
238
+ printJson({
239
+ success: true,
240
+ resolved: result.changes > 0,
241
+ qualityScore,
242
+ turnSuccess: success,
243
+ });
244
+ }
245
+ return;
246
+ }
247
+ catch (error) {
248
+ // Best-effort: Stop hooks must never crash the host. Swallow + log.
249
+ if (options.json) {
250
+ printJson({
251
+ success: false,
252
+ error: error instanceof Error ? error.message : 'unknown',
253
+ });
254
+ }
255
+ else {
256
+ console.error(chalk.dim(`[hooks] post-route: ${error instanceof Error ? error.message : 'unknown'}`));
257
+ }
258
+ return;
259
+ }
260
+ });
192
261
  }
193
262
  //# sourceMappingURL=routing-hooks.js.map
@@ -34,6 +34,7 @@ Examples:
34
34
  aqe hooks route --task "Generate tests for UserService"
35
35
  aqe hooks pre-task --description "Generate tests" --json
36
36
  aqe hooks post-task --task-id "task-123" --success true
37
+ aqe hooks post-route --success true --json # Stop hook (#451)
37
38
 
38
39
  # Bash command hooks
39
40
  aqe hooks pre-command --command "npm test" --json
@@ -165,6 +165,19 @@ export async function configureHooks(projectRoot, config) {
165
165
  },
166
166
  ],
167
167
  },
168
+ {
169
+ hooks: [
170
+ {
171
+ // #451: close the route sentinel from this turn. Stop fires
172
+ // 1:1 with UserPromptSubmit/route — without this, route
173
+ // sentinels accumulate at quality_score=-1 indefinitely.
174
+ type: 'command',
175
+ command: 'npx agentic-qe hooks post-route --success true --json',
176
+ timeout: 5000,
177
+ continueOnError: true,
178
+ },
179
+ ],
180
+ },
168
181
  ],
169
182
  };
170
183
  // Smart merge: replace old AQE hooks, keep user hooks, add new AQE hooks
@@ -533,6 +533,20 @@ if (process.argv.includes('--json')) process.stdout.write(JSON.stringify(result)
533
533
  },
534
534
  ],
535
535
  },
536
+ {
537
+ hooks: [
538
+ {
539
+ // #451: close the route sentinel that UserPromptSubmit wrote
540
+ // at the start of this turn. Stop fires 1:1 with UserPromptSubmit
541
+ // — without this, `routing_outcomes` accumulates quality_score=-1
542
+ // rows forever in direct-work sessions (no Task/Agent spawned).
543
+ type: 'command',
544
+ command: 'npx agentic-qe hooks post-route --success true --json',
545
+ timeout: 5000,
546
+ continueOnError: true,
547
+ },
548
+ ],
549
+ },
536
550
  {
537
551
  hooks: [
538
552
  {