agentic-qe 3.14.0 → 3.14.2

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 (430) hide show
  1. package/.claude/helpers/brain-checkpoint.cjs +2 -1
  2. package/.claude/helpers/validate-v3-config.sh +6 -5
  3. package/.claude/hooks/aqe-hook.cjs +14 -14
  4. package/.claude/skills/qe-browser/evals/qe-browser.yaml +30 -41
  5. package/.claude/skills/qe-browser/fixtures/serve-skills.js +37 -0
  6. package/.claude/skills/qe-browser/scripts/lib/vibium.js +1 -1
  7. package/.claude/skills/qe-browser/scripts/smoke-test.sh +56 -25
  8. package/.claude/skills/qe-browser/scripts/visual-diff.js +24 -15
  9. package/.claude/skills/skills-manifest.json +1 -1
  10. package/CHANGELOG.md +114 -0
  11. package/assets/skills/qe-browser/evals/qe-browser.yaml +30 -41
  12. package/assets/skills/qe-browser/fixtures/serve-skills.js +37 -0
  13. package/assets/skills/qe-browser/scripts/lib/vibium.js +1 -1
  14. package/assets/skills/qe-browser/scripts/smoke-test.sh +56 -25
  15. package/assets/skills/qe-browser/scripts/visual-diff.js +24 -15
  16. package/assets/skills/skills-manifest.json +1 -1
  17. package/dist/cli/bundle.js +7 -7
  18. package/dist/cli/chunks/adapter-OJF6LAJV.js +2 -0
  19. package/dist/cli/chunks/{agent-booster-wasm-JZO6VUW4.js → agent-booster-wasm-SD5N32MX.js} +2 -2
  20. package/dist/cli/chunks/{agent-handler-534KFGEJ.js → agent-handler-OZRSJM7F.js} +2 -2
  21. package/dist/cli/chunks/{agent-memory-branch-B7KWLWY4.js → agent-memory-branch-NYTRANRN.js} +2 -2
  22. package/dist/cli/chunks/aqe-learning-engine-FGT474XB.js +2 -0
  23. package/dist/cli/chunks/{arena-OW5MELJX.js → arena-EX3SC2DP.js} +4 -4
  24. package/dist/cli/chunks/{arena-7CCD3S3I.js → arena-FOTVSRK4.js} +2 -2
  25. package/dist/cli/chunks/{audit-BHVKN4E2.js → audit-Q5GHSUQY.js} +3 -3
  26. package/dist/cli/chunks/base-HH765JFV.js +2 -0
  27. package/dist/cli/chunks/{better-sqlite3-P5FA6WFK.js → better-sqlite3-S7M5R2HS.js} +2 -2
  28. package/dist/cli/chunks/{brain-handler-WNW5LOV7.js → brain-handler-5FSA46R5.js} +3 -3
  29. package/dist/cli/chunks/{branch-enumerator-TVZ2ODKH.js → branch-enumerator-RWAXTGEU.js} +2 -2
  30. package/dist/cli/chunks/{browser-TCEB2W2F.js → browser-IGDESJGF.js} +2 -2
  31. package/dist/cli/chunks/browser-workflow-NPM4FUPI.js +2 -0
  32. package/dist/cli/chunks/{chunk-Q73RRTLE.js → chunk-2EHFEMRU.js} +2 -2
  33. package/dist/cli/chunks/{chunk-ZBOWR4XT.js → chunk-2H5YJ5ZK.js} +2 -2
  34. package/dist/cli/chunks/chunk-2LKAMMMI.js +2 -0
  35. package/dist/cli/chunks/{chunk-A2WZEMWT.js → chunk-2TG24LYQ.js} +1 -1
  36. package/dist/cli/chunks/{chunk-3QT6S3A3.js → chunk-3C2K4YMS.js} +3 -3
  37. package/dist/cli/chunks/{chunk-VESOYP6A.js → chunk-3DFFFXXO.js} +2 -2
  38. package/dist/cli/chunks/{chunk-K6CGQR5R.js → chunk-3WV4H33V.js} +1 -1
  39. package/dist/cli/chunks/{chunk-IL4AEB3J.js → chunk-42WUDDUU.js} +2 -2
  40. package/dist/cli/chunks/chunk-4AKGBUYD.js +4 -0
  41. package/dist/cli/chunks/{chunk-4FEJEVG7.js → chunk-4K27ESCA.js} +1 -1
  42. package/dist/cli/chunks/{chunk-TGOGCA74.js → chunk-4M6A3PVJ.js} +2 -2
  43. package/dist/cli/chunks/{chunk-RGVD6ZUX.js → chunk-4MH22236.js} +1 -1
  44. package/dist/cli/chunks/{chunk-6DPAMYLU.js → chunk-4N44UJGI.js} +2 -2
  45. package/dist/cli/chunks/{chunk-DJITEQYS.js → chunk-4PH7O5ZH.js} +2 -2
  46. package/dist/cli/chunks/{chunk-M3HUZD2I.js → chunk-4RT7I7PI.js} +1 -1
  47. package/dist/cli/chunks/chunk-4UCMTYFQ.js +65 -0
  48. package/dist/cli/chunks/{chunk-ZI3UO7QR.js → chunk-4ZUZDFAA.js} +2 -2
  49. package/dist/cli/chunks/{chunk-QSPRQPEL.js → chunk-57TNBR2P.js} +2 -2
  50. package/dist/cli/chunks/{chunk-ZCVJCCQQ.js → chunk-5EHLGOWW.js} +2 -2
  51. package/dist/cli/chunks/{chunk-ZAAYOENS.js → chunk-5WJUNRTY.js} +2 -2
  52. package/dist/cli/chunks/{chunk-QZPFUFZG.js → chunk-67A6PEZM.js} +2 -2
  53. package/dist/cli/chunks/{chunk-7BOPFN3Y.js → chunk-6EHN7Q2Q.js} +2 -2
  54. package/dist/cli/chunks/{chunk-2HYVOX6N.js → chunk-6F4WHN7D.js} +1 -1
  55. package/dist/cli/chunks/{chunk-GVEJP5T7.js → chunk-6LMLN5R2.js} +2 -2
  56. package/dist/cli/chunks/{chunk-QKQZ4IJF.js → chunk-6SZKLWZT.js} +5 -5
  57. package/dist/cli/chunks/{chunk-PEW6FZ47.js → chunk-6VKJAMZY.js} +1 -1
  58. package/dist/cli/chunks/{chunk-VYENTZ45.js → chunk-7AFBNU6K.js} +2 -2
  59. package/dist/cli/chunks/{chunk-6IJMD2ZL.js → chunk-7FWP7CZY.js} +3 -3
  60. package/dist/cli/chunks/{chunk-IE5LC7MB.js → chunk-7SK6IMGZ.js} +2 -2
  61. package/dist/cli/chunks/{chunk-3EM2MK3Z.js → chunk-A7N3YUDJ.js} +2 -2
  62. package/dist/cli/chunks/{chunk-J3XSHJGK.js → chunk-ADK7DF3G.js} +2 -2
  63. package/dist/cli/chunks/{chunk-EJ6IP7DE.js → chunk-ARMZYHYL.js} +2 -2
  64. package/dist/cli/chunks/{chunk-BZ4QVFP2.js → chunk-BWRHOIYC.js} +2 -2
  65. package/dist/cli/chunks/{chunk-A7SKM6JL.js → chunk-C7AXRI7E.js} +1 -1
  66. package/dist/cli/chunks/{chunk-4XTHRAUV.js → chunk-CG2MUD7U.js} +1 -1
  67. package/dist/cli/chunks/{chunk-HLNQDRHA.js → chunk-CH2TQCV5.js} +1 -1
  68. package/dist/cli/chunks/{chunk-JGROLJ33.js → chunk-CIESXO73.js} +1 -1
  69. package/dist/cli/chunks/{chunk-AR6SATU3.js → chunk-CJCT452S.js} +2 -2
  70. package/dist/cli/chunks/{chunk-UUJ5VQJM.js → chunk-CJHVOBJY.js} +1 -1
  71. package/dist/cli/chunks/{chunk-VOSISOFD.js → chunk-CTCQOYBS.js} +1 -1
  72. package/dist/cli/chunks/{chunk-XITTURP2.js → chunk-D4RCV4LY.js} +2 -2
  73. package/dist/cli/chunks/{chunk-5XGVSQS2.js → chunk-DRO5NJZA.js} +2 -2
  74. package/dist/cli/chunks/{chunk-QMMDN4WX.js → chunk-DVHWLAEO.js} +3 -3
  75. package/dist/cli/chunks/{chunk-5LEAGKX5.js → chunk-DW6ZMNMR.js} +2 -2
  76. package/dist/cli/chunks/{chunk-ZBKGX72B.js → chunk-E3Q7WNJD.js} +3 -3
  77. package/dist/cli/chunks/{chunk-5MZF4N4Q.js → chunk-EAJK25IS.js} +1 -1
  78. package/dist/cli/chunks/{chunk-3RYTAYR6.js → chunk-EH5OCHAJ.js} +1 -1
  79. package/dist/cli/chunks/{chunk-UI6WSPEK.js → chunk-F2KRT2II.js} +3 -3
  80. package/dist/cli/chunks/{chunk-NDPQ2WPU.js → chunk-FPHPP5TQ.js} +1 -1
  81. package/dist/cli/chunks/{chunk-WWWX76QB.js → chunk-FREF6Y4L.js} +2 -2
  82. package/dist/cli/chunks/{chunk-SROZXIMT.js → chunk-FVGTINVR.js} +54 -54
  83. package/dist/cli/chunks/{chunk-H3YDDKBW.js → chunk-G2CLZVYI.js} +3 -3
  84. package/dist/cli/chunks/{chunk-2O4DDPEA.js → chunk-G6AV2HGY.js} +3 -3
  85. package/dist/cli/chunks/{chunk-ENGKLFLY.js → chunk-GHQ5PUOV.js} +2 -2
  86. package/dist/cli/chunks/{chunk-NKWO2X3T.js → chunk-GHUPID5E.js} +1 -1
  87. package/dist/cli/chunks/{chunk-S5YVLPXU.js → chunk-GJAWEUIN.js} +2 -2
  88. package/dist/cli/chunks/{chunk-6IZQSLYZ.js → chunk-HBTC4L53.js} +2 -2
  89. package/dist/cli/chunks/{chunk-DDPJUAXQ.js → chunk-HSJ5FQCF.js} +2 -2
  90. package/dist/cli/chunks/{chunk-OONCRNFA.js → chunk-HZ6NEJMO.js} +2 -2
  91. package/dist/cli/chunks/{chunk-LCSVROU7.js → chunk-HZMLNM2T.js} +10 -10
  92. package/dist/cli/chunks/{chunk-JY4VZ6BN.js → chunk-ICKLBATY.js} +2 -2
  93. package/dist/cli/chunks/{chunk-JMKMDSXG.js → chunk-IUNMW454.js} +2 -2
  94. package/dist/cli/chunks/{chunk-XXFKN7LB.js → chunk-IVGVOGIZ.js} +1 -1
  95. package/dist/cli/chunks/{chunk-3GUO4ERR.js → chunk-IWFL6EFI.js} +2 -2
  96. package/dist/cli/chunks/{chunk-FRL3X2QA.js → chunk-JDXLCNKV.js} +2 -2
  97. package/dist/cli/chunks/{chunk-YW4RNZWT.js → chunk-JIUF6NV6.js} +2 -2
  98. package/dist/cli/chunks/{chunk-JAK5UUWH.js → chunk-JQ2ZD3WO.js} +2 -2
  99. package/dist/cli/chunks/{chunk-YEAC3DC6.js → chunk-K574FLVB.js} +2 -2
  100. package/dist/cli/chunks/{chunk-LZHTCUCO.js → chunk-KEEBUVGV.js} +2 -2
  101. package/dist/cli/chunks/{chunk-LKR7T3OZ.js → chunk-KFXZDQ5J.js} +1 -1
  102. package/dist/cli/chunks/{chunk-7OUMJCJT.js → chunk-KPFG4OIM.js} +1 -1
  103. package/dist/cli/chunks/{chunk-HQ7243G3.js → chunk-KZOBLLXW.js} +2 -2
  104. package/dist/cli/chunks/{chunk-R6WJF4D5.js → chunk-L2F7FVIU.js} +2 -2
  105. package/dist/cli/chunks/{chunk-VRRG66XB.js → chunk-LML5VTFK.js} +1 -1
  106. package/dist/cli/chunks/{chunk-JTWJR2KY.js → chunk-LWUJQGCS.js} +2 -2
  107. package/dist/cli/chunks/{chunk-BQCTO7UB.js → chunk-MH73D5TN.js} +2 -2
  108. package/dist/cli/chunks/{chunk-U4GZWPKM.js → chunk-MWQTACNA.js} +2 -2
  109. package/dist/cli/chunks/{chunk-CIZ6LSNV.js → chunk-N3RN4QTC.js} +2 -2
  110. package/dist/cli/chunks/{chunk-ZQSXG7FA.js → chunk-N5ZRUOMR.js} +2 -2
  111. package/dist/cli/chunks/{chunk-AFGT26NR.js → chunk-NAZVPZJS.js} +2 -2
  112. package/dist/cli/chunks/{chunk-FOHYBR3O.js → chunk-NG2UVPTW.js} +1 -1
  113. package/dist/cli/chunks/{chunk-2D7UBX5S.js → chunk-NHHWLJQF.js} +1 -1
  114. package/dist/cli/chunks/{chunk-JRKEBESE.js → chunk-NNOMDM4N.js} +2 -2
  115. package/dist/cli/chunks/{chunk-YKWMKRYB.js → chunk-NRR23SJV.js} +1 -1
  116. package/dist/cli/chunks/{chunk-WKNWRDA5.js → chunk-NWFIJNEB.js} +1 -1
  117. package/dist/cli/chunks/{chunk-4MK2G6TK.js → chunk-OBCKP3G4.js} +2 -2
  118. package/dist/cli/chunks/{chunk-YKZV7O65.js → chunk-OC2CKU7I.js} +2 -2
  119. package/dist/cli/chunks/{chunk-7RVAHJQZ.js → chunk-OX6T26CD.js} +3 -3
  120. package/dist/cli/chunks/chunk-P64DMQ2C.js +2 -0
  121. package/dist/cli/chunks/{chunk-RKUYVVGJ.js → chunk-PFXX5Q32.js} +2 -2
  122. package/dist/cli/chunks/chunk-PHHXHG2W.js +2 -0
  123. package/dist/cli/chunks/{chunk-N2YAUDAV.js → chunk-PMUBG2RU.js} +2 -2
  124. package/dist/cli/chunks/{chunk-WTHAVFIC.js → chunk-PVHO6KLB.js} +1 -1
  125. package/dist/cli/chunks/{chunk-MO7EITJK.js → chunk-PWEIDHT7.js} +2 -2
  126. package/dist/cli/chunks/{chunk-52DFCV57.js → chunk-PZKZY6PB.js} +2 -2
  127. package/dist/cli/chunks/{chunk-I3VHXA2W.js → chunk-Q335R4MR.js} +2 -2
  128. package/dist/cli/chunks/{chunk-ECTPFCON.js → chunk-Q3JHS3UD.js} +2 -2
  129. package/dist/cli/chunks/{chunk-HJIAVR6P.js → chunk-QFUX7ELG.js} +2 -2
  130. package/dist/cli/chunks/{chunk-L4C42WYI.js → chunk-QW4LN5NK.js} +2 -2
  131. package/dist/cli/chunks/{chunk-HQHLHSJO.js → chunk-QXTW7XCS.js} +2 -2
  132. package/dist/cli/chunks/{chunk-SSV6KSFT.js → chunk-R5RNOLHI.js} +1 -1
  133. package/dist/cli/chunks/{chunk-AVLA5PBJ.js → chunk-RCI64RIJ.js} +2 -2
  134. package/dist/cli/chunks/{chunk-T3BZAFLP.js → chunk-RFNEHNJV.js} +1 -1
  135. package/dist/cli/chunks/{chunk-IL6QRXRP.js → chunk-RGH3WGWD.js} +10 -10
  136. package/dist/cli/chunks/{chunk-E4NU4BJA.js → chunk-RHJVDCLV.js} +2 -2
  137. package/dist/cli/chunks/{chunk-KTSCZ7AW.js → chunk-RVCWSAXI.js} +2 -2
  138. package/dist/cli/chunks/{chunk-TQJE7DNL.js → chunk-RYJHREYS.js} +2 -2
  139. package/dist/cli/chunks/{chunk-HNKPLVYS.js → chunk-S4MR6RTE.js} +1 -1
  140. package/dist/cli/chunks/{chunk-6AYO3IR2.js → chunk-S7N4BKI3.js} +2 -2
  141. package/dist/cli/chunks/{chunk-2NO4H35K.js → chunk-SEHCX4NH.js} +1 -1
  142. package/dist/cli/chunks/{chunk-GKNDP5VK.js → chunk-T46LOLW3.js} +2 -2
  143. package/dist/cli/chunks/{chunk-VXU53F7Z.js → chunk-T4C56HBW.js} +2 -2
  144. package/dist/cli/chunks/{chunk-43GPSYAL.js → chunk-TENYL5TI.js} +2 -2
  145. package/dist/cli/chunks/{chunk-6AOZU3UN.js → chunk-TLPL3EQY.js} +2 -2
  146. package/dist/cli/chunks/{chunk-4ZVGSVHV.js → chunk-TYVQNYXX.js} +4 -4
  147. package/dist/cli/chunks/{chunk-NOPVFBQM.js → chunk-U2AY57XZ.js} +2 -2
  148. package/dist/cli/chunks/{chunk-IQLRA4FV.js → chunk-U54OOA24.js} +1 -1
  149. package/dist/cli/chunks/{chunk-IQ3JFHZN.js → chunk-UHTAI4ZB.js} +1 -1
  150. package/dist/cli/chunks/{chunk-KDIZQHG5.js → chunk-UIGEUEBT.js} +2 -2
  151. package/dist/cli/chunks/{chunk-5VDVYTO5.js → chunk-UYTWDS2R.js} +2 -2
  152. package/dist/cli/chunks/{chunk-ZNSMVQCG.js → chunk-VNAKBHJI.js} +2 -2
  153. package/dist/cli/chunks/{chunk-SUSMHSXT.js → chunk-VOYJJ3KA.js} +2 -2
  154. package/dist/cli/chunks/{chunk-QQCENKCX.js → chunk-VSYBMNIR.js} +1 -1
  155. package/dist/cli/chunks/{chunk-7RAB2BZY.js → chunk-W2FLULF4.js} +2 -2
  156. package/dist/cli/chunks/{chunk-NYARYONH.js → chunk-W4OQYLYO.js} +1 -1
  157. package/dist/cli/chunks/{chunk-DOWCOZDO.js → chunk-WBH4C4BG.js} +2 -2
  158. package/dist/cli/chunks/{chunk-OIYUSWHX.js → chunk-WBMRADQP.js} +1 -1
  159. package/dist/cli/chunks/{chunk-B3H4K7CY.js → chunk-WMW47QMR.js} +2 -2
  160. package/dist/cli/chunks/{chunk-VPVZHJSU.js → chunk-WVY22NHZ.js} +2 -2
  161. package/dist/cli/chunks/{chunk-6W42XWLL.js → chunk-WXMSRBQF.js} +2 -2
  162. package/dist/cli/chunks/{chunk-CIUOC5F3.js → chunk-XPLSLHRB.js} +1 -1
  163. package/dist/cli/chunks/{chunk-E722WNWC.js → chunk-YF5OP6CR.js} +2 -2
  164. package/dist/cli/chunks/{chunk-H76TV4UU.js → chunk-YN6W2XIT.js} +3 -3
  165. package/dist/cli/chunks/{chunk-FF43SRP6.js → chunk-ZCDXJ27H.js} +1 -1
  166. package/dist/cli/chunks/{chunk-TKYEP7OR.js → chunk-ZFGND4QK.js} +1 -1
  167. package/dist/cli/chunks/{chunk-O2MZZL54.js → chunk-ZWRQ5VAU.js} +2 -2
  168. package/dist/cli/chunks/{chunk-H6NFDOMK.js → chunk-ZYLSOBOR.js} +1 -1
  169. package/dist/cli/chunks/{ci-B432UH6N.js → ci-NTRH7PAW.js} +2 -2
  170. package/dist/cli/chunks/{ci-output-GTHH7WYG.js → ci-output-F57RSD35.js} +2 -2
  171. package/dist/cli/chunks/{circuit-breaker-VW75DLME.js → circuit-breaker-4WST3QSA.js} +2 -2
  172. package/dist/cli/chunks/{claude-flow-setup-RE3IVT7U.js → claude-flow-setup-KB4TKMYI.js} +2 -2
  173. package/dist/cli/chunks/client-GPZEC54E.js +2 -0
  174. package/dist/cli/chunks/{cline-installer-NUBZZ55N.js → cline-installer-W2ZHQ6WM.js} +2 -2
  175. package/dist/cli/chunks/{code-K6JCWKNW.js → code-TF2AVR5D.js} +2 -2
  176. package/dist/cli/chunks/{code-index-extractor-I4ILB5JN.js → code-index-extractor-RMDRUVQJ.js} +2 -2
  177. package/dist/cli/chunks/codex-installer-VSTRHJHV.js +14 -0
  178. package/dist/cli/chunks/{completions-V3KJVJF4.js → completions-3Q37QVFR.js} +2 -2
  179. package/dist/cli/chunks/{complexity-analyzer-HRG7OOY3.js → complexity-analyzer-3FNFLACD.js} +2 -2
  180. package/dist/cli/chunks/{continuedev-installer-CNTDONWG.js → continuedev-installer-VTEXM455.js} +2 -2
  181. package/dist/cli/chunks/{copilot-installer-XPWWIWYA.js → copilot-installer-AGY7DQUS.js} +2 -2
  182. package/dist/cli/chunks/core-handlers-YMGHYIBR.js +2 -0
  183. package/dist/cli/chunks/{cost-tracker-MFNLQ56K.js → cost-tracker-LTZAQBX7.js} +2 -2
  184. package/dist/cli/chunks/{coverage-KOIK654V.js → coverage-TT64IOS4.js} +3 -3
  185. package/dist/cli/chunks/cross-domain-router-ECBNTGYJ.js +2 -0
  186. package/dist/cli/chunks/{cursor-installer-S5MKLRQQ.js → cursor-installer-OVOJIOHN.js} +2 -2
  187. package/dist/cli/chunks/{daemon-DUS6JYW6.js → daemon-DMFZMXKA.js} +8 -8
  188. package/dist/cli/chunks/{daemon-Z7VPGWHY.js → daemon-XCULEHWY.js} +4 -4
  189. package/dist/cli/chunks/{dag-attention-scheduler-7CQ3ARNI.js → dag-attention-scheduler-WW2RX4B5.js} +2 -2
  190. package/dist/cli/chunks/{detect-WORBCAYF.js → detect-QNWIM232.js} +2 -2
  191. package/dist/cli/chunks/{dist-node-KRNI6OYW.js → dist-node-6GQIY3CG.js} +2 -2
  192. package/dist/cli/chunks/{domain-handler-KRUR2VQG.js → domain-handler-6RJPDELX.js} +2 -2
  193. package/dist/cli/chunks/{domain-transfer-VEOVLV54.js → domain-transfer-WK524LBS.js} +2 -2
  194. package/dist/cli/chunks/dream-EHGKCFWH.js +2 -0
  195. package/dist/cli/chunks/{embed-and-insert-pattern-QU3NQVA5.js → embed-and-insert-pattern-SO6GWJW7.js} +2 -2
  196. package/dist/cli/chunks/{eval-AYQ7BSUP.js → eval-GL544IPO.js} +2 -2
  197. package/dist/cli/chunks/{experience-capture-middleware-AWQBL6LT.js → experience-capture-middleware-BCCJ35OX.js} +3 -3
  198. package/dist/cli/chunks/{fast-paths-V5EL4BYJ.js → fast-paths-CATDDBEU.js} +2 -2
  199. package/dist/cli/chunks/{feature-flags-P34BPRWU.js → feature-flags-BUXNAORY.js} +2 -2
  200. package/dist/cli/chunks/{feature-flags-BXX7BP22.js → feature-flags-KNNWWP5G.js} +2 -2
  201. package/dist/cli/chunks/{file-discovery-MS6BKQ2U.js → file-discovery-S4HF3O7D.js} +2 -2
  202. package/dist/cli/chunks/{fleet-7WVVPA4W.js → fleet-DQVQQONW.js} +3 -3
  203. package/dist/cli/chunks/{gnn-wrapper-7WQ3LEPG.js → gnn-wrapper-G7ABZUG7.js} +2 -2
  204. package/dist/cli/chunks/{heartbeat-handler-P7QD3BZH.js → heartbeat-handler-UFMELIWT.js} +4 -4
  205. package/dist/cli/chunks/heartbeat-scheduler-UFEL2CBW.js +2 -0
  206. package/dist/cli/chunks/hnsw-adapter-BLSD45CX.js +2 -0
  207. package/dist/cli/chunks/hnsw-index-A3RZODEN.js +2 -0
  208. package/dist/cli/chunks/{hnsw-legacy-bridge-Y3GAR3UP.js → hnsw-legacy-bridge-YIILSRXI.js} +2 -2
  209. package/dist/cli/chunks/{hnswlib-node-5QUXZQWQ.js → hnswlib-node-TSVRMXDH.js} +2 -2
  210. package/dist/cli/chunks/{hooks-2D64KPRY.js → hooks-OHQPNK74.js} +10 -10
  211. package/dist/cli/chunks/{hypergraph-engine-5INXEZDP.js → hypergraph-engine-LY7PJDSL.js} +2 -2
  212. package/dist/cli/chunks/{hypergraph-handler-YJJJ3ESZ.js → hypergraph-handler-YGDYZO6H.js} +3 -3
  213. package/dist/cli/chunks/impact-analyzer-OXHD3FOH.js +2 -0
  214. package/dist/cli/chunks/{init-handler-QSFYJN5Q.js → init-handler-MTK65LI3.js} +9 -8
  215. package/dist/cli/chunks/init-wizard-PKZL7QBU.js +2 -0
  216. package/dist/cli/chunks/kernel-XWPM72UJ.js +2 -0
  217. package/dist/cli/chunks/{kilocode-installer-3N3QGTJU.js → kilocode-installer-3IICU4RS.js} +2 -2
  218. package/dist/cli/chunks/{kiro-installer-GIWVTFZQ.js → kiro-installer-MXOVQYQA.js} +2 -2
  219. package/dist/cli/chunks/knowledge-graph-FRKR5XWI.js +2 -0
  220. package/dist/cli/chunks/{learning-SGO2DQ5Q.js → learning-EV5LSOOM.js} +3 -3
  221. package/dist/cli/chunks/{llm-router-HBBULO65.js → llm-router-7LYDJUOT.js} +4 -4
  222. package/dist/cli/chunks/llm-router-service-R7A5HHDM.js +2 -0
  223. package/dist/cli/chunks/{load-B5OFYB4H.js → load-F4PVAMXQ.js} +2 -2
  224. package/dist/cli/chunks/load-test-5IKDWSYL.js +2 -0
  225. package/dist/cli/chunks/{mcp-FG3LNQR4.js → mcp-DUYJUEME.js} +2 -2
  226. package/dist/cli/chunks/{memory-SPS7ZWLC.js → memory-XTTYORAS.js} +5 -5
  227. package/dist/cli/chunks/memory-backend-7VW5QCMO.js +2 -0
  228. package/dist/cli/chunks/{memory-handlers-P7FTPWP3.js → memory-handlers-VZH3R2TQ.js} +2 -2
  229. package/dist/cli/chunks/{multi-model-executor-PUB7E6KH.js → multi-model-executor-R6XCTMCF.js} +2 -2
  230. package/dist/cli/chunks/{opencode-installer-TGCSGVG2.js → opencode-installer-33ULBU2F.js} +2 -2
  231. package/dist/cli/chunks/{orchestrator-S5FTJFGB.js → orchestrator-34ZJEKTJ.js} +22 -21
  232. package/dist/cli/chunks/pattern-null-store-BU6LCB2W.js +2 -0
  233. package/dist/cli/chunks/{pattern-usage-recorder-LCXXGRAB.js → pattern-usage-recorder-GZ2M3F2E.js} +2 -2
  234. package/dist/cli/chunks/{pipeline-ENOSRHKW.js → pipeline-SR5OTY45.js} +2 -2
  235. package/dist/cli/chunks/platform-VKJFJIAW.js +2 -0
  236. package/dist/cli/chunks/{plugin-JZ5ODJSU.js → plugin-5C5UBQUQ.js} +2 -2
  237. package/dist/cli/chunks/{prime-radiant-advanced-wasm-DPJUPNCG.js → prime-radiant-advanced-wasm-KO2PQI3D.js} +2 -2
  238. package/dist/cli/chunks/protocol-executor-BSP5LWJN.js +2 -0
  239. package/dist/cli/chunks/{protocol-handler-IP4NLVY3.js → protocol-handler-ZF74NIKA.js} +2 -2
  240. package/dist/cli/chunks/{prove-P6FM4RU7.js → prove-MO5TQQU4.js} +2 -2
  241. package/dist/cli/chunks/qe-reasoning-bank-J2RC7P25.js +2 -0
  242. package/dist/cli/chunks/{quality-UHP4XO26.js → quality-EYIN6AER.js} +2 -2
  243. package/dist/cli/chunks/quality-gate-V6OQM57O.js +7 -0
  244. package/dist/cli/chunks/queen-coordinator-XI5AJV2V.js +2 -0
  245. package/dist/cli/chunks/{real-embeddings-6SO5MFRQ.js → real-embeddings-AR7TZX7U.js} +2 -2
  246. package/dist/cli/chunks/{roocode-installer-WTWUOFCH.js → roocode-installer-46E626VZ.js} +2 -2
  247. package/dist/cli/chunks/router-VXQYYA3D.js +2 -0
  248. package/dist/cli/chunks/routing-feedback-HZQTASFF.js +2 -0
  249. package/dist/cli/chunks/{routing-handler-IK7HYERQ.js → routing-handler-ZNRVW6QW.js} +2 -2
  250. package/dist/cli/chunks/{ruvector-commands-THLB4NIM.js → ruvector-commands-4L2CQMWS.js} +2 -2
  251. package/dist/cli/chunks/rvf-dual-writer-BDTLLJER.js +2 -0
  252. package/dist/cli/chunks/rvf-migration-adapter-IB343MDN.js +2 -0
  253. package/dist/cli/chunks/{rvf-migration-coordinator-BUKCSHBD.js → rvf-migration-coordinator-H4RVGBIA.js} +2 -2
  254. package/dist/cli/chunks/rvf-native-adapter-Y7SN7LHU.js +2 -0
  255. package/dist/cli/chunks/{rvf-store-integrity-ECTADZIN.js → rvf-store-integrity-OJGWWPLL.js} +2 -2
  256. package/dist/cli/chunks/safe-db-2VTKKBJU.js +2 -0
  257. package/dist/cli/chunks/schedule-QJ4CFGJY.js +2 -0
  258. package/dist/cli/chunks/scheduler-2NHDQPC3.js +2 -0
  259. package/dist/cli/chunks/{security-HN4UXFXX.js → security-JF3BVNRO.js} +3 -3
  260. package/dist/cli/chunks/{shared-rvf-adapter-XJCPX5SN.js → shared-rvf-adapter-M6NNIZ5W.js} +2 -2
  261. package/dist/cli/chunks/{shared-rvf-dual-writer-23X5PNY5.js → shared-rvf-dual-writer-LHMFCYVE.js} +2 -2
  262. package/dist/cli/chunks/sqlite-persistence-NVVAPZN3.js +2 -0
  263. package/dist/cli/chunks/{status-handler-ZXANTHKT.js → status-handler-GMIOXQIE.js} +2 -2
  264. package/dist/cli/chunks/{structural-health-LR6WI3AH.js → structural-health-YZXHVHM6.js} +2 -2
  265. package/dist/cli/chunks/{sync-I5IUJF33.js → sync-GMPCPV5L.js} +2 -2
  266. package/dist/cli/chunks/{sync-4OEI3BC2.js → sync-N56UQGCS.js} +2 -2
  267. package/dist/cli/chunks/{task-handler-R3ATJKU5.js → task-handler-VTNRGAXP.js} +2 -2
  268. package/dist/cli/chunks/{task-handlers-4X357AEW.js → task-handlers-FYSDH55N.js} +3 -3
  269. package/dist/cli/chunks/{test-PR2B5H2F.js → test-GQNCKRSP.js} +4 -4
  270. package/dist/cli/chunks/{test-scheduling-ZNOSQVLD.js → test-scheduling-GPRXSIRP.js} +3 -3
  271. package/dist/cli/chunks/{token-bootstrap-LYXOI72S.js → token-bootstrap-76SRNXGG.js} +2 -2
  272. package/dist/cli/chunks/{token-usage-R6EQZBX2.js → token-usage-O7CZDP5Q.js} +2 -2
  273. package/dist/cli/chunks/{transformers-COQWK27J.js → transformers-LTU4LSSC.js} +2 -2
  274. package/dist/cli/chunks/{tree-sitter-wasm-parser-LLIW2X3M.js → tree-sitter-wasm-parser-NQSQCMBM.js} +2 -2
  275. package/dist/cli/chunks/{types-MEYTZITK.js → types-OP6IWE6N.js} +2 -2
  276. package/dist/cli/chunks/unified-memory-DSTIEDSH.js +2 -0
  277. package/dist/cli/chunks/unified-memory-hnsw-KBV3P4OS.js +2 -0
  278. package/dist/cli/chunks/unified-persistence-XKCOUBKY.js +2 -0
  279. package/dist/cli/chunks/{upgrade-DVIJ456A.js → upgrade-OQWRBZ3R.js} +2 -2
  280. package/dist/cli/chunks/{validate-UYTSMJ5X.js → validate-TH5SRP3E.js} +2 -2
  281. package/dist/cli/chunks/{validate-swarm-P32WCJR6.js → validate-swarm-UITL2JUS.js} +2 -2
  282. package/dist/cli/chunks/{vibium-JGVOLM6X.js → vibium-O6PRAG4J.js} +2 -2
  283. package/dist/cli/chunks/visual-security-TTWSPZTZ.js +2 -0
  284. package/dist/cli/chunks/{web-tree-sitter-5ZGNCTPN.js → web-tree-sitter-XBFBY4OF.js} +2 -2
  285. package/dist/cli/chunks/{windsurf-installer-IILSSQAE.js → windsurf-installer-DVT5NRNY.js} +2 -2
  286. package/dist/cli/chunks/witness-chain-2KY73HPN.js +2 -0
  287. package/dist/cli/chunks/{witness-chain-JZMXCG3B.js → witness-chain-VRSH2F36.js} +2 -2
  288. package/dist/cli/chunks/{witness-key-manager-UUTLNUIH.js → witness-key-manager-GFHRDKQ4.js} +2 -2
  289. package/dist/cli/chunks/{workflow-NS7HXVHZ.js → workflow-HAZ6YKOG.js} +4 -4
  290. package/dist/cli/chunks/workflow-orchestrator-UK56AVOT.js +2 -0
  291. package/dist/cli/chunks/{wrappers-XKEDSV5W.js → wrappers-5LLLT7GM.js} +2 -2
  292. package/dist/cli/commands/daemon.js +3 -0
  293. package/dist/cli/commands/platform.d.ts +1 -0
  294. package/dist/cli/commands/platform.js +28 -6
  295. package/dist/cli/commands/quality-gate.js +25 -3
  296. package/dist/cli/foreground-command.d.ts +3 -0
  297. package/dist/cli/foreground-command.js +22 -0
  298. package/dist/cli/handlers/init-handler.d.ts +5 -0
  299. package/dist/cli/handlers/init-handler.js +6 -0
  300. package/dist/cli/index.js +8 -1
  301. package/dist/contracts/verdicts.d.ts +625 -0
  302. package/dist/contracts/verdicts.js +202 -14
  303. package/dist/coordination/handlers/coverage-handlers.js +8 -1
  304. package/dist/domains/chaos-resilience/diagnosis/corpus.d.ts +5 -0
  305. package/dist/domains/chaos-resilience/diagnosis/corpus.js +141 -0
  306. package/dist/domains/chaos-resilience/diagnosis/detectors.d.ts +11 -0
  307. package/dist/domains/chaos-resilience/diagnosis/detectors.js +109 -0
  308. package/dist/domains/chaos-resilience/diagnosis/index.d.ts +5 -0
  309. package/dist/domains/chaos-resilience/diagnosis/index.js +5 -0
  310. package/dist/domains/chaos-resilience/diagnosis/scorer.d.ts +8 -0
  311. package/dist/domains/chaos-resilience/diagnosis/scorer.js +128 -0
  312. package/dist/domains/chaos-resilience/diagnosis/types.d.ts +171 -0
  313. package/dist/domains/chaos-resilience/diagnosis/types.js +3 -0
  314. package/dist/domains/chaos-resilience/index.d.ts +1 -0
  315. package/dist/domains/chaos-resilience/index.js +1 -0
  316. package/dist/domains/index.d.ts +1 -0
  317. package/dist/domains/index.js +1 -0
  318. package/dist/early-exit/early-exit-controller.d.ts +4 -2
  319. package/dist/early-exit/early-exit-controller.js +95 -7
  320. package/dist/early-exit/index.d.ts +1 -1
  321. package/dist/early-exit/speculative-executor.js +3 -0
  322. package/dist/early-exit/types.d.ts +51 -0
  323. package/dist/early-exit/types.js +3 -0
  324. package/dist/index.d.ts +4 -2
  325. package/dist/index.js +2 -1
  326. package/dist/init/browser-engine-installer.d.ts +11 -0
  327. package/dist/init/browser-engine-installer.js +35 -5
  328. package/dist/init/codex-installer.d.ts +11 -1
  329. package/dist/init/codex-installer.js +90 -24
  330. package/dist/init/init-wizard-hooks.js +11 -11
  331. package/dist/init/orchestrator.js +2 -0
  332. package/dist/init/phases/07-hooks.d.ts +3 -3
  333. package/dist/init/phases/07-hooks.js +19 -18
  334. package/dist/init/phases/09-assets.d.ts +4 -0
  335. package/dist/init/phases/09-assets.js +13 -10
  336. package/dist/init/phases/phase-interface.d.ts +2 -0
  337. package/dist/init/types.d.ts +4 -0
  338. package/dist/learning/index.d.ts +3 -0
  339. package/dist/learning/index.js +2 -0
  340. package/dist/learning/pattern-mutation-error.d.ts +9 -0
  341. package/dist/learning/pattern-mutation-error.js +14 -0
  342. package/dist/learning/pattern-store.js +24 -2
  343. package/dist/learning/qe-reasoning-bank.js +24 -5
  344. package/dist/learning/rvf-pattern-store.js +23 -5
  345. package/dist/learning/structural-retrieval/corpus.d.ts +5 -0
  346. package/dist/learning/structural-retrieval/corpus.js +97 -0
  347. package/dist/learning/structural-retrieval/evaluate.d.ts +7 -0
  348. package/dist/learning/structural-retrieval/evaluate.js +124 -0
  349. package/dist/learning/structural-retrieval/index.d.ts +6 -0
  350. package/dist/learning/structural-retrieval/index.js +4 -0
  351. package/dist/learning/structural-retrieval/receipt.d.ts +14 -0
  352. package/dist/learning/structural-retrieval/receipt.js +36 -0
  353. package/dist/learning/structural-retrieval/types.d.ts +83 -0
  354. package/dist/learning/structural-retrieval/types.js +2 -0
  355. package/dist/mcp/bundle.js +423 -423
  356. package/dist/mcp/index.d.ts +1 -0
  357. package/dist/mcp/index.js +1 -0
  358. package/dist/mcp/protocol-server.js +11 -2
  359. package/dist/mcp/qe-tool-bridge.js +1 -0
  360. package/dist/mcp/services/session-resume.d.ts +15 -19
  361. package/dist/mcp/services/session-resume.js +204 -194
  362. package/dist/mcp/tool-annotations.d.ts +25 -0
  363. package/dist/mcp/tool-annotations.js +75 -0
  364. package/dist/mcp/tool-registry.js +17 -12
  365. package/dist/mcp/tools/base.d.ts +7 -1
  366. package/dist/mcp/tools/base.js +8 -0
  367. package/dist/mcp/tools/quality-assessment/gate.d.ts +8 -5
  368. package/dist/mcp/tools/quality-assessment/gate.js +9 -4
  369. package/dist/mcp/tools/registry.d.ts +3 -0
  370. package/dist/mcp/tools/registry.js +1 -0
  371. package/dist/mcp/types.d.ts +15 -0
  372. package/dist/skills/qe-court/cli.js +0 -0
  373. package/dist/validation/quality-gate-runner.d.ts +27 -4
  374. package/dist/validation/quality-gate-runner.js +33 -4
  375. package/dist/validation/verification-reach.d.ts +90 -0
  376. package/dist/validation/verification-reach.js +187 -0
  377. package/dist/verification/adversarial-verify/index.d.ts +1 -1
  378. package/dist/verification/adversarial-verify/measurement-receipt.d.ts +13 -0
  379. package/dist/verification/adversarial-verify/measurement-receipt.js +136 -0
  380. package/dist/verification/adversarial-verify/synthesize.js +7 -10
  381. package/dist/verification/adversarial-verify/types.d.ts +35 -0
  382. package/dist/verification/adversarial-verify/verify.js +6 -1
  383. package/package.json +9 -5
  384. package/schemas/coverage-gap.schema.json +41 -0
  385. package/schemas/finding-verdict.schema.json +470 -0
  386. package/schemas/risk-decision.schema.json +41 -0
  387. package/dist/cli/chunks/adapter-3VBXL7DO.js +0 -2
  388. package/dist/cli/chunks/aqe-learning-engine-NXRNKJNA.js +0 -2
  389. package/dist/cli/chunks/base-F6GMOKU2.js +0 -2
  390. package/dist/cli/chunks/browser-workflow-QRDC46LR.js +0 -2
  391. package/dist/cli/chunks/chunk-3JIJBR4V.js +0 -2
  392. package/dist/cli/chunks/chunk-R2B6EE45.js +0 -2
  393. package/dist/cli/chunks/chunk-TRDEULS7.js +0 -4
  394. package/dist/cli/chunks/chunk-WJXHE52V.js +0 -65
  395. package/dist/cli/chunks/client-HNBZUEVV.js +0 -2
  396. package/dist/cli/chunks/codex-installer-AKQ5BCHU.js +0 -15
  397. package/dist/cli/chunks/core-handlers-TB7NLYXL.js +0 -2
  398. package/dist/cli/chunks/cross-domain-router-MDSI553U.js +0 -2
  399. package/dist/cli/chunks/dream-X7ISHFEE.js +0 -2
  400. package/dist/cli/chunks/heartbeat-scheduler-2C5XGFQT.js +0 -2
  401. package/dist/cli/chunks/hnsw-adapter-KCVMXLUL.js +0 -2
  402. package/dist/cli/chunks/hnsw-index-OGWZS6MP.js +0 -2
  403. package/dist/cli/chunks/impact-analyzer-IBJ43GQL.js +0 -2
  404. package/dist/cli/chunks/init-wizard-6XMFD5LP.js +0 -2
  405. package/dist/cli/chunks/kernel-UDUMUPB3.js +0 -2
  406. package/dist/cli/chunks/knowledge-graph-JRYTUG3W.js +0 -2
  407. package/dist/cli/chunks/llm-router-service-KF5ZALUQ.js +0 -2
  408. package/dist/cli/chunks/load-test-LHMBCNCH.js +0 -2
  409. package/dist/cli/chunks/memory-backend-WZHKHBZK.js +0 -2
  410. package/dist/cli/chunks/pattern-null-store-UZSHCRL2.js +0 -2
  411. package/dist/cli/chunks/platform-WCRBO3Z7.js +0 -2
  412. package/dist/cli/chunks/protocol-executor-42NLVDTC.js +0 -2
  413. package/dist/cli/chunks/qe-reasoning-bank-W74RSMMU.js +0 -2
  414. package/dist/cli/chunks/quality-gate-63DDBSGM.js +0 -7
  415. package/dist/cli/chunks/queen-coordinator-XELKSRMS.js +0 -2
  416. package/dist/cli/chunks/router-GTW2EQZV.js +0 -2
  417. package/dist/cli/chunks/routing-feedback-NVOBWEMK.js +0 -2
  418. package/dist/cli/chunks/rvf-dual-writer-5OPVMXNL.js +0 -2
  419. package/dist/cli/chunks/rvf-migration-adapter-5S4YFTX4.js +0 -2
  420. package/dist/cli/chunks/rvf-native-adapter-LYSJHEVX.js +0 -2
  421. package/dist/cli/chunks/safe-db-AEB3JMLD.js +0 -2
  422. package/dist/cli/chunks/schedule-4QNPCQNT.js +0 -2
  423. package/dist/cli/chunks/scheduler-S3DFHX6A.js +0 -2
  424. package/dist/cli/chunks/sqlite-persistence-L2KISU2H.js +0 -2
  425. package/dist/cli/chunks/unified-memory-5KQMA7FV.js +0 -2
  426. package/dist/cli/chunks/unified-memory-hnsw-PQRPTYOD.js +0 -2
  427. package/dist/cli/chunks/unified-persistence-YDONVPJB.js +0 -2
  428. package/dist/cli/chunks/visual-security-RJ7RTNGJ.js +0 -2
  429. package/dist/cli/chunks/witness-chain-YXXXNGAM.js +0 -2
  430. package/dist/cli/chunks/workflow-orchestrator-5KUAVSTH.js +0 -2
@@ -28,6 +28,7 @@ export var QualityFlags;
28
28
  * Default configuration for balanced early exit
29
29
  */
30
30
  export const DEFAULT_EXIT_CONFIG = {
31
+ mode: 'shadow',
31
32
  exitLayer: 1, // Exit after integration tests
32
33
  minLambdaForExit: 80,
33
34
  minLambdaStability: 0.85,
@@ -42,6 +43,7 @@ export const DEFAULT_EXIT_CONFIG = {
42
43
  * Aggressive configuration for fast feedback
43
44
  */
44
45
  export const AGGRESSIVE_EXIT_CONFIG = {
46
+ mode: 'shadow',
45
47
  exitLayer: 0, // Exit after unit tests
46
48
  minLambdaForExit: 60,
47
49
  minLambdaStability: 0.75,
@@ -56,6 +58,7 @@ export const AGGRESSIVE_EXIT_CONFIG = {
56
58
  * Conservative configuration for high-risk changes
57
59
  */
58
60
  export const CONSERVATIVE_EXIT_CONFIG = {
61
+ mode: 'shadow',
59
62
  exitLayer: 2, // Exit after E2E tests
60
63
  minLambdaForExit: 95,
61
64
  minLambdaStability: 0.92,
package/dist/index.d.ts CHANGED
@@ -13,8 +13,8 @@ export type { TeammateIdleHookConfig, TaskQueue, PendingTask, TeammateIdleStats,
13
13
  export { DevilsAdvocate, ClaimVerifier } from './agents';
14
14
  export * from './domains';
15
15
  export { MCPProtocolServer, createMCPProtocolServer, MCPServer, createMCPServer, ToolRegistry, createToolRegistry, } from './mcp';
16
- export { createQEReasoningBank, QEReasoningBank, RealQEReasoningBank, createRealQEReasoningBank, detectQEDomain, detectQEDomains, mapQEDomainToAQE, QE_DOMAIN_LIST, QE_DOMAINS, } from './learning';
17
- export type { QEPattern, QEPatternType, QEPatternTemplate, QEPatternContext, QEDomain, CreateQEPatternOptions, LearningOutcome, PatternSearchOptions, PatternSearchResult, QERoutingRequest, QERoutingResult, } from './learning';
16
+ export { createQEReasoningBank, QEReasoningBank, RealQEReasoningBank, createRealQEReasoningBank, detectQEDomain, detectQEDomains, mapQEDomainToAQE, QE_DOMAIN_LIST, QE_DOMAINS, createStructuralRetrievalCorpus, verifyStructuralRetrievalCorpus, evaluateStructuralRetrieval, diagnoseRetrieval, createRetrievalReceipt, STRUCTURAL_RETRIEVAL_TRANSFORMATIONS, PatternMutationError, } from './learning';
17
+ export type { QEPattern, QEPatternType, QEPatternTemplate, QEPatternContext, QEDomain, CreateQEPatternOptions, LearningOutcome, PatternSearchOptions, PatternSearchResult, QERoutingRequest, QERoutingResult, StructuralTransformation, CorpusSplit, StructuralPattern, StructuralRetrievalQuery, StructuralRetrievalCorpus, RankedCandidate, RetrievalDiagnostic, QueryRetrievalResult, MetricEstimate, RetrievalMetricSet, StructuralRetrievalReport, RetrievalReceipt, CreateRetrievalReceiptInput, PatternMutationDisposition, } from './learning';
18
18
  export { createTestOutcomeTracker, createCoverageLearner, createQualityScoreCalculator, createPatternPromotionManager, createQualityFeedbackLoop, createInitializedFeedbackLoop, QualityFeedbackLoop, TestOutcomeTracker, CoverageLearner, QualityScoreCalculator, PatternPromotionManager, DEFAULT_FEEDBACK_CONFIG, DEFAULT_QUALITY_WEIGHTS, DEFAULT_PROMOTION_CRITERIA, } from './feedback';
19
19
  export type { TestOutcome, CoverageSession, CoverageStrategy, CoverageTechnique, FeedbackConfig, PatternTier, CoverageGap as FeedbackCoverageGap, QualityDimensions, QualityWeights, PromotionCriteria, PatternPromotionEvent, PatternDemotionEvent, } from './feedback';
20
20
  export * from './routing';
@@ -26,7 +26,9 @@ export { EmbeddingGenerator, EmbeddingCache, HNSWEmbeddingIndex, HNSWIndexFactor
26
26
  export type { EmbeddingDimension, EmbeddingNamespace, QuantizationType, IEmbedding, IEmbeddingModelConfig, IEmbeddingOptions, IBatchEmbeddingResult, ISimilarityResult, ISearchOptions, EmbeddingModelType, IHNSWConfig, ICacheConfig, IEmbeddingStats, TestCaseMetadata, ITestCaseEmbedding, ISimilarTestResult, ITestEmbeddingOptions, ICoverageData, ICoverageGap, ICoverageEmbedding, ICoverageEmbeddingOptions, DefectSeverity, DefectType, IDefectMetadata, IDefectEmbedding, ISimilarDefectResult, IDefectPrediction, IDefectEmbeddingOptions, } from './integrations/embeddings';
27
27
  export type { TopologyType, AgentNode, CommunicationEdge, SwarmTopology, AgentHealthMetrics as StrangeLoopAgentHealthMetrics, ConnectivityMetrics, SwarmVulnerability, SwarmHealthObservation, TrendDirection, TrendAnalysis, BottleneckInfo, BottleneckAnalysis, PredictedVulnerability, SwarmModelDelta, SelfHealingActionType, ActionPriority, SelfHealingAction, ActionResult, ExecutedAction, SelfDiagnosis, StrangeLoopConfig, StrangeLoopStats, StrangeLoopEventType, StrangeLoopEvent, StrangeLoopEventListener, AgentProvider, ActionExecutor, } from './strange-loop';
28
28
  export { SwarmSkillValidator, createSwarmSkillValidator, DEFAULT_SWARM_VALIDATION_CONFIG, P0_SKILLS, DEFAULT_VALIDATION_MODELS, TriggerOptimizer, createTriggerOptimizer, parseSkillFrontmatter, VersionComparator, createVersionComparator, } from './validation';
29
+ export { computeVerificationArtifactDigest, computeVerificationReachManifestHash, createVerificationReachManifest, evaluateVerificationReach, } from './validation/verification-reach';
29
30
  export type { SwarmValidationConfig, SwarmTopology as ValidationSwarmTopology, SwarmValidationResult, SwarmValidationSummary, SkillValidatorFn, SkillMetadata, TriggerAnalysisConfig, TriggerAnalysisResult, TriggerSuggestion, TriggerOptimizationReport, VersionComparisonConfig, SkillVersion, VersionComparisonResult, VersionResult, ComparisonStats, TestCaseComparison, } from './validation';
31
+ export type { FailureModeRequirement, FailureModeReachResult, FailureModeSeverity, UncoveredDisposition, VerificationChannel, VerificationCost, VerificationCoverageVerdict, VerificationEvidenceClass, VerificationExecutionStatus, VerificationReach, VerificationReachEvaluationOptions, VerificationReachLevel, VerificationReachManifest, VerificationReachManifestInput, VerificationReachResult, VerificationTarget, } from './validation/verification-reach';
30
32
  export declare const VERSION: string;
31
33
  export declare const ARCHITECTURE = "DDD with 13 Bounded Contexts";
32
34
  export declare const MAX_CONCURRENT_AGENTS = 15;
package/dist/index.js CHANGED
@@ -27,7 +27,7 @@ export * from './domains/index.js';
27
27
  export { MCPProtocolServer, createMCPProtocolServer, MCPServer, createMCPServer, ToolRegistry, createToolRegistry, } from './mcp/index.js';
28
28
  // Learning Module - QE ReasoningBank for pattern learning (ADR-021)
29
29
  // Exclude types that conflict with routing (ComplexityLevel, ProgrammingLanguage, TestFramework)
30
- export { createQEReasoningBank, QEReasoningBank, RealQEReasoningBank, createRealQEReasoningBank, detectQEDomain, detectQEDomains, mapQEDomainToAQE, QE_DOMAIN_LIST, QE_DOMAINS, } from './learning/index.js';
30
+ export { createQEReasoningBank, QEReasoningBank, RealQEReasoningBank, createRealQEReasoningBank, detectQEDomain, detectQEDomains, mapQEDomainToAQE, QE_DOMAIN_LIST, QE_DOMAINS, createStructuralRetrievalCorpus, verifyStructuralRetrievalCorpus, evaluateStructuralRetrieval, diagnoseRetrieval, createRetrievalReceipt, STRUCTURAL_RETRIEVAL_TRANSFORMATIONS, PatternMutationError, } from './learning/index.js';
31
31
  // Feedback Module - Quality Feedback Loop (ADR-023)
32
32
  // Exclude types that conflict with shared/types (CoverageMetrics, QualityScore)
33
33
  export { createTestOutcomeTracker, createCoverageLearner, createQualityScoreCalculator, createPatternPromotionManager, createQualityFeedbackLoop, createInitializedFeedbackLoop, QualityFeedbackLoop, TestOutcomeTracker, CoverageLearner, QualityScoreCalculator, PatternPromotionManager, DEFAULT_FEEDBACK_CONFIG, DEFAULT_QUALITY_WEIGHTS, DEFAULT_PROMOTION_CRITERIA, } from './feedback/index.js';
@@ -77,6 +77,7 @@ P0_SKILLS, DEFAULT_VALIDATION_MODELS,
77
77
  TriggerOptimizer, createTriggerOptimizer, parseSkillFrontmatter,
78
78
  // Version Comparator
79
79
  VersionComparator, createVersionComparator, } from './validation/index.js';
80
+ export { computeVerificationArtifactDigest, computeVerificationReachManifestHash, createVerificationReachManifest, evaluateVerificationReach, } from './validation/verification-reach.js';
80
81
  // Version info - read from package.json
81
82
  export const VERSION = pkg.version;
82
83
  export const ARCHITECTURE = 'DDD with 13 Bounded Contexts';
@@ -66,6 +66,12 @@ export interface BrowserEngineInstallResult {
66
66
  */
67
67
  platformHint?: PlatformHint;
68
68
  }
69
+ export type BrowserEngineDetectionStatus = 'ready' | 'cli-missing' | 'payload-missing';
70
+ export interface BrowserEngineDetectionResult {
71
+ status: BrowserEngineDetectionStatus;
72
+ version?: string;
73
+ message?: string;
74
+ }
69
75
  export interface PlatformHint {
70
76
  /**
71
77
  * Short machine-readable tag for the condition being reported. Consumers
@@ -111,6 +117,11 @@ export declare function diagnosePlatform(probe?: PlatformProbe): PlatformHint |
111
117
  * stdout when both are non-empty. Devil's-advocate review finding H1.
112
118
  */
113
119
  export declare function detectVibium(spawner?: Spawner, timeoutMs?: number): string | null;
120
+ /**
121
+ * Detect Vibium readiness without changing the host. A usable browser engine
122
+ * requires both the CLI and Vibium's same-revision Chrome/chromedriver payload.
123
+ */
124
+ export declare function detectBrowserEngine(spawner?: Spawner, timeoutMs?: number): BrowserEngineDetectionResult;
114
125
  /**
115
126
  * Install Vibium via `npm install -g`. Returns a structured result the
116
127
  * assets phase can log/summarize — never throws for expected failures.
@@ -113,6 +113,26 @@ export function detectVibium(spawner = defaultSpawner, timeoutMs = 5_000) {
113
113
  const match = raw.match(/v?(\d+\.\d+\.\d+(?:[-+][\w.]+)?)/);
114
114
  return match ? match[1] : raw.split(/\s+/)[0] || 'unknown';
115
115
  }
116
+ /**
117
+ * Detect Vibium readiness without changing the host. A usable browser engine
118
+ * requires both the CLI and Vibium's same-revision Chrome/chromedriver payload.
119
+ */
120
+ export function detectBrowserEngine(spawner = defaultSpawner, timeoutMs = 5_000) {
121
+ const version = detectVibium(spawner, timeoutMs);
122
+ if (!version)
123
+ return { status: 'cli-missing' };
124
+ const payload = tryRun(spawner, 'vibium', ['is-installed'], timeoutMs);
125
+ if (payload.status === 0)
126
+ return { status: 'ready', version };
127
+ return {
128
+ status: 'payload-missing',
129
+ version,
130
+ message: payload.stderr?.trim() ||
131
+ payload.stdout?.trim() ||
132
+ toErrorMessage(payload.error) ||
133
+ 'Vibium Chrome/chromedriver payload is missing or incomplete',
134
+ };
135
+ }
116
136
  /**
117
137
  * Install Vibium via `npm install -g`. Returns a structured result the
118
138
  * assets phase can log/summarize — never throws for expected failures.
@@ -125,11 +145,11 @@ export function installBrowserEngine(options = {}) {
125
145
  const spawner = options.spawner || defaultSpawner;
126
146
  const platformProbe = options.platformProbe || defaultPlatformProbe;
127
147
  const platformHint = diagnosePlatform(platformProbe);
128
- const alreadyInstalled = detectVibium(spawner);
129
- if (alreadyInstalled) {
148
+ const existing = detectBrowserEngine(spawner);
149
+ if (existing.status === 'ready') {
130
150
  return {
131
151
  status: 'already-installed',
132
- version: alreadyInstalled,
152
+ version: existing.version,
133
153
  packageSpec,
134
154
  platformHint,
135
155
  };
@@ -156,7 +176,17 @@ export function installBrowserEngine(options = {}) {
156
176
  'unknown npm install failure',
157
177
  };
158
178
  }
159
- const version = detectVibium(spawner) || 'unknown';
160
- return { status: 'installed', version, packageSpec, platformHint };
179
+ const verified = detectBrowserEngine(spawner);
180
+ if (verified.status !== 'ready') {
181
+ const reason = verified.message ? `: ${verified.message}` : '';
182
+ return {
183
+ status: 'install-failed',
184
+ packageSpec,
185
+ platformHint,
186
+ message: `npm completed, but Vibium readiness verification failed (${verified.status})${reason}. ` +
187
+ `Run \`npm install -g ${packageSpec}\`, then verify with \`vibium is-installed\`.`,
188
+ };
189
+ }
190
+ return { status: 'installed', version: verified.version, packageSpec, platformHint };
161
191
  }
162
192
  //# sourceMappingURL=browser-engine-installer.js.map
@@ -12,12 +12,16 @@ export interface CodexInstallerOptions {
12
12
  installMcp?: boolean;
13
13
  /** Install optional Ruflo guidance, adapter, runtime, and lifecycle groups. */
14
14
  includeRuflo?: boolean;
15
+ /** Eager AGENTS.md guidance policy. Defaults to full. */
16
+ guidancePolicy?: CodexGuidancePolicy;
15
17
  /**
16
18
  * Memory backend for this install. 'memory' => database-free: the MCP config
17
19
  * is written to run in-memory (AQE_MEMORY_BACKEND=memory, no AQE_MEMORY_PATH). (#533)
18
20
  */
19
21
  memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
20
22
  }
23
+ export type CodexGuidancePolicy = 'full' | 'compact' | 'none';
24
+ export declare const CODEX_COMPACT_GUIDANCE_MAX_BYTES = 512;
21
25
  export interface CodexInstallResult {
22
26
  success: boolean;
23
27
  mcpConfigured: boolean;
@@ -29,6 +33,8 @@ export interface CodexInstallResult {
29
33
  agentsMdPath: string;
30
34
  hooksPath: string;
31
35
  skillsPath: string;
36
+ guidancePolicy: CodexGuidancePolicy;
37
+ ownedGuidanceBytes: number;
32
38
  /** Per-component outcomes. Legacy booleans above remain supported. */
33
39
  components: {
34
40
  mcp: CodexComponentOutcome;
@@ -70,7 +76,11 @@ export declare class CodexInstaller {
70
76
  * Merge AQE section into existing AGENTS.md.
71
77
  * Replaces a previously marked AQE section or appends a new marked section.
72
78
  */
73
- private mergeExistingAgentsMd;
79
+ private mergeExistingAgentsMdContent;
80
+ private removeOwnedAgentsSections;
81
+ private measureOwnedAgentsSection;
82
+ private assertOwnedAgentsSectionsWellFormed;
83
+ private ownedAgentsPattern;
74
84
  private markAgentsSection;
75
85
  }
76
86
  export declare function createCodexInstaller(options: CodexInstallerOptions): CodexInstaller;
@@ -11,6 +11,10 @@ import { fileURLToPath } from 'url';
11
11
  import { toErrorMessage } from '../shared/error-utils.js';
12
12
  import { selectCodexSkills } from './codex-skill-manifest.js';
13
13
  import { createPlatformConfigGenerator, } from './platform-config-generator.js';
14
+ export const CODEX_COMPACT_GUIDANCE_MAX_BYTES = 512;
15
+ const COMPACT_CODEX_GUIDANCE = `# Agentic QE
16
+
17
+ Preserve project data, especially .agentic-qe/memory.db. Read affected code and tests before editing, validate inputs at system boundaries, and run focused checks before broader gates. Discover AQE tools and skills from their live schemas.`;
14
18
  // ============================================================================
15
19
  // Codex Installer Class
16
20
  // ============================================================================
@@ -39,6 +43,8 @@ export class CodexInstaller {
39
43
  agentsMdPath: '',
40
44
  hooksPath: join(this.projectRoot, '.codex', 'hooks.json'),
41
45
  skillsPath: join(this.projectRoot, '.agents', 'skills'),
46
+ guidancePolicy: this.options.guidancePolicy ?? 'full',
47
+ ownedGuidanceBytes: 0,
42
48
  components: {
43
49
  mcp: { status: 'skipped' },
44
50
  rules: { status: 'skipped' },
@@ -76,24 +82,52 @@ export class CodexInstaller {
76
82
  this.recordComponentFailure(result, 'mcp', error);
77
83
  }
78
84
  try {
79
- // Generate AGENTS.md behavioral rules
85
+ const policy = this.options.guidancePolicy ?? 'full';
80
86
  const rules = this.generator.generateBehavioralRules('codex');
81
87
  const agentsMdPath = join(this.projectRoot, rules.path);
82
88
  result.agentsMdPath = agentsMdPath;
83
89
  const rulesExist = existsSync(agentsMdPath);
84
- if (!rulesExist || this.overwrite) {
85
- if (rulesExist && this.overwrite) {
86
- const merged = this.mergeExistingAgentsMd(agentsMdPath, rules.content);
87
- writeFileSync(agentsMdPath, merged);
90
+ if (policy === 'none') {
91
+ if (!rulesExist) {
92
+ result.components.rules.status = 'skipped';
88
93
  }
89
94
  else {
90
- writeFileSync(agentsMdPath, this.markAgentsSection(rules.content));
95
+ const existing = readFileSync(agentsMdPath, 'utf-8');
96
+ const updated = this.removeOwnedAgentsSections(existing);
97
+ if (updated !== existing) {
98
+ writeFileSync(agentsMdPath, updated);
99
+ result.components.rules.status = 'updated';
100
+ }
101
+ else {
102
+ result.components.rules.status = 'preserved';
103
+ }
91
104
  }
105
+ }
106
+ else if (!rulesExist) {
107
+ const content = policy === 'compact' ? COMPACT_CODEX_GUIDANCE : rules.content;
108
+ const marked = this.markAgentsSection(content);
109
+ writeFileSync(agentsMdPath, marked);
92
110
  result.agentsMdInstalled = true;
93
- result.components.rules.status = rulesExist ? 'updated' : 'installed';
111
+ result.ownedGuidanceBytes = Buffer.byteLength(marked);
112
+ result.components.rules.status = 'installed';
113
+ }
114
+ else if (this.overwrite || policy === 'compact') {
115
+ const content = policy === 'compact' ? COMPACT_CODEX_GUIDANCE : rules.content;
116
+ const existing = readFileSync(agentsMdPath, 'utf-8');
117
+ const merged = this.mergeExistingAgentsMdContent(existing, content);
118
+ if (merged !== existing) {
119
+ writeFileSync(agentsMdPath, merged);
120
+ result.agentsMdInstalled = true;
121
+ result.components.rules.status = 'updated';
122
+ }
123
+ else {
124
+ result.components.rules.status = 'preserved';
125
+ }
126
+ result.ownedGuidanceBytes = this.measureOwnedAgentsSection(merged);
94
127
  }
95
128
  else {
96
129
  result.components.rules.status = 'preserved';
130
+ result.ownedGuidanceBytes = this.measureOwnedAgentsSection(readFileSync(agentsMdPath, 'utf-8'));
97
131
  }
98
132
  }
99
133
  catch (error) {
@@ -163,12 +197,21 @@ export class CodexInstaller {
163
197
  }
164
198
  }
165
199
  const generatedSource = JSON.parse(readFileSync(sourceConfig, 'utf-8'));
166
- const isRufloGroup = (value) => JSON.stringify(value).includes('ruflo-codex-hook.cjs');
200
+ const withoutRufloHooks = (groups) => groups.flatMap((group) => {
201
+ if (!group || typeof group !== 'object')
202
+ return [group];
203
+ const candidate = group;
204
+ if (!Array.isArray(candidate.hooks)) {
205
+ return JSON.stringify(group).includes('ruflo-codex-hook.cjs') ? [] : [group];
206
+ }
207
+ const hooks = candidate.hooks.filter((hook) => !JSON.stringify(hook).includes('ruflo-codex-hook.cjs'));
208
+ return hooks.length > 0 ? [{ ...candidate, hooks }] : [];
209
+ });
167
210
  const generated = {
168
211
  ...generatedSource,
169
212
  hooks: Object.fromEntries(Object.entries(generatedSource.hooks || {}).map(([event, groups]) => [
170
213
  event,
171
- this.options.includeRuflo ? groups : groups.filter((group) => !isRufloGroup(group)),
214
+ this.options.includeRuflo ? groups : withoutRufloHooks(groups),
172
215
  ])),
173
216
  };
174
217
  const targetConfig = join(targetCodexDir, 'hooks.json');
@@ -290,23 +333,46 @@ export class CodexInstaller {
290
333
  * Merge AQE section into existing AGENTS.md.
291
334
  * Replaces a previously marked AQE section or appends a new marked section.
292
335
  */
293
- mergeExistingAgentsMd(agentsMdPath, newContent) {
294
- const existing = readFileSync(agentsMdPath, 'utf-8');
295
- const marked = this.markAgentsSection(newContent);
296
- const start = CodexInstaller.AGENTS_START;
297
- const end = CodexInstaller.AGENTS_END;
298
- const startIndex = existing.indexOf(start);
299
- if (startIndex >= 0) {
300
- const endIndex = existing.indexOf(end, startIndex);
301
- if (endIndex >= 0) {
302
- return existing.slice(0, startIndex) + marked
303
- + existing.slice(endIndex + end.length);
304
- }
336
+ mergeExistingAgentsMdContent(existing, newContent) {
337
+ this.assertOwnedAgentsSectionsWellFormed(existing);
338
+ const eol = existing.includes('\r\n') ? '\r\n' : '\n';
339
+ const marked = this.markAgentsSection(newContent, eol);
340
+ let replaced = false;
341
+ const merged = existing.replace(this.ownedAgentsPattern(), () => {
342
+ if (replaced)
343
+ return '';
344
+ replaced = true;
345
+ return marked;
346
+ });
347
+ if (replaced)
348
+ return merged;
349
+ if (existing.length === 0)
350
+ return marked;
351
+ return existing.trimEnd() + `${eol}${eol}---${eol}${eol}` + marked;
352
+ }
353
+ removeOwnedAgentsSections(existing) {
354
+ this.assertOwnedAgentsSectionsWellFormed(existing);
355
+ return existing.replace(this.ownedAgentsPattern(), '');
356
+ }
357
+ measureOwnedAgentsSection(content) {
358
+ this.assertOwnedAgentsSectionsWellFormed(content);
359
+ const match = content.match(this.ownedAgentsPattern());
360
+ return match ? Buffer.byteLength(match[0]) : 0;
361
+ }
362
+ assertOwnedAgentsSectionsWellFormed(content) {
363
+ const starts = content.match(/<!-- BEGIN AGENTIC-QE CODEX -->/g)?.length ?? 0;
364
+ const ends = content.match(/<!-- END AGENTIC-QE CODEX -->/g)?.length ?? 0;
365
+ const complete = content.match(this.ownedAgentsPattern())?.length ?? 0;
366
+ if (starts !== ends || complete !== starts) {
367
+ throw new Error('Malformed Agentic QE Codex sentinel in AGENTS.md; file was preserved');
305
368
  }
306
- return existing.trimEnd() + '\n\n---\n\n' + marked;
307
369
  }
308
- markAgentsSection(content) {
309
- return `${CodexInstaller.AGENTS_START}\n${content.trim()}\n${CodexInstaller.AGENTS_END}\n`;
370
+ ownedAgentsPattern() {
371
+ return /<!-- BEGIN AGENTIC-QE CODEX -->[\s\S]*?<!-- END AGENTIC-QE CODEX -->(?:\r?\n)?/g;
372
+ }
373
+ markAgentsSection(content, eol = '\n') {
374
+ const normalized = content.trim().replace(/\r?\n/g, eol);
375
+ return `${CodexInstaller.AGENTS_START}${eol}${normalized}${eol}${CodexInstaller.AGENTS_END}${eol}`;
310
376
  }
311
377
  }
312
378
  // ============================================================================
@@ -53,7 +53,7 @@ export async function configureHooks(projectRoot, config) {
53
53
  {
54
54
  type: 'command',
55
55
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" guard --file "$TOOL_INPUT_file_path" --json',
56
- timeout: 3000,
56
+ timeout: 3,
57
57
  continueOnError: true,
58
58
  },
59
59
  ],
@@ -64,7 +64,7 @@ export async function configureHooks(projectRoot, config) {
64
64
  {
65
65
  type: 'command',
66
66
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-edit --file "$TOOL_INPUT_file_path" --json',
67
- timeout: 5000,
67
+ timeout: 5,
68
68
  continueOnError: true,
69
69
  },
70
70
  ],
@@ -75,7 +75,7 @@ export async function configureHooks(projectRoot, config) {
75
75
  {
76
76
  type: 'command',
77
77
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-command --command "$TOOL_INPUT_command" --json',
78
- timeout: 3000,
78
+ timeout: 3,
79
79
  continueOnError: true,
80
80
  },
81
81
  ],
@@ -86,7 +86,7 @@ export async function configureHooks(projectRoot, config) {
86
86
  {
87
87
  type: 'command',
88
88
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-task --description "$TOOL_INPUT_prompt" --json',
89
- timeout: 5000,
89
+ timeout: 5,
90
90
  continueOnError: true,
91
91
  },
92
92
  ],
@@ -99,7 +99,7 @@ export async function configureHooks(projectRoot, config) {
99
99
  {
100
100
  type: 'command',
101
101
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-edit --file "$TOOL_INPUT_file_path" --success --json',
102
- timeout: 5000,
102
+ timeout: 5,
103
103
  continueOnError: true,
104
104
  },
105
105
  ],
@@ -110,7 +110,7 @@ export async function configureHooks(projectRoot, config) {
110
110
  {
111
111
  type: 'command',
112
112
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-command --command "$TOOL_INPUT_command" --success true --json',
113
- timeout: 5000,
113
+ timeout: 5,
114
114
  continueOnError: true,
115
115
  },
116
116
  ],
@@ -121,7 +121,7 @@ export async function configureHooks(projectRoot, config) {
121
121
  {
122
122
  type: 'command',
123
123
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-task --task-id "$TOOL_RESULT_agent_id" --agent "$TOOL_INPUT_subagent_type" --success true --description "$TOOL_INPUT_prompt" --json',
124
- timeout: 5000,
124
+ timeout: 5,
125
125
  continueOnError: true,
126
126
  },
127
127
  ],
@@ -136,7 +136,7 @@ export async function configureHooks(projectRoot, config) {
136
136
  // var, so we let the CLI read stdin directly.
137
137
  type: 'command',
138
138
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" route --json',
139
- timeout: 5000,
139
+ timeout: 5,
140
140
  continueOnError: true,
141
141
  },
142
142
  ],
@@ -148,7 +148,7 @@ export async function configureHooks(projectRoot, config) {
148
148
  {
149
149
  type: 'command',
150
150
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" session-start --session-id "$SESSION_ID" --json',
151
- timeout: 10000,
151
+ timeout: 10,
152
152
  continueOnError: true,
153
153
  },
154
154
  ],
@@ -160,7 +160,7 @@ export async function configureHooks(projectRoot, config) {
160
160
  {
161
161
  type: 'command',
162
162
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" session-end --save-state --json',
163
- timeout: 5000,
163
+ timeout: 5,
164
164
  continueOnError: true,
165
165
  },
166
166
  ],
@@ -173,7 +173,7 @@ export async function configureHooks(projectRoot, config) {
173
173
  // sentinels accumulate at quality_score=-1 indefinitely.
174
174
  type: 'command',
175
175
  command: 'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-route --success true --json',
176
- timeout: 5000,
176
+ timeout: 5,
177
177
  continueOnError: true,
178
178
  },
179
179
  ],
@@ -43,6 +43,7 @@ export class ModularInitOrchestrator {
43
43
  withRooCode: options.withRooCode || allPlatforms,
44
44
  withCodex: options.withCodex || allPlatforms,
45
45
  withRuflo: options.withRuflo,
46
+ codexGuidance: options.codexGuidance,
46
47
  withWindsurf: options.withWindsurf || allPlatforms,
47
48
  withContinueDev: options.withContinueDev || allPlatforms,
48
49
  withAllPlatforms: options.withAllPlatforms,
@@ -156,6 +157,7 @@ export class ModularInitOrchestrator {
156
157
  mcpConfigured: mcpResult?.data?.configured ?? false,
157
158
  claudeMdGenerated: claudeMdResult?.data?.generated ?? false,
158
159
  workersStarted: workersResult?.data?.workersConfigured ?? 0,
160
+ codexGuidance: assetsResult?.data?.codexGuidance,
159
161
  },
160
162
  totalDurationMs: Date.now() - startTime,
161
163
  timestamp: new Date(),
@@ -55,7 +55,7 @@ export declare class HooksPhase extends BasePhase<HooksResult> {
55
55
  /**
56
56
  * Install the resilient hook shim (aqe-hook.cjs) into .claude/hooks/.
57
57
  * The generated settings.json hooks run `node .../aqe-hook.cjs <cmd>` — the
58
- * shim resolves a project-local AQE bundle (or falls back to npx), strips
58
+ * shim resolves a project-local AQE bundle (or an installed aqe binary), strips
59
59
  * init noise from stdout, swallows stderr, and always exits 0.
60
60
  */
61
61
  private installHookShim;
@@ -72,8 +72,8 @@ export declare class HooksPhase extends BasePhase<HooksResult> {
72
72
  /**
73
73
  * Generate hooks configuration
74
74
  *
75
- * Uses `npx agentic-qe` for portability - works without global installation.
76
- * All hooks use --json output for structured data and fail silently with continueOnError.
75
+ * Timeout values use Claude Code's native seconds unit. The shim itself uses
76
+ * a smaller millisecond budget so it can record failures before the host stops it.
77
77
  */
78
78
  private generateHooksConfig;
79
79
  }