agentic-qe 3.10.1 → 3.10.3

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 (412) hide show
  1. package/.claude/hooks/README.txt +17 -0
  2. package/.claude/hooks/aqe-hook.cjs +98 -0
  3. package/.claude/hooks/cross-phase-memory.yaml +296 -0
  4. package/.claude/hooks/post-task-sync.sh +113 -0
  5. package/.claude/hooks/v3-domain-workers.json +121 -0
  6. package/.claude/skills/release/SKILL.md +10 -10
  7. package/.claude/skills/skills-manifest.json +1 -1
  8. package/CHANGELOG.md +131 -0
  9. package/assets/grammars/tree-sitter-c_sharp.wasm +0 -0
  10. package/assets/grammars/tree-sitter-java.wasm +0 -0
  11. package/assets/grammars/tree-sitter-javascript.wasm +0 -0
  12. package/assets/grammars/tree-sitter-python.wasm +0 -0
  13. package/assets/grammars/tree-sitter-rust.wasm +0 -0
  14. package/assets/grammars/tree-sitter-swift.wasm +0 -0
  15. package/assets/grammars/tree-sitter-tsx.wasm +0 -0
  16. package/assets/grammars/tree-sitter-typescript.wasm +0 -0
  17. package/assets/skills/skills-manifest.json +1 -1
  18. package/dist/agents/claim-verifier/claim-verifier-service.js +4 -2
  19. package/dist/agents/claim-verifier/verifiers/test-verifier.js +31 -23
  20. package/dist/agents/devils-advocate/agent.js +1 -1
  21. package/dist/cli/bundle.js +5 -5
  22. package/dist/cli/chunks/adapter-BHPUKMJ5.js +2 -0
  23. package/dist/cli/chunks/{agent-booster-wasm-FZLWOPSX.js → agent-booster-wasm-NGC6LSQP.js} +2 -2
  24. package/dist/cli/chunks/{agent-handler-KAGRVCKS.js → agent-handler-P2IJE4GK.js} +2 -2
  25. package/dist/cli/chunks/{agent-memory-branch-JJKFEXQW.js → agent-memory-branch-JXRJ5GKQ.js} +2 -2
  26. package/dist/cli/chunks/aqe-learning-engine-JQ5WD2HM.js +2 -0
  27. package/dist/cli/chunks/{audit-DN5SY4JJ.js → audit-BMQ3VESB.js} +2 -2
  28. package/dist/cli/chunks/base-E32WLGY2.js +2 -0
  29. package/dist/cli/chunks/{hnswlib-node-YX6OOBN6.js → better-sqlite3-HP4JZS6K.js} +2 -2
  30. package/dist/cli/chunks/{brain-handler-O7MP5BGY.js → brain-handler-SACNDFSW.js} +3 -3
  31. package/dist/cli/chunks/{branch-enumerator-ZPTN5J6V.js → branch-enumerator-LFOTVUDA.js} +2 -2
  32. package/dist/cli/chunks/{browser-PAZE2JSD.js → browser-FK7PRF3W.js} +2 -2
  33. package/dist/cli/chunks/browser-workflow-LNNXXAJG.js +2 -0
  34. package/dist/cli/chunks/{chunk-BF7MUYWC.js → chunk-2EQVYYBF.js} +2 -2
  35. package/dist/cli/chunks/{chunk-BGBSYF3K.js → chunk-2L73WXA4.js} +2 -2
  36. package/dist/cli/chunks/{chunk-W2DT3CDE.js → chunk-2ULVCLOW.js} +2 -2
  37. package/dist/cli/chunks/{chunk-FJSR2U65.js → chunk-3HBWDG62.js} +2 -2
  38. package/dist/cli/chunks/{chunk-WPNZSL4S.js → chunk-3JAOFKEU.js} +2 -2
  39. package/dist/cli/chunks/{chunk-2TDWCXZ6.js → chunk-3LRK7PYN.js} +2 -2
  40. package/dist/cli/chunks/{chunk-MVGVD6LS.js → chunk-3RZL4QTT.js} +2 -2
  41. package/dist/cli/chunks/chunk-3VF3HCG4.js +2 -0
  42. package/dist/cli/chunks/{chunk-6E7GI2UB.js → chunk-3X2ZQ55B.js} +4 -4
  43. package/dist/cli/chunks/{chunk-6QFONVEE.js → chunk-4CYLSXA6.js} +2 -2
  44. package/dist/cli/chunks/{chunk-VOIWDPIU.js → chunk-4OUAHZX2.js} +2 -2
  45. package/dist/cli/chunks/{chunk-EIROAH6N.js → chunk-4QFAUSWQ.js} +2 -2
  46. package/dist/cli/chunks/{chunk-ZEMXMDD3.js → chunk-5ER3COX3.js} +2 -2
  47. package/dist/cli/chunks/{chunk-ECPB7IAH.js → chunk-5EWWA4QP.js} +4 -4
  48. package/dist/cli/chunks/{chunk-AUVC3DDB.js → chunk-5G5AAEFF.js} +2 -2
  49. package/dist/cli/chunks/{chunk-RRLQFFCO.js → chunk-5IBJURYB.js} +3 -3
  50. package/dist/cli/chunks/chunk-5LON3MLI.js +2 -0
  51. package/dist/cli/chunks/{chunk-WMG5F6R6.js → chunk-5SGEOO2F.js} +2 -2
  52. package/dist/cli/chunks/{chunk-SQBB2DC6.js → chunk-6B4S7PKP.js} +3 -3
  53. package/dist/cli/chunks/{chunk-H44WD7QX.js → chunk-6FL3GN4T.js} +2 -2
  54. package/dist/cli/chunks/{chunk-7MSYTHZM.js → chunk-6GCOIIHY.js} +2 -2
  55. package/dist/cli/chunks/{chunk-KKNBYXYA.js → chunk-6Q2PPOOF.js} +1 -1
  56. package/dist/cli/chunks/{chunk-K4T3RDCB.js → chunk-6ZK24V2Y.js} +2 -2
  57. package/dist/cli/chunks/{chunk-G3BQU3Q6.js → chunk-72LE6PHL.js} +3 -3
  58. package/dist/cli/chunks/{chunk-F3OVFA6W.js → chunk-7RMZAVGO.js} +2 -2
  59. package/dist/cli/chunks/{chunk-YYWIA5FX.js → chunk-7SEHQTYD.js} +1 -1
  60. package/dist/cli/chunks/{chunk-UU2Q6XWF.js → chunk-7YYTTWGY.js} +1 -1
  61. package/dist/cli/chunks/{chunk-XKOKMS5A.js → chunk-7ZSPCGTI.js} +2 -2
  62. package/dist/cli/chunks/{chunk-RWYW573C.js → chunk-ADV4DH3W.js} +5 -5
  63. package/dist/cli/chunks/{chunk-OC3OJWLB.js → chunk-AEJVOJPT.js} +2 -2
  64. package/dist/cli/chunks/{chunk-2UN4DOBJ.js → chunk-B5MMDMH6.js} +2 -2
  65. package/dist/cli/chunks/{chunk-WQEZKAUR.js → chunk-BO2OV2RH.js} +2 -2
  66. package/dist/cli/chunks/{chunk-NPSBMDVU.js → chunk-BT3QLWII.js} +2 -2
  67. package/dist/cli/chunks/{chunk-6VQ5MFJ6.js → chunk-BWP3UVPE.js} +7 -7
  68. package/dist/cli/chunks/{chunk-SLNGJW4G.js → chunk-C6BBRM2J.js} +1 -1
  69. package/dist/cli/chunks/{chunk-4AWJ5PE4.js → chunk-CAMEFWRK.js} +1 -1
  70. package/dist/cli/chunks/{chunk-BECU52UY.js → chunk-CNEWYJKT.js} +4 -4
  71. package/dist/cli/chunks/{chunk-EO4B5GS4.js → chunk-CTDO2UB2.js} +1 -1
  72. package/dist/cli/chunks/{chunk-GTGONWGX.js → chunk-D2FBUOAR.js} +1 -1
  73. package/dist/cli/chunks/{chunk-OQP5OFRR.js → chunk-DF3MJ2YL.js} +1 -1
  74. package/dist/cli/chunks/{chunk-KEC5FBAW.js → chunk-DY5KEOHX.js} +1 -1
  75. package/dist/cli/chunks/{chunk-EBQ6YKP2.js → chunk-E2BJT6A7.js} +3 -3
  76. package/dist/cli/chunks/{chunk-WDTCCPK4.js → chunk-EETVN2OJ.js} +1 -1
  77. package/dist/cli/chunks/{chunk-UDVX34ZG.js → chunk-ERYMAYJW.js} +20 -17
  78. package/dist/cli/chunks/{chunk-ELUERFGA.js → chunk-FJGSEPFL.js} +2 -2
  79. package/dist/cli/chunks/{chunk-BN7ERYXI.js → chunk-FLTPHVZ3.js} +1 -1
  80. package/dist/cli/chunks/{chunk-OVENSL64.js → chunk-FND6V2RV.js} +22 -22
  81. package/dist/cli/chunks/{chunk-5ZCVMR5E.js → chunk-FU77CDEM.js} +2 -2
  82. package/dist/cli/chunks/{chunk-VKRMVTWU.js → chunk-GELF4ILR.js} +37 -37
  83. package/dist/cli/chunks/{chunk-H22MMMYY.js → chunk-GHNNJHH3.js} +2 -2
  84. package/dist/cli/chunks/{chunk-32R7EA7B.js → chunk-GJUGSH7T.js} +3 -3
  85. package/dist/cli/chunks/{chunk-HPNEZ7YN.js → chunk-GL3HZN3O.js} +1 -1
  86. package/dist/cli/chunks/{chunk-WL2J6ECN.js → chunk-H56AROF2.js} +2 -2
  87. package/dist/cli/chunks/{chunk-GTRXZJNX.js → chunk-HAO3SPOE.js} +2 -2
  88. package/dist/cli/chunks/{chunk-PUXDXIUE.js → chunk-HM523MTQ.js} +1 -1
  89. package/dist/cli/chunks/{chunk-KRXKU54J.js → chunk-HMFEPKAR.js} +2 -2
  90. package/dist/cli/chunks/{chunk-3YOPJ7DY.js → chunk-HQJMCTWN.js} +2 -2
  91. package/dist/cli/chunks/{chunk-LF7URN2X.js → chunk-HRLXU4LH.js} +2 -2
  92. package/dist/cli/chunks/{chunk-TL5F2S3Z.js → chunk-HWM2XJ3P.js} +24 -24
  93. package/dist/cli/chunks/{chunk-6A2NIR2E.js → chunk-I42R57ON.js} +2 -2
  94. package/dist/cli/chunks/chunk-IL2KOW5W.js +2 -0
  95. package/dist/cli/chunks/{chunk-CR4ERDS2.js → chunk-IRR7YA3Q.js} +2 -2
  96. package/dist/cli/chunks/{chunk-Y2DPXMOR.js → chunk-JD2PG4KS.js} +1 -1
  97. package/dist/cli/chunks/{chunk-TFNLXAK5.js → chunk-JE3C7JYN.js} +1 -1
  98. package/dist/cli/chunks/{chunk-ZTMWJQTZ.js → chunk-JLL27IGU.js} +2 -2
  99. package/dist/cli/chunks/{chunk-YPOTBXPU.js → chunk-JOLDCS6X.js} +2 -2
  100. package/dist/cli/chunks/chunk-JP63XACW.js +62 -0
  101. package/dist/cli/chunks/{chunk-AABKTWXC.js → chunk-JSFYPLMQ.js} +2 -2
  102. package/dist/cli/chunks/{chunk-KCTH5MHE.js → chunk-JTF6D2RJ.js} +4 -4
  103. package/dist/cli/chunks/{chunk-GRG3OP34.js → chunk-JTZ3Q2QS.js} +2 -2
  104. package/dist/cli/chunks/chunk-JXIPRMAY.js +95 -0
  105. package/dist/cli/chunks/{chunk-TNGGVMPQ.js → chunk-KG5SM36Y.js} +1 -1
  106. package/dist/cli/chunks/{chunk-QNW335PD.js → chunk-KTRB3L53.js} +2 -2
  107. package/dist/cli/chunks/{chunk-XRK7FBTY.js → chunk-L74CHKFR.js} +2 -2
  108. package/dist/cli/chunks/{chunk-IHDUWPFY.js → chunk-LZ6TNTGO.js} +2 -2
  109. package/dist/cli/chunks/{chunk-Y357YFLF.js → chunk-M5CDW2ZH.js} +2 -2
  110. package/dist/cli/chunks/{chunk-GRYXNWPF.js → chunk-MBSJ5G4I.js} +12 -12
  111. package/dist/cli/chunks/{chunk-IPRDHKSI.js → chunk-MC7K44M4.js} +2 -2
  112. package/dist/cli/chunks/{chunk-TP77PNN6.js → chunk-MQOFFRTA.js} +2 -2
  113. package/dist/cli/chunks/{chunk-JLKHPIQF.js → chunk-N7IBYDW5.js} +1 -1
  114. package/dist/cli/chunks/{chunk-G5DTENO3.js → chunk-NEYYLAYS.js} +5 -5
  115. package/dist/cli/chunks/{chunk-TNVYKYTO.js → chunk-NNVXHC74.js} +3 -3
  116. package/dist/cli/chunks/{chunk-HRDGN3OK.js → chunk-NNZMEYLT.js} +1 -1
  117. package/dist/cli/chunks/{chunk-25QGPRWN.js → chunk-NRCL3WCP.js} +2 -2
  118. package/dist/cli/chunks/{chunk-NRLT44YB.js → chunk-NXPFGPHV.js} +1 -1
  119. package/dist/cli/chunks/{chunk-PXFQSVA2.js → chunk-NZHOKLII.js} +3 -3
  120. package/dist/cli/chunks/{chunk-7SQD2TTQ.js → chunk-OG7CWWFR.js} +1 -1
  121. package/dist/cli/chunks/{chunk-XGUQYVJR.js → chunk-OPDTDKN3.js} +2 -2
  122. package/dist/cli/chunks/{chunk-2KTRRSKD.js → chunk-OX4R55T3.js} +2 -2
  123. package/dist/cli/chunks/{chunk-COZDJLIL.js → chunk-PFCAMX6H.js} +1 -1
  124. package/dist/cli/chunks/{chunk-UDFLR7GR.js → chunk-PL5SLO2W.js} +1 -1
  125. package/dist/cli/chunks/{chunk-6ZRMQXVL.js → chunk-PZHZPX3O.js} +4 -4
  126. package/dist/cli/chunks/{chunk-57NJQV57.js → chunk-Q7EBD24B.js} +1 -1
  127. package/dist/cli/chunks/{chunk-6D57DWQ6.js → chunk-QEODION5.js} +2 -2
  128. package/dist/cli/chunks/{chunk-K22TPWOJ.js → chunk-QM65UGPV.js} +2 -2
  129. package/dist/cli/chunks/{chunk-2ETDES5W.js → chunk-QWG76RHA.js} +2 -2
  130. package/dist/cli/chunks/{chunk-GXJ4BCGC.js → chunk-R5ONQAQL.js} +2 -2
  131. package/dist/cli/chunks/{chunk-KZJXVIAW.js → chunk-RNF47IJ5.js} +4 -4
  132. package/dist/cli/chunks/{chunk-IK6AJX3C.js → chunk-RTDHWOAG.js} +1 -1
  133. package/dist/cli/chunks/{chunk-NQZYUH6S.js → chunk-RZCAA2PZ.js} +1 -1
  134. package/dist/cli/chunks/{chunk-DQIS6J77.js → chunk-SL6YZAT4.js} +2 -2
  135. package/dist/cli/chunks/{chunk-RPL6K623.js → chunk-SNTMAVPH.js} +5 -5
  136. package/dist/cli/chunks/{chunk-MQYTW2IN.js → chunk-SWOG3PBD.js} +2 -2
  137. package/dist/cli/chunks/{chunk-DMIYWPQQ.js → chunk-T63EK6GH.js} +2 -2
  138. package/dist/cli/chunks/chunk-U6UK3UMX.js +59 -0
  139. package/dist/cli/chunks/{chunk-2S4XHK26.js → chunk-U7NMPZE2.js} +2 -2
  140. package/dist/cli/chunks/{chunk-WS4XVJHI.js → chunk-UDV4YB42.js} +1 -1
  141. package/dist/cli/chunks/{chunk-P7T5Y735.js → chunk-UHDBM7QS.js} +2 -2
  142. package/dist/cli/chunks/{chunk-5EU2VQK3.js → chunk-UIJFU4KD.js} +2 -2
  143. package/dist/cli/chunks/{chunk-Q24OJX44.js → chunk-USFZ4IJD.js} +2 -2
  144. package/dist/cli/chunks/{chunk-Q5VHBI4U.js → chunk-UZL366ZI.js} +1 -1
  145. package/dist/cli/chunks/{chunk-GMKGLZJU.js → chunk-VDTFRMES.js} +2 -2
  146. package/dist/cli/chunks/{chunk-EUJHHXE6.js → chunk-VIWIO27R.js} +3 -3
  147. package/dist/cli/chunks/{chunk-PLRSKAFZ.js → chunk-VRXY4T22.js} +2 -2
  148. package/dist/cli/chunks/{chunk-NDCPEXDN.js → chunk-WPVCSFDA.js} +2 -2
  149. package/dist/cli/chunks/{chunk-TX7SNQKL.js → chunk-WWD5IWTV.js} +1 -1
  150. package/dist/cli/chunks/{chunk-T3UXMPXX.js → chunk-X2B7SANM.js} +1 -1
  151. package/dist/cli/chunks/{chunk-7CKVAYP3.js → chunk-X3RJ6SFC.js} +1 -1
  152. package/dist/cli/chunks/{chunk-6LRCMFLV.js → chunk-XTP2GHI7.js} +2 -2
  153. package/dist/cli/chunks/{chunk-W6ZF2CPN.js → chunk-YDDZJCKY.js} +1 -1
  154. package/dist/cli/chunks/{chunk-5KFCH7RH.js → chunk-YDKYLNKZ.js} +1 -1
  155. package/dist/cli/chunks/{chunk-ELZ67OHQ.js → chunk-YIYV2JB6.js} +2 -2
  156. package/dist/cli/chunks/{chunk-PW6MOFXG.js → chunk-YX2HY4MX.js} +2 -2
  157. package/dist/cli/chunks/{chunk-DVOH75S4.js → chunk-YXH2CVAF.js} +1 -1
  158. package/dist/cli/chunks/{chunk-IITKJCPK.js → chunk-YYAPO3CU.js} +3 -3
  159. package/dist/cli/chunks/{chunk-5OTYBWRL.js → chunk-Z2K5IZM6.js} +2 -2
  160. package/dist/cli/chunks/{chunk-NOCYYXK4.js → chunk-ZG4P3DTL.js} +2 -2
  161. package/dist/cli/chunks/{chunk-YGRTMAWB.js → chunk-ZXQNE4QV.js} +1 -1
  162. package/dist/cli/chunks/{ci-EHRUN7O6.js → ci-AWZ3S5OT.js} +6 -6
  163. package/dist/cli/chunks/{ci-output-EXDXVXKB.js → ci-output-JLCYTIMT.js} +2 -2
  164. package/dist/cli/chunks/{circuit-breaker-LM4QRAAL.js → circuit-breaker-BJDKBDIL.js} +2 -2
  165. package/dist/cli/chunks/{claude-flow-setup-ZHUCZVW7.js → claude-flow-setup-KKOP5ZMO.js} +2 -2
  166. package/dist/cli/chunks/client-2UKBYFX4.js +2 -0
  167. package/dist/cli/chunks/{cline-installer-WMFLQOW2.js → cline-installer-7M525SEA.js} +2 -2
  168. package/dist/cli/chunks/{code-L7KRLU5E.js → code-27SUVJDO.js} +20 -19
  169. package/dist/cli/chunks/{code-index-extractor-FTMUYQC6.js → code-index-extractor-TTQQZLAK.js} +2 -2
  170. package/dist/cli/chunks/{codex-installer-B3F6WI3Z.js → codex-installer-GHNGNPKP.js} +2 -2
  171. package/dist/cli/chunks/{completions-3JZQRNB6.js → completions-JPJD24DG.js} +2 -2
  172. package/dist/cli/chunks/{complexity-analyzer-LB2FFEKX.js → complexity-analyzer-Q74EJV33.js} +2 -2
  173. package/dist/cli/chunks/{continuedev-installer-WH6IMV7R.js → continuedev-installer-ULTRDIML.js} +2 -2
  174. package/dist/cli/chunks/{copilot-installer-NOIEOFJM.js → copilot-installer-EK52X4CG.js} +2 -2
  175. package/dist/cli/chunks/{cost-tracker-IKX2VYSA.js → cost-tracker-2GKBRYXL.js} +2 -2
  176. package/dist/cli/chunks/{coverage-TD37CYSY.js → coverage-YCLC3W2A.js} +3 -3
  177. package/dist/cli/chunks/cross-domain-router-FPM3L27L.js +2 -0
  178. package/dist/cli/chunks/{cursor-installer-4NSVGRM5.js → cursor-installer-B3ALFW5E.js} +2 -2
  179. package/dist/cli/chunks/{daemon-UWEBUIDT.js → daemon-YWINEHG4.js} +4 -4
  180. package/dist/cli/chunks/{daemon-LYDV7NRW.js → daemon-ZKEBVLJA.js} +3 -3
  181. package/dist/cli/chunks/{dag-attention-scheduler-NECJGCHC.js → dag-attention-scheduler-OQPJ6ULA.js} +2 -2
  182. package/dist/cli/chunks/{detect-4XGC7ILO.js → detect-YMYIQH3Q.js} +2 -2
  183. package/dist/cli/chunks/{dist-node-GGJDXRKJ.js → dist-node-R4FAYQRY.js} +2 -2
  184. package/dist/cli/chunks/{domain-handler-UOFONAUT.js → domain-handler-IGWXLF2S.js} +2 -2
  185. package/dist/cli/chunks/{domain-transfer-6JLNOYPA.js → domain-transfer-A7YNO76C.js} +2 -2
  186. package/dist/cli/chunks/dream-XM33US3V.js +2 -0
  187. package/dist/cli/chunks/{embed-and-insert-pattern-ZM75DQ4J.js → embed-and-insert-pattern-KODZAS7Y.js} +2 -2
  188. package/dist/cli/chunks/{eval-CYZJTHEB.js → eval-ALQW7Q2S.js} +3 -3
  189. package/dist/cli/chunks/{experience-capture-middleware-RBOJLDUB.js → experience-capture-middleware-3WK4RXWK.js} +3 -3
  190. package/dist/cli/chunks/{fast-paths-S5BWZR3L.js → fast-paths-PQWDFIJZ.js} +2 -2
  191. package/dist/cli/chunks/{feature-flags-DUNQPDU3.js → feature-flags-6X33B3WX.js} +2 -2
  192. package/dist/cli/chunks/{feature-flags-6E7H3NYP.js → feature-flags-JRUAZCND.js} +2 -2
  193. package/dist/cli/chunks/{file-discovery-PFFKDGYG.js → file-discovery-SA3YU3IH.js} +2 -2
  194. package/dist/cli/chunks/{fleet-RCDZZFXN.js → fleet-7TXCAOKQ.js} +3 -3
  195. package/dist/cli/chunks/{gnn-wrapper-5AG3WDWF.js → gnn-wrapper-ZKNYACEC.js} +2 -2
  196. package/dist/cli/chunks/{heartbeat-handler-O2KAEX4Y.js → heartbeat-handler-KRZRZ23F.js} +4 -4
  197. package/dist/cli/chunks/heartbeat-scheduler-GM3M2MTG.js +2 -0
  198. package/dist/cli/chunks/hnsw-adapter-K62GEHIL.js +2 -0
  199. package/dist/cli/chunks/hnsw-index-VCAK3TWN.js +2 -0
  200. package/dist/cli/chunks/{hnsw-legacy-bridge-C7FG6YGW.js → hnsw-legacy-bridge-LVHQ5SG7.js} +2 -2
  201. package/dist/cli/chunks/{better-sqlite3-XGPW4HK5.js → hnswlib-node-64EGGWIC.js} +2 -2
  202. package/dist/cli/chunks/{hooks-FUHNE2P7.js → hooks-6Y3UHYI2.js} +14 -14
  203. package/dist/cli/chunks/hybrid-router-432QNCNG.js +2 -0
  204. package/dist/cli/chunks/{hypergraph-engine-LQRYBNPV.js → hypergraph-engine-2EZBZMFK.js} +2 -2
  205. package/dist/cli/chunks/{hypergraph-handler-AFFNLZVD.js → hypergraph-handler-GLPWYII2.js} +3 -3
  206. package/dist/cli/chunks/impact-analyzer-VTSISNN4.js +2 -0
  207. package/dist/cli/chunks/{init-handler-BQ6IDBX4.js → init-handler-ZSDO5VMA.js} +6 -6
  208. package/dist/cli/chunks/init-wizard-COB5AH7Q.js +2 -0
  209. package/dist/cli/chunks/kernel-ROK7X5FM.js +2 -0
  210. package/dist/cli/chunks/{kilocode-installer-KS72HUSG.js → kilocode-installer-ATYSDWIV.js} +2 -2
  211. package/dist/cli/chunks/{kiro-installer-2ZEFLGRX.js → kiro-installer-K66YT6PC.js} +2 -2
  212. package/dist/cli/chunks/knowledge-graph-YUWIDIWW.js +2 -0
  213. package/dist/cli/chunks/{learning-GGHGJ6B6.js → learning-BVYCC4RI.js} +3 -3
  214. package/dist/cli/chunks/{llm-router-LP6K5BJF.js → llm-router-VBCXE6DN.js} +12 -12
  215. package/dist/cli/chunks/llm-router-service-7VLXJ7VE.js +2 -0
  216. package/dist/cli/chunks/{load-2MLKXOT2.js → load-AREDQE2U.js} +2 -2
  217. package/dist/cli/chunks/load-test-32524DL3.js +2 -0
  218. package/dist/cli/chunks/{mcp-CDJBJG5H.js → mcp-NG6H6UC5.js} +2 -2
  219. package/dist/cli/chunks/{memory-4LAX7JZS.js → memory-Y65EHG6N.js} +5 -5
  220. package/dist/cli/chunks/memory-backend-BI2V5AAB.js +2 -0
  221. package/dist/cli/chunks/memory-handlers-NSOFWVFN.js +2 -0
  222. package/dist/cli/chunks/{multi-model-executor-SLJV73HE.js → multi-model-executor-VRPRFUZT.js} +2 -2
  223. package/dist/cli/chunks/{opencode-installer-M76SONWV.js → opencode-installer-CKQXPM5R.js} +3 -3
  224. package/dist/cli/chunks/{orchestrator-TJPUDJMP.js → orchestrator-I7JBKD6G.js} +19 -19
  225. package/dist/cli/chunks/{pipeline-2PVNFT6J.js → pipeline-MV2RWCBI.js} +2 -2
  226. package/dist/cli/chunks/{platform-KCSEDKEE.js → platform-VU5P3SOG.js} +2 -2
  227. package/dist/cli/chunks/{plugin-QX47QF5U.js → plugin-6TERLKCB.js} +2 -2
  228. package/dist/cli/chunks/{prime-radiant-advanced-wasm-L6VWL7VR.js → prime-radiant-advanced-wasm-WIUIN2DL.js} +2 -2
  229. package/dist/cli/chunks/protocol-executor-2UPB7SPI.js +2 -0
  230. package/dist/cli/chunks/{protocol-handler-WDNJDEUE.js → protocol-handler-HKWBGARO.js} +2 -2
  231. package/dist/cli/chunks/{prove-3B75DA3S.js → prove-7CQPHBRJ.js} +2 -2
  232. package/dist/cli/chunks/provider-manager-PDT37MIJ.js +2 -0
  233. package/dist/cli/chunks/qe-reasoning-bank-AQQ2BI4V.js +2 -0
  234. package/dist/cli/chunks/{quality-UGASS5WM.js → quality-VLUVXKVG.js} +2 -2
  235. package/dist/cli/chunks/queen-coordinator-6DVDVEU4.js +2 -0
  236. package/dist/cli/chunks/{real-embeddings-COBP2LHS.js → real-embeddings-JPZ64KK2.js} +2 -2
  237. package/dist/cli/chunks/{roocode-installer-TOZ4VLFT.js → roocode-installer-NONVB3UE.js} +2 -2
  238. package/dist/cli/chunks/router-O2G4KQ6L.js +2 -0
  239. package/dist/cli/chunks/routing-feedback-TAGTD3KQ.js +2 -0
  240. package/dist/cli/chunks/{routing-handler-5TDVSILX.js → routing-handler-YYXDT4J2.js} +2 -2
  241. package/dist/cli/chunks/{ruvector-commands-AM63KWQN.js → ruvector-commands-5PFMNDLR.js} +2 -2
  242. package/dist/cli/chunks/{rvf-dual-writer-UANIFE2M.js → rvf-dual-writer-TF6H7AXH.js} +2 -2
  243. package/dist/cli/chunks/{rvf-migration-adapter-LNPYWAPI.js → rvf-migration-adapter-VNGIUZCO.js} +2 -2
  244. package/dist/cli/chunks/{rvf-migration-coordinator-U47L63DQ.js → rvf-migration-coordinator-VA52YAIY.js} +2 -2
  245. package/dist/cli/chunks/rvf-native-adapter-46GRWQJR.js +2 -0
  246. package/dist/cli/chunks/safe-db-LNIPXXHH.js +2 -0
  247. package/dist/cli/chunks/schedule-AUH3ZALY.js +2 -0
  248. package/dist/cli/chunks/scheduler-KK3OYPWW.js +2 -0
  249. package/dist/cli/chunks/{security-KDQ2AH7G.js → security-62HEETBF.js} +3 -3
  250. package/dist/cli/chunks/{shared-rvf-adapter-5MAGLLYJ.js → shared-rvf-adapter-XWTQPGCT.js} +2 -2
  251. package/dist/cli/chunks/{shared-rvf-dual-writer-GF2OPPM5.js → shared-rvf-dual-writer-JTZK7LRD.js} +2 -2
  252. package/dist/cli/chunks/sqlite-persistence-CYESP7NG.js +2 -0
  253. package/dist/cli/chunks/{status-handler-XZKEL7LO.js → status-handler-LSUPUKRF.js} +2 -2
  254. package/dist/cli/chunks/{structural-health-27QKWW25.js → structural-health-Z75A666N.js} +2 -2
  255. package/dist/cli/chunks/{sync-INNKS6UK.js → sync-M3O4T3A3.js} +2 -2
  256. package/dist/cli/chunks/{sync-V3HGPEJT.js → sync-VI37UHHH.js} +2 -2
  257. package/dist/cli/chunks/{task-handler-LDUVOM6G.js → task-handler-AQBSZAQC.js} +2 -2
  258. package/dist/cli/chunks/{task-handlers-HTCPV7OO.js → task-handlers-BOZP247V.js} +3 -3
  259. package/dist/cli/chunks/{test-PCUVGVJL.js → test-FTEGPNN2.js} +4 -4
  260. package/dist/cli/chunks/{test-scheduling-GYVXWCAA.js → test-scheduling-IGR4U2VQ.js} +4 -4
  261. package/dist/cli/chunks/{token-bootstrap-MJ2ANC4P.js → token-bootstrap-2DFRVMBM.js} +2 -2
  262. package/dist/cli/chunks/{token-usage-ZREHROTF.js → token-usage-VCHV47EO.js} +3 -3
  263. package/dist/cli/chunks/{transformers-6B3FWFYL.js → transformers-M27QSNFH.js} +2 -2
  264. package/dist/cli/chunks/tree-sitter-wasm-parser-IIGEJYFU.js +2 -0
  265. package/dist/cli/chunks/{types-MVZTJI2F.js → types-RQFPUUKA.js} +2 -2
  266. package/dist/cli/chunks/unified-memory-RISHEANP.js +2 -0
  267. package/dist/cli/chunks/unified-memory-hnsw-2IKXGMNZ.js +2 -0
  268. package/dist/cli/chunks/unified-persistence-ZTTUJNTU.js +2 -0
  269. package/dist/cli/chunks/{upgrade-MKTFEILD.js → upgrade-VJMYX3AL.js} +2 -2
  270. package/dist/cli/chunks/{validate-IABGALSW.js → validate-ML7HUAU5.js} +4 -4
  271. package/dist/cli/chunks/{validate-swarm-RHF53RF6.js → validate-swarm-RCR6EYRC.js} +7 -7
  272. package/dist/cli/chunks/{vibium-RAKW6FMF.js → vibium-ZOOS3W5L.js} +2 -2
  273. package/dist/cli/chunks/visual-security-D66DTAO5.js +2 -0
  274. package/dist/cli/chunks/{web-tree-sitter-PYK7F4JZ.js → web-tree-sitter-2YPGYLWK.js} +2 -2
  275. package/dist/cli/chunks/{windsurf-installer-S3U2HWZ4.js → windsurf-installer-GOJWUWC5.js} +2 -2
  276. package/dist/cli/chunks/{witness-chain-435NKQLB.js → witness-chain-3MGSS3Q4.js} +2 -2
  277. package/dist/cli/chunks/witness-chain-RHWHHDLV.js +2 -0
  278. package/dist/cli/chunks/{workflow-5UHJCZ6J.js → workflow-B5Q77BI4.js} +4 -4
  279. package/dist/cli/chunks/workflow-orchestrator-OQMFW2TC.js +2 -0
  280. package/dist/cli/chunks/{wrappers-RD3NCMLK.js → wrappers-MM5VLEPG.js} +2 -2
  281. package/dist/cli/commands/code.js +6 -0
  282. package/dist/cli/commands/hooks-handlers/command-hooks.js +1 -1
  283. package/dist/cli/commands/hooks-handlers/routing-hooks.js +1 -1
  284. package/dist/cli/commands/hooks-handlers/task-hooks.js +1 -1
  285. package/dist/cli/commands/learning.js +5 -5
  286. package/dist/cli/commands/llm-router.js +1 -1
  287. package/dist/cli/commands/workflow.js +1 -0
  288. package/dist/coordination/consensus/providers/native-learning-provider.d.ts +1 -1
  289. package/dist/coordination/consensus/providers/ollama-provider.d.ts +1 -1
  290. package/dist/coordination/consensus/providers/openrouter-provider.d.ts +1 -1
  291. package/dist/coordination/handlers/code-intelligence-handlers.js +6 -0
  292. package/dist/coordination/mincut/neural-goap.js +24 -20
  293. package/dist/coordination/protocols/code-intelligence-index.js +31 -25
  294. package/dist/coordination/queen-coordinator.js +4 -0
  295. package/dist/coordination/queen-work-stealing.js +1 -2
  296. package/dist/domains/chaos-resilience/coordinator.js +19 -15
  297. package/dist/domains/chaos-resilience/services/chaos-engineer.js +5 -2
  298. package/dist/domains/chaos-resilience/services/load-tester.js +15 -11
  299. package/dist/domains/code-intelligence/interfaces.d.ts +5 -0
  300. package/dist/domains/code-intelligence/services/c4-model/index.js +12 -6
  301. package/dist/domains/code-intelligence/services/impact-analyzer.js +6 -2
  302. package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +42 -0
  303. package/dist/domains/code-intelligence/services/knowledge-graph.js +278 -93
  304. package/dist/domains/code-intelligence/services/semantic-analyzer.js +8 -2
  305. package/dist/domains/contract-testing/coordinator.js +1 -1
  306. package/dist/domains/coverage-analysis/coordinator.js +4 -2
  307. package/dist/domains/learning-optimization/coordinator.js +1 -0
  308. package/dist/domains/quality-assessment/coherence/gate-controller.js +32 -26
  309. package/dist/domains/requirements-validation/coordinator.js +1 -0
  310. package/dist/domains/test-execution/services/e2e/wait-condition-handler.js +1 -1
  311. package/dist/domains/test-execution/services/retry-handler.js +18 -12
  312. package/dist/domains/test-generation/coordinator.js +1 -1
  313. package/dist/domains/test-generation/services/pattern-matcher.js +7 -5
  314. package/dist/domains/test-generation/services/test-generator.js +3 -2
  315. package/dist/domains/visual-accessibility/coordinator.js +24 -20
  316. package/dist/index.d.ts +2 -2
  317. package/dist/index.js +2 -2
  318. package/dist/init/init-wizard-hooks.js +271 -271
  319. package/dist/init/phases/07-hooks.d.ts +7 -0
  320. package/dist/init/phases/07-hooks.js +132 -96
  321. package/dist/init/phases/12-verification.js +3 -3
  322. package/dist/integrations/agentic-flow/model-router/router.js +1 -1
  323. package/dist/integrations/embeddings/base/EmbeddingGenerator.js +11 -7
  324. package/dist/integrations/ruvector/hypergraph-engine.js +2 -2
  325. package/dist/integrations/ruvector/spectral-math.js +2 -2
  326. package/dist/integrations/ruvector/spectral-sparsifier.js +1 -1
  327. package/dist/kernel/kernel.js +1 -1
  328. package/dist/kernel/unified-memory-hnsw.js +1 -0
  329. package/dist/learning/agent-routing.d.ts +19 -0
  330. package/dist/learning/agent-routing.js +27 -1
  331. package/dist/learning/dream/dream-scheduler.d.ts +11 -36
  332. package/dist/learning/dream/dream-scheduler.js +44 -0
  333. package/dist/learning/experience-capture.js +1 -1
  334. package/dist/learning/experience-consolidation.d.ts +16 -0
  335. package/dist/learning/experience-consolidation.js +55 -11
  336. package/dist/learning/pattern-lifecycle.d.ts +21 -0
  337. package/dist/learning/pattern-lifecycle.js +70 -6
  338. package/dist/learning/qe-reasoning-bank.js +9 -1
  339. package/dist/learning/qe-unified-memory.js +8 -6
  340. package/dist/mcp/bundle.js +371 -368
  341. package/dist/mcp/handlers/core-handlers.js +2 -2
  342. package/dist/mcp/handlers/cross-phase-handlers.js +5 -3
  343. package/dist/mcp/handlers/handler-factory.d.ts +5 -0
  344. package/dist/mcp/handlers/handler-factory.js +44 -4
  345. package/dist/mcp/http-server.js +1 -0
  346. package/dist/mcp/protocol-server.js +15 -16
  347. package/dist/mcp/tools/code-intelligence/analyze.js +1 -1
  348. package/dist/mcp/tools/learning-optimization/optimize.js +1 -1
  349. package/dist/mcp/tools/qx-analysis/heuristics-engine.js +195 -173
  350. package/dist/mcp/tools/visual-accessibility/index.js +1 -1
  351. package/dist/mcp/transport/stdio.d.ts +20 -0
  352. package/dist/mcp/transport/stdio.js +35 -2
  353. package/dist/mcp/transport/websocket/websocket-transport.js +1 -0
  354. package/dist/optimization/auto-tuner.js +1 -1
  355. package/dist/planning/goap-planner.js +1 -0
  356. package/dist/routing/agent-dependency-graph.js +4 -1
  357. package/dist/shared/llm/router/config-store.js +1 -1
  358. package/dist/shared/metrics/system-metrics.js +6 -4
  359. package/dist/shared/parsers/tree-sitter-wasm-parser.d.ts +12 -0
  360. package/dist/shared/parsers/tree-sitter-wasm-parser.js +35 -0
  361. package/dist/shared/parsers/treesitter-ts-extractor.d.ts +39 -0
  362. package/dist/shared/parsers/treesitter-ts-extractor.js +196 -0
  363. package/dist/shared/utils/rabitq.d.ts +133 -0
  364. package/dist/shared/utils/rabitq.js +201 -0
  365. package/dist/shared/utils/safe-expression-evaluator.js +8 -5
  366. package/dist/sync/cloud/postgres-writer.js +2 -0
  367. package/dist/sync/readers/json-reader.js +1 -1
  368. package/dist/test-scheduling/git-aware/test-selector.js +1 -1
  369. package/dist/workers/quality-daemon/index.js +26 -24
  370. package/package.json +12 -5
  371. package/dist/cli/chunks/adapter-3JS2CN7C.js +0 -2
  372. package/dist/cli/chunks/aqe-learning-engine-Q4GFNGU6.js +0 -2
  373. package/dist/cli/chunks/base-Q3MAL22Y.js +0 -2
  374. package/dist/cli/chunks/browser-workflow-JX3M2UWG.js +0 -2
  375. package/dist/cli/chunks/chunk-622MIAOR.js +0 -59
  376. package/dist/cli/chunks/chunk-CKECJH2A.js +0 -2
  377. package/dist/cli/chunks/chunk-IJ4BUSJN.js +0 -95
  378. package/dist/cli/chunks/chunk-VPCE5CIT.js +0 -2
  379. package/dist/cli/chunks/chunk-WO7KYT3X.js +0 -62
  380. package/dist/cli/chunks/client-PA3UJIHH.js +0 -2
  381. package/dist/cli/chunks/cross-domain-router-BVJRP2ZX.js +0 -2
  382. package/dist/cli/chunks/dream-BXZUEIW2.js +0 -2
  383. package/dist/cli/chunks/heartbeat-scheduler-LEKAWFJF.js +0 -2
  384. package/dist/cli/chunks/hnsw-adapter-2TCEG5M2.js +0 -2
  385. package/dist/cli/chunks/hnsw-index-VDPUTEES.js +0 -2
  386. package/dist/cli/chunks/hybrid-router-2EMDIYIG.js +0 -2
  387. package/dist/cli/chunks/impact-analyzer-HFD6CPWC.js +0 -2
  388. package/dist/cli/chunks/init-wizard-552QIVRC.js +0 -2
  389. package/dist/cli/chunks/kernel-5DN6O6EE.js +0 -2
  390. package/dist/cli/chunks/knowledge-graph-76Y77MB6.js +0 -2
  391. package/dist/cli/chunks/llm-router-service-4O6GCEFH.js +0 -2
  392. package/dist/cli/chunks/load-test-FCI2IWRJ.js +0 -2
  393. package/dist/cli/chunks/memory-backend-MKNCBNDE.js +0 -2
  394. package/dist/cli/chunks/memory-handlers-OBAFR4WV.js +0 -2
  395. package/dist/cli/chunks/protocol-executor-IA7WNT23.js +0 -2
  396. package/dist/cli/chunks/provider-manager-3K5KB5A6.js +0 -2
  397. package/dist/cli/chunks/qe-reasoning-bank-V5Z3BBYY.js +0 -2
  398. package/dist/cli/chunks/queen-coordinator-QOMPA27Z.js +0 -2
  399. package/dist/cli/chunks/router-P5RZUPC4.js +0 -2
  400. package/dist/cli/chunks/routing-feedback-3PS3OZQC.js +0 -2
  401. package/dist/cli/chunks/rvf-native-adapter-TT7OJPKM.js +0 -2
  402. package/dist/cli/chunks/safe-db-PEW7VBAE.js +0 -2
  403. package/dist/cli/chunks/schedule-QHOTHBQE.js +0 -2
  404. package/dist/cli/chunks/scheduler-KXJBYTRT.js +0 -2
  405. package/dist/cli/chunks/sqlite-persistence-TPXJK34J.js +0 -2
  406. package/dist/cli/chunks/tree-sitter-wasm-parser-JVV234MN.js +0 -2
  407. package/dist/cli/chunks/unified-memory-ROS2NKR5.js +0 -2
  408. package/dist/cli/chunks/unified-memory-hnsw-FLEUF3XO.js +0 -2
  409. package/dist/cli/chunks/unified-persistence-QC5L7UNQ.js +0 -2
  410. package/dist/cli/chunks/visual-security-NLIOUQCR.js +0 -2
  411. package/dist/cli/chunks/witness-chain-U7X6JX5J.js +0 -2
  412. package/dist/cli/chunks/workflow-orchestrator-APE6BAXH.js +0 -2
@@ -76,7 +76,7 @@ export declare function getCodeOllamaModels(): OllamaModel[];
76
76
  export declare class OllamaModelProvider extends BaseModelProvider {
77
77
  readonly id: string;
78
78
  readonly name: string;
79
- readonly type: 'ollama';
79
+ readonly type: "ollama";
80
80
  protected costPerToken: {
81
81
  input: number;
82
82
  output: number;
@@ -76,7 +76,7 @@ export declare function getCostOptimizedModels(): OpenRouterModel[];
76
76
  export declare class OpenRouterModelProvider extends BaseModelProvider {
77
77
  readonly id: string;
78
78
  readonly name: string;
79
- readonly type: 'openrouter';
79
+ readonly type: "openrouter";
80
80
  protected costPerToken: {
81
81
  input: number;
82
82
  output: number;
@@ -67,11 +67,17 @@ export function registerCodeIntelligenceHandlers(ctx) {
67
67
  filesIndexed: indexResult.filesIndexed,
68
68
  nodesCreated: indexResult.nodesCreated,
69
69
  edgesCreated: indexResult.edgesCreated,
70
+ // MCP CodeIndexResult reports symbols/relations; map them from the KG's
71
+ // node/edge counts so `code_index` doesn't always report 0 (#511 MCP
72
+ // parity — the result mapper reads these exact field names).
73
+ symbolsExtracted: indexResult.nodesCreated,
74
+ relationsFound: indexResult.edgesCreated,
70
75
  target: targetPath,
71
76
  incremental: payload.incremental || false,
72
77
  languages: Array.from(detectedLanguages),
73
78
  duration: indexResult.duration,
74
79
  errors: indexResult.errors,
80
+ warnings: indexResult.warnings,
75
81
  });
76
82
  }
77
83
  catch (error) {
@@ -881,14 +881,16 @@ export class GOAPController {
881
881
  return { success: true, newState: action.simulate(state) };
882
882
  case 'terminate_agent':
883
883
  // Find and remove least connected agent
884
- const weakVertices = this.calculator.findWeakVertices(this.graph);
885
- if (weakVertices.length > 0) {
886
- const weakestAgent = weakVertices.find((v) => v.vertex.type === 'agent');
887
- if (weakestAgent) {
888
- this.graph.removeVertex(weakestAgent.vertexId);
884
+ {
885
+ const weakVertices = this.calculator.findWeakVertices(this.graph);
886
+ if (weakVertices.length > 0) {
887
+ const weakestAgent = weakVertices.find((v) => v.vertex.type === 'agent');
888
+ if (weakestAgent) {
889
+ this.graph.removeVertex(weakestAgent.vertexId);
890
+ }
889
891
  }
892
+ return { success: true, newState: action.simulate(state) };
890
893
  }
891
- return { success: true, newState: action.simulate(state) };
892
894
  case 'heal_topology':
893
895
  // Delegate to Strange Loop
894
896
  if (this.strangeLoop && this.strangeLoop.isRunning()) {
@@ -897,22 +899,24 @@ export class GOAPController {
897
899
  return { success: true, newState: action.simulate(state) };
898
900
  case 'rebalance_load':
899
901
  // Reinforce edges between agents
900
- const agents = this.graph.getVerticesByType('agent');
901
- if (agents.length >= 2) {
902
- const sorted = agents.sort((a, b) => this.graph.weightedDegree(a.id) - this.graph.weightedDegree(b.id));
903
- const weak = sorted[0];
904
- const strong = sorted[sorted.length - 1];
905
- if (!this.graph.hasEdge(weak.id, strong.id)) {
906
- this.graph.addEdge({
907
- source: weak.id,
908
- target: strong.id,
909
- weight: 0.5,
910
- type: 'coordination',
911
- bidirectional: true,
912
- });
902
+ {
903
+ const agents = this.graph.getVerticesByType('agent');
904
+ if (agents.length >= 2) {
905
+ const sorted = agents.sort((a, b) => this.graph.weightedDegree(a.id) - this.graph.weightedDegree(b.id));
906
+ const weak = sorted[0];
907
+ const strong = sorted[sorted.length - 1];
908
+ if (!this.graph.hasEdge(weak.id, strong.id)) {
909
+ this.graph.addEdge({
910
+ source: weak.id,
911
+ target: strong.id,
912
+ weight: 0.5,
913
+ type: 'coordination',
914
+ bidirectional: true,
915
+ });
916
+ }
913
917
  }
918
+ return { success: true, newState: action.simulate(state) };
914
919
  }
915
- return { success: true, newState: action.simulate(state) };
916
920
  case 'optimize_tests':
917
921
  case 'retry_failures':
918
922
  // Simulated execution
@@ -348,8 +348,10 @@ export class CodeIntelligenceIndexProtocol {
348
348
  return this.detectChanges();
349
349
  case 'manual':
350
350
  // Full reindex - use provided paths or default
351
- const paths = trigger.paths || ['src/**', 'lib/**'];
352
- return this.resolveGlobPatterns(paths);
351
+ {
352
+ const paths = trigger.paths || ['src/**', 'lib/**'];
353
+ return this.resolveGlobPatterns(paths);
354
+ }
353
355
  default:
354
356
  return err(new Error(`Unknown trigger type: ${trigger.type}`));
355
357
  }
@@ -441,15 +443,17 @@ export class CodeIntelligenceIndexProtocol {
441
443
  switch (domain) {
442
444
  case 'test-generation':
443
445
  // Notify about files needing new tests
444
- const filesNeedingTests = changedFiles.filter((f) => !this.isTestFile(f) && !impact.impactedTests.some((t) => this.isTestForFile(t, f)));
445
- if (filesNeedingTests.length === 0)
446
- return null;
447
- return {
448
- type: 'files-need-tests',
449
- files: filesNeedingTests,
450
- priority: this.mapRiskToPriority(impact.riskLevel),
451
- recommendations: ['Generate unit tests for new/changed files'],
452
- };
446
+ {
447
+ const filesNeedingTests = changedFiles.filter((f) => !this.isTestFile(f) && !impact.impactedTests.some((t) => this.isTestForFile(t, f)));
448
+ if (filesNeedingTests.length === 0)
449
+ return null;
450
+ return {
451
+ type: 'files-need-tests',
452
+ files: filesNeedingTests,
453
+ priority: this.mapRiskToPriority(impact.riskLevel),
454
+ recommendations: ['Generate unit tests for new/changed files'],
455
+ };
456
+ }
453
457
  case 'coverage-analysis':
454
458
  // Notify about coverage gap changes
455
459
  return {
@@ -464,20 +468,22 @@ export class CodeIntelligenceIndexProtocol {
464
468
  };
465
469
  case 'defect-intelligence':
466
470
  // Notify for regression risk assessment
467
- const highRiskFiles = [
468
- ...impact.directImpact.filter((i) => i.riskScore >= 0.7),
469
- ...impact.transitiveImpact.filter((i) => i.riskScore >= 0.7),
470
- ];
471
- if (highRiskFiles.length === 0 && impact.riskLevel === 'info')
472
- return null;
473
- return {
474
- type: 'regression-risk',
475
- files: changedFiles,
476
- highRiskFiles: highRiskFiles.map((f) => f.file),
477
- riskLevel: impact.riskLevel,
478
- priority: this.mapRiskToPriority(impact.riskLevel),
479
- recommendations: impact.recommendations,
480
- };
471
+ {
472
+ const highRiskFiles = [
473
+ ...impact.directImpact.filter((i) => i.riskScore >= 0.7),
474
+ ...impact.transitiveImpact.filter((i) => i.riskScore >= 0.7),
475
+ ];
476
+ if (highRiskFiles.length === 0 && impact.riskLevel === 'info')
477
+ return null;
478
+ return {
479
+ type: 'regression-risk',
480
+ files: changedFiles,
481
+ highRiskFiles: highRiskFiles.map((f) => f.file),
482
+ riskLevel: impact.riskLevel,
483
+ priority: this.mapRiskToPriority(impact.riskLevel),
484
+ recommendations: impact.recommendations,
485
+ };
486
+ }
481
487
  default:
482
488
  return null;
483
489
  }
@@ -768,6 +768,7 @@ export class QueenCoordinator {
768
768
  // Uses arrow-captured `self` to correctly proxy mutable counters.
769
769
  // ============================================================================
770
770
  createEventHandlerContext() {
771
+ // eslint-disable-next-line @typescript-eslint/no-this-alias -- self captured for returned handler context
771
772
  const self = this;
772
773
  return {
773
774
  config: self.config, tasks: self.tasks,
@@ -791,6 +792,7 @@ export class QueenCoordinator {
791
792
  };
792
793
  }
793
794
  createTaskContext() {
795
+ // eslint-disable-next-line @typescript-eslint/no-this-alias -- self captured for returned handler context
794
796
  const self = this;
795
797
  return {
796
798
  config: self.config, tasks: self.tasks,
@@ -821,6 +823,7 @@ export class QueenCoordinator {
821
823
  };
822
824
  }
823
825
  createWorkStealingContext() {
826
+ // eslint-disable-next-line @typescript-eslint/no-this-alias -- self captured for returned handler context
824
827
  const self = this;
825
828
  return {
826
829
  config: self.config, domainQueues: self.domainQueues,
@@ -836,6 +839,7 @@ export class QueenCoordinator {
836
839
  };
837
840
  }
838
841
  createMetricsContext() {
842
+ // eslint-disable-next-line @typescript-eslint/no-this-alias -- self captured for returned handler context
839
843
  const self = this;
840
844
  return {
841
845
  config: self.config, memory: self.memory,
@@ -55,8 +55,7 @@ export async function triggerWorkStealing(ctx) {
55
55
  export function startWorkStealingTimer(config, doStealing) {
56
56
  let workStealingFailures = 0;
57
57
  const maxConsecutiveFailures = 10;
58
- let timer;
59
- timer = setInterval(async () => {
58
+ const timer = setInterval(async () => {
60
59
  try {
61
60
  await doStealing();
62
61
  workStealingFailures = 0;
@@ -554,8 +554,8 @@ export class ChaosResilienceCoordinator extends BaseDomainCoordinator {
554
554
  let lastExperimentDate;
555
555
  let lastLoadTestDate;
556
556
  let activeIncidents = 0;
557
- let totalRecoveryTime = 0;
558
- let recoveryCount = 0;
557
+ const totalRecoveryTime = 0;
558
+ const recoveryCount = 0;
559
559
  let failedChanges = 0;
560
560
  let totalChanges = 0;
561
561
  // Process experiment results
@@ -932,22 +932,26 @@ export class ChaosResilienceCoordinator extends BaseDomainCoordinator {
932
932
  let strategy = 'default';
933
933
  switch (prediction.action.type) {
934
934
  case 'allocate':
935
- const allocValue = typeof prediction.action.value === 'object' ? prediction.action.value : null;
936
- if (allocValue && 'agentType' in allocValue && allocValue.agentType === 'tester') {
937
- // Allocate more tests to high-risk services (no failover, databases)
938
- const criticalServices = services.filter((s) => !s.hasFailover || s.type === 'database').slice(0, 3);
939
- selectedExperiments = this.generateExperimentsForServices(criticalServices, ['latency', 'error']);
940
- strategy = 'allocate-critical';
935
+ {
936
+ const allocValue = typeof prediction.action.value === 'object' ? prediction.action.value : null;
937
+ if (allocValue && 'agentType' in allocValue && allocValue.agentType === 'tester') {
938
+ // Allocate more tests to high-risk services (no failover, databases)
939
+ const criticalServices = services.filter((s) => !s.hasFailover || s.type === 'database').slice(0, 3);
940
+ selectedExperiments = this.generateExperimentsForServices(criticalServices, ['latency', 'error']);
941
+ strategy = 'allocate-critical';
942
+ }
943
+ break;
941
944
  }
942
- break;
943
945
  case 'reallocate':
944
- const reallocValue = typeof prediction.action.value === 'object' ? prediction.action.value : null;
945
- if (reallocValue && 'domain' in reallocValue && reallocValue.domain === 'test-execution') {
946
- // Reallocate to test different fault types
947
- selectedExperiments = this.generateExperimentsForServices(services.slice(0, 5), ['cpu-stress', 'memory-stress']);
948
- strategy = 'reallocate-resource-stress';
946
+ {
947
+ const reallocValue = typeof prediction.action.value === 'object' ? prediction.action.value : null;
948
+ if (reallocValue && 'domain' in reallocValue && reallocValue.domain === 'test-execution') {
949
+ // Reallocate to test different fault types
950
+ selectedExperiments = this.generateExperimentsForServices(services.slice(0, 5), ['cpu-stress', 'memory-stress']);
951
+ strategy = 'reallocate-resource-stress';
952
+ }
953
+ break;
949
954
  }
950
- break;
951
955
  case 'scale-up':
952
956
  // Scale up experiment count
953
957
  selectedExperiments = this.generateExperimentsForServices(services, ['latency', 'error', 'timeout']);
@@ -659,6 +659,7 @@ Provide:
659
659
  const busyStart = Date.now();
660
660
  while (Date.now() - busyStart < busyTime) {
661
661
  // Busy loop - CPU intensive operations
662
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- intentional CPU busy-loop
662
663
  secureRandom() * secureRandom();
663
664
  }
664
665
  // Note: Idle time is handled by the interval itself (10ms interval)
@@ -799,8 +800,10 @@ Provide:
799
800
  case 'gte':
800
801
  return actual >= value;
801
802
  case 'between':
802
- const [min, max] = value;
803
- return actual >= min && actual <= max;
803
+ {
804
+ const [min, max] = value;
805
+ return actual >= min && actual <= max;
806
+ }
804
807
  default:
805
808
  return false;
806
809
  }
@@ -375,20 +375,24 @@ export class LoadTesterService {
375
375
  }
376
376
  return max;
377
377
  case 'step':
378
- const steps = 5;
379
- const stepDuration = duration / steps;
380
- const currentStep = Math.floor(elapsedTime / stepDuration);
381
- const stepSize = (max - start) / steps;
382
- return Math.round(start + stepSize * currentStep);
378
+ {
379
+ const steps = 5;
380
+ const stepDuration = duration / steps;
381
+ const currentStep = Math.floor(elapsedTime / stepDuration);
382
+ const stepSize = (max - start) / steps;
383
+ return Math.round(start + stepSize * currentStep);
384
+ }
383
385
  case 'spike':
384
386
  // Create periodic spikes
385
- const spikeInterval = 30000; // 30 seconds
386
- const spikeDuration = 5000; // 5 second spike
387
- const timeInCycle = elapsedTime % spikeInterval;
388
- if (timeInCycle < spikeDuration) {
389
- return max;
387
+ {
388
+ const spikeInterval = 30000; // 30 seconds
389
+ const spikeDuration = 5000; // 5 second spike
390
+ const timeInCycle = elapsedTime % spikeInterval;
391
+ if (timeInCycle < spikeDuration) {
392
+ return max;
393
+ }
394
+ return start;
390
395
  }
391
- return start;
392
396
  default:
393
397
  return max;
394
398
  }
@@ -27,6 +27,11 @@ export interface IndexResult {
27
27
  edgesCreated: number;
28
28
  duration: number;
29
29
  errors: IndexError[];
30
+ /**
31
+ * Non-fatal warnings surfaced during indexing — e.g. files whose language has
32
+ * no dependency extractor, so `deps`/`impact` will show 0 edges for them (#511).
33
+ */
34
+ warnings?: string[];
30
35
  }
31
36
  export interface IndexError {
32
37
  file: string;
@@ -1042,14 +1042,20 @@ export class C4ModelService {
1042
1042
  getDiagramPreview(stored) {
1043
1043
  switch (stored.type) {
1044
1044
  case 'context':
1045
- const ctx = stored.model;
1046
- return `System: ${ctx.system.name}, External: ${ctx.externalSystems.length}`;
1045
+ {
1046
+ const ctx = stored.model;
1047
+ return `System: ${ctx.system.name}, External: ${ctx.externalSystems.length}`;
1048
+ }
1047
1049
  case 'container':
1048
- const cnt = stored.model;
1049
- return `Containers: ${cnt.containers.length}, External: ${cnt.externalSystems.length}`;
1050
+ {
1051
+ const cnt = stored.model;
1052
+ return `Containers: ${cnt.containers.length}, External: ${cnt.externalSystems.length}`;
1053
+ }
1050
1054
  case 'component':
1051
- const cmp = stored.model;
1052
- return `Components: ${cmp.components.length}, Relations: ${cmp.relationships.length}`;
1055
+ {
1056
+ const cmp = stored.model;
1057
+ return `Components: ${cmp.components.length}, Relations: ${cmp.relationships.length}`;
1058
+ }
1053
1059
  default:
1054
1060
  return 'No preview available';
1055
1061
  }
@@ -128,9 +128,13 @@ export class ImpactAnalyzerService {
128
128
  ];
129
129
  // Search memory for matching test files
130
130
  for (const pattern of possibleTestPatterns) {
131
- const keys = await this.memory.search(`code-intelligence:kg:node:*${pattern}*`, 10);
131
+ const keys = await this.memory.search(`code-intelligence:kg:node:*${pattern}*`, 10,
132
+ // KG persists under its own namespace (#511 parity) — read it there.
133
+ { namespace: 'code-intelligence:kg' });
132
134
  for (const key of keys) {
133
- const node = await this.memory.get(key);
135
+ const node = await this.memory.get(key, {
136
+ namespace: 'code-intelligence:kg',
137
+ });
134
138
  if (node?.properties?.path && this.isTestFile(node.properties.path)) {
135
139
  impactedTests.add(node.properties.path);
136
140
  }
@@ -55,6 +55,13 @@ export declare class KnowledgeGraphService implements IKnowledgeGraphService {
55
55
  private readonly memory;
56
56
  private readonly nodeCache;
57
57
  private readonly edgeIndex;
58
+ /**
59
+ * Lazily-hydrated flat list of all persisted edges (#511).
60
+ * Edges are persisted per-process during index(); cross-process reads
61
+ * (deps/search/impact) hydrate this once and filter by source/target.
62
+ * Invalidated on createEdge()/clear() to avoid serving stale data.
63
+ */
64
+ private allEdgesCache?;
58
65
  private readonly tsParser;
59
66
  private readonly fileReader;
60
67
  private readonly embedder;
@@ -70,6 +77,16 @@ export declare class KnowledgeGraphService implements IKnowledgeGraphService {
70
77
  * Type guard to check if the argument is KnowledgeGraphDependencies
71
78
  */
72
79
  private isKnowledgeGraphDependencies;
80
+ /**
81
+ * Storage options that pin every KG kv operation to a fixed, tool-independent
82
+ * namespace (the configured `code-intelligence:kg`) instead of the backend's
83
+ * default (`qe-kernel` for the CLI, `mcp-tools` for MCP). This gives CLI↔MCP
84
+ * parity — a graph indexed by one tool is readable by the other — and makes
85
+ * the init existence checks (`SELECT ... WHERE namespace = 'code-intelligence:kg'`)
86
+ * actually find the data (#511). Reads and writes MUST both pass this, or a
87
+ * write under the namespace cannot be read back (issue #491 Bug 2).
88
+ */
89
+ private get nsOpts();
73
90
  /**
74
91
  * Index files into the knowledge graph
75
92
  */
@@ -90,10 +107,25 @@ export declare class KnowledgeGraphService implements IKnowledgeGraphService {
90
107
  * Get edges for a node
91
108
  */
92
109
  getEdges(nodeId: string, direction: 'incoming' | 'outgoing' | 'both'): Promise<KGEdge[]>;
110
+ /**
111
+ * Load all persisted edges into a flat cache (#511).
112
+ * Cached for the lifetime of the read; invalidated by createEdge()/clear().
113
+ */
114
+ private loadAllEdges;
93
115
  /**
94
116
  * Clear the knowledge graph
95
117
  */
96
118
  clear(): Promise<void>;
119
+ /**
120
+ * Remove a single file's contribution to the graph (#511).
121
+ *
122
+ * Deletes the file node, its entity nodes, and edges that ORIGINATE from the
123
+ * file or its entities (contains + outgoing imports). Incoming edges (other
124
+ * files importing this one) are left intact — they belong to those files and
125
+ * remain valid until those files are themselves re-indexed. Used for
126
+ * incremental re-indexing so stale entities/imports don't persist.
127
+ */
128
+ private removeFileFromGraph;
97
129
  /**
98
130
  * Check if LLM extraction is available and enabled
99
131
  */
@@ -151,6 +183,16 @@ export declare class KnowledgeGraphService implements IKnowledgeGraphService {
151
183
  private generateQueryEmbedding;
152
184
  private fallbackEmbedding;
153
185
  private pathToNodeId;
186
+ /**
187
+ * Resolve an import specifier to a concrete file path (#511).
188
+ *
189
+ * Relative specifiers ('./math', '../util') are resolved against the
190
+ * importing file's directory and probed for the usual TS/JS extensions and
191
+ * index files, so the resulting node id matches the imported file's node.
192
+ * Bare package specifiers ('react', '@scope/pkg') are returned unchanged and
193
+ * become external dependency nodes.
194
+ */
195
+ private resolveImportPath;
154
196
  private nodeIdToPath;
155
197
  private getFileName;
156
198
  private getFileExtension;