agentic-qe 3.13.1 → 3.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/hooks/aqe-hook.cjs +24 -3
- package/.claude/skills/qe-court/SKILL.md +25 -3
- package/.claude/skills/qe-court/config.json +1 -1
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +72 -0
- package/assets/skills/qe-court/SKILL.md +25 -3
- package/assets/skills/qe-court/config.json +1 -1
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-NIUFP6QX.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-4VM3DE42.js → agent-booster-wasm-YIGGREZN.js} +2 -2
- package/dist/cli/chunks/{agent-handler-ZDLMZQQX.js → agent-handler-64O7R55A.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-P72MDHHV.js → agent-memory-branch-2ZZBYUP3.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-DC4DNCPB.js +2 -0
- package/dist/cli/chunks/{arena-55FZGKEV.js → arena-6YRNQNCX.js} +4 -4
- package/dist/cli/chunks/{arena-GCRBQ26R.js → arena-PF5WL2WM.js} +2 -2
- package/dist/cli/chunks/{audit-VYAYVLIV.js → audit-R53FOYCK.js} +3 -3
- package/dist/cli/chunks/base-EXD3ULZT.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-GMRPPMDM.js → better-sqlite3-OW5HIPEN.js} +2 -2
- package/dist/cli/chunks/{brain-handler-IUKMRGWO.js → brain-handler-J4ICUOUX.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-TUI3RWLX.js → branch-enumerator-YVPD43TG.js} +2 -2
- package/dist/cli/chunks/{browser-NBQTZYX2.js → browser-TKVHX53S.js} +2 -2
- package/dist/cli/chunks/browser-workflow-KOMASCB7.js +2 -0
- package/dist/cli/chunks/{chunk-WINA3XUT.js → chunk-22WFXSXB.js} +2 -2
- package/dist/cli/chunks/chunk-2BYRQ5MV.js +4 -0
- package/dist/cli/chunks/{chunk-ZLCATRXI.js → chunk-2G2XD6EM.js} +2 -2
- package/dist/cli/chunks/{chunk-XN2CD5S6.js → chunk-2MLPO3RZ.js} +2 -2
- package/dist/cli/chunks/{chunk-2ISLQU3G.js → chunk-2QKSIHXO.js} +1 -1
- package/dist/cli/chunks/{chunk-PKMCZFET.js → chunk-33SPAMQZ.js} +2 -2
- package/dist/cli/chunks/{chunk-6C3MZLYW.js → chunk-37GCWGXT.js} +2 -2
- package/dist/cli/chunks/{chunk-FM272B4O.js → chunk-37I4AMCT.js} +2 -2
- package/dist/cli/chunks/{chunk-7D7XFZZI.js → chunk-3CFWNT3F.js} +2 -2
- package/dist/cli/chunks/{chunk-TDGE52HJ.js → chunk-3J2QITXC.js} +1 -1
- package/dist/cli/chunks/{chunk-YRVUYM62.js → chunk-3NML6POU.js} +2 -2
- package/dist/cli/chunks/chunk-46U73TST.js +2 -0
- package/dist/cli/chunks/{chunk-XOQQGZFY.js → chunk-4RYU4WMW.js} +1 -1
- package/dist/cli/chunks/{chunk-2XZ4BHWS.js → chunk-4Z2AKQP4.js} +1 -1
- package/dist/cli/chunks/{chunk-4QMWWYNU.js → chunk-5A5EC5RD.js} +2 -2
- package/dist/cli/chunks/{chunk-FRAGSKXQ.js → chunk-5IH22DLD.js} +3 -3
- package/dist/cli/chunks/{chunk-OCKTPTQ7.js → chunk-5IVOY76M.js} +2 -2
- package/dist/cli/chunks/{chunk-OE4B6LDZ.js → chunk-62F5M5OO.js} +1 -1
- package/dist/cli/chunks/{chunk-IBSBOHUX.js → chunk-64C4SS66.js} +2 -2
- package/dist/cli/chunks/{chunk-ELMUHNXN.js → chunk-66KIIH6V.js} +2 -2
- package/dist/cli/chunks/{chunk-N7WAZ2Y6.js → chunk-6C3PDY72.js} +1 -1
- package/dist/cli/chunks/{chunk-UMCEEXQN.js → chunk-6I2L22WS.js} +1 -1
- package/dist/cli/chunks/{chunk-MCIO7BDK.js → chunk-6R6QGQ7D.js} +1 -1
- package/dist/cli/chunks/{chunk-IJA4WS7B.js → chunk-764G7VK6.js} +1 -1
- package/dist/cli/chunks/{chunk-QG6BXSNJ.js → chunk-7AHQ7ROU.js} +2 -2
- package/dist/cli/chunks/{chunk-BF5BKSDU.js → chunk-7MBPKAQ3.js} +2 -2
- package/dist/cli/chunks/{chunk-MUFYDKVC.js → chunk-7TG7LJAB.js} +2 -2
- package/dist/cli/chunks/{chunk-PIOO2M4W.js → chunk-A22RTEJ3.js} +2 -2
- package/dist/cli/chunks/{chunk-SXADKQJN.js → chunk-A547LEUW.js} +2 -2
- package/dist/cli/chunks/{chunk-JOTNKZ7A.js → chunk-A6J5MAVO.js} +10 -10
- package/dist/cli/chunks/{chunk-XFUF654L.js → chunk-ADBTOUOX.js} +1 -1
- package/dist/cli/chunks/{chunk-3K4YC3GC.js → chunk-AJ45QR3K.js} +2 -2
- package/dist/cli/chunks/{chunk-WWCH5SSF.js → chunk-APXJJRU4.js} +2 -2
- package/dist/cli/chunks/{chunk-IJP42OGW.js → chunk-AXXFY7PX.js} +2 -2
- package/dist/cli/chunks/{chunk-ZYPESQ4M.js → chunk-B7XZJBMT.js} +2 -2
- package/dist/cli/chunks/{chunk-EGMGOWCE.js → chunk-BDOD534O.js} +2 -2
- package/dist/cli/chunks/{chunk-LTWT4GZD.js → chunk-C7AXBCMS.js} +4 -4
- package/dist/cli/chunks/{chunk-MX5ZDKRR.js → chunk-CBLKYGKT.js} +2 -2
- package/dist/cli/chunks/{chunk-NHV4PTG6.js → chunk-CVFUANMU.js} +2 -2
- package/dist/cli/chunks/{chunk-WWP2VXYJ.js → chunk-CW7BWFFF.js} +2 -2
- package/dist/cli/chunks/{chunk-S6VNPKHO.js → chunk-CXPMA7LY.js} +1 -1
- package/dist/cli/chunks/{chunk-UCQ66N6M.js → chunk-DPJLA7JW.js} +2 -2
- package/dist/cli/chunks/{chunk-ZH6ZBDVV.js → chunk-DSGKRXHF.js} +1 -1
- package/dist/cli/chunks/{chunk-2D2XFUKI.js → chunk-DSUEJK33.js} +2 -2
- package/dist/cli/chunks/{chunk-ARTLSAXO.js → chunk-DTOKJKSE.js} +2 -2
- package/dist/cli/chunks/{chunk-THFLRJT6.js → chunk-EEG4G5JG.js} +3 -3
- package/dist/cli/chunks/{chunk-LSKQUUUN.js → chunk-EMH54CO7.js} +2 -2
- package/dist/cli/chunks/{chunk-FDUSWM6O.js → chunk-F6V5POSK.js} +18 -18
- package/dist/cli/chunks/{chunk-ZIBW7CB4.js → chunk-FF53QW6C.js} +1 -1
- package/dist/cli/chunks/{chunk-ZHEKGB4A.js → chunk-FGIZVGIE.js} +2 -2
- package/dist/cli/chunks/{chunk-TQ2MA3SR.js → chunk-GNCGRDQ2.js} +1 -1
- package/dist/cli/chunks/{chunk-HFI5PHG5.js → chunk-GSG5FASF.js} +3 -3
- package/dist/cli/chunks/{chunk-UJ6TMZC6.js → chunk-GTURQ454.js} +2 -2
- package/dist/cli/chunks/{chunk-FQXQJMSF.js → chunk-H2BR5MCX.js} +2 -2
- package/dist/cli/chunks/{chunk-7WEHZCSK.js → chunk-H4XZOIV6.js} +2 -2
- package/dist/cli/chunks/{chunk-UHKXKWMD.js → chunk-HEF6XKA5.js} +2 -2
- package/dist/cli/chunks/{chunk-MPD7RR4P.js → chunk-HJNFXYX4.js} +1 -1
- package/dist/cli/chunks/{chunk-S6F3IJMK.js → chunk-HOIH542Y.js} +1 -1
- package/dist/cli/chunks/{chunk-GJEEPKAT.js → chunk-IH47VGC7.js} +2 -2
- package/dist/cli/chunks/{chunk-DTRFZD7N.js → chunk-IKPBQZQP.js} +2 -2
- package/dist/cli/chunks/{chunk-Y734CWHJ.js → chunk-IRX2THND.js} +2 -2
- package/dist/cli/chunks/{chunk-YVKMHXQK.js → chunk-IZIYFVAZ.js} +3 -3
- package/dist/cli/chunks/{chunk-4WGSMODQ.js → chunk-J5AIMM2J.js} +1 -1
- package/dist/cli/chunks/{chunk-KNWDXI3I.js → chunk-J65XQ6WE.js} +2 -2
- package/dist/cli/chunks/{chunk-L7IOTWWY.js → chunk-JBWXBDJX.js} +1 -1
- package/dist/cli/chunks/{chunk-JAPOMPFD.js → chunk-JG267MVB.js} +2 -2
- package/dist/cli/chunks/{chunk-3Y6CHW67.js → chunk-JHOJG5VO.js} +1 -1
- package/dist/cli/chunks/{chunk-J4T6D2OQ.js → chunk-JLFU5SCI.js} +2 -2
- package/dist/cli/chunks/{chunk-6XZXMEK4.js → chunk-JOHWWTJF.js} +2 -2
- package/dist/cli/chunks/{chunk-HUMQU4ES.js → chunk-JQTDNUHA.js} +2 -2
- package/dist/cli/chunks/{chunk-WZROSTQZ.js → chunk-K2D3YW2N.js} +1 -1
- package/dist/cli/chunks/{chunk-INYS35DV.js → chunk-KBQRYAHZ.js} +2 -2
- package/dist/cli/chunks/{chunk-GASOBSNB.js → chunk-KQ5GLUOB.js} +4 -4
- package/dist/cli/chunks/{chunk-3KGCBAUH.js → chunk-KQFMCVBH.js} +2 -2
- package/dist/cli/chunks/{chunk-A2MG3YXO.js → chunk-L4O2645U.js} +1 -1
- package/dist/cli/chunks/{chunk-ZCLFAOVT.js → chunk-LLQG3F4H.js} +2 -2
- package/dist/cli/chunks/{chunk-5BB5DUL4.js → chunk-LOZRBK2Z.js} +2 -2
- package/dist/cli/chunks/{chunk-YQCAXYBF.js → chunk-LWPCGOQM.js} +2 -2
- package/dist/cli/chunks/{chunk-RSCGBHLM.js → chunk-M7XDTQHX.js} +2 -2
- package/dist/cli/chunks/{chunk-23MT7OBY.js → chunk-MGKJFO57.js} +2 -2
- package/dist/cli/chunks/{chunk-YMMVCOPF.js → chunk-MNEQESQJ.js} +5 -5
- package/dist/cli/chunks/{chunk-ZXX2VFMA.js → chunk-MYR6CBXC.js} +2 -2
- package/dist/cli/chunks/{chunk-AY7S7AWN.js → chunk-N3KQRDTM.js} +1 -1
- package/dist/cli/chunks/{chunk-SS6K4FBH.js → chunk-N4OBRS6S.js} +2 -2
- package/dist/cli/chunks/{chunk-2CQAWYYE.js → chunk-N7IRBQ4D.js} +1 -1
- package/dist/cli/chunks/{chunk-UHGMS2PJ.js → chunk-NF2N2FIY.js} +1 -1
- package/dist/cli/chunks/{chunk-YBPCBFEE.js → chunk-NIA6VTIH.js} +2 -2
- package/dist/cli/chunks/{chunk-P4Y3G6OB.js → chunk-NUPAGPN6.js} +2 -2
- package/dist/cli/chunks/{chunk-J45DX3IK.js → chunk-OD5R7HRI.js} +1 -1
- package/dist/cli/chunks/{chunk-3F4XH4ZA.js → chunk-ORXDKBZC.js} +1 -1
- package/dist/cli/chunks/{chunk-MXKHIZVM.js → chunk-OU5CZFBG.js} +3 -3
- package/dist/cli/chunks/{chunk-QLOOW23R.js → chunk-OX6WPOGR.js} +3 -3
- package/dist/cli/chunks/{chunk-IZO6TPGX.js → chunk-P5CQMDFQ.js} +2 -2
- package/dist/cli/chunks/{chunk-DVPGQG4W.js → chunk-PHBGMXTR.js} +2 -2
- package/dist/cli/chunks/{chunk-55WDVSCM.js → chunk-PHGOMAIS.js} +2 -2
- package/dist/cli/chunks/{chunk-VAJT6QWX.js → chunk-PHNNAIFA.js} +1 -1
- package/dist/cli/chunks/{chunk-USUFTHHT.js → chunk-PS32DXYF.js} +3 -3
- package/dist/cli/chunks/{chunk-TBQTGQ75.js → chunk-PY55ZD2G.js} +2 -2
- package/dist/cli/chunks/{chunk-IMQKEFW6.js → chunk-QFANYWC5.js} +1 -1
- package/dist/cli/chunks/{chunk-LSZZQ7H6.js → chunk-QGJYKXUO.js} +1 -1
- package/dist/cli/chunks/{chunk-MY47CR27.js → chunk-QP4UKSUJ.js} +2 -2
- package/dist/cli/chunks/{chunk-CWXDL7AH.js → chunk-QZ3EIONO.js} +1 -1
- package/dist/cli/chunks/{chunk-V32MDID3.js → chunk-QZS3XCU5.js} +2 -2
- package/dist/cli/chunks/{chunk-UKBDH27A.js → chunk-RMQRSZB4.js} +1 -1
- package/dist/cli/chunks/{chunk-H7YZ2YF2.js → chunk-RRHIEG4Y.js} +2 -2
- package/dist/cli/chunks/{chunk-LVHMXGDI.js → chunk-RU23JXCG.js} +3 -3
- package/dist/cli/chunks/{chunk-LTKNCYMO.js → chunk-RWPWD5GG.js} +2 -2
- package/dist/cli/chunks/{chunk-KW5NBORV.js → chunk-SAMAYDVS.js} +2 -2
- package/dist/cli/chunks/{chunk-EAKHU5YX.js → chunk-SJWTNKPY.js} +3 -3
- package/dist/cli/chunks/{chunk-XSCOEY4C.js → chunk-SSXCHSVM.js} +2 -2
- package/dist/cli/chunks/chunk-T5L65R23.js +2 -0
- package/dist/cli/chunks/{chunk-CE6LYEHT.js → chunk-TGVDKSSS.js} +1 -1
- package/dist/cli/chunks/{chunk-VLUJWI56.js → chunk-TK6CHESH.js} +1 -1
- package/dist/cli/chunks/{chunk-HYIRFJDB.js → chunk-TNM7X2GD.js} +2 -2
- package/dist/cli/chunks/{chunk-GOV2MHLV.js → chunk-TRPRFW27.js} +2 -2
- package/dist/cli/chunks/{chunk-BOCEOLLJ.js → chunk-TW5QWNT4.js} +2 -2
- package/dist/cli/chunks/{chunk-6QKQFHS7.js → chunk-U7DGRHSB.js} +2 -2
- package/dist/cli/chunks/{chunk-M3T6FB54.js → chunk-UAXFRKR3.js} +2 -2
- package/dist/cli/chunks/{chunk-YLAEIS6F.js → chunk-UF7JKDWB.js} +1 -1
- package/dist/cli/chunks/{chunk-OPQY2333.js → chunk-UOJ26GXD.js} +2 -2
- package/dist/cli/chunks/{chunk-2OM3TDC4.js → chunk-UWBHR4EZ.js} +1 -1
- package/dist/cli/chunks/{chunk-NP4CP3LR.js → chunk-UX434RY5.js} +2 -2
- package/dist/cli/chunks/{chunk-CWP4RMOM.js → chunk-V6W4IHS5.js} +2 -2
- package/dist/cli/chunks/{chunk-2G2QWV7B.js → chunk-VFZNVJP2.js} +2 -2
- package/dist/cli/chunks/{chunk-IV2VCR75.js → chunk-VGWHFFK6.js} +5 -5
- package/dist/cli/chunks/{chunk-ORDH4VPL.js → chunk-VKUH57JE.js} +1 -1
- package/dist/cli/chunks/{chunk-RZ6CO3RZ.js → chunk-VRTNRI4H.js} +2 -2
- package/dist/cli/chunks/{chunk-FQUUMC57.js → chunk-W6OIDL4J.js} +2 -2
- package/dist/cli/chunks/{chunk-SHWXADCI.js → chunk-WHUQDBV7.js} +2 -2
- package/dist/cli/chunks/{chunk-JELNVHBF.js → chunk-WRC66JTK.js} +1 -1
- package/dist/cli/chunks/{chunk-AHTOWWSE.js → chunk-WVWWTRKT.js} +1 -1
- package/dist/cli/chunks/{chunk-LJQ27PUE.js → chunk-X737I4SO.js} +1 -1
- package/dist/cli/chunks/{chunk-AYYDO52G.js → chunk-XRF5MX4Q.js} +2 -2
- package/dist/cli/chunks/{chunk-MAYZTGJ2.js → chunk-XRQGWUDX.js} +2 -2
- package/dist/cli/chunks/{chunk-AOMXMFDH.js → chunk-ZI7BWJJW.js} +2 -2
- package/dist/cli/chunks/{chunk-SPJQJWGK.js → chunk-ZIYCZZYD.js} +2 -2
- package/dist/cli/chunks/{chunk-E4D47QTF.js → chunk-ZLTAAROU.js} +2 -2
- package/dist/cli/chunks/{chunk-GTPZVLL6.js → chunk-ZU3XUBDQ.js} +1 -1
- package/dist/cli/chunks/{ci-HHL5WQXQ.js → ci-G2NEYLVO.js} +2 -2
- package/dist/cli/chunks/{ci-output-HVOJC2KN.js → ci-output-SZFEXGBU.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-HRXMIY2G.js → circuit-breaker-ZD7PJY6N.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-3I7WVMZN.js → claude-flow-setup-DAVANGUJ.js} +2 -2
- package/dist/cli/chunks/client-ZJQMJO5N.js +2 -0
- package/dist/cli/chunks/{cline-installer-NBREL4QT.js → cline-installer-WCPKWLY7.js} +2 -2
- package/dist/cli/chunks/{code-TX4E2RWU.js → code-324ZJR3V.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-YELOFLSL.js → code-index-extractor-EWVSXJHR.js} +2 -2
- package/dist/cli/chunks/{codex-installer-HEX3KFRB.js → codex-installer-HVSZBHH2.js} +2 -2
- package/dist/cli/chunks/{completions-72GGFRGG.js → completions-ZAWBZWYK.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-WRAKDYUK.js → complexity-analyzer-S3H2IRON.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-UGYKSKTI.js → continuedev-installer-4DDFAJ26.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-RPCRUKIJ.js → copilot-installer-KBBAL3G5.js} +2 -2
- package/dist/cli/chunks/core-handlers-U2YJLH6O.js +2 -0
- package/dist/cli/chunks/{cost-tracker-CNHJ7G4M.js → cost-tracker-2YM7SGBW.js} +2 -2
- package/dist/cli/chunks/{coverage-RHIQ4XEX.js → coverage-6CCBAORJ.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-E7EMKZEK.js +2 -0
- package/dist/cli/chunks/{cursor-installer-KSRVA4V2.js → cursor-installer-24DKXNU5.js} +2 -2
- package/dist/cli/chunks/{daemon-QBXSJABV.js → daemon-JLF6CRBS.js} +4 -4
- package/dist/cli/chunks/{daemon-IT4AAFBW.js → daemon-M2PSDIZF.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-F7WCQTLY.js → dag-attention-scheduler-Y5HSZDRV.js} +2 -2
- package/dist/cli/chunks/{detect-2IYU332U.js → detect-6Y227IJ6.js} +2 -2
- package/dist/cli/chunks/{dist-node-CIYNYCYN.js → dist-node-EGOJXGTA.js} +2 -2
- package/dist/cli/chunks/{domain-handler-QRYQO2QK.js → domain-handler-G3JEWRE5.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-2OQDOD3G.js → domain-transfer-XOHI3EMJ.js} +2 -2
- package/dist/cli/chunks/dream-ZMNQYBJO.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-P2IFC7JL.js → embed-and-insert-pattern-CSSA55L4.js} +2 -2
- package/dist/cli/chunks/{eval-SBPK37IB.js → eval-NHBXOXDV.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-3GMFND3F.js → experience-capture-middleware-B7ZDV5UY.js} +3 -3
- package/dist/cli/chunks/{fast-paths-4OYYII2F.js → fast-paths-XGKSBALA.js} +2 -2
- package/dist/cli/chunks/{feature-flags-BM6QTMMC.js → feature-flags-NBUDJSWJ.js} +2 -2
- package/dist/cli/chunks/{feature-flags-NFCAYUWO.js → feature-flags-ZVD73ZYK.js} +2 -2
- package/dist/cli/chunks/{file-discovery-2M3ZUAGC.js → file-discovery-C42TEUKT.js} +2 -2
- package/dist/cli/chunks/{fleet-QMGGVIDV.js → fleet-LF77P3BW.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-WGMAGZMO.js → gnn-wrapper-UXNT7BEN.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-5RSMEZGG.js → heartbeat-handler-C4LMU5LA.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-2JL4MAJR.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-AZD6O35G.js +2 -0
- package/dist/cli/chunks/hnsw-index-WJLE4S5L.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-TYPQ2T6P.js → hnsw-legacy-bridge-EHHBIWS3.js} +2 -2
- package/dist/cli/chunks/{better-sqlite3-JDDFYVCX.js → hnswlib-node-QOULNHXS.js} +2 -2
- package/dist/cli/chunks/{hooks-NUC5P3OJ.js → hooks-AGE3HCFI.js} +37 -37
- package/dist/cli/chunks/hybrid-router-YTKJBAS2.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-OIB7WK54.js → hypergraph-engine-E5QX5MEB.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-XX2N75QC.js → hypergraph-handler-ZZHBANYB.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-CX56GZXA.js +2 -0
- package/dist/cli/chunks/{init-handler-AKSTJMZY.js → init-handler-PNVRBZZT.js} +6 -6
- package/dist/cli/chunks/init-wizard-WE6HIC66.js +2 -0
- package/dist/cli/chunks/kernel-MT55LNNI.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-375V5ZZB.js → kilocode-installer-TR53QKPU.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-GKY5GB5Q.js → kiro-installer-MJW6LCAX.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-WN3LQ2W7.js +2 -0
- package/dist/cli/chunks/{learning-2CQE3QP6.js → learning-6LLGHP2Q.js} +3 -3
- package/dist/cli/chunks/{llm-router-FTQNRF45.js → llm-router-DBLV3VGG.js} +4 -4
- package/dist/cli/chunks/llm-router-service-NKHEQQMN.js +2 -0
- package/dist/cli/chunks/{load-3DBAO5ZG.js → load-LAZ3E5PE.js} +2 -2
- package/dist/cli/chunks/load-test-3WIQASDF.js +2 -0
- package/dist/cli/chunks/{mcp-AWR6TDXM.js → mcp-L5QXHSEY.js} +2 -2
- package/dist/cli/chunks/{memory-GI4LCNXY.js → memory-YR5PCMWA.js} +5 -5
- package/dist/cli/chunks/memory-backend-W6YSNT6O.js +2 -0
- package/dist/cli/chunks/{memory-handlers-MALKG7GP.js → memory-handlers-BSRTZQYR.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-SWFT5U72.js → multi-model-executor-RECZ3ACW.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-EYXGYJX5.js → opencode-installer-4TDUB7HH.js} +2 -2
- package/dist/cli/chunks/{orchestrator-MP3EAZVC.js → orchestrator-PHDKJ5C4.js} +5 -5
- package/dist/cli/chunks/pattern-null-store-IV3ZESTR.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-25P3R3W7.js → pattern-usage-recorder-QK2FADRS.js} +2 -2
- package/dist/cli/chunks/{pipeline-LSAFL25D.js → pipeline-JQJYSN43.js} +2 -2
- package/dist/cli/chunks/{platform-IJ6DJ2PG.js → platform-FA5TOPTH.js} +2 -2
- package/dist/cli/chunks/{plugin-OXOZRZW2.js → plugin-766MBGK6.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-HJNJQQ3R.js → prime-radiant-advanced-wasm-XQERZNSK.js} +2 -2
- package/dist/cli/chunks/protocol-executor-GFAG5G6K.js +2 -0
- package/dist/cli/chunks/{protocol-handler-TCMUH2HL.js → protocol-handler-FAK4MMNA.js} +2 -2
- package/dist/cli/chunks/{prove-ADXQ2GOX.js → prove-HYBVXOGW.js} +2 -2
- package/dist/cli/chunks/provider-manager-TIVIJIYH.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-BYE7YF6Y.js +2 -0
- package/dist/cli/chunks/{quality-EWP36ORX.js → quality-EGSO2RAX.js} +2 -2
- package/dist/cli/chunks/{quality-gate-3BIG7PVU.js → quality-gate-RK32VMO7.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-WOHYVV7A.js +2 -0
- package/dist/cli/chunks/{real-embeddings-D4NBT7W5.js → real-embeddings-GI7CRHE2.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-DOPWH6YV.js → roocode-installer-BS3XWJJI.js} +2 -2
- package/dist/cli/chunks/router-VUW2UVCN.js +2 -0
- package/dist/cli/chunks/routing-feedback-WSUQMZAK.js +2 -0
- package/dist/cli/chunks/{routing-handler-5ADEFOHS.js → routing-handler-XMGRJDHH.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-PLMEIHSN.js → ruvector-commands-NDL3ONNC.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-EQWKVNQB.js → rvf-dual-writer-XAJOYGJ2.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-2OWFUUCG.js → rvf-migration-adapter-WXFRZZ26.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-URAETAPU.js → rvf-migration-coordinator-WFXA2VUQ.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-RHZCXVN6.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-4AWPW4TF.js → rvf-store-integrity-I7PFJZCK.js} +2 -2
- package/dist/cli/chunks/safe-db-NTWEW7ZM.js +2 -0
- package/dist/cli/chunks/schedule-WEVC2GW2.js +2 -0
- package/dist/cli/chunks/scheduler-XHI5AJIS.js +2 -0
- package/dist/cli/chunks/{security-HDLZVM62.js → security-H3WY76GF.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-YQT7PF7X.js → shared-rvf-adapter-GRTJCLW6.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-N5D3NSJ7.js → shared-rvf-dual-writer-46XE5R2B.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-QZUPKMHP.js +2 -0
- package/dist/cli/chunks/{status-handler-KLYRJ2MR.js → status-handler-VUIFMY4F.js} +2 -2
- package/dist/cli/chunks/{structural-health-6LKVRP6Y.js → structural-health-I7HC477E.js} +2 -2
- package/dist/cli/chunks/{sync-YYOW6L6W.js → sync-M6LUV5R4.js} +2 -2
- package/dist/cli/chunks/{sync-7VMFPBVB.js → sync-RO2YGMBF.js} +2 -2
- package/dist/cli/chunks/{task-handler-RKQDGFN2.js → task-handler-BJJTZ7AU.js} +2 -2
- package/dist/cli/chunks/{task-handlers-6YJ4QTEP.js → task-handlers-B6S4NEN3.js} +3 -3
- package/dist/cli/chunks/{test-ASPUIUJH.js → test-BE7EM6Y6.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-I7ABQBBU.js → test-scheduling-4ISKEFR6.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-2XZBTODN.js → token-bootstrap-BOIYBZHW.js} +2 -2
- package/dist/cli/chunks/{token-usage-TMUE6PTF.js → token-usage-6ZZC7RLT.js} +2 -2
- package/dist/cli/chunks/{transformers-FDHHH4SL.js → transformers-55VI4OGW.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-G7PGZA5C.js → tree-sitter-wasm-parser-6GRRGB3K.js} +2 -2
- package/dist/cli/chunks/{types-JGT57UFP.js → types-SXDF7QQT.js} +2 -2
- package/dist/cli/chunks/unified-memory-QKWUSEBV.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-Z2UQZRTK.js +2 -0
- package/dist/cli/chunks/unified-persistence-AVK2NSMI.js +2 -0
- package/dist/cli/chunks/{upgrade-V6UQODJF.js → upgrade-PMPB7NGB.js} +2 -2
- package/dist/cli/chunks/{validate-UBZAE5RW.js → validate-G37QKKXK.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-TSO2MI5X.js → validate-swarm-6X22J3VD.js} +2 -2
- package/dist/cli/chunks/{vibium-7G3VYSQA.js → vibium-SGBJKHQL.js} +2 -2
- package/dist/cli/chunks/visual-security-64UFH23G.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-MIYJSF2L.js → web-tree-sitter-S46Y5BUJ.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-5TLZSQIJ.js → windsurf-installer-PTYCETNM.js} +2 -2
- package/dist/cli/chunks/{witness-chain-LTV7H2HM.js → witness-chain-5SCRFT2K.js} +2 -2
- package/dist/cli/chunks/witness-chain-ZIVSDX6C.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-PAJ2J4AL.js → witness-key-manager-XIAMRVUZ.js} +2 -2
- package/dist/cli/chunks/{workflow-DL3ESR2H.js → workflow-BPQA2NAI.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-TYP4MI2V.js +2 -0
- package/dist/cli/chunks/{wrappers-5HSU665E.js → wrappers-IWZZZOAU.js} +2 -2
- package/dist/cli/commands/hooks-handlers/hooks-shared.d.ts +9 -0
- package/dist/cli/commands/hooks-handlers/hooks-shared.js +38 -0
- package/dist/cli/commands/hooks.d.ts +2 -2
- package/dist/cli/commands/hooks.js +8 -2
- package/dist/coordination/handlers/coverage-collection.js +6 -2
- package/dist/coordination/queen-coordinator.js +4 -3
- package/dist/integrations/ruvector/rvf-store-integrity.js +5 -1
- package/dist/integrations/ruvector/shared-rvf-adapter.js +5 -5
- package/dist/mcp/bundle.js +211 -209
- package/dist/shared/safe-db.js +60 -1
- package/dist/skills/qe-court/referee.d.ts +44 -0
- package/dist/skills/qe-court/referee.js +31 -2
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-VRZNL53W.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-XCNMNERX.js +0 -2
- package/dist/cli/chunks/base-VZZNR4UR.js +0 -2
- package/dist/cli/chunks/browser-workflow-5DZNIFUY.js +0 -2
- package/dist/cli/chunks/chunk-BBLWZT5I.js +0 -2
- package/dist/cli/chunks/chunk-EVDYFGVH.js +0 -2
- package/dist/cli/chunks/chunk-QES4QHQW.js +0 -2
- package/dist/cli/chunks/client-EY2IYQDL.js +0 -2
- package/dist/cli/chunks/core-handlers-G4GLA4DT.js +0 -2
- package/dist/cli/chunks/cross-domain-router-P3K4IH5H.js +0 -2
- package/dist/cli/chunks/dream-IT4ZQGEO.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-UUWSPHF2.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-YUJVSFPD.js +0 -2
- package/dist/cli/chunks/hnsw-index-FQZ47RSJ.js +0 -2
- package/dist/cli/chunks/hybrid-router-T5MF73NF.js +0 -2
- package/dist/cli/chunks/impact-analyzer-AEGELYMD.js +0 -2
- package/dist/cli/chunks/init-wizard-WKX3OGWM.js +0 -2
- package/dist/cli/chunks/kernel-5CVWFIGR.js +0 -2
- package/dist/cli/chunks/knowledge-graph-EGPMNDMT.js +0 -2
- package/dist/cli/chunks/llm-router-service-H4LXOARB.js +0 -2
- package/dist/cli/chunks/load-test-OOOGITSN.js +0 -2
- package/dist/cli/chunks/memory-backend-O2YOT4LW.js +0 -2
- package/dist/cli/chunks/pattern-null-store-WBOHE2XL.js +0 -2
- package/dist/cli/chunks/protocol-executor-JCNTPW5J.js +0 -2
- package/dist/cli/chunks/provider-manager-LPGQ5GOO.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-FWVYVSPP.js +0 -2
- package/dist/cli/chunks/queen-coordinator-UXNALRVD.js +0 -2
- package/dist/cli/chunks/router-C6LUIQYY.js +0 -2
- package/dist/cli/chunks/routing-feedback-KMSGGDVD.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-K54BELUE.js +0 -2
- package/dist/cli/chunks/safe-db-NGOZWF2D.js +0 -2
- package/dist/cli/chunks/schedule-B3Y5P64E.js +0 -2
- package/dist/cli/chunks/scheduler-Z6QVRMTB.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-PLOUGATS.js +0 -2
- package/dist/cli/chunks/unified-memory-P5YVLMFI.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-7HI43A2O.js +0 -2
- package/dist/cli/chunks/unified-persistence-U26YP3N3.js +0 -2
- package/dist/cli/chunks/visual-security-6FCDY5FF.js +0 -2
- package/dist/cli/chunks/witness-chain-I3K3WQID.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-MAALP4WA.js +0 -2
|
@@ -137,11 +137,32 @@ try {
|
|
|
137
137
|
// Suggesting `npm rebuild` there sends people down the wrong path (verified
|
|
138
138
|
// 2026-07-08: better-sqlite3 loaded fine while this marker still fired).
|
|
139
139
|
const nativeMismatch = /invalid ELF header|ERR_DLOPEN_FAILED|different Node\.js version/.test(hit);
|
|
140
|
+
// Only claim lock contention when the child ACTUALLY reported a lock error.
|
|
141
|
+
// "Failed to initialize UnifiedMemoryManager" also covers corruption, EACCES,
|
|
142
|
+
// ENOSPC and schema faults; asserting "a process is holding the DB" for those
|
|
143
|
+
// is the same over-confident guidance that cost six days, just pointing a new
|
|
144
|
+
// wrong way (codex review r2 #2).
|
|
145
|
+
const lockContention = /SQLITE_BUSY|SQLITE_LOCKED|database is locked/i.test(stderr);
|
|
140
146
|
const fix = nativeMismatch
|
|
141
147
|
? '`npm rebuild better-sqlite3` (host/container native-binary mismatch).'
|
|
142
|
-
:
|
|
143
|
-
|
|
144
|
-
+ '(
|
|
148
|
+
: !lockContention
|
|
149
|
+
? 'persistence init failed for a reason that is NOT lock contention. Do not guess — '
|
|
150
|
+
+ 'read the actual error above, then check: disk space (`df -h`), permissions on '
|
|
151
|
+
+ '.agentic-qe/, and DB health (`sqlite3 .agentic-qe/memory.db "PRAGMA integrity_check;"` '
|
|
152
|
+
+ '— note quick_check does NOT verify indexes).'
|
|
153
|
+
// 2026-07-23..29: this hint used to say "check for concurrent AQE processes
|
|
154
|
+
// (MCP server / daemon / other hooks)". Operators checked exactly those,
|
|
155
|
+
// found nothing, and capture stayed dead for SIX DAYS — because the holder
|
|
156
|
+
// was `npm exec agentic-qe@latest mcp` from the npx cache, which matches
|
|
157
|
+
// neither "aqe" nor the servers in .mcp.json. Never name a guessed culprit:
|
|
158
|
+
// give the command that finds the ACTUAL holder, whatever it is.
|
|
159
|
+
: 'a process is holding memory.db open (this blocks the journal_mode switch '
|
|
160
|
+
+ 'that AQE_DISABLE_WAL requires). Do NOT guess which process — list them:\n'
|
|
161
|
+
+ ' for p in /proc/[0-9]*; do for f in $p/fd/*; do readlink "$f" 2>/dev/null '
|
|
162
|
+
+ '| grep -q memory.db && echo "$(basename $p) $(tr \'\\0\' \' \' < $p/cmdline)"; '
|
|
163
|
+
+ 'done; done | sort -u\n'
|
|
164
|
+
+ ' (stale `npm exec agentic-qe mcp` from the npx cache is a known culprit '
|
|
165
|
+
+ 'and does NOT match a search for "aqe"). NOT a native-binary rebuild.';
|
|
145
166
|
recordHookHealth(`[${ts()}] FATAL hook persistence failure `
|
|
146
167
|
+ `(cmd=${subcmd}): "${hit}". Learning is NOT being captured. `
|
|
147
168
|
+ `Fix: ${fix}\n`);
|
|
@@ -62,7 +62,7 @@ budget caps and cost receipts apply automatically.
|
|
|
62
62
|
|
|
63
63
|
| Step | Default provider / tier | Why |
|
|
64
64
|
|------|------------------------|-----|
|
|
65
|
-
| **Defense** | `
|
|
65
|
+
| **Defense** | `claude-code` (default) or `cognitum-low` (may equal writer) | Cheap; states the case, never grades. Must differ in vendor from the jury |
|
|
66
66
|
| Prosecutor — devils-advocate | `cognitum-mid` | Gap/assumption hunting |
|
|
67
67
|
| Prosecutor — brutal-honesty | `claude-code` (Opus/Sonnet) | Rigor lens, different family from jury |
|
|
68
68
|
| Prosecutor — sherlock | `cognitum-high` | Deductive/root-cause needs a strong model |
|
|
@@ -83,8 +83,15 @@ when you explicitly want to name several different models.
|
|
|
83
83
|
**Enforced invariants** (defaults; do not weaken without reason):
|
|
84
84
|
1. **≥2 distinct vendors** across the panel — Claude / Cognitum / GPT-via-Codex — not just tiers.
|
|
85
85
|
2. **Jury provider ∉ {writer, defense}** — no model grades its own or its writer's output.
|
|
86
|
+
Vendor is compared **coarsely**: `cognitum-low` and `cognitum-high` are the same
|
|
87
|
+
vendor, so pairing them across defense and jury is a violation, not a diverse panel.
|
|
86
88
|
3. All calls routed through `ProviderManager` → ADR-123 budget cap + receipts.
|
|
87
89
|
|
|
90
|
+
Invariants 1–2 are machine-checked by `validateCourtConfig()` in `referee.ts`, which
|
|
91
|
+
the court MUST call before seating a panel (see *How to run it*). The `options` block
|
|
92
|
+
below binds directly to that check — `minDistinctVendors` and `writerIsNeverJuror` are
|
|
93
|
+
read, not decorative.
|
|
94
|
+
|
|
88
95
|
## The protocol
|
|
89
96
|
|
|
90
97
|
```
|
|
@@ -150,7 +157,20 @@ composing existing agents/skills — there is no monolithic binary yet (a thin
|
|
|
150
157
|
`aqe court` CLI wrapper is planned as ADR-124 Phase 1; the hosted `/v1/qe/verdict`
|
|
151
158
|
is Phase 2). To run a court now:
|
|
152
159
|
|
|
153
|
-
1. Read `config.json` for the panel + `routing` + `overturnDepth
|
|
160
|
+
1. Read `config.json` for the panel + `routing` + `overturnDepth`, then **validate
|
|
161
|
+
the panel before seating it** — this step is not optional:
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
import { validateCourtConfig } from 'src/skills/qe-court/referee';
|
|
165
|
+
const violations = validateCourtConfig(config); // [] == valid
|
|
166
|
+
if (violations.length) throw new Error(`Cannot convene: ${violations.join(', ')}`);
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
A non-empty result means the panel cannot render a trustworthy verdict
|
|
170
|
+
(colluding jury, too few vendors, no jury at all). **ABORT the court and tell
|
|
171
|
+
the user which invariant failed** — do not proceed with a degraded panel and
|
|
172
|
+
do not silently re-route around it. A court that convenes an invalid panel
|
|
173
|
+
produces exactly the false SHIP it exists to catch.
|
|
154
174
|
2. Spawn the prosecutors **in one message, in parallel** (`Task`/`Agent`,
|
|
155
175
|
`run_in_background: true`), each with its routed provider; run
|
|
156
176
|
`codex exec review` for the cross-vendor lens via Bash.
|
|
@@ -172,7 +192,9 @@ Durable, attestable evidence — the "jury waiting for everything you ship."
|
|
|
172
192
|
(`src/skills/qe-court/referee.ts`) and covered by an oracle suite
|
|
173
193
|
(`tests/unit/skills/qe-court/referee.test.ts`) that the acceptance eval
|
|
174
194
|
(`evals/qe-court.yaml`, command-eval mode) runs through the `aqe eval` CLI —
|
|
175
|
-
|
|
195
|
+
15/15 green as of 2026-07-29. That suite now validates the **shipped `config.json`
|
|
196
|
+
itself**, so a routing edit that seats a colluding panel fails in CI rather than in
|
|
197
|
+
a user's court (issue #576). The keystone oracle: a seeded mutant a shallow panel
|
|
176
198
|
rated SHIP is overturned to BLOCK when the overturn round is active, and MUST
|
|
177
199
|
regress to SHIP at `overturnDepth: 0` — proving the mechanic carries its weight.
|
|
178
200
|
Run it yourself: `aqe eval run --skill qe-court --model cognitum-low`.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"emitScore": false,
|
|
7
7
|
"routing": {
|
|
8
8
|
"_note": "provider ids: claude-code | cognitum-{low,mid,high} | openrouter | codex | claude | openai | gemini | ollama. Cognitum resolves multiple models behind its tiers; use openrouter when you want to name several distinct models for breadth.",
|
|
9
|
-
"defense": { "provider": "
|
|
9
|
+
"defense": { "provider": "claude-code" },
|
|
10
10
|
"prosecutor.devils-advocate": { "provider": "cognitum-mid" },
|
|
11
11
|
"prosecutor.brutal-honesty": { "provider": "claude-code", "model": "sonnet" },
|
|
12
12
|
"prosecutor.sherlock": { "provider": "cognitum-high" },
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,78 @@ All notable changes to the Agentic QE project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.13.3] - 2026-07-29
|
|
9
|
+
|
|
10
|
+
Two independent quality-of-evidence fixes: learning capture could stop silently
|
|
11
|
+
for days on a filesystem where WAL is disabled, and QE-Court shipped a default
|
|
12
|
+
review panel that violated its own anti-collusion rule.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- **Learning capture no longer stops silently when `AQE_DISABLE_WAL` is set.**
|
|
17
|
+
With that flag on, AQE tried to switch the database journal mode on *every*
|
|
18
|
+
writable connection. That switch needs exclusive access, so any other process
|
|
19
|
+
holding the database open — a stray MCP server, for example — made the attempt
|
|
20
|
+
fail and take the whole persistence layer down with it. Hooks kept reporting
|
|
21
|
+
success while nothing was being recorded, which hid the outage for days.
|
|
22
|
+
|
|
23
|
+
AQE now only changes the journal mode when it is actually wrong (so normal
|
|
24
|
+
operation never needs the exclusive lock), refuses to write in a mode you have
|
|
25
|
+
declared unsafe rather than risking corruption, and — when something really is
|
|
26
|
+
holding the database — tells you the exact command that finds it instead of
|
|
27
|
+
guessing which process to blame.
|
|
28
|
+
|
|
29
|
+
- **QE-Court's shipped default panel violated `writerIsNeverJuror`** ([#576]).
|
|
30
|
+
The bundled `config.json` seated the defense and the jury on two tiers of the
|
|
31
|
+
same vendor, which is exactly what the court's core anti-collusion rule
|
|
32
|
+
forbids — so a brand-new project got an invalid panel with no user action.
|
|
33
|
+
Worse, the rule could never have caught it: nothing turned the configured
|
|
34
|
+
routing into a panel, so validation never ran outside its own unit test, and
|
|
35
|
+
the config's `options` block was not wired to anything.
|
|
36
|
+
|
|
37
|
+
The default panel is now genuinely cross-vendor (and keeps the deeper-review
|
|
38
|
+
round on a different vendor from the jury, so escalation stays independent),
|
|
39
|
+
validation is a required step before a court convenes, the `options` block
|
|
40
|
+
actually takes effect, and the shipped config files are checked in CI so this
|
|
41
|
+
cannot regress unnoticed. Reported by @pacphi.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- The bundled statusline refreshes every 60 seconds instead of every 5. It
|
|
46
|
+
reopened the learning database on every tick, adding constant pressure to the
|
|
47
|
+
same lock the fix above depends on.
|
|
48
|
+
|
|
49
|
+
[#576]: https://github.com/proffesor-for-testing/agentic-qe/issues/576
|
|
50
|
+
|
|
51
|
+
## [3.13.2] - 2026-07-24
|
|
52
|
+
|
|
53
|
+
Stops short-lived learning hooks from repeatedly producing
|
|
54
|
+
`brain.rvf.corrupt-*` and `patterns.rvf.corrupt-*` files. A busy project could
|
|
55
|
+
accumulate thousands of these derived-cache artifacts while vector search
|
|
56
|
+
repeatedly fell back to SQLite.
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
|
|
60
|
+
- **Hook processes now close every RVF store before exiting** ([#574]).
|
|
61
|
+
Every `aqe hooks` invocation opened the shared pattern index and brain
|
|
62
|
+
dual-writer, but the CLI had no teardown step. The native stores therefore
|
|
63
|
+
exited without a clean close; the next hook found an unusable 162-byte store,
|
|
64
|
+
quarantined it, rebuilt it, and repeated the cycle. Hook commands now dispose
|
|
65
|
+
the reasoning bank and reset both RVF singletons after every action.
|
|
66
|
+
- **A duplicate opener can no longer break its own process's live RVF lock**
|
|
67
|
+
([#574]). Recovery protected locks owned by other live processes but treated
|
|
68
|
+
a lock containing the current PID as stale. Another initialization path in
|
|
69
|
+
that process could then remove the lock and replace a store still in use.
|
|
70
|
+
Every live owner is now protected; duplicate paths degrade safely to SQLite
|
|
71
|
+
instead of moving a live store.
|
|
72
|
+
|
|
73
|
+
### Changed
|
|
74
|
+
|
|
75
|
+
- **RVF hook cleanup is idempotent and fail-open.** Partial initialization,
|
|
76
|
+
optional native bindings, or an individual close failure cannot block the
|
|
77
|
+
host editor or command. True stale locks remain recoverable after their owner
|
|
78
|
+
exits.
|
|
79
|
+
|
|
8
80
|
## [3.13.1] - 2026-07-23
|
|
9
81
|
|
|
10
82
|
Fixes four reported issues, three of which come down to the same thing: a tool
|
|
@@ -62,7 +62,7 @@ budget caps and cost receipts apply automatically.
|
|
|
62
62
|
|
|
63
63
|
| Step | Default provider / tier | Why |
|
|
64
64
|
|------|------------------------|-----|
|
|
65
|
-
| **Defense** | `
|
|
65
|
+
| **Defense** | `claude-code` (default) or `cognitum-low` (may equal writer) | Cheap; states the case, never grades. Must differ in vendor from the jury |
|
|
66
66
|
| Prosecutor — devils-advocate | `cognitum-mid` | Gap/assumption hunting |
|
|
67
67
|
| Prosecutor — brutal-honesty | `claude-code` (Opus/Sonnet) | Rigor lens, different family from jury |
|
|
68
68
|
| Prosecutor — sherlock | `cognitum-high` | Deductive/root-cause needs a strong model |
|
|
@@ -83,8 +83,15 @@ when you explicitly want to name several different models.
|
|
|
83
83
|
**Enforced invariants** (defaults; do not weaken without reason):
|
|
84
84
|
1. **≥2 distinct vendors** across the panel — Claude / Cognitum / GPT-via-Codex — not just tiers.
|
|
85
85
|
2. **Jury provider ∉ {writer, defense}** — no model grades its own or its writer's output.
|
|
86
|
+
Vendor is compared **coarsely**: `cognitum-low` and `cognitum-high` are the same
|
|
87
|
+
vendor, so pairing them across defense and jury is a violation, not a diverse panel.
|
|
86
88
|
3. All calls routed through `ProviderManager` → ADR-123 budget cap + receipts.
|
|
87
89
|
|
|
90
|
+
Invariants 1–2 are machine-checked by `validateCourtConfig()` in `referee.ts`, which
|
|
91
|
+
the court MUST call before seating a panel (see *How to run it*). The `options` block
|
|
92
|
+
below binds directly to that check — `minDistinctVendors` and `writerIsNeverJuror` are
|
|
93
|
+
read, not decorative.
|
|
94
|
+
|
|
88
95
|
## The protocol
|
|
89
96
|
|
|
90
97
|
```
|
|
@@ -150,7 +157,20 @@ composing existing agents/skills — there is no monolithic binary yet (a thin
|
|
|
150
157
|
`aqe court` CLI wrapper is planned as ADR-124 Phase 1; the hosted `/v1/qe/verdict`
|
|
151
158
|
is Phase 2). To run a court now:
|
|
152
159
|
|
|
153
|
-
1. Read `config.json` for the panel + `routing` + `overturnDepth
|
|
160
|
+
1. Read `config.json` for the panel + `routing` + `overturnDepth`, then **validate
|
|
161
|
+
the panel before seating it** — this step is not optional:
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
import { validateCourtConfig } from 'src/skills/qe-court/referee';
|
|
165
|
+
const violations = validateCourtConfig(config); // [] == valid
|
|
166
|
+
if (violations.length) throw new Error(`Cannot convene: ${violations.join(', ')}`);
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
A non-empty result means the panel cannot render a trustworthy verdict
|
|
170
|
+
(colluding jury, too few vendors, no jury at all). **ABORT the court and tell
|
|
171
|
+
the user which invariant failed** — do not proceed with a degraded panel and
|
|
172
|
+
do not silently re-route around it. A court that convenes an invalid panel
|
|
173
|
+
produces exactly the false SHIP it exists to catch.
|
|
154
174
|
2. Spawn the prosecutors **in one message, in parallel** (`Task`/`Agent`,
|
|
155
175
|
`run_in_background: true`), each with its routed provider; run
|
|
156
176
|
`codex exec review` for the cross-vendor lens via Bash.
|
|
@@ -172,7 +192,9 @@ Durable, attestable evidence — the "jury waiting for everything you ship."
|
|
|
172
192
|
(`src/skills/qe-court/referee.ts`) and covered by an oracle suite
|
|
173
193
|
(`tests/unit/skills/qe-court/referee.test.ts`) that the acceptance eval
|
|
174
194
|
(`evals/qe-court.yaml`, command-eval mode) runs through the `aqe eval` CLI —
|
|
175
|
-
|
|
195
|
+
15/15 green as of 2026-07-29. That suite now validates the **shipped `config.json`
|
|
196
|
+
itself**, so a routing edit that seats a colluding panel fails in CI rather than in
|
|
197
|
+
a user's court (issue #576). The keystone oracle: a seeded mutant a shallow panel
|
|
176
198
|
rated SHIP is overturned to BLOCK when the overturn round is active, and MUST
|
|
177
199
|
regress to SHIP at `overturnDepth: 0` — proving the mechanic carries its weight.
|
|
178
200
|
Run it yourself: `aqe eval run --skill qe-court --model cognitum-low`.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"emitScore": false,
|
|
7
7
|
"routing": {
|
|
8
8
|
"_note": "provider ids: claude-code | cognitum-{low,mid,high} | openrouter | codex | claude | openai | gemini | ollama. Cognitum resolves multiple models behind its tiers; use openrouter when you want to name several distinct models for breadth.",
|
|
9
|
-
"defense": { "provider": "
|
|
9
|
+
"defense": { "provider": "claude-code" },
|
|
10
10
|
"prosecutor.devils-advocate": { "provider": "cognitum-mid" },
|
|
11
11
|
"prosecutor.brutal-honesty": { "provider": "claude-code", "model": "sonnet" },
|
|
12
12
|
"prosecutor.sherlock": { "provider": "cognitum-high" },
|
package/dist/cli/bundle.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
3
|
-
import{a as y}from"./chunks/chunk-
|
|
2
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
3
|
+
import{a as y}from"./chunks/chunk-ZU3XUBDQ.js";import{a as f,c as P}from"./chunks/chunk-XRF5MX4Q.js";import"./chunks/chunk-62F5M5OO.js";P();import{Command as S}from"commander";import m from"chalk";function h(e,i,a,s){let l=e.command(i).description(a);if(s)for(let u of s)l.alias(u);return l.helpOption(!1),l.allowUnknownOption(!0),l.allowExcessArguments(!0),l}function w(e,i){let a=e.commands,s=a.indexOf(i);s>=0&&a.splice(s,1)}function o(e,i){let a=h(e,i.name,i.description,i.aliases);a.action(async()=>{try{let s=await i.factory();w(e,a),e.addCommand(s),await e.parseAsync(process.argv)}catch(s){console.error(`Failed to load command '${i.name}':`,s instanceof Error?s.message:s),process.exit(1)}})}function d(e,i,a,s,l,u){let g=h(e,i,a,u);g.action(async()=>{try{let p=await s();w(e,g),p.register(e,l),await e.parseAsync(process.argv)}catch(p){console.error(`Failed to load command '${i}':`,p instanceof Error?p.message:p),process.exit(1)}})}var I=["[UnifiedMemory]","[HybridBackend]","[UnifiedPersistence]","[PersistentSONAEngine]","[QueenGovernance]","[QueenCoordinator]","[Queen]","[QUEEN]","[DomainBreakerRegistry]","[RealEmbeddings]","[HNSWIndex]","[PatternStore]","[TestGenerationCoordinator]","[CodeIntelligence]","[ProductFactorsBridge]","[LearningOptimizationCoordinator]","[DreamEngine]","[DreamScheduler]","[SecurityCompliance]","[Providers]","[GNN]","[test-generation]","[test-execution]","[coverage-analysis]","[quality-assessment]","[defect-intelligence]","[requirements-validation]","[code-intelligence]","[security-compliance]","[contract-testing]","[visual-accessibility]","[chaos-resilience]","[learning-optimization]","[enterprise-integration]","[coordination]","[PatternLearnerService]","[RequirementsValidation]","[ParserRegistry]","[AdversarialDefense]","[ContinueGateIntegration]","[ContinueGate]","[SQLitePatternStore]","[TokenTracking]","[InfraHealing]","[ExperienceCapture]"],b=/^\[\d{2}:\d{2}:\d{2}\.\d{3}\]\s+\[/,D=console.log.bind(console);console.log=(...e)=>{let a=(typeof e[0]=="string"?e[0]:"").trimStart();if(I.some(s=>a.startsWith(s))||b.test(a)){process.stderr.write(e.map(String).join(" ")+`
|
|
4
4
|
`);return}D(...e)};console.info=(...e)=>{process.stderr.write(e.map(String).join(" ")+`
|
|
5
|
-
`)};var t={kernel:null,queen:null,router:null,workflowOrchestrator:null,scheduledWorkflows:new Map,persistentScheduler:null,initialized:!1};function C(e,i){let a=e.getDomainAPI("visual-accessibility");if(a?.registerWorkflowActions)try{a.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register visual-accessibility workflow actions: ${f(l)}`))}let s=e.getDomainAPI("requirements-validation");if(s?.registerWorkflowActions)try{s.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register requirements-validation workflow actions: ${f(l)}`))}}async function R(){let{QEKernelImpl:e}=await import("./chunks/kernel-
|
|
5
|
+
`)};var t={kernel:null,queen:null,router:null,workflowOrchestrator:null,scheduledWorkflows:new Map,persistentScheduler:null,initialized:!1};function C(e,i){let a=e.getDomainAPI("visual-accessibility");if(a?.registerWorkflowActions)try{a.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register visual-accessibility workflow actions: ${f(l)}`))}let s=e.getDomainAPI("requirements-validation");if(s?.registerWorkflowActions)try{s.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register requirements-validation workflow actions: ${f(l)}`))}}async function R(){let{QEKernelImpl:e}=await import("./chunks/kernel-MT55LNNI.js"),{CrossDomainEventRouter:i}=await import("./chunks/cross-domain-router-E7EMKZEK.js"),{DefaultProtocolExecutor:a}=await import("./chunks/protocol-executor-GFAG5G6K.js"),{WorkflowOrchestrator:s}=await import("./chunks/workflow-orchestrator-TYP4MI2V.js"),{createQueenCoordinator:l}=await import("./chunks/queen-coordinator-WOHYVV7A.js"),{createPersistentScheduler:u}=await import("./chunks/scheduler-XHI5AJIS.js");t.kernel=new e({maxConcurrentAgents:15,memoryBackend:"sqlite",hnswEnabled:!0,lazyLoading:!0,enabledDomains:[...y],enableExperienceBridge:!1}),await t.kernel.initialize(),t.router=new i(t.kernel.eventBus),await t.router.initialize();let g=A=>t.kernel.getDomainAPI(A),p=new a(t.kernel.eventBus,t.kernel.memory,g);t.workflowOrchestrator=new s(t.kernel.eventBus,t.kernel.memory,t.kernel.coordinator),await t.workflowOrchestrator.initialize(),C(t.kernel,t.workflowOrchestrator),t.persistentScheduler=u(),t.queen=l(t.kernel,t.router,p,void 0),await t.queen.initialize();let{adoptExternalFleet:E}=await import("./chunks/core-handlers-U2YJLH6O.js");E({kernel:t.kernel,queen:t.queen,router:t.router,workflowOrchestrator:t.workflowOrchestrator}),t.initialized=!0}async function k(){if(t.initialized&&t.kernel&&t.queen)return!0;let e=await import("fs"),a=(await import("path")).resolve(".agentic-qe");return e.existsSync(a)?c():(console.error(m.red(`
|
|
6
6
|
Error: AQE system not initialized in this directory.`)),console.log(m.yellow("Run `aqe init` first to set up this project.\n")),!1)}async function c(){if(t.initialized&&t.kernel&&t.queen)return!0;process.stderr.write(m.gray("Auto-initializing v3 system...")+`
|
|
7
7
|
`);let e=3e4,i=new Promise((a,s)=>{setTimeout(()=>s(new Error("Initialization timeout after 30 seconds")),e)});try{return await Promise.race([R(),i]),process.stderr.write(m.green("System ready")+`
|
|
8
8
|
|
|
9
|
-
`),!0}catch(a){return a.message.includes("timeout")?(console.error(m.red("Initialization timed out after 30 seconds.")),console.log(m.yellow("Try running `aqe init` manually."))):(console.error(m.red("Failed to auto-initialize:"),a),console.log(m.yellow("Try running `aqe init` manually."))),!1}}async function r(e=0){try{t.workflowOrchestrator&&t.workflowOrchestrator.dispose().catch(()=>{}),t.queen&&t.queen.dispose().catch(()=>{}),t.router&&t.router.dispose().catch(()=>{}),t.kernel&&t.kernel.dispose().catch(()=>{})}catch{}process.exit(e)}var n=new S,v="3.13.
|
|
9
|
+
`),!0}catch(a){return a.message.includes("timeout")?(console.error(m.red("Initialization timed out after 30 seconds.")),console.log(m.yellow("Try running `aqe init` manually."))):(console.error(m.red("Failed to auto-initialize:"),a),console.log(m.yellow("Try running `aqe init` manually."))),!1}}async function r(e=0){try{t.workflowOrchestrator&&t.workflowOrchestrator.dispose().catch(()=>{}),t.queen&&t.queen.dispose().catch(()=>{}),t.router&&t.router.dispose().catch(()=>{}),t.kernel&&t.kernel.dispose().catch(()=>{})}catch{}process.exit(e)}var n=new S,v="3.13.3";n.name("aqe").description("Agentic QE - Domain-Driven Quality Engineering").version(v);d(n,"init","Initialize the AQE v3 system",()=>import("./chunks/init-handler-PNVRBZZT.js").then(e=>e.createInitHandler(r)),t);d(n,"status","Show system status",()=>import("./chunks/status-handler-VUIFMY4F.js").then(e=>e.createStatusHandler(r,k)),t);d(n,"health","Check system health",()=>import("./chunks/status-handler-VUIFMY4F.js").then(e=>e.createHealthHandler(r,k)),t);d(n,"task","Manage QE tasks",()=>import("./chunks/task-handler-BJJTZ7AU.js").then(e=>e.createTaskHandler(r,c)),t);d(n,"agent","Manage QE agents",()=>import("./chunks/agent-handler-64O7R55A.js").then(e=>e.createAgentHandler(r,c)),t);d(n,"domain","Domain operations",()=>import("./chunks/domain-handler-G3JEWRE5.js").then(e=>e.createDomainHandler(r,c)),t);d(n,"protocol","Execute coordination protocols",()=>import("./chunks/protocol-handler-FAK4MMNA.js").then(e=>e.createProtocolHandler(r,c)),t);d(n,"brain","Export, import, and inspect QE brain state",()=>import("./chunks/brain-handler-J4ICUOUX.js").then(e=>e.createBrainHandler(r,c)),t);d(n,"hypergraph","Query the code knowledge hypergraph",()=>import("./chunks/hypergraph-handler-ZZHBANYB.js").then(e=>e.createHypergraphHandler(r,c)),t,["hg"]);d(n,"heartbeat","Manage the token-free heartbeat scheduler",()=>import("./chunks/heartbeat-handler-C4LMU5LA.js").then(e=>e.createHeartbeatHandler(r)),t);d(n,"routing","View routing performance, economics, and accuracy",()=>import("./chunks/routing-handler-XMGRJDHH.js").then(e=>e.createRoutingHandler(r)),t);o(n,{name:"workflow",description:"Manage QE workflows and pipelines (ADR-041)",factory:()=>import("./chunks/workflow-BPQA2NAI.js").then(e=>e.createWorkflowCommand(t,r,c))});o(n,{name:"test",description:"Test generation, execution, scheduling, and load testing",factory:()=>import("./chunks/test-BE7EM6Y6.js").then(e=>e.createTestCommand(t,r,c))});o(n,{name:"coverage",description:"Coverage analysis shortcut",factory:()=>import("./chunks/coverage-6CCBAORJ.js").then(e=>e.createCoverageCommand(t,r,c))});o(n,{name:"quality",description:"Quality assessment shortcut",factory:()=>import("./chunks/quality-EGSO2RAX.js").then(e=>e.createQualityCommand(t,r,c))});o(n,{name:"quality-gate",description:"Two-gate, three-valued quality verdict against a pinned checklist (ADR-119)",factory:()=>import("./chunks/quality-gate-RK32VMO7.js").then(e=>e.createQualityGateCommand(t,r,c))});o(n,{name:"security",description:"Security scanning and URL validation",factory:()=>import("./chunks/security-H3WY76GF.js").then(e=>e.createSecurityCommand(t,r,c))});o(n,{name:"arena",description:"Competitive test-strategy tournaments (ADR-104)",factory:()=>import("./chunks/arena-6YRNQNCX.js").then(e=>e.createArenaCommand(t,r,c))});o(n,{name:"code",description:"Code intelligence analysis",factory:()=>import("./chunks/code-324ZJR3V.js").then(e=>e.createCodeCommand(t,r,c))});o(n,{name:"completions",description:"Generate shell completions for aqe",factory:()=>import("./chunks/completions-ZAWBZWYK.js").then(e=>e.createCompletionsCommand(r))});o(n,{name:"upgrade",description:"Detect optional native bindings and recommend install / flag changes",factory:()=>import("./chunks/upgrade-PMPB7NGB.js").then(e=>e.createUpgradeCommand(r))});o(n,{name:"fleet",description:"Fleet operations with multi-agent progress tracking",factory:()=>import("./chunks/fleet-LF77P3BW.js").then(e=>e.createFleetCommand(t,r,c,C))});o(n,{name:"validate",description:"Validation commands for skills and agents",factory:()=>import("./chunks/validate-swarm-6X22J3VD.js").then(e=>e.createValidateSwarmCommand(t,r,c))});o(n,{name:"skill",description:"Skill validation and reporting (ADR-056)",factory:()=>import("./chunks/validate-G37QKKXK.js").then(e=>e.createValidateCommand(t,r,c))});o(n,{name:"eval",description:"Run skill evaluation suites in parallel",factory:()=>import("./chunks/eval-NHBXOXDV.js").then(e=>e.createEvalCommand())});o(n,{name:"ci",description:"CI/CD pipeline orchestration",factory:()=>import("./chunks/ci-G2NEYLVO.js").then(e=>e.createCICommand(t,r,c))});o(n,{name:"token-usage",description:"View and analyze token consumption metrics (ADR-042)",factory:()=>import("./chunks/token-usage-6ZZC7RLT.js").then(e=>e.createTokenUsageCommand())});o(n,{name:"llm",description:"LLM Router management (ADR-043)",factory:()=>import("./chunks/llm-router-DBLV3VGG.js").then(e=>e.createLLMRouterCommand())});o(n,{name:"sync",description:"Sync local learning data to cloud PostgreSQL",factory:()=>import("./chunks/sync-M6LUV5R4.js").then(e=>e.createSyncCommands())});o(n,{name:"hooks",description:"Self-learning QE hooks for pattern recognition and guidance",factory:()=>import("./chunks/hooks-AGE3HCFI.js").then(e=>e.createHooksCommand())});o(n,{name:"learning",description:"AQE self-learning system management (standalone, no claude-flow required)",factory:()=>import("./chunks/learning-6LLGHP2Q.js").then(e=>e.createLearningCommand())});o(n,{name:"memory",description:"Memory store, retrieve, search, and delete operations",factory:()=>import("./chunks/memory-YR5PCMWA.js").then(e=>e.createMemoryCommand(t,r,c))});o(n,{name:"mcp",description:"Start the MCP protocol server for Claude Code integration",factory:()=>import("./chunks/mcp-L5QXHSEY.js").then(e=>e.createMcpCommand())});o(n,{name:"platform",description:"Manage coding agent platform configurations",factory:()=>import("./chunks/platform-FA5TOPTH.js").then(e=>e.createPlatformCommand())});o(n,{name:"prove",description:"Generate a verifiable Proof-of-Quality attestation",factory:()=>import("./chunks/prove-HYBVXOGW.js").then(e=>e.createProveCommand(t,r,c))});o(n,{name:"ruvector",description:"RuVector integration management",factory:()=>import("./chunks/ruvector-commands-NDL3ONNC.js").then(e=>e.createRuVectorCommand())});o(n,{name:"audit",description:"Witness chain audit trail management",factory:()=>import("./chunks/audit-R53FOYCK.js").then(e=>e.createAuditCommand(t,r,c))});o(n,{name:"pipeline",description:"Manage YAML deterministic pipelines (Imp-9)",factory:()=>import("./chunks/pipeline-JQJYSN43.js").then(e=>e.createPipelineCommand(t,r,c))});o(n,{name:"plugin",description:"Manage external QE domain plugins",factory:()=>import("./chunks/plugin-766MBGK6.js").then(e=>e.createPluginCommand())});o(n,{name:"daemon",description:"Manage the QE Quality Daemon",factory:()=>import("./chunks/daemon-M2PSDIZF.js").then(e=>e.createDaemonCommand())});process.on("SIGINT",async()=>{console.log(m.yellow(`
|
|
10
10
|
|
|
11
11
|
Shutting down...`)),console.log(m.green(`Shutdown complete
|
|
12
12
|
`)),await r(0)});process.on("SIGTERM",async()=>{console.log(m.yellow(`
|
|
13
|
-
Received SIGTERM, shutting down gracefully...`)),await r(0)});async function x(){let{isVersionFastPath:e}=await import("./chunks/fast-paths-
|
|
13
|
+
Received SIGTERM, shutting down gracefully...`)),await r(0)});async function x(){let{isVersionFastPath:e}=await import("./chunks/fast-paths-XGKSBALA.js");e(process.argv)&&(console.log(v),process.exit(0));let{bootstrapTokenTracking:i}=await import("./chunks/token-bootstrap-BOIYBZHW.js");await i({enableOptimization:!0,enablePersistence:!0,verbose:process.env.AQE_VERBOSE==="true"}),await n.parseAsync(),await r(0)}x().catch(async e=>{console.error(m.red("Fatal error:"),e),await r(1)});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import{a,b,c}from"./chunk-OX6WPOGR.js";import"./chunk-7MBPKAQ3.js";import"./chunk-PHNNAIFA.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as x}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import{a as x}from"./chunk-T5L65R23.js";import{c as f}from"./chunk-66KIIH6V.js";import"./chunk-62F5M5OO.js";x();import{createRequire as w}from"module";var S=f.create("agent-booster-wasm"),t={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},l={ExactReplace:0,FuzzyReplace:1,InsertAfter:2,InsertBefore:3,Append:4},v={0:"JavaScript",1:"TypeScript",2:"Python",3:"Rust",4:"Go",5:"Java",6:"C",7:"Cpp"},a=null,u=null,p=null;async function g(){if(a)return!0;if(p)return!1;try{if(a=w(import.meta.url)("./agent_booster_wasm.js"),!a)throw new Error("WASM module loaded but is null");return u=new a.AgentBoosterWasm,!0}catch(e){return p=e,console.warn("[AgentBoosterWASM] Failed to load WASM module:",e),!1}}function A(e){return{".js":t.JavaScript,".mjs":t.JavaScript,".cjs":t.JavaScript,".jsx":t.JavaScript,".ts":t.TypeScript,".tsx":t.TypeScript,".mts":t.TypeScript,".cts":t.TypeScript,".py":t.Python,".rs":t.Rust,".go":t.Go,".java":t.Java,".c":t.C,".h":t.C,".cpp":t.Cpp,".cc":t.Cpp,".cxx":t.Cpp,".hpp":t.Cpp}[e.toLowerCase()]??t.JavaScript}var M=[{name:"var-to-const",detect:(e,r)=>e.includes("var ")&&r.includes("const "),apply:(e,r)=>e.replace(/\bvar\s+/g,"const ")},{name:"var-to-let",detect:(e,r)=>e.includes("var ")&&r.includes("let "),apply:(e,r)=>e.replace(/\bvar\s+/g,"let ")},{name:"add-types-function",detect:(e,r)=>e.includes("function")&&!e.includes(":")&&r.includes(":"),apply:(e,r)=>r},{name:"async-wrapper",detect:(e,r)=>!e.includes("async")&&r.includes("async")&&r.includes("await"),apply:(e,r)=>r},{name:"try-catch-wrapper",detect:(e,r)=>!e.includes("try {")&&r.includes("try {"),apply:(e,r)=>r},{name:"null-check",detect:(e,r)=>!e.includes("if (!")&&!e.includes("if (!")&&(r.includes("if (!")||r.includes("?.")),apply:(e,r)=>r},{name:"test-assertion",detect:(e,r)=>e.includes("test(")&&!e.includes("expect(")&&r.includes("expect("),apply:(e,r)=>r}];function y(e,r){for(let n of M)if(n.detect(e,r))try{return{success:!0,code:n.apply(e,r),pattern:n.name}}catch(s){S.debug("Pattern transform failed, trying next",{pattern:n.name,error:s instanceof Error?s.message:String(s)});continue}return{success:!1,code:r}}async function b(e,r,n,s={}){let o=performance.now(),{confidenceThreshold:T=.5,allowFallback:d=!0}=s;if(!e.trim())return{success:!0,mergedCode:r,confidence:1,strategy:l.Append,syntaxValid:!0,source:"fallback",latencyMs:performance.now()-o};if(await g()&&u&&a)try{let c=a.WasmLanguage[v[n]],i=u.apply_edit(e,r,c);return{success:!0,mergedCode:i.merged_code,confidence:i.confidence,strategy:i.strategy,syntaxValid:i.syntax_valid,source:"wasm",latencyMs:performance.now()-o}}catch(c){let i=c;if(d){let m=y(e,r);if(m.success)return{success:!0,mergedCode:m.code,confidence:.7,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:i.message}}if(d){let c=y(e,r);return{success:c.success,mergedCode:c.code,confidence:c.success?.7:0,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:p?.message??"WASM not available"}}async function W(e,r={}){return Promise.all(e.map(({original:n,edit:s,language:o})=>b(n,s,o,r)))}async function C(){return g()}async function L(){return await g()&&a?a.AgentBoosterWasm.version():"unavailable"}async function R(){if(await g(),u&&a)try{u.apply_edit("function x() {}","function x() {}",a.WasmLanguage.JavaScript)}catch(e){console.debug("[AgentBoosterWASM] Warmup error:",e instanceof Error?e.message:e)}}var _={transform:b,batchTransform:W,isWasmAvailable:C,getVersion:L,warmup:R,Language:t,MergeStrategy:l,languageFromExtension:A};export{t as Language,l as MergeStrategy,W as batchTransform,_ as default,L as getVersion,C as isWasmAvailable,A as languageFromExtension,b as transform,R as warmup};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as p}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import{b as p}from"./chunk-UAXFRKR3.js";import{a as g}from"./chunk-VKUH57JE.js";import"./chunk-2G2XD6EM.js";import"./chunk-62F5M5OO.js";import s from"chalk";var l=class{name="agent";description="Manage QE agents";cleanupAndExit;ensureInitialized;constructor(n,t){this.cleanupAndExit=n,this.ensureInitialized=t}register(n,t){let a=n.command("agent").description(this.description);a.command("list").description("List all agents").option("-d, --domain <domain>","Filter by domain").option("-s, --status <status>","Filter by status").action(async e=>{await this.executeList(e,t)}),a.command("spawn <domain>").description("Spawn an agent in a domain").option("-t, --type <type>","Agent type","worker").option("-c, --capabilities <caps>","Comma-separated capabilities","general").option("--no-progress","Disable progress indicator").action(async(e,o)=>{await this.executeSpawn(e,o,t)})}async executeList(n,t){if(await this.ensureInitialized())try{let a=n.domain?t.queen.getAgentsByDomain(n.domain):t.queen.listAllAgents();if(n.status&&(a=a.filter(e=>e.status===n.status)),console.log(s.blue(`
|
|
3
3
|
Agents (${a.length})
|
|
4
4
|
`)),a.length===0)console.log(s.gray(" No agents found"));else{let e=new Map;for(let i of a)e.has(i.domain)||e.set(i.domain,[]),e.get(i.domain).push(i);let o=Array.from(e.entries());for(let[i,m]of o){console.log(s.cyan(` ${i}:`));for(let r of m)console.log(` ${r.id}`),console.log(` Type: ${r.type}`),console.log(` Status: ${g(r.status)}`),r.startedAt&&console.log(s.gray(` Started: ${r.startedAt.toISOString()}`));console.log("")}}}catch(a){console.error(s.red(`
|
|
5
5
|
Failed to list agents:`),a),await this.cleanupAndExit(1)}}async executeSpawn(n,t,a){if(await this.ensureInitialized())try{let e=t.capabilities.split(",");console.log(s.blue(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import"./chunk-62F5M5OO.js";import{existsSync as i,mkdirSync as d,unlinkSync as s,readdirSync as p,statSync as f}from"fs";import{join as o,basename as l}from"path";var v={branchDir:".agentic-qe/branches",defaultStrategy:"child-wins",orphanMaxAgeMs:36e5},g=class{config;parentAdapter;activeBranches=new Map;witnessChain=null;constructor(t,e){this.parentAdapter=t,this.config={...v,...e}}setWitnessChain(t){this.witnessChain=t}createBranch(t){if(this.activeBranches.has(t))throw new Error(`Branch already exists for agent ${t}`);i(this.config.branchDir)||d(this.config.branchDir,{recursive:!0});let e=o(this.config.branchDir,`${t}.rvf`),r=this.parentAdapter.path(),n=this.parentAdapter.derive(e),a={agentId:t,childPath:e,parentPath:r,childAdapter:n,createdAt:Date.now(),ingestLog:[]};return this.activeBranches.set(t,a),a}recordIngest(t,e){let r=this.activeBranches.get(t);if(r)for(let n of e)r.ingestLog.push({id:n.id,vector:n.vector})}async mergeBranch(t,e){let r=e??this.config.defaultStrategy,n=performance.now(),a=0;if(r==="child-wins"&&t.ingestLog.length>0)try{a=this.parentAdapter.ingest(t.ingestLog).accepted}catch(c){console.warn(`[AgentMemoryBranch] Merge replay failed for ${t.agentId}:`,c)}return this.witnessChain?.append("BRANCH_MERGE",{agentId:t.agentId,strategy:r,vectorsMerged:a,branchPath:t.childPath},`agent-${t.agentId}`),this.cleanupBranchFile(t),this.activeBranches.delete(t.agentId),{vectorsMerged:a,strategy:r,durationMs:performance.now()-n}}discardBranch(t){this.witnessChain?.append("BRANCH_DISCARD",{agentId:t.agentId,action:"discard",branchPath:t.childPath},`agent-${t.agentId}`),this.cleanupBranchFile(t),this.activeBranches.delete(t.agentId)}getBranch(t){return this.activeBranches.get(t)}getActiveBranches(){return Array.from(this.activeBranches.values())}listBranchFiles(){return i(this.config.branchDir)?p(this.config.branchDir).filter(e=>e.endsWith(".rvf")).map(e=>{let r=o(this.config.branchDir,e),n=f(r);return{agentId:l(e,".rvf"),path:r,sizeBytes:n.size,modifiedAt:n.mtime}}):[]}cleanupOrphans(t){let e=t??this.config.orphanMaxAgeMs,r=Date.now(),n=0;for(let a of this.listBranchFiles())if(r-a.modifiedAt.getTime()>e&&!this.activeBranches.has(a.agentId))try{s(a.path);let h=`${a.path}.idmap.json`;i(h)&&s(h),n++}catch{}return n}cleanupBranchFile(t){try{t.childAdapter.close()}catch{}try{i(t.childPath)&&s(t.childPath);let e=`${t.childPath}.idmap.json`;i(e)&&s(e)}catch{}}};export{g as AgentMemoryBranch};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f}from"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as c,c as f}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import{a as c,c as f}from"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.js";f();import{Command as $}from"commander";import r from"chalk";function x(v,g,p){let m=new $("arena").description("Competitive test-strategy tournaments (ADR-104)").addHelpText("after",`
|
|
3
3
|
Examples:
|
|
4
4
|
# Run a 4-strategy tournament against the demo fixture (reproducible under --seed)
|
|
5
5
|
aqe arena run --strategies 4 --target fixtures/arena-demo --seed 42
|
|
@@ -9,10 +9,10 @@ Examples:
|
|
|
9
9
|
|
|
10
10
|
# List persisted runs
|
|
11
11
|
aqe arena list
|
|
12
|
-
`);return m.command("run").description("Run a seeded strategy tournament against an arena fixture").requiredOption("--target <dir>","Arena fixture directory (src/*.mjs + tests/*.test.mjs)").option("--strategies <n>","Number of strategies","4").option("--seed <n>","RNG seed (same seed = same tournament)","42").option("--max-mutants <n>","Mutant sample cap","24").option("--evolve <steps>","Hill-climb steps from the winner","0").option("--json","Output the full arena-result@1 envelope as JSON").action(async a=>{try{let{runArena:i}=await import("./arena-
|
|
12
|
+
`);return m.command("run").description("Run a seeded strategy tournament against an arena fixture").requiredOption("--target <dir>","Arena fixture directory (src/*.mjs + tests/*.test.mjs)").option("--strategies <n>","Number of strategies","4").option("--seed <n>","RNG seed (same seed = same tournament)","42").option("--max-mutants <n>","Mutant sample cap","24").option("--evolve <steps>","Hill-climb steps from the winner","0").option("--json","Output the full arena-result@1 envelope as JSON").action(async a=>{try{let{runArena:i}=await import("./arena-PF5WL2WM.js"),t=i({target:a.target,strategies:parseInt(a.strategies,10),seed:parseInt(a.seed,10),maxMutants:parseInt(a.maxMutants,10),evolveSteps:parseInt(a.evolve,10),log:a.json?()=>{}:e=>console.error(r.dim(` ${e}`))});try{let{getUnifiedMemory:e}=await import("./unified-memory-QKWUSEBV.js"),s=e();s.isInitialized()||await s.initialize(),s.getDatabase().prepare("INSERT OR REPLACE INTO kv_store (namespace, key, value) VALUES ('arena', ?, ?)").run(`run:${t.seed}:${t.target}`,JSON.stringify(t))}catch(e){console.error(r.dim(` note: run not persisted (${c(e)})`))}if(a.json){console.log(JSON.stringify(t,null,2));return}let d=new Map(t.strategies.map(e=>[e.id,e]));console.log(r.blue(`
|
|
13
13
|
Arena: ${t.target} \xB7 seed ${t.seed} \xB7 ${t.mutantsTotal} mutants
|
|
14
14
|
`)),console.log(" rank id kill-rate coverage cost fitness groups"),t.ranking.forEach((e,s)=>{let n=d.get(e),u=n.coveragePct===null?" n/a":`${n.coveragePct.toFixed(2)}%`.padStart(7);console.log(` ${String(s+1).padEnd(5)}${n.id.padEnd(5)}${(n.killRate*100).toFixed(1).padStart(6)}% ${u} ${n.suiteCostRatio.toFixed(2).padEnd(6)}${n.fitness.toFixed(4).padEnd(9)}${n.name}`+(n.baselinePassed?"":r.red(" [baseline FAILED]")))}),console.log(`
|
|
15
15
|
competitive array (row beats column = 1):`);let o=t.strategies.map(e=>e.id);if(console.log(` ${o.map(e=>e.padEnd(4)).join("")}`),t.competitiveArray.forEach((e,s)=>{console.log(` ${o[s].padEnd(4)}${e.map(n=>String(n).padStart(2).padEnd(4)).join("")}`)}),t.evolution.length>0){console.log(`
|
|
16
16
|
evolution:`);for(let e of t.evolution)console.log(` step ${e.step}: [${e.groups.join("+")}] fitness ${e.fitness.toFixed(4)} ${e.accepted?r.green("accepted"):"rejected"}`)}let l=d.get(t.ranking[0]);console.log(r.green(`
|
|
17
17
|
winner: ${l.id} [${l.name}] \u2014 kill ${(l.killRate*100).toFixed(1)}%, fitness ${l.fitness.toFixed(4)}
|
|
18
|
-
`))}catch(i){console.error(r.red(` \u2717 ${c(i)}`)),await g(1)}}),m.command("list").description("List persisted arena runs").option("--json","Output as JSON").action(async a=>{if(await p())try{let{getUnifiedMemory:i}=await import("./unified-memory-
|
|
18
|
+
`))}catch(i){console.error(r.red(` \u2717 ${c(i)}`)),await g(1)}}),m.command("list").description("List persisted arena runs").option("--json","Output as JSON").action(async a=>{if(await p())try{let{getUnifiedMemory:i}=await import("./unified-memory-QKWUSEBV.js"),t=i();t.isInitialized()||await t.initialize();let d=t.getDatabase().prepare("SELECT key, value FROM kv_store WHERE namespace = 'arena' ORDER BY key").all();if(a.json){console.log(JSON.stringify(d.map(o=>({key:o.key,result:JSON.parse(o.value)})),null,2));return}if(d.length===0){console.log(r.yellow(" no persisted arena runs"));return}for(let o of d){let l=JSON.parse(o.value),e=l.strategies.find(s=>s.id===l.ranking[0]);console.log(` ${r.green(o.key)} \u2014 winner ${e?.id} [${e?.name}] fitness ${e?.fitness}`)}}catch(i){console.error(r.red(` \u2717 ${c(i)}`)),await g(1)}}),m}export{x as createArenaCommand};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import"./chunk-62F5M5OO.js";import*as K from"fs";import*as M from"path";function G(t){let r=t>>>0;return function(){r|=0,r=r+1831565813|0;let n=Math.imul(r^r>>>15,1|r);return n=n+Math.imul(n^n>>>7,61|n)^n,((n^n>>>14)>>>0)/4294967296}}function w(t,r){return Math.floor(t()*r)}var z=[["===","!=="],["!==","==="],["<=","<"],[">=",">"],["&&","||"],["||","&&"],["<","<="],[">",">="],["+","-"],["*","+"]];function H(t){let r=new Array(t.length).fill(!1),n=0,e="code";for(;n<t.length;){let s=t[n],i=t[n+1];e==="code"?(s==="'"?e="single":s==='"'?e="double":s==="`"?e="template":s==="/"&&i==="/"?e="line-comment":s==="/"&&i==="*"&&(e="block-comment"),e!=="code"&&(r[n]=!0)):(r[n]=!0,e==="single"&&s==="'"&&t[n-1]!=="\\"||e==="double"&&s==='"'&&t[n-1]!=="\\"||e==="template"&&s==="`"&&t[n-1]!=="\\"||e==="line-comment"&&s===`
|
|
3
3
|
`?e="code":e==="block-comment"&&s==="*"&&i==="/"&&(r[n+1]=!0,n++,e="code")),n++}return r}function E(t,r){let n=1;for(let e=0;e<r;e++)t[e]===`
|
|
4
4
|
`&&n++;return n}function A(t,r){let n=H(t),e=new Array(t.length).fill(!1),s=[];for(let[i,c]of z){let a=t.indexOf(i);for(;a!==-1;){let u=a+i.length,y=e.slice(a,u).some(Boolean),h=n.slice(a,u).some(Boolean),v=i===">"&&t[a-1]==="=",S=(i==="<"||i===">")&&(t[u]==="="||t[a-1]==="<"||t[a-1]===">");if(!y&&!h&&!v&&!S){for(let d=a;d<u;d++)e[d]=!0;s.push({id:`${r}:${E(t,a)}:${a}:${i}->${c}`,index:a,from:i,to:c,line:E(t,a)})}a=t.indexOf(i,a+1)}}return s.sort((i,c)=>i.index-c.index)}function W(t,r){return t.slice(0,r.index)+r.to+t.slice(r.index+r.from.length)}import*as m from"fs";import*as f from"path";import*as L from"os";import{spawnSync as J}from"child_process";function I(t){let r=f.resolve(t),n=f.join(r,"src"),e=f.join(r,"tests");if(!m.existsSync(n)||!m.existsSync(e))throw new Error(`not an arena fixture (expected src/ and tests/): ${r}`);let s=m.readdirSync(n).filter(c=>c.endsWith(".mjs")).sort().map(c=>f.join("src",c)),i={};for(let c of m.readdirSync(e).filter(a=>a.endsWith(".test.mjs")).sort())i[c.replace(".test.mjs","")]=f.join("tests",c);if(s.length===0||Object.keys(i).length===0)throw new Error(`fixture has no src/*.mjs or tests/*.test.mjs: ${r}`);return{root:r,sourceFiles:s,testGroups:i}}function T(t,r){let n=m.mkdtempSync(f.join(r,"arena-ws-"));m.mkdirSync(f.join(n,"src"),{recursive:!0}),m.mkdirSync(f.join(n,"tests"),{recursive:!0});for(let e of t.layout.sourceFiles){let s=t.mutatedFile&&t.mutatedFile.relPath===e?t.mutatedFile.content:m.readFileSync(f.join(t.layout.root,e),"utf8");m.writeFileSync(f.join(n,e),s)}for(let e of t.groups){let s=t.layout.testGroups[e];m.copyFileSync(f.join(t.layout.root,s),f.join(n,s))}return n}function $(t,r={}){let n=["--test"];r.coverage&&n.push("--experimental-test-coverage");let e=m.readdirSync(f.join(t,"tests")).filter(u=>u.endsWith(".test.mjs")).sort().map(u=>f.join("tests",u));n.push(...e);let s=process.hrtime.bigint(),i=J(process.execPath,n,{cwd:t,timeout:r.timeoutMs??12e4,encoding:"utf8"}),c=Number(process.hrtime.bigint()-s)/1e6,a=null;if(r.coverage){let u=/all files\s*\|\s*([\d.]+)/.exec(i.stdout??"");a=u?Number(u[1]):null}return{ok:i.status===0,durationMs:Math.round(c),coveragePct:a}}function N(){return m.mkdtempSync(f.join(L.tmpdir(),"qe-arena-"))}function B(t){m.rmSync(t,{recursive:!0,force:!0})}var k={kill:.6,coverage:.3,runtimePenalty:.1};function Q(t,r,n){let e=[...t].sort(),s=new Set([e.join("+")]),i=[{id:"s1",name:`all(${e.join("+")})`,groups:e}],c=0;for(;i.length<r&&c++<200;){let a=e.filter(()=>n()<.5);if(a.length===0)continue;let u=a.join("+");s.has(u)||(s.add(u),i.push({id:`s${i.length+1}`,name:u,groups:a}))}return i}function C(t,r,n){let e=r===null?0:r/100,s=k.kill*t+k.coverage*e-k.runtimePenalty*n;return Math.round(s*1e4)/1e4}function D(t,r,n,e){let s=T({layout:t,groups:r.groups},e),i=$(s,{coverage:!0});if(!i.ok)return{baselinePassed:!1,killed:0,total:0,coveragePct:i.coveragePct,runtimeMs:i.durationMs};let c=0,a=0;for(let u of n)for(let y of u.mutants){a++;let h=T({layout:t,groups:r.groups,mutatedFile:{relPath:u.relPath,content:W(u.source,y)}},e);$(h).ok||c++}return{baselinePassed:!0,killed:c,total:a,coveragePct:i.coveragePct,runtimeMs:i.durationMs}}function rt(t){let r=t.seed??42,n=t.log??(()=>{}),e=G(r),s=I(t.target),i=N();try{let c=t.maxMutants??24,a=s.sourceFiles.map(l=>{let o=K.readFileSync(M.join(s.root,l),"utf8");return{relPath:l,source:o,mutants:A(o,l)}}),u=a.flatMap(l=>l.mutants.map(o=>({file:l.relPath,m:o})));if(u.length>c){let l=new Set;for(;l.size<c;)l.add(u[w(e,u.length)].m.id);for(let o of a)o.mutants=o.mutants.filter(p=>l.has(p.id));u=a.flatMap(o=>o.mutants.map(p=>({file:o.relPath,m:p})))}n(`mutants: ${u.length} (of ${a.reduce((l,o)=>l+A(o.source,o.relPath).length,0)} enumerated)`);let y=Q(Object.keys(s.testGroups),t.strategies??4,e),h={},v=y.map(l=>{n(`evaluating ${l.id} [${l.name}] ...`);let o=D(s,l,a,i);return h[l.id]=o.runtimeMs,{s:l,e:o}}),S=Object.keys(s.testGroups).length,d=v.map(({s:l,e:o})=>{let p=o.total>0?Math.round(o.killed/o.total*1e4)/1e4:0,g=Math.round(l.groups.length/S*1e4)/1e4;return{...l,baselinePassed:o.baselinePassed,mutantsKilled:o.killed,mutantsTotal:o.total,killRate:p,coveragePct:o.coveragePct,suiteCostRatio:g,fitness:o.baselinePassed?C(p,o.coveragePct,g):0}}),P=[...d].sort((l,o)=>o.fitness-l.fitness||l.id.localeCompare(o.id)).map(l=>l.id),U=d.map(l=>d.map(o=>l.fitness>o.fitness?1:l.fitness<o.fitness?-1:0)),j=[];if(t.evolveSteps&&t.evolveSteps>0){let l=Object.keys(s.testGroups).sort(),o=d.find(g=>g.id===P[0]).groups,p=d.find(g=>g.id===P[0]).fitness;for(let g=1;g<=t.evolveSteps;g++){let R=l[w(e,l.length)],b=o.includes(R)?o.filter(q=>q!==R):[...o,R].sort();if(b.length===0){j.push({step:g,groups:b,fitness:0,accepted:!1});continue}let x=D(s,{id:`evo${g}`,name:b.join("+"),groups:b},a,i),_=x.total>0?x.killed/x.total:0,F=x.baselinePassed?C(_,x.coveragePct,b.length/l.length):0,O=F>p;j.push({step:g,groups:b,fitness:F,accepted:O}),O&&(o=b,p=F)}}return{contract:"arena-result@1",seed:r,target:M.relative(process.cwd(),s.root)||".",weights:{...k},mutantsTotal:u.length,strategies:d,ranking:P,competitiveArray:U,evolution:j,informational:{runtimesMs:h}}}finally{B(i)}}export{Q as buildStrategies,rt as runArena};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{d as f,e as g,f as m,g as y}from"./chunk-
|
|
3
|
-
`)}function V(){try{let n=l(),i=b.join(n,".agentic-qe","memory.db");if(!p(i))return null;let e=(w(),v(E)),t=new e(i),r=f(t),s=m(r);return t.close(),s}catch{return null}}async function O(n){let i=y(),t=(V()??g()).verifyChain(),r={featureEnabled:i,chainLength:t.length,integrity:t.valid,brokenAt:t.brokenAt,lastHash:t.lastHash,message:t.message};return n.format==="json"?console.log(JSON.stringify(r,null,2)):console.log(C(t,i)),r}async function j(n){let{WitnessChain:i,hashWith:e,serializeEntry:t}=await import("./witness-chain-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import{d as f,e as g,f as m,g as y}from"./chunk-ZI7BWJJW.js";import{m as L}from"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import{b as l}from"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-2BYRQ5MV.js";import{p as E,q as w}from"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import{g as v}from"./chunk-62F5M5OO.js";import{Command as x}from"commander";import c from"chalk";L();import{existsSync as p}from"node:fs";import b from"node:path";function C(n,i){let e=[];e.push(c.bold("Witness Chain Audit Verification")),e.push("");let t=i?c.green("ENABLED"):c.yellow("DISABLED");e.push(` Feature Flag: ${t}`),e.push(` Chain Length: ${n.length} receipts`);let r=n.valid?c.green("VALID"):c.red("BROKEN");return e.push(` Integrity: ${r}`),n.length>0&&e.push(` Last Hash: ${n.lastHash.slice(0,16)}...`),!n.valid&&n.brokenAt>=0&&(e.push(""),e.push(c.red(` Break detected at index ${n.brokenAt}`)),e.push(c.red(` ${n.message}`))),e.push(""),e.join(`
|
|
3
|
+
`)}function V(){try{let n=l(),i=b.join(n,".agentic-qe","memory.db");if(!p(i))return null;let e=(w(),v(E)),t=new e(i),r=f(t),s=m(r);return t.close(),s}catch{return null}}async function O(n){let i=y(),t=(V()??g()).verifyChain(),r={featureEnabled:i,chainLength:t.length,integrity:t.valid,brokenAt:t.brokenAt,lastHash:t.lastHash,message:t.message};return n.format==="json"?console.log(JSON.stringify(r,null,2)):console.log(C(t,i)),r}async function j(n){let{WitnessChain:i,hashWith:e,serializeEntry:t}=await import("./witness-chain-ZIVSDX6C.js"),r=l(),s=b.join(r,".agentic-qe","memory.db"),a;if(!p(s))a={featureEnabled:!0,chainLength:0,integrity:!0,brokenAt:-1,lastHash:"",message:`No database found at ${s} \u2014 nothing to verify`};else{let{default:A}=await import("./better-sqlite3-OW5HIPEN.js"),h=new A(s,{readonly:!0});try{let d=new i(h);await d.initialize();let o=d.verify({includeArchive:!0,checkSignatures:!0}),u=h.prepare("SELECT * FROM witness_chain ORDER BY id DESC LIMIT 1").get(),k=u?e(u.hash_algo||"sha256",t(u)):"";a={featureEnabled:!0,chainLength:o.entriesChecked,integrity:o.valid,brokenAt:o.brokenAt??-1,lastHash:k,message:o.valid?`Audit chain verified: ${o.entriesChecked} entries checked, ${o.signatureFailures??0} signature failures`:`Audit chain BROKEN at id=${o.brokenAt} (${o.entriesChecked} entries checked before the break)`}}finally{h.close()}}return n.format==="json"?console.log(JSON.stringify(a,null,2)):console.log(C({valid:a.integrity,length:a.chainLength,brokenAt:a.brokenAt,lastHash:a.lastHash,message:a.message},a.featureEnabled)),a}function R(n,i,e){let t=new x("audit").description("Witness chain audit trail management");return t.command("verify").description("Verify witness chain integrity").option("-F, --format <format>","Output format (json|text)","text").option("-C, --chain <chain>","Which chain to verify: governance (29 decision receipts) or audit (full QE audit trail)","governance").action(async r=>{try{let s=r.format,a=r.chain==="audit"?await j({format:s}):await O({format:s});await i(a.integrity?0:1)}catch(s){console.error("Failed to verify witness chain:",s),await i(1)}}),t}export{R as createAuditCommand,C as formatVerificationText,j as handleAuditChainVerify,O as handleAuditVerify};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q as p}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q as p}from"./chunk-P5CQMDFQ.js";import"./chunk-62F5M5OO.js";p();export{i as DotProductAttention,h as FlashAttention,k as HyperbolicAttention,l as LinearAttention,m as MoEAttention,j as MultiHeadAttention,b as RuvectorLayer,n as SonaEngine,c as TensorCompress,a as default,d as differentiableSearch,f as getCompressionLevel,e as hierarchicalForward,g as init,o as pipeline};
|