agentic-qe 3.15.7 → 3.15.9

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 (489) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +305 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/agents/claim-verifier/claim-verifier-service.js +13 -8
  5. package/dist/bridge/captured-experience-bridge.js +12 -13
  6. package/dist/cli/bundle.js +6 -6
  7. package/dist/cli/chunks/adapter-R2Q4QGXQ.js +2 -0
  8. package/dist/cli/chunks/{agent-booster-wasm-OS5G7KMQ.js → agent-booster-wasm-427FRKWG.js} +2 -2
  9. package/dist/cli/chunks/{agent-handler-PI4I7PME.js → agent-handler-RIYHTHVZ.js} +2 -2
  10. package/dist/cli/chunks/{agent-memory-branch-J7TXHX4U.js → agent-memory-branch-WSUCUHOO.js} +2 -2
  11. package/dist/cli/chunks/aqe-learning-engine-3RENLQWP.js +2 -0
  12. package/dist/cli/chunks/{arena-OWUGXKNT.js → arena-KRIBMIXX.js} +2 -2
  13. package/dist/cli/chunks/{arena-FXESDCFR.js → arena-YAJZX6MC.js} +4 -4
  14. package/dist/cli/chunks/{audit-EPAWLYIZ.js → audit-7ZNOXWP3.js} +3 -3
  15. package/dist/cli/chunks/base-67DXSAYM.js +2 -0
  16. package/dist/cli/chunks/{better-sqlite3-IYVR5EQY.js → better-sqlite3-ZQAT4I6H.js} +2 -2
  17. package/dist/cli/chunks/{brain-handler-3W2E6TC6.js → brain-handler-452WCPZC.js} +3 -3
  18. package/dist/cli/chunks/{branch-enumerator-HU7VACJ4.js → branch-enumerator-IJFXJRPN.js} +2 -2
  19. package/dist/cli/chunks/{browser-72XOR6E2.js → browser-CT3MTV6G.js} +2 -2
  20. package/dist/cli/chunks/browser-workflow-NDXRROWZ.js +2 -0
  21. package/dist/cli/chunks/{chunk-WXI2STKQ.js → chunk-2BA45H64.js} +2 -2
  22. package/dist/cli/chunks/{chunk-DGK6GQMO.js → chunk-2HL3UM5P.js} +2 -2
  23. package/dist/cli/chunks/{chunk-LGBN7TKC.js → chunk-2I2UPJS7.js} +2 -2
  24. package/dist/cli/chunks/{chunk-ZRLNACPY.js → chunk-2TDIS6YK.js} +2 -2
  25. package/dist/cli/chunks/{chunk-34JLY3U6.js → chunk-2URBI52G.js} +2 -2
  26. package/dist/cli/chunks/{chunk-K7W55B7Q.js → chunk-2XITOPYV.js} +2 -2
  27. package/dist/cli/chunks/{chunk-I7H4IP7T.js → chunk-2YH62JCN.js} +2 -2
  28. package/dist/cli/chunks/{chunk-HPG7354V.js → chunk-32UTLDNY.js} +2 -2
  29. package/dist/cli/chunks/{chunk-C2CUPJGR.js → chunk-37BIGMJI.js} +1 -1
  30. package/dist/cli/chunks/{chunk-2RJYA6WK.js → chunk-3CJCROMW.js} +2 -2
  31. package/dist/cli/chunks/{chunk-CWPRU7ZI.js → chunk-3LYU7BLY.js} +2 -2
  32. package/dist/cli/chunks/{chunk-24CENUT4.js → chunk-47TYABPD.js} +3 -3
  33. package/dist/cli/chunks/{chunk-WUV5RZUI.js → chunk-47V7FQGX.js} +2 -2
  34. package/dist/cli/chunks/{chunk-IWQQIXHO.js → chunk-4JCY45KV.js} +2 -2
  35. package/dist/cli/chunks/{chunk-ZTMZFF25.js → chunk-4SUOVLJ6.js} +2 -2
  36. package/dist/cli/chunks/{chunk-CIFWOMNX.js → chunk-4URT6JO2.js} +1 -1
  37. package/dist/cli/chunks/{chunk-5Q22XPTH.js → chunk-4V27J6YN.js} +2 -2
  38. package/dist/cli/chunks/{chunk-SX2YSHE7.js → chunk-4W4DYVSH.js} +1 -1
  39. package/dist/cli/chunks/chunk-55HRSNGN.js +2 -0
  40. package/dist/cli/chunks/{chunk-F62EKVVC.js → chunk-5D2I7JUP.js} +2 -2
  41. package/dist/cli/chunks/{chunk-XXAVQACL.js → chunk-5JWGCIQW.js} +1 -1
  42. package/dist/cli/chunks/chunk-5LAAZLUC.js +4 -0
  43. package/dist/cli/chunks/{chunk-EDU72RTW.js → chunk-5NS3USRW.js} +1 -1
  44. package/dist/cli/chunks/{chunk-BTYKGVJ5.js → chunk-6EPHNJTL.js} +1 -1
  45. package/dist/cli/chunks/{chunk-JVYPXW6Y.js → chunk-6OOYIO3W.js} +2 -2
  46. package/dist/cli/chunks/{chunk-PG64YV6C.js → chunk-6PXA2BQJ.js} +58 -58
  47. package/dist/cli/chunks/{chunk-IARSGAG7.js → chunk-6YL6JOQB.js} +2 -2
  48. package/dist/cli/chunks/{chunk-LDXQRNTT.js → chunk-72AMFDC7.js} +1 -1
  49. package/dist/cli/chunks/{chunk-Z3VJLWRR.js → chunk-763SUL4B.js} +2 -2
  50. package/dist/cli/chunks/{chunk-EL75G2A3.js → chunk-7DMA5NYL.js} +1 -1
  51. package/dist/cli/chunks/{chunk-J43DV3ME.js → chunk-7JKB3Q7O.js} +1 -1
  52. package/dist/cli/chunks/{chunk-ONVALAZN.js → chunk-7KII4CQG.js} +2 -2
  53. package/dist/cli/chunks/{chunk-AAA4SHEG.js → chunk-7QGYJ5OY.js} +1 -1
  54. package/dist/cli/chunks/{chunk-MMXG3LL6.js → chunk-7QTB5VJZ.js} +2 -2
  55. package/dist/cli/chunks/{chunk-BB7OLQKO.js → chunk-7X2Y727E.js} +1 -1
  56. package/dist/cli/chunks/{chunk-VNW5Q2CX.js → chunk-A4RU67VX.js} +2 -2
  57. package/dist/cli/chunks/{chunk-YFOBQSOW.js → chunk-A6YIH4C4.js} +2 -2
  58. package/dist/cli/chunks/{chunk-MJJC6HUK.js → chunk-ABFDB4X3.js} +1 -1
  59. package/dist/cli/chunks/{chunk-MHZPC4HJ.js → chunk-AJ4YDSOI.js} +2 -2
  60. package/dist/cli/chunks/{chunk-OA4GR3EZ.js → chunk-AOFO4N32.js} +2 -2
  61. package/dist/cli/chunks/{chunk-EB2PP6X2.js → chunk-AQTVVLNP.js} +1 -1
  62. package/dist/cli/chunks/chunk-AR2E4B7K.js +6 -0
  63. package/dist/cli/chunks/{chunk-N4PMPSJJ.js → chunk-AVB5QY2Q.js} +2 -2
  64. package/dist/cli/chunks/{chunk-HLZATDD2.js → chunk-BHKXMIWX.js} +2 -2
  65. package/dist/cli/chunks/{chunk-C2MDBBFF.js → chunk-BXO536GT.js} +3 -3
  66. package/dist/cli/chunks/{chunk-WTLIEBDH.js → chunk-C6RTMTEH.js} +1 -1
  67. package/dist/cli/chunks/{chunk-MNZFEIE5.js → chunk-CTZJUV5I.js} +1 -1
  68. package/dist/cli/chunks/{chunk-XEWXYGJI.js → chunk-D6XVGFTI.js} +2 -2
  69. package/dist/cli/chunks/{chunk-Y4SAWE45.js → chunk-DDPPSSHW.js} +1 -1
  70. package/dist/cli/chunks/{chunk-KPOPBUUJ.js → chunk-DGTLJNJH.js} +2 -2
  71. package/dist/cli/chunks/{chunk-6JT73S5B.js → chunk-DINZR5CF.js} +1 -1
  72. package/dist/cli/chunks/{chunk-HTWIGQL4.js → chunk-EFBLP43U.js} +2 -2
  73. package/dist/cli/chunks/chunk-ETG7O5E5.js +5 -0
  74. package/dist/cli/chunks/{chunk-2AYBYXOA.js → chunk-F2SQPP6U.js} +2 -2
  75. package/dist/cli/chunks/{chunk-V2SAEMZY.js → chunk-F3PQZX44.js} +1 -1
  76. package/dist/cli/chunks/{chunk-JPHDMHFG.js → chunk-F4JYIRW2.js} +2 -2
  77. package/dist/cli/chunks/{chunk-REEIFA6A.js → chunk-FJ4VTLLK.js} +2 -2
  78. package/dist/cli/chunks/{chunk-PTK66HEY.js → chunk-FL3OYGCS.js} +2 -2
  79. package/dist/cli/chunks/{chunk-PEKDSJBC.js → chunk-FLASM2XB.js} +2 -2
  80. package/dist/cli/chunks/{chunk-G762PEFO.js → chunk-FV3NHVC7.js} +22 -22
  81. package/dist/cli/chunks/{chunk-FTTFJ7SJ.js → chunk-FV7VAG74.js} +1 -1
  82. package/dist/cli/chunks/{chunk-2YVJ5OUL.js → chunk-G3BKZNFL.js} +8 -8
  83. package/dist/cli/chunks/{chunk-MDC4G323.js → chunk-GBUIG3FS.js} +1 -1
  84. package/dist/cli/chunks/{chunk-DCJW2DPL.js → chunk-GCWSX2NY.js} +4 -4
  85. package/dist/cli/chunks/{chunk-VCA6YYII.js → chunk-GII5WVAK.js} +1 -1
  86. package/dist/cli/chunks/{chunk-HXBAQKMH.js → chunk-GKPQ2GRR.js} +2 -2
  87. package/dist/cli/chunks/chunk-GR3JYE5A.js +2 -0
  88. package/dist/cli/chunks/{chunk-ZUMDDMDE.js → chunk-H3KBIWTO.js} +2 -2
  89. package/dist/cli/chunks/{chunk-ECSLJJOQ.js → chunk-HAROIAJE.js} +1 -1
  90. package/dist/cli/chunks/{chunk-ICPALF4Q.js → chunk-HCYQHWI2.js} +2 -2
  91. package/dist/cli/chunks/{chunk-V5NGBQAQ.js → chunk-HGTWAZWU.js} +2 -2
  92. package/dist/cli/chunks/{chunk-YK3NOC2R.js → chunk-HTZJSQ3C.js} +2 -2
  93. package/dist/cli/chunks/{chunk-IYQ7XNE5.js → chunk-HWK5L7IJ.js} +2 -2
  94. package/dist/cli/chunks/{chunk-HSDOOFV7.js → chunk-HZ5NC6U5.js} +1 -1
  95. package/dist/cli/chunks/{chunk-M63QB466.js → chunk-I6S35FRO.js} +2 -2
  96. package/dist/cli/chunks/{chunk-LMEU64TR.js → chunk-ICP2ORGI.js} +2 -2
  97. package/dist/cli/chunks/{chunk-PXZKPUW6.js → chunk-IFEIY3NQ.js} +2 -2
  98. package/dist/cli/chunks/{chunk-OJEZNLB6.js → chunk-J3DTDJDT.js} +2 -2
  99. package/dist/cli/chunks/chunk-J3WGK22W.js +2 -0
  100. package/dist/cli/chunks/{chunk-SQHLC6I5.js → chunk-J5KNRVXR.js} +1 -1
  101. package/dist/cli/chunks/{chunk-RORZ5O5Z.js → chunk-JAV5WPSY.js} +2 -2
  102. package/dist/cli/chunks/{chunk-SSP2B2WR.js → chunk-JEP4ULR6.js} +2 -2
  103. package/dist/cli/chunks/{chunk-6FEQ73BF.js → chunk-JK2ME6IT.js} +2 -2
  104. package/dist/cli/chunks/chunk-JNNZK7KH.js +2 -0
  105. package/dist/cli/chunks/{chunk-RXAFLK34.js → chunk-JP4P3P3D.js} +2 -2
  106. package/dist/cli/chunks/{chunk-JY4AIEZ7.js → chunk-JUVHZG7I.js} +1 -1
  107. package/dist/cli/chunks/{chunk-UBYCR3O4.js → chunk-JWGRWMZP.js} +2 -2
  108. package/dist/cli/chunks/{chunk-6BO3WCK7.js → chunk-K5DJXMAA.js} +2 -2
  109. package/dist/cli/chunks/{chunk-MKFQNCXI.js → chunk-KFUUIAR4.js} +2 -2
  110. package/dist/cli/chunks/chunk-KHSRIPBP.js +180 -0
  111. package/dist/cli/chunks/{chunk-UY3REQOK.js → chunk-KIKWJM6J.js} +2 -2
  112. package/dist/cli/chunks/{chunk-YUC7RJGR.js → chunk-KIXYKUCI.js} +1 -1
  113. package/dist/cli/chunks/{chunk-IC2WSSD5.js → chunk-KLGYIEJK.js} +3 -3
  114. package/dist/cli/chunks/{chunk-DVPGBDBP.js → chunk-KR3M44CF.js} +3 -3
  115. package/dist/cli/chunks/chunk-KTSLTZSG.js +2 -0
  116. package/dist/cli/chunks/{chunk-Y6A46M3B.js → chunk-KVBEGOJE.js} +2 -2
  117. package/dist/cli/chunks/{chunk-PZG3542B.js → chunk-L42JPFCC.js} +2 -2
  118. package/dist/cli/chunks/{chunk-J26GADQE.js → chunk-LCJTEUDC.js} +181 -181
  119. package/dist/cli/chunks/{chunk-3JD2USUH.js → chunk-LEAKYZ37.js} +2 -2
  120. package/dist/cli/chunks/{chunk-UCLN6AME.js → chunk-LMU5DUDK.js} +1 -1
  121. package/dist/cli/chunks/{chunk-EV2BYY6T.js → chunk-MZS32SYS.js} +1 -1
  122. package/dist/cli/chunks/{chunk-LVEX4GID.js → chunk-N3KEY4XJ.js} +2 -2
  123. package/dist/cli/chunks/{chunk-XNSQZ3O7.js → chunk-N3NP6PTT.js} +2 -2
  124. package/dist/cli/chunks/{chunk-QVG4ZDXX.js → chunk-N5PDFGCQ.js} +2 -2
  125. package/dist/cli/chunks/{chunk-6PKCQXEW.js → chunk-NDKLQW6N.js} +2 -2
  126. package/dist/cli/chunks/{chunk-6AYRAOCA.js → chunk-NHZIWIQZ.js} +2 -2
  127. package/dist/cli/chunks/{chunk-H4WHDFB5.js → chunk-NTAD5UX4.js} +2 -2
  128. package/dist/cli/chunks/{chunk-JYXOFN3E.js → chunk-O3JLOVZX.js} +2 -2
  129. package/dist/cli/chunks/{chunk-ZLVQSEZK.js → chunk-OCESWNAZ.js} +3 -3
  130. package/dist/cli/chunks/{chunk-7EX4DEQR.js → chunk-OG2UI6A3.js} +2 -2
  131. package/dist/cli/chunks/{chunk-3RM46XFP.js → chunk-OXTFSIGN.js} +1 -1
  132. package/dist/cli/chunks/{chunk-44DPYNPE.js → chunk-OXZLKP6C.js} +1 -1
  133. package/dist/cli/chunks/{chunk-TU4LIIOP.js → chunk-P2CXVNKK.js} +2 -2
  134. package/dist/cli/chunks/{chunk-LDZWIV2O.js → chunk-P73W2K7T.js} +1 -1
  135. package/dist/cli/chunks/{chunk-56ZKQYZY.js → chunk-PBZI2ZPV.js} +3 -3
  136. package/dist/cli/chunks/{chunk-MNCF643K.js → chunk-PMCRCEW5.js} +2 -2
  137. package/dist/cli/chunks/{chunk-4G2VNW4C.js → chunk-PVIA2FPD.js} +2 -2
  138. package/dist/cli/chunks/{chunk-MRHM4COP.js → chunk-PX2B5TS2.js} +2 -2
  139. package/dist/cli/chunks/{chunk-HZFT3P5B.js → chunk-Q3JVJRVJ.js} +1 -1
  140. package/dist/cli/chunks/{chunk-GY2SAIXP.js → chunk-QQ5SZH4D.js} +2 -2
  141. package/dist/cli/chunks/{chunk-LP4AS2E4.js → chunk-QTVWUQTB.js} +1 -1
  142. package/dist/cli/chunks/{chunk-W4X2VTIY.js → chunk-REUFWGMA.js} +2 -2
  143. package/dist/cli/chunks/{chunk-FVBFASOD.js → chunk-SNBYYO6F.js} +2 -2
  144. package/dist/cli/chunks/{chunk-RNYX4CPI.js → chunk-SVHUYVUR.js} +2 -2
  145. package/dist/cli/chunks/{chunk-AXO7OOOA.js → chunk-THAY7WHO.js} +2 -2
  146. package/dist/cli/chunks/{chunk-QWLTHFZW.js → chunk-TNMQVG4A.js} +2 -2
  147. package/dist/cli/chunks/{chunk-JFPXCQNP.js → chunk-TSYQDRNK.js} +1 -1
  148. package/dist/cli/chunks/{chunk-JK6B3ULP.js → chunk-TUYJ53V4.js} +2 -2
  149. package/dist/cli/chunks/{chunk-PUECC4WI.js → chunk-UNUTC6TX.js} +2 -2
  150. package/dist/cli/chunks/{chunk-ED32XJ5R.js → chunk-UOJBR4J3.js} +2 -2
  151. package/dist/cli/chunks/{chunk-CXTJ47QS.js → chunk-UOWHE77F.js} +2 -2
  152. package/dist/cli/chunks/{chunk-5KCBX225.js → chunk-UYLYMWV5.js} +2 -2
  153. package/dist/cli/chunks/{chunk-QNQSM2OG.js → chunk-V5PXQSFS.js} +2 -2
  154. package/dist/cli/chunks/{chunk-VKPKYMCT.js → chunk-VCMINU7K.js} +2 -2
  155. package/dist/cli/chunks/{chunk-QQT6QENQ.js → chunk-VQHVHVSF.js} +2 -2
  156. package/dist/cli/chunks/{chunk-634D2ENF.js → chunk-VRGCKBF7.js} +2 -2
  157. package/dist/cli/chunks/{chunk-T6W5APYP.js → chunk-VU2EL424.js} +1 -1
  158. package/dist/cli/chunks/{chunk-JY4WLN3K.js → chunk-VXZJOKOX.js} +2 -2
  159. package/dist/cli/chunks/{chunk-NZQPP533.js → chunk-VYLM2YV5.js} +3 -3
  160. package/dist/cli/chunks/{chunk-PQV7E7XH.js → chunk-W32YU3VI.js} +2 -2
  161. package/dist/cli/chunks/{chunk-RRPYWBFX.js → chunk-W5VJRDDG.js} +2 -2
  162. package/dist/cli/chunks/{chunk-7UCVYYWL.js → chunk-WGDR2KIR.js} +2 -2
  163. package/dist/cli/chunks/{chunk-2423JAA5.js → chunk-WRRCQ2UE.js} +1 -1
  164. package/dist/cli/chunks/{chunk-RCYLCA7E.js → chunk-XDBD4GXO.js} +2 -2
  165. package/dist/cli/chunks/{chunk-PYHYOKYT.js → chunk-XOLDMK23.js} +2 -2
  166. package/dist/cli/chunks/{chunk-5KS7HA37.js → chunk-XOVNZT7F.js} +1 -1
  167. package/dist/cli/chunks/{chunk-5PBRBS7D.js → chunk-XQ3DDY7X.js} +2 -2
  168. package/dist/cli/chunks/{chunk-4DIZ5BT6.js → chunk-XUIA5KMS.js} +2 -2
  169. package/dist/cli/chunks/{chunk-G7YTZTGU.js → chunk-XWIUFYM3.js} +1 -1
  170. package/dist/cli/chunks/{chunk-B7M323VL.js → chunk-XYCKHYBM.js} +2 -2
  171. package/dist/cli/chunks/{chunk-6OS7HREG.js → chunk-XZJ2O3VC.js} +1 -1
  172. package/dist/cli/chunks/{chunk-BTIBXGVQ.js → chunk-YRBBBUJX.js} +5 -5
  173. package/dist/cli/chunks/{chunk-MQ6OF6DU.js → chunk-YZGSJG34.js} +1 -1
  174. package/dist/cli/chunks/{chunk-XTJMY3KS.js → chunk-YZYDTABJ.js} +1 -1
  175. package/dist/cli/chunks/{chunk-LQOVA4YX.js → chunk-ZANDSVCK.js} +2 -2
  176. package/dist/cli/chunks/{chunk-2E3XWKEU.js → chunk-ZBDRLF43.js} +2 -2
  177. package/dist/cli/chunks/{chunk-UUHIEM2M.js → chunk-ZVSLCEVC.js} +3 -3
  178. package/dist/cli/chunks/{chunk-Q2T5FXEA.js → chunk-ZXBCCO2H.js} +2 -2
  179. package/dist/cli/chunks/{ci-5HEXJZ2C.js → ci-7SGRCFPS.js} +2 -2
  180. package/dist/cli/chunks/{ci-config-WU4NPDAM.js → ci-config-MX3URPZA.js} +2 -2
  181. package/dist/cli/chunks/{ci-output-BJQVXX5E.js → ci-output-M47NJY6D.js} +2 -2
  182. package/dist/cli/chunks/{circuit-breaker-3BMGTQCB.js → circuit-breaker-5GAK45SW.js} +2 -2
  183. package/dist/cli/chunks/{claude-flow-setup-GVDGJWMU.js → claude-flow-setup-YXYSRH4Y.js} +2 -2
  184. package/dist/cli/chunks/client-ZP3CTVRF.js +2 -0
  185. package/dist/cli/chunks/{cline-installer-V4MRGWVA.js → cline-installer-DLJ5QD5N.js} +2 -2
  186. package/dist/cli/chunks/{code-A3TGQPEO.js → code-ONKLMVQ2.js} +25 -24
  187. package/dist/cli/chunks/{code-index-extractor-YJQSYWD3.js → code-index-extractor-2232LGZN.js} +2 -2
  188. package/dist/cli/chunks/{codex-installer-7N7UQPAH.js → codex-installer-UOWLYCMH.js} +2 -2
  189. package/dist/cli/chunks/{completions-PPGVYLZS.js → completions-MHX7GCC7.js} +2 -2
  190. package/dist/cli/chunks/{complexity-analyzer-XZTFLYV5.js → complexity-analyzer-43ZUJKZU.js} +2 -2
  191. package/dist/cli/chunks/{continuedev-installer-Z5I57RAH.js → continuedev-installer-6Q5JR4FF.js} +2 -2
  192. package/dist/cli/chunks/{copilot-installer-F5YZ6BHB.js → copilot-installer-CZUMVHSI.js} +2 -2
  193. package/dist/cli/chunks/core-handlers-JSRXQWPE.js +2 -0
  194. package/dist/cli/chunks/{cost-tracker-GO33ZQAP.js → cost-tracker-VS5ZW3XN.js} +2 -2
  195. package/dist/cli/chunks/{coverage-GSHKLY74.js → coverage-VWKTWZ6D.js} +3 -3
  196. package/dist/cli/chunks/cross-domain-router-7UKODQWG.js +2 -0
  197. package/dist/cli/chunks/{cursor-installer-JJ7IVJZB.js → cursor-installer-YIFEMORH.js} +2 -2
  198. package/dist/cli/chunks/{daemon-IRL7QRNE.js → daemon-SHWJSJW5.js} +7 -7
  199. package/dist/cli/chunks/daemon-YIFT46FH.js +34 -0
  200. package/dist/cli/chunks/{dag-attention-scheduler-ORXSUHPA.js → dag-attention-scheduler-TCC2WM46.js} +2 -2
  201. package/dist/cli/chunks/{detect-RHU62KRI.js → detect-IGTWSQMA.js} +2 -2
  202. package/dist/cli/chunks/{dist-node-3VKV4Z6C.js → dist-node-TCOTJVQX.js} +2 -2
  203. package/dist/cli/chunks/{domain-handler-SFIML4FK.js → domain-handler-55ZVYODR.js} +2 -2
  204. package/dist/cli/chunks/{domain-plugins-CJ4FA3OC.js → domain-plugins-GJRWOHQP.js} +2 -2
  205. package/dist/cli/chunks/{domain-transfer-BCRKPCAA.js → domain-transfer-6EF75EKU.js} +2 -2
  206. package/dist/cli/chunks/dream-UDLM6M55.js +2 -0
  207. package/dist/cli/chunks/{embed-and-insert-pattern-VL3HFLPV.js → embed-and-insert-pattern-XAMNIKQL.js} +2 -2
  208. package/dist/cli/chunks/{eval-GGKRI4P5.js → eval-GO22R4OZ.js} +2 -2
  209. package/dist/cli/chunks/{experience-capture-middleware-F72TIRQY.js → experience-capture-middleware-F2BRMJ3Y.js} +3 -3
  210. package/dist/cli/chunks/{fast-paths-7KOOF3MA.js → fast-paths-6RGPYALD.js} +2 -2
  211. package/dist/cli/chunks/{feature-flags-FNHBTHBH.js → feature-flags-MIWQIOHU.js} +2 -2
  212. package/dist/cli/chunks/{feature-flags-IOZEWWFU.js → feature-flags-ZGS3KLPH.js} +2 -2
  213. package/dist/cli/chunks/file-discovery-THWOUQ7Z.js +2 -0
  214. package/dist/cli/chunks/fleet-ADL57COA.js +44 -0
  215. package/dist/cli/chunks/{gnn-wrapper-OH2DOQP7.js → gnn-wrapper-ALBJVW6T.js} +2 -2
  216. package/dist/cli/chunks/{heartbeat-handler-W67NXTNE.js → heartbeat-handler-ZMM53NDY.js} +4 -4
  217. package/dist/cli/chunks/heartbeat-scheduler-HGOC5KH3.js +2 -0
  218. package/dist/cli/chunks/hnsw-adapter-EPSA6AP7.js +2 -0
  219. package/dist/cli/chunks/hnsw-index-RMFOPYGY.js +2 -0
  220. package/dist/cli/chunks/{hnsw-legacy-bridge-6MLLOGOE.js → hnsw-legacy-bridge-RYUJPA7B.js} +2 -2
  221. package/dist/cli/chunks/{hnswlib-node-4UDISJ3G.js → hnswlib-node-XM6XF3YV.js} +2 -2
  222. package/dist/cli/chunks/{hooks-NOQJWQ4P.js → hooks-X62O7TJO.js} +10 -10
  223. package/dist/cli/chunks/hybrid-backend-NZ3G4WBX.js +2 -0
  224. package/dist/cli/chunks/{hypergraph-engine-2OD3APVP.js → hypergraph-engine-ZBWUPTVD.js} +2 -2
  225. package/dist/cli/chunks/{hypergraph-handler-5AZGMBUM.js → hypergraph-handler-DUMF6SJV.js} +3 -3
  226. package/dist/cli/chunks/impact-analyzer-WZC6NHFP.js +2 -0
  227. package/dist/cli/chunks/{init-guard-SMGJ45PW.js → init-guard-S4I2R46S.js} +2 -2
  228. package/dist/cli/chunks/{init-handler-5T4MP2NM.js → init-handler-L4KJHVWS.js} +6 -6
  229. package/dist/cli/chunks/init-wizard-422UZYQ5.js +2 -0
  230. package/dist/cli/chunks/kernel-N7PJ6FCE.js +2 -0
  231. package/dist/cli/chunks/{kilocode-installer-RLZYLVQJ.js → kilocode-installer-GNNB5FCZ.js} +2 -2
  232. package/dist/cli/chunks/{kiro-installer-LFZOC7VD.js → kiro-installer-HR6ZAH7T.js} +2 -2
  233. package/dist/cli/chunks/knowledge-graph-SZCVQF37.js +2 -0
  234. package/dist/cli/chunks/{learning-XRPGLUWR.js → learning-4IEEOHJS.js} +3 -3
  235. package/dist/cli/chunks/{llm-router-OMK5HYPH.js → llm-router-ZFMORP36.js} +4 -4
  236. package/dist/cli/chunks/llm-router-service-4DE5WDUZ.js +2 -0
  237. package/dist/cli/chunks/{load-XADC7KCU.js → load-ZM43WGDO.js} +2 -2
  238. package/dist/cli/chunks/load-test-POMIF4Q4.js +2 -0
  239. package/dist/cli/chunks/{mcp-PIBKSSVU.js → mcp-CRZKZE37.js} +2 -2
  240. package/dist/cli/chunks/{memory-AP7EZERS.js → memory-W5FZGVAD.js} +5 -5
  241. package/dist/cli/chunks/memory-backend-4P6AHSOY.js +2 -0
  242. package/dist/cli/chunks/memory-handlers-NK6NV3GE.js +2 -0
  243. package/dist/cli/chunks/{multi-model-executor-7JJ2FZ33.js → multi-model-executor-SXXGAQ2G.js} +2 -2
  244. package/dist/cli/chunks/{opencode-installer-ZZZ6EBYJ.js → opencode-installer-PIRBUAB5.js} +2 -2
  245. package/dist/cli/chunks/{orchestrator-2H2YKSGJ.js → orchestrator-H5SQCQTB.js} +11 -10
  246. package/dist/cli/chunks/pattern-null-store-CCHQHGQG.js +2 -0
  247. package/dist/cli/chunks/{pattern-usage-recorder-7MJJWC2Z.js → pattern-usage-recorder-XZTWDI2T.js} +2 -2
  248. package/dist/cli/chunks/{pipeline-LIE5BWQY.js → pipeline-5LMLBIJ7.js} +2 -2
  249. package/dist/cli/chunks/{platform-SMYUNLGX.js → platform-KJDABL5C.js} +2 -2
  250. package/dist/cli/chunks/{plugin-LJDIXQNT.js → plugin-V4KSBVVM.js} +2 -2
  251. package/dist/cli/chunks/{prime-radiant-advanced-wasm-RIDNE5D2.js → prime-radiant-advanced-wasm-JDHTKQAT.js} +2 -2
  252. package/dist/cli/chunks/project-root-X72FSM2F.js +2 -0
  253. package/dist/cli/chunks/protocol-executor-QW6XN6QN.js +2 -0
  254. package/dist/cli/chunks/{protocol-handler-YVM66DLI.js → protocol-handler-BNRONTQV.js} +2 -2
  255. package/dist/cli/chunks/{prove-ZBDT52GD.js → prove-ELLL6XMX.js} +2 -2
  256. package/dist/cli/chunks/qe-reasoning-bank-ZD3WF647.js +2 -0
  257. package/dist/cli/chunks/{quality-DUKXGDDO.js → quality-NH2QA4D4.js} +2 -2
  258. package/dist/cli/chunks/{quality-gate-SM3RXF4V.js → quality-gate-JTKLF7GW.js} +3 -3
  259. package/dist/cli/chunks/queen-coordinator-S4U4MKK2.js +2 -0
  260. package/dist/cli/chunks/{real-embeddings-4QLQZDB5.js → real-embeddings-J3KCKLPB.js} +2 -2
  261. package/dist/cli/chunks/{ref-validation-M3EO32YQ.js → ref-validation-HNXQRP4F.js} +2 -2
  262. package/dist/cli/chunks/{roocode-installer-S6Q5OLV5.js → roocode-installer-COJ6CX6S.js} +2 -2
  263. package/dist/cli/chunks/router-CXZKOOTR.js +2 -0
  264. package/dist/cli/chunks/routing-feedback-IYFANYY5.js +2 -0
  265. package/dist/cli/chunks/{routing-handler-55FMUACP.js → routing-handler-WM33ZILE.js} +2 -2
  266. package/dist/cli/chunks/{ruvector-commands-QATKAAPK.js → ruvector-commands-BBLXEA7A.js} +2 -2
  267. package/dist/cli/chunks/rvf-dual-writer-HCLQ5WUQ.js +2 -0
  268. package/dist/cli/chunks/rvf-migration-adapter-XCLUWOO3.js +2 -0
  269. package/dist/cli/chunks/{rvf-migration-coordinator-RFXFU6JD.js → rvf-migration-coordinator-P7H6HCAG.js} +2 -2
  270. package/dist/cli/chunks/rvf-native-adapter-MRT5H3IP.js +2 -0
  271. package/dist/cli/chunks/{rvf-store-integrity-PKDVXQAW.js → rvf-store-integrity-R5SPVRFP.js} +2 -2
  272. package/dist/cli/chunks/safe-db-WFODRGVZ.js +2 -0
  273. package/dist/cli/chunks/schedule-RO55OQXG.js +2 -0
  274. package/dist/cli/chunks/scheduler-XXMJCH24.js +2 -0
  275. package/dist/cli/chunks/{security-CMRB6WA3.js → security-AUDTRX3I.js} +3 -3
  276. package/dist/cli/chunks/{shared-rvf-adapter-YHLLNFHF.js → shared-rvf-adapter-PVDGBGI2.js} +2 -2
  277. package/dist/cli/chunks/{shared-rvf-dual-writer-4BGDVPQ7.js → shared-rvf-dual-writer-LZ2GMSS2.js} +2 -2
  278. package/dist/cli/chunks/sqlite-persistence-AWRIS4MK.js +2 -0
  279. package/dist/cli/chunks/{standalone-memory-LUHKQAGM.js → standalone-memory-XNOAI4G4.js} +2 -2
  280. package/dist/cli/chunks/{status-handler-S6S5PNR7.js → status-handler-K72XZE4T.js} +2 -2
  281. package/dist/cli/chunks/{structural-health-PQ7NZAJ4.js → structural-health-NF3YY7U5.js} +2 -2
  282. package/dist/cli/chunks/{sync-S744AEJC.js → sync-UVXA6CT2.js} +2 -2
  283. package/dist/cli/chunks/{sync-Q6KRQXU6.js → sync-VBD5Y3E2.js} +2 -2
  284. package/dist/cli/chunks/{task-handler-GAMGEHUW.js → task-handler-24S3WFVJ.js} +13 -7
  285. package/dist/cli/chunks/task-handlers-GUYW2EPJ.js +9 -0
  286. package/dist/cli/chunks/{test-FNH67DBK.js → test-XFSGQELD.js} +4 -4
  287. package/dist/cli/chunks/{test-scheduling-NZA5SHK6.js → test-scheduling-VYUQ4CDE.js} +3 -3
  288. package/dist/cli/chunks/{token-bootstrap-CXKG55JD.js → token-bootstrap-EDK6FNQ3.js} +2 -2
  289. package/dist/cli/chunks/{token-usage-M7WWEDJX.js → token-usage-VLQ6WO2L.js} +2 -2
  290. package/dist/cli/chunks/{transformers-2IFMCK6A.js → transformers-TOFMWWNM.js} +2 -2
  291. package/dist/cli/chunks/{tree-sitter-wasm-parser-NMNA6RJC.js → tree-sitter-wasm-parser-MI3NZKUD.js} +2 -2
  292. package/dist/cli/chunks/{types-N7FWTOLD.js → types-JTWLBAZJ.js} +2 -2
  293. package/dist/cli/chunks/unified-memory-6JWHV6EF.js +2 -0
  294. package/dist/cli/chunks/unified-memory-hnsw-4UANU6NU.js +2 -0
  295. package/dist/cli/chunks/unified-persistence-KGGNA46H.js +2 -0
  296. package/dist/cli/chunks/{upgrade-KDB5RGL7.js → upgrade-4ABM72T4.js} +2 -2
  297. package/dist/cli/chunks/{validate-KMUV5FUA.js → validate-UDJCWKXI.js} +2 -2
  298. package/dist/cli/chunks/{validate-swarm-ANZWRCJU.js → validate-swarm-TODOUWNN.js} +2 -2
  299. package/dist/cli/chunks/visual-security-6VZNQLH7.js +2 -0
  300. package/dist/cli/chunks/{web-tree-sitter-SXXC4NMS.js → web-tree-sitter-WBMAJPM5.js} +2 -2
  301. package/dist/cli/chunks/{windsurf-installer-2LWSKMBU.js → windsurf-installer-BTT53TUL.js} +2 -2
  302. package/dist/cli/chunks/witness-chain-AKKHWEWU.js +2 -0
  303. package/dist/cli/chunks/{witness-chain-JJMSJFZP.js → witness-chain-TATPXQRK.js} +2 -2
  304. package/dist/cli/chunks/{witness-chain-repair-OX7VFW6T.js → witness-chain-repair-2HGJGE7O.js} +2 -2
  305. package/dist/cli/chunks/{witness-chain-verifier-QLSMXHAZ.js → witness-chain-verifier-FRY3LMGH.js} +2 -2
  306. package/dist/cli/chunks/{witness-key-manager-3DS4L7LE.js → witness-key-manager-X7QHQQWL.js} +2 -2
  307. package/dist/cli/chunks/{workflow-ARWAMHD3.js → workflow-QMZPAWQW.js} +4 -4
  308. package/dist/cli/chunks/workflow-orchestrator-4GAW7HNZ.js +2 -0
  309. package/dist/cli/chunks/{wrappers-J6KGTUSJ.js → wrappers-ZD5NBHYI.js} +2 -2
  310. package/dist/cli/commands/code.js +8 -0
  311. package/dist/cli/commands/daemon.js +8 -0
  312. package/dist/cli/commands/fleet.js +14 -9
  313. package/dist/cli/handlers/task-handler.js +21 -1
  314. package/dist/coordination/handlers/code-intelligence-handlers.js +14 -2
  315. package/dist/coordination/handlers/coverage-collection.js +9 -10
  316. package/dist/coordination/handlers/coverage-handlers.js +21 -3
  317. package/dist/coordination/handlers/coverage-runner.d.ts +2 -1
  318. package/dist/coordination/handlers/coverage-runner.js +9 -2
  319. package/dist/coordination/handlers/coverage-target.d.ts +13 -3
  320. package/dist/coordination/handlers/coverage-target.js +224 -7
  321. package/dist/coordination/handlers/handler-types.d.ts +2 -0
  322. package/dist/coordination/handlers/test-execution-handlers.js +32 -5
  323. package/dist/coordination/index.d.ts +2 -2
  324. package/dist/coordination/index.js +1 -1
  325. package/dist/coordination/protocols/learning-consolidation-archive.d.ts +39 -0
  326. package/dist/coordination/protocols/learning-consolidation-archive.js +57 -0
  327. package/dist/coordination/protocols/learning-consolidation.d.ts +38 -3
  328. package/dist/coordination/protocols/learning-consolidation.js +130 -58
  329. package/dist/coordination/queen-coordinator.d.ts +12 -1
  330. package/dist/coordination/queen-coordinator.js +24 -1
  331. package/dist/coordination/queen-event-handlers.js +2 -1
  332. package/dist/coordination/queen-lifecycle.js +9 -0
  333. package/dist/coordination/queen-task-management.js +113 -40
  334. package/dist/coordination/queen-types.d.ts +10 -0
  335. package/dist/coordination/queen-types.js +8 -0
  336. package/dist/coordination/task-dag/dag-algorithms.d.ts +33 -0
  337. package/dist/coordination/task-dag/dag-algorithms.js +162 -0
  338. package/dist/coordination/task-dag/dag-obligations.d.ts +21 -0
  339. package/dist/coordination/task-dag/dag-obligations.js +83 -0
  340. package/dist/coordination/task-dag/dag.d.ts +69 -19
  341. package/dist/coordination/task-dag/dag.js +215 -269
  342. package/dist/coordination/task-dag/index.d.ts +12 -4
  343. package/dist/coordination/task-dag/index.js +11 -3
  344. package/dist/coordination/task-dag/prerequisite-ledger.d.ts +84 -0
  345. package/dist/coordination/task-dag/prerequisite-ledger.js +252 -0
  346. package/dist/coordination/task-dag/scheduler.d.ts +19 -9
  347. package/dist/coordination/task-dag/scheduler.js +36 -12
  348. package/dist/coordination/task-dag/types.d.ts +160 -1
  349. package/dist/coordination/task-dag/types.js +2 -1
  350. package/dist/coordination/task-executability.d.ts +18 -0
  351. package/dist/coordination/task-executability.js +31 -0
  352. package/dist/coordination/task-executor.d.ts +1 -0
  353. package/dist/coordination/task-executor.js +5 -0
  354. package/dist/domains/code-intelligence/coordinator.js +35 -9
  355. package/dist/domains/code-intelligence/index-path-guard.d.ts +49 -0
  356. package/dist/domains/code-intelligence/index-path-guard.js +125 -0
  357. package/dist/domains/code-intelligence/interfaces.d.ts +12 -0
  358. package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +6 -0
  359. package/dist/domains/code-intelligence/services/knowledge-graph.js +42 -5
  360. package/dist/domains/contract-testing/coordinator.js +3 -1
  361. package/dist/domains/coverage-analysis/collected-metrics.js +2 -1
  362. package/dist/domains/defect-intelligence/services/defect-predictor.js +4 -2
  363. package/dist/domains/learning-optimization/active-patterns.d.ts +55 -0
  364. package/dist/domains/learning-optimization/active-patterns.js +80 -0
  365. package/dist/domains/learning-optimization/coordinator-helpers.js +2 -3
  366. package/dist/domains/learning-optimization/coordinator.d.ts +0 -3
  367. package/dist/domains/learning-optimization/coordinator.js +50 -106
  368. package/dist/domains/learning-optimization/index.d.ts +1 -1
  369. package/dist/domains/learning-optimization/interfaces.d.ts +56 -4
  370. package/dist/domains/learning-optimization/plugin.js +11 -1
  371. package/dist/domains/learning-optimization/reward-source.d.ts +37 -0
  372. package/dist/domains/learning-optimization/reward-source.js +58 -0
  373. package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +4 -4
  374. package/dist/domains/learning-optimization/services/learning-coordinator.js +68 -34
  375. package/dist/domains/learning-optimization/services/metrics-optimizer.d.ts +14 -4
  376. package/dist/domains/learning-optimization/services/metrics-optimizer.js +129 -63
  377. package/dist/domains/learning-optimization/services/transfer-specialist.js +25 -15
  378. package/dist/domains/test-execution/interfaces.d.ts +16 -0
  379. package/dist/domains/test-execution/services/retry-handler.js +18 -2
  380. package/dist/domains/test-execution/services/runner-test-cases.d.ts +21 -0
  381. package/dist/domains/test-execution/services/runner-test-cases.js +69 -0
  382. package/dist/domains/test-execution/services/test-executor.d.ts +5 -0
  383. package/dist/domains/test-execution/services/test-executor.js +24 -2
  384. package/dist/init/fleet-integration.js +2 -0
  385. package/dist/init/init-wizard-steps.js +2 -0
  386. package/dist/init/phases/06-code-intelligence.js +2 -0
  387. package/dist/init/phases/10-workers.js +2 -1
  388. package/dist/kernel/anti-drift-middleware.d.ts +44 -5
  389. package/dist/kernel/anti-drift-middleware.js +147 -11
  390. package/dist/kernel/interfaces.d.ts +5 -0
  391. package/dist/learning/dream/dream-engine.d.ts +27 -1
  392. package/dist/learning/dream/dream-engine.js +56 -2
  393. package/dist/learning/dream/dream-insights-pruner.d.ts +18 -4
  394. package/dist/learning/dream/dream-insights-pruner.js +99 -11
  395. package/dist/learning/dream/rvcow-branch-manager.d.ts +8 -0
  396. package/dist/learning/dream/rvcow-branch-manager.js +8 -0
  397. package/dist/learning/dream/speculative-dreamer.d.ts +8 -0
  398. package/dist/learning/dream/speculative-dreamer.js +8 -0
  399. package/dist/learning/skill-validation-learner.d.ts +2 -0
  400. package/dist/learning/skill-validation-learner.js +29 -21
  401. package/dist/mcp/background-workers.d.ts +15 -0
  402. package/dist/mcp/background-workers.js +77 -0
  403. package/dist/mcp/bundle.js +511 -484
  404. package/dist/mcp/entry.js +4 -49
  405. package/dist/mcp/handlers/domain-handler-configs.d.ts +14 -0
  406. package/dist/mcp/handlers/domain-handler-configs.js +68 -30
  407. package/dist/mcp/handlers/handler-factory.js +1 -0
  408. package/dist/mcp/handlers/task-handlers.js +37 -1
  409. package/dist/mcp/metrics/metrics-collector.d.ts +11 -9
  410. package/dist/mcp/metrics/metrics-collector.js +13 -26
  411. package/dist/mcp/protocol-server.js +8 -3
  412. package/dist/mcp/tools/learning-optimization/optimize.d.ts +34 -3
  413. package/dist/mcp/tools/learning-optimization/optimize.js +106 -70
  414. package/dist/memory/crdt/lww-register.js +11 -1
  415. package/dist/routing/calibration/ema-calibrator.js +3 -1
  416. package/dist/shared/base-domain-plugin.d.ts +4 -0
  417. package/dist/shared/base-domain-plugin.js +6 -0
  418. package/dist/shared/llm/cache.js +4 -1
  419. package/dist/shared/security/compliance-patterns.js +3 -1
  420. package/dist/shared/test-runner-process.d.ts +26 -0
  421. package/dist/shared/test-runner-process.js +91 -0
  422. package/dist/shared/types/index.d.ts +9 -0
  423. package/dist/shared/types/index.js +13 -0
  424. package/dist/shared/utils/namespaced-search.d.ts +42 -0
  425. package/dist/shared/utils/namespaced-search.js +53 -0
  426. package/dist/strange-loop/infra-healing/infra-action-executor.js +7 -3
  427. package/dist/strange-loop/infra-healing/infra-healing-orchestrator.js +10 -9
  428. package/dist/workers/daemon.d.ts +7 -0
  429. package/dist/workers/daemon.js +21 -2
  430. package/dist/workers/namespaced-keys.d.ts +4 -7
  431. package/dist/workers/namespaced-keys.js +4 -15
  432. package/dist/workers/quality-daemon/ci-monitor.js +9 -5
  433. package/dist/workers/worker-env.d.ts +53 -0
  434. package/dist/workers/worker-env.js +89 -0
  435. package/dist/workers/worker-manager.js +4 -0
  436. package/dist/workers/workers/learning-consolidation.d.ts +20 -0
  437. package/dist/workers/workers/learning-consolidation.js +57 -23
  438. package/package.json +1 -1
  439. package/dist/cli/chunks/adapter-PEOUNYXJ.js +0 -2
  440. package/dist/cli/chunks/aqe-learning-engine-DHKZI5RX.js +0 -2
  441. package/dist/cli/chunks/base-QZWK3D5P.js +0 -2
  442. package/dist/cli/chunks/browser-workflow-ITPX72RX.js +0 -2
  443. package/dist/cli/chunks/chunk-CG5DZCOZ.js +0 -2
  444. package/dist/cli/chunks/chunk-QJE6ZW2X.js +0 -6
  445. package/dist/cli/chunks/chunk-T3ZDVU6F.js +0 -5
  446. package/dist/cli/chunks/chunk-UIYKR2SA.js +0 -2
  447. package/dist/cli/chunks/chunk-VJRZFWR5.js +0 -2
  448. package/dist/cli/chunks/chunk-VUFRTGML.js +0 -3
  449. package/dist/cli/chunks/chunk-YDZJWDR6.js +0 -180
  450. package/dist/cli/chunks/client-S7GNYTZ5.js +0 -2
  451. package/dist/cli/chunks/core-handlers-CUEPOQIO.js +0 -2
  452. package/dist/cli/chunks/cross-domain-router-CXN5QFEV.js +0 -2
  453. package/dist/cli/chunks/daemon-3DQCKRYO.js +0 -10
  454. package/dist/cli/chunks/dream-5AUNJW24.js +0 -2
  455. package/dist/cli/chunks/file-discovery-AYWF357I.js +0 -2
  456. package/dist/cli/chunks/fleet-QX5KXTRC.js +0 -43
  457. package/dist/cli/chunks/heartbeat-scheduler-7ZIDVXIP.js +0 -2
  458. package/dist/cli/chunks/hnsw-adapter-P77OC7FM.js +0 -2
  459. package/dist/cli/chunks/hnsw-index-3LBOTQAW.js +0 -2
  460. package/dist/cli/chunks/hybrid-backend-LOM54PDD.js +0 -2
  461. package/dist/cli/chunks/impact-analyzer-QSDJVBPS.js +0 -2
  462. package/dist/cli/chunks/init-wizard-MK2325JJ.js +0 -2
  463. package/dist/cli/chunks/kernel-2NJQQ2KT.js +0 -2
  464. package/dist/cli/chunks/knowledge-graph-SDISHO62.js +0 -2
  465. package/dist/cli/chunks/llm-router-service-YTCMRBAN.js +0 -2
  466. package/dist/cli/chunks/load-test-RPKHLBCC.js +0 -2
  467. package/dist/cli/chunks/memory-backend-BZXFO4JZ.js +0 -2
  468. package/dist/cli/chunks/memory-handlers-MOFDNB6E.js +0 -2
  469. package/dist/cli/chunks/pattern-null-store-4PRPIOR6.js +0 -2
  470. package/dist/cli/chunks/project-root-NBIQF63D.js +0 -2
  471. package/dist/cli/chunks/protocol-executor-BRPGIYWQ.js +0 -2
  472. package/dist/cli/chunks/qe-reasoning-bank-GDZACWKW.js +0 -2
  473. package/dist/cli/chunks/queen-coordinator-LDKLBPD5.js +0 -2
  474. package/dist/cli/chunks/router-H5YSIRH2.js +0 -2
  475. package/dist/cli/chunks/routing-feedback-5R36TJDH.js +0 -2
  476. package/dist/cli/chunks/rvf-dual-writer-TT2DBQQQ.js +0 -2
  477. package/dist/cli/chunks/rvf-migration-adapter-BCLFJKSK.js +0 -2
  478. package/dist/cli/chunks/rvf-native-adapter-UXI66OQJ.js +0 -2
  479. package/dist/cli/chunks/safe-db-MSTD2GDH.js +0 -2
  480. package/dist/cli/chunks/schedule-KST6KIFD.js +0 -2
  481. package/dist/cli/chunks/scheduler-FTQS6YK3.js +0 -2
  482. package/dist/cli/chunks/sqlite-persistence-ZX5QFDMR.js +0 -2
  483. package/dist/cli/chunks/task-handlers-6CRDEELN.js +0 -9
  484. package/dist/cli/chunks/unified-memory-2Z2F446J.js +0 -2
  485. package/dist/cli/chunks/unified-memory-hnsw-A4EWYPJQ.js +0 -2
  486. package/dist/cli/chunks/unified-persistence-Z6N6JZFA.js +0 -2
  487. package/dist/cli/chunks/visual-security-GXYZV7KR.js +0 -2
  488. package/dist/cli/chunks/witness-chain-52PEIEGK.js +0 -2
  489. package/dist/cli/chunks/workflow-orchestrator-DORMQMG7.js +0 -2
package/dist/mcp/entry.js CHANGED
@@ -25,6 +25,7 @@ import { initFeatureFlagsFromEnv } from '../integrations/ruvector/feature-flags.
25
25
  import { resetSharedRvfAdapter } from '../integrations/ruvector/shared-rvf-adapter.js';
26
26
  import { resetSharedRvfDualWriter } from '../integrations/ruvector/shared-rvf-dual-writer.js';
27
27
  import { claimProcessLifecycle, closeRegisteredStores } from '../kernel/process-lifecycle.js';
28
+ import { startBackgroundWorkers } from './background-workers.js';
28
29
  import { readFileSync } from 'node:fs';
29
30
  import { resolve, dirname } from 'node:path';
30
31
  import { fileURLToPath } from 'node:url';
@@ -330,55 +331,9 @@ async function main() {
330
331
  originalStderrWrite(`[MCP] WARNING: ReasoningBank prewarm failed: ${rbErr instanceof Error ? rbErr.message : 'unknown'}\n`);
331
332
  }
332
333
  })();
333
- // IMP-10: Start background workers (heartbeat scheduler, etc.). In
334
- // database-free mode they run against the in-memory unified store, so they
335
- // persist nothing to disk while keeping QualityDaemon/health functional.
336
- try {
337
- const { getDaemon } = await import('../workers/daemon.js');
338
- // ADR-001 Bug A fix: use the canonical getDaemon() default. Passing
339
- // `{ autoStart: false }` here would neuter workerManager.startAll() —
340
- // the only call path that schedules per-worker setInterval timers, so
341
- // workers would register but never tick. DEFAULT_CONFIG.autoStart=true
342
- // (workers/daemon.ts) is the contracted default; matches the
343
- // shutdownDaemon() call site above.
344
- const daemon = getDaemon();
345
- await daemon.start();
346
- const status = daemon.getStatus();
347
- originalStderrWrite(`[MCP] Background workers started (${status.workerManager.totalWorkers} workers)\n`);
348
- // IMP-10: Start QualityDaemon with persistent memory (Finding 1 & 2 resolution)
349
- try {
350
- const { UnifiedMemoryManager } = await import('../kernel/unified-memory.js');
351
- const { PersistentWorkerMemory } = await import('../workers/quality-daemon/persistent-memory.js');
352
- const { isPrivateIp } = await import('../hooks/security/ssrf-guard.js');
353
- const unifiedMemory = await UnifiedMemoryManager.getInstanceAsync();
354
- const persistentMemory = new PersistentWorkerMemory(unifiedMemory);
355
- const qualityDaemon = daemon.getQualityDaemon({
356
- notifications: {
357
- // IMP-07 SSRF guard: block private IPs in webhook URLs (Finding 5)
358
- urlValidator: (url) => {
359
- try {
360
- const parsed = new URL(url);
361
- const hostname = parsed.hostname.replace(/^\[|\]$/g, '');
362
- return !isPrivateIp(hostname);
363
- }
364
- catch {
365
- return false;
366
- }
367
- },
368
- },
369
- });
370
- await qualityDaemon.start(persistentMemory);
371
- originalStderrWrite(`[MCP] Quality daemon started\n`);
372
- }
373
- catch (qdError) {
374
- originalStderrWrite(`[MCP] WARNING: Quality daemon failed to start: ${qdError}\n`);
375
- // Non-fatal — MCP continues without quality daemon
376
- }
377
- }
378
- catch (daemonError) {
379
- originalStderrWrite(`[MCP] WARNING: Background workers failed to start: ${daemonError}\n`);
380
- // Non-fatal — MCP server continues without background workers
381
- }
334
+ // IMP-10: Start background workers (heartbeat scheduler, etc.) and the
335
+ // QualityDaemon. #1061: AQE_WORKERS_ENABLED=false skips both.
336
+ await startBackgroundWorkers(originalStderrWrite);
382
337
  // Start HTTP server for AG-UI/A2A/A2UI if port is specified
383
338
  const httpPort = parseInt(process.env.AQE_HTTP_PORT || '0', 10);
384
339
  if (httpPort > 0) {
@@ -26,9 +26,14 @@ export interface TestExecuteResult {
26
26
  coverage?: number | null;
27
27
  workerStats?: Record<string, unknown>;
28
28
  retryStats?: Record<string, unknown>;
29
+ /** #1110: per-test entries from the runner report; absent when it listed none. */
29
30
  results?: unknown[];
30
31
  summary?: Record<string, unknown>;
31
32
  learning?: Record<string, unknown>;
33
+ /** #1110: output fields left out because nothing measured them. */
34
+ unmeasured?: string[];
35
+ /** #1110: why each unmeasured field has no value. */
36
+ unmeasuredReasons?: Record<string, string>;
32
37
  savedFiles?: string[];
33
38
  /** #933: true when result files were written; see savedFiles for their paths. */
34
39
  resultsSaved?: boolean;
@@ -235,6 +240,15 @@ export interface CodeIndexResult {
235
240
  tests: number;
236
241
  toolsUsed: string[];
237
242
  };
243
+ /**
244
+ * #1096: discovered paths that were not indexed (missing, not a regular
245
+ * file, outside the project root, filtered out), with the reason. Absent
246
+ * when every discovered file was indexed.
247
+ */
248
+ skipped?: Array<{
249
+ path: string;
250
+ reason: string;
251
+ }>;
238
252
  savedFiles?: string[];
239
253
  /** #933: true when result files were written; see savedFiles for their paths. */
240
254
  resultsSaved?: boolean;
@@ -190,7 +190,7 @@ export const testExecuteConfig = {
190
190
  testSuites: params.testSuites || [],
191
191
  parallel: params.parallel !== false,
192
192
  parallelism: params.parallelism || 4,
193
- retryCount: params.retryCount || 3,
193
+ retryCount: params.retryCount ?? 3,
194
194
  timeout: params.timeout || 60000,
195
195
  collectCoverage: params.collectCoverage || false,
196
196
  reportFormat: params.reportFormat || 'json',
@@ -199,48 +199,83 @@ export const testExecuteConfig = {
199
199
  compiledContext: routingResult?.compiledContext,
200
200
  }),
201
201
  calculateTimeout: (params) => params.timeout || 300000,
202
- mapToResult: (taskId, data, duration, savedFiles, params) => {
202
+ mapToResult: (taskId, data, duration, savedFiles) => {
203
203
  const total = data.total || 0;
204
204
  const passed = data.passed || 0;
205
205
  const failed = data.failed || 0;
206
206
  // #1027 N5: no measured coverage → null, never a hardcoded 0.
207
207
  const coverage = typeof data.coverage === 'number' && Number.isFinite(data.coverage) ? data.coverage : null;
208
- const parallelism = params?.parallelism || 4;
209
- const realRetryStats = MetricsCollector.getRetryStats();
210
- const workersUsed = MetricsCollector.getWorkersUsed();
211
- const workerStats = {
212
- workersUsed: workersUsed > 0 ? workersUsed : Math.min(parallelism, total || 1),
213
- efficiency: MetricsCollector.getWorkerEfficiency(),
214
- loadBalance: MetricsCollector.getLoadBalanceScore(),
215
- avgExecutionTime: duration / Math.max(total, 1),
216
- };
217
- const retryStats = {
218
- totalRetries: realRetryStats.totalRetries,
219
- successfulRetries: realRetryStats.successfulRetries,
220
- maxRetriesReached: realRetryStats.maxRetriesReached,
208
+ // #1110: report only what was measured. A figure with no measurement is
209
+ // left out and named in `unmeasured`, never filled with a baseline.
210
+ const unmeasured = [];
211
+ const unmeasuredReasons = {};
212
+ const markUnmeasured = (field, reason) => {
213
+ unmeasured.push(field);
214
+ unmeasuredReasons[field] = reason;
221
215
  };
222
- const learning = generateV2LearningFeedback('test-executor');
216
+ // Per-test results come from the runner's own report, or are left out.
217
+ const testCases = Array.isArray(data.testCases)
218
+ ? data.testCases
219
+ : undefined;
220
+ const results = testCases?.map(testCase => ({ id: generateTestId(), ...testCase }));
221
+ if (!results) {
222
+ markUnmeasured('results', 'The test runner report did not list every test case, so per-test results are omitted.');
223
+ }
224
+ // The average test time is the mean of the runner-reported per-test
225
+ // durations. The task's wall time (`duration`) includes runner start-up and
226
+ // skipped tests, so dividing it by `total` would contradict `results`.
227
+ const testDurations = (testCases ?? [])
228
+ .map(testCase => testCase.duration)
229
+ .filter((d) => typeof d === 'number' && Number.isFinite(d));
230
+ const avgTestDuration = testDurations.length > 0
231
+ ? testDurations.reduce((sum, d) => sum + d, 0) / testDurations.length
232
+ : undefined;
233
+ if (avgTestDuration === undefined) {
234
+ const reason = 'The runner reported no per-test durations; the task wall time is in `duration`.';
235
+ markUnmeasured('workerStats.avgExecutionTime', reason);
236
+ markUnmeasured('summary.avgDuration', reason);
237
+ }
238
+ const workerStats = avgTestDuration !== undefined
239
+ ? { avgExecutionTime: avgTestDuration }
240
+ : {};
241
+ const noWorkerData = 'No worker tasks were recorded by the metrics collector for this process.';
242
+ const workersUsed = MetricsCollector.getWorkersUsed();
243
+ if (workersUsed > 0)
244
+ workerStats.workersUsed = workersUsed;
245
+ else
246
+ markUnmeasured('workerStats.workersUsed', noWorkerData);
247
+ const efficiency = MetricsCollector.getWorkerEfficiency();
248
+ if (efficiency !== null)
249
+ workerStats.efficiency = efficiency;
250
+ else
251
+ markUnmeasured('workerStats.efficiency', noWorkerData);
252
+ const loadBalance = MetricsCollector.getLoadBalanceScore();
253
+ if (loadBalance !== null)
254
+ workerStats.loadBalance = loadBalance;
255
+ else
256
+ markUnmeasured('workerStats.loadBalance', noWorkerData);
257
+ let retryStats;
258
+ if (MetricsCollector.getRecordedTaskCount() > 0) {
259
+ retryStats = { ...MetricsCollector.getRetryStats() };
260
+ }
261
+ else {
262
+ markUnmeasured('retryStats', noWorkerData);
263
+ }
264
+ // No `learning` block: the run's experience is recorded asynchronously by
265
+ // the learning-optimization plugin from TestRunCompleted, so this response
266
+ // cannot name its id or confirm that it was written (#1110).
223
267
  return {
224
268
  // V2-compatible fields
225
269
  workerStats,
226
- retryStats,
227
- results: (() => {
228
- const testDurations = MetricsCollector.getTestDurations(total);
229
- return Array.from({ length: total }, (_, i) => ({
230
- id: generateTestId(),
231
- name: `test_case_${i}`,
232
- status: i < passed ? 'passed' : 'failed',
233
- duration: testDurations[i] || 200,
234
- retries: 0,
235
- }));
236
- })(),
270
+ ...(retryStats ? { retryStats } : {}),
271
+ ...(results ? { results } : {}),
237
272
  summary: {
238
273
  totalTests: total,
239
274
  passRate: total > 0 ? (passed / total) * 100 : 0,
240
- avgDuration: duration / Math.max(total, 1),
241
- parallelEfficiency: workerStats.efficiency,
275
+ ...(avgTestDuration !== undefined ? { avgDuration: avgTestDuration } : {}),
276
+ ...(efficiency !== null ? { parallelEfficiency: efficiency } : {}),
242
277
  },
243
- learning,
278
+ ...(unmeasured.length > 0 ? { unmeasured, unmeasuredReasons } : {}),
244
279
  // V3 fields
245
280
  taskId,
246
281
  status: 'completed',
@@ -759,6 +794,9 @@ export const codeIndexConfig = {
759
794
  symbolsExtracted: data.symbolsExtracted || 0,
760
795
  relationsFound: data.relationsFound || 0,
761
796
  ...(data.projectMetrics ? { projectMetrics: data.projectMetrics } : {}),
797
+ ...(Array.isArray(data.skipped) && data.skipped.length > 0
798
+ ? { skipped: data.skipped }
799
+ : {}),
762
800
  duration,
763
801
  savedFiles,
764
802
  }),
@@ -623,6 +623,7 @@ export function createDomainHandler(config) {
623
623
  const timeout = calculateTimeout?.(params) ?? defaultTimeout;
624
624
  const submitResult = await queen.submitTask({
625
625
  type: taskType,
626
+ executionOwner: 'caller',
626
627
  priority,
627
628
  targetDomains: [domain],
628
629
  payload,
@@ -10,7 +10,8 @@ import { getTaskRouter, } from '../services/task-router.js';
10
10
  import { getReasoningBankService, startTaskTrajectory, endTaskTrajectory, } from '../services/reasoning-bank-service.js';
11
11
  import { scoreUnjudgedTrajectories } from './trajectory-judge.js';
12
12
  import { toErrorMessage } from '../../shared/error-utils.js';
13
- import { ALL_DOMAINS, isDomainName } from '../../shared/types/index.js';
13
+ import { ALL_DOMAINS, invalidPriorityMessage, isDomainName, isPriority } from '../../shared/types/index.js';
14
+ import { validateIndexPaths, validateIndexTaskPayload } from '../../domains/code-intelligence/index-path-guard.js';
14
15
  // ============================================================================
15
16
  // Task Type to Workflow Mapping (Issue #206)
16
17
  // Maps TaskTypes to their associated workflow IDs for auto-execution
@@ -43,7 +44,24 @@ export async function handleTaskSubmit(params) {
43
44
  error: `Unknown domain: ${unknown.join(', ')}. Valid domains: ${ALL_DOMAINS.join(', ')}`,
44
45
  };
45
46
  }
47
+ // #1108: reject a priority outside the allowed set. Parity with
48
+ // `aqe task submit --priority`.
49
+ if (params.priority !== undefined && !isPriority(params.priority)) {
50
+ return { success: false, error: invalidPriorityMessage(params.priority) };
51
+ }
46
52
  const { queen } = getFleetState();
53
+ // #1075: reject a type that no domain plugin executes. Accepting it would
54
+ // leave the task running forever and hold one of the Queen's slots.
55
+ const executable = queen.validateTaskExecutable(params.type, targetDomains);
56
+ if (!executable.success) {
57
+ return { success: false, error: executable.error.message };
58
+ }
59
+ // #1096: reject a malformed index path list here rather than deep inside
60
+ // indexing. Same order of checks as `aqe task submit`.
61
+ const payloadError = validateIndexTaskPayload(params.type, params.payload);
62
+ if (payloadError) {
63
+ return { success: false, error: payloadError.message };
64
+ }
47
65
  try {
48
66
  const result = await queen.submitTask({
49
67
  type: params.type,
@@ -220,6 +238,14 @@ export async function handleTaskOrchestrate(params) {
220
238
  error: 'Fleet not initialized. Call fleet_init first.',
221
239
  };
222
240
  }
241
+ // #1096: filePaths feeds task payloads (sourceFiles, index paths), so a
242
+ // non-array value is rejected up front with a clear message.
243
+ if (params.filePaths !== undefined) {
244
+ const filePaths = validateIndexPaths(params.filePaths, 'filePaths', 'Invalid task_orchestrate params');
245
+ if (!filePaths.success) {
246
+ return { success: false, error: filePaths.error.message };
247
+ }
248
+ }
223
249
  const { queen, workflowOrchestrator } = getFleetState();
224
250
  try {
225
251
  // ADR-051: Route task to optimal model tier BEFORE execution
@@ -332,6 +358,16 @@ export async function handleTaskOrchestrate(params) {
332
358
  };
333
359
  }
334
360
  // No workflow - submit as a regular task
361
+ // #1081: the inferred type must have a domain handler. Otherwise the Queen
362
+ // can only fail the task at dispatch, so reject it here with the reason.
363
+ const executable = queen.validateTaskExecutable(taskType);
364
+ if (!executable.success) {
365
+ return {
366
+ success: false,
367
+ error: `${executable.error.message}. task_orchestrate inferred '${taskType}' from the description; ` +
368
+ 'use task_submit with a supported type and its payload, or the domain\'s MCP tool.',
369
+ };
370
+ }
335
371
  // Issue N2: Build domain-appropriate payload.
336
372
  // Forward caller-provided filePaths/codeContext into the payload fields
337
373
  // that domain plugins expect, so generate-tests doesn't reject with
@@ -109,13 +109,20 @@ declare class MetricsCollectorImpl {
109
109
  successRate: number;
110
110
  };
111
111
  /**
112
- * Get worker efficiency based on actual throughput
112
+ * Number of completed tasks in the sliding window. Zero means the retry and
113
+ * worker figures below describe nothing that was measured (#1110).
113
114
  */
114
- getWorkerEfficiency(): number;
115
+ getRecordedTaskCount(): number;
115
116
  /**
116
- * Get load balance score based on actual distribution
117
+ * Get worker efficiency based on actual throughput.
118
+ * Returns null when no task has been recorded: there is nothing to measure (#1110).
117
119
  */
118
- getLoadBalanceScore(): number;
120
+ getWorkerEfficiency(): number | null;
121
+ /**
122
+ * Get load balance score based on actual distribution.
123
+ * Returns null when no worker has been recorded (#1110).
124
+ */
125
+ getLoadBalanceScore(): number | null;
119
126
  /**
120
127
  * Get retry statistics
121
128
  */
@@ -132,11 +139,6 @@ declare class MetricsCollectorImpl {
132
139
  * Get number of workers used (with active or completed tasks)
133
140
  */
134
141
  getWorkersUsed(): number;
135
- /**
136
- * Generate individual test result durations based on actual execution
137
- * Uses the sliding window of real task durations
138
- */
139
- getTestDurations(count: number): number[];
140
142
  /**
141
143
  * Record a successful retry for tracking
142
144
  */
@@ -165,11 +165,19 @@ class MetricsCollectorImpl {
165
165
  };
166
166
  }
167
167
  /**
168
- * Get worker efficiency based on actual throughput
168
+ * Number of completed tasks in the sliding window. Zero means the retry and
169
+ * worker figures below describe nothing that was measured (#1110).
170
+ */
171
+ getRecordedTaskCount() {
172
+ return this.taskMetrics.length;
173
+ }
174
+ /**
175
+ * Get worker efficiency based on actual throughput.
176
+ * Returns null when no task has been recorded: there is nothing to measure (#1110).
169
177
  */
170
178
  getWorkerEfficiency() {
171
179
  if (this.taskMetrics.length === 0) {
172
- return 0.85; // Default baseline
180
+ return null;
173
181
  }
174
182
  // Calculate efficiency based on:
175
183
  // - Success rate
@@ -185,11 +193,12 @@ class MetricsCollectorImpl {
185
193
  return Math.min(1.0, Math.max(0, efficiency));
186
194
  }
187
195
  /**
188
- * Get load balance score based on actual distribution
196
+ * Get load balance score based on actual distribution.
197
+ * Returns null when no worker has been recorded (#1110).
189
198
  */
190
199
  getLoadBalanceScore() {
191
200
  if (this.workerLoads.size === 0) {
192
- return 0.9; // Default baseline
201
+ return null;
193
202
  }
194
203
  const loads = Array.from(this.workerLoads.values()).map((w) => w.completedTaskCount);
195
204
  if (loads.length <= 1) {
@@ -243,28 +252,6 @@ class MetricsCollectorImpl {
243
252
  getWorkersUsed() {
244
253
  return this.workerLoads.size;
245
254
  }
246
- /**
247
- * Generate individual test result durations based on actual execution
248
- * Uses the sliding window of real task durations
249
- */
250
- getTestDurations(count) {
251
- const durations = [];
252
- if (this.taskMetrics.length === 0) {
253
- // No real data - return reasonable estimates based on typical test times
254
- for (let i = 0; i < count; i++) {
255
- durations.push(100 + i * 10); // Start at 100ms, increment by 10ms
256
- }
257
- return durations;
258
- }
259
- // Use real durations from the sliding window
260
- const realDurations = this.taskMetrics.map((t) => t.durationMs || 200).sort((a, b) => a - b);
261
- for (let i = 0; i < count; i++) {
262
- // Sample from real durations with wrapping
263
- const index = i % realDurations.length;
264
- durations.push(Math.round(realDurations[index]));
265
- }
266
- return durations;
267
- }
268
255
  /**
269
256
  * Record a successful retry for tracking
270
257
  */
@@ -1491,7 +1491,11 @@ export class MCPProtocolServer {
1491
1491
  ],
1492
1492
  },
1493
1493
  handler: async (params) => {
1494
- const { execFileSync } = await import('child_process');
1494
+ // #1074: run the advisor CLI asynchronously; a synchronous call would
1495
+ // stop the server answering every other request for up to 60s.
1496
+ const { execFile } = await import('child_process');
1497
+ const { promisify } = await import('util');
1498
+ const execFileAsync = promisify(execFile);
1495
1499
  const { writeFileSync, unlinkSync, mkdirSync } = await import('fs');
1496
1500
  const { join } = await import('path');
1497
1501
  const { tmpdir } = await import('os');
@@ -1531,15 +1535,16 @@ export class MCPProtocolServer {
1531
1535
  // Resolve aqe binary with fallback to npx (MCP server may not have aqe on PATH)
1532
1536
  let aqeBin = 'aqe';
1533
1537
  try {
1534
- execFileSync('which', ['aqe'], { encoding: 'utf-8' });
1538
+ await execFileAsync('which', ['aqe'], { encoding: 'utf-8' });
1535
1539
  }
1536
1540
  catch {
1537
1541
  aqeBin = 'npx';
1538
1542
  cliArgs.unshift('aqe');
1539
1543
  }
1540
- const result = execFileSync(aqeBin, cliArgs, {
1544
+ const { stdout: result } = await execFileAsync(aqeBin, cliArgs, {
1541
1545
  encoding: 'utf-8',
1542
1546
  timeout: 60000,
1547
+ maxBuffer: 1024 * 1024,
1543
1548
  env: process.env,
1544
1549
  });
1545
1550
  try {
@@ -31,6 +31,7 @@ export interface OptimizationObjective {
31
31
  }
32
32
  export interface LearningOptimizeResult {
33
33
  action: string;
34
+ evidenceStatus?: 'insufficient-evidence';
34
35
  learnResult?: LearnResult;
35
36
  optimizeResult?: OptimizeResult;
36
37
  transferResult?: TransferResult;
@@ -39,9 +40,16 @@ export interface LearningOptimizeResult {
39
40
  }
40
41
  export interface LearnResult {
41
42
  experiencesProcessed: number;
43
+ /** #1109: experiences with a measured outcome; patterns are learned from these only. */
44
+ measuredExperiences?: number;
45
+ /** #1109: experiences recorded with an assigned reward, excluded from every rate. */
46
+ assignedRewardsExcluded?: number;
47
+ evidenceStatus?: 'insufficient-evidence';
42
48
  patternsLearned: number;
43
49
  newPatterns: LearnedPattern[];
44
- improvement: number;
50
+ /** No baseline is recorded to compare against, so improvement is not measured (#1109). */
51
+ improvement: number | null;
52
+ unmeasured?: string[];
45
53
  }
46
54
  export interface LearnedPattern {
47
55
  id: string;
@@ -53,6 +61,20 @@ export interface LearnedPattern {
53
61
  successRate: number;
54
62
  }
55
63
  export interface OptimizeResult {
64
+ inputSource: 'recorded-experiences';
65
+ experiencesUsed: number;
66
+ /** #1109: recorded experiences left out because their reward was assigned. */
67
+ assignedRewardsExcluded?: number;
68
+ evidenceStatus?: 'insufficient-evidence';
69
+ unmeasured?: string[];
70
+ /** Figures that were modelled, not observed (#1099). */
71
+ estimated?: string[];
72
+ /** How improvement and confidence were derived, when optimization ran. */
73
+ evaluation?: {
74
+ method: 'held-out';
75
+ trainingSamples: number;
76
+ heldOutSamples: number;
77
+ };
56
78
  strategiesEvaluated: number;
57
79
  bestStrategy: Strategy;
58
80
  improvement: number;
@@ -87,11 +109,19 @@ export interface PatternResult {
87
109
  sona?: SONASnapshot;
88
110
  }
89
111
  export interface DashboardResult {
90
- overallLearningRate: number;
112
+ /** Average success rate of patterns with measured rates; null when there are none. */
113
+ overallLearningRate: number | null;
91
114
  totalPatterns: number;
92
115
  totalKnowledge: number;
93
116
  experiencesLast24h: number;
117
+ /** #1109: last-24h experiences excluded from rankings because their reward was assigned. */
118
+ assignedRewardsExcluded?: number;
119
+ /** #1109: stored patterns excluded because they were learned from assigned rewards. */
120
+ assignedPatternsExcluded?: number;
121
+ /** Ranked by measured success rate; empty when no domain has a measured outcome. */
94
122
  topPerformingDomains: DomainName[];
123
+ evidenceStatus?: 'insufficient-evidence';
124
+ unmeasured?: string[];
95
125
  learningTrend: TrendPoint[];
96
126
  recentMilestones: Milestone[];
97
127
  /** Read-only persisted SONA visibility when an initialized fleet is available. */
@@ -108,7 +138,8 @@ export interface TrendPoint {
108
138
  }
109
139
  export interface Milestone {
110
140
  name: string;
111
- achievedAt: string;
141
+ /** When the milestone was first reached; null because that moment is not recorded (#1109). */
142
+ achievedAt: string | null;
112
143
  domain: DomainName;
113
144
  }
114
145
  export declare class LearningOptimizeTool extends MCPToolBase<LearningOptimizeParams, LearningOptimizeResult> {