agentic-qe 3.15.8 → 3.15.10
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/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +434 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/adapters/a2ui/catalog/component-schemas.js +2 -1
- package/dist/adapters/a2ui/data/json-pointer-resolver.js +10 -5
- package/dist/adapters/a2ui/integration/agui-sync.js +10 -6
- package/dist/adapters/a2ui/integration/surface-state-bridge.js +9 -5
- package/dist/adapters/ag-ui/json-patch.js +10 -6
- package/dist/agents/claim-verifier/claim-verifier-service.js +13 -8
- package/dist/audit/witness-chain.d.ts +1 -1
- package/dist/bridge/captured-experience-bridge.js +12 -13
- package/dist/cli/bundle.js +6 -6
- package/dist/cli/chunks/adapter-TR5SLAZC.js +2 -0
- package/dist/cli/chunks/agent-booster-wasm-H7ANGXW4.js +2 -0
- package/dist/cli/chunks/{agent-handler-2NQFHAWE.js → agent-handler-SVXSHEET.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-457ECHHK.js → agent-memory-branch-WKQH36XL.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-DXWKCHY2.js +2 -0
- package/dist/cli/chunks/{arena-JV3WSEHU.js → arena-EKOOFVST.js} +2 -2
- package/dist/cli/chunks/{arena-IYBQ3GPY.js → arena-OPS36NFZ.js} +4 -4
- package/dist/cli/chunks/{audit-5OS3T3K6.js → audit-AO5NDZRI.js} +3 -3
- package/dist/cli/chunks/base-GTB6POYE.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-IQKBFVAO.js → better-sqlite3-TFLVEMMY.js} +2 -2
- package/dist/cli/chunks/{brain-handler-KA3SGAFM.js → brain-handler-ADBBJPYW.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-QZDU2VOQ.js → branch-enumerator-HGHUYYL5.js} +2 -2
- package/dist/cli/chunks/browser-5LU6P4SZ.js +4 -0
- package/dist/cli/chunks/browser-workflow-MSBOLYUY.js +2 -0
- package/dist/cli/chunks/{chunk-CRUQ6RXU.js → chunk-2SXBBUM6.js} +2 -2
- package/dist/cli/chunks/{chunk-4GUVVGJX.js → chunk-2T7RRL6G.js} +1 -1
- package/dist/cli/chunks/{chunk-OJWEZYLR.js → chunk-2XGVTYVX.js} +2 -2
- package/dist/cli/chunks/{chunk-LVHZK7GW.js → chunk-2ZI5FKSF.js} +2 -2
- package/dist/cli/chunks/chunk-2ZMF4NCF.js +4 -0
- package/dist/cli/chunks/{chunk-62T7U25U.js → chunk-37OWRCUN.js} +1 -1
- package/dist/cli/chunks/{chunk-UQLAN5TX.js → chunk-3P34JFQH.js} +5 -5
- package/dist/cli/chunks/{chunk-UDCYQLTD.js → chunk-3Y7SPD72.js} +2 -2
- package/dist/cli/chunks/{chunk-PPIM7B5G.js → chunk-4G63WT4F.js} +2 -2
- package/dist/cli/chunks/chunk-4SJYIX54.js +3 -0
- package/dist/cli/chunks/chunk-5E6GHSTY.js +3 -0
- package/dist/cli/chunks/{chunk-4TZLZRZ4.js → chunk-5LPYV3TK.js} +1 -1
- package/dist/cli/chunks/{chunk-YUP3APSN.js → chunk-62OAY5KJ.js} +1 -1
- package/dist/cli/chunks/{chunk-VQRBBR27.js → chunk-6C3II5OM.js} +2 -2
- package/dist/cli/chunks/{chunk-RG42LDOB.js → chunk-6GP6W46M.js} +2 -2
- package/dist/cli/chunks/{chunk-KMZW2P3R.js → chunk-6KIL6CMD.js} +2 -2
- package/dist/cli/chunks/{chunk-UKKFZJME.js → chunk-6MVVSSID.js} +1 -1
- package/dist/cli/chunks/{chunk-VVK4ECVJ.js → chunk-6P7424AO.js} +2 -2
- package/dist/cli/chunks/{chunk-A2UGPKCS.js → chunk-6PX4OXQO.js} +2 -2
- package/dist/cli/chunks/{chunk-JLTGO5BB.js → chunk-6S3WJGUV.js} +2 -2
- package/dist/cli/chunks/{chunk-GSOK4M6V.js → chunk-6TB6YOCZ.js} +1 -1
- package/dist/cli/chunks/{chunk-VWRNG3UK.js → chunk-6X5DHU6Q.js} +1 -1
- package/dist/cli/chunks/{chunk-5YOO5QSE.js → chunk-6XCMKIZN.js} +1 -1
- package/dist/cli/chunks/{chunk-4C3RYBTT.js → chunk-7LFZ4CHM.js} +2 -2
- package/dist/cli/chunks/{chunk-O4RRVTXN.js → chunk-7OZVZIBE.js} +2 -2
- package/dist/cli/chunks/{chunk-2JCLACCS.js → chunk-7PJIR4ST.js} +2 -2
- package/dist/cli/chunks/{chunk-NWFBF3KT.js → chunk-7TB6FK4B.js} +1 -1
- package/dist/cli/chunks/{chunk-FJAO4UX2.js → chunk-7ZCDZHDB.js} +2 -2
- package/dist/cli/chunks/chunk-A55QKKT2.js +2 -0
- package/dist/cli/chunks/{chunk-ZOVAZTXE.js → chunk-ABFFWZPC.js} +273 -278
- package/dist/cli/chunks/{chunk-FWXNFPLS.js → chunk-ACWFKES2.js} +2 -2
- package/dist/cli/chunks/{chunk-IJSFZO7P.js → chunk-AH3ZD3NJ.js} +2 -2
- package/dist/cli/chunks/{chunk-7SLEUVPZ.js → chunk-AI4VYSFS.js} +2 -2
- package/dist/cli/chunks/chunk-APSRPR4W.js +2 -0
- package/dist/cli/chunks/chunk-ATHWDAXB.js +3 -0
- package/dist/cli/chunks/{chunk-2GSAAUW3.js → chunk-B6LTH6YV.js} +2 -2
- package/dist/cli/chunks/chunk-BQUAE3CP.js +3 -0
- package/dist/cli/chunks/{chunk-7XGM7Q2N.js → chunk-C522H7XR.js} +54 -33
- package/dist/cli/chunks/{chunk-7DHSHD5B.js → chunk-CESIR27V.js} +2 -2
- package/dist/cli/chunks/{chunk-V7VZSNDK.js → chunk-CFBEBXLO.js} +3 -3
- package/dist/cli/chunks/{chunk-NZATJ2C6.js → chunk-CMBLM26R.js} +2 -2
- package/dist/cli/chunks/{chunk-7CVMT64N.js → chunk-CZ2IF6MC.js} +1 -1
- package/dist/cli/chunks/{chunk-YVWMJZ6O.js → chunk-CZGOSJQ4.js} +2 -2
- package/dist/cli/chunks/{chunk-TMNEK7TP.js → chunk-D6DA2KFD.js} +2 -2
- package/dist/cli/chunks/{chunk-UTNKMPTC.js → chunk-DBMNJSBV.js} +1 -1
- package/dist/cli/chunks/{chunk-JFWQFB3S.js → chunk-DE4YJQJF.js} +2 -2
- package/dist/cli/chunks/{chunk-767SR7WH.js → chunk-DEF34AFL.js} +2 -2
- package/dist/cli/chunks/{chunk-ZWMFKZEQ.js → chunk-DKAC3E3B.js} +2 -2
- package/dist/cli/chunks/{chunk-CDLG3Q2O.js → chunk-DMFTELBS.js} +2 -2
- package/dist/cli/chunks/{chunk-P4UT4LBE.js → chunk-DNRWGATA.js} +10 -10
- package/dist/cli/chunks/{chunk-PUYQ6EKC.js → chunk-DT7SIJOA.js} +2 -2
- package/dist/cli/chunks/{chunk-ST7ASEJO.js → chunk-DURHK377.js} +69 -69
- package/dist/cli/chunks/{chunk-V4QJ3MMT.js → chunk-EAU5KDFO.js} +1 -1
- package/dist/cli/chunks/{chunk-BLZEOGQE.js → chunk-EDLFX4ZB.js} +2 -2
- package/dist/cli/chunks/{chunk-ZBI7PJFX.js → chunk-EN2QSKFF.js} +2 -2
- package/dist/cli/chunks/{chunk-U7CIY3YR.js → chunk-ERQKYIP7.js} +2 -2
- package/dist/cli/chunks/{chunk-X7ZQIFES.js → chunk-ESUO3GTJ.js} +2 -2
- package/dist/cli/chunks/{chunk-SHEVM5PF.js → chunk-EWFECZ2U.js} +2 -2
- package/dist/cli/chunks/{chunk-JWPYMRIX.js → chunk-FAUCT5KR.js} +3 -3
- package/dist/cli/chunks/{chunk-KMVFBYJO.js → chunk-FB6TI3BH.js} +2 -2
- package/dist/cli/chunks/{chunk-22DOS3PM.js → chunk-FBXTQNRH.js} +2 -2
- package/dist/cli/chunks/{chunk-W5A36V3Z.js → chunk-FESZBPUB.js} +2 -2
- package/dist/cli/chunks/chunk-FFTPAWM6.js +141 -0
- package/dist/cli/chunks/{chunk-VWSGWYRB.js → chunk-FKL3R5JQ.js} +2 -2
- package/dist/cli/chunks/{chunk-2DPHFCMW.js → chunk-FPUDRSFJ.js} +2 -2
- package/dist/cli/chunks/{chunk-VKFVJCIH.js → chunk-FZOWULMH.js} +1 -1
- package/dist/cli/chunks/{chunk-HXCGV5UJ.js → chunk-G3CZCUPM.js} +2 -2
- package/dist/cli/chunks/{chunk-GENNJRNK.js → chunk-G5I6KGMW.js} +22 -22
- package/dist/cli/chunks/{chunk-J7FLNP5L.js → chunk-GHBNRMSJ.js} +2 -2
- package/dist/cli/chunks/{chunk-I77D65X5.js → chunk-GJHWY3ZX.js} +2 -2
- package/dist/cli/chunks/{chunk-DKFSCJEF.js → chunk-GJMLK5UT.js} +2 -2
- package/dist/cli/chunks/{chunk-52YRSWPS.js → chunk-GRCIBCJ2.js} +2 -2
- package/dist/cli/chunks/{chunk-NW7HTOSN.js → chunk-GWZZ7DAO.js} +2 -2
- package/dist/cli/chunks/{chunk-D4IBIMWI.js → chunk-GZLZCZ42.js} +2 -2
- package/dist/cli/chunks/{chunk-FEN2DHFM.js → chunk-H2PYU7MN.js} +1 -1
- package/dist/cli/chunks/{chunk-4I35ARWW.js → chunk-H32EPIR2.js} +1 -1
- package/dist/cli/chunks/{chunk-MUDBF2JC.js → chunk-H74Q7TJN.js} +1 -1
- package/dist/cli/chunks/chunk-HOZUDE4C.js +2 -0
- package/dist/cli/chunks/{chunk-MMY52Y6R.js → chunk-I33O4BRQ.js} +2 -2
- package/dist/cli/chunks/{chunk-ZG7UKWBB.js → chunk-IKISCIGH.js} +2 -2
- package/dist/cli/chunks/{chunk-SFPGLUXS.js → chunk-IPJ7Q3AJ.js} +1 -1
- package/dist/cli/chunks/{chunk-2ZRNXEVI.js → chunk-IU2IV4NE.js} +1 -1
- package/dist/cli/chunks/{chunk-XOOBLZXR.js → chunk-JHIY4VCC.js} +2 -2
- package/dist/cli/chunks/{chunk-PJGQ2TKN.js → chunk-KG336OV3.js} +2 -2
- package/dist/cli/chunks/{chunk-YRH7KMTU.js → chunk-KI73QCR5.js} +2 -2
- package/dist/cli/chunks/{chunk-FAYXES7R.js → chunk-KNQ2ERFX.js} +2 -2
- package/dist/cli/chunks/{chunk-CQ3SBRDP.js → chunk-KOBVYY6H.js} +2 -2
- package/dist/cli/chunks/{chunk-3N627QRU.js → chunk-KSIWGGJI.js} +8 -8
- package/dist/cli/chunks/{chunk-2UN4JOTN.js → chunk-LMS3Y7JD.js} +2 -2
- package/dist/cli/chunks/{chunk-RSMPJWQH.js → chunk-LQEURY7C.js} +1 -1
- package/dist/cli/chunks/{chunk-NQDYOF35.js → chunk-LRZY4KS2.js} +2 -2
- package/dist/cli/chunks/{chunk-U3BWBP6B.js → chunk-M2QV7PT7.js} +2 -2
- package/dist/cli/chunks/{chunk-WLXGUQOZ.js → chunk-MA7JIQ6U.js} +2 -2
- package/dist/cli/chunks/{chunk-Y5ZBF7MA.js → chunk-MG27QY4D.js} +2 -2
- package/dist/cli/chunks/chunk-MNN5J4GU.js +12 -0
- package/dist/cli/chunks/chunk-N6PIIK6G.js +3 -0
- package/dist/cli/chunks/chunk-NAXGWDVM.js +12 -0
- package/dist/cli/chunks/{chunk-DCYUHCPK.js → chunk-NGKNYIQZ.js} +1 -1
- package/dist/cli/chunks/chunk-NNFZUTDH.js +2 -0
- package/dist/cli/chunks/{chunk-UTFMMZ57.js → chunk-NPPHWFA2.js} +3 -3
- package/dist/cli/chunks/chunk-NSHU347M.js +2 -0
- package/dist/cli/chunks/{chunk-NF63NHJH.js → chunk-NVYIZCSR.js} +2 -2
- package/dist/cli/chunks/{chunk-YNQPHRUZ.js → chunk-NW5JUCCG.js} +1 -1
- package/dist/cli/chunks/{chunk-G6CLO74Q.js → chunk-NZYLNXT6.js} +3 -3
- package/dist/cli/chunks/{chunk-R2NHGESM.js → chunk-OBAREPDC.js} +2 -2
- package/dist/cli/chunks/{chunk-X3HM7SV4.js → chunk-ODJNUMV3.js} +2 -2
- package/dist/cli/chunks/{chunk-OCLAMZJG.js → chunk-OEKP73MC.js} +2 -2
- package/dist/cli/chunks/{chunk-5MBNRTT5.js → chunk-OPFGRS5S.js} +2 -2
- package/dist/cli/chunks/{chunk-K5R3WUJP.js → chunk-OY2AHLSF.js} +1 -1
- package/dist/cli/chunks/{chunk-KJNUETCB.js → chunk-OY3NJNP2.js} +1 -1
- package/dist/cli/chunks/{chunk-P2EA62YS.js → chunk-PCEW6Q2C.js} +1 -1
- package/dist/cli/chunks/{chunk-HNGNRIZZ.js → chunk-PFG6VQ5Z.js} +2 -2
- package/dist/cli/chunks/{chunk-DN3AKAPY.js → chunk-PGYMKGOE.js} +2 -2
- package/dist/cli/chunks/{chunk-BEVWCF3Q.js → chunk-PPSAMXYN.js} +3 -3
- package/dist/cli/chunks/chunk-RK73HB2F.js +2 -0
- package/dist/cli/chunks/{chunk-6E7EOHMN.js → chunk-RPHY2DU6.js} +2 -2
- package/dist/cli/chunks/{chunk-7C6FMLQR.js → chunk-RWWOHCMG.js} +25 -20
- package/dist/cli/chunks/{chunk-5ONJ7AV6.js → chunk-S75EYIJG.js} +1 -1
- package/dist/cli/chunks/chunk-SKQUUE4F.js +5 -0
- package/dist/cli/chunks/chunk-SO45NA4D.js +180 -0
- package/dist/cli/chunks/{chunk-SWY6KGMF.js → chunk-SU5H66SD.js} +2 -2
- package/dist/cli/chunks/{chunk-ZOHS32SI.js → chunk-SY2IB442.js} +2 -2
- package/dist/cli/chunks/{chunk-MV4S3TEC.js → chunk-TBLI254A.js} +2 -2
- package/dist/cli/chunks/{chunk-5DZDLOY6.js → chunk-TNMBRDCA.js} +3 -3
- package/dist/cli/chunks/{chunk-FEPFXXI7.js → chunk-TYFZXDGZ.js} +2 -2
- package/dist/cli/chunks/{chunk-A6GCO6ZU.js → chunk-U4OICXV2.js} +2 -2
- package/dist/cli/chunks/{chunk-G77Q22EN.js → chunk-U53ZB4IX.js} +2 -2
- package/dist/cli/chunks/chunk-UARKIZAS.js +2 -0
- package/dist/cli/chunks/{chunk-6GIC2263.js → chunk-UCJMVXO4.js} +2 -2
- package/dist/cli/chunks/{chunk-DAFMHM64.js → chunk-UHTTW3IT.js} +2 -2
- package/dist/cli/chunks/{chunk-2QRGIEQV.js → chunk-V2M2XCR5.js} +1 -1
- package/dist/cli/chunks/{chunk-XZQVC3GD.js → chunk-V2RSNVMW.js} +1 -1
- package/dist/cli/chunks/{chunk-GGSTLKY5.js → chunk-V6JBOIMX.js} +1 -1
- package/dist/cli/chunks/{chunk-BTMEOZYY.js → chunk-VFKF2XO7.js} +1 -1
- package/dist/cli/chunks/{chunk-4C7KE2EL.js → chunk-VFSYMOAL.js} +2 -2
- package/dist/cli/chunks/{chunk-D4O3TJI7.js → chunk-VJQYDYAJ.js} +2 -2
- package/dist/cli/chunks/{chunk-PZ7FJ4UG.js → chunk-VKRTTFB6.js} +2 -2
- package/dist/cli/chunks/{chunk-CQ5G64EA.js → chunk-VWNFAW2M.js} +2 -2
- package/dist/cli/chunks/{chunk-DY37YMMQ.js → chunk-WBM6N6IM.js} +1 -1
- package/dist/cli/chunks/{chunk-K4N2MBCE.js → chunk-WDQ7IEZY.js} +2 -2
- package/dist/cli/chunks/{chunk-HI6OBDDY.js → chunk-WDVRE6GN.js} +2 -2
- package/dist/cli/chunks/{chunk-PICEGWGB.js → chunk-WQ4PYWSW.js} +1 -1
- package/dist/cli/chunks/{chunk-NHOMVBCI.js → chunk-WSF24I3D.js} +2 -2
- package/dist/cli/chunks/{chunk-LPSMVBB3.js → chunk-XBVUVFJK.js} +2 -2
- package/dist/cli/chunks/{chunk-J6LL25QJ.js → chunk-XEB3NLJR.js} +2 -2
- package/dist/cli/chunks/{chunk-SJMZZMHP.js → chunk-XFVTGAAJ.js} +2 -2
- package/dist/cli/chunks/{chunk-KVMKYUOE.js → chunk-XLZYRTNO.js} +2 -2
- package/dist/cli/chunks/chunk-XUZDBQ5X.js +6 -0
- package/dist/cli/chunks/{chunk-WAWKAYPY.js → chunk-Y76IAYQD.js} +1 -1
- package/dist/cli/chunks/{chunk-3LFLO2WK.js → chunk-YAKGBHO4.js} +2 -2
- package/dist/cli/chunks/{chunk-TC52M542.js → chunk-YBSBABOS.js} +2 -2
- package/dist/cli/chunks/{chunk-BQUIZ5QT.js → chunk-YCGP5VFP.js} +2 -2
- package/dist/cli/chunks/{chunk-T2TDTBFV.js → chunk-YDAQK5UF.js} +1 -1
- package/dist/cli/chunks/{chunk-LHRVSK44.js → chunk-YK3BVZY6.js} +2 -2
- package/dist/cli/chunks/{chunk-QFYUZYRA.js → chunk-YK7JN5N7.js} +4 -4
- package/dist/cli/chunks/{chunk-IMSRWNWF.js → chunk-YKMU4LBV.js} +1 -1
- package/dist/cli/chunks/{chunk-NLYUC63R.js → chunk-YYTGXD3R.js} +2 -2
- package/dist/cli/chunks/{chunk-OWBFVAEH.js → chunk-Z2O2YJAF.js} +2 -2
- package/dist/cli/chunks/{chunk-KITKQUBX.js → chunk-Z7IYW5U7.js} +1 -1
- package/dist/cli/chunks/{chunk-4NTLGGXO.js → chunk-ZG5666GJ.js} +1 -1
- package/dist/cli/chunks/{chunk-4YUBWU3E.js → chunk-ZXPY654C.js} +1 -1
- package/dist/cli/chunks/{ci-7NUCRGWO.js → ci-MSKMVH5X.js} +2 -2
- package/dist/cli/chunks/{ci-config-VQVECCFI.js → ci-config-7ODMNAUM.js} +2 -2
- package/dist/cli/chunks/{ci-output-P7GQ6TKF.js → ci-output-FXZ7ZZW3.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-5YP6N6HE.js → circuit-breaker-4VOUEPOX.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-W5H7CMU6.js → claude-flow-setup-7D4SGLM4.js} +2 -2
- package/dist/cli/chunks/client-POSVREVS.js +2 -0
- package/dist/cli/chunks/{cline-installer-OYANSZ54.js → cline-installer-WRRT7BGQ.js} +2 -2
- package/dist/cli/chunks/{code-OMT4UEZI.js → code-ZDJRIL3S.js} +25 -24
- package/dist/cli/chunks/{code-index-extractor-M2JEWKNF.js → code-index-extractor-4S4SHM56.js} +2 -2
- package/dist/cli/chunks/{codex-installer-YBS6N5O3.js → codex-installer-YTRHNDWR.js} +2 -2
- package/dist/cli/chunks/{completions-U7GS5RG6.js → completions-6N64JUXJ.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-QSXPIUIU.js → complexity-analyzer-I4A26VCJ.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-W5TTT743.js → continuedev-installer-IIDR66LB.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-KC2RT24C.js → copilot-installer-SVVFY3S2.js} +2 -2
- package/dist/cli/chunks/core-handlers-V243GY7X.js +2 -0
- package/dist/cli/chunks/{cost-tracker-OQPVR6V4.js → cost-tracker-VGFS6IBX.js} +2 -2
- package/dist/cli/chunks/{coverage-TCO2A2NX.js → coverage-B7MCGNTE.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-N3AIEM3B.js +2 -0
- package/dist/cli/chunks/{cursor-installer-MH7GWD4L.js → cursor-installer-UPETT57E.js} +2 -2
- package/dist/cli/chunks/daemon-7BDJHEIJ.js +18 -0
- package/dist/cli/chunks/{daemon-UJEARJZ2.js → daemon-CQFNZLXU.js} +7 -7
- package/dist/cli/chunks/{dag-attention-scheduler-F3SUJU5O.js → dag-attention-scheduler-PJVABHON.js} +2 -2
- package/dist/cli/chunks/{detect-5QTCRB32.js → detect-56SKAGWX.js} +2 -2
- package/dist/cli/chunks/{dist-node-XKZPHDBO.js → dist-node-UYTYUMLN.js} +2 -2
- package/dist/cli/chunks/{domain-handler-V3UEADKW.js → domain-handler-YOYLBYJE.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-7PES4UHZ.js → domain-plugins-7TARX2XF.js} +2 -2
- package/dist/cli/chunks/domain-transfer-AKVSBD6E.js +2 -0
- package/dist/cli/chunks/dream-UA7MKOPQ.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-D2HWORHF.js → embed-and-insert-pattern-IS6HSR66.js} +2 -2
- package/dist/cli/chunks/{eval-UF2UBAUC.js → eval-GNB574IM.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-2OUCEHHM.js → experience-capture-middleware-RCAOCKM7.js} +3 -3
- package/dist/cli/chunks/{fast-paths-KV5DKKHC.js → fast-paths-KTZ5SF54.js} +2 -2
- package/dist/cli/chunks/{feature-flags-MTW6NMR3.js → feature-flags-ITX5LQ57.js} +2 -2
- package/dist/cli/chunks/{feature-flags-6YWMTNO5.js → feature-flags-KFHSR5YF.js} +2 -2
- package/dist/cli/chunks/file-discovery-YCMNKZAK.js +2 -0
- package/dist/cli/chunks/fleet-2Y3ZE6CE.js +46 -0
- package/dist/cli/chunks/{gnn-wrapper-52V6ANOY.js → gnn-wrapper-RLFW3GSX.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-X7NHNRC7.js → heartbeat-handler-EM2URCYZ.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-QH5V6G2P.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-OJNFAGJS.js +2 -0
- package/dist/cli/chunks/hnsw-index-DFUNARVD.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-DZBE3KMK.js → hnsw-legacy-bridge-JMHEOIBH.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-2AWWUJAZ.js → hnswlib-node-CBP73QHY.js} +2 -2
- package/dist/cli/chunks/{hooks-XLPVROL3.js → hooks-IP7XE34Z.js} +34 -34
- package/dist/cli/chunks/hybrid-backend-SSGQQEQ2.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-6TI7YP6P.js → hypergraph-engine-ONAYHU25.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-DBIBBOXS.js → hypergraph-handler-VINJRAID.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-CRGCA7ZD.js +2 -0
- package/dist/cli/chunks/{init-guard-OSO6MIDD.js → init-guard-RYVV5R3Z.js} +2 -2
- package/dist/cli/chunks/{init-handler-7S7IHMUF.js → init-handler-MPRGWMOE.js} +6 -6
- package/dist/cli/chunks/init-wizard-NIMZ4J55.js +2 -0
- package/dist/cli/chunks/kernel-JQK7PRAI.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-2KBRFXMA.js → kilocode-installer-OPD7JBRL.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-5VFR4OQZ.js → kiro-installer-M4OPUNK2.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-YPVVIKEU.js +2 -0
- package/dist/cli/chunks/{learning-G5NHL3DV.js → learning-4UWTQLMF.js} +24 -24
- package/dist/cli/chunks/{llm-router-4EAPPMHS.js → llm-router-SQ56FF6Z.js} +4 -4
- package/dist/cli/chunks/llm-router-service-5OGAUOXF.js +2 -0
- package/dist/cli/chunks/{load-UYMZPEY6.js → load-HPHKDGGL.js} +2 -2
- package/dist/cli/chunks/load-test-UKNV5MWW.js +2 -0
- package/dist/cli/chunks/mcp-TELMAC7Z.js +2 -0
- package/dist/cli/chunks/{memory-QL53YIHP.js → memory-PFQ3KPVJ.js} +5 -5
- package/dist/cli/chunks/memory-backend-ZW4BTRNK.js +2 -0
- package/dist/cli/chunks/memory-handlers-FCXN437E.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-PDDDXF2B.js → multi-model-executor-3VDRX6TZ.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-75D2SKOT.js → opencode-installer-PJ576R63.js} +2 -2
- package/dist/cli/chunks/{orchestrator-3WIZBV4T.js → orchestrator-72QP4UU7.js} +64 -19
- package/dist/cli/chunks/pattern-null-store-4DUV6MQC.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-TEX2JGHA.js → pattern-usage-recorder-754YQW7C.js} +2 -2
- package/dist/cli/chunks/pipeline-AVXY4MVB.js +19 -0
- package/dist/cli/chunks/{platform-WPSKRJE7.js → platform-3E3DXLYB.js} +2 -2
- package/dist/cli/chunks/{plugin-UUFOVVMU.js → plugin-7FUQAKRE.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-PDFSYWKZ.js → prime-radiant-advanced-wasm-NIB4F5NV.js} +2 -2
- package/dist/cli/chunks/project-root-JCAUNL6O.js +2 -0
- package/dist/cli/chunks/protocol-executor-RNZNZP3A.js +2 -0
- package/dist/cli/chunks/{protocol-handler-3VRYRIQB.js → protocol-handler-BQRYMUTG.js} +2 -2
- package/dist/cli/chunks/{prove-2NAUROGF.js → prove-H52QGC6B.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-WK6TQOG2.js +2 -0
- package/dist/cli/chunks/{quality-ZIEI2WGA.js → quality-QO4XPAUM.js} +2 -2
- package/dist/cli/chunks/{quality-gate-KWJO4SWQ.js → quality-gate-FBKE5E6F.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-4452SXZQ.js +2 -0
- package/dist/cli/chunks/{real-embeddings-TSZ4UIAE.js → real-embeddings-RWGOVOXO.js} +2 -2
- package/dist/cli/chunks/{ref-validation-DWFFRETJ.js → ref-validation-LF76ZOBD.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-XTZHLUBO.js → roocode-installer-3BYEBTQ7.js} +2 -2
- package/dist/cli/chunks/router-3DIS5X4R.js +2 -0
- package/dist/cli/chunks/routing-feedback-OPXRCXM7.js +2 -0
- package/dist/cli/chunks/{routing-handler-GG525TDM.js → routing-handler-DST7BVCU.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-QKRJDM7Z.js → ruvector-commands-XE32PGKC.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-JL6T727I.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-V7IBDUCS.js +2 -0
- package/dist/cli/chunks/{rvf-migration-coordinator-FF52OS6Q.js → rvf-migration-coordinator-VP32XC75.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-O3UQTEBK.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-M6DXTAZ4.js → rvf-store-integrity-SH2AMVI7.js} +2 -2
- package/dist/cli/chunks/safe-db-EVB4ZC7T.js +2 -0
- package/dist/cli/chunks/schedule-ORDDXXY4.js +2 -0
- package/dist/cli/chunks/scheduler-XFLJSFIU.js +2 -0
- package/dist/cli/chunks/{security-EHXSW22U.js → security-VSPNKCDS.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-6EH7UVJL.js → shared-rvf-adapter-HX6AHL3P.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-WML274E7.js → shared-rvf-dual-writer-MX4FC2JE.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-Y7B42CJ3.js +2 -0
- package/dist/cli/chunks/{standalone-memory-C7QKAXS4.js → standalone-memory-O4QUTK6L.js} +2 -2
- package/dist/cli/chunks/{status-handler-VLI7MRLM.js → status-handler-Z2BP6EOG.js} +2 -2
- package/dist/cli/chunks/{structural-health-3LPG6MQN.js → structural-health-R36WNLQG.js} +2 -2
- package/dist/cli/chunks/sync-2ELWUFQU.js +2 -0
- package/dist/cli/chunks/{sync-JFJEJBVK.js → sync-QF5Y3EMZ.js} +2 -2
- package/dist/cli/chunks/{task-handler-IED3K6E4.js → task-handler-43PYE75J.js} +13 -7
- package/dist/cli/chunks/task-handlers-KPWAEMKH.js +9 -0
- package/dist/cli/chunks/{test-GPKT3CKZ.js → test-UWA377D4.js} +16 -16
- package/dist/cli/chunks/test-runner-process-3XZUYST2.js +2 -0
- package/dist/cli/chunks/{test-scheduling-Z42XXZP6.js → test-scheduling-YQZPJRRN.js} +3 -3
- package/dist/cli/chunks/token-bootstrap-F7C6UKTC.js +2 -0
- package/dist/cli/chunks/{token-usage-6Y2ERYIY.js → token-usage-DO6WLMXP.js} +2 -2
- package/dist/cli/chunks/{transformers-MB63T2XO.js → transformers-H5RGFKVO.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-YTBCBHUO.js +2 -0
- package/dist/cli/chunks/{types-J4J6QV3I.js → types-PJS2FGPF.js} +2 -2
- package/dist/cli/chunks/unified-memory-EHD4VNFW.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-ZODGM4UK.js +2 -0
- package/dist/cli/chunks/unified-persistence-MHSI7ABK.js +2 -0
- package/dist/cli/chunks/{upgrade-U4XU7LFM.js → upgrade-4IC4F6AB.js} +2 -2
- package/dist/cli/chunks/{validate-B57HA4YK.js → validate-DHUWW7PF.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-UPPA4M6T.js → validate-swarm-OERQNOX5.js} +2 -2
- package/dist/cli/chunks/visual-security-54MLFKWY.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-GDZMUKOZ.js → web-tree-sitter-TV7DMKES.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-VJRWCHXP.js → windsurf-installer-QZPWSH37.js} +2 -2
- package/dist/cli/chunks/witness-chain-LC6Q2W27.js +2 -0
- package/dist/cli/chunks/witness-chain-QUIBAF3W.js +2 -0
- package/dist/cli/chunks/witness-chain-repair-RUXIOE7F.js +2 -0
- package/dist/cli/chunks/{witness-chain-verifier-Z23FVABW.js → witness-chain-verifier-YXENHB42.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-745MJ7WO.js → witness-key-manager-HL26AGFO.js} +2 -2
- package/dist/cli/chunks/{workflow-T245QNQM.js → workflow-EOVVCN2E.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-UKHEJVSK.js +2 -0
- package/dist/cli/chunks/wrappers-AGODHBOO.js +2 -0
- package/dist/cli/commands/code.js +8 -0
- package/dist/cli/commands/daemon.js +8 -0
- package/dist/cli/commands/fleet.js +27 -15
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +9 -2
- package/dist/cli/commands/hooks-handlers/session-hooks.js +2 -2
- package/dist/cli/commands/hooks-handlers/stats-hooks.js +3 -2
- package/dist/cli/commands/learning.js +5 -3
- package/dist/cli/commands/ruvector-commands.js +2 -1
- package/dist/cli/commands/test.js +6 -0
- package/dist/cli/handlers/task-handler.js +21 -1
- package/dist/cli/utils/ci-output.d.ts +9 -0
- package/dist/cli/utils/fleet-operation.d.ts +32 -0
- package/dist/cli/utils/fleet-operation.js +71 -0
- package/dist/cli/utils/fleet-result.d.ts +31 -0
- package/dist/cli/utils/fleet-result.js +124 -0
- package/dist/context/sources/git-source.js +6 -2
- package/dist/coordination/handlers/code-intelligence-handlers.js +74 -7
- package/dist/coordination/handlers/coverage-collection.js +9 -10
- package/dist/coordination/handlers/coverage-handlers.js +31 -4
- package/dist/coordination/handlers/coverage-runner.d.ts +2 -1
- package/dist/coordination/handlers/coverage-runner.js +9 -2
- package/dist/coordination/handlers/coverage-target.d.ts +13 -3
- package/dist/coordination/handlers/coverage-target.js +224 -7
- package/dist/coordination/handlers/handler-types.d.ts +2 -0
- package/dist/coordination/handlers/requirements-handlers.js +16 -2
- package/dist/coordination/handlers/security-handlers.js +11 -1
- package/dist/coordination/handlers/test-execution-handlers.js +57 -12
- package/dist/coordination/index.d.ts +2 -2
- package/dist/coordination/index.js +1 -1
- package/dist/coordination/mincut/queen-integration.d.ts +39 -1
- package/dist/coordination/mincut/queen-integration.js +83 -6
- package/dist/coordination/protocols/learning-consolidation-archive.d.ts +35 -0
- package/dist/coordination/protocols/learning-consolidation-archive.js +34 -0
- package/dist/coordination/protocols/learning-consolidation.d.ts +62 -3
- package/dist/coordination/protocols/learning-consolidation.js +187 -60
- package/dist/coordination/queen-coordinator.d.ts +13 -2
- package/dist/coordination/queen-coordinator.js +43 -8
- package/dist/coordination/queen-event-handlers.js +15 -1
- package/dist/coordination/queen-lifecycle.js +9 -0
- package/dist/coordination/queen-task-management.d.ts +18 -24
- package/dist/coordination/queen-task-management.js +94 -127
- package/dist/coordination/queen-task-queue.d.ts +41 -0
- package/dist/coordination/queen-task-queue.js +194 -0
- package/dist/coordination/queen-types.d.ts +11 -1
- package/dist/coordination/queen-types.js +8 -0
- package/dist/coordination/queen-work-stealing.d.ts +6 -1
- package/dist/coordination/queen-work-stealing.js +7 -4
- package/dist/coordination/result-saver-adapters.d.ts +15 -0
- package/dist/coordination/result-saver-adapters.js +57 -0
- package/dist/coordination/result-saver.d.ts +1 -1
- package/dist/coordination/result-saver.js +8 -5
- package/dist/coordination/task-dag/dag-algorithms.d.ts +33 -0
- package/dist/coordination/task-dag/dag-algorithms.js +162 -0
- package/dist/coordination/task-dag/dag-obligations.d.ts +21 -0
- package/dist/coordination/task-dag/dag-obligations.js +83 -0
- package/dist/coordination/task-dag/dag.d.ts +69 -19
- package/dist/coordination/task-dag/dag.js +215 -269
- package/dist/coordination/task-dag/index.d.ts +12 -4
- package/dist/coordination/task-dag/index.js +11 -3
- package/dist/coordination/task-dag/prerequisite-ledger.d.ts +84 -0
- package/dist/coordination/task-dag/prerequisite-ledger.js +252 -0
- package/dist/coordination/task-dag/scheduler.d.ts +19 -9
- package/dist/coordination/task-dag/scheduler.js +36 -12
- package/dist/coordination/task-dag/types.d.ts +160 -1
- package/dist/coordination/task-dag/types.js +2 -1
- package/dist/coordination/task-executability.d.ts +18 -0
- package/dist/coordination/task-executability.js +31 -0
- package/dist/coordination/task-executor.d.ts +1 -0
- package/dist/coordination/task-executor.js +5 -0
- package/dist/coordination/yaml-pipeline-loader.js +5 -2
- package/dist/domains/code-intelligence/coordinator.js +35 -9
- package/dist/domains/code-intelligence/index-path-guard.d.ts +52 -0
- package/dist/domains/code-intelligence/index-path-guard.js +95 -0
- package/dist/domains/code-intelligence/interfaces.d.ts +12 -0
- package/dist/domains/code-intelligence/plugin.js +5 -1
- package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +6 -0
- package/dist/domains/code-intelligence/services/knowledge-graph.js +42 -5
- package/dist/domains/code-intelligence/services/metric-collector/index.d.ts +2 -2
- package/dist/domains/code-intelligence/services/metric-collector/index.js +2 -3
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.d.ts +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +11 -36
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.d.ts +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +45 -103
- package/dist/domains/contract-testing/coordinator.js +3 -1
- package/dist/domains/contract-testing/services/api-compatibility.js +7 -6
- package/dist/domains/contract-testing/services/contract-validator.js +6 -4
- package/dist/domains/contract-testing/services/schema-validator.js +8 -5
- package/dist/domains/defect-intelligence/interfaces.d.ts +2 -0
- package/dist/domains/defect-intelligence/plugin.js +11 -2
- package/dist/domains/defect-intelligence/prediction-history.d.ts +27 -0
- package/dist/domains/defect-intelligence/prediction-history.js +68 -0
- package/dist/domains/defect-intelligence/services/defect-predictor.js +29 -12
- package/dist/domains/enterprise-integration/services/message-broker-service.js +3 -2
- package/dist/domains/enterprise-integration/services/odata-service.js +2 -1
- package/dist/domains/enterprise-integration/services/sap-integration-service.js +3 -2
- package/dist/domains/learning-optimization/active-patterns.d.ts +14 -14
- package/dist/domains/learning-optimization/active-patterns.js +17 -14
- package/dist/domains/learning-optimization/coordinator-helpers.js +2 -3
- package/dist/domains/learning-optimization/coordinator.d.ts +0 -3
- package/dist/domains/learning-optimization/coordinator.js +52 -107
- package/dist/domains/learning-optimization/index.d.ts +1 -1
- package/dist/domains/learning-optimization/interfaces.d.ts +62 -6
- package/dist/domains/learning-optimization/pattern-archive.d.ts +31 -0
- package/dist/domains/learning-optimization/pattern-archive.js +56 -0
- package/dist/domains/learning-optimization/pattern-consolidation.d.ts +12 -0
- package/dist/domains/learning-optimization/pattern-consolidation.js +41 -0
- package/dist/domains/learning-optimization/plugin.js +11 -1
- package/dist/domains/learning-optimization/reward-source.d.ts +50 -0
- package/dist/domains/learning-optimization/reward-source.js +65 -0
- package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +7 -5
- package/dist/domains/learning-optimization/services/learning-coordinator.js +98 -75
- package/dist/domains/learning-optimization/services/metrics-optimizer.d.ts +14 -4
- package/dist/domains/learning-optimization/services/metrics-optimizer.js +129 -63
- package/dist/domains/learning-optimization/services/transfer-specialist.js +25 -15
- package/dist/domains/security-compliance/plugin.js +17 -3
- package/dist/domains/security-compliance/sast-path-guard.d.ts +9 -0
- package/dist/domains/security-compliance/sast-path-guard.js +17 -0
- package/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +46 -56
- package/dist/domains/security-compliance/services/scanners/dast-helpers.js +76 -91
- package/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +52 -62
- package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +21 -1
- package/dist/domains/security-compliance/services/scanners/dast-scanner.js +29 -24
- package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +4 -1
- package/dist/domains/test-execution/coordinator.d.ts +5 -0
- package/dist/domains/test-execution/coordinator.js +35 -20
- package/dist/domains/test-execution/interfaces.d.ts +41 -0
- package/dist/domains/test-execution/plugin.js +19 -4
- package/dist/domains/test-execution/services/flaky-detector.js +9 -7
- package/dist/domains/test-execution/services/retry-handler.js +46 -7
- package/dist/domains/test-execution/services/runner-test-cases.d.ts +32 -0
- package/dist/domains/test-execution/services/runner-test-cases.js +87 -0
- package/dist/domains/test-execution/services/test-executor.d.ts +5 -0
- package/dist/domains/test-execution/services/test-executor.js +31 -9
- package/dist/domains/test-generation/plugin.js +7 -2
- package/dist/domains/test-generation/services/test-data-generator.js +3 -1
- package/dist/domains/visual-accessibility/services/axe-core-audit.js +1 -1
- package/dist/hooks/cross-phase-hooks.js +2 -1
- package/dist/init/fleet-integration.js +2 -0
- package/dist/init/init-wizard-steps.js +2 -0
- package/dist/init/phases/06-code-intelligence.js +2 -0
- package/dist/init/phases/10-workers.js +51 -6
- package/dist/integrations/browser/agent-browser/client.js +37 -52
- package/dist/integrations/browser/agent-browser/command-executor.d.ts +33 -27
- package/dist/integrations/browser/agent-browser/command-executor.js +53 -54
- package/dist/integrations/browser/agent-browser/session-manager.d.ts +1 -1
- package/dist/integrations/browser/agent-browser/session-manager.js +8 -9
- package/dist/integrations/browser/web-content-fetcher.js +9 -3
- package/dist/integrations/vibium/client.js +2 -2
- package/dist/integrations/vibium/runtime.d.ts +1 -1
- package/dist/integrations/vibium/runtime.js +14 -11
- package/dist/kernel/anti-drift-middleware.d.ts +44 -5
- package/dist/kernel/anti-drift-middleware.js +147 -11
- package/dist/kernel/interfaces.d.ts +5 -0
- package/dist/kernel/unified-memory-schemas.d.ts +3 -2
- package/dist/kernel/unified-memory-schemas.js +3 -2
- package/dist/kernel/unified-memory.js +25 -6
- package/dist/learning/dream/dream-commit.d.ts +65 -0
- package/dist/learning/dream/dream-commit.js +104 -0
- package/dist/learning/dream/dream-engine.d.ts +81 -31
- package/dist/learning/dream/dream-engine.js +225 -168
- package/dist/learning/dream/dream-insights-pruner.d.ts +24 -4
- package/dist/learning/dream/dream-insights-pruner.js +85 -11
- package/dist/learning/dream/index.d.ts +3 -2
- package/dist/learning/dream/index.js +3 -1
- package/dist/learning/dream/rvcow-branch-manager.d.ts +8 -1
- package/dist/learning/dream/rvcow-branch-manager.js +8 -1
- package/dist/learning/dream/speculative-dreamer.d.ts +50 -74
- package/dist/learning/dream/speculative-dreamer.js +64 -111
- package/dist/learning/dream/spreading-activation.d.ts +2 -1
- package/dist/learning/dream/spreading-activation.js +15 -6
- package/dist/learning/experience-capture.d.ts +9 -0
- package/dist/learning/experience-capture.js +18 -4
- package/dist/learning/qe-reasoning-bank-types.d.ts +17 -2
- package/dist/learning/qe-reasoning-bank.js +22 -11
- package/dist/learning/skill-validation-learner.d.ts +2 -0
- package/dist/learning/skill-validation-learner.js +29 -21
- package/dist/learning/sqlite-persistence.d.ts +6 -0
- package/dist/learning/sqlite-persistence.js +16 -2
- package/dist/learning/usage-outcome.d.ts +68 -0
- package/dist/learning/usage-outcome.js +84 -0
- package/dist/mcp/background-workers.d.ts +13 -1
- package/dist/mcp/background-workers.js +23 -3
- package/dist/mcp/bundle.js +602 -551
- package/dist/mcp/handlers/core-handlers.js +11 -0
- package/dist/mcp/handlers/domain-handler-configs.d.ts +19 -0
- package/dist/mcp/handlers/domain-handler-configs.js +76 -30
- package/dist/mcp/handlers/handler-factory.d.ts +2 -1
- package/dist/mcp/handlers/handler-factory.js +37 -15
- package/dist/mcp/handlers/orchestrate-routes.d.ts +36 -0
- package/dist/mcp/handlers/orchestrate-routes.js +88 -0
- package/dist/mcp/handlers/task-handlers.d.ts +3 -0
- package/dist/mcp/handlers/task-handlers.js +69 -6
- package/dist/mcp/handlers/validation-pipeline-handler.js +6 -2
- package/dist/mcp/metrics/metrics-collector.d.ts +11 -9
- package/dist/mcp/metrics/metrics-collector.js +13 -26
- package/dist/mcp/protocol-server.js +10 -3
- package/dist/mcp/security/schema-validator.js +3 -2
- package/dist/mcp/tools/code-intelligence/c4.js +11 -1
- package/dist/mcp/tools/coverage-analysis/index.js +31 -2
- package/dist/mcp/tools/learning-optimization/dream.d.ts +8 -8
- package/dist/mcp/tools/learning-optimization/dream.js +38 -34
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +52 -5
- package/dist/mcp/tools/learning-optimization/optimize.js +164 -80
- package/dist/mcp/tools/quality-assessment/gate.js +12 -1
- package/dist/mcp/tools/requirements-validation/quality-criteria.js +9 -2
- package/dist/memory/crdt/lww-register.js +11 -1
- package/dist/migration/agent-compat.js +7 -5
- package/dist/migrations/20261018_add_dream_insights_archive.d.ts +27 -0
- package/dist/migrations/20261018_add_dream_insights_archive.js +57 -0
- package/dist/routing/calibration/ema-calibrator.js +3 -1
- package/dist/shared/base-domain-plugin.d.ts +4 -0
- package/dist/shared/base-domain-plugin.js +6 -0
- package/dist/shared/git/git-analyzer.d.ts +49 -0
- package/dist/shared/git/git-analyzer.js +159 -319
- package/dist/shared/git/git-process.d.ts +22 -0
- package/dist/shared/git/git-process.js +37 -0
- package/dist/shared/git/index.d.ts +1 -0
- package/dist/shared/git/index.js +1 -0
- package/dist/shared/io/payload-path-guard.d.ts +75 -0
- package/dist/shared/io/payload-path-guard.js +190 -0
- package/dist/shared/llm/cache.js +4 -1
- package/dist/shared/llm/router/agent-router-config.js +2 -1
- package/dist/shared/llm/translation/tool-translator.js +2 -1
- package/dist/shared/security/compliance-patterns.js +3 -1
- package/dist/shared/test-runner-args.d.ts +5 -0
- package/dist/shared/test-runner-args.js +6 -1
- package/dist/shared/test-runner-process.d.ts +32 -0
- package/dist/shared/test-runner-process.js +105 -0
- package/dist/shared/test-runner-verdict.d.ts +9 -1
- package/dist/shared/test-runner-verdict.js +15 -4
- package/dist/shared/types/index.d.ts +9 -0
- package/dist/shared/types/index.js +13 -0
- package/dist/shared/utils/namespaced-search.d.ts +56 -0
- package/dist/shared/utils/namespaced-search.js +71 -0
- package/dist/shared/utils/safe-expression-evaluator.js +4 -3
- package/dist/strange-loop/infra-healing/infra-action-executor.js +7 -3
- package/dist/strange-loop/infra-healing/infra-healing-orchestrator.js +10 -9
- package/dist/strange-loop/infra-healing/recovery-playbook.js +13 -3
- package/dist/validation/gate-reexecute.js +7 -4
- package/dist/workers/daemon.d.ts +2 -0
- package/dist/workers/daemon.js +23 -6
- package/dist/workers/namespaced-keys.d.ts +4 -7
- package/dist/workers/namespaced-keys.js +4 -15
- package/dist/workers/quality-daemon/ci-monitor.js +9 -5
- package/dist/workers/quality-daemon/git-watcher.js +9 -9
- package/dist/workers/worker-env.d.ts +16 -8
- package/dist/workers/worker-env.js +25 -12
- package/dist/workers/worker-manager.js +4 -0
- package/dist/workers/workers/defect-predictor.d.ts +8 -3
- package/dist/workers/workers/defect-predictor.js +48 -49
- package/dist/workers/workers/learning-consolidation.d.ts +3 -1
- package/dist/workers/workers/learning-consolidation.js +22 -8
- package/dist/workflows/browser/workflow-loader.js +8 -5
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-FC4EY447.js +0 -2
- package/dist/cli/chunks/agent-booster-wasm-W3V5P7LE.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-AUAL6UBL.js +0 -2
- package/dist/cli/chunks/base-2XML4WH7.js +0 -2
- package/dist/cli/chunks/browser-ZL7OLKJQ.js +0 -4
- package/dist/cli/chunks/browser-workflow-2IFEUAAK.js +0 -2
- package/dist/cli/chunks/chunk-4GYFONJB.js +0 -4
- package/dist/cli/chunks/chunk-6CKTLVYV.js +0 -2
- package/dist/cli/chunks/chunk-7H3GNRNA.js +0 -4
- package/dist/cli/chunks/chunk-EUVSSIGR.js +0 -12
- package/dist/cli/chunks/chunk-I4U7YCXG.js +0 -180
- package/dist/cli/chunks/chunk-J7RCI25Q.js +0 -2
- package/dist/cli/chunks/chunk-KNHLOANK.js +0 -4
- package/dist/cli/chunks/chunk-KNQUHGNY.js +0 -2
- package/dist/cli/chunks/chunk-LZWBUVCK.js +0 -5
- package/dist/cli/chunks/chunk-PIEKGKW6.js +0 -12
- package/dist/cli/chunks/chunk-PWA6XBW4.js +0 -120
- package/dist/cli/chunks/chunk-X6VYQVUM.js +0 -2
- package/dist/cli/chunks/chunk-YTYS2XSY.js +0 -2
- package/dist/cli/chunks/chunk-Z3LDUPLQ.js +0 -6
- package/dist/cli/chunks/client-RFUSQRUZ.js +0 -2
- package/dist/cli/chunks/core-handlers-ZC7QB432.js +0 -2
- package/dist/cli/chunks/cross-domain-router-GRBK7YFZ.js +0 -2
- package/dist/cli/chunks/daemon-JER6HE2J.js +0 -12
- package/dist/cli/chunks/domain-transfer-NF7UJW7B.js +0 -2
- package/dist/cli/chunks/dream-VALD726W.js +0 -2
- package/dist/cli/chunks/file-discovery-VL73ASNI.js +0 -2
- package/dist/cli/chunks/fleet-GJ66QFXK.js +0 -43
- package/dist/cli/chunks/heartbeat-scheduler-FSX7A3ZA.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-UX2QT6RL.js +0 -2
- package/dist/cli/chunks/hnsw-index-WRDDAMXH.js +0 -2
- package/dist/cli/chunks/hybrid-backend-O67NGIB5.js +0 -2
- package/dist/cli/chunks/impact-analyzer-6VXWWYWM.js +0 -2
- package/dist/cli/chunks/init-wizard-VH34J4TL.js +0 -2
- package/dist/cli/chunks/kernel-KJD24NO7.js +0 -2
- package/dist/cli/chunks/knowledge-graph-343O2HEZ.js +0 -2
- package/dist/cli/chunks/llm-router-service-2M4BT2AO.js +0 -2
- package/dist/cli/chunks/load-test-OTQ2JQ5F.js +0 -2
- package/dist/cli/chunks/mcp-NOTDZBW5.js +0 -2
- package/dist/cli/chunks/memory-backend-4QSNRRV6.js +0 -2
- package/dist/cli/chunks/memory-handlers-YFFYRSM6.js +0 -2
- package/dist/cli/chunks/pattern-null-store-5USH5MNR.js +0 -2
- package/dist/cli/chunks/pipeline-7ATPA6LU.js +0 -19
- package/dist/cli/chunks/project-root-SRTA6TBL.js +0 -2
- package/dist/cli/chunks/protocol-executor-4WYPCNBS.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-I4D6SFS4.js +0 -2
- package/dist/cli/chunks/queen-coordinator-24UMTZTE.js +0 -2
- package/dist/cli/chunks/router-AUD4GATI.js +0 -2
- package/dist/cli/chunks/routing-feedback-2FE6SIKQ.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-P5LEUF25.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-ZCYD5YJS.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-QGV6BW2W.js +0 -2
- package/dist/cli/chunks/safe-db-Q6JUKG2A.js +0 -2
- package/dist/cli/chunks/schedule-44OSMGE5.js +0 -2
- package/dist/cli/chunks/scheduler-V3HO2QQT.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-N5T7DWMR.js +0 -2
- package/dist/cli/chunks/sync-4IMMQEPT.js +0 -2
- package/dist/cli/chunks/task-handlers-FH6DNTHW.js +0 -9
- package/dist/cli/chunks/token-bootstrap-HMM3AHXM.js +0 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-56GDQCMR.js +0 -2
- package/dist/cli/chunks/unified-memory-RQ3Q4CU3.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-ZOP5FEYX.js +0 -2
- package/dist/cli/chunks/unified-persistence-72OCJJKK.js +0 -2
- package/dist/cli/chunks/visual-security-7F5UV23J.js +0 -2
- package/dist/cli/chunks/witness-chain-KZ57QUFE.js +0 -2
- package/dist/cli/chunks/witness-chain-LFASSMZK.js +0 -2
- package/dist/cli/chunks/witness-chain-repair-TPHN4DXN.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-ZNWEUYBN.js +0 -2
- package/dist/cli/chunks/wrappers-WCAYIQUX.js +0 -2
|
@@ -14,10 +14,18 @@
|
|
|
14
14
|
* `getPendingInsights` target and vector embeddings (if attached) grow
|
|
15
15
|
* unbounded.
|
|
16
16
|
*
|
|
17
|
-
* Strategy:
|
|
17
|
+
* Strategy: move out of `dream_insights` only insights that:
|
|
18
18
|
* - have never been applied (`applied = 0`), AND
|
|
19
19
|
* - are older than the retention window (default 30 days)
|
|
20
20
|
*
|
|
21
|
+
* #1066: rows are archived, not lost. In one write transaction (BEGIN
|
|
22
|
+
* IMMEDIATE, so it waits on busy_timeout instead of failing on lock upgrade)
|
|
23
|
+
* each qualifying row is copied to `dream_insights_archive`, the copies are
|
|
24
|
+
* read back, and only rows whose copy is present are deleted. If the
|
|
25
|
+
* read-back does not match, the transaction rolls back and nothing is
|
|
26
|
+
* deleted. The archive has its own key, so an insight swept twice keeps both
|
|
27
|
+
* copies.
|
|
28
|
+
*
|
|
21
29
|
* Applied insights stay forever — they're part of the audit trail for
|
|
22
30
|
* pattern changes. Recently-created insights stay regardless of applied
|
|
23
31
|
* state — they might still be picked up by a future `applyInsight` pass.
|
|
@@ -26,12 +34,22 @@
|
|
|
26
34
|
* the 30-min worker tick. Failures are non-fatal — the worker continues
|
|
27
35
|
* with the rest of its lifecycle work.
|
|
28
36
|
*/
|
|
37
|
+
import { DREAM_INSIGHTS_ARCHIVE_TABLE, DREAM_INSIGHTS_ARCHIVE_TABLE_SQL as CREATE_ARCHIVE_SQL, } from '../../migrations/20261018_add_dream_insights_archive.js';
|
|
29
38
|
const DEFAULT_RETENTION_DAYS = 30;
|
|
39
|
+
// #1116: the archive table is part of the versioned schema (v14). The sweep
|
|
40
|
+
// still runs the same idempotent CREATE first, for a database whose schema
|
|
41
|
+
// was not migrated by this version (for example opened directly by a test).
|
|
42
|
+
export { DREAM_INSIGHTS_ARCHIVE_TABLE };
|
|
43
|
+
function columnNames(db, table) {
|
|
44
|
+
return db.prepare(`PRAGMA table_info(${table})`).all().map((c) => c.name);
|
|
45
|
+
}
|
|
30
46
|
/**
|
|
31
|
-
*
|
|
47
|
+
* Archive, then delete, stale unapplied insights. Idempotent — safe to call
|
|
48
|
+
* on every tick.
|
|
32
49
|
*
|
|
33
|
-
* Returns `{ pruned: 0 }` if the table doesn't exist (init hasn't
|
|
34
|
-
* the dream schema yet) or if no rows qualify.
|
|
50
|
+
* Returns `{ pruned: 0, archived: 0, skippedNullId: 0 }` if the table doesn't exist (init hasn't
|
|
51
|
+
* created the dream schema yet) or if no rows qualify. Throws, with nothing
|
|
52
|
+
* deleted, if the archive copy cannot be verified.
|
|
35
53
|
*/
|
|
36
54
|
export function pruneStaleDreamInsights(db, options = {}) {
|
|
37
55
|
const retentionDays = options.retentionDays ?? DEFAULT_RETENTION_DAYS;
|
|
@@ -41,13 +59,69 @@ export function pruneStaleDreamInsights(db, options = {}) {
|
|
|
41
59
|
.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='dream_insights'")
|
|
42
60
|
.get();
|
|
43
61
|
if (!tableExists) {
|
|
44
|
-
return { pruned: 0 };
|
|
62
|
+
return { pruned: 0, archived: 0, skippedNullId: 0 };
|
|
45
63
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
.
|
|
51
|
-
|
|
64
|
+
// One cutoff for every statement below, so the copy, the check and the
|
|
65
|
+
// delete all see the same set of rows.
|
|
66
|
+
const { cutoff } = db
|
|
67
|
+
.prepare(`SELECT datetime('now', ?) AS cutoff`)
|
|
68
|
+
.get(`-${retentionDays} days`);
|
|
69
|
+
// #1116: a NULL id cannot be archived or matched for the delete; such rows
|
|
70
|
+
// stay where they are and are counted instead of failing the sweep.
|
|
71
|
+
const stale = 'd.applied = 0 AND d.created_at < ? AND d.id IS NOT NULL';
|
|
72
|
+
const skippedNullId = db
|
|
73
|
+
.prepare(`SELECT COUNT(*) AS n FROM dream_insights d WHERE d.applied = 0 AND d.created_at < ? AND d.id IS NULL`)
|
|
74
|
+
.get(cutoff).n;
|
|
75
|
+
const sweep = db.transaction(() => {
|
|
76
|
+
const candidates = db
|
|
77
|
+
.prepare(`SELECT COUNT(*) AS n FROM dream_insights d WHERE ${stale}`)
|
|
78
|
+
.get(cutoff).n;
|
|
79
|
+
if (candidates === 0)
|
|
80
|
+
return { pruned: 0, archived: 0, skippedNullId };
|
|
81
|
+
db.exec(CREATE_ARCHIVE_SQL);
|
|
82
|
+
const archiveColumns = new Set(columnNames(db, DREAM_INSIGHTS_ARCHIVE_TABLE));
|
|
83
|
+
if (!archiveColumns.has('archive_id')) {
|
|
84
|
+
throw new Error(`${DREAM_INSIGHTS_ARCHIVE_TABLE} has no archive_id column; nothing deleted`);
|
|
85
|
+
}
|
|
86
|
+
// Copy the columns both tables have; older databases may lack some.
|
|
87
|
+
const shared = columnNames(db, 'dream_insights').filter((name) => name !== 'archived_at' && name !== 'archive_id' && archiveColumns.has(name));
|
|
88
|
+
const list = shared.map((name) => `"${name}"`).join(', ');
|
|
89
|
+
// Copies made by this sweep have archive_id above this mark.
|
|
90
|
+
const { mark } = db
|
|
91
|
+
.prepare(`SELECT COALESCE(MAX(archive_id), 0) AS mark FROM ${DREAM_INSIGHTS_ARCHIVE_TABLE}`)
|
|
92
|
+
.get();
|
|
93
|
+
const archived = db
|
|
94
|
+
.prepare(`INSERT INTO ${DREAM_INSIGHTS_ARCHIVE_TABLE} (${list}, archived_at)
|
|
95
|
+
SELECT ${shared.map((name) => `d."${name}"`).join(', ')}, datetime('now')
|
|
96
|
+
FROM dream_insights d WHERE ${stale}`)
|
|
97
|
+
.run(cutoff).changes;
|
|
98
|
+
// Read back: every row about to be deleted must have a copy from this sweep.
|
|
99
|
+
const copied = db
|
|
100
|
+
.prepare(`SELECT COUNT(*) AS n FROM dream_insights d
|
|
101
|
+
WHERE ${stale}
|
|
102
|
+
AND EXISTS (SELECT 1 FROM ${DREAM_INSIGHTS_ARCHIVE_TABLE} a
|
|
103
|
+
WHERE a.id = d.id AND a.archive_id > ?)`)
|
|
104
|
+
.get(cutoff, mark).n;
|
|
105
|
+
if (copied !== candidates) {
|
|
106
|
+
throw new Error(`dream_insights archive check failed: ${copied} of ${candidates} rows copied; nothing deleted`);
|
|
107
|
+
}
|
|
108
|
+
const pruned = db
|
|
109
|
+
.prepare(`DELETE FROM dream_insights
|
|
110
|
+
WHERE applied = 0 AND created_at < ? AND id IS NOT NULL
|
|
111
|
+
AND id IN (SELECT id FROM ${DREAM_INSIGHTS_ARCHIVE_TABLE} WHERE archive_id > ?)`)
|
|
112
|
+
.run(cutoff, mark).changes;
|
|
113
|
+
// Read back: the stale rows are gone and none was deleted uncopied.
|
|
114
|
+
const left = db
|
|
115
|
+
.prepare(`SELECT COUNT(*) AS n FROM dream_insights d WHERE ${stale}`)
|
|
116
|
+
.get(cutoff).n;
|
|
117
|
+
if (pruned !== candidates || left !== 0) {
|
|
118
|
+
throw new Error(`dream_insights delete check failed: deleted ${pruned} of ${candidates}, ${left} left; rolled back`);
|
|
119
|
+
}
|
|
120
|
+
return { pruned, archived, skippedNullId };
|
|
121
|
+
});
|
|
122
|
+
// #1066 review: IMMEDIATE takes the write lock up front, so a busy database
|
|
123
|
+
// makes the sweep wait on busy_timeout. A deferred transaction starts with
|
|
124
|
+
// a read and fails at once with SQLITE_BUSY when it upgrades to write.
|
|
125
|
+
return sweep.immediate();
|
|
52
126
|
}
|
|
53
127
|
//# sourceMappingURL=dream-insights-pruner.js.map
|
|
@@ -53,9 +53,10 @@ export { DEFAULT_CONCEPT_GRAPH_CONFIG } from './types.js';
|
|
|
53
53
|
export { ConceptGraph, createConceptGraph } from './concept-graph.js';
|
|
54
54
|
export { SpreadingActivation, type ActivationConfig, type ActivationResult, DEFAULT_ACTIVATION_CONFIG, MAX_ACTIVATION_HISTORY_ENTRIES, MAX_COACTIVATION_ENTRIES, HISTORY_TRIM_TARGET_RATIO, } from './spreading-activation.js';
|
|
55
55
|
export { InsightGenerator, type InsightConfig, type DreamInsight as GeneratedInsight, type PatternTemplate, DEFAULT_INSIGHT_CONFIG, } from './insight-generator.js';
|
|
56
|
-
export { DreamEngine, createDreamEngine, type DreamConfig, type DreamCycleResult as EngineResult, type ApplyInsightResult, DEFAULT_DREAM_CONFIG, } from './dream-engine.js';
|
|
56
|
+
export { DreamEngine, createDreamEngine, type DreamConfig, type DreamCycleResult as EngineResult, type ApplyInsightResult, type DreamRunOptions, DreamAlreadyRunningError, DEFAULT_DREAM_CONFIG, } from './dream-engine.js';
|
|
57
|
+
export { commitDream, markAbandonedCycles, ABANDONED_CYCLE_GRACE_MS, type ComputedDream, type DreamCommitResult, } from './dream-commit.js';
|
|
57
58
|
export { DreamScheduler, createDreamScheduler, type DreamSchedulerConfig, type DreamSchedulerDependencies, type DreamSchedulerStatus, type TaskExperience, DEFAULT_DREAM_SCHEDULER_CONFIG, } from './dream-scheduler.js';
|
|
58
59
|
export { RVCOWBranchManager, type Branch, type QualityBaseline, type ValidationResult, type ValidationThresholds, type BranchEvent, type BranchEventListener, DEFAULT_VALIDATION_THRESHOLDS, } from './rvcow-branch-manager.js';
|
|
59
|
-
export { SpeculativeDreamer, type DreamStrategy, type StrategyResult, type SpeculativeDreamResult, type
|
|
60
|
+
export { SpeculativeDreamer, type DreamStrategy, type StrategyResult, type SpeculativeDreamResult, type SpeculativeDreamOptions, BUILT_IN_STRATEGIES, } from './speculative-dreamer.js';
|
|
60
61
|
export { default } from './dream-engine.js';
|
|
61
62
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -66,7 +66,9 @@ export { InsightGenerator, DEFAULT_INSIGHT_CONFIG, } from './insight-generator.j
|
|
|
66
66
|
// ============================================================================
|
|
67
67
|
// DreamEngine
|
|
68
68
|
// ============================================================================
|
|
69
|
-
export { DreamEngine, createDreamEngine, DEFAULT_DREAM_CONFIG, } from './dream-engine.js';
|
|
69
|
+
export { DreamEngine, createDreamEngine, DreamAlreadyRunningError, DEFAULT_DREAM_CONFIG, } from './dream-engine.js';
|
|
70
|
+
// #1060: compute-then-commit of a dream cycle
|
|
71
|
+
export { commitDream, markAbandonedCycles, ABANDONED_CYCLE_GRACE_MS, } from './dream-commit.js';
|
|
70
72
|
// ============================================================================
|
|
71
73
|
// DreamScheduler
|
|
72
74
|
// ============================================================================
|
|
@@ -19,7 +19,9 @@
|
|
|
19
19
|
* process-wide shared connection, foreground writes made in the meantime
|
|
20
20
|
* (memory_store and other acknowledged writes) join the savepoint and are
|
|
21
21
|
* rolled back by a discard, or lost if the connection closes before
|
|
22
|
-
* RELEASE.
|
|
22
|
+
* RELEASE. Since #1060 neither DreamEngine nor SpeculativeDreamer branches:
|
|
23
|
+
* a dream is computed in memory and committed in one short transaction
|
|
24
|
+
* (dream-commit.ts).
|
|
23
25
|
*
|
|
24
26
|
* @module learning/dream/rvcow-branch-manager
|
|
25
27
|
*/
|
|
@@ -102,6 +104,10 @@ export type BranchEventListener = (event: BranchEvent, branch: Branch, detail?:
|
|
|
102
104
|
* manager.discardBranch(branch);
|
|
103
105
|
* }
|
|
104
106
|
* ```
|
|
107
|
+
*
|
|
108
|
+
* @deprecated #1060: no dream path uses branching any more. A SAVEPOINT on
|
|
109
|
+
* the process-wide shared connection captures every foreground write made
|
|
110
|
+
* while it is open; do not reintroduce it there.
|
|
105
111
|
*/
|
|
106
112
|
export declare class RVCOWBranchManager {
|
|
107
113
|
private readonly db;
|
|
@@ -131,6 +137,7 @@ export declare class RVCOWBranchManager {
|
|
|
131
137
|
* @param name - Unique branch name (used as savepoint identifier)
|
|
132
138
|
* @returns The created Branch
|
|
133
139
|
* @throws If a branch with this name already exists
|
|
140
|
+
* @deprecated #1060: see the class note; never open this on the shared connection.
|
|
134
141
|
*/
|
|
135
142
|
createBranch(name: string): Branch;
|
|
136
143
|
/**
|
|
@@ -19,7 +19,9 @@
|
|
|
19
19
|
* process-wide shared connection, foreground writes made in the meantime
|
|
20
20
|
* (memory_store and other acknowledged writes) join the savepoint and are
|
|
21
21
|
* rolled back by a discard, or lost if the connection closes before
|
|
22
|
-
* RELEASE.
|
|
22
|
+
* RELEASE. Since #1060 neither DreamEngine nor SpeculativeDreamer branches:
|
|
23
|
+
* a dream is computed in memory and committed in one short transaction
|
|
24
|
+
* (dream-commit.ts).
|
|
23
25
|
*
|
|
24
26
|
* @module learning/dream/rvcow-branch-manager
|
|
25
27
|
*/
|
|
@@ -48,6 +50,10 @@ export const DEFAULT_VALIDATION_THRESHOLDS = {
|
|
|
48
50
|
* manager.discardBranch(branch);
|
|
49
51
|
* }
|
|
50
52
|
* ```
|
|
53
|
+
*
|
|
54
|
+
* @deprecated #1060: no dream path uses branching any more. A SAVEPOINT on
|
|
55
|
+
* the process-wide shared connection captures every foreground write made
|
|
56
|
+
* while it is open; do not reintroduce it there.
|
|
51
57
|
*/
|
|
52
58
|
export class RVCOWBranchManager {
|
|
53
59
|
db;
|
|
@@ -97,6 +103,7 @@ export class RVCOWBranchManager {
|
|
|
97
103
|
* @param name - Unique branch name (used as savepoint identifier)
|
|
98
104
|
* @returns The created Branch
|
|
99
105
|
* @throws If a branch with this name already exists
|
|
106
|
+
* @deprecated #1060: see the class note; never open this on the shared connection.
|
|
100
107
|
*/
|
|
101
108
|
createBranch(name) {
|
|
102
109
|
if (this.activeBranches.has(name)) {
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SpeculativeDreamer -
|
|
3
|
-
* ADR-069
|
|
2
|
+
* SpeculativeDreamer - Competing Dream Strategies, Best One Committed
|
|
3
|
+
* ADR-069 (reworked for #1060)
|
|
4
4
|
*
|
|
5
|
-
* Runs 2-3 dream strategies
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* the best-performing branch. All other branches are discarded.
|
|
5
|
+
* Runs 2-3 dream strategies, each with different parameters (decay rates,
|
|
6
|
+
* spread factors, noise levels), scores their results and commits only the
|
|
7
|
+
* best one. All others are dropped.
|
|
9
8
|
*
|
|
10
9
|
* This implements the "adversarial dream" concept from the Six Thinking
|
|
11
10
|
* Hats analysis, where diverse strategies compete and the best wins.
|
|
12
11
|
*
|
|
12
|
+
* #1060: each strategy runs as `DreamEngine.dream(…, { commit: false })`,
|
|
13
|
+
* which computes the dream in memory and writes nothing. The winner is then
|
|
14
|
+
* written with `DreamEngine.commitDreamResult()`, the same single synchronous
|
|
15
|
+
* transaction a normal dream commits with. No SAVEPOINT is held across an
|
|
16
|
+
* `await`, so foreground writes on the shared connection are never rolled
|
|
17
|
+
* back with a losing strategy. (Before #1060 each strategy ran inside an RVCOW
|
|
18
|
+
* savepoint on the shared connection, and the winner was re-executed.)
|
|
19
|
+
*
|
|
13
20
|
* @module learning/dream/speculative-dreamer
|
|
14
21
|
*/
|
|
15
|
-
import type { Database as DatabaseType } from 'better-sqlite3';
|
|
16
22
|
import type { ActivationConfig } from './spreading-activation.js';
|
|
17
|
-
import
|
|
23
|
+
import type { DreamEngine, DreamCycleResult } from './dream-engine.js';
|
|
18
24
|
/**
|
|
19
25
|
* A named dream strategy with custom activation parameters.
|
|
20
26
|
*/
|
|
@@ -27,16 +33,18 @@ export interface DreamStrategy {
|
|
|
27
33
|
description?: string;
|
|
28
34
|
}
|
|
29
35
|
/**
|
|
30
|
-
* Result of a single speculative dream
|
|
36
|
+
* Result of a single speculative dream strategy.
|
|
31
37
|
*/
|
|
32
38
|
export interface StrategyResult {
|
|
33
39
|
/** The strategy that was executed */
|
|
34
40
|
strategy: DreamStrategy;
|
|
35
|
-
/** The
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
/**
|
|
41
|
+
/** The strategy's dream result (null if the dream failed) */
|
|
42
|
+
result: DreamCycleResult | null;
|
|
43
|
+
/** Score used to pick the winner (higher is better; -Infinity on failure) */
|
|
44
|
+
score: number;
|
|
45
|
+
/** Why the dream failed, if it did */
|
|
46
|
+
error?: string;
|
|
47
|
+
/** Whether this strategy was selected and committed */
|
|
40
48
|
selected: boolean;
|
|
41
49
|
/** Execution duration in milliseconds */
|
|
42
50
|
durationMs: number;
|
|
@@ -47,91 +55,59 @@ export interface StrategyResult {
|
|
|
47
55
|
export interface SpeculativeDreamResult {
|
|
48
56
|
/** All strategy results, including winner and losers */
|
|
49
57
|
strategies: StrategyResult[];
|
|
50
|
-
/** The
|
|
58
|
+
/** The committed strategy (or null if every strategy failed) */
|
|
51
59
|
winner: StrategyResult | null;
|
|
52
60
|
/** Total wall-clock time */
|
|
53
61
|
totalDurationMs: number;
|
|
62
|
+
/** How long the winner's commit transaction took, in ms */
|
|
63
|
+
commitDurationMs?: number;
|
|
64
|
+
/**
|
|
65
|
+
* True when DreamEngine.cancelDream() was called during the run: the
|
|
66
|
+
* remaining strategies were not run and nothing was committed.
|
|
67
|
+
*/
|
|
68
|
+
cancelled: boolean;
|
|
69
|
+
}
|
|
70
|
+
/** Options for SpeculativeDreamer.dream(). */
|
|
71
|
+
export interface SpeculativeDreamOptions {
|
|
72
|
+
/** Duration of each strategy's dream (default: the engine's maxDurationMs) */
|
|
73
|
+
durationMs?: number;
|
|
54
74
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Callback that executes a dream cycle with the given activation config.
|
|
57
|
-
* The implementation should use the provided config overrides when running
|
|
58
|
-
* spreading activation. It returns the number of insights generated.
|
|
59
|
-
*/
|
|
60
|
-
export type DreamExecutor = (activationConfigOverrides: Partial<ActivationConfig>) => Promise<number>;
|
|
61
75
|
/**
|
|
62
76
|
* Predefined dream strategies with different parameter profiles.
|
|
63
77
|
*/
|
|
64
78
|
export declare const BUILT_IN_STRATEGIES: DreamStrategy[];
|
|
65
79
|
/**
|
|
66
|
-
* Runs multiple dream strategies
|
|
67
|
-
*
|
|
68
|
-
* Because SQLite savepoints are sequential (not truly parallel), strategies
|
|
69
|
-
* are executed one at a time but each in its own savepoint. The branch manager
|
|
70
|
-
* ensures that failed strategies leave no trace in the database.
|
|
80
|
+
* Runs multiple dream strategies against one DreamEngine and commits the best.
|
|
71
81
|
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* across synchronous work. If it stays open across `await`s on the
|
|
75
|
-
* process-wide shared connection, foreground writes made in the meantime
|
|
76
|
-
* (memory_store and other acknowledged writes) join the savepoint and are
|
|
77
|
-
* rolled back by a discard, or lost if the connection closes before
|
|
78
|
-
* RELEASE. DreamEngine therefore defaults `enableBranching` to false.
|
|
82
|
+
* Strategies run one at a time (an engine runs one dream at a time). Each
|
|
83
|
+
* computes its dream in memory without writing; only the winner is committed.
|
|
79
84
|
*
|
|
80
85
|
* @example
|
|
81
86
|
* ```typescript
|
|
82
|
-
* const dreamer = new SpeculativeDreamer(
|
|
83
|
-
* const result = await dreamer.dream(
|
|
84
|
-
* BUILT_IN_STRATEGIES,
|
|
85
|
-
* async (configOverrides) => {
|
|
86
|
-
* // Run dream with configOverrides applied
|
|
87
|
-
* return insightCount;
|
|
88
|
-
* }
|
|
89
|
-
* );
|
|
87
|
+
* const dreamer = new SpeculativeDreamer(engine);
|
|
88
|
+
* const result = await dreamer.dream(BUILT_IN_STRATEGIES, { durationMs: 5000 });
|
|
90
89
|
* if (result.winner) {
|
|
91
90
|
* console.log(`Best strategy: ${result.winner.strategy.name}`);
|
|
92
91
|
* }
|
|
93
92
|
* ```
|
|
94
93
|
*/
|
|
95
94
|
export declare class SpeculativeDreamer {
|
|
96
|
-
private readonly
|
|
97
|
-
|
|
98
|
-
constructor(db: DatabaseType, thresholds?: ValidationThresholds);
|
|
95
|
+
private readonly engine;
|
|
96
|
+
constructor(engine: DreamEngine);
|
|
99
97
|
/**
|
|
100
|
-
* Run
|
|
101
|
-
* then merge the best-performing one and discard the rest.
|
|
98
|
+
* Run each strategy without committing, then commit the best-scoring one.
|
|
102
99
|
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* 2. For each strategy:
|
|
106
|
-
* a. Create branch (SAVEPOINT)
|
|
107
|
-
* b. Execute dream with strategy params
|
|
108
|
-
* c. Validate branch against baseline
|
|
109
|
-
* d. Discard branch (ROLLBACK) -- we keep results in memory only
|
|
110
|
-
* 3. Replay the winning strategy in a final branch and merge it
|
|
111
|
-
*
|
|
112
|
-
* Note: Because we must discard each branch before starting the next
|
|
113
|
-
* (SQLite savepoint semantics), the winning strategy is re-executed
|
|
114
|
-
* in step 3. This is acceptable because dream cycles are deterministic
|
|
115
|
-
* given the same input state and parameters.
|
|
116
|
-
*
|
|
117
|
-
* @param strategies - 2-3 strategies to compete
|
|
118
|
-
* @param executor - Callback that runs the dream with given config
|
|
100
|
+
* @param strategies - 1-5 strategies to compete
|
|
101
|
+
* @param options - Per-strategy dream duration
|
|
119
102
|
* @returns Result with winner and all strategy details
|
|
120
103
|
*/
|
|
121
|
-
dream(strategies: DreamStrategy[],
|
|
122
|
-
/**
|
|
123
|
-
* Get the underlying branch manager (for event subscription).
|
|
124
|
-
*/
|
|
125
|
-
getBranchManager(): RVCOWBranchManager;
|
|
126
|
-
/**
|
|
127
|
-
* Execute a single strategy in a branch, validate, then discard.
|
|
128
|
-
* We discard because we need to try all strategies from the same baseline.
|
|
129
|
-
*/
|
|
104
|
+
dream(strategies: DreamStrategy[], options?: SpeculativeDreamOptions): Promise<SpeculativeDreamResult>;
|
|
105
|
+
/** Run one strategy without committing anything. */
|
|
130
106
|
private executeStrategy;
|
|
131
107
|
/**
|
|
132
|
-
* Score a
|
|
133
|
-
*
|
|
108
|
+
* Score a strategy's dream. Higher = better: insights weighted by their
|
|
109
|
+
* confidence and novelty, then the novel associations found.
|
|
134
110
|
*/
|
|
135
|
-
private
|
|
111
|
+
private scoreResult;
|
|
136
112
|
}
|
|
137
113
|
//# sourceMappingURL=speculative-dreamer.d.ts.map
|
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SpeculativeDreamer -
|
|
3
|
-
* ADR-069
|
|
2
|
+
* SpeculativeDreamer - Competing Dream Strategies, Best One Committed
|
|
3
|
+
* ADR-069 (reworked for #1060)
|
|
4
4
|
*
|
|
5
|
-
* Runs 2-3 dream strategies
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* the best-performing branch. All other branches are discarded.
|
|
5
|
+
* Runs 2-3 dream strategies, each with different parameters (decay rates,
|
|
6
|
+
* spread factors, noise levels), scores their results and commits only the
|
|
7
|
+
* best one. All others are dropped.
|
|
9
8
|
*
|
|
10
9
|
* This implements the "adversarial dream" concept from the Six Thinking
|
|
11
10
|
* Hats analysis, where diverse strategies compete and the best wins.
|
|
12
11
|
*
|
|
12
|
+
* #1060: each strategy runs as `DreamEngine.dream(…, { commit: false })`,
|
|
13
|
+
* which computes the dream in memory and writes nothing. The winner is then
|
|
14
|
+
* written with `DreamEngine.commitDreamResult()`, the same single synchronous
|
|
15
|
+
* transaction a normal dream commits with. No SAVEPOINT is held across an
|
|
16
|
+
* `await`, so foreground writes on the shared connection are never rolled
|
|
17
|
+
* back with a losing strategy. (Before #1060 each strategy ran inside an RVCOW
|
|
18
|
+
* savepoint on the shared connection, and the winner was re-executed.)
|
|
19
|
+
*
|
|
13
20
|
* @module learning/dream/speculative-dreamer
|
|
14
21
|
*/
|
|
15
|
-
import {
|
|
22
|
+
import { toErrorMessage } from '../../shared/error-utils.js';
|
|
16
23
|
// ============================================================================
|
|
17
24
|
// Built-in Strategies
|
|
18
25
|
// ============================================================================
|
|
@@ -55,65 +62,33 @@ export const BUILT_IN_STRATEGIES = [
|
|
|
55
62
|
// SpeculativeDreamer
|
|
56
63
|
// ============================================================================
|
|
57
64
|
/**
|
|
58
|
-
* Runs multiple dream strategies
|
|
59
|
-
*
|
|
60
|
-
* Because SQLite savepoints are sequential (not truly parallel), strategies
|
|
61
|
-
* are executed one at a time but each in its own savepoint. The branch manager
|
|
62
|
-
* ensures that failed strategies leave no trace in the database.
|
|
65
|
+
* Runs multiple dream strategies against one DreamEngine and commits the best.
|
|
63
66
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* across synchronous work. If it stays open across `await`s on the
|
|
67
|
-
* process-wide shared connection, foreground writes made in the meantime
|
|
68
|
-
* (memory_store and other acknowledged writes) join the savepoint and are
|
|
69
|
-
* rolled back by a discard, or lost if the connection closes before
|
|
70
|
-
* RELEASE. DreamEngine therefore defaults `enableBranching` to false.
|
|
67
|
+
* Strategies run one at a time (an engine runs one dream at a time). Each
|
|
68
|
+
* computes its dream in memory without writing; only the winner is committed.
|
|
71
69
|
*
|
|
72
70
|
* @example
|
|
73
71
|
* ```typescript
|
|
74
|
-
* const dreamer = new SpeculativeDreamer(
|
|
75
|
-
* const result = await dreamer.dream(
|
|
76
|
-
* BUILT_IN_STRATEGIES,
|
|
77
|
-
* async (configOverrides) => {
|
|
78
|
-
* // Run dream with configOverrides applied
|
|
79
|
-
* return insightCount;
|
|
80
|
-
* }
|
|
81
|
-
* );
|
|
72
|
+
* const dreamer = new SpeculativeDreamer(engine);
|
|
73
|
+
* const result = await dreamer.dream(BUILT_IN_STRATEGIES, { durationMs: 5000 });
|
|
82
74
|
* if (result.winner) {
|
|
83
75
|
* console.log(`Best strategy: ${result.winner.strategy.name}`);
|
|
84
76
|
* }
|
|
85
77
|
* ```
|
|
86
78
|
*/
|
|
87
79
|
export class SpeculativeDreamer {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
this.db = db;
|
|
92
|
-
this.branchManager = new RVCOWBranchManager(db, thresholds ?? DEFAULT_VALIDATION_THRESHOLDS);
|
|
80
|
+
engine;
|
|
81
|
+
constructor(engine) {
|
|
82
|
+
this.engine = engine;
|
|
93
83
|
}
|
|
94
84
|
/**
|
|
95
|
-
* Run
|
|
96
|
-
* then merge the best-performing one and discard the rest.
|
|
97
|
-
*
|
|
98
|
-
* Strategy execution flow:
|
|
99
|
-
* 1. Capture baseline before any strategy runs
|
|
100
|
-
* 2. For each strategy:
|
|
101
|
-
* a. Create branch (SAVEPOINT)
|
|
102
|
-
* b. Execute dream with strategy params
|
|
103
|
-
* c. Validate branch against baseline
|
|
104
|
-
* d. Discard branch (ROLLBACK) -- we keep results in memory only
|
|
105
|
-
* 3. Replay the winning strategy in a final branch and merge it
|
|
106
|
-
*
|
|
107
|
-
* Note: Because we must discard each branch before starting the next
|
|
108
|
-
* (SQLite savepoint semantics), the winning strategy is re-executed
|
|
109
|
-
* in step 3. This is acceptable because dream cycles are deterministic
|
|
110
|
-
* given the same input state and parameters.
|
|
85
|
+
* Run each strategy without committing, then commit the best-scoring one.
|
|
111
86
|
*
|
|
112
|
-
* @param strategies -
|
|
113
|
-
* @param
|
|
87
|
+
* @param strategies - 1-5 strategies to compete
|
|
88
|
+
* @param options - Per-strategy dream duration
|
|
114
89
|
* @returns Result with winner and all strategy details
|
|
115
90
|
*/
|
|
116
|
-
async dream(strategies,
|
|
91
|
+
async dream(strategies, options = {}) {
|
|
117
92
|
if (strategies.length < 1) {
|
|
118
93
|
throw new Error('At least one strategy is required');
|
|
119
94
|
}
|
|
@@ -121,34 +96,32 @@ export class SpeculativeDreamer {
|
|
|
121
96
|
throw new Error('Maximum 5 strategies allowed to limit resource usage');
|
|
122
97
|
}
|
|
123
98
|
const totalStart = Date.now();
|
|
124
|
-
const baseline = this.branchManager.captureBaseline();
|
|
125
99
|
const results = [];
|
|
126
|
-
//
|
|
100
|
+
// #1060: a cancel stops the whole speculative run, not only the strategy
|
|
101
|
+
// that happens to be running; nothing further runs or is committed.
|
|
102
|
+
const cancelsAtStart = this.engine.cancelCount;
|
|
103
|
+
const cancelled = () => this.engine.cancelCount !== cancelsAtStart;
|
|
127
104
|
for (const strategy of strategies) {
|
|
128
|
-
|
|
129
|
-
|
|
105
|
+
if (cancelled())
|
|
106
|
+
break;
|
|
107
|
+
results.push(await this.executeStrategy(strategy, options.durationMs));
|
|
108
|
+
}
|
|
109
|
+
if (cancelled()) {
|
|
110
|
+
return { strategies: results, winner: null, totalDurationMs: Date.now() - totalStart, cancelled: true };
|
|
130
111
|
}
|
|
131
|
-
// Find the best passing strategy
|
|
132
|
-
const passingResults = results.filter(r => r.validation.passed);
|
|
133
112
|
let winner = null;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
});
|
|
141
|
-
// Re-execute the winning strategy and merge it
|
|
142
|
-
const finalBranch = this.branchManager.createBranch(`dream-final-${winner.strategy.name}-${Date.now()}`);
|
|
113
|
+
for (const candidate of results) {
|
|
114
|
+
if (candidate.result && (!winner || candidate.score > winner.score))
|
|
115
|
+
winner = candidate;
|
|
116
|
+
}
|
|
117
|
+
let commitDurationMs;
|
|
118
|
+
if (winner?.result) {
|
|
143
119
|
try {
|
|
144
|
-
|
|
145
|
-
this.branchManager.mergeBranch(finalBranch);
|
|
120
|
+
commitDurationMs = this.engine.commitDreamResult(winner.result);
|
|
146
121
|
winner.selected = true;
|
|
147
122
|
}
|
|
148
|
-
catch {
|
|
149
|
-
|
|
150
|
-
this.branchManager.discardBranch(finalBranch);
|
|
151
|
-
winner.selected = false;
|
|
123
|
+
catch (error) {
|
|
124
|
+
winner.error = toErrorMessage(error);
|
|
152
125
|
winner = null;
|
|
153
126
|
}
|
|
154
127
|
}
|
|
@@ -156,67 +129,47 @@ export class SpeculativeDreamer {
|
|
|
156
129
|
strategies: results,
|
|
157
130
|
winner,
|
|
158
131
|
totalDurationMs: Date.now() - totalStart,
|
|
132
|
+
commitDurationMs,
|
|
133
|
+
cancelled: false,
|
|
159
134
|
};
|
|
160
135
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Get the underlying branch manager (for event subscription).
|
|
163
|
-
*/
|
|
164
|
-
getBranchManager() {
|
|
165
|
-
return this.branchManager;
|
|
166
|
-
}
|
|
167
136
|
// --------------------------------------------------------------------------
|
|
168
137
|
// Private Helpers
|
|
169
138
|
// --------------------------------------------------------------------------
|
|
170
|
-
/**
|
|
171
|
-
|
|
172
|
-
* We discard because we need to try all strategies from the same baseline.
|
|
173
|
-
*/
|
|
174
|
-
async executeStrategy(strategy, baseline, executor) {
|
|
175
|
-
const branchName = `dream-spec-${strategy.name}-${Date.now()}`;
|
|
176
|
-
const branch = this.branchManager.createBranch(branchName);
|
|
139
|
+
/** Run one strategy without committing anything. */
|
|
140
|
+
async executeStrategy(strategy, durationMs) {
|
|
177
141
|
const start = Date.now();
|
|
178
142
|
try {
|
|
179
|
-
await
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
143
|
+
const result = await this.engine.dream(durationMs, {
|
|
144
|
+
activationConfig: strategy.activationConfig,
|
|
145
|
+
commit: false,
|
|
146
|
+
});
|
|
183
147
|
return {
|
|
184
148
|
strategy,
|
|
185
|
-
|
|
186
|
-
|
|
149
|
+
result,
|
|
150
|
+
score: this.scoreResult(result),
|
|
187
151
|
selected: false,
|
|
188
152
|
durationMs: Date.now() - start,
|
|
189
153
|
};
|
|
190
154
|
}
|
|
191
|
-
catch {
|
|
192
|
-
// Dream execution failed -- discard and mark as failed
|
|
193
|
-
this.branchManager.discardBranch(branch);
|
|
155
|
+
catch (error) {
|
|
194
156
|
return {
|
|
195
157
|
strategy,
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
reason: 'Dream execution threw an error',
|
|
200
|
-
patternCountDelta: 0,
|
|
201
|
-
avgConfidenceDelta: 0,
|
|
202
|
-
highConfidenceLost: 0,
|
|
203
|
-
postDreamMetrics: baseline,
|
|
204
|
-
},
|
|
158
|
+
result: null,
|
|
159
|
+
score: Number.NEGATIVE_INFINITY,
|
|
160
|
+
error: toErrorMessage(error),
|
|
205
161
|
selected: false,
|
|
206
162
|
durationMs: Date.now() - start,
|
|
207
163
|
};
|
|
208
164
|
}
|
|
209
165
|
}
|
|
210
166
|
/**
|
|
211
|
-
* Score a
|
|
212
|
-
*
|
|
167
|
+
* Score a strategy's dream. Higher = better: insights weighted by their
|
|
168
|
+
* confidence and novelty, then the novel associations found.
|
|
213
169
|
*/
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return (v.avgConfidenceDelta * 100 +
|
|
218
|
-
v.patternCountDelta * 0.1 -
|
|
219
|
-
v.highConfidenceLost * 5);
|
|
170
|
+
scoreResult(result) {
|
|
171
|
+
const insightScore = result.insights.reduce((sum, insight) => sum + insight.confidenceScore * insight.noveltyScore, 0);
|
|
172
|
+
return insightScore + result.cycle.associationsFound * 0.01;
|
|
220
173
|
}
|
|
221
174
|
}
|
|
222
175
|
//# sourceMappingURL=speculative-dreamer.js.map
|