agentic-qe 3.10.7 → 3.10.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 (381) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +84 -0
  3. package/dist/cli/bundle.js +5 -5
  4. package/dist/cli/chunks/adapter-TRSV37EA.js +2 -0
  5. package/dist/cli/chunks/{agent-booster-wasm-6I3JMU2M.js → agent-booster-wasm-RPAOJXZ3.js} +2 -2
  6. package/dist/cli/chunks/{agent-handler-XWI7YM6R.js → agent-handler-SMD5CAS6.js} +2 -2
  7. package/dist/cli/chunks/{agent-memory-branch-QFZKQN2L.js → agent-memory-branch-3IOQIQ7Y.js} +2 -2
  8. package/dist/cli/chunks/aqe-learning-engine-CVJRJOSO.js +2 -0
  9. package/dist/cli/chunks/{arena-5HNPVTBZ.js → arena-AP2J62WO.js} +4 -4
  10. package/dist/cli/chunks/{arena-P4IUBKZP.js → arena-GT3D6EAO.js} +2 -2
  11. package/dist/cli/chunks/{audit-PBSH25VZ.js → audit-Q3GJ5354.js} +2 -2
  12. package/dist/cli/chunks/base-BX4A2D4V.js +2 -0
  13. package/dist/cli/chunks/{hnswlib-node-ILDTCGLZ.js → better-sqlite3-6A6EAXAT.js} +2 -2
  14. package/dist/cli/chunks/{brain-handler-EVYRCKXI.js → brain-handler-2Z4ILQF3.js} +3 -3
  15. package/dist/cli/chunks/{branch-enumerator-SUDGYJQJ.js → branch-enumerator-EZWGL4UM.js} +2 -2
  16. package/dist/cli/chunks/{browser-4UKMW2RE.js → browser-YZELFPLJ.js} +2 -2
  17. package/dist/cli/chunks/browser-workflow-O3RL7EYT.js +2 -0
  18. package/dist/cli/chunks/{chunk-QBVFONWU.js → chunk-246Z3PH6.js} +2 -2
  19. package/dist/cli/chunks/{chunk-B5ZJV7GZ.js → chunk-2I5QLMQF.js} +2 -2
  20. package/dist/cli/chunks/{chunk-AW3LGLC3.js → chunk-2K2X75UF.js} +2 -2
  21. package/dist/cli/chunks/{chunk-OW4LJ5HE.js → chunk-2WRVNEIR.js} +2 -2
  22. package/dist/cli/chunks/{chunk-EWNJK2BU.js → chunk-2WSEJHFQ.js} +1 -1
  23. package/dist/cli/chunks/{chunk-6RG7ZJ2H.js → chunk-352W5G4G.js} +2 -2
  24. package/dist/cli/chunks/{chunk-7NK2H7H5.js → chunk-3HT4CT6F.js} +2 -2
  25. package/dist/cli/chunks/{chunk-MDVJVY4C.js → chunk-3YKJGKOY.js} +4 -4
  26. package/dist/cli/chunks/{chunk-OPLLH67G.js → chunk-42FBJF73.js} +1 -1
  27. package/dist/cli/chunks/{chunk-IXAABYGS.js → chunk-4BB75U6N.js} +2 -2
  28. package/dist/cli/chunks/{chunk-LJHCPN4E.js → chunk-4D3LVXUD.js} +2 -2
  29. package/dist/cli/chunks/{chunk-VPBXVZWE.js → chunk-4EJTE5TL.js} +1 -1
  30. package/dist/cli/chunks/{chunk-I7M574IO.js → chunk-4MUZGQPE.js} +2 -2
  31. package/dist/cli/chunks/{chunk-M7SO5KNJ.js → chunk-57XCLC55.js} +2 -2
  32. package/dist/cli/chunks/{chunk-QBVS4CXM.js → chunk-5HLOQEKL.js} +1 -1
  33. package/dist/cli/chunks/{chunk-XWPUCPYW.js → chunk-5U5SEO7C.js} +2 -2
  34. package/dist/cli/chunks/{chunk-YB4GXJJG.js → chunk-5X73HV2P.js} +1 -1
  35. package/dist/cli/chunks/{chunk-OSETFZVE.js → chunk-62MH7QAQ.js} +2 -2
  36. package/dist/cli/chunks/{chunk-64BSODHA.js → chunk-6HPI6YX3.js} +2 -2
  37. package/dist/cli/chunks/{chunk-SG6O3PXZ.js → chunk-6TR3OM7C.js} +2 -2
  38. package/dist/cli/chunks/{chunk-FQBNPSV2.js → chunk-757YHKIJ.js} +2 -2
  39. package/dist/cli/chunks/{chunk-JJELOEIY.js → chunk-7C5HI4ZA.js} +4 -4
  40. package/dist/cli/chunks/chunk-7D5JE46U.js +2 -0
  41. package/dist/cli/chunks/{chunk-L2ZSYIDA.js → chunk-7NT34MLU.js} +1 -1
  42. package/dist/cli/chunks/{chunk-6QBD64W3.js → chunk-7PYEJ4NV.js} +2 -2
  43. package/dist/cli/chunks/{chunk-ISLI6D4K.js → chunk-7S6D5K4X.js} +2 -2
  44. package/dist/cli/chunks/chunk-ABJPFKHE.js +2 -0
  45. package/dist/cli/chunks/{chunk-LEZ2MGHM.js → chunk-ABVBHH7P.js} +3 -3
  46. package/dist/cli/chunks/{chunk-V7WBNB2S.js → chunk-AHUX7QSE.js} +2 -2
  47. package/dist/cli/chunks/{chunk-DPT37UHR.js → chunk-AU4DQMLJ.js} +4 -4
  48. package/dist/cli/chunks/{chunk-MOI74MMX.js → chunk-BG2FN5K2.js} +2 -2
  49. package/dist/cli/chunks/{chunk-JNQVPTOM.js → chunk-BM52ZEAD.js} +2 -2
  50. package/dist/cli/chunks/{chunk-BLFZFKT6.js → chunk-BSMUT672.js} +2 -2
  51. package/dist/cli/chunks/{chunk-34NT5NBZ.js → chunk-BVEQPMOF.js} +2 -2
  52. package/dist/cli/chunks/{chunk-QLVZEEPR.js → chunk-BYVARYGB.js} +2 -2
  53. package/dist/cli/chunks/{chunk-QDBFB4XD.js → chunk-C6GQIUKW.js} +2 -2
  54. package/dist/cli/chunks/{chunk-X6OJFP7G.js → chunk-C6JULAWA.js} +2 -2
  55. package/dist/cli/chunks/{chunk-76SUEI7S.js → chunk-CDJIYJIA.js} +1 -1
  56. package/dist/cli/chunks/{chunk-2J4ZUUU5.js → chunk-CLJNAQXB.js} +2 -2
  57. package/dist/cli/chunks/{chunk-DU7Y54JI.js → chunk-CLSHSVMY.js} +1 -1
  58. package/dist/cli/chunks/{chunk-O4B6FFC5.js → chunk-CREORFJV.js} +1 -1
  59. package/dist/cli/chunks/{chunk-S4NNQE4L.js → chunk-CVRTXIYP.js} +1 -1
  60. package/dist/cli/chunks/{chunk-TTLAWPEN.js → chunk-CWRSQQHV.js} +2 -2
  61. package/dist/cli/chunks/{chunk-R2B6EQQF.js → chunk-D2JCSWYM.js} +2 -2
  62. package/dist/cli/chunks/{chunk-Z44VJC5U.js → chunk-D7NWDUY3.js} +2 -2
  63. package/dist/cli/chunks/chunk-DK6WWNCL.js +2 -0
  64. package/dist/cli/chunks/{chunk-X3HRJV65.js → chunk-DNE6MVNA.js} +1 -1
  65. package/dist/cli/chunks/{chunk-UURGDFGU.js → chunk-DZWZASDV.js} +1 -1
  66. package/dist/cli/chunks/{chunk-L6NB4UHR.js → chunk-EL6F72JN.js} +2 -2
  67. package/dist/cli/chunks/{chunk-G7ISGLKP.js → chunk-EYGRNXQT.js} +1 -1
  68. package/dist/cli/chunks/{chunk-K6A3AWUI.js → chunk-FALB6Z2Y.js} +1 -1
  69. package/dist/cli/chunks/{chunk-TXXRBNOB.js → chunk-FD37QFXW.js} +1 -1
  70. package/dist/cli/chunks/{chunk-MWRKNBSY.js → chunk-G4KVGUQN.js} +2 -2
  71. package/dist/cli/chunks/{chunk-32E2OPIE.js → chunk-G7V2HDTH.js} +3 -3
  72. package/dist/cli/chunks/{chunk-YMBPKBKG.js → chunk-GPALZJD3.js} +1 -1
  73. package/dist/cli/chunks/{chunk-3IJS52OS.js → chunk-H4SHHYRD.js} +2 -2
  74. package/dist/cli/chunks/{chunk-3XEL7XCA.js → chunk-H7AQ7M3J.js} +1 -1
  75. package/dist/cli/chunks/{chunk-CW7JQVXV.js → chunk-HAC7NB6R.js} +2 -2
  76. package/dist/cli/chunks/{chunk-KXENXRZE.js → chunk-HGKZOSAI.js} +1 -1
  77. package/dist/cli/chunks/{chunk-L3EQQMFI.js → chunk-HQZX4XYH.js} +2 -2
  78. package/dist/cli/chunks/{chunk-LFSQSLNP.js → chunk-HZSYCVLC.js} +2 -2
  79. package/dist/cli/chunks/{chunk-2JWFS2K2.js → chunk-I5C7O5IQ.js} +2 -2
  80. package/dist/cli/chunks/{chunk-LSHUPEQQ.js → chunk-I7RTTJH5.js} +2 -2
  81. package/dist/cli/chunks/{chunk-R7KIC6TL.js → chunk-ILPIH4Z6.js} +1 -1
  82. package/dist/cli/chunks/{chunk-262F3EMN.js → chunk-IR7PJUO7.js} +2 -2
  83. package/dist/cli/chunks/{chunk-MMR23KAO.js → chunk-J6GKKXCP.js} +2 -2
  84. package/dist/cli/chunks/{chunk-INI3AGF5.js → chunk-JZNMU63B.js} +2 -2
  85. package/dist/cli/chunks/{chunk-J5ETX2DG.js → chunk-K23XK33X.js} +2 -2
  86. package/dist/cli/chunks/{chunk-S423UHYM.js → chunk-KAMFT25W.js} +2 -2
  87. package/dist/cli/chunks/{chunk-AKSCYNFH.js → chunk-KJA5A3TV.js} +2 -2
  88. package/dist/cli/chunks/{chunk-76JYG426.js → chunk-KRAWWBX5.js} +2 -2
  89. package/dist/cli/chunks/{chunk-4RGV6Z2H.js → chunk-L5IO7QNO.js} +2 -2
  90. package/dist/cli/chunks/{chunk-HBWAMCVB.js → chunk-L5NEEGKO.js} +14 -14
  91. package/dist/cli/chunks/{chunk-BRYYQQUV.js → chunk-LHKQW72O.js} +1 -1
  92. package/dist/cli/chunks/{chunk-BPC6X6VR.js → chunk-LT6QHDPK.js} +2 -2
  93. package/dist/cli/chunks/{chunk-HARYQMWN.js → chunk-MDED3HJI.js} +2 -2
  94. package/dist/cli/chunks/{chunk-HDLF6LGO.js → chunk-NLUWPS2H.js} +3 -3
  95. package/dist/cli/chunks/{chunk-CGBEI7UH.js → chunk-NMQEU4BG.js} +2 -2
  96. package/dist/cli/chunks/{chunk-K6IU2MV4.js → chunk-NOWGQ6YZ.js} +1 -1
  97. package/dist/cli/chunks/{chunk-YLXUF5KW.js → chunk-NYBAH76S.js} +3 -3
  98. package/dist/cli/chunks/{chunk-TIUC5LRA.js → chunk-O36VC7B7.js} +2 -2
  99. package/dist/cli/chunks/{chunk-3O4Q4GAX.js → chunk-OD4OIPXO.js} +15 -13
  100. package/dist/cli/chunks/{chunk-LUZH2IZY.js → chunk-OF3EMOWN.js} +2 -2
  101. package/dist/cli/chunks/{chunk-AKL5A3IZ.js → chunk-OIN3Y4BY.js} +1 -1
  102. package/dist/cli/chunks/chunk-OPKEQYAC.js +2 -0
  103. package/dist/cli/chunks/{chunk-TY7XPI6R.js → chunk-OQUH7657.js} +2 -2
  104. package/dist/cli/chunks/{chunk-F5RZSNHI.js → chunk-OSP5AJAB.js} +2 -2
  105. package/dist/cli/chunks/{chunk-6A2HRMTD.js → chunk-PFGH7TWL.js} +2 -2
  106. package/dist/cli/chunks/{chunk-MK73CCKO.js → chunk-PYQZ4OA3.js} +2 -2
  107. package/dist/cli/chunks/{chunk-BU2I77YW.js → chunk-QAP5S7YC.js} +3 -3
  108. package/dist/cli/chunks/{chunk-JNXPRDNV.js → chunk-QE3CZGAC.js} +3 -3
  109. package/dist/cli/chunks/{chunk-5QMIVHFT.js → chunk-QFIKEZB5.js} +2 -2
  110. package/dist/cli/chunks/{chunk-AY4IEMRI.js → chunk-QHICG2NI.js} +2 -2
  111. package/dist/cli/chunks/{chunk-4I6FK67T.js → chunk-QHPLU5BU.js} +3 -3
  112. package/dist/cli/chunks/{chunk-HI4DA7Z3.js → chunk-QL6ZJ7RV.js} +2 -2
  113. package/dist/cli/chunks/{chunk-FK4JHBG4.js → chunk-QL7OOCPO.js} +2 -2
  114. package/dist/cli/chunks/{chunk-6OLPKIYU.js → chunk-QWXJRZEH.js} +1 -1
  115. package/dist/cli/chunks/{chunk-S7FNTWFM.js → chunk-R2M3RMCN.js} +2 -2
  116. package/dist/cli/chunks/{chunk-NKYMHEHY.js → chunk-RHOBDQXA.js} +2 -2
  117. package/dist/cli/chunks/{chunk-6F5KPT6U.js → chunk-RRSJ7BMF.js} +1 -1
  118. package/dist/cli/chunks/{chunk-RLXCFURS.js → chunk-RSWQY4NZ.js} +2 -2
  119. package/dist/cli/chunks/{chunk-UPDPD43T.js → chunk-S73EBPI5.js} +2 -2
  120. package/dist/cli/chunks/{chunk-OMDV6GFP.js → chunk-TIR3Z6TE.js} +1 -1
  121. package/dist/cli/chunks/{chunk-UVUVWA4B.js → chunk-TKZABUHO.js} +1 -1
  122. package/dist/cli/chunks/{chunk-4MJQJQLY.js → chunk-TOGD2JH2.js} +2 -2
  123. package/dist/cli/chunks/{chunk-QMGNYRR5.js → chunk-TVU6NMO3.js} +3 -3
  124. package/dist/cli/chunks/{chunk-C5CY5NSW.js → chunk-TXWUV3S5.js} +2 -2
  125. package/dist/cli/chunks/{chunk-3W6QASVB.js → chunk-U6TZVACK.js} +2 -2
  126. package/dist/cli/chunks/{chunk-L5UUUSSB.js → chunk-UJBIHPU5.js} +1 -1
  127. package/dist/cli/chunks/{chunk-FWLXK6AH.js → chunk-UPGKS6Z3.js} +2 -2
  128. package/dist/cli/chunks/{chunk-SLASYVNX.js → chunk-UU7OCRZM.js} +2 -2
  129. package/dist/cli/chunks/{chunk-WCXQA24H.js → chunk-UUA2NVUN.js} +8 -8
  130. package/dist/cli/chunks/{chunk-IYZWEYWJ.js → chunk-UX4UHYLE.js} +1 -1
  131. package/dist/cli/chunks/{chunk-V3KNHI5B.js → chunk-VDL277DX.js} +2 -2
  132. package/dist/cli/chunks/{chunk-RJBCIN2G.js → chunk-VHCHBMZC.js} +2 -2
  133. package/dist/cli/chunks/{chunk-222ZQTL5.js → chunk-VHYNRISI.js} +2 -2
  134. package/dist/cli/chunks/{chunk-4W5QWFU4.js → chunk-VIHFC67B.js} +1 -1
  135. package/dist/cli/chunks/{chunk-DYNO72WD.js → chunk-WOGWIMQK.js} +2 -2
  136. package/dist/cli/chunks/{chunk-SFW6IDMR.js → chunk-WPBVLIWQ.js} +10 -10
  137. package/dist/cli/chunks/{chunk-CJTDQJ7E.js → chunk-WWGGL3TR.js} +1 -1
  138. package/dist/cli/chunks/{chunk-2MLISLRR.js → chunk-X6YUGKMM.js} +1 -1
  139. package/dist/cli/chunks/{chunk-PY3HWJRJ.js → chunk-X7677BX3.js} +2 -2
  140. package/dist/cli/chunks/{chunk-MRLGQX7Y.js → chunk-XEMP2PNW.js} +2 -2
  141. package/dist/cli/chunks/{chunk-YBM4LUSF.js → chunk-XLK4GP3I.js} +2 -2
  142. package/dist/cli/chunks/chunk-XYRJL7YN.js +2 -0
  143. package/dist/cli/chunks/{chunk-OAXDI4XM.js → chunk-YB3PQ3UV.js} +1 -1
  144. package/dist/cli/chunks/{chunk-GUDOOOO6.js → chunk-YHFCLJMY.js} +1 -1
  145. package/dist/cli/chunks/{chunk-HELQ7CXL.js → chunk-YQBL5XTM.js} +1 -1
  146. package/dist/cli/chunks/chunk-Z6FRNWQA.js +6 -0
  147. package/dist/cli/chunks/{chunk-U7EGKKN3.js → chunk-ZT2DGSIO.js} +2 -2
  148. package/dist/cli/chunks/{chunk-DYSRMAZP.js → chunk-ZVF7QY4R.js} +1 -1
  149. package/dist/cli/chunks/{ci-OO42YBET.js → ci-KDEFR2X3.js} +2 -2
  150. package/dist/cli/chunks/{ci-output-YXMTEX7Q.js → ci-output-Z3WXRRFI.js} +2 -2
  151. package/dist/cli/chunks/{circuit-breaker-EHA4N643.js → circuit-breaker-GS44DEW2.js} +2 -2
  152. package/dist/cli/chunks/{claude-flow-setup-E6G6SLYI.js → claude-flow-setup-OHVMHAAH.js} +2 -2
  153. package/dist/cli/chunks/client-T263ZXVV.js +2 -0
  154. package/dist/cli/chunks/cline-installer-5TCF4MZD.js +4 -0
  155. package/dist/cli/chunks/{code-Q3U6XDOO.js → code-3KCGTG7Z.js} +2 -2
  156. package/dist/cli/chunks/{code-index-extractor-BK2DC4MO.js → code-index-extractor-LJBI54MZ.js} +2 -2
  157. package/dist/cli/chunks/codex-installer-IB62Z6LA.js +8 -0
  158. package/dist/cli/chunks/{completions-TZ5F33TA.js → completions-JDXX7KKB.js} +2 -2
  159. package/dist/cli/chunks/{complexity-analyzer-N7U4V7ID.js → complexity-analyzer-6JVDXXXP.js} +2 -2
  160. package/dist/cli/chunks/continuedev-installer-PUB45QVR.js +15 -0
  161. package/dist/cli/chunks/copilot-installer-QWJ36P22.js +3 -0
  162. package/dist/cli/chunks/core-handlers-ODKKGCFK.js +2 -0
  163. package/dist/cli/chunks/{cost-tracker-ZTIDLUFW.js → cost-tracker-J3KEJDL5.js} +2 -2
  164. package/dist/cli/chunks/{coverage-6G7T7TRQ.js → coverage-FWKRI2EY.js} +3 -3
  165. package/dist/cli/chunks/cross-domain-router-APU725GC.js +2 -0
  166. package/dist/cli/chunks/cursor-installer-2HYCUCTH.js +3 -0
  167. package/dist/cli/chunks/{daemon-KTXGJJRI.js → daemon-BVP66DIZ.js} +4 -4
  168. package/dist/cli/chunks/{daemon-5A4GD6XA.js → daemon-G3DBRWDQ.js} +3 -3
  169. package/dist/cli/chunks/{dag-attention-scheduler-4CUEQZD6.js → dag-attention-scheduler-2AQLNB4B.js} +2 -2
  170. package/dist/cli/chunks/{detect-I32JUSUE.js → detect-RUM5SHNE.js} +2 -2
  171. package/dist/cli/chunks/{dist-node-7ITNV6QS.js → dist-node-GX7MJHFT.js} +2 -2
  172. package/dist/cli/chunks/{domain-handler-LIFCXSZ4.js → domain-handler-OFBGZ2U5.js} +2 -2
  173. package/dist/cli/chunks/{domain-transfer-67UWLHSK.js → domain-transfer-6CGRPRGR.js} +2 -2
  174. package/dist/cli/chunks/dream-PJ5GKY3J.js +2 -0
  175. package/dist/cli/chunks/{embed-and-insert-pattern-4WC5RUD6.js → embed-and-insert-pattern-MUOEVQX2.js} +2 -2
  176. package/dist/cli/chunks/{eval-DLS2UAQ2.js → eval-SJMG67DE.js} +2 -2
  177. package/dist/cli/chunks/{experience-capture-middleware-VG5E6OJA.js → experience-capture-middleware-ICKN6IXX.js} +3 -3
  178. package/dist/cli/chunks/{fast-paths-262IVHDN.js → fast-paths-HXLBG3J4.js} +2 -2
  179. package/dist/cli/chunks/{feature-flags-L3K7DBN3.js → feature-flags-CRUB2ASU.js} +2 -2
  180. package/dist/cli/chunks/{feature-flags-JJ3FHZGD.js → feature-flags-JYZSSQJC.js} +2 -2
  181. package/dist/cli/chunks/{file-discovery-Q3PBKVUW.js → file-discovery-YHHC7NTJ.js} +2 -2
  182. package/dist/cli/chunks/{fleet-LQ5S2YHG.js → fleet-2VGDL4YL.js} +3 -3
  183. package/dist/cli/chunks/{gnn-wrapper-I33Z537H.js → gnn-wrapper-7ZAGD4S4.js} +2 -2
  184. package/dist/cli/chunks/{heartbeat-handler-RYIRAGZ7.js → heartbeat-handler-HAW3JRHN.js} +4 -4
  185. package/dist/cli/chunks/heartbeat-scheduler-4ZHUIW3Q.js +2 -0
  186. package/dist/cli/chunks/hnsw-adapter-UVJJ6TTP.js +2 -0
  187. package/dist/cli/chunks/hnsw-index-K6HS34JZ.js +2 -0
  188. package/dist/cli/chunks/{hnsw-legacy-bridge-SSENBBPR.js → hnsw-legacy-bridge-BO325POX.js} +2 -2
  189. package/dist/cli/chunks/{better-sqlite3-F262IAGH.js → hnswlib-node-YTK7S7GL.js} +2 -2
  190. package/dist/cli/chunks/{hooks-LR5KQMN5.js → hooks-HKM3JTFQ.js} +10 -10
  191. package/dist/cli/chunks/hybrid-router-25S7OH2Y.js +2 -0
  192. package/dist/cli/chunks/{hypergraph-engine-NDZA2DKP.js → hypergraph-engine-LGLGHK6B.js} +2 -2
  193. package/dist/cli/chunks/{hypergraph-handler-ADMWVHBT.js → hypergraph-handler-6QDVREZA.js} +3 -3
  194. package/dist/cli/chunks/impact-analyzer-UP4RDMJH.js +2 -0
  195. package/dist/cli/chunks/init-handler-XUQ7XHIE.js +74 -0
  196. package/dist/cli/chunks/init-wizard-2PAJ3GEC.js +2 -0
  197. package/dist/cli/chunks/kernel-7WOQGMMT.js +2 -0
  198. package/dist/cli/chunks/kilocode-installer-6CEZLVIX.js +4 -0
  199. package/dist/cli/chunks/{kiro-installer-TINLYZ22.js → kiro-installer-6CJGATOS.js} +4 -4
  200. package/dist/cli/chunks/knowledge-graph-FN2AWHGR.js +2 -0
  201. package/dist/cli/chunks/{learning-KBT3S5WW.js → learning-EIYTYZJY.js} +3 -3
  202. package/dist/cli/chunks/{llm-router-2MX5LUAB.js → llm-router-J4CI7VHU.js} +4 -4
  203. package/dist/cli/chunks/llm-router-service-C3UPBAS3.js +2 -0
  204. package/dist/cli/chunks/{load-IQWTGMLZ.js → load-CQPWGLQQ.js} +2 -2
  205. package/dist/cli/chunks/load-test-PQSGLDXJ.js +2 -0
  206. package/dist/cli/chunks/mcp-THOATWCO.js +2 -0
  207. package/dist/cli/chunks/{memory-XQVPI4UT.js → memory-NZHMHMRK.js} +5 -5
  208. package/dist/cli/chunks/memory-backend-6FR4RT5O.js +2 -0
  209. package/dist/cli/chunks/{memory-handlers-XD7MSFUN.js → memory-handlers-L2J54AQE.js} +2 -2
  210. package/dist/cli/chunks/{multi-model-executor-JC63UCWG.js → multi-model-executor-3P5E773H.js} +2 -2
  211. package/dist/cli/chunks/opencode-installer-IRZMKSNG.js +15 -0
  212. package/dist/cli/chunks/{orchestrator-B75QWJUF.js → orchestrator-UADLXTKP.js} +18 -18
  213. package/dist/cli/chunks/pattern-null-store-B2UX4NZY.js +2 -0
  214. package/dist/cli/chunks/{pipeline-TCBQ2UTZ.js → pipeline-QEH3XHXJ.js} +2 -2
  215. package/dist/cli/chunks/{platform-T43AYI3Z.js → platform-NEZ3NXLT.js} +2 -2
  216. package/dist/cli/chunks/{plugin-MSI3ZU3Z.js → plugin-O33HR2VO.js} +2 -2
  217. package/dist/cli/chunks/{prime-radiant-advanced-wasm-V62CWI6M.js → prime-radiant-advanced-wasm-MBUMFEX7.js} +2 -2
  218. package/dist/cli/chunks/protocol-executor-OQ6SL7SR.js +2 -0
  219. package/dist/cli/chunks/{protocol-handler-OH2INET2.js → protocol-handler-L455UOUT.js} +2 -2
  220. package/dist/cli/chunks/{prove-6PTMXMUL.js → prove-3XA3SMAA.js} +2 -2
  221. package/dist/cli/chunks/provider-manager-DQWHW2RG.js +2 -0
  222. package/dist/cli/chunks/qe-reasoning-bank-3JS2CZAE.js +2 -0
  223. package/dist/cli/chunks/{quality-PLNQN5GU.js → quality-H6Z5JH5B.js} +2 -2
  224. package/dist/cli/chunks/queen-coordinator-KXCWEM3Y.js +2 -0
  225. package/dist/cli/chunks/{real-embeddings-OW4OKR77.js → real-embeddings-5DNJ4KEM.js} +2 -2
  226. package/dist/cli/chunks/roocode-installer-KHXKR2FK.js +4 -0
  227. package/dist/cli/chunks/router-OVLIKT55.js +2 -0
  228. package/dist/cli/chunks/routing-feedback-2BYCXNXX.js +2 -0
  229. package/dist/cli/chunks/{routing-handler-CKFXXPMI.js → routing-handler-WAMGESEM.js} +2 -2
  230. package/dist/cli/chunks/{ruvector-commands-GERRPTJL.js → ruvector-commands-4J7XC6XY.js} +2 -2
  231. package/dist/cli/chunks/{rvf-dual-writer-5FAB2QPA.js → rvf-dual-writer-3PZEN6XN.js} +2 -2
  232. package/dist/cli/chunks/{rvf-migration-adapter-46COKWYB.js → rvf-migration-adapter-OIUNRQSU.js} +2 -2
  233. package/dist/cli/chunks/{rvf-migration-coordinator-AJVRWSNC.js → rvf-migration-coordinator-QZXDI4I5.js} +2 -2
  234. package/dist/cli/chunks/rvf-native-adapter-YNUYOQ5C.js +2 -0
  235. package/dist/cli/chunks/safe-db-6TYYEU7C.js +2 -0
  236. package/dist/cli/chunks/schedule-XVH7RTVY.js +2 -0
  237. package/dist/cli/chunks/scheduler-DHZBN5HA.js +2 -0
  238. package/dist/cli/chunks/{security-Q622IVRB.js → security-5NY77AMD.js} +3 -3
  239. package/dist/cli/chunks/{shared-rvf-adapter-EST24R3R.js → shared-rvf-adapter-MHPUZIMW.js} +2 -2
  240. package/dist/cli/chunks/{shared-rvf-dual-writer-CP6EXKBT.js → shared-rvf-dual-writer-ITLDYHCX.js} +2 -2
  241. package/dist/cli/chunks/sqlite-persistence-NR5WXTPN.js +2 -0
  242. package/dist/cli/chunks/{status-handler-LLRQB4E2.js → status-handler-7RBRIXZD.js} +2 -2
  243. package/dist/cli/chunks/{structural-health-BUFWTNN2.js → structural-health-MQPY6GA6.js} +2 -2
  244. package/dist/cli/chunks/{sync-JDG4SNT5.js → sync-66KCEANE.js} +2 -2
  245. package/dist/cli/chunks/{sync-RDL2RUOV.js → sync-USVQTHKN.js} +2 -2
  246. package/dist/cli/chunks/{task-handler-KPP6ZXA6.js → task-handler-4UI4FPPW.js} +2 -2
  247. package/dist/cli/chunks/{task-handlers-MRK2BQWI.js → task-handlers-KRII3GVV.js} +3 -3
  248. package/dist/cli/chunks/{test-7NYFTHRY.js → test-JHN2MVEG.js} +4 -4
  249. package/dist/cli/chunks/{test-scheduling-LGPKDMWD.js → test-scheduling-ZWTEGS3S.js} +3 -3
  250. package/dist/cli/chunks/{token-bootstrap-H5JHB7TD.js → token-bootstrap-YWXL6AS5.js} +2 -2
  251. package/dist/cli/chunks/{token-usage-TWPDS5U3.js → token-usage-INII2XM3.js} +2 -2
  252. package/dist/cli/chunks/{transformers-GRNPPUHM.js → transformers-DVFGDNZC.js} +2 -2
  253. package/dist/cli/chunks/{tree-sitter-wasm-parser-DOH5F6TO.js → tree-sitter-wasm-parser-W2XJT3XF.js} +2 -2
  254. package/dist/cli/chunks/{types-NYV3YKE3.js → types-GBZ5Q2GP.js} +2 -2
  255. package/dist/cli/chunks/unified-memory-WJEZ5YAK.js +2 -0
  256. package/dist/cli/chunks/unified-memory-hnsw-6ZA2PMYO.js +2 -0
  257. package/dist/cli/chunks/unified-persistence-SWH6R7MA.js +2 -0
  258. package/dist/cli/chunks/{upgrade-GDJMRYAT.js → upgrade-2JEXEGQX.js} +2 -2
  259. package/dist/cli/chunks/{validate-SIRFOPPM.js → validate-GDCM5YTS.js} +2 -2
  260. package/dist/cli/chunks/{validate-swarm-XGMJYR6X.js → validate-swarm-QZ5RSJEU.js} +2 -2
  261. package/dist/cli/chunks/{vibium-NP6ENRKV.js → vibium-I5BMT734.js} +2 -2
  262. package/dist/cli/chunks/visual-security-PH5JQZCZ.js +2 -0
  263. package/dist/cli/chunks/{web-tree-sitter-YDBWPYZD.js → web-tree-sitter-3QY2LMLP.js} +2 -2
  264. package/dist/cli/chunks/windsurf-installer-V7OBPLOB.js +7 -0
  265. package/dist/cli/chunks/{witness-chain-YHLBWQQ3.js → witness-chain-BNJ4VSZX.js} +2 -2
  266. package/dist/cli/chunks/witness-chain-WYMBNGSL.js +2 -0
  267. package/dist/cli/chunks/{workflow-TA6RY7R5.js → workflow-3FJSNLPI.js} +4 -4
  268. package/dist/cli/chunks/workflow-orchestrator-56JIXCI4.js +2 -0
  269. package/dist/cli/chunks/{wrappers-DS77IK4H.js → wrappers-ERTQNIPK.js} +2 -2
  270. package/dist/cli/commands/mcp.js +28 -28
  271. package/dist/cli/handlers/init-handler.d.ts +4 -0
  272. package/dist/cli/handlers/init-handler.js +50 -1
  273. package/dist/coordination/result-saver.js +4 -0
  274. package/dist/domains/code-intelligence/coordinator-hypergraph.js +9 -4
  275. package/dist/domains/code-intelligence/coordinator.js +9 -4
  276. package/dist/init/cline-installer.d.ts +6 -0
  277. package/dist/init/cline-installer.js +3 -1
  278. package/dist/init/codex-installer.d.ts +6 -0
  279. package/dist/init/codex-installer.js +3 -1
  280. package/dist/init/continuedev-installer.d.ts +6 -0
  281. package/dist/init/continuedev-installer.js +10 -3
  282. package/dist/init/copilot-installer.d.ts +6 -0
  283. package/dist/init/copilot-installer.js +3 -1
  284. package/dist/init/cursor-installer.d.ts +6 -0
  285. package/dist/init/cursor-installer.js +3 -1
  286. package/dist/init/kilocode-installer.d.ts +6 -0
  287. package/dist/init/kilocode-installer.js +3 -1
  288. package/dist/init/kiro-installer.d.ts +5 -0
  289. package/dist/init/kiro-installer.js +4 -4
  290. package/dist/init/opencode-installer.d.ts +39 -17
  291. package/dist/init/opencode-installer.js +166 -114
  292. package/dist/init/orchestrator.js +2 -0
  293. package/dist/init/phases/04-database.d.ts +5 -0
  294. package/dist/init/phases/04-database.js +7 -0
  295. package/dist/init/phases/05-learning.js +3 -0
  296. package/dist/init/phases/06-code-intelligence.js +6 -0
  297. package/dist/init/phases/07-hooks.js +5 -0
  298. package/dist/init/phases/08-mcp.js +34 -7
  299. package/dist/init/phases/09-assets.js +35 -28
  300. package/dist/init/phases/10-workers.js +4 -0
  301. package/dist/init/phases/11-claude-md.d.ts +1 -0
  302. package/dist/init/phases/11-claude-md.js +8 -0
  303. package/dist/init/phases/12-verification.js +10 -5
  304. package/dist/init/phases/13-governance.js +5 -0
  305. package/dist/init/phases/phase-interface.d.ts +14 -0
  306. package/dist/init/platform-config-generator.d.ts +3 -1
  307. package/dist/init/platform-config-generator.js +31 -17
  308. package/dist/init/roocode-installer.d.ts +6 -0
  309. package/dist/init/roocode-installer.js +3 -1
  310. package/dist/init/windsurf-installer.d.ts +6 -0
  311. package/dist/init/windsurf-installer.js +3 -1
  312. package/dist/integrations/ruvector/rvf-native-adapter.js +8 -0
  313. package/dist/integrations/ruvector/shared-rvf-dual-writer.js +5 -0
  314. package/dist/kernel/kernel.js +4 -2
  315. package/dist/kernel/unified-memory.js +66 -48
  316. package/dist/learning/rvf-pattern-store.js +8 -0
  317. package/dist/mcp/bundle.js +361 -358
  318. package/dist/mcp/entry.js +52 -6
  319. package/dist/mcp/handlers/core-handlers.js +7 -2
  320. package/dist/mcp/protocol-server.js +27 -1
  321. package/dist/mcp/services/session-store.d.ts +1 -0
  322. package/dist/mcp/services/session-store.js +7 -0
  323. package/dist/mcp/tools/base.d.ts +6 -0
  324. package/dist/mcp/tools/base.js +16 -0
  325. package/dist/optimization/session-cache.d.ts +11 -0
  326. package/dist/optimization/session-cache.js +31 -0
  327. package/package.json +7 -5
  328. package/dist/cli/chunks/adapter-TTIBYXH2.js +0 -2
  329. package/dist/cli/chunks/aqe-learning-engine-CTV5OLSN.js +0 -2
  330. package/dist/cli/chunks/base-ISNCJZ7A.js +0 -2
  331. package/dist/cli/chunks/browser-workflow-OD32QTTI.js +0 -2
  332. package/dist/cli/chunks/chunk-DF7V6X3N.js +0 -2
  333. package/dist/cli/chunks/chunk-I64BLAFS.js +0 -2
  334. package/dist/cli/chunks/chunk-LHZYTNOQ.js +0 -6
  335. package/dist/cli/chunks/chunk-LRRQEAP5.js +0 -2
  336. package/dist/cli/chunks/chunk-XCYPVJ34.js +0 -2
  337. package/dist/cli/chunks/chunk-XK7P7OXO.js +0 -2
  338. package/dist/cli/chunks/client-N4FQ6SMD.js +0 -2
  339. package/dist/cli/chunks/cline-installer-6JPWD64G.js +0 -4
  340. package/dist/cli/chunks/codex-installer-DA3GBMLN.js +0 -8
  341. package/dist/cli/chunks/continuedev-installer-DDDJGW26.js +0 -14
  342. package/dist/cli/chunks/copilot-installer-JVFCE6GT.js +0 -3
  343. package/dist/cli/chunks/core-handlers-SFD5HCA3.js +0 -2
  344. package/dist/cli/chunks/cross-domain-router-7HGRUNLT.js +0 -2
  345. package/dist/cli/chunks/cursor-installer-JFNYGSDD.js +0 -3
  346. package/dist/cli/chunks/dream-HPGD5TLD.js +0 -2
  347. package/dist/cli/chunks/heartbeat-scheduler-O6TI5E4P.js +0 -2
  348. package/dist/cli/chunks/hnsw-adapter-TOVTN23J.js +0 -2
  349. package/dist/cli/chunks/hnsw-index-KCZ75V7K.js +0 -2
  350. package/dist/cli/chunks/hybrid-router-4JEPC4JZ.js +0 -2
  351. package/dist/cli/chunks/impact-analyzer-3MHIU3SE.js +0 -2
  352. package/dist/cli/chunks/init-handler-MGCYDX62.js +0 -70
  353. package/dist/cli/chunks/init-wizard-ERBO5JNA.js +0 -2
  354. package/dist/cli/chunks/kernel-XJPIIWET.js +0 -2
  355. package/dist/cli/chunks/kilocode-installer-DQVWZUKP.js +0 -4
  356. package/dist/cli/chunks/knowledge-graph-NTJEG6ZE.js +0 -2
  357. package/dist/cli/chunks/llm-router-service-4T66BGB5.js +0 -2
  358. package/dist/cli/chunks/load-test-PM674TSK.js +0 -2
  359. package/dist/cli/chunks/mcp-GCTTJUBZ.js +0 -2
  360. package/dist/cli/chunks/memory-backend-53NQ5CG7.js +0 -2
  361. package/dist/cli/chunks/opencode-installer-6VJGEBIU.js +0 -3
  362. package/dist/cli/chunks/pattern-null-store-IF2RG2ON.js +0 -2
  363. package/dist/cli/chunks/protocol-executor-7AS75ZWT.js +0 -2
  364. package/dist/cli/chunks/provider-manager-AU2C4AET.js +0 -2
  365. package/dist/cli/chunks/qe-reasoning-bank-WATQRCFO.js +0 -2
  366. package/dist/cli/chunks/queen-coordinator-IOCC4VQH.js +0 -2
  367. package/dist/cli/chunks/roocode-installer-C32LCYAJ.js +0 -4
  368. package/dist/cli/chunks/router-SCJMX6WA.js +0 -2
  369. package/dist/cli/chunks/routing-feedback-RWC7F553.js +0 -2
  370. package/dist/cli/chunks/rvf-native-adapter-W2RT6PTO.js +0 -2
  371. package/dist/cli/chunks/safe-db-HO2LCAO3.js +0 -2
  372. package/dist/cli/chunks/schedule-XENCR4MR.js +0 -2
  373. package/dist/cli/chunks/scheduler-WKZ3O2SS.js +0 -2
  374. package/dist/cli/chunks/sqlite-persistence-IN6BOSCX.js +0 -2
  375. package/dist/cli/chunks/unified-memory-6MXOYRXZ.js +0 -2
  376. package/dist/cli/chunks/unified-memory-hnsw-HY3JJD5Z.js +0 -2
  377. package/dist/cli/chunks/unified-persistence-LKQNQYRY.js +0 -2
  378. package/dist/cli/chunks/visual-security-7TBWICHP.js +0 -2
  379. package/dist/cli/chunks/windsurf-installer-MFI6EAPH.js +0 -7
  380. package/dist/cli/chunks/witness-chain-24SVOWQL.js +0 -2
  381. package/dist/cli/chunks/workflow-orchestrator-XBDXCTLY.js +0 -2
@@ -42,8 +42,8 @@ export class AssetsPhase extends BasePhase {
42
42
  else if (options.autoMode && isVersionUpgrade) {
43
43
  context.services.log(` Version upgrade detected: updating skills and agents`);
44
44
  }
45
- // Install skills
46
- if (config.skills.install) {
45
+ // Install skills (Claude Code surface — skipped with --no-claude, #532)
46
+ if (!options.noClaude && config.skills.install) {
47
47
  const skillsInstaller = createSkillsInstaller({
48
48
  projectRoot,
49
49
  installV2Skills: config.skills.installV2,
@@ -56,25 +56,27 @@ export class AssetsPhase extends BasePhase {
56
56
  context.services.warn(`Skills warnings: ${skillsResult.errors.join(', ')}`);
57
57
  }
58
58
  }
59
- // Install agents
60
- try {
61
- const agentsInstaller = createAgentsInstaller({
62
- projectRoot,
63
- installQEAgents: true,
64
- installSubagents: true,
65
- overwrite: shouldOverwrite,
66
- });
67
- const agentsResult = await agentsInstaller.install();
68
- agentsInstalled = agentsResult.installed.length;
69
- if (agentsResult.errors.length > 0) {
70
- context.services.warn(`Agents warnings: ${agentsResult.errors.join(', ')}`);
59
+ // Install agents (Claude Code surface — skipped with --no-claude, #532)
60
+ if (!options.noClaude) {
61
+ try {
62
+ const agentsInstaller = createAgentsInstaller({
63
+ projectRoot,
64
+ installQEAgents: true,
65
+ installSubagents: true,
66
+ overwrite: shouldOverwrite,
67
+ });
68
+ const agentsResult = await agentsInstaller.install();
69
+ agentsInstalled = agentsResult.installed.length;
70
+ if (agentsResult.errors.length > 0) {
71
+ context.services.warn(`Agents warnings: ${agentsResult.errors.join(', ')}`);
72
+ }
71
73
  }
74
+ catch (error) {
75
+ context.services.warn(`Agents install error: ${error instanceof Error ? error.message : error}`);
76
+ }
77
+ // Initialize overlay configs in agent registry for runtime use
78
+ initializeOverlays(projectRoot);
72
79
  }
73
- catch (error) {
74
- context.services.warn(`Agents install error: ${error instanceof Error ? error.message : error}`);
75
- }
76
- // Initialize overlay configs in agent registry for runtime use
77
- initializeOverlays(projectRoot);
78
80
  // Install Vibium browser engine for the qe-browser fleet skill.
79
81
  // Graceful — never fails init if Vibium cannot be installed.
80
82
  // Skipped in --minimal mode per ADR-086 minimal-footprint guidance.
@@ -169,8 +171,12 @@ export class AssetsPhase extends BasePhase {
169
171
  projectRoot,
170
172
  installAgents: true,
171
173
  installSkills: true,
172
- installTools: true,
174
+ // AQE tool .ts files are not in OpenCode's tool() format and are
175
+ // redundant with the MCP server — never install them.
176
+ installTools: false,
173
177
  overwrite: shouldOverwrite,
178
+ // Database-free install => MCP server configured to run in-memory.
179
+ memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined,
174
180
  });
175
181
  const ocResult = await openCodeInstaller.install();
176
182
  openCodeAgents = ocResult.agentsInstalled.length;
@@ -200,6 +206,7 @@ export class AssetsPhase extends BasePhase {
200
206
  installHooks: true,
201
207
  installSteering: true,
202
208
  overwrite: shouldOverwrite,
209
+ memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined,
203
210
  });
204
211
  const kiroResult = await kiroInstaller.install();
205
212
  kiroAgents = kiroResult.agentsInstalled.length;
@@ -220,7 +227,7 @@ export class AssetsPhase extends BasePhase {
220
227
  const platformsConfigured = [];
221
228
  if (options.withCopilot || (options.autoMode && existsSync(join(projectRoot, '.vscode')))) {
222
229
  const { createCopilotInstaller } = await import('../copilot-installer.js');
223
- const installer = createCopilotInstaller({ projectRoot, overwrite: shouldOverwrite });
230
+ const installer = createCopilotInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
224
231
  const res = await installer.install();
225
232
  if (res.mcpConfigured)
226
233
  platformsConfigured.push('copilot');
@@ -233,7 +240,7 @@ export class AssetsPhase extends BasePhase {
233
240
  }
234
241
  if (options.withCursor || (options.autoMode && existsSync(join(projectRoot, '.cursor')))) {
235
242
  const { createCursorInstaller } = await import('../cursor-installer.js');
236
- const installer = createCursorInstaller({ projectRoot, overwrite: shouldOverwrite });
243
+ const installer = createCursorInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
237
244
  const res = await installer.install();
238
245
  if (res.mcpConfigured)
239
246
  platformsConfigured.push('cursor');
@@ -246,7 +253,7 @@ export class AssetsPhase extends BasePhase {
246
253
  }
247
254
  if (options.withCline) {
248
255
  const { createClineInstaller } = await import('../cline-installer.js');
249
- const installer = createClineInstaller({ projectRoot, overwrite: shouldOverwrite });
256
+ const installer = createClineInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
250
257
  const res = await installer.install();
251
258
  if (res.mcpConfigured)
252
259
  platformsConfigured.push('cline');
@@ -259,7 +266,7 @@ export class AssetsPhase extends BasePhase {
259
266
  }
260
267
  if (options.withKiloCode || (options.autoMode && existsSync(join(projectRoot, '.kilocode')))) {
261
268
  const { createKiloCodeInstaller } = await import('../kilocode-installer.js');
262
- const installer = createKiloCodeInstaller({ projectRoot, overwrite: shouldOverwrite });
269
+ const installer = createKiloCodeInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
263
270
  const res = await installer.install();
264
271
  if (res.mcpConfigured)
265
272
  platformsConfigured.push('kilocode');
@@ -272,7 +279,7 @@ export class AssetsPhase extends BasePhase {
272
279
  }
273
280
  if (options.withRooCode || (options.autoMode && existsSync(join(projectRoot, '.roo')))) {
274
281
  const { createRooCodeInstaller } = await import('../roocode-installer.js');
275
- const installer = createRooCodeInstaller({ projectRoot, overwrite: shouldOverwrite });
282
+ const installer = createRooCodeInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
276
283
  const res = await installer.install();
277
284
  if (res.mcpConfigured)
278
285
  platformsConfigured.push('roocode');
@@ -286,7 +293,7 @@ export class AssetsPhase extends BasePhase {
286
293
  // P2 platforms: Codex (TOML), Windsurf (JSON), Continue.dev (YAML)
287
294
  if (options.withCodex || (options.autoMode && existsSync(join(projectRoot, '.codex')))) {
288
295
  const { createCodexInstaller } = await import('../codex-installer.js');
289
- const installer = createCodexInstaller({ projectRoot, overwrite: shouldOverwrite });
296
+ const installer = createCodexInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
290
297
  const res = await installer.install();
291
298
  if (res.mcpConfigured)
292
299
  platformsConfigured.push('codex');
@@ -299,7 +306,7 @@ export class AssetsPhase extends BasePhase {
299
306
  }
300
307
  if (options.withWindsurf || (options.autoMode && existsSync(join(projectRoot, '.windsurf')))) {
301
308
  const { createWindsurfInstaller } = await import('../windsurf-installer.js');
302
- const installer = createWindsurfInstaller({ projectRoot, overwrite: shouldOverwrite });
309
+ const installer = createWindsurfInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
303
310
  const res = await installer.install();
304
311
  if (res.mcpConfigured)
305
312
  platformsConfigured.push('windsurf');
@@ -312,7 +319,7 @@ export class AssetsPhase extends BasePhase {
312
319
  }
313
320
  if (options.withContinueDev || (options.autoMode && existsSync(join(projectRoot, '.continue')))) {
314
321
  const { createContinueDevInstaller } = await import('../continuedev-installer.js');
315
- const installer = createContinueDevInstaller({ projectRoot, overwrite: shouldOverwrite });
322
+ const installer = createContinueDevInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
316
323
  const res = await installer.install();
317
324
  if (res.mcpConfigured)
318
325
  platformsConfigured.push('continuedev');
@@ -18,6 +18,10 @@ export class WorkersPhase extends BasePhase {
18
18
  critical = false;
19
19
  requiresPhases = ['configuration'];
20
20
  async shouldRun(context) {
21
+ // Background workers persist to the SQLite DB, which is absent in
22
+ // database-free mode.
23
+ if (context.options.memoryBackend === 'memory')
24
+ return false;
21
25
  const config = context.config;
22
26
  return config?.workers?.daemonAutoStart && (config?.workers?.enabled?.length ?? 0) > 0;
23
27
  }
@@ -17,6 +17,7 @@ export declare class ClaudeMdPhase extends BasePhase<ClaudeMdResult> {
17
17
  readonly order = 110;
18
18
  readonly critical = false;
19
19
  readonly requiresPhases: readonly ["configuration"];
20
+ shouldRun(context: InitContext): Promise<boolean>;
20
21
  protected run(context: InitContext): Promise<ClaudeMdResult>;
21
22
  /**
22
23
  * Generate CLAUDE.md content
@@ -14,6 +14,14 @@ export class ClaudeMdPhase extends BasePhase {
14
14
  order = 110;
15
15
  critical = false;
16
16
  requiresPhases = ['configuration'];
17
+ async shouldRun(context) {
18
+ // #532: --no-claude suppresses the Claude Code surface, including CLAUDE.md.
19
+ if (context.options.noClaude) {
20
+ context.services.log(' CLAUDE.md skipped (--no-claude)');
21
+ return false;
22
+ }
23
+ return true;
24
+ }
17
25
  async run(context) {
18
26
  const config = context.config;
19
27
  const { projectRoot } = context;
@@ -23,11 +23,13 @@ export class VerificationPhase extends BasePhase {
23
23
  const config = context.config;
24
24
  const { projectRoot } = context;
25
25
  const checks = [];
26
- // Check database exists
26
+ // Database-free mode: there is no SQLite database to verify or write to.
27
+ const memOnly = context.options.memoryBackend === 'memory';
28
+ // Check database exists (in-memory mode has none — treated as satisfied).
27
29
  const dbPath = join(projectRoot, '.agentic-qe', 'memory.db');
28
30
  checks.push({
29
- name: 'Database exists',
30
- passed: existsSync(dbPath),
31
+ name: memOnly ? 'Database (in-memory mode)' : 'Database exists',
32
+ passed: memOnly || existsSync(dbPath),
31
33
  });
32
34
  // Check .agentic-qe directory
33
35
  checks.push({
@@ -42,8 +44,11 @@ export class VerificationPhase extends BasePhase {
42
44
  name: 'Config saved',
43
45
  passed: existsSync(configPath),
44
46
  });
45
- // Write version marker
46
- const versionWritten = await this.writeVersionToDb(config.version, projectRoot);
47
+ // Write version marker. Skipped in database-free mode — there is no
48
+ // memory.db; the version is still recorded in config.yaml above.
49
+ const versionWritten = memOnly
50
+ ? true
51
+ : await this.writeVersionToDb(config.version, projectRoot);
47
52
  checks.push({
48
53
  name: 'Version marker',
49
54
  passed: versionWritten,
@@ -33,6 +33,11 @@ export class GovernancePhase extends BasePhase {
33
33
  * Run unless --no-governance flag is set
34
34
  */
35
35
  async shouldRun(context) {
36
+ // #532: governance is part of the Claude Code surface — skip with --no-claude.
37
+ if (context.options.noClaude) {
38
+ context.services.log(' Governance skipped (--no-claude)');
39
+ return false;
40
+ }
36
41
  // Check for --no-governance flag (via noGovernance option)
37
42
  if (context.options.noGovernance) {
38
43
  context.services.log(' Governance skipped (--no-governance flag)');
@@ -129,8 +129,22 @@ export interface InitOptions {
129
129
  withAllPlatforms?: boolean;
130
130
  /** Skip MCP server config (MCP is enabled by default) */
131
131
  noMcp?: boolean;
132
+ /**
133
+ * Suppress the default Claude Code surface (#532). When true, init does NOT
134
+ * write `.claude/` skills+agents, `.mcp.json`, `CLAUDE.md`, governance, or
135
+ * hooks — making `--with-<platform>` flags the only install targets (e.g. an
136
+ * OpenCode-only install). Opt-in via `--no-claude`; default install is
137
+ * unchanged. Pairs naturally with `--no-database`.
138
+ */
139
+ noClaude?: boolean;
132
140
  /** @deprecated Use default behavior instead — MCP is now enabled by default */
133
141
  withMcp?: boolean;
142
+ /**
143
+ * Memory backend for this install. 'memory' => database-free: the SQLite
144
+ * database phase is skipped and any MCP config is written to run in-memory.
145
+ * Undefined preserves the default persistent backend. Set via `--no-database`.
146
+ */
147
+ memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
134
148
  }
135
149
  /**
136
150
  * V2 installation detection result
@@ -35,7 +35,9 @@ export declare class PlatformConfigGenerator {
35
35
  /**
36
36
  * Generate the MCP config for a platform
37
37
  */
38
- generateMcpConfig(platformId: PlatformId): GeneratedConfig;
38
+ generateMcpConfig(platformId: PlatformId, opts?: {
39
+ memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
40
+ }): GeneratedConfig;
39
41
  /**
40
42
  * Generate behavioral rules / instruction file for a platform
41
43
  */
@@ -135,14 +135,22 @@ const SAFE_AUTO_APPROVE_TOOLS = [
135
135
  // ============================================================================
136
136
  // MCP Server Entry
137
137
  // ============================================================================
138
- function getMcpServerEntry(withAutoApprove) {
138
+ /**
139
+ * Build the MCP server env. Issue #533: in database-free mode the server must
140
+ * run in-memory (AQE_MEMORY_BACKEND=memory) and must NOT be pointed at a
141
+ * persistent db path — otherwise launching via this client recreates
142
+ * .agentic-qe/memory.db at runtime and defeats the --no-database install.
143
+ */
144
+ function getMcpServerEnv(dbFree) {
145
+ return dbFree
146
+ ? { AQE_MEMORY_BACKEND: 'memory', AQE_V3_MODE: 'true' }
147
+ : { AQE_MEMORY_PATH: '.agentic-qe/memory.db', AQE_V3_MODE: 'true' };
148
+ }
149
+ function getMcpServerEntry(withAutoApprove, dbFree) {
139
150
  const entry = {
140
151
  command: 'npx',
141
152
  args: ['-y', 'agentic-qe@latest', 'mcp'],
142
- env: {
143
- AQE_MEMORY_PATH: '.agentic-qe/memory.db',
144
- AQE_V3_MODE: 'true',
145
- },
153
+ env: getMcpServerEnv(dbFree),
146
154
  };
147
155
  if (withAutoApprove) {
148
156
  entry.disabled = false;
@@ -153,8 +161,8 @@ function getMcpServerEntry(withAutoApprove) {
153
161
  // ============================================================================
154
162
  // Config Generators
155
163
  // ============================================================================
156
- function generateJsonConfig(platform) {
157
- const serverEntry = getMcpServerEntry(platform.supportsAutoApprove);
164
+ function generateJsonConfig(platform, dbFree) {
165
+ const serverEntry = getMcpServerEntry(platform.supportsAutoApprove, dbFree);
158
166
  if (platform.id === 'copilot') {
159
167
  // Copilot uses "servers" key with "type": "stdio"
160
168
  const config = {
@@ -174,7 +182,10 @@ function generateJsonConfig(platform) {
174
182
  };
175
183
  return JSON.stringify(config, null, 2) + '\n';
176
184
  }
177
- function generateTomlConfig() {
185
+ function generateTomlConfig(dbFree) {
186
+ const envLines = dbFree
187
+ ? `AQE_MEMORY_BACKEND = "memory"\nAQE_V3_MODE = "true"`
188
+ : `AQE_MEMORY_PATH = ".agentic-qe/memory.db"\nAQE_V3_MODE = "true"`;
178
189
  return `# Agentic QE MCP Server
179
190
  [mcp_servers.agentic-qe]
180
191
  type = "stdio"
@@ -182,11 +193,13 @@ command = "npx"
182
193
  args = ["-y", "agentic-qe@latest", "mcp"]
183
194
 
184
195
  [mcp_servers.agentic-qe.env]
185
- AQE_MEMORY_PATH = ".agentic-qe/memory.db"
186
- AQE_V3_MODE = "true"
196
+ ${envLines}
187
197
  `;
188
198
  }
189
- function generateYamlConfig() {
199
+ function generateYamlConfig(dbFree) {
200
+ const envLines = dbFree
201
+ ? ` AQE_MEMORY_BACKEND: memory\n AQE_V3_MODE: "true"`
202
+ : ` AQE_MEMORY_PATH: .agentic-qe/memory.db\n AQE_V3_MODE: "true"`;
190
203
  return `# Agentic QE MCP Server
191
204
  mcpServers:
192
205
  - name: agentic-qe
@@ -196,8 +209,7 @@ mcpServers:
196
209
  - agentic-qe@latest
197
210
  - mcp
198
211
  env:
199
- AQE_MEMORY_PATH: .agentic-qe/memory.db
200
- AQE_V3_MODE: "true"
212
+ ${envLines}
201
213
  `;
202
214
  }
203
215
  // ============================================================================
@@ -281,19 +293,21 @@ export class PlatformConfigGenerator {
281
293
  /**
282
294
  * Generate the MCP config for a platform
283
295
  */
284
- generateMcpConfig(platformId) {
296
+ generateMcpConfig(platformId, opts) {
285
297
  const platform = this.getPlatform(platformId);
298
+ // Issue #533: database-free installs propagate AQE_MEMORY_BACKEND=memory.
299
+ const dbFree = opts?.memoryBackend === 'memory';
286
300
  let content;
287
301
  switch (platform.configFormat) {
288
302
  case 'toml':
289
- content = generateTomlConfig();
303
+ content = generateTomlConfig(dbFree);
290
304
  break;
291
305
  case 'yaml':
292
- content = generateYamlConfig();
306
+ content = generateYamlConfig(dbFree);
293
307
  break;
294
308
  case 'json':
295
309
  default:
296
- content = generateJsonConfig(platform);
310
+ content = generateJsonConfig(platform, dbFree);
297
311
  break;
298
312
  }
299
313
  return {
@@ -8,6 +8,11 @@
8
8
  export interface RooCodeInstallerOptions {
9
9
  projectRoot: string;
10
10
  overwrite?: boolean;
11
+ /**
12
+ * Memory backend for this install. 'memory' => database-free: the MCP config
13
+ * is written to run in-memory (AQE_MEMORY_BACKEND=memory, no AQE_MEMORY_PATH). (#533)
14
+ */
15
+ memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
11
16
  }
12
17
  export interface RooCodeInstallResult {
13
18
  success: boolean;
@@ -20,6 +25,7 @@ export interface RooCodeInstallResult {
20
25
  export declare class RooCodeInstaller {
21
26
  private projectRoot;
22
27
  private overwrite;
28
+ private options;
23
29
  private generator;
24
30
  constructor(options: RooCodeInstallerOptions);
25
31
  install(): Promise<RooCodeInstallResult>;
@@ -15,10 +15,12 @@ import { createPlatformConfigGenerator, } from './platform-config-generator.js';
15
15
  export class RooCodeInstaller {
16
16
  projectRoot;
17
17
  overwrite;
18
+ options;
18
19
  generator;
19
20
  constructor(options) {
20
21
  this.projectRoot = options.projectRoot;
21
22
  this.overwrite = options.overwrite ?? false;
23
+ this.options = options;
22
24
  this.generator = createPlatformConfigGenerator();
23
25
  }
24
26
  async install() {
@@ -32,7 +34,7 @@ export class RooCodeInstaller {
32
34
  };
33
35
  try {
34
36
  // Generate MCP config
35
- const mcpConfig = this.generator.generateMcpConfig('roocode');
37
+ const mcpConfig = this.generator.generateMcpConfig('roocode', { memoryBackend: this.options.memoryBackend });
36
38
  const configPath = join(this.projectRoot, mcpConfig.path);
37
39
  result.configPath = configPath;
38
40
  if (!existsSync(configPath) || this.overwrite) {
@@ -8,6 +8,11 @@
8
8
  export interface WindsurfInstallerOptions {
9
9
  projectRoot: string;
10
10
  overwrite?: boolean;
11
+ /**
12
+ * Memory backend for this install. 'memory' => database-free: the MCP config
13
+ * is written to run in-memory (AQE_MEMORY_BACKEND=memory, no AQE_MEMORY_PATH). (#533)
14
+ */
15
+ memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
11
16
  }
12
17
  export interface WindsurfInstallResult {
13
18
  success: boolean;
@@ -20,6 +25,7 @@ export interface WindsurfInstallResult {
20
25
  export declare class WindsurfInstaller {
21
26
  private projectRoot;
22
27
  private overwrite;
28
+ private options;
23
29
  private generator;
24
30
  constructor(options: WindsurfInstallerOptions);
25
31
  install(): Promise<WindsurfInstallResult>;
@@ -15,10 +15,12 @@ import { createPlatformConfigGenerator, } from './platform-config-generator.js';
15
15
  export class WindsurfInstaller {
16
16
  projectRoot;
17
17
  overwrite;
18
+ options;
18
19
  generator;
19
20
  constructor(options) {
20
21
  this.projectRoot = options.projectRoot;
21
22
  this.overwrite = options.overwrite ?? false;
23
+ this.options = options;
22
24
  this.generator = createPlatformConfigGenerator();
23
25
  }
24
26
  async install() {
@@ -32,7 +34,7 @@ export class WindsurfInstaller {
32
34
  };
33
35
  try {
34
36
  // Generate MCP config (project-level .windsurf/mcp_config.json)
35
- const mcpConfig = this.generator.generateMcpConfig('windsurf');
37
+ const mcpConfig = this.generator.generateMcpConfig('windsurf', { memoryBackend: this.options.memoryBackend });
36
38
  const configPath = join(this.projectRoot, mcpConfig.path);
37
39
  result.configPath = configPath;
38
40
  if (!existsSync(configPath) || this.overwrite) {
@@ -368,6 +368,14 @@ export function openRvfStoreReadonly(path) {
368
368
  }
369
369
  /** Check whether the native binding is loadable on this platform */
370
370
  export function isRvfNativeAvailable() {
371
+ // Database-free mode (#534): report RVF as unavailable so every consumer
372
+ // (RVF pattern store, dual-writer, agent memory branches) takes its existing
373
+ // "no native RVF" degraded path and writes nothing to disk — no patterns.rvf,
374
+ // brain.rvf, or branches/*.rvf. This is the single central gate for all
375
+ // on-disk RVF stores.
376
+ if (process.env.AQE_MEMORY_BACKEND === 'memory') {
377
+ return false;
378
+ }
371
379
  return getNative() !== null;
372
380
  }
373
381
  //# sourceMappingURL=rvf-native-adapter.js.map
@@ -50,6 +50,11 @@ export async function getSharedRvfDualWriter() {
50
50
  if (rvfMode === 'sqlite-only') {
51
51
  return null;
52
52
  }
53
+ // Database-free mode (#534): no on-disk RVF store (brain.rvf). The unified
54
+ // DB is already in-memory, so there is nothing to dual-write to disk.
55
+ if (process.env.AQE_MEMORY_BACKEND === 'memory') {
56
+ return null;
57
+ }
53
58
  // Auto-detect native availability (dynamic import to avoid bundling .node files)
54
59
  const { isRvfNativeAvailable } = await import('./rvf-native-adapter.js');
55
60
  if (!isRvfNativeAvailable()) {
@@ -144,8 +144,10 @@ export class QEKernelImpl {
144
144
  // and memory backend setup now happen in async initialize().
145
145
  const projectRoot = findProjectRoot();
146
146
  const dataDir = this._config.dataDir || path.join(projectRoot, '.agentic-qe');
147
- // Ensure data directory exists
148
- if (!fs.existsSync(dataDir)) {
147
+ // Ensure data directory exists. Skipped in database-free mode so the
148
+ // project's .agentic-qe/ is never created (the memory branch below uses a
149
+ // throwaway temp DB outside the project).
150
+ if (this._config.memoryBackend !== 'memory' && !fs.existsSync(dataDir)) {
149
151
  fs.mkdirSync(dataDir, { recursive: true });
150
152
  }
151
153
  // Initialize memory backend based on config
@@ -125,6 +125,14 @@ export class UnifiedMemoryManager {
125
125
  constructor(config) {
126
126
  const resolvedDefaults = getResolvedDefaultConfig();
127
127
  this.config = { ...resolvedDefaults, ...config };
128
+ // Database-free mode (#534): keep ALL unified persistence in an ephemeral
129
+ // in-memory SQLite DB. Handlers/domains that reach for UnifiedMemoryManager
130
+ // (core-handlers, trajectory-judge, test-generator, experience-capture, …)
131
+ // keep working, but nothing is ever written under .agentic-qe/.
132
+ if (process.env.AQE_MEMORY_BACKEND === 'memory') {
133
+ this.config.dbPath = ':memory:';
134
+ return;
135
+ }
128
136
  if (!path.isAbsolute(this.config.dbPath)) {
129
137
  const projectRoot = findProjectRoot();
130
138
  this.config.dbPath = path.join(projectRoot, this.config.dbPath);
@@ -175,56 +183,63 @@ export class UnifiedMemoryManager {
175
183
  return;
176
184
  signal?.throwIfAborted();
177
185
  try {
178
- // SAFETY: Detect test processes trying to open the production DB.
179
- // If AQE_PROJECT_ROOT is set to a temp dir (vitest isolation) but the
180
- // dbPath resolves to the REAL project's .agentic-qe/memory.db, redirect.
181
- // Only redirect production paths — leave explicitly-set temp paths alone.
182
- const envRoot = process.env.AQE_PROJECT_ROOT;
183
- if (envRoot) {
184
- const resolvedPath = path.resolve(this.config.dbPath);
185
- const resolvedRoot = path.resolve(envRoot);
186
- // Only redirect if path points OUTSIDE the env root AND into a real
187
- // .agentic-qe directory (not another temp test dir)
188
- if (!resolvedPath.startsWith(resolvedRoot) &&
189
- !resolvedPath.startsWith(os.tmpdir()) &&
190
- resolvedPath.includes('.agentic-qe')) {
191
- console.error(`[UnifiedMemory] WARNING: DB path "${this.config.dbPath}" points to a ` +
192
- `production .agentic-qe/ while AQE_PROJECT_ROOT="${envRoot}". ` +
193
- `Redirecting to test-safe path.`);
194
- this.config.dbPath = path.join(envRoot, '.agentic-qe', 'memory.db');
195
- }
196
- }
197
- const dir = path.dirname(this.config.dbPath);
198
- if (!fs.existsSync(dir)) {
199
- fs.mkdirSync(dir, { recursive: true });
200
- }
201
- // DATA LOSS PREVENTION: If the DB file already exists, record its size
202
- // before opening. better-sqlite3's `new Database(path)` creates a fresh
203
- // empty file when the path doesn't exist. If we expected an existing DB
204
- // (dir exists, .agentic-qe present) but the file is missing, something
205
- // deleted it — warn loudly and look for the most recent backup.
206
- const dbExistedBefore = fs.existsSync(this.config.dbPath);
186
+ // Database-free mode (#534): ':memory:' is ephemeral skip ALL filesystem
187
+ // work (dir creation, path redirect, backup recovery, size accounting).
188
+ const inMemory = this.config.dbPath === ':memory:';
189
+ let dir = '';
190
+ let dbExistedBefore = false;
207
191
  let dbSizeBefore = 0;
208
- if (dbExistedBefore) {
209
- dbSizeBefore = fs.statSync(this.config.dbPath).size;
210
- }
211
- else if (fs.existsSync(dir)) {
212
- // The .agentic-qe directory exists but memory.db is missing suspect data loss
213
- const backups = this.findRecentBackups(dir);
214
- if (backups.length > 0) {
215
- const newest = backups[0];
216
- console.error(`[UnifiedMemory] CRITICAL: Database file missing but directory exists!\n` +
217
- ` Expected: ${this.config.dbPath}\n` +
218
- ` Found ${backups.length} backup(s), newest: ${newest.path} (${(newest.size / 1024 / 1024).toFixed(1)}MB)\n` +
219
- ` Restoring from backup to prevent data loss...`);
220
- fs.copyFileSync(newest.path, this.config.dbPath);
221
- // Remove stale WAL/SHM that may belong to the old file
222
- for (const suffix of ['-wal', '-shm']) {
223
- const walPath = this.config.dbPath + suffix;
224
- if (fs.existsSync(walPath))
225
- fs.unlinkSync(walPath);
192
+ if (!inMemory) {
193
+ // SAFETY: Detect test processes trying to open the production DB.
194
+ // If AQE_PROJECT_ROOT is set to a temp dir (vitest isolation) but the
195
+ // dbPath resolves to the REAL project's .agentic-qe/memory.db, redirect.
196
+ // Only redirect production paths leave explicitly-set temp paths alone.
197
+ const envRoot = process.env.AQE_PROJECT_ROOT;
198
+ if (envRoot) {
199
+ const resolvedPath = path.resolve(this.config.dbPath);
200
+ const resolvedRoot = path.resolve(envRoot);
201
+ // Only redirect if path points OUTSIDE the env root AND into a real
202
+ // .agentic-qe directory (not another temp test dir)
203
+ if (!resolvedPath.startsWith(resolvedRoot) &&
204
+ !resolvedPath.startsWith(os.tmpdir()) &&
205
+ resolvedPath.includes('.agentic-qe')) {
206
+ console.error(`[UnifiedMemory] WARNING: DB path "${this.config.dbPath}" points to a ` +
207
+ `production .agentic-qe/ while AQE_PROJECT_ROOT="${envRoot}". ` +
208
+ `Redirecting to test-safe path.`);
209
+ this.config.dbPath = path.join(envRoot, '.agentic-qe', 'memory.db');
210
+ }
211
+ }
212
+ dir = path.dirname(this.config.dbPath);
213
+ if (!fs.existsSync(dir)) {
214
+ fs.mkdirSync(dir, { recursive: true });
215
+ }
216
+ // DATA LOSS PREVENTION: If the DB file already exists, record its size
217
+ // before opening. better-sqlite3's `new Database(path)` creates a fresh
218
+ // empty file when the path doesn't exist. If we expected an existing DB
219
+ // (dir exists, .agentic-qe present) but the file is missing, something
220
+ // deleted it — warn loudly and look for the most recent backup.
221
+ dbExistedBefore = fs.existsSync(this.config.dbPath);
222
+ if (dbExistedBefore) {
223
+ dbSizeBefore = fs.statSync(this.config.dbPath).size;
224
+ }
225
+ else if (fs.existsSync(dir)) {
226
+ // The .agentic-qe directory exists but memory.db is missing — suspect data loss
227
+ const backups = this.findRecentBackups(dir);
228
+ if (backups.length > 0) {
229
+ const newest = backups[0];
230
+ console.error(`[UnifiedMemory] CRITICAL: Database file missing but directory exists!\n` +
231
+ ` Expected: ${this.config.dbPath}\n` +
232
+ ` Found ${backups.length} backup(s), newest: ${newest.path} (${(newest.size / 1024 / 1024).toFixed(1)}MB)\n` +
233
+ ` Restoring from backup to prevent data loss...`);
234
+ fs.copyFileSync(newest.path, this.config.dbPath);
235
+ // Remove stale WAL/SHM that may belong to the old file
236
+ for (const suffix of ['-wal', '-shm']) {
237
+ const walPath = this.config.dbPath + suffix;
238
+ if (fs.existsSync(walPath))
239
+ fs.unlinkSync(walPath);
240
+ }
241
+ dbSizeBefore = newest.size;
226
242
  }
227
- dbSizeBefore = newest.size;
228
243
  }
229
244
  }
230
245
  // Bail before opening the DB if the caller already gave up — saves a
@@ -327,6 +342,9 @@ export class UnifiedMemoryManager {
327
342
  }
328
343
  }
329
344
  warnIfDuplicateDatabases() {
345
+ // Database-free mode has no on-disk canonical DB to compare against.
346
+ if (this.config.dbPath === ':memory:')
347
+ return;
330
348
  try {
331
349
  const projectRoot = findProjectRoot();
332
350
  const canonicalDb = path.resolve(this.config.dbPath);