agentic-qe 3.13.9 → 3.13.11
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.
- package/.claude/helpers/.helpers-version +1 -1
- package/.claude/helpers/auto-memory-hook.mjs +1 -1
- package/.claude/helpers/helpers.manifest.json +6 -6
- package/.claude/helpers/hook-handler.cjs +30 -0
- package/.claude/helpers/intelligence.cjs +121 -10
- package/.claude/helpers/statusline.cjs +737 -8
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +79 -0
- package/README.md +1 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/agents/claim-verifier/claim-verifier-service.js +4 -4
- package/dist/agents/claim-verifier/index.js +6 -6
- package/dist/agents/claim-verifier/verifiers/file-verifier.js +1 -1
- package/dist/agents/claim-verifier/verifiers/index.js +3 -3
- package/dist/agents/claim-verifier/verifiers/output-verifier.js +1 -1
- package/dist/causal-discovery/causal-graph.js +2 -2
- package/dist/causal-discovery/discovery-engine.js +2 -2
- package/dist/causal-discovery/weight-matrix.js +2 -2
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-YBSKQFQ4.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-UVFQL2YN.js → agent-booster-wasm-5ARDZYNO.js} +2 -2
- package/dist/cli/chunks/{agent-handler-OOIYA6HY.js → agent-handler-SVKEPF7B.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-JP657M2X.js → agent-memory-branch-QDL7OVHC.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-3H7DRDD4.js +2 -0
- package/dist/cli/chunks/{arena-YQQGPT3A.js → arena-7OCKBN6O.js} +2 -2
- package/dist/cli/chunks/{arena-3TEQR4Z5.js → arena-HQLSNQZ3.js} +4 -4
- package/dist/cli/chunks/{audit-2ZNYXWUH.js → audit-2EQJW5UE.js} +3 -3
- package/dist/cli/chunks/base-ZTD6PFD7.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-MIHBCO3K.js → better-sqlite3-OBFNNE4T.js} +2 -2
- package/dist/cli/chunks/{brain-handler-ROJZOXD3.js → brain-handler-FV2AJZ4A.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-LYOBZQYN.js → branch-enumerator-6B4L5O3D.js} +2 -2
- package/dist/cli/chunks/{browser-MYZ22Z22.js → browser-VDMGBWNK.js} +2 -2
- package/dist/cli/chunks/browser-workflow-GKWDM25H.js +2 -0
- package/dist/cli/chunks/{chunk-HUF4AONC.js → chunk-23E37MDA.js} +2 -2
- package/dist/cli/chunks/{chunk-3FUI4SKR.js → chunk-24XW7KUX.js} +2 -2
- package/dist/cli/chunks/{chunk-6HBULOTM.js → chunk-2BDTZYQN.js} +3 -3
- package/dist/cli/chunks/{chunk-ZSUBWGL3.js → chunk-2CBEQV6R.js} +2 -2
- package/dist/cli/chunks/{chunk-STFUARVH.js → chunk-2D7SBOZ4.js} +2 -2
- package/dist/cli/chunks/chunk-2E2QCIGR.js +12 -0
- package/dist/cli/chunks/{chunk-VGDQQVJI.js → chunk-2E3PRDEX.js} +2 -2
- package/dist/cli/chunks/{chunk-3Z44HZRV.js → chunk-2HT5HRAA.js} +2 -2
- package/dist/cli/chunks/{chunk-UNAAAXI2.js → chunk-2Y3PW5EJ.js} +2 -2
- package/dist/cli/chunks/{chunk-SMNHQK6U.js → chunk-36ONUM43.js} +1 -1
- package/dist/cli/chunks/{chunk-AET5ETY2.js → chunk-3SPYI7TS.js} +1 -1
- package/dist/cli/chunks/{chunk-FV2YHX26.js → chunk-4CTKRLRX.js} +2 -2
- package/dist/cli/chunks/{chunk-RQ3JWFH7.js → chunk-4DTBGQWA.js} +2 -2
- package/dist/cli/chunks/{chunk-OJ5FT22A.js → chunk-4TJJU5Y2.js} +3 -3
- package/dist/cli/chunks/{chunk-L5SV6NNH.js → chunk-4TUGQESL.js} +2 -2
- package/dist/cli/chunks/{chunk-WQT5WSDA.js → chunk-4X4GTEQY.js} +1 -1
- package/dist/cli/chunks/{chunk-KJKA35Q5.js → chunk-4ZQOJ7Q2.js} +2 -2
- package/dist/cli/chunks/{chunk-N4CORNKN.js → chunk-5364DBZG.js} +2 -2
- package/dist/cli/chunks/{chunk-65Q64QCC.js → chunk-76NSSNB3.js} +2 -2
- package/dist/cli/chunks/{chunk-NDO6NIB3.js → chunk-7HTYM6XY.js} +2 -2
- package/dist/cli/chunks/{chunk-CGVB4XBJ.js → chunk-7YL7P5XG.js} +2 -2
- package/dist/cli/chunks/{chunk-ZG25CHVY.js → chunk-AAPJG3WI.js} +2 -2
- package/dist/cli/chunks/{chunk-4FNDI3M2.js → chunk-AFXMTSO3.js} +1 -1
- package/dist/cli/chunks/{chunk-LCVKHWW2.js → chunk-AHG2O5HT.js} +2 -2
- package/dist/cli/chunks/{chunk-JA5WSDDW.js → chunk-ATRUE6CT.js} +2 -2
- package/dist/cli/chunks/{chunk-AKXLZ7CW.js → chunk-AZVV7POX.js} +3 -3
- package/dist/cli/chunks/{chunk-NUWMKDQH.js → chunk-B646CE3C.js} +2 -2
- package/dist/cli/chunks/{chunk-DSVSZPI3.js → chunk-BL5BHBXR.js} +1 -1
- package/dist/cli/chunks/{chunk-A546FJQP.js → chunk-BPPEN7SS.js} +2 -2
- package/dist/cli/chunks/{chunk-LNPXRGCM.js → chunk-BVKFBJX6.js} +4 -4
- package/dist/cli/chunks/{chunk-BSBYYUT5.js → chunk-CK7ZLMD2.js} +1 -1
- package/dist/cli/chunks/{chunk-UPCKORAJ.js → chunk-CTS545BF.js} +1 -1
- package/dist/cli/chunks/chunk-CYQRZ645.js +2 -0
- package/dist/cli/chunks/{chunk-ZKYKW4CH.js → chunk-DLL3AJH7.js} +1 -1
- package/dist/cli/chunks/{chunk-O6RY2MKE.js → chunk-DMHQ4ZUZ.js} +2 -2
- package/dist/cli/chunks/{chunk-HTVDDFRI.js → chunk-DPZ4AU6W.js} +2 -2
- package/dist/cli/chunks/{chunk-7NOX3Y6P.js → chunk-DXQMVATY.js} +2 -2
- package/dist/cli/chunks/{chunk-WC3WHPUW.js → chunk-E54QUKAD.js} +2 -2
- package/dist/cli/chunks/{chunk-JWS2G6PO.js → chunk-EHZQIXH6.js} +3 -3
- package/dist/cli/chunks/{chunk-TGFOEDBY.js → chunk-EI4KYBNI.js} +2 -2
- package/dist/cli/chunks/{chunk-EZITEQMG.js → chunk-EKFKQGIT.js} +1 -1
- package/dist/cli/chunks/{chunk-PG2ERIJE.js → chunk-EN36AFRJ.js} +1 -1
- package/dist/cli/chunks/{chunk-CKRIQVMB.js → chunk-EWH7PFV6.js} +1 -1
- package/dist/cli/chunks/{chunk-RWR5G4Q2.js → chunk-FBASWZ7G.js} +1 -1
- package/dist/cli/chunks/{chunk-72ALY5JJ.js → chunk-FPX4JSFH.js} +2 -2
- package/dist/cli/chunks/{chunk-C6HU5SIU.js → chunk-FXKOHZBN.js} +1 -1
- package/dist/cli/chunks/{chunk-RH2VLBDQ.js → chunk-GJTGHVAX.js} +4 -4
- package/dist/cli/chunks/{chunk-BJNQ4H5G.js → chunk-GP5QBJVO.js} +2 -2
- package/dist/cli/chunks/{chunk-X4OKGVV2.js → chunk-GPJDZFFV.js} +2 -2
- package/dist/cli/chunks/{chunk-LZF2HITR.js → chunk-GWTGBQ6X.js} +2 -2
- package/dist/cli/chunks/{chunk-IB6YCQDH.js → chunk-H3AKF2HS.js} +10 -10
- package/dist/cli/chunks/{chunk-4NJZLASI.js → chunk-H3BHOIT6.js} +3 -3
- package/dist/cli/chunks/{chunk-LN7FJGP7.js → chunk-H5DS7S4B.js} +2 -2
- package/dist/cli/chunks/{chunk-OOVCVFUF.js → chunk-H7QWOJF2.js} +2 -2
- package/dist/cli/chunks/{chunk-YDWDU45I.js → chunk-HGPMS6JL.js} +2 -2
- package/dist/cli/chunks/{chunk-NIRZ7WJ6.js → chunk-HHEWINDL.js} +1 -1
- package/dist/cli/chunks/{chunk-ZBLJYWUE.js → chunk-HV6LJ57R.js} +1 -1
- package/dist/cli/chunks/{chunk-OYVUVHNV.js → chunk-HZR4G6I3.js} +1 -1
- package/dist/cli/chunks/{chunk-E5SUSYYD.js → chunk-IGW5L7YM.js} +1 -1
- package/dist/cli/chunks/{chunk-TZ67G37C.js → chunk-IYMV4CU5.js} +2 -2
- package/dist/cli/chunks/{chunk-EFAH6NUD.js → chunk-IZF3VLNW.js} +1 -1
- package/dist/cli/chunks/{chunk-QWSAEJSB.js → chunk-IZOWGVTU.js} +2 -2
- package/dist/cli/chunks/{chunk-T56N64OC.js → chunk-JGXP67BP.js} +1 -1
- package/dist/cli/chunks/{chunk-K55DZSEB.js → chunk-JK6ENS3J.js} +2 -2
- package/dist/cli/chunks/{chunk-C3D6X6NJ.js → chunk-JKP2BUF5.js} +2 -2
- package/dist/cli/chunks/{chunk-JKIVHK36.js → chunk-JKPMV5VB.js} +5 -5
- package/dist/cli/chunks/{chunk-TON5HYQM.js → chunk-JTQSXU6V.js} +6 -6
- package/dist/cli/chunks/{chunk-DT4ZMOFZ.js → chunk-JWT675RM.js} +2 -2
- package/dist/cli/chunks/{chunk-6EKA2SCV.js → chunk-K652SCBA.js} +2 -2
- package/dist/cli/chunks/{chunk-2G5ALMG4.js → chunk-LIGDJP6H.js} +1 -1
- package/dist/cli/chunks/{chunk-6VX2X4V5.js → chunk-LLP3UW62.js} +2 -2
- package/dist/cli/chunks/{chunk-ATIP66H7.js → chunk-LM727BVL.js} +4 -4
- package/dist/cli/chunks/{chunk-NWIO7QC2.js → chunk-LPDT27EC.js} +2 -2
- package/dist/cli/chunks/{chunk-N46VHXWO.js → chunk-LREIHR2A.js} +2 -2
- package/dist/cli/chunks/{chunk-HZLDCCUG.js → chunk-LUAXQB57.js} +1 -1
- package/dist/cli/chunks/{chunk-2IZTUE6F.js → chunk-M3MRFZKD.js} +1 -1
- package/dist/cli/chunks/{chunk-RCWHZB3R.js → chunk-MS5CAEPA.js} +2 -2
- package/dist/cli/chunks/chunk-MUAW4AJ6.js +21 -0
- package/dist/cli/chunks/{chunk-3CJOOHYG.js → chunk-MWTFFGU3.js} +2 -2
- package/dist/cli/chunks/{chunk-X2337R6M.js → chunk-NC7HTDH5.js} +2 -2
- package/dist/cli/chunks/{chunk-MTDKYFTA.js → chunk-NHL37QAZ.js} +2 -2
- package/dist/cli/chunks/{chunk-YTSBGM2P.js → chunk-OJUI65TR.js} +2 -2
- package/dist/cli/chunks/{chunk-VS77GAT4.js → chunk-OLPJGYO5.js} +2 -2
- package/dist/cli/chunks/{chunk-54IXQXIS.js → chunk-OQWG7GOD.js} +2 -2
- package/dist/cli/chunks/{chunk-RBXHFTQ5.js → chunk-P736OKQN.js} +1 -1
- package/dist/cli/chunks/{chunk-LUWMJZ7E.js → chunk-PADCR4LY.js} +2 -2
- package/dist/cli/chunks/{chunk-L7XNBJHV.js → chunk-PBJ5I2NS.js} +2 -2
- package/dist/cli/chunks/{chunk-A5AE5UPZ.js → chunk-PJNIDDER.js} +1 -1
- package/dist/cli/chunks/{chunk-ZXXUIYCB.js → chunk-PT6U3IIK.js} +2 -2
- package/dist/cli/chunks/{chunk-JHVEZHOK.js → chunk-PZHAPI47.js} +3 -3
- package/dist/cli/chunks/{chunk-IYG6DTCX.js → chunk-QYHRDBKI.js} +2 -2
- package/dist/cli/chunks/{chunk-EJK3MI3R.js → chunk-RAV2NJNX.js} +1 -1
- package/dist/cli/chunks/{chunk-GBYAKR2N.js → chunk-RGUKQXKL.js} +2 -2
- package/dist/cli/chunks/{chunk-SXZQT2FZ.js → chunk-S3FNAHNC.js} +2 -2
- package/dist/cli/chunks/{chunk-B6XFUYR5.js → chunk-SJJFU7KK.js} +2 -2
- package/dist/cli/chunks/{chunk-A3DXONS3.js → chunk-SW56PB22.js} +2 -2
- package/dist/cli/chunks/{chunk-W6GI7MUQ.js → chunk-T5M4TZRB.js} +3 -3
- package/dist/cli/chunks/{chunk-GX6CO3D6.js → chunk-TBO64O56.js} +1 -1
- package/dist/cli/chunks/{chunk-MOI2ZRZO.js → chunk-TCVEXQLL.js} +2 -2
- package/dist/cli/chunks/{chunk-4QMDA37H.js → chunk-TJ67B7S7.js} +2 -2
- package/dist/cli/chunks/{chunk-4GQ5VVOT.js → chunk-TMY2Y7SC.js} +4 -4
- package/dist/cli/chunks/{chunk-PESU633W.js → chunk-TU4BYSXR.js} +2 -2
- package/dist/cli/chunks/{chunk-JOCSV4LF.js → chunk-TZA45FI7.js} +2 -2
- package/dist/cli/chunks/{chunk-7XX27XNP.js → chunk-U6G6RUFI.js} +1 -1
- package/dist/cli/chunks/{chunk-FWKC7LT4.js → chunk-UDFTDQ6C.js} +34 -29
- package/dist/cli/chunks/{chunk-UYTIAJYR.js → chunk-UDSNWQQI.js} +1 -1
- package/dist/cli/chunks/{chunk-RKW2QJOO.js → chunk-UGFHEVG4.js} +2 -2
- package/dist/cli/chunks/{chunk-LX6NH7H6.js → chunk-UJ2NRIAS.js} +2 -2
- package/dist/cli/chunks/chunk-UPMQHCC2.js +22 -0
- package/dist/cli/chunks/{chunk-Q3TRNLVW.js → chunk-UX5SM2PW.js} +1 -1
- package/dist/cli/chunks/{chunk-AWS57CRP.js → chunk-UZ7OWJ75.js} +1 -1
- package/dist/cli/chunks/{chunk-WCXFSJRL.js → chunk-V7QZMOG3.js} +2 -2
- package/dist/cli/chunks/{chunk-FOFNV7BX.js → chunk-VC77SDNH.js} +2 -2
- package/dist/cli/chunks/{chunk-LIGWEFMX.js → chunk-VHNAN7E2.js} +1 -1
- package/dist/cli/chunks/{chunk-ZFMJT3W3.js → chunk-VLW63UA2.js} +2 -2
- package/dist/cli/chunks/{chunk-DSIBLIBT.js → chunk-VNVGCJCS.js} +1 -1
- package/dist/cli/chunks/{chunk-D33E5HHN.js → chunk-VU3ARH4S.js} +1 -1
- package/dist/cli/chunks/{chunk-QLZARNJZ.js → chunk-W2NQDAJZ.js} +2 -2
- package/dist/cli/chunks/{chunk-CXE4PRSD.js → chunk-W2T36CS5.js} +1 -1
- package/dist/cli/chunks/{chunk-63MYZ3M7.js → chunk-W7BB4XLP.js} +2 -2
- package/dist/cli/chunks/{chunk-GTODN5Y4.js → chunk-WINYWMQP.js} +1 -1
- package/dist/cli/chunks/{chunk-IAETFGEU.js → chunk-WJB6YYMJ.js} +2 -2
- package/dist/cli/chunks/{chunk-HG72GVB7.js → chunk-WRMJWQUI.js} +1 -1
- package/dist/cli/chunks/{chunk-IPEZNH4I.js → chunk-WRZ5WZG3.js} +2 -2
- package/dist/cli/chunks/{chunk-JQOCV2J6.js → chunk-WVNLNXXI.js} +2 -2
- package/dist/cli/chunks/{chunk-DUTNDBCG.js → chunk-WYQM7GXW.js} +2 -2
- package/dist/cli/chunks/{chunk-GM2PCHSQ.js → chunk-XDK2TPI5.js} +1 -1
- package/dist/cli/chunks/{chunk-THFXHXI5.js → chunk-XEUUWOSS.js} +3 -3
- package/dist/cli/chunks/{chunk-OF6KNZTQ.js → chunk-XVFSZLRS.js} +1 -1
- package/dist/cli/chunks/{chunk-CHI37YGC.js → chunk-XZI4QXJJ.js} +2 -2
- package/dist/cli/chunks/{chunk-3ZE2SY34.js → chunk-Y2S6SS7M.js} +2 -2
- package/dist/cli/chunks/{chunk-6VYUCWXP.js → chunk-YDEYB6Z2.js} +1 -1
- package/dist/cli/chunks/{chunk-KMXLPREX.js → chunk-YEPJS4AM.js} +2 -2
- package/dist/cli/chunks/{chunk-YQJ2OXDO.js → chunk-YRCNWQBO.js} +2 -2
- package/dist/cli/chunks/{chunk-VAXIHPO5.js → chunk-YRV45WDT.js} +2 -2
- package/dist/cli/chunks/{chunk-XIPRR7GY.js → chunk-YXUFGDGS.js} +1 -1
- package/dist/cli/chunks/{chunk-IQ56TA3L.js → chunk-YYAJEPRD.js} +1 -1
- package/dist/cli/chunks/{chunk-IQVO6WPK.js → chunk-Z5ARI4XT.js} +2 -2
- package/dist/cli/chunks/{chunk-UHEBXKTE.js → chunk-ZNGFSR5M.js} +2 -2
- package/dist/cli/chunks/{ci-IMU2IXPA.js → ci-M6WYL2XY.js} +2 -2
- package/dist/cli/chunks/{ci-output-LGKIJVS5.js → ci-output-JFC3WOHX.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-FZ7TGAHZ.js → circuit-breaker-IMVBU6WP.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-W3XJ4FJ2.js → claude-flow-setup-M5T5ZUXX.js} +2 -2
- package/dist/cli/chunks/client-4Q5JE7RY.js +2 -0
- package/dist/cli/chunks/{cline-installer-TI3Y6JJR.js → cline-installer-LSFAUHXC.js} +2 -2
- package/dist/cli/chunks/{code-NX6PWOUZ.js → code-N3SWJ3XL.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-GQDB5XMF.js → code-index-extractor-WPGRG36B.js} +2 -2
- package/dist/cli/chunks/{codex-installer-EZZFZ5VD.js → codex-installer-LKRCSDU5.js} +2 -2
- package/dist/cli/chunks/{completions-X4ASXBRI.js → completions-E5TBZ5AB.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-PYG3DINO.js → complexity-analyzer-3FOSOELK.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-IR3Y2BQQ.js → continuedev-installer-ZSVFWMQB.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-JCTLA6PG.js → copilot-installer-POSKHPZM.js} +2 -2
- package/dist/cli/chunks/core-handlers-4GKEYGPS.js +2 -0
- package/dist/cli/chunks/{cost-tracker-BYW7MIWY.js → cost-tracker-3UWDCNGC.js} +2 -2
- package/dist/cli/chunks/{coverage-NY5GJHHO.js → coverage-HPBO67JF.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-PBJ2ZGPJ.js +2 -0
- package/dist/cli/chunks/{cursor-installer-LY2DK5ME.js → cursor-installer-DSW3L62X.js} +2 -2
- package/dist/cli/chunks/{daemon-LUSUET7S.js → daemon-2622ZCMJ.js} +3 -3
- package/dist/cli/chunks/{daemon-6BBTE3WA.js → daemon-33KTKDUM.js} +6 -6
- package/dist/cli/chunks/{dag-attention-scheduler-ETVDRH42.js → dag-attention-scheduler-YFT5JMM6.js} +2 -2
- package/dist/cli/chunks/{detect-5TDALRZ4.js → detect-COR3Q6BE.js} +2 -2
- package/dist/cli/chunks/{dist-node-ITA3A7NT.js → dist-node-5TRNTNWI.js} +2 -2
- package/dist/cli/chunks/{domain-handler-MMK44XEP.js → domain-handler-TZC4GCF6.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-XUYQQUDR.js → domain-transfer-D2TENM3Y.js} +2 -2
- package/dist/cli/chunks/dream-4EXVFHUJ.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-QVICUJUQ.js → embed-and-insert-pattern-COAZZGS6.js} +2 -2
- package/dist/cli/chunks/{eval-SXTOGYM3.js → eval-5ID5D77H.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-4HPAJFR6.js → experience-capture-middleware-MT4Z74TD.js} +3 -3
- package/dist/cli/chunks/{fast-paths-YBKHXUDN.js → fast-paths-MACRZGSE.js} +2 -2
- package/dist/cli/chunks/{feature-flags-Z5FQBEV4.js → feature-flags-JZX6ZBUX.js} +2 -2
- package/dist/cli/chunks/{feature-flags-S5Z3ULWK.js → feature-flags-LFNL6BHS.js} +2 -2
- package/dist/cli/chunks/{file-discovery-XZW5LKN3.js → file-discovery-DA5BEAO2.js} +2 -2
- package/dist/cli/chunks/{fleet-O75AZK4L.js → fleet-35I4F7D2.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-U4DJTYGF.js → gnn-wrapper-2W3HM3ZI.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-OWA45EGK.js → heartbeat-handler-6O2D2FU2.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-UNEYR3WR.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-JQG66H4L.js +2 -0
- package/dist/cli/chunks/hnsw-index-2NOROILM.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-7TOTV3ZL.js → hnsw-legacy-bridge-GWBXEMQR.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-IZMOJZUS.js → hnswlib-node-TZ4VLARU.js} +2 -2
- package/dist/cli/chunks/{hooks-PE5LSJKB.js → hooks-723GPTQ4.js} +46 -45
- package/dist/cli/chunks/hybrid-router-FXTAJATE.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-D35OOHVQ.js → hypergraph-engine-ILRYFJM5.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-DK3LHKQH.js → hypergraph-handler-523TSK4P.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-VHZSBWMT.js +2 -0
- package/dist/cli/chunks/{init-handler-IRDWSHCT.js → init-handler-RBDYIXNV.js} +6 -6
- package/dist/cli/chunks/init-wizard-EML4OET2.js +2 -0
- package/dist/cli/chunks/kernel-TMRJOEO2.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-USR3YEL6.js → kilocode-installer-E2QSX7Z7.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-HYY224T6.js → kiro-installer-EZZLT2R5.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-FMKVCMJQ.js +2 -0
- package/dist/cli/chunks/{learning-IHMVNPBE.js → learning-II2U3EV2.js} +44 -44
- package/dist/cli/chunks/{llm-router-J56WPWPM.js → llm-router-WC66OXZH.js} +4 -4
- package/dist/cli/chunks/llm-router-service-GOSVGMKM.js +2 -0
- package/dist/cli/chunks/{load-FXXVWFL6.js → load-QFQ3YOBQ.js} +2 -2
- package/dist/cli/chunks/load-test-WIRGDZIA.js +2 -0
- package/dist/cli/chunks/{mcp-KU5KYQTD.js → mcp-FPBBJJFY.js} +2 -2
- package/dist/cli/chunks/{memory-J2IAQPDA.js → memory-RKN6KV75.js} +5 -5
- package/dist/cli/chunks/memory-backend-XBBIXDZU.js +2 -0
- package/dist/cli/chunks/{memory-handlers-7ABPOY43.js → memory-handlers-SQHNK3DK.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-6PUQXMYY.js → multi-model-executor-OUNW3JM5.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-WMIV5I7Y.js → opencode-installer-FXETYGGY.js} +2 -2
- package/dist/cli/chunks/{orchestrator-5IT7SH3J.js → orchestrator-35UTVXSP.js} +8 -8
- package/dist/cli/chunks/pattern-null-store-PFLKHRVU.js +2 -0
- package/dist/cli/chunks/pattern-usage-recorder-YEQDS7DN.js +2 -0
- package/dist/cli/chunks/{pipeline-E2IRDQWS.js → pipeline-YDJMWCAR.js} +2 -2
- package/dist/cli/chunks/{platform-2VT7N4FW.js → platform-L3LPNVKT.js} +2 -2
- package/dist/cli/chunks/{plugin-LCDA6EH7.js → plugin-55EYFJH5.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-ROJL25C7.js → prime-radiant-advanced-wasm-SUZT6RTM.js} +2 -2
- package/dist/cli/chunks/protocol-executor-GAMNY2JB.js +2 -0
- package/dist/cli/chunks/{protocol-handler-VFJIPR3Z.js → protocol-handler-QNBFRJNY.js} +2 -2
- package/dist/cli/chunks/{prove-7FUSRIPO.js → prove-3X5NQP4L.js} +2 -2
- package/dist/cli/chunks/provider-manager-VTIG5AKU.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-KAX63PXV.js +2 -0
- package/dist/cli/chunks/{quality-ZH7UVAOX.js → quality-5ZONTNA6.js} +2 -2
- package/dist/cli/chunks/{quality-gate-AMEWYWGC.js → quality-gate-JPNREEVR.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-UYW2MDKI.js +2 -0
- package/dist/cli/chunks/{real-embeddings-IZVFG3L7.js → real-embeddings-HHR75AR5.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-HAYQZOWR.js → roocode-installer-ZK73O2GD.js} +2 -2
- package/dist/cli/chunks/router-NVDU7IIA.js +2 -0
- package/dist/cli/chunks/routing-feedback-KHR3J2J3.js +2 -0
- package/dist/cli/chunks/{routing-handler-7BQ4DGTC.js → routing-handler-2UN5GRHJ.js} +2 -2
- package/dist/cli/chunks/ruvector-commands-EQQUEVWN.js +8 -0
- package/dist/cli/chunks/{rvf-dual-writer-FWKV5K2X.js → rvf-dual-writer-43L75WLF.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-PI5KBWJU.js → rvf-migration-adapter-Y5OVCYTO.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-JHXYB46O.js → rvf-migration-coordinator-NEPDFB3N.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-PQ4IOTZU.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-DUM657DL.js → rvf-store-integrity-66FEC3MD.js} +2 -2
- package/dist/cli/chunks/safe-db-QHSFV63M.js +2 -0
- package/dist/cli/chunks/schedule-JGZFHJGM.js +2 -0
- package/dist/cli/chunks/scheduler-NGCDQIW5.js +2 -0
- package/dist/cli/chunks/{security-T5DTMZC6.js → security-H7PEUUCV.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-H5DBPOKP.js → shared-rvf-adapter-XETNK4ID.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-RNX4ZPSI.js → shared-rvf-dual-writer-PXD54BWJ.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-3JSNWL6I.js +2 -0
- package/dist/cli/chunks/{status-handler-FRFUWMNX.js → status-handler-CTXOH3FX.js} +2 -2
- package/dist/cli/chunks/{structural-health-HGI5BVK5.js → structural-health-EIFBDCRI.js} +2 -2
- package/dist/cli/chunks/{sync-SM74LPGW.js → sync-3SU4H6R3.js} +2 -2
- package/dist/cli/chunks/{sync-BZXPUFID.js → sync-PECWQ64K.js} +2 -2
- package/dist/cli/chunks/{task-handler-JSNI3UUU.js → task-handler-ZTUAT6YF.js} +2 -2
- package/dist/cli/chunks/{task-handlers-3GX6FAIK.js → task-handlers-4RIO7LJJ.js} +3 -3
- package/dist/cli/chunks/{test-GJKIE5YP.js → test-EV7BSUTI.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-GNQNODVJ.js → test-scheduling-4WVI5DLE.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-Y7M4MA5T.js → token-bootstrap-3P22AYZ4.js} +2 -2
- package/dist/cli/chunks/{token-usage-MJFATDHC.js → token-usage-FR3JOWYB.js} +2 -2
- package/dist/cli/chunks/{transformers-4KPBAG5X.js → transformers-FENO33LA.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-DH7LQEKB.js → tree-sitter-wasm-parser-YFGJLSMB.js} +2 -2
- package/dist/cli/chunks/{types-LMEHA7DB.js → types-N3Y565RZ.js} +2 -2
- package/dist/cli/chunks/unified-memory-4VO5KSHP.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-ZR2FZXOB.js +2 -0
- package/dist/cli/chunks/unified-persistence-VFPW5MFM.js +2 -0
- package/dist/cli/chunks/upgrade-33ZVVZFW.js +5 -0
- package/dist/cli/chunks/{validate-MLIAYGQB.js → validate-CS5PXGDF.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-35YPIDUP.js → validate-swarm-GRZPWYNM.js} +2 -2
- package/dist/cli/chunks/{vibium-6SVRNFHR.js → vibium-IO7N4VEE.js} +2 -2
- package/dist/cli/chunks/visual-security-SNADRUPR.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-QYZYEGUN.js → web-tree-sitter-UQXR5HHR.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-XUFBPW4P.js → windsurf-installer-BCKLSLZT.js} +2 -2
- package/dist/cli/chunks/witness-chain-2TXUTEJE.js +2 -0
- package/dist/cli/chunks/{witness-chain-33NEUT4H.js → witness-chain-R3V26QWL.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-SVCIWNWV.js → witness-key-manager-Y36HMPEM.js} +2 -2
- package/dist/cli/chunks/{workflow-GFR6CHMB.js → workflow-4TCIUUFQ.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-ON6UYRVE.js +2 -0
- package/dist/cli/chunks/{wrappers-IBS4IWV4.js → wrappers-MD4JRHJH.js} +2 -2
- package/dist/cli/commands/daemon.js +3 -3
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +20 -10
- package/dist/cli/commands/hooks-handlers/routing-hooks.js +7 -0
- package/dist/cli/commands/learning.js +55 -17
- package/dist/cli/commands/plugin.js +4 -4
- package/dist/cli/commands/quality-gate.js +5 -1
- package/dist/cli/commands/ruvector-commands.js +1 -1
- package/dist/cli/commands/upgrade.d.ts +5 -1
- package/dist/cli/commands/upgrade.js +34 -6
- package/dist/cli/index.js +1 -1
- package/dist/cli/utils/index.js +2 -2
- package/dist/context/compaction/index.js +11 -11
- package/dist/context/compaction/tier1-microcompact.js +1 -1
- package/dist/context/compaction/tier2-session-summary.js +1 -1
- package/dist/context/compaction/tier3-llm-compact.js +1 -1
- package/dist/context/compaction/tier4-reactive.js +1 -1
- package/dist/coordination/claims/index.js +8 -8
- package/dist/coordination/consensus/consensus-engine.js +4 -4
- package/dist/coordination/consensus/factory.js +4 -4
- package/dist/coordination/consensus/index.js +8 -8
- package/dist/coordination/consensus/providers/claude-provider.js +1 -1
- package/dist/coordination/consensus/providers/gemini-provider.js +1 -1
- package/dist/coordination/consensus/providers/index.js +7 -7
- package/dist/coordination/consensus/providers/native-learning-provider.js +1 -1
- package/dist/coordination/consensus/providers/ollama-provider.js +1 -1
- package/dist/coordination/consensus/providers/openai-provider.js +1 -1
- package/dist/coordination/consensus/providers/openrouter-provider.js +1 -1
- package/dist/coordination/consensus/strategies/index.js +3 -3
- package/dist/coordination/cross-domain-router.js +2 -2
- package/dist/coordination/dynamic-scaling/dynamic-scaler.js +1 -1
- package/dist/coordination/dynamic-scaling/index.js +2 -2
- package/dist/coordination/fleet-tiers/index.js +3 -3
- package/dist/coordination/fleet-tiers/tier-selector.js +2 -2
- package/dist/coordination/handlers/code-intelligence-handlers.js +2 -2
- package/dist/coordination/handlers/coverage-collection.js +1 -1
- package/dist/coordination/handlers/coverage-handlers.js +3 -3
- package/dist/coordination/handlers/index.js +7 -7
- package/dist/coordination/handlers/misc-handlers.js +1 -1
- package/dist/coordination/handlers/quality-handlers.js +2 -2
- package/dist/coordination/handlers/requirements-handlers.js +2 -2
- package/dist/coordination/handlers/security-handlers.js +2 -2
- package/dist/coordination/handlers/test-execution-handlers.js +1 -1
- package/dist/coordination/index.js +20 -20
- package/dist/coordination/mincut/dream-integration.js +1 -1
- package/dist/coordination/mincut/index.js +14 -14
- package/dist/coordination/mincut/mincut-health-monitor.js +2 -2
- package/dist/coordination/mincut/mincut-persistence.js +1 -1
- package/dist/coordination/mincut/morphogenetic-growth.js +1 -1
- package/dist/coordination/mincut/neural-goap.js +1 -1
- package/dist/coordination/mincut/queen-integration.js +5 -5
- package/dist/coordination/mincut/shared-singleton.js +3 -3
- package/dist/coordination/mincut/strange-loop.js +1 -1
- package/dist/coordination/mincut/time-crystal.js +8 -8
- package/dist/coordination/mixins/consensus-enabled-domain.js +2 -2
- package/dist/coordination/mixins/index.js +3 -3
- package/dist/coordination/protocol-executor.js +2 -2
- package/dist/coordination/protocols/code-intelligence-index.js +4 -4
- package/dist/coordination/protocols/defect-investigation.js +2 -2
- package/dist/coordination/protocols/morning-sync.js +1 -1
- package/dist/coordination/protocols/quality-gate.js +2 -2
- package/dist/coordination/queen-coordinator.js +4 -4
- package/dist/coordination/queen-task-management.js +1 -1
- package/dist/coordination/services/index.js +1 -1
- package/dist/coordination/task-executor.js +6 -6
- package/dist/domains/chaos-resilience/coordinator.js +6 -6
- package/dist/domains/chaos-resilience/index.js +5 -5
- package/dist/domains/chaos-resilience/plugin.js +6 -6
- package/dist/domains/chaos-resilience/services/chaos-engineer.js +3 -3
- package/dist/domains/chaos-resilience/services/index.js +3 -3
- package/dist/domains/chaos-resilience/services/load-tester.js +2 -2
- package/dist/domains/chaos-resilience/services/performance-profiler.js +2 -2
- package/dist/domains/code-intelligence/coordinator-consensus.js +1 -1
- package/dist/domains/code-intelligence/coordinator-gnn.js +1 -1
- package/dist/domains/code-intelligence/coordinator-hypergraph.js +2 -2
- package/dist/domains/code-intelligence/coordinator.js +9 -9
- package/dist/domains/code-intelligence/index.js +7 -7
- package/dist/domains/code-intelligence/plugin.js +6 -6
- package/dist/domains/code-intelligence/services/c4-model/index.js +3 -3
- package/dist/domains/code-intelligence/services/impact-analyzer.js +2 -2
- package/dist/domains/code-intelligence/services/index.js +6 -6
- package/dist/domains/code-intelligence/services/knowledge-graph.js +4 -4
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +1 -1
- package/dist/domains/code-intelligence/services/product-factors-bridge.js +5 -5
- package/dist/domains/code-intelligence/services/semantic-analyzer.js +2 -2
- package/dist/domains/coverage-analysis/coordinator.js +9 -9
- package/dist/domains/coverage-analysis/index.js +10 -10
- package/dist/domains/coverage-analysis/plugin.js +4 -4
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
- package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
- package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
- package/dist/domains/coverage-analysis/services/index.js +7 -7
- package/dist/domains/coverage-analysis/services/risk-scorer.js +1 -1
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +3 -3
- package/dist/domains/defect-intelligence/coordinator.js +5 -5
- package/dist/domains/defect-intelligence/index.js +5 -5
- package/dist/domains/defect-intelligence/plugin.js +6 -6
- package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.js +2 -2
- package/dist/domains/defect-intelligence/services/defect-predictor.js +4 -4
- package/dist/domains/defect-intelligence/services/index.js +4 -4
- package/dist/domains/defect-intelligence/services/pattern-learner.js +2 -2
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +1 -1
- package/dist/domains/domain-interface.js +1 -1
- package/dist/domains/index.js +14 -14
- package/dist/domains/learning-optimization/coordinator.d.ts +3 -0
- package/dist/domains/learning-optimization/coordinator.js +6 -0
- package/dist/domains/learning-optimization/interfaces.d.ts +2 -0
- package/dist/domains/learning-optimization/plugin.d.ts +3 -0
- package/dist/domains/learning-optimization/plugin.js +5 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.js +2 -2
- package/dist/domains/quality-assessment/coherence/lambda-calculator.js +1 -1
- package/dist/domains/quality-assessment/coherence/partition-detector.js +1 -1
- package/dist/domains/quality-assessment/coordinator-gate-evaluation.js +1 -1
- package/dist/domains/quality-assessment/coordinator-reports.js +1 -1
- package/dist/domains/quality-assessment/coordinator-rl-integration.js +2 -2
- package/dist/domains/quality-assessment/coordinator.js +5 -5
- package/dist/domains/quality-assessment/index.js +9 -9
- package/dist/domains/quality-assessment/plugin.js +6 -6
- package/dist/domains/quality-assessment/services/coherence-gate.js +6 -6
- package/dist/domains/quality-assessment/services/deployment-advisor.js +1 -1
- package/dist/domains/quality-assessment/services/index.js +4 -4
- package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -2
- package/dist/domains/quality-assessment/services/quality-gate.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/analyzers/brutal-honesty-analyzer.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/analyzers/sfdipot-analyzer.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/gherkin-formatter.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/html-formatter.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/markdown-formatter.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/generators/question-generator.js +3 -3
- package/dist/domains/requirements-validation/services/product-factors-assessment/generators/test-idea-generator.js +3 -3
- package/dist/domains/requirements-validation/services/product-factors-assessment/patterns/domain-registry.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/patterns/index.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/skills/skill-integration.js +1 -1
- package/dist/domains/security-compliance/coordinator.js +1 -1
- package/dist/domains/security-compliance/index.js +1 -1
- package/dist/domains/security-compliance/services/compliance-validator.js +1 -1
- package/dist/domains/security-compliance/services/scanners/dast-helpers.js +1 -1
- package/dist/domains/security-compliance/services/scanners/dast-scanner.js +2 -2
- package/dist/domains/security-compliance/services/scanners/dependency-scanner.js +4 -4
- package/dist/domains/security-compliance/services/scanners/sast-scanner.js +3 -3
- package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +2 -2
- package/dist/domains/test-execution/coordinator.js +8 -8
- package/dist/domains/test-execution/index.js +9 -9
- package/dist/domains/test-execution/interfaces.js +1 -1
- package/dist/domains/test-execution/plugin.js +3 -3
- package/dist/domains/test-execution/services/e2e/adaptive-locator-service.js +1 -1
- package/dist/domains/test-execution/services/e2e/assertion-handlers.js +2 -2
- package/dist/domains/test-execution/services/e2e/browser-orchestrator.js +3 -3
- package/dist/domains/test-execution/services/e2e/e2e-coordinator.js +7 -7
- package/dist/domains/test-execution/services/e2e/index.js +10 -10
- package/dist/domains/test-execution/services/e2e/step-executors.js +6 -6
- package/dist/domains/test-execution/services/e2e/step-retry-handler.js +3 -3
- package/dist/domains/test-execution/services/e2e/wait-condition-handler.js +1 -1
- package/dist/domains/test-execution/services/e2e-runner.js +6 -6
- package/dist/domains/test-execution/services/flaky-detector.js +1 -1
- package/dist/domains/test-execution/services/index.js +9 -9
- package/dist/domains/test-execution/services/retry-handler.js +1 -1
- package/dist/domains/test-execution/services/test-executor.js +1 -1
- package/dist/domains/test-execution/services/test-prioritizer.js +3 -3
- package/dist/domains/test-execution/services/user-flow-generator.js +3 -3
- package/dist/domains/test-execution/test-prioritization-types.js +1 -1
- package/dist/domains/test-execution/types/index.js +3 -3
- package/dist/domains/test-generation/coordinator.js +5 -5
- package/dist/domains/test-generation/factories/index.js +1 -1
- package/dist/domains/test-generation/factories/test-generator-factory.js +1 -1
- package/dist/domains/test-generation/generators/base-test-generator.js +1 -1
- package/dist/domains/test-generation/generators/go-test-generator.js +2 -2
- package/dist/domains/test-generation/generators/index.js +13 -13
- package/dist/domains/test-generation/generators/jest-vitest-generator.js +1 -1
- package/dist/domains/test-generation/generators/junit5-generator.js +2 -2
- package/dist/domains/test-generation/generators/kotlin-junit-generator.js +2 -2
- package/dist/domains/test-generation/generators/mocha-generator.js +1 -1
- package/dist/domains/test-generation/generators/node-test-generator.js +1 -1
- package/dist/domains/test-generation/generators/pytest-generator.js +2 -2
- package/dist/domains/test-generation/generators/rust-test-generator.js +3 -3
- package/dist/domains/test-generation/generators/swift-testing-generator.js +2 -2
- package/dist/domains/test-generation/generators/xunit-generator.js +2 -2
- package/dist/domains/test-generation/index.js +7 -7
- package/dist/domains/test-generation/interfaces/index.js +1 -1
- package/dist/domains/test-generation/plugin.js +5 -5
- package/dist/domains/test-generation/services/code-transform-integration.js +1 -1
- package/dist/domains/test-generation/services/index.js +10 -10
- package/dist/domains/test-generation/services/pattern-matcher.js +2 -2
- package/dist/domains/test-generation/services/test-generator.js +5 -5
- package/dist/domains/visual-accessibility/coordinator.js +1 -1
- package/dist/early-exit/early-exit-controller.js +4 -4
- package/dist/early-exit/early-exit-decision.js +2 -2
- package/dist/early-exit/index.js +5 -5
- package/dist/early-exit/quality-signal.js +1 -1
- package/dist/early-exit/speculative-executor.js +1 -1
- package/dist/index.js +18 -18
- package/dist/init/phases/12-verification.js +8 -2
- package/dist/integrations/agentic-flow/agent-booster/adapter.js +4 -4
- package/dist/integrations/agentic-flow/agent-booster/index.js +10 -10
- package/dist/integrations/agentic-flow/index.js +6 -6
- package/dist/integrations/agentic-flow/metrics/index.js +3 -3
- package/dist/integrations/agentic-flow/metrics/metrics-tracker.js +2 -2
- package/dist/integrations/agentic-flow/metrics/pattern-updater.js +1 -1
- package/dist/integrations/agentic-flow/model-router/budget-enforcer.js +1 -1
- package/dist/integrations/agentic-flow/model-router/complexity-analyzer.js +7 -7
- package/dist/integrations/agentic-flow/model-router/example.js +1 -1
- package/dist/integrations/agentic-flow/model-router/index.js +16 -16
- package/dist/integrations/agentic-flow/model-router/router.js +6 -6
- package/dist/integrations/agentic-flow/model-router/signal-collector.js +1 -1
- package/dist/integrations/agentic-flow/model-router/tier-recommender.js +1 -1
- package/dist/integrations/agentic-flow/reasoning-bank/pattern-evolution.js +11 -6
- package/dist/integrations/browser/agent-browser/client.js +4 -4
- package/dist/integrations/browser/agent-browser/index.js +4 -4
- package/dist/integrations/browser/agent-browser/session-manager.js +1 -1
- package/dist/integrations/browser/client-factory.js +3 -3
- package/dist/integrations/browser/index.js +8 -8
- package/dist/integrations/browser/page-pool.js +1 -1
- package/dist/integrations/browser/stealth/index.js +2 -2
- package/dist/integrations/browser/stealth/stealth-client.js +3 -3
- package/dist/integrations/browser/web-content-fetcher.js +1 -1
- package/dist/integrations/coherence/coherence-service.js +2 -2
- package/dist/integrations/coherence/engines/category-adapter.js +1 -1
- package/dist/integrations/coherence/engines/causal-adapter.js +1 -1
- package/dist/integrations/coherence/engines/cohomology-adapter.js +1 -1
- package/dist/integrations/coherence/engines/homotopy-adapter.js +1 -1
- package/dist/integrations/coherence/engines/index.js +6 -6
- package/dist/integrations/coherence/engines/spectral-adapter.js +1 -1
- package/dist/integrations/coherence/engines/witness-adapter.js +1 -1
- package/dist/integrations/coherence/index.js +7 -7
- package/dist/integrations/coherence/threshold-tuner.js +1 -1
- package/dist/integrations/coherence/wasm-loader.js +2 -2
- package/dist/integrations/rl-suite/algorithms/a2c.js +2 -2
- package/dist/integrations/rl-suite/algorithms/actor-critic.js +2 -2
- package/dist/integrations/rl-suite/algorithms/ddpg.js +1 -1
- package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
- package/dist/integrations/rl-suite/algorithms/dqn.js +2 -2
- package/dist/integrations/rl-suite/algorithms/eprop.js +2 -2
- package/dist/integrations/rl-suite/algorithms/index.js +10 -10
- package/dist/integrations/rl-suite/algorithms/policy-gradient.js +2 -2
- package/dist/integrations/rl-suite/algorithms/ppo.js +2 -2
- package/dist/integrations/rl-suite/algorithms/q-learning.js +3 -3
- package/dist/integrations/rl-suite/algorithms/sarsa.js +2 -2
- package/dist/integrations/rl-suite/base-algorithm.js +1 -1
- package/dist/integrations/rl-suite/index.js +6 -6
- package/dist/integrations/rl-suite/neural/index.js +2 -2
- package/dist/integrations/rl-suite/orchestrator.js +11 -11
- package/dist/integrations/ruvector/ast-complexity.js +1 -1
- package/dist/integrations/ruvector/coverage-router.js +1 -1
- package/dist/integrations/ruvector/diff-risk-classifier.js +1 -1
- package/dist/integrations/ruvector/feature-flags.d.ts +2 -2
- package/dist/integrations/ruvector/graph-boundaries.js +1 -1
- package/dist/integrations/ruvector/hypergraph-engine.js +1 -1
- package/dist/integrations/ruvector/hypergraph-schema.js +1 -1
- package/dist/integrations/ruvector/index.d.ts +1 -1
- package/dist/integrations/ruvector/index.js +52 -52
- package/dist/integrations/ruvector/page-rank-backends.d.ts +41 -0
- package/dist/integrations/ruvector/page-rank-backends.js +154 -0
- package/dist/integrations/ruvector/persistent-q-router.js +2 -2
- package/dist/integrations/ruvector/q-learning-router.js +1 -1
- package/dist/integrations/ruvector/solver-adapter.d.ts +26 -29
- package/dist/integrations/ruvector/solver-adapter.js +57 -164
- package/dist/integrations/ruvector/sona-persistence.d.ts +13 -11
- package/dist/integrations/ruvector/sona-persistence.js +1 -1
- package/dist/integrations/vibium/client.js +3 -3
- package/dist/integrations/vibium/fallback.js +2 -2
- package/dist/integrations/vibium/index.js +9 -9
- package/dist/kernel/agent-coordinator.js +1 -1
- package/dist/kernel/event-bus.js +1 -1
- package/dist/kernel/hybrid-backend.js +1 -1
- package/dist/kernel/index.js +11 -11
- package/dist/kernel/kernel.js +27 -27
- package/dist/kernel/memory-factory.js +2 -2
- package/dist/kernel/unified-persistence.js +1 -1
- package/dist/learning/aqe-learning-engine.d.ts +0 -1
- package/dist/learning/aqe-learning-engine.js +2 -36
- package/dist/learning/pattern-lifecycle.js +1 -1
- package/dist/learning/pattern-promotion.d.ts +11 -1
- package/dist/learning/pattern-promotion.js +27 -0
- package/dist/learning/pattern-routing-guidance.d.ts +16 -0
- package/dist/learning/pattern-routing-guidance.js +34 -0
- package/dist/learning/pattern-usage-recorder.d.ts +10 -0
- package/dist/learning/pattern-usage-recorder.js +47 -0
- package/dist/learning/qe-reasoning-bank-types.d.ts +4 -0
- package/dist/learning/qe-reasoning-bank.d.ts +6 -0
- package/dist/learning/qe-reasoning-bank.js +16 -1
- package/dist/learning/real-qe-reasoning-bank.d.ts +2 -0
- package/dist/learning/real-qe-reasoning-bank.js +4 -2
- package/dist/learning/token-tracker.js +1 -1
- package/dist/logging/index.js +1 -1
- package/dist/logging/logger-factory.js +1 -1
- package/dist/mcp/bundle.js +402 -389
- package/dist/mcp/entry.js +1 -1
- package/dist/mcp/handlers/agent-handlers.js +2 -2
- package/dist/mcp/handlers/core-handlers.js +9 -9
- package/dist/mcp/handlers/domain-handler-configs.js +2 -2
- package/dist/mcp/handlers/domain-handlers.js +2 -2
- package/dist/mcp/handlers/handler-factory.js +3 -3
- package/dist/mcp/handlers/index.js +7 -7
- package/dist/mcp/handlers/memory-handlers.js +1 -1
- package/dist/mcp/handlers/task-handlers.js +3 -3
- package/dist/mcp/handlers/team-handlers.js +1 -1
- package/dist/mcp/index.js +11 -11
- package/dist/mcp/metrics/index.js +1 -1
- package/dist/mcp/protocol-server.js +13 -13
- package/dist/mcp/security/cve-prevention.js +23 -23
- package/dist/mcp/security/index.js +9 -9
- package/dist/mcp/security/validators/index.js +6 -6
- package/dist/mcp/services/index.js +1 -1
- package/dist/mcp/services/task-router.js +1 -1
- package/dist/mcp/tool-registry.js +4 -4
- package/dist/mcp/tools/base.js +1 -1
- package/dist/mcp/tools/code-intelligence/analyze.js +4 -4
- package/dist/mcp/tools/code-intelligence/c4.js +6 -6
- package/dist/mcp/tools/coverage-analysis/index.js +4 -4
- package/dist/mcp/tools/defect-intelligence/predict.js +2 -2
- package/dist/mcp/tools/embeddings/embedding.js +2 -2
- package/dist/mcp/tools/embeddings/index.js +1 -1
- package/dist/mcp/tools/index.js +20 -20
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +11 -0
- package/dist/mcp/tools/learning-optimization/optimize.js +21 -0
- package/dist/mcp/tools/mincut/index.js +2 -2
- package/dist/mcp/tools/quality-assessment/evaluate.js +1 -1
- package/dist/mcp/tools/quality-assessment/gate.js +5 -2
- package/dist/mcp/tools/qx-analysis/analyze.js +5 -5
- package/dist/mcp/tools/qx-analysis/heuristics-engine.js +1 -1
- package/dist/mcp/tools/qx-analysis/index.js +6 -6
- package/dist/mcp/tools/registry.js +25 -25
- package/dist/mcp/tools/requirements-validation/quality-criteria.js +1 -1
- package/dist/mcp/tools/requirements-validation/validate.js +1 -1
- package/dist/mcp/tools/security-compliance/scan.js +1 -1
- package/dist/mcp/tools/test-execution/e2e-execute.js +3 -3
- package/dist/mcp/tools/test-execution/execute.js +1 -1
- package/dist/mcp/tools/test-execution/index.js +2 -2
- package/dist/mcp/tools/test-generation/generate.js +3 -3
- package/dist/mcp/tools/visual-accessibility/index.js +3 -3
- package/dist/plugins/index.js +8 -8
- package/dist/plugins/lifecycle.js +5 -5
- package/dist/plugins/sources/github.js +1 -1
- package/dist/plugins/sources/local.js +1 -1
- package/dist/plugins/sources/npm.js +1 -1
- package/dist/shared/base-domain-plugin.js +1 -1
- package/dist/shared/c4-model/index.js +1 -1
- package/dist/shared/embeddings/index.js +4 -4
- package/dist/shared/embeddings/nomic-embedder.js +3 -3
- package/dist/shared/embeddings/ollama-client.js +1 -1
- package/dist/shared/entities/agent.js +1 -1
- package/dist/shared/entities/index.js +2 -2
- package/dist/shared/events/index.js +1 -1
- package/dist/shared/git/index.js +1 -1
- package/dist/shared/http/http-client.js +1 -1
- package/dist/shared/http/index.js +1 -1
- package/dist/shared/index.js +15 -15
- package/dist/shared/io/file-reader.js +1 -1
- package/dist/shared/io/index.js +1 -1
- package/dist/shared/llm/circuit-breaker.js +1 -1
- package/dist/shared/llm/index.js +11 -11
- package/dist/shared/llm/metrics/cost-metrics.js +2 -2
- package/dist/shared/llm/metrics/index.js +2 -2
- package/dist/shared/llm/metrics/router-metrics.js +1 -1
- package/dist/shared/llm/model-registry.js +1 -1
- package/dist/shared/llm/provider-manager.js +16 -16
- package/dist/shared/llm/providers/azure-openai.js +2 -2
- package/dist/shared/llm/providers/bedrock.js +2 -2
- package/dist/shared/llm/providers/claude-code.js +1 -1
- package/dist/shared/llm/providers/claude.js +4 -4
- package/dist/shared/llm/providers/codex.js +1 -1
- package/dist/shared/llm/providers/cognitum.js +1 -1
- package/dist/shared/llm/providers/gemini.js +1 -1
- package/dist/shared/llm/providers/index.js +10 -10
- package/dist/shared/llm/providers/ollama.js +2 -2
- package/dist/shared/llm/providers/openai.js +2 -2
- package/dist/shared/llm/providers/openrouter.js +1 -1
- package/dist/shared/llm/router/hybrid-router.js +7 -7
- package/dist/shared/llm/router/index.js +4 -4
- package/dist/shared/llm/router/routing-rules.js +1 -1
- package/dist/shared/llm/translation/index.js +3 -3
- package/dist/shared/llm/translation/prompt-translator.js +2 -2
- package/dist/shared/metrics/code-metrics.js +2 -2
- package/dist/shared/metrics/index.js +2 -2
- package/dist/shared/parsers/index.js +3 -3
- package/dist/shared/security/compliance-patterns.js +1 -1
- package/dist/shared/security/index.js +8 -8
- package/dist/shared/security/osv-client.js +1 -1
- package/dist/test-scheduling/index.js +9 -9
- package/dist/test-scheduling/phase-scheduler.js +1 -1
- package/dist/test-scheduling/pipeline.js +9 -9
- package/dist/validation/provider-llm-executor.js +5 -5
- package/dist/workers/daemon.js +3 -3
- package/dist/workers/index.js +5 -5
- package/dist/workers/quality-daemon/index.js +15 -15
- package/dist/workers/workers/compliance-checker.js +2 -2
- package/dist/workers/workers/coverage-tracker.js +1 -1
- package/dist/workers/workers/defect-predictor.js +1 -1
- package/dist/workers/workers/flaky-detector.js +1 -1
- package/dist/workers/workers/learning-consolidation.js +4 -4
- package/dist/workers/workers/performance-baseline.js +1 -1
- package/dist/workers/workers/quality-gate.js +1 -1
- package/dist/workers/workers/regression-monitor.js +1 -1
- package/dist/workers/workers/security-scan.js +1 -1
- package/dist/workers/workers/test-health.js +1 -1
- package/dist/workflows/browser/index.js +1 -1
- package/package.json +4 -3
- package/dist/cli/chunks/adapter-RFMUKKTU.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-YX4ZUVGL.js +0 -2
- package/dist/cli/chunks/base-BSRCRB56.js +0 -2
- package/dist/cli/chunks/browser-workflow-MDJBG6CZ.js +0 -2
- package/dist/cli/chunks/chunk-2FZW44YF.js +0 -21
- package/dist/cli/chunks/chunk-EEKIJM5G.js +0 -2
- package/dist/cli/chunks/chunk-G733R72C.js +0 -12
- package/dist/cli/chunks/chunk-Y5K3U5TI.js +0 -14
- package/dist/cli/chunks/client-N4UGKZ2N.js +0 -2
- package/dist/cli/chunks/core-handlers-AGVNKIM6.js +0 -2
- package/dist/cli/chunks/cross-domain-router-OKWDNCGK.js +0 -2
- package/dist/cli/chunks/dream-ET6PS24D.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-MORGAHPF.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-ZGMA3JMM.js +0 -2
- package/dist/cli/chunks/hnsw-index-SOQKFDD4.js +0 -2
- package/dist/cli/chunks/hybrid-router-DUOPXCME.js +0 -2
- package/dist/cli/chunks/impact-analyzer-7VPH2ILD.js +0 -2
- package/dist/cli/chunks/init-wizard-DEVYG7A6.js +0 -2
- package/dist/cli/chunks/kernel-QXRVO4OT.js +0 -2
- package/dist/cli/chunks/knowledge-graph-DJNX5GHZ.js +0 -2
- package/dist/cli/chunks/llm-router-service-LGB7IXQN.js +0 -2
- package/dist/cli/chunks/load-test-4UPWRKNK.js +0 -2
- package/dist/cli/chunks/memory-backend-7GNWUUTD.js +0 -2
- package/dist/cli/chunks/pattern-null-store-VIN6WCCD.js +0 -2
- package/dist/cli/chunks/pattern-usage-recorder-BSTPCNTW.js +0 -2
- package/dist/cli/chunks/protocol-executor-LZRFQ3LC.js +0 -2
- package/dist/cli/chunks/provider-manager-776QJ45P.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-ZA47GW6I.js +0 -2
- package/dist/cli/chunks/queen-coordinator-6YQWKOKJ.js +0 -2
- package/dist/cli/chunks/router-XILTD4YX.js +0 -2
- package/dist/cli/chunks/routing-feedback-D6NPEQ7P.js +0 -2
- package/dist/cli/chunks/ruvector-commands-QPSAC3JN.js +0 -8
- package/dist/cli/chunks/rvf-native-adapter-TPQTEI42.js +0 -2
- package/dist/cli/chunks/safe-db-PRWZLYKS.js +0 -2
- package/dist/cli/chunks/schedule-NPNJ2XSF.js +0 -2
- package/dist/cli/chunks/scheduler-IS3IM2KD.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-Q2JMMJ4C.js +0 -2
- package/dist/cli/chunks/unified-memory-VH2UVAIN.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-WRGZCJLD.js +0 -2
- package/dist/cli/chunks/unified-persistence-LLARTGPG.js +0 -2
- package/dist/cli/chunks/upgrade-TZQKTKEE.js +0 -5
- package/dist/cli/chunks/visual-security-AR645425.js +0 -2
- package/dist/cli/chunks/witness-chain-DCFTYGUF.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-PDPORL64.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.38.8
|
|
@@ -189,7 +189,7 @@ async function loadMemoryPackage() {
|
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
// Strategy 2: Use createRequire for CJS-style resolution (handles nested node_modules
|
|
192
|
-
// when installed as a transitive dependency via npx ruflo / npx claude-flow)
|
|
192
|
+
// when installed as a transitive dependency via npx ruflo / npx @claude-flow/cli@latest)
|
|
193
193
|
try {
|
|
194
194
|
const { createRequire } = await import('module');
|
|
195
195
|
const require = createRequire(join(PROJECT_ROOT, 'package.json'));
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest": {
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.38.8",
|
|
4
4
|
"files": {
|
|
5
|
-
"auto-memory-hook.mjs": "
|
|
6
|
-
"hook-handler.cjs": "
|
|
7
|
-
"intelligence.cjs": "
|
|
8
|
-
"statusline.cjs": "
|
|
5
|
+
"auto-memory-hook.mjs": "85fe05c757421c52137c0bc8545a0896bab6b4714538c2a11d1d0835bfcc8c1c",
|
|
6
|
+
"hook-handler.cjs": "dae295fb9ae2626b89899c19a20cc911541af82b52d2eeb9b214d618b96e9a86",
|
|
7
|
+
"intelligence.cjs": "30e42ed7ec4ca5a94ac54fdb1330d2d47ac5f3fdeeef207753574723a9e77b5c",
|
|
8
|
+
"statusline.cjs": "0457fe53f8cd2c56458ff178392536a5868efd1a573665fa43bc01d2d95ca677"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
-
"signature": "
|
|
11
|
+
"signature": "EoEEuSnNwaVCAmnwd7Evq+V2sD0Zz5cOqqZO4PecBOchzrcimyqFqkz4eOyhYF6iIhEtQ8+XsOvZKFKMbtKIDg==",
|
|
12
12
|
"algorithm": "ed25519"
|
|
13
13
|
}
|
|
@@ -286,6 +286,31 @@ async function readStdin() {
|
|
|
286
286
|
});
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
+
function claimSideEffectEvent(family, stdinData, event) {
|
|
290
|
+
if (/^(1|true|yes|on)$/i.test(process.env.RUFLO_DISABLE_HOOK_DEDUP || '')) return true;
|
|
291
|
+
try {
|
|
292
|
+
const crypto = require('crypto');
|
|
293
|
+
const eventId = event?.tool_use_id || event?.toolUseId ||
|
|
294
|
+
event?.session_id || event?.sessionId || event?.hook_event_id;
|
|
295
|
+
const payloadIdentity = eventId
|
|
296
|
+
? `event:${eventId}`
|
|
297
|
+
: `payload:${(stdinData || '').trim()}|bucket:${Math.floor(Date.now() / 2000)}`;
|
|
298
|
+
const projectRoot = process.env.CLAUDE_PROJECT_DIR || process.cwd();
|
|
299
|
+
const digest = crypto.createHash('sha256')
|
|
300
|
+
.update(`ruflo-hook-dedup-v1\0${path.resolve(projectRoot)}\0${family}\0${payloadIdentity}`)
|
|
301
|
+
.digest('hex');
|
|
302
|
+
const dir = process.env.RUFLO_HOOK_DEDUP_DIR ||
|
|
303
|
+
path.join(os.tmpdir(), 'ruflo-hook-dedup-v1');
|
|
304
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
305
|
+
const fd = fs.openSync(path.join(dir, digest), 'wx', 0o600);
|
|
306
|
+
fs.writeFileSync(fd, String(Date.now()));
|
|
307
|
+
fs.closeSync(fd);
|
|
308
|
+
return true;
|
|
309
|
+
} catch (error) {
|
|
310
|
+
return error?.code === 'EEXIST' ? false : true;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
289
314
|
async function main() {
|
|
290
315
|
// Global safety timeout: hooks must NEVER hang (#1530, #1531)
|
|
291
316
|
const safetyTimer = setTimeout(() => {
|
|
@@ -302,6 +327,11 @@ async function main() {
|
|
|
302
327
|
try { hookInput = JSON.parse(stdinData); } catch (e) { /* ignore parse errors */ }
|
|
303
328
|
}
|
|
304
329
|
|
|
330
|
+
if ((command === 'post-edit' || command === 'session-end') &&
|
|
331
|
+
!claimSideEffectEvent(command, stdinData, hookInput)) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
|
|
305
335
|
// Normalize snake_case/camelCase: Claude Code sends tool_input/tool_name (snake_case)
|
|
306
336
|
const toolInput = hookInput.toolInput || hookInput.tool_input || {};
|
|
307
337
|
const toolName = hookInput.toolName || hookInput.tool_name || '';
|
|
@@ -17,17 +17,40 @@
|
|
|
17
17
|
const fs = require('fs');
|
|
18
18
|
const path = require('path');
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
function resolveProjectRoot(startDir) {
|
|
21
|
+
if (process.env.CLAUDE_PROJECT_DIR) {
|
|
22
|
+
return path.resolve(process.env.CLAUDE_PROJECT_DIR);
|
|
23
|
+
}
|
|
24
|
+
let dir = path.resolve(startDir || process.cwd());
|
|
25
|
+
while (true) {
|
|
26
|
+
if (fs.existsSync(path.join(dir, '.git')) ||
|
|
27
|
+
fs.existsSync(path.join(dir, '.claude-flow'))) {
|
|
28
|
+
return dir;
|
|
29
|
+
}
|
|
30
|
+
const parent = path.dirname(dir);
|
|
31
|
+
if (parent === dir) return path.resolve(startDir || process.cwd());
|
|
32
|
+
dir = parent;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const PROJECT_ROOT = resolveProjectRoot(process.cwd());
|
|
37
|
+
const DATA_DIR = path.join(PROJECT_ROOT, '.claude-flow', 'data');
|
|
21
38
|
const STORE_PATH = path.join(DATA_DIR, 'auto-memory-store.json');
|
|
22
39
|
const GRAPH_PATH = path.join(DATA_DIR, 'graph-state.json');
|
|
23
40
|
const RANKED_PATH = path.join(DATA_DIR, 'ranked-context.json');
|
|
24
41
|
const PENDING_PATH = path.join(DATA_DIR, 'pending-insights.jsonl');
|
|
25
|
-
const
|
|
42
|
+
const LEGACY_PENDING_PATH = path.join(process.cwd(), '.claude-flow', 'data', 'pending-insights.jsonl');
|
|
43
|
+
const SESSION_DIR = path.join(PROJECT_ROOT, '.claude-flow', 'sessions');
|
|
26
44
|
const SESSION_FILE = path.join(SESSION_DIR, 'current.json');
|
|
27
45
|
|
|
28
46
|
// ── Safety limits (fixes #1530, #1531) ─────────────────────────────────────
|
|
29
47
|
const MAX_DATA_FILE_SIZE = 10 * 1024 * 1024; // 10 MB — skip files larger than this
|
|
30
48
|
const MAX_GRAPH_NODES = 5000; // skip PageRank if graph exceeds this
|
|
49
|
+
// #2628: similarity edges used to compare every pair in every category.
|
|
50
|
+
// Keep exact graph behavior for normal stores, but never let a session-end
|
|
51
|
+
// hook enter an unbounded O(n²) pass. Temporal edges remain linear and are
|
|
52
|
+
// always retained when the similarity pass is skipped.
|
|
53
|
+
const MAX_SIMILARITY_COMPARISONS = 100000;
|
|
31
54
|
|
|
32
55
|
// ── Stop words for trigram matching ──────────────────────────────────────────
|
|
33
56
|
|
|
@@ -47,6 +70,22 @@ const STOP_WORDS = new Set([
|
|
|
47
70
|
|
|
48
71
|
function ensureDataDir() {
|
|
49
72
|
if (!fs.existsSync(DATA_DIR)) fs.mkdirSync(DATA_DIR, { recursive: true });
|
|
73
|
+
// Recover signal written by older helpers under a subdirectory cwd. Keep
|
|
74
|
+
// the legacy file intact and append only lines not already present.
|
|
75
|
+
if (path.resolve(LEGACY_PENDING_PATH) !== path.resolve(PENDING_PATH) &&
|
|
76
|
+
fs.existsSync(LEGACY_PENDING_PATH)) {
|
|
77
|
+
try {
|
|
78
|
+
const existing = fs.existsSync(PENDING_PATH)
|
|
79
|
+
? new Set(fs.readFileSync(PENDING_PATH, 'utf-8').split('\n').filter(Boolean))
|
|
80
|
+
: new Set();
|
|
81
|
+
const recovered = fs.readFileSync(LEGACY_PENDING_PATH, 'utf-8')
|
|
82
|
+
.split('\n')
|
|
83
|
+
.filter(line => line && !existing.has(line));
|
|
84
|
+
if (recovered.length > 0) {
|
|
85
|
+
fs.appendFileSync(PENDING_PATH, recovered.join('\n') + '\n', 'utf-8');
|
|
86
|
+
}
|
|
87
|
+
} catch { /* migration is best-effort; never block hook execution */ }
|
|
88
|
+
}
|
|
50
89
|
}
|
|
51
90
|
|
|
52
91
|
function readJSON(filePath) {
|
|
@@ -130,12 +169,33 @@ function fingerprintContent(text) {
|
|
|
130
169
|
return `${h1.toString(16)}_${h2.toString(16)}_${norm.length}`;
|
|
131
170
|
}
|
|
132
171
|
|
|
172
|
+
// #2920 — aggregate content fingerprint for a whole store, used to detect
|
|
173
|
+
// same-ID content edits (e.g. hand-editing a MEMORY.md section's body while
|
|
174
|
+
// its heading/key, and therefore its generated ID, stays the same). Neither
|
|
175
|
+
// entry count nor ID set changes on a same-ID edit, so any staleness check
|
|
176
|
+
// based only on those two signals misses it; this folds each entry's own
|
|
177
|
+
// content fingerprint into one combined value that does change.
|
|
178
|
+
function storeFingerprint(entries) {
|
|
179
|
+
if (!entries || !entries.length) return '0';
|
|
180
|
+
const parts = entries
|
|
181
|
+
.map((e) => `${e.id || e.key || ''}:${fingerprintContent(e.content || e.summary || e.value || '')}`)
|
|
182
|
+
.sort();
|
|
183
|
+
return fingerprintContent(parts.join('|'));
|
|
184
|
+
}
|
|
185
|
+
|
|
133
186
|
function deduplicateByContent(entries) {
|
|
134
187
|
if (!entries || !Array.isArray(entries)) return entries;
|
|
135
188
|
const seen = new Map();
|
|
136
189
|
for (const entry of entries) {
|
|
137
190
|
const content = entry.content || entry.summary || entry.value || '';
|
|
138
|
-
const
|
|
191
|
+
const normalizedContent = typeof content === 'string' ? content : JSON.stringify(content);
|
|
192
|
+
// Content-less records can still represent distinct graph nodes. There is
|
|
193
|
+
// no content identity to prove they are duplicates, so preserve them.
|
|
194
|
+
if (!normalizedContent || !normalizedContent.trim()) {
|
|
195
|
+
seen.set(`__no_content_${seen.size}`, entry);
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
const fp = fingerprintContent(normalizedContent);
|
|
139
199
|
if (!seen.has(fp)) {
|
|
140
200
|
seen.set(fp, entry);
|
|
141
201
|
} else {
|
|
@@ -258,10 +318,28 @@ function buildEdges(entries) {
|
|
|
258
318
|
}
|
|
259
319
|
}
|
|
260
320
|
|
|
321
|
+
let similarityComparisons = 0;
|
|
322
|
+
for (const group of Object.values(byCategory)) {
|
|
323
|
+
similarityComparisons += (group.length * (group.length - 1)) / 2;
|
|
324
|
+
if (similarityComparisons > MAX_SIMILARITY_COMPARISONS) break;
|
|
325
|
+
}
|
|
326
|
+
|
|
261
327
|
// Similarity edges within categories (Jaccard > 0.3).
|
|
262
328
|
// ADR-095 G6 perf: hoist the trigram computation outside the inner
|
|
263
329
|
// loop. Previously we re-tokenized + re-trigrammed group[j] for every
|
|
264
330
|
// i — O(n²) extra work for nothing. Now compute once per entry.
|
|
331
|
+
// #2628: the old unconditional nested loop blocked session exit for tens
|
|
332
|
+
// of seconds on accumulated stores. Skip only the quadratic similarity
|
|
333
|
+
// layer when its deterministic pair count exceeds the budget; the linear
|
|
334
|
+
// temporal graph above is still complete.
|
|
335
|
+
if (similarityComparisons > MAX_SIMILARITY_COMPARISONS) {
|
|
336
|
+
process.stderr.write(
|
|
337
|
+
`[INTELLIGENCE] WARN: Similarity graph needs >${MAX_SIMILARITY_COMPARISONS} comparisons; ` +
|
|
338
|
+
'skipping similarity edges (temporal edges retained)\n'
|
|
339
|
+
);
|
|
340
|
+
return edges;
|
|
341
|
+
}
|
|
342
|
+
|
|
265
343
|
for (const cat of Object.keys(byCategory)) {
|
|
266
344
|
const group = byCategory[cat];
|
|
267
345
|
if (group.length < 2) continue;
|
|
@@ -300,7 +378,7 @@ function buildEdges(entries) {
|
|
|
300
378
|
*/
|
|
301
379
|
function bootstrapFromMemoryFiles() {
|
|
302
380
|
const entries = [];
|
|
303
|
-
const cwd =
|
|
381
|
+
const cwd = PROJECT_ROOT;
|
|
304
382
|
|
|
305
383
|
// Search for auto-memory directories
|
|
306
384
|
const candidates = [
|
|
@@ -423,8 +501,14 @@ function init() {
|
|
|
423
501
|
writeJSON(STORE_PATH, deduped);
|
|
424
502
|
}
|
|
425
503
|
|
|
426
|
-
// Skip rebuild if graph is fresh and store hasn't changed
|
|
427
|
-
|
|
504
|
+
// Skip rebuild if graph is fresh and store hasn't changed. #2920: nodeCount
|
|
505
|
+
// alone doesn't detect a same-ID content edit (e.g. hand-editing a
|
|
506
|
+
// MEMORY.md section's body while its heading/key stays the same) — the
|
|
507
|
+
// count and ID set are unchanged, so a count-only check returns a stale
|
|
508
|
+
// cache hit and never refreshes ranked-context.json. Require the content
|
|
509
|
+
// fingerprint to match too.
|
|
510
|
+
const currentFingerprint = storeFingerprint(deduped);
|
|
511
|
+
if (graphState && graphState.nodeCount === deduped.length && graphState.contentFingerprint === currentFingerprint) {
|
|
428
512
|
const age = Date.now() - (graphState.updatedAt || 0);
|
|
429
513
|
if (age < 60000) {
|
|
430
514
|
return {
|
|
@@ -468,6 +552,7 @@ function init() {
|
|
|
468
552
|
version: 1,
|
|
469
553
|
updatedAt: Date.now(),
|
|
470
554
|
nodeCount: Object.keys(nodes).length,
|
|
555
|
+
contentFingerprint: currentFingerprint,
|
|
471
556
|
nodes,
|
|
472
557
|
edges,
|
|
473
558
|
pageRanks,
|
|
@@ -654,6 +739,11 @@ function consolidate() {
|
|
|
654
739
|
// Deduplicate store entries by ID before processing (fixes #1518)
|
|
655
740
|
const preDedupCount = store.length;
|
|
656
741
|
store = deduplicateById(store);
|
|
742
|
+
// #2628: imports assign fresh IDs to repeated MEMORY.md content, so ID
|
|
743
|
+
// dedup alone never shrinks the store. Consolidate is the session-end path:
|
|
744
|
+
// content-dedup here before edge construction and persist the compacted
|
|
745
|
+
// store so subsequent sessions stay bounded.
|
|
746
|
+
store = deduplicateByContent(store);
|
|
657
747
|
|
|
658
748
|
// 1. Process pending insights
|
|
659
749
|
let newEntries = 0;
|
|
@@ -740,11 +830,16 @@ function consolidate() {
|
|
|
740
830
|
pageRanks = computePageRank(nodes, edges, 0.85, 30);
|
|
741
831
|
}
|
|
742
832
|
|
|
743
|
-
// 6. Write updated graph
|
|
833
|
+
// 6. Write updated graph. #2920 follow-up: include contentFingerprint so
|
|
834
|
+
// init()'s cache-hit gate (line ~511) doesn't unconditionally miss on the
|
|
835
|
+
// very next init after a consolidate — without this, nodeCount alone
|
|
836
|
+
// matched but contentFingerprint was undefined here vs a real hash in
|
|
837
|
+
// init()'s own write, forcing a full rebuild every time.
|
|
744
838
|
writeJSON(GRAPH_PATH, {
|
|
745
839
|
version: 1,
|
|
746
840
|
updatedAt: Date.now(),
|
|
747
841
|
nodeCount: Object.keys(nodes).length,
|
|
842
|
+
contentFingerprint: storeFingerprint(store),
|
|
748
843
|
nodes,
|
|
749
844
|
edges,
|
|
750
845
|
pageRanks,
|
|
@@ -778,8 +873,15 @@ function consolidate() {
|
|
|
778
873
|
entries: rankedEntries,
|
|
779
874
|
});
|
|
780
875
|
|
|
781
|
-
// 8. Persist updated store
|
|
782
|
-
|
|
876
|
+
// 8. Persist updated store. #2920: this used to skip the write whenever
|
|
877
|
+
// dedup didn't shrink the array and no insight entries were added — but
|
|
878
|
+
// that's blind to a same-ID content edit (entry count and ID set both
|
|
879
|
+
// stay the same, only a field value changes), so an in-memory content
|
|
880
|
+
// update could be silently dropped instead of persisted. GRAPH_PATH and
|
|
881
|
+
// RANKED_PATH are rewritten unconditionally just above; writing the
|
|
882
|
+
// (already deduped, size-bounded per ADR-095 G6) store alongside them
|
|
883
|
+
// costs nothing near the <500ms budget and removes the whole bug class.
|
|
884
|
+
writeJSON(STORE_PATH, store);
|
|
783
885
|
|
|
784
886
|
// 9. Save snapshot for delta tracking
|
|
785
887
|
const updatedGraph = readJSON(GRAPH_PATH);
|
|
@@ -1032,7 +1134,16 @@ function stats(outputJson) {
|
|
|
1032
1134
|
return report;
|
|
1033
1135
|
}
|
|
1034
1136
|
|
|
1035
|
-
module.exports = {
|
|
1137
|
+
module.exports = {
|
|
1138
|
+
init,
|
|
1139
|
+
getContext,
|
|
1140
|
+
recordEdit,
|
|
1141
|
+
feedback,
|
|
1142
|
+
consolidate,
|
|
1143
|
+
stats,
|
|
1144
|
+
resolveProjectRoot,
|
|
1145
|
+
projectRoot: PROJECT_ROOT,
|
|
1146
|
+
};
|
|
1036
1147
|
|
|
1037
1148
|
// ── CLI entrypoint ──────────────────────────────────────────────────────────
|
|
1038
1149
|
if (require.main === module) {
|