agentic-qe 3.15.8 → 3.15.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +183 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/agents/claim-verifier/claim-verifier-service.js +13 -8
- package/dist/bridge/captured-experience-bridge.js +12 -13
- package/dist/cli/bundle.js +6 -6
- package/dist/cli/chunks/adapter-R2Q4QGXQ.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-W3V5P7LE.js → agent-booster-wasm-427FRKWG.js} +2 -2
- package/dist/cli/chunks/{agent-handler-2NQFHAWE.js → agent-handler-RIYHTHVZ.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-457ECHHK.js → agent-memory-branch-WSUCUHOO.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-3RENLQWP.js +2 -0
- package/dist/cli/chunks/{arena-JV3WSEHU.js → arena-KRIBMIXX.js} +2 -2
- package/dist/cli/chunks/{arena-IYBQ3GPY.js → arena-YAJZX6MC.js} +4 -4
- package/dist/cli/chunks/{audit-5OS3T3K6.js → audit-7ZNOXWP3.js} +3 -3
- package/dist/cli/chunks/base-67DXSAYM.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-IQKBFVAO.js → better-sqlite3-ZQAT4I6H.js} +2 -2
- package/dist/cli/chunks/{brain-handler-KA3SGAFM.js → brain-handler-452WCPZC.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-QZDU2VOQ.js → branch-enumerator-IJFXJRPN.js} +2 -2
- package/dist/cli/chunks/{browser-ZL7OLKJQ.js → browser-CT3MTV6G.js} +2 -2
- package/dist/cli/chunks/browser-workflow-NDXRROWZ.js +2 -0
- package/dist/cli/chunks/{chunk-IJSFZO7P.js → chunk-2BA45H64.js} +2 -2
- package/dist/cli/chunks/{chunk-6GIC2263.js → chunk-2HL3UM5P.js} +2 -2
- package/dist/cli/chunks/{chunk-KVMKYUOE.js → chunk-2I2UPJS7.js} +2 -2
- package/dist/cli/chunks/{chunk-22DOS3PM.js → chunk-2TDIS6YK.js} +2 -2
- package/dist/cli/chunks/{chunk-5MBNRTT5.js → chunk-2URBI52G.js} +2 -2
- package/dist/cli/chunks/{chunk-A6GCO6ZU.js → chunk-2XITOPYV.js} +2 -2
- package/dist/cli/chunks/{chunk-I77D65X5.js → chunk-2YH62JCN.js} +2 -2
- package/dist/cli/chunks/{chunk-2JCLACCS.js → chunk-32UTLDNY.js} +2 -2
- package/dist/cli/chunks/{chunk-UTNKMPTC.js → chunk-37BIGMJI.js} +1 -1
- package/dist/cli/chunks/{chunk-767SR7WH.js → chunk-3CJCROMW.js} +2 -2
- package/dist/cli/chunks/{chunk-LVHZK7GW.js → chunk-3LYU7BLY.js} +2 -2
- package/dist/cli/chunks/{chunk-5DZDLOY6.js → chunk-47TYABPD.js} +3 -3
- package/dist/cli/chunks/{chunk-SWY6KGMF.js → chunk-47V7FQGX.js} +2 -2
- package/dist/cli/chunks/{chunk-KMZW2P3R.js → chunk-4JCY45KV.js} +2 -2
- package/dist/cli/chunks/{chunk-D4IBIMWI.js → chunk-4SUOVLJ6.js} +2 -2
- package/dist/cli/chunks/{chunk-J7RCI25Q.js → chunk-4URT6JO2.js} +1 -1
- package/dist/cli/chunks/{chunk-SHEVM5PF.js → chunk-4V27J6YN.js} +2 -2
- package/dist/cli/chunks/{chunk-JWPYMRIX.js → chunk-4W4DYVSH.js} +1 -1
- package/dist/cli/chunks/chunk-55HRSNGN.js +2 -0
- package/dist/cli/chunks/{chunk-R2NHGESM.js → chunk-5D2I7JUP.js} +2 -2
- package/dist/cli/chunks/{chunk-GGSTLKY5.js → chunk-5JWGCIQW.js} +1 -1
- package/dist/cli/chunks/chunk-5LAAZLUC.js +4 -0
- package/dist/cli/chunks/{chunk-YNQPHRUZ.js → chunk-5NS3USRW.js} +1 -1
- package/dist/cli/chunks/{chunk-4YUBWU3E.js → chunk-6EPHNJTL.js} +1 -1
- package/dist/cli/chunks/{chunk-ZBI7PJFX.js → chunk-6OOYIO3W.js} +2 -2
- package/dist/cli/chunks/{chunk-ST7ASEJO.js → chunk-6PXA2BQJ.js} +58 -58
- package/dist/cli/chunks/{chunk-LPSMVBB3.js → chunk-6YL6JOQB.js} +2 -2
- package/dist/cli/chunks/{chunk-DY37YMMQ.js → chunk-72AMFDC7.js} +1 -1
- package/dist/cli/chunks/{chunk-OWBFVAEH.js → chunk-763SUL4B.js} +2 -2
- package/dist/cli/chunks/{chunk-4GYFONJB.js → chunk-7DMA5NYL.js} +1 -1
- package/dist/cli/chunks/{chunk-4GUVVGJX.js → chunk-7JKB3Q7O.js} +1 -1
- package/dist/cli/chunks/{chunk-DN3AKAPY.js → chunk-7KII4CQG.js} +2 -2
- package/dist/cli/chunks/{chunk-VKFVJCIH.js → chunk-7QGYJ5OY.js} +1 -1
- package/dist/cli/chunks/{chunk-HNGNRIZZ.js → chunk-7QTB5VJZ.js} +2 -2
- package/dist/cli/chunks/{chunk-GSOK4M6V.js → chunk-7X2Y727E.js} +1 -1
- package/dist/cli/chunks/{chunk-PZ7FJ4UG.js → chunk-A4RU67VX.js} +2 -2
- package/dist/cli/chunks/{chunk-VWSGWYRB.js → chunk-A6YIH4C4.js} +2 -2
- package/dist/cli/chunks/{chunk-4I35ARWW.js → chunk-ABFDB4X3.js} +1 -1
- package/dist/cli/chunks/{chunk-NQDYOF35.js → chunk-AJ4YDSOI.js} +2 -2
- package/dist/cli/chunks/{chunk-CDLG3Q2O.js → chunk-AOFO4N32.js} +2 -2
- package/dist/cli/chunks/{chunk-WAWKAYPY.js → chunk-AQTVVLNP.js} +1 -1
- package/dist/cli/chunks/chunk-AR2E4B7K.js +6 -0
- package/dist/cli/chunks/{chunk-HXCGV5UJ.js → chunk-AVB5QY2Q.js} +2 -2
- package/dist/cli/chunks/{chunk-JFWQFB3S.js → chunk-BHKXMIWX.js} +2 -2
- package/dist/cli/chunks/{chunk-BEVWCF3Q.js → chunk-BXO536GT.js} +3 -3
- package/dist/cli/chunks/{chunk-IMSRWNWF.js → chunk-C6RTMTEH.js} +1 -1
- package/dist/cli/chunks/{chunk-UKKFZJME.js → chunk-CTZJUV5I.js} +1 -1
- package/dist/cli/chunks/{chunk-MV4S3TEC.js → chunk-D6XVGFTI.js} +2 -2
- package/dist/cli/chunks/{chunk-5YOO5QSE.js → chunk-DDPPSSHW.js} +1 -1
- package/dist/cli/chunks/{chunk-NHOMVBCI.js → chunk-DGTLJNJH.js} +2 -2
- package/dist/cli/chunks/{chunk-NWFBF3KT.js → chunk-DINZR5CF.js} +1 -1
- package/dist/cli/chunks/{chunk-RG42LDOB.js → chunk-EFBLP43U.js} +2 -2
- package/dist/cli/chunks/chunk-ETG7O5E5.js +5 -0
- package/dist/cli/chunks/{chunk-KNHLOANK.js → chunk-F2SQPP6U.js} +2 -2
- package/dist/cli/chunks/{chunk-62T7U25U.js → chunk-F3PQZX44.js} +1 -1
- package/dist/cli/chunks/{chunk-X3HM7SV4.js → chunk-F4JYIRW2.js} +2 -2
- package/dist/cli/chunks/{chunk-NZATJ2C6.js → chunk-FJ4VTLLK.js} +2 -2
- package/dist/cli/chunks/{chunk-TMNEK7TP.js → chunk-FL3OYGCS.js} +2 -2
- package/dist/cli/chunks/{chunk-HI6OBDDY.js → chunk-FLASM2XB.js} +2 -2
- package/dist/cli/chunks/{chunk-GENNJRNK.js → chunk-FV3NHVC7.js} +22 -22
- package/dist/cli/chunks/{chunk-PICEGWGB.js → chunk-FV7VAG74.js} +1 -1
- package/dist/cli/chunks/{chunk-PWA6XBW4.js → chunk-G3BKZNFL.js} +5 -5
- package/dist/cli/chunks/{chunk-T2TDTBFV.js → chunk-GBUIG3FS.js} +1 -1
- package/dist/cli/chunks/{chunk-QFYUZYRA.js → chunk-GCWSX2NY.js} +4 -4
- package/dist/cli/chunks/{chunk-KJNUETCB.js → chunk-GII5WVAK.js} +1 -1
- package/dist/cli/chunks/{chunk-YVWMJZ6O.js → chunk-GKPQ2GRR.js} +2 -2
- package/dist/cli/chunks/chunk-GR3JYE5A.js +2 -0
- package/dist/cli/chunks/{chunk-CQ5G64EA.js → chunk-H3KBIWTO.js} +2 -2
- package/dist/cli/chunks/{chunk-V4QJ3MMT.js → chunk-HAROIAJE.js} +1 -1
- package/dist/cli/chunks/{chunk-OJWEZYLR.js → chunk-HCYQHWI2.js} +2 -2
- package/dist/cli/chunks/{chunk-FAYXES7R.js → chunk-HGTWAZWU.js} +2 -2
- package/dist/cli/chunks/{chunk-LHRVSK44.js → chunk-HTZJSQ3C.js} +2 -2
- package/dist/cli/chunks/{chunk-DAFMHM64.js → chunk-HWK5L7IJ.js} +2 -2
- package/dist/cli/chunks/{chunk-K5R3WUJP.js → chunk-HZ5NC6U5.js} +1 -1
- package/dist/cli/chunks/{chunk-Y5ZBF7MA.js → chunk-I6S35FRO.js} +2 -2
- package/dist/cli/chunks/{chunk-UDCYQLTD.js → chunk-ICP2ORGI.js} +2 -2
- package/dist/cli/chunks/{chunk-KMVFBYJO.js → chunk-IFEIY3NQ.js} +2 -2
- package/dist/cli/chunks/{chunk-NW7HTOSN.js → chunk-J3DTDJDT.js} +2 -2
- package/dist/cli/chunks/chunk-J3WGK22W.js +2 -0
- package/dist/cli/chunks/{chunk-5ONJ7AV6.js → chunk-J5KNRVXR.js} +1 -1
- package/dist/cli/chunks/{chunk-G77Q22EN.js → chunk-JAV5WPSY.js} +2 -2
- package/dist/cli/chunks/{chunk-VVK4ECVJ.js → chunk-JEP4ULR6.js} +2 -2
- package/dist/cli/chunks/{chunk-TC52M542.js → chunk-JK2ME6IT.js} +2 -2
- package/dist/cli/chunks/chunk-JNNZK7KH.js +2 -0
- package/dist/cli/chunks/{chunk-NLYUC63R.js → chunk-JP4P3P3D.js} +2 -2
- package/dist/cli/chunks/{chunk-BTMEOZYY.js → chunk-JUVHZG7I.js} +1 -1
- package/dist/cli/chunks/{chunk-PUYQ6EKC.js → chunk-JWGRWMZP.js} +2 -2
- package/dist/cli/chunks/{chunk-OCLAMZJG.js → chunk-K5DJXMAA.js} +2 -2
- package/dist/cli/chunks/{chunk-X7ZQIFES.js → chunk-KFUUIAR4.js} +2 -2
- package/dist/cli/chunks/chunk-KHSRIPBP.js +180 -0
- package/dist/cli/chunks/{chunk-U3BWBP6B.js → chunk-KIKWJM6J.js} +2 -2
- package/dist/cli/chunks/{chunk-MUDBF2JC.js → chunk-KIXYKUCI.js} +1 -1
- package/dist/cli/chunks/{chunk-P4UT4LBE.js → chunk-KLGYIEJK.js} +3 -3
- package/dist/cli/chunks/{chunk-G6CLO74Q.js → chunk-KR3M44CF.js} +3 -3
- package/dist/cli/chunks/chunk-KTSLTZSG.js +2 -0
- package/dist/cli/chunks/{chunk-FJAO4UX2.js → chunk-KVBEGOJE.js} +2 -2
- package/dist/cli/chunks/{chunk-BLZEOGQE.js → chunk-L42JPFCC.js} +2 -2
- package/dist/cli/chunks/{chunk-ZOVAZTXE.js → chunk-LCJTEUDC.js} +370 -370
- package/dist/cli/chunks/{chunk-JLTGO5BB.js → chunk-LEAKYZ37.js} +2 -2
- package/dist/cli/chunks/{chunk-RSMPJWQH.js → chunk-LMU5DUDK.js} +1 -1
- package/dist/cli/chunks/{chunk-FEN2DHFM.js → chunk-MZS32SYS.js} +1 -1
- package/dist/cli/chunks/{chunk-J7FLNP5L.js → chunk-N3KEY4XJ.js} +2 -2
- package/dist/cli/chunks/{chunk-ZG7UKWBB.js → chunk-N3NP6PTT.js} +2 -2
- package/dist/cli/chunks/{chunk-2DPHFCMW.js → chunk-N5PDFGCQ.js} +2 -2
- package/dist/cli/chunks/{chunk-BQUIZ5QT.js → chunk-NDKLQW6N.js} +2 -2
- package/dist/cli/chunks/{chunk-52YRSWPS.js → chunk-NHZIWIQZ.js} +2 -2
- package/dist/cli/chunks/{chunk-ZOHS32SI.js → chunk-NTAD5UX4.js} +2 -2
- package/dist/cli/chunks/{chunk-7H3GNRNA.js → chunk-O3JLOVZX.js} +2 -2
- package/dist/cli/chunks/{chunk-7XGM7Q2N.js → chunk-OCESWNAZ.js} +3 -3
- package/dist/cli/chunks/{chunk-7SLEUVPZ.js → chunk-OG2UI6A3.js} +2 -2
- package/dist/cli/chunks/{chunk-4TZLZRZ4.js → chunk-OXTFSIGN.js} +1 -1
- package/dist/cli/chunks/{chunk-2QRGIEQV.js → chunk-OXZLKP6C.js} +1 -1
- package/dist/cli/chunks/{chunk-FEPFXXI7.js → chunk-P2CXVNKK.js} +2 -2
- package/dist/cli/chunks/{chunk-P2EA62YS.js → chunk-P73W2K7T.js} +1 -1
- package/dist/cli/chunks/{chunk-V7VZSNDK.js → chunk-PBZI2ZPV.js} +3 -3
- package/dist/cli/chunks/{chunk-MMY52Y6R.js → chunk-PMCRCEW5.js} +2 -2
- package/dist/cli/chunks/{chunk-FWXNFPLS.js → chunk-PVIA2FPD.js} +2 -2
- package/dist/cli/chunks/{chunk-NF63NHJH.js → chunk-PX2B5TS2.js} +2 -2
- package/dist/cli/chunks/{chunk-SFPGLUXS.js → chunk-Q3JVJRVJ.js} +1 -1
- package/dist/cli/chunks/{chunk-XOOBLZXR.js → chunk-QQ5SZH4D.js} +2 -2
- package/dist/cli/chunks/{chunk-KITKQUBX.js → chunk-QTVWUQTB.js} +1 -1
- package/dist/cli/chunks/{chunk-2UN4JOTN.js → chunk-REUFWGMA.js} +2 -2
- package/dist/cli/chunks/{chunk-CQ3SBRDP.js → chunk-SNBYYO6F.js} +2 -2
- package/dist/cli/chunks/{chunk-A2UGPKCS.js → chunk-SVHUYVUR.js} +2 -2
- package/dist/cli/chunks/{chunk-PIEKGKW6.js → chunk-THAY7WHO.js} +2 -2
- package/dist/cli/chunks/{chunk-WLXGUQOZ.js → chunk-TNMQVG4A.js} +2 -2
- package/dist/cli/chunks/{chunk-2GSAAUW3.js → chunk-TSYQDRNK.js} +1 -1
- package/dist/cli/chunks/{chunk-7DHSHD5B.js → chunk-TUYJ53V4.js} +2 -2
- package/dist/cli/chunks/{chunk-U7CIY3YR.js → chunk-UNUTC6TX.js} +2 -2
- package/dist/cli/chunks/{chunk-CRUQ6RXU.js → chunk-UOJBR4J3.js} +2 -2
- package/dist/cli/chunks/{chunk-3LFLO2WK.js → chunk-UOWHE77F.js} +2 -2
- package/dist/cli/chunks/{chunk-O4RRVTXN.js → chunk-UYLYMWV5.js} +2 -2
- package/dist/cli/chunks/{chunk-D4O3TJI7.js → chunk-V5PXQSFS.js} +2 -2
- package/dist/cli/chunks/{chunk-VQRBBR27.js → chunk-VCMINU7K.js} +2 -2
- package/dist/cli/chunks/{chunk-3N627QRU.js → chunk-VQHVHVSF.js} +2 -2
- package/dist/cli/chunks/{chunk-J6LL25QJ.js → chunk-VRGCKBF7.js} +2 -2
- package/dist/cli/chunks/{chunk-VWRNG3UK.js → chunk-VU2EL424.js} +1 -1
- package/dist/cli/chunks/{chunk-KNQUHGNY.js → chunk-VXZJOKOX.js} +2 -2
- package/dist/cli/chunks/{chunk-EUVSSIGR.js → chunk-VYLM2YV5.js} +3 -3
- package/dist/cli/chunks/{chunk-PJGQ2TKN.js → chunk-W32YU3VI.js} +2 -2
- package/dist/cli/chunks/{chunk-YRH7KMTU.js → chunk-W5VJRDDG.js} +2 -2
- package/dist/cli/chunks/{chunk-PPIM7B5G.js → chunk-WGDR2KIR.js} +2 -2
- package/dist/cli/chunks/{chunk-2ZRNXEVI.js → chunk-WRRCQ2UE.js} +1 -1
- package/dist/cli/chunks/{chunk-7C6FMLQR.js → chunk-XDBD4GXO.js} +2 -2
- package/dist/cli/chunks/{chunk-W5A36V3Z.js → chunk-XOLDMK23.js} +2 -2
- package/dist/cli/chunks/{chunk-DCYUHCPK.js → chunk-XOVNZT7F.js} +1 -1
- package/dist/cli/chunks/{chunk-4C7KE2EL.js → chunk-XQ3DDY7X.js} +2 -2
- package/dist/cli/chunks/{chunk-K4N2MBCE.js → chunk-XUIA5KMS.js} +2 -2
- package/dist/cli/chunks/{chunk-YUP3APSN.js → chunk-XWIUFYM3.js} +1 -1
- package/dist/cli/chunks/{chunk-SJMZZMHP.js → chunk-XYCKHYBM.js} +2 -2
- package/dist/cli/chunks/{chunk-4NTLGGXO.js → chunk-XZJ2O3VC.js} +1 -1
- package/dist/cli/chunks/{chunk-UQLAN5TX.js → chunk-YRBBBUJX.js} +5 -5
- package/dist/cli/chunks/{chunk-XZQVC3GD.js → chunk-YZGSJG34.js} +1 -1
- package/dist/cli/chunks/{chunk-7CVMT64N.js → chunk-YZYDTABJ.js} +1 -1
- package/dist/cli/chunks/{chunk-4C3RYBTT.js → chunk-ZANDSVCK.js} +2 -2
- package/dist/cli/chunks/{chunk-6E7EOHMN.js → chunk-ZBDRLF43.js} +2 -2
- package/dist/cli/chunks/{chunk-UTFMMZ57.js → chunk-ZVSLCEVC.js} +3 -3
- package/dist/cli/chunks/{chunk-DKFSCJEF.js → chunk-ZXBCCO2H.js} +2 -2
- package/dist/cli/chunks/{ci-7NUCRGWO.js → ci-7SGRCFPS.js} +2 -2
- package/dist/cli/chunks/{ci-config-VQVECCFI.js → ci-config-MX3URPZA.js} +2 -2
- package/dist/cli/chunks/{ci-output-P7GQ6TKF.js → ci-output-M47NJY6D.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-5YP6N6HE.js → circuit-breaker-5GAK45SW.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-W5H7CMU6.js → claude-flow-setup-YXYSRH4Y.js} +2 -2
- package/dist/cli/chunks/client-ZP3CTVRF.js +2 -0
- package/dist/cli/chunks/{cline-installer-OYANSZ54.js → cline-installer-DLJ5QD5N.js} +2 -2
- package/dist/cli/chunks/{code-OMT4UEZI.js → code-ONKLMVQ2.js} +25 -24
- package/dist/cli/chunks/{code-index-extractor-M2JEWKNF.js → code-index-extractor-2232LGZN.js} +2 -2
- package/dist/cli/chunks/{codex-installer-YBS6N5O3.js → codex-installer-UOWLYCMH.js} +2 -2
- package/dist/cli/chunks/{completions-U7GS5RG6.js → completions-MHX7GCC7.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-QSXPIUIU.js → complexity-analyzer-43ZUJKZU.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-W5TTT743.js → continuedev-installer-6Q5JR4FF.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-KC2RT24C.js → copilot-installer-CZUMVHSI.js} +2 -2
- package/dist/cli/chunks/core-handlers-JSRXQWPE.js +2 -0
- package/dist/cli/chunks/{cost-tracker-OQPVR6V4.js → cost-tracker-VS5ZW3XN.js} +2 -2
- package/dist/cli/chunks/{coverage-TCO2A2NX.js → coverage-VWKTWZ6D.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-7UKODQWG.js +2 -0
- package/dist/cli/chunks/{cursor-installer-MH7GWD4L.js → cursor-installer-YIFEMORH.js} +2 -2
- package/dist/cli/chunks/{daemon-UJEARJZ2.js → daemon-SHWJSJW5.js} +7 -7
- package/dist/cli/chunks/daemon-YIFT46FH.js +34 -0
- package/dist/cli/chunks/{dag-attention-scheduler-F3SUJU5O.js → dag-attention-scheduler-TCC2WM46.js} +2 -2
- package/dist/cli/chunks/{detect-5QTCRB32.js → detect-IGTWSQMA.js} +2 -2
- package/dist/cli/chunks/{dist-node-XKZPHDBO.js → dist-node-TCOTJVQX.js} +2 -2
- package/dist/cli/chunks/{domain-handler-V3UEADKW.js → domain-handler-55ZVYODR.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-7PES4UHZ.js → domain-plugins-GJRWOHQP.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-NF7UJW7B.js → domain-transfer-6EF75EKU.js} +2 -2
- package/dist/cli/chunks/dream-UDLM6M55.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-D2HWORHF.js → embed-and-insert-pattern-XAMNIKQL.js} +2 -2
- package/dist/cli/chunks/{eval-UF2UBAUC.js → eval-GO22R4OZ.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-2OUCEHHM.js → experience-capture-middleware-F2BRMJ3Y.js} +3 -3
- package/dist/cli/chunks/{fast-paths-KV5DKKHC.js → fast-paths-6RGPYALD.js} +2 -2
- package/dist/cli/chunks/{feature-flags-6YWMTNO5.js → feature-flags-MIWQIOHU.js} +2 -2
- package/dist/cli/chunks/{feature-flags-MTW6NMR3.js → feature-flags-ZGS3KLPH.js} +2 -2
- package/dist/cli/chunks/file-discovery-THWOUQ7Z.js +2 -0
- package/dist/cli/chunks/fleet-ADL57COA.js +44 -0
- package/dist/cli/chunks/{gnn-wrapper-52V6ANOY.js → gnn-wrapper-ALBJVW6T.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-X7NHNRC7.js → heartbeat-handler-ZMM53NDY.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-HGOC5KH3.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-EPSA6AP7.js +2 -0
- package/dist/cli/chunks/hnsw-index-RMFOPYGY.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-DZBE3KMK.js → hnsw-legacy-bridge-RYUJPA7B.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-2AWWUJAZ.js → hnswlib-node-XM6XF3YV.js} +2 -2
- package/dist/cli/chunks/{hooks-XLPVROL3.js → hooks-X62O7TJO.js} +10 -10
- package/dist/cli/chunks/hybrid-backend-NZ3G4WBX.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-6TI7YP6P.js → hypergraph-engine-ZBWUPTVD.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-DBIBBOXS.js → hypergraph-handler-DUMF6SJV.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-WZC6NHFP.js +2 -0
- package/dist/cli/chunks/{init-guard-OSO6MIDD.js → init-guard-S4I2R46S.js} +2 -2
- package/dist/cli/chunks/{init-handler-7S7IHMUF.js → init-handler-L4KJHVWS.js} +6 -6
- package/dist/cli/chunks/init-wizard-422UZYQ5.js +2 -0
- package/dist/cli/chunks/kernel-N7PJ6FCE.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-2KBRFXMA.js → kilocode-installer-GNNB5FCZ.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-5VFR4OQZ.js → kiro-installer-HR6ZAH7T.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-SZCVQF37.js +2 -0
- package/dist/cli/chunks/{learning-G5NHL3DV.js → learning-4IEEOHJS.js} +3 -3
- package/dist/cli/chunks/{llm-router-4EAPPMHS.js → llm-router-ZFMORP36.js} +4 -4
- package/dist/cli/chunks/llm-router-service-4DE5WDUZ.js +2 -0
- package/dist/cli/chunks/{load-UYMZPEY6.js → load-ZM43WGDO.js} +2 -2
- package/dist/cli/chunks/load-test-POMIF4Q4.js +2 -0
- package/dist/cli/chunks/{mcp-NOTDZBW5.js → mcp-CRZKZE37.js} +2 -2
- package/dist/cli/chunks/{memory-QL53YIHP.js → memory-W5FZGVAD.js} +5 -5
- package/dist/cli/chunks/memory-backend-4P6AHSOY.js +2 -0
- package/dist/cli/chunks/memory-handlers-NK6NV3GE.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-PDDDXF2B.js → multi-model-executor-SXXGAQ2G.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-75D2SKOT.js → opencode-installer-PIRBUAB5.js} +2 -2
- package/dist/cli/chunks/{orchestrator-3WIZBV4T.js → orchestrator-H5SQCQTB.js} +11 -10
- package/dist/cli/chunks/pattern-null-store-CCHQHGQG.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-TEX2JGHA.js → pattern-usage-recorder-XZTWDI2T.js} +2 -2
- package/dist/cli/chunks/{pipeline-7ATPA6LU.js → pipeline-5LMLBIJ7.js} +2 -2
- package/dist/cli/chunks/{platform-WPSKRJE7.js → platform-KJDABL5C.js} +2 -2
- package/dist/cli/chunks/{plugin-UUFOVVMU.js → plugin-V4KSBVVM.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-PDFSYWKZ.js → prime-radiant-advanced-wasm-JDHTKQAT.js} +2 -2
- package/dist/cli/chunks/project-root-X72FSM2F.js +2 -0
- package/dist/cli/chunks/protocol-executor-QW6XN6QN.js +2 -0
- package/dist/cli/chunks/{protocol-handler-3VRYRIQB.js → protocol-handler-BNRONTQV.js} +2 -2
- package/dist/cli/chunks/{prove-2NAUROGF.js → prove-ELLL6XMX.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-ZD3WF647.js +2 -0
- package/dist/cli/chunks/{quality-ZIEI2WGA.js → quality-NH2QA4D4.js} +2 -2
- package/dist/cli/chunks/{quality-gate-KWJO4SWQ.js → quality-gate-JTKLF7GW.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-S4U4MKK2.js +2 -0
- package/dist/cli/chunks/{real-embeddings-TSZ4UIAE.js → real-embeddings-J3KCKLPB.js} +2 -2
- package/dist/cli/chunks/{ref-validation-DWFFRETJ.js → ref-validation-HNXQRP4F.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-XTZHLUBO.js → roocode-installer-COJ6CX6S.js} +2 -2
- package/dist/cli/chunks/router-CXZKOOTR.js +2 -0
- package/dist/cli/chunks/routing-feedback-IYFANYY5.js +2 -0
- package/dist/cli/chunks/{routing-handler-GG525TDM.js → routing-handler-WM33ZILE.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-QKRJDM7Z.js → ruvector-commands-BBLXEA7A.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-HCLQ5WUQ.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-XCLUWOO3.js +2 -0
- package/dist/cli/chunks/{rvf-migration-coordinator-FF52OS6Q.js → rvf-migration-coordinator-P7H6HCAG.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-MRT5H3IP.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-M6DXTAZ4.js → rvf-store-integrity-R5SPVRFP.js} +2 -2
- package/dist/cli/chunks/safe-db-WFODRGVZ.js +2 -0
- package/dist/cli/chunks/schedule-RO55OQXG.js +2 -0
- package/dist/cli/chunks/scheduler-XXMJCH24.js +2 -0
- package/dist/cli/chunks/{security-EHXSW22U.js → security-AUDTRX3I.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-6EH7UVJL.js → shared-rvf-adapter-PVDGBGI2.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-WML274E7.js → shared-rvf-dual-writer-LZ2GMSS2.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-AWRIS4MK.js +2 -0
- package/dist/cli/chunks/{standalone-memory-C7QKAXS4.js → standalone-memory-XNOAI4G4.js} +2 -2
- package/dist/cli/chunks/{status-handler-VLI7MRLM.js → status-handler-K72XZE4T.js} +2 -2
- package/dist/cli/chunks/{structural-health-3LPG6MQN.js → structural-health-NF3YY7U5.js} +2 -2
- package/dist/cli/chunks/{sync-4IMMQEPT.js → sync-UVXA6CT2.js} +2 -2
- package/dist/cli/chunks/{sync-JFJEJBVK.js → sync-VBD5Y3E2.js} +2 -2
- package/dist/cli/chunks/{task-handler-IED3K6E4.js → task-handler-24S3WFVJ.js} +13 -7
- package/dist/cli/chunks/task-handlers-GUYW2EPJ.js +9 -0
- package/dist/cli/chunks/{test-GPKT3CKZ.js → test-XFSGQELD.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-Z42XXZP6.js → test-scheduling-VYUQ4CDE.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-HMM3AHXM.js → token-bootstrap-EDK6FNQ3.js} +2 -2
- package/dist/cli/chunks/{token-usage-6Y2ERYIY.js → token-usage-VLQ6WO2L.js} +2 -2
- package/dist/cli/chunks/{transformers-MB63T2XO.js → transformers-TOFMWWNM.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-56GDQCMR.js → tree-sitter-wasm-parser-MI3NZKUD.js} +2 -2
- package/dist/cli/chunks/{types-J4J6QV3I.js → types-JTWLBAZJ.js} +2 -2
- package/dist/cli/chunks/unified-memory-6JWHV6EF.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-4UANU6NU.js +2 -0
- package/dist/cli/chunks/unified-persistence-KGGNA46H.js +2 -0
- package/dist/cli/chunks/{upgrade-U4XU7LFM.js → upgrade-4ABM72T4.js} +2 -2
- package/dist/cli/chunks/{validate-B57HA4YK.js → validate-UDJCWKXI.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-UPPA4M6T.js → validate-swarm-TODOUWNN.js} +2 -2
- package/dist/cli/chunks/visual-security-6VZNQLH7.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-GDZMUKOZ.js → web-tree-sitter-WBMAJPM5.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-VJRWCHXP.js → windsurf-installer-BTT53TUL.js} +2 -2
- package/dist/cli/chunks/witness-chain-AKKHWEWU.js +2 -0
- package/dist/cli/chunks/{witness-chain-LFASSMZK.js → witness-chain-TATPXQRK.js} +2 -2
- package/dist/cli/chunks/{witness-chain-repair-TPHN4DXN.js → witness-chain-repair-2HGJGE7O.js} +2 -2
- package/dist/cli/chunks/{witness-chain-verifier-Z23FVABW.js → witness-chain-verifier-FRY3LMGH.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-745MJ7WO.js → witness-key-manager-X7QHQQWL.js} +2 -2
- package/dist/cli/chunks/{workflow-T245QNQM.js → workflow-QMZPAWQW.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-4GAW7HNZ.js +2 -0
- package/dist/cli/chunks/{wrappers-WCAYIQUX.js → wrappers-ZD5NBHYI.js} +2 -2
- package/dist/cli/commands/code.js +8 -0
- package/dist/cli/commands/daemon.js +8 -0
- package/dist/cli/commands/fleet.js +14 -9
- package/dist/cli/handlers/task-handler.js +21 -1
- package/dist/coordination/handlers/code-intelligence-handlers.js +14 -2
- package/dist/coordination/handlers/coverage-collection.js +9 -10
- package/dist/coordination/handlers/coverage-handlers.js +21 -3
- 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/test-execution-handlers.js +32 -5
- package/dist/coordination/index.d.ts +2 -2
- package/dist/coordination/index.js +1 -1
- package/dist/coordination/protocols/learning-consolidation-archive.d.ts +39 -0
- package/dist/coordination/protocols/learning-consolidation-archive.js +57 -0
- package/dist/coordination/protocols/learning-consolidation.d.ts +38 -3
- package/dist/coordination/protocols/learning-consolidation.js +128 -50
- package/dist/coordination/queen-coordinator.d.ts +12 -1
- package/dist/coordination/queen-coordinator.js +24 -1
- package/dist/coordination/queen-event-handlers.js +2 -1
- package/dist/coordination/queen-lifecycle.js +9 -0
- package/dist/coordination/queen-task-management.js +113 -40
- package/dist/coordination/queen-types.d.ts +10 -0
- package/dist/coordination/queen-types.js +8 -0
- 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/domains/code-intelligence/coordinator.js +35 -9
- package/dist/domains/code-intelligence/index-path-guard.d.ts +49 -0
- package/dist/domains/code-intelligence/index-path-guard.js +125 -0
- package/dist/domains/code-intelligence/interfaces.d.ts +12 -0
- 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/contract-testing/coordinator.js +3 -1
- package/dist/domains/defect-intelligence/services/defect-predictor.js +4 -2
- package/dist/domains/learning-optimization/active-patterns.d.ts +12 -12
- package/dist/domains/learning-optimization/active-patterns.js +15 -12
- 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 +43 -102
- package/dist/domains/learning-optimization/index.d.ts +1 -1
- package/dist/domains/learning-optimization/interfaces.d.ts +56 -4
- package/dist/domains/learning-optimization/plugin.js +11 -1
- package/dist/domains/learning-optimization/reward-source.d.ts +37 -0
- package/dist/domains/learning-optimization/reward-source.js +58 -0
- package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +4 -4
- package/dist/domains/learning-optimization/services/learning-coordinator.js +59 -23
- 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/test-execution/interfaces.d.ts +16 -0
- package/dist/domains/test-execution/services/runner-test-cases.d.ts +21 -0
- package/dist/domains/test-execution/services/runner-test-cases.js +69 -0
- package/dist/domains/test-execution/services/test-executor.d.ts +5 -0
- package/dist/domains/test-execution/services/test-executor.js +24 -2
- 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 +2 -1
- 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/learning/dream/dream-insights-pruner.d.ts +18 -4
- package/dist/learning/dream/dream-insights-pruner.js +99 -11
- package/dist/learning/skill-validation-learner.d.ts +2 -0
- package/dist/learning/skill-validation-learner.js +29 -21
- package/dist/mcp/background-workers.js +8 -2
- package/dist/mcp/bundle.js +507 -483
- package/dist/mcp/handlers/domain-handler-configs.d.ts +14 -0
- package/dist/mcp/handlers/domain-handler-configs.js +68 -30
- package/dist/mcp/handlers/handler-factory.js +1 -0
- package/dist/mcp/handlers/task-handlers.js +37 -1
- 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 +8 -3
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +34 -3
- package/dist/mcp/tools/learning-optimization/optimize.js +106 -70
- package/dist/memory/crdt/lww-register.js +11 -1
- 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/llm/cache.js +4 -1
- package/dist/shared/security/compliance-patterns.js +3 -1
- package/dist/shared/test-runner-process.d.ts +26 -0
- package/dist/shared/test-runner-process.js +91 -0
- 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 +42 -0
- package/dist/shared/utils/namespaced-search.js +53 -0
- 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/workers/daemon.d.ts +2 -0
- package/dist/workers/daemon.js +10 -5
- 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/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/learning-consolidation.d.ts +1 -1
- package/dist/workers/workers/learning-consolidation.js +11 -8
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-FC4EY447.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-workflow-2IFEUAAK.js +0 -2
- package/dist/cli/chunks/chunk-6CKTLVYV.js +0 -2
- package/dist/cli/chunks/chunk-I4U7YCXG.js +0 -180
- package/dist/cli/chunks/chunk-LZWBUVCK.js +0 -5
- 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/chunk-ZWMFKZEQ.js +0 -3
- 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/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/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/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/task-handlers-FH6DNTHW.js +0 -9
- 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/workflow-orchestrator-ZNWEUYBN.js +0 -2
|
@@ -26,9 +26,14 @@ export interface TestExecuteResult {
|
|
|
26
26
|
coverage?: number | null;
|
|
27
27
|
workerStats?: Record<string, unknown>;
|
|
28
28
|
retryStats?: Record<string, unknown>;
|
|
29
|
+
/** #1110: per-test entries from the runner report; absent when it listed none. */
|
|
29
30
|
results?: unknown[];
|
|
30
31
|
summary?: Record<string, unknown>;
|
|
31
32
|
learning?: Record<string, unknown>;
|
|
33
|
+
/** #1110: output fields left out because nothing measured them. */
|
|
34
|
+
unmeasured?: string[];
|
|
35
|
+
/** #1110: why each unmeasured field has no value. */
|
|
36
|
+
unmeasuredReasons?: Record<string, string>;
|
|
32
37
|
savedFiles?: string[];
|
|
33
38
|
/** #933: true when result files were written; see savedFiles for their paths. */
|
|
34
39
|
resultsSaved?: boolean;
|
|
@@ -235,6 +240,15 @@ export interface CodeIndexResult {
|
|
|
235
240
|
tests: number;
|
|
236
241
|
toolsUsed: string[];
|
|
237
242
|
};
|
|
243
|
+
/**
|
|
244
|
+
* #1096: discovered paths that were not indexed (missing, not a regular
|
|
245
|
+
* file, outside the project root, filtered out), with the reason. Absent
|
|
246
|
+
* when every discovered file was indexed.
|
|
247
|
+
*/
|
|
248
|
+
skipped?: Array<{
|
|
249
|
+
path: string;
|
|
250
|
+
reason: string;
|
|
251
|
+
}>;
|
|
238
252
|
savedFiles?: string[];
|
|
239
253
|
/** #933: true when result files were written; see savedFiles for their paths. */
|
|
240
254
|
resultsSaved?: boolean;
|
|
@@ -190,7 +190,7 @@ export const testExecuteConfig = {
|
|
|
190
190
|
testSuites: params.testSuites || [],
|
|
191
191
|
parallel: params.parallel !== false,
|
|
192
192
|
parallelism: params.parallelism || 4,
|
|
193
|
-
retryCount: params.retryCount
|
|
193
|
+
retryCount: params.retryCount ?? 3,
|
|
194
194
|
timeout: params.timeout || 60000,
|
|
195
195
|
collectCoverage: params.collectCoverage || false,
|
|
196
196
|
reportFormat: params.reportFormat || 'json',
|
|
@@ -199,48 +199,83 @@ export const testExecuteConfig = {
|
|
|
199
199
|
compiledContext: routingResult?.compiledContext,
|
|
200
200
|
}),
|
|
201
201
|
calculateTimeout: (params) => params.timeout || 300000,
|
|
202
|
-
mapToResult: (taskId, data, duration, savedFiles
|
|
202
|
+
mapToResult: (taskId, data, duration, savedFiles) => {
|
|
203
203
|
const total = data.total || 0;
|
|
204
204
|
const passed = data.passed || 0;
|
|
205
205
|
const failed = data.failed || 0;
|
|
206
206
|
// #1027 N5: no measured coverage → null, never a hardcoded 0.
|
|
207
207
|
const coverage = typeof data.coverage === 'number' && Number.isFinite(data.coverage) ? data.coverage : null;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
const
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
avgExecutionTime: duration / Math.max(total, 1),
|
|
216
|
-
};
|
|
217
|
-
const retryStats = {
|
|
218
|
-
totalRetries: realRetryStats.totalRetries,
|
|
219
|
-
successfulRetries: realRetryStats.successfulRetries,
|
|
220
|
-
maxRetriesReached: realRetryStats.maxRetriesReached,
|
|
208
|
+
// #1110: report only what was measured. A figure with no measurement is
|
|
209
|
+
// left out and named in `unmeasured`, never filled with a baseline.
|
|
210
|
+
const unmeasured = [];
|
|
211
|
+
const unmeasuredReasons = {};
|
|
212
|
+
const markUnmeasured = (field, reason) => {
|
|
213
|
+
unmeasured.push(field);
|
|
214
|
+
unmeasuredReasons[field] = reason;
|
|
221
215
|
};
|
|
222
|
-
|
|
216
|
+
// Per-test results come from the runner's own report, or are left out.
|
|
217
|
+
const testCases = Array.isArray(data.testCases)
|
|
218
|
+
? data.testCases
|
|
219
|
+
: undefined;
|
|
220
|
+
const results = testCases?.map(testCase => ({ id: generateTestId(), ...testCase }));
|
|
221
|
+
if (!results) {
|
|
222
|
+
markUnmeasured('results', 'The test runner report did not list every test case, so per-test results are omitted.');
|
|
223
|
+
}
|
|
224
|
+
// The average test time is the mean of the runner-reported per-test
|
|
225
|
+
// durations. The task's wall time (`duration`) includes runner start-up and
|
|
226
|
+
// skipped tests, so dividing it by `total` would contradict `results`.
|
|
227
|
+
const testDurations = (testCases ?? [])
|
|
228
|
+
.map(testCase => testCase.duration)
|
|
229
|
+
.filter((d) => typeof d === 'number' && Number.isFinite(d));
|
|
230
|
+
const avgTestDuration = testDurations.length > 0
|
|
231
|
+
? testDurations.reduce((sum, d) => sum + d, 0) / testDurations.length
|
|
232
|
+
: undefined;
|
|
233
|
+
if (avgTestDuration === undefined) {
|
|
234
|
+
const reason = 'The runner reported no per-test durations; the task wall time is in `duration`.';
|
|
235
|
+
markUnmeasured('workerStats.avgExecutionTime', reason);
|
|
236
|
+
markUnmeasured('summary.avgDuration', reason);
|
|
237
|
+
}
|
|
238
|
+
const workerStats = avgTestDuration !== undefined
|
|
239
|
+
? { avgExecutionTime: avgTestDuration }
|
|
240
|
+
: {};
|
|
241
|
+
const noWorkerData = 'No worker tasks were recorded by the metrics collector for this process.';
|
|
242
|
+
const workersUsed = MetricsCollector.getWorkersUsed();
|
|
243
|
+
if (workersUsed > 0)
|
|
244
|
+
workerStats.workersUsed = workersUsed;
|
|
245
|
+
else
|
|
246
|
+
markUnmeasured('workerStats.workersUsed', noWorkerData);
|
|
247
|
+
const efficiency = MetricsCollector.getWorkerEfficiency();
|
|
248
|
+
if (efficiency !== null)
|
|
249
|
+
workerStats.efficiency = efficiency;
|
|
250
|
+
else
|
|
251
|
+
markUnmeasured('workerStats.efficiency', noWorkerData);
|
|
252
|
+
const loadBalance = MetricsCollector.getLoadBalanceScore();
|
|
253
|
+
if (loadBalance !== null)
|
|
254
|
+
workerStats.loadBalance = loadBalance;
|
|
255
|
+
else
|
|
256
|
+
markUnmeasured('workerStats.loadBalance', noWorkerData);
|
|
257
|
+
let retryStats;
|
|
258
|
+
if (MetricsCollector.getRecordedTaskCount() > 0) {
|
|
259
|
+
retryStats = { ...MetricsCollector.getRetryStats() };
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
markUnmeasured('retryStats', noWorkerData);
|
|
263
|
+
}
|
|
264
|
+
// No `learning` block: the run's experience is recorded asynchronously by
|
|
265
|
+
// the learning-optimization plugin from TestRunCompleted, so this response
|
|
266
|
+
// cannot name its id or confirm that it was written (#1110).
|
|
223
267
|
return {
|
|
224
268
|
// V2-compatible fields
|
|
225
269
|
workerStats,
|
|
226
|
-
retryStats,
|
|
227
|
-
results
|
|
228
|
-
const testDurations = MetricsCollector.getTestDurations(total);
|
|
229
|
-
return Array.from({ length: total }, (_, i) => ({
|
|
230
|
-
id: generateTestId(),
|
|
231
|
-
name: `test_case_${i}`,
|
|
232
|
-
status: i < passed ? 'passed' : 'failed',
|
|
233
|
-
duration: testDurations[i] || 200,
|
|
234
|
-
retries: 0,
|
|
235
|
-
}));
|
|
236
|
-
})(),
|
|
270
|
+
...(retryStats ? { retryStats } : {}),
|
|
271
|
+
...(results ? { results } : {}),
|
|
237
272
|
summary: {
|
|
238
273
|
totalTests: total,
|
|
239
274
|
passRate: total > 0 ? (passed / total) * 100 : 0,
|
|
240
|
-
avgDuration:
|
|
241
|
-
parallelEfficiency:
|
|
275
|
+
...(avgTestDuration !== undefined ? { avgDuration: avgTestDuration } : {}),
|
|
276
|
+
...(efficiency !== null ? { parallelEfficiency: efficiency } : {}),
|
|
242
277
|
},
|
|
243
|
-
|
|
278
|
+
...(unmeasured.length > 0 ? { unmeasured, unmeasuredReasons } : {}),
|
|
244
279
|
// V3 fields
|
|
245
280
|
taskId,
|
|
246
281
|
status: 'completed',
|
|
@@ -759,6 +794,9 @@ export const codeIndexConfig = {
|
|
|
759
794
|
symbolsExtracted: data.symbolsExtracted || 0,
|
|
760
795
|
relationsFound: data.relationsFound || 0,
|
|
761
796
|
...(data.projectMetrics ? { projectMetrics: data.projectMetrics } : {}),
|
|
797
|
+
...(Array.isArray(data.skipped) && data.skipped.length > 0
|
|
798
|
+
? { skipped: data.skipped }
|
|
799
|
+
: {}),
|
|
762
800
|
duration,
|
|
763
801
|
savedFiles,
|
|
764
802
|
}),
|
|
@@ -623,6 +623,7 @@ export function createDomainHandler(config) {
|
|
|
623
623
|
const timeout = calculateTimeout?.(params) ?? defaultTimeout;
|
|
624
624
|
const submitResult = await queen.submitTask({
|
|
625
625
|
type: taskType,
|
|
626
|
+
executionOwner: 'caller',
|
|
626
627
|
priority,
|
|
627
628
|
targetDomains: [domain],
|
|
628
629
|
payload,
|
|
@@ -10,7 +10,8 @@ import { getTaskRouter, } from '../services/task-router.js';
|
|
|
10
10
|
import { getReasoningBankService, startTaskTrajectory, endTaskTrajectory, } from '../services/reasoning-bank-service.js';
|
|
11
11
|
import { scoreUnjudgedTrajectories } from './trajectory-judge.js';
|
|
12
12
|
import { toErrorMessage } from '../../shared/error-utils.js';
|
|
13
|
-
import { ALL_DOMAINS, isDomainName } from '../../shared/types/index.js';
|
|
13
|
+
import { ALL_DOMAINS, invalidPriorityMessage, isDomainName, isPriority } from '../../shared/types/index.js';
|
|
14
|
+
import { validateIndexPaths, validateIndexTaskPayload } from '../../domains/code-intelligence/index-path-guard.js';
|
|
14
15
|
// ============================================================================
|
|
15
16
|
// Task Type to Workflow Mapping (Issue #206)
|
|
16
17
|
// Maps TaskTypes to their associated workflow IDs for auto-execution
|
|
@@ -43,7 +44,24 @@ export async function handleTaskSubmit(params) {
|
|
|
43
44
|
error: `Unknown domain: ${unknown.join(', ')}. Valid domains: ${ALL_DOMAINS.join(', ')}`,
|
|
44
45
|
};
|
|
45
46
|
}
|
|
47
|
+
// #1108: reject a priority outside the allowed set. Parity with
|
|
48
|
+
// `aqe task submit --priority`.
|
|
49
|
+
if (params.priority !== undefined && !isPriority(params.priority)) {
|
|
50
|
+
return { success: false, error: invalidPriorityMessage(params.priority) };
|
|
51
|
+
}
|
|
46
52
|
const { queen } = getFleetState();
|
|
53
|
+
// #1075: reject a type that no domain plugin executes. Accepting it would
|
|
54
|
+
// leave the task running forever and hold one of the Queen's slots.
|
|
55
|
+
const executable = queen.validateTaskExecutable(params.type, targetDomains);
|
|
56
|
+
if (!executable.success) {
|
|
57
|
+
return { success: false, error: executable.error.message };
|
|
58
|
+
}
|
|
59
|
+
// #1096: reject a malformed index path list here rather than deep inside
|
|
60
|
+
// indexing. Same order of checks as `aqe task submit`.
|
|
61
|
+
const payloadError = validateIndexTaskPayload(params.type, params.payload);
|
|
62
|
+
if (payloadError) {
|
|
63
|
+
return { success: false, error: payloadError.message };
|
|
64
|
+
}
|
|
47
65
|
try {
|
|
48
66
|
const result = await queen.submitTask({
|
|
49
67
|
type: params.type,
|
|
@@ -220,6 +238,14 @@ export async function handleTaskOrchestrate(params) {
|
|
|
220
238
|
error: 'Fleet not initialized. Call fleet_init first.',
|
|
221
239
|
};
|
|
222
240
|
}
|
|
241
|
+
// #1096: filePaths feeds task payloads (sourceFiles, index paths), so a
|
|
242
|
+
// non-array value is rejected up front with a clear message.
|
|
243
|
+
if (params.filePaths !== undefined) {
|
|
244
|
+
const filePaths = validateIndexPaths(params.filePaths, 'filePaths', 'Invalid task_orchestrate params');
|
|
245
|
+
if (!filePaths.success) {
|
|
246
|
+
return { success: false, error: filePaths.error.message };
|
|
247
|
+
}
|
|
248
|
+
}
|
|
223
249
|
const { queen, workflowOrchestrator } = getFleetState();
|
|
224
250
|
try {
|
|
225
251
|
// ADR-051: Route task to optimal model tier BEFORE execution
|
|
@@ -332,6 +358,16 @@ export async function handleTaskOrchestrate(params) {
|
|
|
332
358
|
};
|
|
333
359
|
}
|
|
334
360
|
// No workflow - submit as a regular task
|
|
361
|
+
// #1081: the inferred type must have a domain handler. Otherwise the Queen
|
|
362
|
+
// can only fail the task at dispatch, so reject it here with the reason.
|
|
363
|
+
const executable = queen.validateTaskExecutable(taskType);
|
|
364
|
+
if (!executable.success) {
|
|
365
|
+
return {
|
|
366
|
+
success: false,
|
|
367
|
+
error: `${executable.error.message}. task_orchestrate inferred '${taskType}' from the description; ` +
|
|
368
|
+
'use task_submit with a supported type and its payload, or the domain\'s MCP tool.',
|
|
369
|
+
};
|
|
370
|
+
}
|
|
335
371
|
// Issue N2: Build domain-appropriate payload.
|
|
336
372
|
// Forward caller-provided filePaths/codeContext into the payload fields
|
|
337
373
|
// that domain plugins expect, so generate-tests doesn't reject with
|
|
@@ -109,13 +109,20 @@ declare class MetricsCollectorImpl {
|
|
|
109
109
|
successRate: number;
|
|
110
110
|
};
|
|
111
111
|
/**
|
|
112
|
-
*
|
|
112
|
+
* Number of completed tasks in the sliding window. Zero means the retry and
|
|
113
|
+
* worker figures below describe nothing that was measured (#1110).
|
|
113
114
|
*/
|
|
114
|
-
|
|
115
|
+
getRecordedTaskCount(): number;
|
|
115
116
|
/**
|
|
116
|
-
* Get
|
|
117
|
+
* Get worker efficiency based on actual throughput.
|
|
118
|
+
* Returns null when no task has been recorded: there is nothing to measure (#1110).
|
|
117
119
|
*/
|
|
118
|
-
|
|
120
|
+
getWorkerEfficiency(): number | null;
|
|
121
|
+
/**
|
|
122
|
+
* Get load balance score based on actual distribution.
|
|
123
|
+
* Returns null when no worker has been recorded (#1110).
|
|
124
|
+
*/
|
|
125
|
+
getLoadBalanceScore(): number | null;
|
|
119
126
|
/**
|
|
120
127
|
* Get retry statistics
|
|
121
128
|
*/
|
|
@@ -132,11 +139,6 @@ declare class MetricsCollectorImpl {
|
|
|
132
139
|
* Get number of workers used (with active or completed tasks)
|
|
133
140
|
*/
|
|
134
141
|
getWorkersUsed(): number;
|
|
135
|
-
/**
|
|
136
|
-
* Generate individual test result durations based on actual execution
|
|
137
|
-
* Uses the sliding window of real task durations
|
|
138
|
-
*/
|
|
139
|
-
getTestDurations(count: number): number[];
|
|
140
142
|
/**
|
|
141
143
|
* Record a successful retry for tracking
|
|
142
144
|
*/
|
|
@@ -165,11 +165,19 @@ class MetricsCollectorImpl {
|
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
|
-
*
|
|
168
|
+
* Number of completed tasks in the sliding window. Zero means the retry and
|
|
169
|
+
* worker figures below describe nothing that was measured (#1110).
|
|
170
|
+
*/
|
|
171
|
+
getRecordedTaskCount() {
|
|
172
|
+
return this.taskMetrics.length;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get worker efficiency based on actual throughput.
|
|
176
|
+
* Returns null when no task has been recorded: there is nothing to measure (#1110).
|
|
169
177
|
*/
|
|
170
178
|
getWorkerEfficiency() {
|
|
171
179
|
if (this.taskMetrics.length === 0) {
|
|
172
|
-
return
|
|
180
|
+
return null;
|
|
173
181
|
}
|
|
174
182
|
// Calculate efficiency based on:
|
|
175
183
|
// - Success rate
|
|
@@ -185,11 +193,12 @@ class MetricsCollectorImpl {
|
|
|
185
193
|
return Math.min(1.0, Math.max(0, efficiency));
|
|
186
194
|
}
|
|
187
195
|
/**
|
|
188
|
-
* Get load balance score based on actual distribution
|
|
196
|
+
* Get load balance score based on actual distribution.
|
|
197
|
+
* Returns null when no worker has been recorded (#1110).
|
|
189
198
|
*/
|
|
190
199
|
getLoadBalanceScore() {
|
|
191
200
|
if (this.workerLoads.size === 0) {
|
|
192
|
-
return
|
|
201
|
+
return null;
|
|
193
202
|
}
|
|
194
203
|
const loads = Array.from(this.workerLoads.values()).map((w) => w.completedTaskCount);
|
|
195
204
|
if (loads.length <= 1) {
|
|
@@ -243,28 +252,6 @@ class MetricsCollectorImpl {
|
|
|
243
252
|
getWorkersUsed() {
|
|
244
253
|
return this.workerLoads.size;
|
|
245
254
|
}
|
|
246
|
-
/**
|
|
247
|
-
* Generate individual test result durations based on actual execution
|
|
248
|
-
* Uses the sliding window of real task durations
|
|
249
|
-
*/
|
|
250
|
-
getTestDurations(count) {
|
|
251
|
-
const durations = [];
|
|
252
|
-
if (this.taskMetrics.length === 0) {
|
|
253
|
-
// No real data - return reasonable estimates based on typical test times
|
|
254
|
-
for (let i = 0; i < count; i++) {
|
|
255
|
-
durations.push(100 + i * 10); // Start at 100ms, increment by 10ms
|
|
256
|
-
}
|
|
257
|
-
return durations;
|
|
258
|
-
}
|
|
259
|
-
// Use real durations from the sliding window
|
|
260
|
-
const realDurations = this.taskMetrics.map((t) => t.durationMs || 200).sort((a, b) => a - b);
|
|
261
|
-
for (let i = 0; i < count; i++) {
|
|
262
|
-
// Sample from real durations with wrapping
|
|
263
|
-
const index = i % realDurations.length;
|
|
264
|
-
durations.push(Math.round(realDurations[index]));
|
|
265
|
-
}
|
|
266
|
-
return durations;
|
|
267
|
-
}
|
|
268
255
|
/**
|
|
269
256
|
* Record a successful retry for tracking
|
|
270
257
|
*/
|
|
@@ -1491,7 +1491,11 @@ export class MCPProtocolServer {
|
|
|
1491
1491
|
],
|
|
1492
1492
|
},
|
|
1493
1493
|
handler: async (params) => {
|
|
1494
|
-
|
|
1494
|
+
// #1074: run the advisor CLI asynchronously; a synchronous call would
|
|
1495
|
+
// stop the server answering every other request for up to 60s.
|
|
1496
|
+
const { execFile } = await import('child_process');
|
|
1497
|
+
const { promisify } = await import('util');
|
|
1498
|
+
const execFileAsync = promisify(execFile);
|
|
1495
1499
|
const { writeFileSync, unlinkSync, mkdirSync } = await import('fs');
|
|
1496
1500
|
const { join } = await import('path');
|
|
1497
1501
|
const { tmpdir } = await import('os');
|
|
@@ -1531,15 +1535,16 @@ export class MCPProtocolServer {
|
|
|
1531
1535
|
// Resolve aqe binary with fallback to npx (MCP server may not have aqe on PATH)
|
|
1532
1536
|
let aqeBin = 'aqe';
|
|
1533
1537
|
try {
|
|
1534
|
-
|
|
1538
|
+
await execFileAsync('which', ['aqe'], { encoding: 'utf-8' });
|
|
1535
1539
|
}
|
|
1536
1540
|
catch {
|
|
1537
1541
|
aqeBin = 'npx';
|
|
1538
1542
|
cliArgs.unshift('aqe');
|
|
1539
1543
|
}
|
|
1540
|
-
const result =
|
|
1544
|
+
const { stdout: result } = await execFileAsync(aqeBin, cliArgs, {
|
|
1541
1545
|
encoding: 'utf-8',
|
|
1542
1546
|
timeout: 60000,
|
|
1547
|
+
maxBuffer: 1024 * 1024,
|
|
1543
1548
|
env: process.env,
|
|
1544
1549
|
});
|
|
1545
1550
|
try {
|
|
@@ -31,6 +31,7 @@ export interface OptimizationObjective {
|
|
|
31
31
|
}
|
|
32
32
|
export interface LearningOptimizeResult {
|
|
33
33
|
action: string;
|
|
34
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
34
35
|
learnResult?: LearnResult;
|
|
35
36
|
optimizeResult?: OptimizeResult;
|
|
36
37
|
transferResult?: TransferResult;
|
|
@@ -39,9 +40,16 @@ export interface LearningOptimizeResult {
|
|
|
39
40
|
}
|
|
40
41
|
export interface LearnResult {
|
|
41
42
|
experiencesProcessed: number;
|
|
43
|
+
/** #1109: experiences with a measured outcome; patterns are learned from these only. */
|
|
44
|
+
measuredExperiences?: number;
|
|
45
|
+
/** #1109: experiences recorded with an assigned reward, excluded from every rate. */
|
|
46
|
+
assignedRewardsExcluded?: number;
|
|
47
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
42
48
|
patternsLearned: number;
|
|
43
49
|
newPatterns: LearnedPattern[];
|
|
44
|
-
improvement
|
|
50
|
+
/** No baseline is recorded to compare against, so improvement is not measured (#1109). */
|
|
51
|
+
improvement: number | null;
|
|
52
|
+
unmeasured?: string[];
|
|
45
53
|
}
|
|
46
54
|
export interface LearnedPattern {
|
|
47
55
|
id: string;
|
|
@@ -53,6 +61,20 @@ export interface LearnedPattern {
|
|
|
53
61
|
successRate: number;
|
|
54
62
|
}
|
|
55
63
|
export interface OptimizeResult {
|
|
64
|
+
inputSource: 'recorded-experiences';
|
|
65
|
+
experiencesUsed: number;
|
|
66
|
+
/** #1109: recorded experiences left out because their reward was assigned. */
|
|
67
|
+
assignedRewardsExcluded?: number;
|
|
68
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
69
|
+
unmeasured?: string[];
|
|
70
|
+
/** Figures that were modelled, not observed (#1099). */
|
|
71
|
+
estimated?: string[];
|
|
72
|
+
/** How improvement and confidence were derived, when optimization ran. */
|
|
73
|
+
evaluation?: {
|
|
74
|
+
method: 'held-out';
|
|
75
|
+
trainingSamples: number;
|
|
76
|
+
heldOutSamples: number;
|
|
77
|
+
};
|
|
56
78
|
strategiesEvaluated: number;
|
|
57
79
|
bestStrategy: Strategy;
|
|
58
80
|
improvement: number;
|
|
@@ -87,11 +109,19 @@ export interface PatternResult {
|
|
|
87
109
|
sona?: SONASnapshot;
|
|
88
110
|
}
|
|
89
111
|
export interface DashboardResult {
|
|
90
|
-
|
|
112
|
+
/** Average success rate of patterns with measured rates; null when there are none. */
|
|
113
|
+
overallLearningRate: number | null;
|
|
91
114
|
totalPatterns: number;
|
|
92
115
|
totalKnowledge: number;
|
|
93
116
|
experiencesLast24h: number;
|
|
117
|
+
/** #1109: last-24h experiences excluded from rankings because their reward was assigned. */
|
|
118
|
+
assignedRewardsExcluded?: number;
|
|
119
|
+
/** #1109: stored patterns excluded because they were learned from assigned rewards. */
|
|
120
|
+
assignedPatternsExcluded?: number;
|
|
121
|
+
/** Ranked by measured success rate; empty when no domain has a measured outcome. */
|
|
94
122
|
topPerformingDomains: DomainName[];
|
|
123
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
124
|
+
unmeasured?: string[];
|
|
95
125
|
learningTrend: TrendPoint[];
|
|
96
126
|
recentMilestones: Milestone[];
|
|
97
127
|
/** Read-only persisted SONA visibility when an initialized fleet is available. */
|
|
@@ -108,7 +138,8 @@ export interface TrendPoint {
|
|
|
108
138
|
}
|
|
109
139
|
export interface Milestone {
|
|
110
140
|
name: string;
|
|
111
|
-
|
|
141
|
+
/** When the milestone was first reached; null because that moment is not recorded (#1109). */
|
|
142
|
+
achievedAt: string | null;
|
|
112
143
|
domain: DomainName;
|
|
113
144
|
}
|
|
114
145
|
export declare class LearningOptimizeTool extends MCPToolBase<LearningOptimizeParams, LearningOptimizeResult> {
|