agentic-qe 3.15.17 → 3.15.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/helpers/brain-checkpoint.cjs +107 -10
- package/.claude/skills/agentic-quality-engineering/SKILL.md +67 -44
- package/.claude/skills/brutal-honesty-review/SKILL.md +12 -7
- package/.claude/skills/brutal-honesty-review/evals/brutal-honesty-review.yaml +120 -0
- package/.claude/skills/brutal-honesty-review/schemas/output.json +9 -3
- package/.claude/skills/code-review-quality/SKILL.md +2 -2
- package/.claude/skills/holistic-testing-pact/SKILL.md +11 -11
- package/.claude/skills/sherlock-review/SKILL.md +4 -2
- package/.claude/skills/sherlock-review/evals/sherlock-review.yaml +124 -0
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/technical-writing/SKILL.md +12 -6
- package/.claude/skills/technical-writing/evals/technical-writing.yaml +96 -0
- package/.opencode/skills/qe-agentic-quality-engineering.yaml +2 -2
- package/.opencode/skills/qe-holistic-testing-pact.yaml +2 -2
- package/CHANGELOG.md +123 -0
- package/assets/skills/agentic-quality-engineering/SKILL.md +67 -44
- package/assets/skills/brutal-honesty-review/SKILL.md +12 -8
- package/assets/skills/brutal-honesty-review/evals/brutal-honesty-review.yaml +120 -0
- package/assets/skills/brutal-honesty-review/schemas/output.json +9 -3
- package/assets/skills/code-review-quality/SKILL.md +2 -2
- package/assets/skills/holistic-testing-pact/SKILL.md +11 -11
- package/assets/skills/sherlock-review/SKILL.md +4 -3
- package/assets/skills/sherlock-review/evals/sherlock-review.yaml +124 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/assets/skills/technical-writing/SKILL.md +12 -6
- package/assets/skills/technical-writing/evals/technical-writing.yaml +96 -0
- package/dist/cli/brain-commands.d.ts +5 -0
- package/dist/cli/brain-commands.js +4 -0
- package/dist/cli/bundle.js +6 -6
- package/dist/cli/chunks/adapter-WRSDXLOT.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-6BUOFQZA.js → agent-booster-wasm-UFNJNF3M.js} +2 -2
- package/dist/cli/chunks/{agent-handler-HPDK3JI3.js → agent-handler-EAYVRJXN.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-5QKUTWK5.js → agent-memory-branch-M65C6WAQ.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-O6NJBCCM.js +2 -0
- package/dist/cli/chunks/{arena-HZ35LESR.js → arena-2GDICP6R.js} +4 -4
- package/dist/cli/chunks/{arena-7OKPMNHD.js → arena-CG3X67OE.js} +2 -2
- package/dist/cli/chunks/{audit-XI575SVK.js → audit-F4FSPJPL.js} +3 -3
- package/dist/cli/chunks/base-J2FXOE77.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-YO5X7ZJS.js → better-sqlite3-2MCFXW4J.js} +2 -2
- package/dist/cli/chunks/brain-handler-WGTJNYNB.js +95 -0
- package/dist/cli/chunks/{branch-enumerator-N6G44UU2.js → branch-enumerator-KL7C535H.js} +2 -2
- package/dist/cli/chunks/{browser-EVKPTLOI.js → browser-SJEXDVHS.js} +2 -2
- package/dist/cli/chunks/browser-workflow-LXGER6ZD.js +2 -0
- package/dist/cli/chunks/{chunk-VLTDW7XJ.js → chunk-244RKAEP.js} +2 -2
- package/dist/cli/chunks/{chunk-CVPXHDQU.js → chunk-27TUMXPD.js} +1 -1
- package/dist/cli/chunks/{chunk-FBBPRVNF.js → chunk-2MBYDPCP.js} +2 -2
- package/dist/cli/chunks/{chunk-P3D7SEHW.js → chunk-2Q6DTBMT.js} +1 -1
- package/dist/cli/chunks/{chunk-NE3LRUNC.js → chunk-355MI7RV.js} +13 -13
- package/dist/cli/chunks/{chunk-YCVLKU6H.js → chunk-3LX5OKBD.js} +2 -2
- package/dist/cli/chunks/{chunk-74MDUIAZ.js → chunk-3RPDKJGV.js} +1 -1
- package/dist/cli/chunks/{chunk-OWIQR6N2.js → chunk-3YMIT73A.js} +2 -2
- package/dist/cli/chunks/{chunk-VKREKVFI.js → chunk-43KUVBSU.js} +2 -2
- package/dist/cli/chunks/chunk-477FKXSS.js +2 -0
- package/dist/cli/chunks/{chunk-XPTCQKVE.js → chunk-4BIMTRRX.js} +1 -1
- package/dist/cli/chunks/{chunk-HD6W6PHV.js → chunk-4CVNVBX5.js} +2 -2
- package/dist/cli/chunks/{chunk-CQER6IJ5.js → chunk-4HL3SD4A.js} +1 -1
- package/dist/cli/chunks/{chunk-ZNXM6WVL.js → chunk-4PEG4DU2.js} +2 -2
- package/dist/cli/chunks/{chunk-BSIWI4ES.js → chunk-4QSQKFED.js} +2 -2
- package/dist/cli/chunks/chunk-53ZBETYR.js +16 -0
- package/dist/cli/chunks/{chunk-BHQ2DLJU.js → chunk-544KDWL4.js} +1 -1
- package/dist/cli/chunks/chunk-54RCGMLB.js +8 -0
- package/dist/cli/chunks/{chunk-TDZ6N43D.js → chunk-5AGXIZQ5.js} +2 -2
- package/dist/cli/chunks/{chunk-RKCN4B26.js → chunk-5M24X6W7.js} +2 -2
- package/dist/cli/chunks/{chunk-GG7PMTHD.js → chunk-5O5T4LEU.js} +1 -1
- package/dist/cli/chunks/{chunk-OWIZBZLN.js → chunk-5RFXX4IF.js} +2 -2
- package/dist/cli/chunks/{chunk-VQFV2IPV.js → chunk-62MLAQRJ.js} +1 -1
- package/dist/cli/chunks/{chunk-PCL5JRKN.js → chunk-6D6TGL2E.js} +2 -2
- package/dist/cli/chunks/{chunk-WBDWHHKP.js → chunk-6IHZDSDL.js} +2 -2
- package/dist/cli/chunks/{chunk-UOVCTK5L.js → chunk-6P3Y45QL.js} +2 -2
- package/dist/cli/chunks/{chunk-45223KK6.js → chunk-6TEVM3X3.js} +10 -10
- package/dist/cli/chunks/{chunk-K7WAI662.js → chunk-7XTUKKRA.js} +1 -1
- package/dist/cli/chunks/chunk-A3GDX6UF.js +2 -0
- package/dist/cli/chunks/{chunk-GN6OE3JT.js → chunk-A5YTKKNA.js} +1 -1
- package/dist/cli/chunks/{chunk-KR2TAAF6.js → chunk-ADNGZAT2.js} +1 -1
- package/dist/cli/chunks/{chunk-J7Q5TXFZ.js → chunk-AWQAE3SW.js} +2 -2
- package/dist/cli/chunks/{chunk-ZN35XSKF.js → chunk-AXDBQFR4.js} +2 -2
- package/dist/cli/chunks/{chunk-ND72UDVH.js → chunk-AXVD7O3F.js} +2 -2
- package/dist/cli/chunks/{chunk-SAEECT23.js → chunk-B52ULNYO.js} +2 -2
- package/dist/cli/chunks/chunk-B6S4FC7M.js +3 -0
- package/dist/cli/chunks/{chunk-Z7SKUC6P.js → chunk-BDVFSMOQ.js} +1 -1
- package/dist/cli/chunks/{chunk-CXCMATZ6.js → chunk-BGXXMX3Y.js} +2 -2
- package/dist/cli/chunks/{chunk-R3KBOQ3O.js → chunk-BKMQQY5T.js} +2 -2
- package/dist/cli/chunks/{chunk-SAZ4PJBR.js → chunk-BN2FROBQ.js} +2 -2
- package/dist/cli/chunks/{chunk-G2X3OLMN.js → chunk-BO6EQNOC.js} +2 -2
- package/dist/cli/chunks/{chunk-776K4ZLE.js → chunk-BOVAKCDC.js} +2 -2
- package/dist/cli/chunks/{chunk-QSQNXBD2.js → chunk-BSXKZDKO.js} +2 -2
- package/dist/cli/chunks/{chunk-MGZ6XZHU.js → chunk-C5QVJ5XQ.js} +1 -1
- package/dist/cli/chunks/{chunk-LOLSZG5J.js → chunk-CFQLLF3D.js} +2 -2
- package/dist/cli/chunks/{chunk-J6QRNQJF.js → chunk-DUCVLT3F.js} +7 -7
- package/dist/cli/chunks/{chunk-QTQDX4TZ.js → chunk-E4RMJCGA.js} +3 -3
- package/dist/cli/chunks/{chunk-MLMD3I75.js → chunk-EONDCWY4.js} +1 -1
- package/dist/cli/chunks/{chunk-7BSOO3CY.js → chunk-F4AGNKL2.js} +2 -2
- package/dist/cli/chunks/{chunk-IKB3M7OF.js → chunk-F6YD3BOW.js} +1 -1
- package/dist/cli/chunks/{chunk-LIF6UWHV.js → chunk-FQRS7WVA.js} +2 -2
- package/dist/cli/chunks/{chunk-QJSSUBO3.js → chunk-FT24SSDG.js} +2 -2
- package/dist/cli/chunks/chunk-FV4YNSAJ.js +5 -0
- package/dist/cli/chunks/{chunk-VITV7AEC.js → chunk-FVDM3X42.js} +2 -2
- package/dist/cli/chunks/{chunk-LN7NKE3N.js → chunk-FVH7TXWU.js} +2 -2
- package/dist/cli/chunks/{chunk-FBSBXCZS.js → chunk-FWR5QY37.js} +2 -2
- package/dist/cli/chunks/{chunk-X2DWHGCC.js → chunk-FYINK2B7.js} +2 -2
- package/dist/cli/chunks/{chunk-ECKHDHR2.js → chunk-GGISVPOZ.js} +2 -2
- package/dist/cli/chunks/{chunk-SRBCBVSI.js → chunk-GPIJIZJQ.js} +2 -2
- package/dist/cli/chunks/{chunk-YR5QBUHZ.js → chunk-GXEVOT5F.js} +2 -2
- package/dist/cli/chunks/{chunk-ZTP3DQ5M.js → chunk-GZ4VB5RI.js} +1 -1
- package/dist/cli/chunks/{chunk-HWQPMUSN.js → chunk-HBDSCYSK.js} +2 -2
- package/dist/cli/chunks/{chunk-XBTGEYED.js → chunk-HGG4HR7C.js} +2 -2
- package/dist/cli/chunks/{chunk-YD2C6EPN.js → chunk-HSCKWWO2.js} +2 -2
- package/dist/cli/chunks/{chunk-LOMT4UC2.js → chunk-HSQ3GUYJ.js} +2 -2
- package/dist/cli/chunks/{chunk-ZC3KDNJW.js → chunk-HZQBW5EM.js} +3 -3
- package/dist/cli/chunks/{chunk-SUAZ5Z47.js → chunk-IGIYANVT.js} +2 -2
- package/dist/cli/chunks/{chunk-IHQGNDMX.js → chunk-IPWMSXBF.js} +2 -2
- package/dist/cli/chunks/{chunk-6V6BD6PH.js → chunk-IWVNC7VY.js} +1 -1
- package/dist/cli/chunks/{chunk-M2YI5YUR.js → chunk-IZODXKZD.js} +2 -2
- package/dist/cli/chunks/{chunk-LG5PPJT7.js → chunk-J2MT2OJV.js} +1 -1
- package/dist/cli/chunks/{chunk-6LSZCEW2.js → chunk-JKIJVVSP.js} +1 -1
- package/dist/cli/chunks/{chunk-REY52O7J.js → chunk-JMRDT2XK.js} +1 -1
- package/dist/cli/chunks/{chunk-XEYFZLIT.js → chunk-JR2UMTKG.js} +1 -1
- package/dist/cli/chunks/{chunk-DJDVD6RM.js → chunk-K6CH4CFF.js} +2 -2
- package/dist/cli/chunks/{chunk-2PCEMDIX.js → chunk-K7KW5QB5.js} +78 -87
- package/dist/cli/chunks/{chunk-EPVPXHL7.js → chunk-KFCQP434.js} +2 -2
- package/dist/cli/chunks/{chunk-TWBZONKT.js → chunk-KH4T6STG.js} +2 -2
- package/dist/cli/chunks/{chunk-JI33PMPZ.js → chunk-KJBYZO57.js} +1 -1
- package/dist/cli/chunks/{chunk-PK34KJH7.js → chunk-KP4OKOKV.js} +2 -2
- package/dist/cli/chunks/chunk-L2MBKVSE.js +2 -0
- package/dist/cli/chunks/{chunk-JVWZAE2H.js → chunk-L3IPUIT3.js} +2 -2
- package/dist/cli/chunks/{chunk-KT2QCXO6.js → chunk-L7PSU2YN.js} +2 -2
- package/dist/cli/chunks/{chunk-HAQJFUAQ.js → chunk-LA3JPGQA.js} +2 -2
- package/dist/cli/chunks/{chunk-LV7UIK4Q.js → chunk-LC2QRN7V.js} +14 -13
- package/dist/cli/chunks/{chunk-KTORRIX3.js → chunk-LHY7TMTM.js} +2 -2
- package/dist/cli/chunks/{chunk-IJSROBM6.js → chunk-LLQ2UMF6.js} +3 -3
- package/dist/cli/chunks/{chunk-NKUHMA4T.js → chunk-LOJ7OO6W.js} +2 -2
- package/dist/cli/chunks/{chunk-OJIUIEI4.js → chunk-LPUSH3VF.js} +1 -1
- package/dist/cli/chunks/{chunk-WAOEQA3W.js → chunk-LSEC2BU7.js} +2 -2
- package/dist/cli/chunks/{chunk-YMUY3TES.js → chunk-LTGB7OIU.js} +2 -2
- package/dist/cli/chunks/{chunk-CVYPMGUM.js → chunk-LUG7YNVZ.js} +2 -2
- package/dist/cli/chunks/{chunk-YAJOBZE5.js → chunk-LWAFRYKE.js} +2 -2
- package/dist/cli/chunks/{chunk-ZP5AWQRO.js → chunk-M24ZAZ4U.js} +2 -2
- package/dist/cli/chunks/{chunk-HFZD5KLR.js → chunk-MKRKRXTX.js} +1 -1
- package/dist/cli/chunks/{chunk-4YM45Z5B.js → chunk-MNNLONAD.js} +1 -1
- package/dist/cli/chunks/{chunk-CMN7PU2H.js → chunk-MQM37KAR.js} +2 -2
- package/dist/cli/chunks/{chunk-COTQ44YO.js → chunk-MSX2OHYT.js} +2 -2
- package/dist/cli/chunks/{chunk-4UKTIQDT.js → chunk-MVYQRVLP.js} +2 -2
- package/dist/cli/chunks/{chunk-HRUHHHVR.js → chunk-MZC5WM2P.js} +2 -2
- package/dist/cli/chunks/{chunk-YKRLUTK7.js → chunk-MZRBNBB3.js} +2 -2
- package/dist/cli/chunks/{chunk-XEMCHGAJ.js → chunk-N3KQU4UC.js} +2 -2
- package/dist/cli/chunks/{chunk-DS5IFRY6.js → chunk-NKU3FFM4.js} +2 -2
- package/dist/cli/chunks/chunk-O5EWFR76.js +2 -0
- package/dist/cli/chunks/{chunk-J3QFJI2Y.js → chunk-O5RDHD5T.js} +2 -2
- package/dist/cli/chunks/chunk-O6UWIXME.js +3 -0
- package/dist/cli/chunks/{chunk-Q6F3DYZN.js → chunk-OA4EQDC4.js} +2 -2
- package/dist/cli/chunks/{chunk-NQFDJ6BT.js → chunk-OBCXCRXK.js} +1 -1
- package/dist/cli/chunks/{chunk-S3TBOKAZ.js → chunk-OHU5P25N.js} +4 -4
- package/dist/cli/chunks/{chunk-DNVRTJKB.js → chunk-OOSV2RIA.js} +2 -2
- package/dist/cli/chunks/{chunk-NZJVDOUN.js → chunk-OW23N2Y5.js} +2 -2
- package/dist/cli/chunks/{chunk-ZWUF27P4.js → chunk-OXOO3YDL.js} +2 -2
- package/dist/cli/chunks/{chunk-4L6WX5KC.js → chunk-OYGKSSSI.js} +1 -1
- package/dist/cli/chunks/{chunk-DCDSN67A.js → chunk-PGO46IIW.js} +1 -1
- package/dist/cli/chunks/{chunk-C7QLLMYI.js → chunk-PZOYQHWS.js} +1 -1
- package/dist/cli/chunks/{chunk-BKHEQIRZ.js → chunk-Q2BZSG7Z.js} +2 -2
- package/dist/cli/chunks/{chunk-5FSPELOG.js → chunk-Q7V722K5.js} +2 -2
- package/dist/cli/chunks/{chunk-2EQK7B5L.js → chunk-QZU6M5IO.js} +2 -2
- package/dist/cli/chunks/{chunk-HVT7RMGV.js → chunk-R55Y76SJ.js} +1 -1
- package/dist/cli/chunks/{chunk-POPSZDI2.js → chunk-RMEQYJPU.js} +4 -4
- package/dist/cli/chunks/{chunk-H2LHWZRE.js → chunk-RTYXFXTI.js} +2 -2
- package/dist/cli/chunks/{chunk-QN7HP2UW.js → chunk-SJF3O4FX.js} +236 -236
- package/dist/cli/chunks/{chunk-2YWYW7NU.js → chunk-SOUS7Z2H.js} +2 -2
- package/dist/cli/chunks/{chunk-U5SMBJ6F.js → chunk-SRVNR3R3.js} +2 -2
- package/dist/cli/chunks/{chunk-ZAQMRFBB.js → chunk-SU3SXMVG.js} +2 -2
- package/dist/cli/chunks/chunk-SWGPLXWW.js +32 -0
- package/dist/cli/chunks/{chunk-S3DT5TPR.js → chunk-TRB3EVH3.js} +2 -2
- package/dist/cli/chunks/{chunk-IJZFJPHS.js → chunk-TVBDUMKT.js} +2 -2
- package/dist/cli/chunks/{chunk-7SNSI4VY.js → chunk-TWTXPSFU.js} +1 -1
- package/dist/cli/chunks/{chunk-ORQ2YBRR.js → chunk-ULYUVUL2.js} +2 -2
- package/dist/cli/chunks/{chunk-MVVVGQJ6.js → chunk-UNTBVJ5X.js} +2 -2
- package/dist/cli/chunks/{chunk-5WATBVU6.js → chunk-UQAA4PHU.js} +2 -2
- package/dist/cli/chunks/{chunk-5WYZVSL2.js → chunk-UWSJVKTE.js} +1 -1
- package/dist/cli/chunks/{chunk-JHKKIJT2.js → chunk-V2LJ54KP.js} +2 -2
- package/dist/cli/chunks/{chunk-2UUZCQSD.js → chunk-VCCTTKP3.js} +2 -2
- package/dist/cli/chunks/{chunk-P4OB6WDJ.js → chunk-VEGUYUVS.js} +1 -1
- package/dist/cli/chunks/{chunk-WX4PO65Q.js → chunk-VUQPVWNK.js} +2 -2
- package/dist/cli/chunks/{chunk-IQL6XRF5.js → chunk-VVGUE2T2.js} +2 -2
- package/dist/cli/chunks/{chunk-HZ5O7G2P.js → chunk-W5ASDHJQ.js} +1 -1
- package/dist/cli/chunks/{chunk-U4S74IIZ.js → chunk-WGXT5NWQ.js} +1 -1
- package/dist/cli/chunks/chunk-WJN3V7QB.js +7 -0
- package/dist/cli/chunks/chunk-WPCRQIIF.js +29 -0
- package/dist/cli/chunks/{chunk-AGCS5GSO.js → chunk-WQNLXUWA.js} +6 -6
- package/dist/cli/chunks/{chunk-LRY6UIRI.js → chunk-WZVRMKG2.js} +2 -2
- package/dist/cli/chunks/{chunk-KPIPVSIP.js → chunk-X27IUWTD.js} +2 -2
- package/dist/cli/chunks/{chunk-VDEKVIP5.js → chunk-X4B345B6.js} +2 -2
- package/dist/cli/chunks/{chunk-ERYADKMZ.js → chunk-X5I2Y4VO.js} +2 -2
- package/dist/cli/chunks/{chunk-EUWG2JG4.js → chunk-X7IQIFTS.js} +2 -2
- package/dist/cli/chunks/chunk-XJN3RKUD.js +3 -0
- package/dist/cli/chunks/{chunk-JRIJM4LE.js → chunk-XQMGXTHJ.js} +3 -3
- package/dist/cli/chunks/{chunk-VYPVU3JF.js → chunk-XTSAMB2Q.js} +2 -2
- package/dist/cli/chunks/{chunk-4NKZU2JZ.js → chunk-XZLIF4O2.js} +2 -2
- package/dist/cli/chunks/{chunk-XFTX3KLE.js → chunk-Y4LSEOZ3.js} +1 -1
- package/dist/cli/chunks/{chunk-ZVMSSCTH.js → chunk-Y4YN2RXR.js} +2 -2
- package/dist/cli/chunks/{chunk-X5QD76IU.js → chunk-YDI56L35.js} +2 -2
- package/dist/cli/chunks/{chunk-LRKLATSH.js → chunk-YFILS5D5.js} +2 -2
- package/dist/cli/chunks/{chunk-AVHYJ3XP.js → chunk-YISDX6WB.js} +2 -2
- package/dist/cli/chunks/{chunk-GPPTRKEM.js → chunk-YP2GHQSV.js} +2 -2
- package/dist/cli/chunks/{chunk-OO2M2QUV.js → chunk-YSX756AM.js} +4 -4
- package/dist/cli/chunks/{chunk-E7XIMOKW.js → chunk-YWANOASW.js} +2 -2
- package/dist/cli/chunks/{chunk-UHJVZEQA.js → chunk-YYIJLG7S.js} +2 -2
- package/dist/cli/chunks/{chunk-LCWEQRZI.js → chunk-Z7SD7LXM.js} +2 -2
- package/dist/cli/chunks/{chunk-TM75GAXG.js → chunk-ZDWD73UF.js} +2 -2
- package/dist/cli/chunks/{chunk-IRHXGCQR.js → chunk-ZFT3RLA4.js} +2 -2
- package/dist/cli/chunks/{chunk-ZGV7L4MW.js → chunk-ZNTHX5G3.js} +1 -1
- package/dist/cli/chunks/{chunk-D75GLKEL.js → chunk-ZS27R7VL.js} +2 -2
- package/dist/cli/chunks/{chunk-INI3Q4CN.js → chunk-ZXHHHR7K.js} +1 -1
- package/dist/cli/chunks/{ci-3RTTTS2D.js → ci-N5MOMNXH.js} +2 -2
- package/dist/cli/chunks/{ci-config-XRUR3I4K.js → ci-config-6L2ROQCW.js} +2 -2
- package/dist/cli/chunks/{ci-output-E5IAMU2U.js → ci-output-DSRBYEIK.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-SHR2P44P.js → circuit-breaker-VRPTNBL7.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-ZDDILFMF.js → claude-flow-setup-4YFG3FU5.js} +2 -2
- package/dist/cli/chunks/client-I3L6BKRQ.js +2 -0
- package/dist/cli/chunks/{cline-installer-BGYVUM6G.js → cline-installer-7RGYJWGN.js} +2 -2
- package/dist/cli/chunks/{code-PJ4MC3MC.js → code-ISC6NW2K.js} +3 -3
- package/dist/cli/chunks/{code-index-extractor-IW2P22YG.js → code-index-extractor-2FID75YV.js} +2 -2
- package/dist/cli/chunks/{codex-installer-A7WZ6OGL.js → codex-installer-DZ7OG6KM.js} +2 -2
- package/dist/cli/chunks/{completions-KS23WD5J.js → completions-SM3LICWK.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-Q7GLSR2E.js → complexity-analyzer-ZWD2CTAD.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-SK55BFW2.js → continuedev-installer-AGASOA26.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-3N5J3WTM.js → copilot-installer-CLPZYTQC.js} +2 -2
- package/dist/cli/chunks/core-handlers-5EFOJ37H.js +2 -0
- package/dist/cli/chunks/{cost-tracker-NENVSO4A.js → cost-tracker-7PIGQYDV.js} +2 -2
- package/dist/cli/chunks/{coverage-5L7UQWDH.js → coverage-T2GEBTYS.js} +9 -9
- package/dist/cli/chunks/cross-domain-router-65WJAKVD.js +2 -0
- package/dist/cli/chunks/{cursor-installer-XXBO2ZE6.js → cursor-installer-KXBID4MB.js} +2 -2
- package/dist/cli/chunks/daemon-43MXIVH3.js +18 -0
- package/dist/cli/chunks/{daemon-CDCQU3LR.js → daemon-VAMJLQJ5.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-HOMMF7FA.js → dag-attention-scheduler-UBP4VHTA.js} +2 -2
- package/dist/cli/chunks/{detect-FXCOUG6X.js → detect-QWFIQRKI.js} +2 -2
- package/dist/cli/chunks/{dist-node-GXQ7FMTY.js → dist-node-I2GICS3W.js} +2 -2
- package/dist/cli/chunks/{domain-handler-TI3JBAPC.js → domain-handler-Z66ISB2A.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-R7LTUM32.js → domain-plugins-KHMD3FKT.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-LBIAFHIQ.js → domain-transfer-JWGNNA6K.js} +2 -2
- package/dist/cli/chunks/dream-VQ2PZCVR.js +2 -0
- package/dist/cli/chunks/embed-and-insert-pattern-F5P5B6JX.js +3 -0
- package/dist/cli/chunks/{embedding-space-HHLWTBF5.js → embedding-space-KHG6TITM.js} +2 -2
- package/dist/cli/chunks/{eval-KDOZMAXJ.js → eval-43OHU7EI.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-X45PECQN.js → experience-capture-middleware-KXD47H6P.js} +3 -3
- package/dist/cli/chunks/{fast-paths-462V6UUB.js → fast-paths-6D75D5KD.js} +2 -2
- package/dist/cli/chunks/{feature-flags-NIRQ4YDM.js → feature-flags-IE35Y55N.js} +2 -2
- package/dist/cli/chunks/{feature-flags-G66OT3AS.js → feature-flags-OYYHY7LS.js} +2 -2
- package/dist/cli/chunks/file-discovery-LGBTY3ID.js +2 -0
- package/dist/cli/chunks/{fleet-PXWGB7CU.js → fleet-AGVJMFGD.js} +16 -16
- package/dist/cli/chunks/{gnn-wrapper-7MUW3M5M.js → gnn-wrapper-5L66A7LW.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-5237PB35.js → heartbeat-handler-2BY6YYOT.js} +5 -5
- package/dist/cli/chunks/heartbeat-scheduler-3DU3M5AT.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-N2IMSRPV.js +2 -0
- package/dist/cli/chunks/hnsw-index-DVU7TTJE.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-OSQPW7JP.js → hnsw-legacy-bridge-RYMWFNAH.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-GX6WG2GB.js → hnswlib-node-GG47HP2P.js} +2 -2
- package/dist/cli/chunks/{hooks-GUWHL7VC.js → hooks-FQNACS24.js} +10 -10
- package/dist/cli/chunks/hybrid-backend-AS2PNHOD.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-SRWLLCU3.js → hypergraph-engine-6BYNJQEP.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-AVOPRHHO.js → hypergraph-handler-CYTAXZKJ.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-Y4OONLFP.js +2 -0
- package/dist/cli/chunks/{init-guard-P4N6EVZS.js → init-guard-METTAV5O.js} +2 -2
- package/dist/cli/chunks/{init-handler-LRGWOJMD.js → init-handler-GFT74U5Y.js} +6 -6
- package/dist/cli/chunks/init-wizard-HLNUBJQN.js +2 -0
- package/dist/cli/chunks/kernel-XKFWCL7Y.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-7R2EPOQ6.js → kilocode-installer-GZV2D3FF.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-QNM7DPOB.js → kiro-installer-Q4ZXUFC7.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-CNL77CSZ.js +2 -0
- package/dist/cli/chunks/{learning-7OIZBPXZ.js → learning-WA2QEYL7.js} +35 -34
- package/dist/cli/chunks/{llm-router-SIDXES23.js → llm-router-GRTCHWH7.js} +4 -4
- package/dist/cli/chunks/llm-router-service-UIYTYKP6.js +2 -0
- package/dist/cli/chunks/{load-EI2E2C3S.js → load-WXN3Q7Y5.js} +2 -2
- package/dist/cli/chunks/load-test-PXLW4A5B.js +2 -0
- package/dist/cli/chunks/{mcp-IOE5WOCS.js → mcp-LIQCPSJN.js} +2 -2
- package/dist/cli/chunks/{memory-DLYGJAP7.js → memory-OP6CHRFH.js} +5 -5
- package/dist/cli/chunks/memory-backend-XYOSO73Q.js +2 -0
- package/dist/cli/chunks/memory-handlers-PQFYVNVG.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-WHH4YCHM.js → multi-model-executor-H54DEVRZ.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-63FDZAMS.js → opencode-installer-BSQV6UAT.js} +2 -2
- package/dist/cli/chunks/{orchestrator-3LA776KK.js → orchestrator-TJDPQ4VL.js} +122 -35
- package/dist/cli/chunks/pattern-null-store-BKGTQFNF.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-NW54QUGI.js → pattern-usage-recorder-FOVS4M5L.js} +2 -2
- package/dist/cli/chunks/{pipeline-P3TYX6J6.js → pipeline-4AY2ZIC6.js} +2 -2
- package/dist/cli/chunks/{platform-FNA2WLI6.js → platform-FCSITYMR.js} +2 -2
- package/dist/cli/chunks/{plugin-NJS7BC2S.js → plugin-E56TV5S2.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-NIAVL2OT.js → prime-radiant-advanced-wasm-ACOPC533.js} +2 -2
- package/dist/cli/chunks/project-root-MPX7CN2C.js +2 -0
- package/dist/cli/chunks/protocol-executor-CRQOCC4A.js +2 -0
- package/dist/cli/chunks/{protocol-handler-JU5C4JHY.js → protocol-handler-KRVXF4LS.js} +2 -2
- package/dist/cli/chunks/{prove-35VOSLYP.js → prove-KMFPSKGD.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-UEGQ3O7F.js +2 -0
- package/dist/cli/chunks/{quality-ET74X7HN.js → quality-6DBI3HLB.js} +2 -2
- package/dist/cli/chunks/{quality-gate-FEDQISNB.js → quality-gate-3ROZMEIL.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-32574XSG.js +2 -0
- package/dist/cli/chunks/real-embeddings-MIGZNKK3.js +2 -0
- package/dist/cli/chunks/{ref-validation-DTBPYCEB.js → ref-validation-EYIP7DHW.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-LYQEMR4J.js → roocode-installer-IGGZHR2Y.js} +2 -2
- package/dist/cli/chunks/router-CZJY5WX6.js +2 -0
- package/dist/cli/chunks/routing-feedback-RC3UBNFX.js +2 -0
- package/dist/cli/chunks/{routing-handler-DJOJFPII.js → routing-handler-BWNHBYDC.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-VXYGJDPW.js → ruvector-commands-PXIHF432.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-OG7OV2AK.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-THYMW7ZO.js +2 -0
- package/dist/cli/chunks/rvf-migration-coordinator-3H6CLFU7.js +2 -0
- package/dist/cli/chunks/rvf-native-adapter-6JQJIKKW.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-GA2ZYOEG.js → rvf-store-integrity-CVB3NMSL.js} +2 -2
- package/dist/cli/chunks/safe-db-QFKCVTIJ.js +2 -0
- package/dist/cli/chunks/schedule-6JLVMMYB.js +2 -0
- package/dist/cli/chunks/scheduler-3MPZRMJD.js +2 -0
- package/dist/cli/chunks/{security-MM6YOECX.js → security-DCRGOTWU.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-6AHPA3V5.js → shared-rvf-adapter-GKD74QUB.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-EYAVY2GZ.js → shared-rvf-dual-writer-HVAAVEOH.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-LGTIKAEX.js +2 -0
- package/dist/cli/chunks/{standalone-memory-A3PLB4CZ.js → standalone-memory-O7O2U5N4.js} +2 -2
- package/dist/cli/chunks/{status-handler-OSSFAP4Z.js → status-handler-BQTPJJTL.js} +2 -2
- package/dist/cli/chunks/{structural-health-PGY5XUNO.js → structural-health-4H6J4OHK.js} +2 -2
- package/dist/cli/chunks/sync-DJ4TF6QX.js +2 -0
- package/dist/cli/chunks/{sync-CWEHYGNN.js → sync-WW5TAVYW.js} +2 -2
- package/dist/cli/chunks/{task-handler-LHMQ75W4.js → task-handler-HEM4IEOW.js} +2 -2
- package/dist/cli/chunks/{task-handlers-S2TX5FTR.js → task-handlers-JRA3NXIR.js} +3 -3
- package/dist/cli/chunks/{test-4EGZZ6NJ.js → test-772ZXVG2.js} +4 -4
- package/dist/cli/chunks/test-runner-process-XGF2U3NG.js +2 -0
- package/dist/cli/chunks/{test-scheduling-YJQHH3XE.js → test-scheduling-4TRB7LZ7.js} +3 -3
- package/dist/cli/chunks/token-bootstrap-CICBIJ7T.js +2 -0
- package/dist/cli/chunks/{token-usage-WPNOJR6H.js → token-usage-B7PEKE2G.js} +2 -2
- package/dist/cli/chunks/{transformers-4MRPXCPU.js → transformers-V7X7BDZX.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-OXPFKFZS.js +2 -0
- package/dist/cli/chunks/{types-6P5FB4EB.js → types-AHHTUY3I.js} +2 -2
- package/dist/cli/chunks/unified-memory-GUR3IUI6.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-NJP2F2RY.js +2 -0
- package/dist/cli/chunks/unified-persistence-NILBWXDP.js +2 -0
- package/dist/cli/chunks/{upgrade-4ICTN63Y.js → upgrade-DZ4DLUQ5.js} +2 -2
- package/dist/cli/chunks/{validate-HQF5GZ7L.js → validate-4DTLIDJE.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-45JYG7VW.js → validate-swarm-A26UFVIS.js} +2 -2
- package/dist/cli/chunks/visual-security-YECYZ27X.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-UOTWZLNH.js → web-tree-sitter-F2C7QRYT.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-WDWSBXGN.js → windsurf-installer-OOBTDA6W.js} +2 -2
- package/dist/cli/chunks/{witness-chain-DOYMNPC7.js → witness-chain-KGFZJP32.js} +2 -2
- package/dist/cli/chunks/witness-chain-LYBXFLJB.js +2 -0
- package/dist/cli/chunks/witness-chain-repair-CNTXOGPN.js +2 -0
- package/dist/cli/chunks/{witness-chain-verifier-JB42X62J.js → witness-chain-verifier-OB7ZZOI3.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-LXXO6L2G.js → witness-key-manager-YCKGKGQI.js} +2 -2
- package/dist/cli/chunks/{workflow-6ARK47NF.js → workflow-PRERHWKY.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-UIBGWCU3.js +2 -0
- package/dist/cli/chunks/wrappers-L4UY4V63.js +2 -0
- package/dist/cli/commands/coverage.js +4 -1
- package/dist/cli/commands/learning-prune.js +9 -1
- package/dist/cli/handlers/brain-handler.js +32 -2
- package/dist/cli/handlers/heartbeat-handler.js +3 -1
- package/dist/cli/utils/coverage-data.js +5 -1
- package/dist/cli/utils/coverage-verdict.d.ts +10 -2
- package/dist/cli/utils/coverage-verdict.js +23 -8
- package/dist/cli/utils/fleet-operation.js +9 -3
- package/dist/coordination/handlers/code-intelligence-handlers.js +17 -3
- package/dist/coordination/handlers/coverage-handlers.js +22 -9
- package/dist/coordination/handlers/coverage-target.d.ts +22 -2
- package/dist/coordination/handlers/coverage-target.js +45 -9
- package/dist/coordination/handlers/handler-utils.d.ts +19 -0
- package/dist/coordination/handlers/handler-utils.js +22 -8
- package/dist/coordination/protocols/code-intelligence-index.js +6 -3
- package/dist/coordination/protocols/learning-consolidation-archive.d.ts +6 -3
- package/dist/coordination/protocols/learning-consolidation-archive.js +4 -3
- package/dist/coordination/workflow-builtin.js +1 -0
- package/dist/domains/defect-intelligence/interfaces.d.ts +2 -0
- package/dist/domains/defect-intelligence/prediction-history.d.ts +15 -1
- package/dist/domains/defect-intelligence/prediction-history.js +63 -7
- package/dist/domains/defect-intelligence/services/defect-predictor.d.ts +1 -0
- package/dist/domains/defect-intelligence/services/defect-predictor.js +33 -13
- package/dist/domains/learning-optimization/coordinator.js +17 -10
- package/dist/domains/learning-optimization/domain-ranking.d.ts +26 -0
- package/dist/domains/learning-optimization/domain-ranking.js +28 -0
- package/dist/domains/learning-optimization/interfaces.d.ts +5 -0
- package/dist/domains/learning-optimization/pattern-archive.d.ts +55 -8
- package/dist/domains/learning-optimization/pattern-archive.js +90 -17
- package/dist/domains/learning-optimization/pattern-consolidation.js +18 -2
- package/dist/domains/learning-optimization/pattern-merge.d.ts +26 -0
- package/dist/domains/learning-optimization/pattern-merge.js +127 -0
- package/dist/domains/learning-optimization/services/learning-coordinator.js +21 -35
- package/dist/domains/test-execution/services/test-executor.js +6 -2
- package/dist/init/init-wizard-steps.js +3 -1
- package/dist/init/phases/07-hooks.js +97 -10
- package/dist/integrations/embeddings/cache/EmbeddingCache.js +1 -1
- package/dist/integrations/ruvector/brain-rvf-exporter.d.ts +16 -1
- package/dist/integrations/ruvector/brain-rvf-exporter.js +18 -32
- package/dist/integrations/ruvector/brain-rvf-richness.d.ts +75 -0
- package/dist/integrations/ruvector/brain-rvf-richness.js +127 -0
- package/dist/kernel/unified-memory-migration.js +1 -1
- package/dist/learning/checkpoint-shrink-ack.d.ts +25 -0
- package/dist/learning/checkpoint-shrink-ack.js +57 -0
- package/dist/learning/dream/dream-engine.d.ts +44 -3
- package/dist/learning/dream/dream-engine.js +6 -2
- package/dist/learning/embedder-identity-store.js +3 -1
- package/dist/learning/embedding-space-legacy-adoption.d.ts +53 -0
- package/dist/learning/embedding-space-legacy-adoption.js +115 -0
- package/dist/learning/embedding-space-registry.d.ts +15 -0
- package/dist/learning/embedding-space-registry.js +50 -11
- package/dist/learning/experience-capture.d.ts +3 -1
- package/dist/learning/experience-capture.js +15 -5
- package/dist/learning/experience-space-verification.d.ts +2 -0
- package/dist/learning/experience-space-verification.js +3 -2
- package/dist/learning/learning-retention.js +4 -0
- package/dist/learning/pattern-promotion.d.ts +7 -0
- package/dist/learning/pattern-promotion.js +64 -12
- package/dist/learning/real-embeddings.js +31 -7
- package/dist/learning/rvf-pattern-store.js +6 -1
- package/dist/mcp/bundle.js +570 -558
- package/dist/mcp/handlers/domain-handler-configs.d.ts +3 -0
- package/dist/mcp/handlers/domain-handler-configs.js +1 -0
- package/dist/mcp/handlers/heartbeat-handlers.d.ts +4 -2
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +6 -1
- package/dist/mcp/tools/learning-optimization/optimize.js +20 -11
- package/dist/planning/goap-planner.js +4 -0
- package/dist/planning/plan-executor.js +6 -2
- package/dist/shared/git/git-analyzer.d.ts +30 -11
- package/dist/shared/git/git-analyzer.js +95 -48
- package/dist/shared/io/confined-read.d.ts +32 -7
- package/dist/shared/io/confined-read.js +58 -25
- package/dist/shared/io/file-reader.js +4 -1
- package/dist/shared/safe-db.d.ts +1 -1
- package/dist/shared/safe-db.js +20 -5
- package/dist/shared/sqlite-journal-mode.d.ts +39 -0
- package/dist/shared/sqlite-journal-mode.js +53 -0
- package/dist/sync/claude-flow-bridge.js +1 -1
- package/dist/sync/readers/sqlite-reader.js +3 -4
- package/dist/sync/writers/sqlite-writer.js +1 -1
- package/dist/workers/interfaces.d.ts +2 -2
- package/dist/workers/quality-daemon/git-watcher.d.ts +8 -0
- package/dist/workers/quality-daemon/git-watcher.js +54 -12
- package/dist/workers/quality-daemon/index.js +1 -1
- package/dist/workers/quality-daemon/priority-queue.d.ts +2 -1
- package/dist/workers/workers/defect-predictor.d.ts +9 -4
- package/dist/workers/workers/defect-predictor.js +98 -37
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-OMILP6KH.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-OXH5CCOS.js +0 -2
- package/dist/cli/chunks/base-MAK2BLTG.js +0 -2
- package/dist/cli/chunks/brain-handler-GCQZFZGQ.js +0 -95
- package/dist/cli/chunks/browser-workflow-IR3VF2TL.js +0 -2
- package/dist/cli/chunks/chunk-4EJLHNER.js +0 -12
- package/dist/cli/chunks/chunk-A4BVDYIL.js +0 -2
- package/dist/cli/chunks/chunk-BE7ZHM34.js +0 -3
- package/dist/cli/chunks/chunk-DHKSPOUQ.js +0 -16
- package/dist/cli/chunks/chunk-FAQ24UHB.js +0 -29
- package/dist/cli/chunks/chunk-IOWEBPXJ.js +0 -5
- package/dist/cli/chunks/chunk-KB34MTFZ.js +0 -3
- package/dist/cli/chunks/chunk-MCXW3DKE.js +0 -8
- package/dist/cli/chunks/chunk-O7VJ3VKD.js +0 -2
- package/dist/cli/chunks/chunk-PIWGKGWP.js +0 -3
- package/dist/cli/chunks/chunk-SFITYZLV.js +0 -7
- package/dist/cli/chunks/chunk-TIVKDIF7.js +0 -2
- package/dist/cli/chunks/client-NO5FOWT4.js +0 -2
- package/dist/cli/chunks/core-handlers-JNAZPXE2.js +0 -2
- package/dist/cli/chunks/cross-domain-router-HEBM767Z.js +0 -2
- package/dist/cli/chunks/daemon-JEBJGEUK.js +0 -18
- package/dist/cli/chunks/dream-GQDCEJMS.js +0 -2
- package/dist/cli/chunks/embed-and-insert-pattern-33KLHDD5.js +0 -3
- package/dist/cli/chunks/file-discovery-33USPLB5.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-LIXLC5IH.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-62D5UH27.js +0 -2
- package/dist/cli/chunks/hnsw-index-GSGUMQQC.js +0 -2
- package/dist/cli/chunks/hybrid-backend-FRWP4BOY.js +0 -2
- package/dist/cli/chunks/impact-analyzer-7KF3AQXV.js +0 -2
- package/dist/cli/chunks/init-wizard-XWWAXY25.js +0 -2
- package/dist/cli/chunks/kernel-ZEJPNDBW.js +0 -2
- package/dist/cli/chunks/knowledge-graph-RRZQS7KY.js +0 -2
- package/dist/cli/chunks/llm-router-service-3OSW67LC.js +0 -2
- package/dist/cli/chunks/load-test-7TRIH2WJ.js +0 -2
- package/dist/cli/chunks/memory-backend-G7ZW6Q2B.js +0 -2
- package/dist/cli/chunks/memory-handlers-TPF3KCO5.js +0 -2
- package/dist/cli/chunks/pattern-null-store-OU3ZC3NR.js +0 -2
- package/dist/cli/chunks/project-root-GMOFJEKD.js +0 -2
- package/dist/cli/chunks/protocol-executor-AD345XRO.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-NLTP26RC.js +0 -2
- package/dist/cli/chunks/queen-coordinator-2TB4FWS6.js +0 -2
- package/dist/cli/chunks/real-embeddings-II6CXTCI.js +0 -2
- package/dist/cli/chunks/router-PLM3MWME.js +0 -2
- package/dist/cli/chunks/routing-feedback-I7VOX2HU.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-GQZHFWO2.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-3TVKBCAM.js +0 -2
- package/dist/cli/chunks/rvf-migration-coordinator-XUHKLMT6.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-5GUTYOWS.js +0 -2
- package/dist/cli/chunks/safe-db-RZPQGLGQ.js +0 -2
- package/dist/cli/chunks/schedule-G7JMQDUX.js +0 -2
- package/dist/cli/chunks/scheduler-4SEGPCKD.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-IVE4SQXR.js +0 -2
- package/dist/cli/chunks/sync-PM6D7EQF.js +0 -2
- package/dist/cli/chunks/test-runner-process-72YACW6M.js +0 -2
- package/dist/cli/chunks/token-bootstrap-DJNETMVW.js +0 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-UVWSDXFR.js +0 -2
- package/dist/cli/chunks/unified-memory-2VMGSGQL.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-3KULVD3N.js +0 -2
- package/dist/cli/chunks/unified-persistence-QCSLU2SV.js +0 -2
- package/dist/cli/chunks/visual-security-ZYP2KPH7.js +0 -2
- package/dist/cli/chunks/witness-chain-5QRT7EMX.js +0 -2
- package/dist/cli/chunks/witness-chain-repair-CUF2AFQB.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-RYDDWIXN.js +0 -2
- package/dist/cli/chunks/wrappers-CYQBOMPL.js +0 -2
|
@@ -4,7 +4,7 @@ description: "Use when orchestrating QE agents, understanding PACTS principles,
|
|
|
4
4
|
category: qe-core
|
|
5
5
|
priority: critical
|
|
6
6
|
tokenEstimate: 1400
|
|
7
|
-
agents: [qe-test-
|
|
7
|
+
agents: [qe-test-architect, qe-parallel-executor, qe-coverage-specialist, qe-quality-gate, qe-performance-tester, qe-security-scanner, qe-requirements-validator, qe-fleet-commander, qe-deployment-advisor, qe-regression-analyzer, qe-contract-validator, qe-flaky-hunter, qe-visual-tester, qe-chaos-engineer, qe-code-complexity, qe-qx-partner, qe-devils-advocate]
|
|
8
8
|
implementation_status: optimized
|
|
9
9
|
optimization_version: 1.0
|
|
10
10
|
last_optimized: 2025-12-02
|
|
@@ -27,8 +27,8 @@ When implementing agentic QE or coordinating agents:
|
|
|
27
27
|
5. LEARN from outcomes - store patterns in `aqe/learning/*` namespace
|
|
28
28
|
|
|
29
29
|
**Quick Agent Selection:**
|
|
30
|
-
- Test generation needed → `qe-test-
|
|
31
|
-
- Coverage gaps → `qe-coverage-
|
|
30
|
+
- Test generation needed → `qe-test-architect`
|
|
31
|
+
- Coverage gaps → `qe-coverage-specialist`
|
|
32
32
|
- Quality decision → `qe-quality-gate`
|
|
33
33
|
- Security scan → `qe-security-scanner`
|
|
34
34
|
- Performance test → `qe-performance-tester`
|
|
@@ -37,7 +37,8 @@ When implementing agentic QE or coordinating agents:
|
|
|
37
37
|
**Critical Success Factors:**
|
|
38
38
|
- Agents amplify human expertise, not replace it
|
|
39
39
|
- Human-in-the-loop for critical decisions
|
|
40
|
-
- Measure: bugs caught, time saved, coverage improved
|
|
40
|
+
- Measure: bugs caught, time saved, coverage improved, and how often agent claims survive verification
|
|
41
|
+
- Done means committed, tested, and CI-validated with evidence attached, not "reported as complete"
|
|
41
42
|
</default_to_action>
|
|
42
43
|
|
|
43
44
|
## Quick Reference Card
|
|
@@ -57,16 +58,19 @@ When implementing agentic QE or coordinating agents:
|
|
|
57
58
|
| **T**argeted | Risk-based prioritization | Define risk areas |
|
|
58
59
|
| **S**tructured | Governance, observability, explainable decisions (measure confidence, not trust) | Audit behavior, set policy |
|
|
59
60
|
|
|
60
|
-
###
|
|
61
|
+
### Core Agents
|
|
62
|
+
The full fleet lives in `.claude/agents/v3/qe-*.md`; these are the agents most core jobs start with.
|
|
63
|
+
|
|
61
64
|
| Category | Agents | Primary Use |
|
|
62
65
|
|----------|--------|-------------|
|
|
63
|
-
| Core Testing
|
|
64
|
-
| Performance/Security
|
|
65
|
-
| Strategic
|
|
66
|
-
| Advanced
|
|
67
|
-
| Visual/Chaos
|
|
68
|
-
| Deployment
|
|
69
|
-
| Analysis
|
|
66
|
+
| Core Testing | qe-test-architect, qe-parallel-executor, qe-coverage-specialist, qe-quality-gate | Daily testing |
|
|
67
|
+
| Performance/Security | qe-performance-tester, qe-security-scanner | Non-functional |
|
|
68
|
+
| Strategic | qe-requirements-validator, qe-fleet-commander | Planning, orchestration |
|
|
69
|
+
| Advanced | qe-regression-analyzer, qe-contract-validator, qe-flaky-hunter | Specialized |
|
|
70
|
+
| Visual/Chaos | qe-visual-tester, qe-chaos-engineer | Edge cases |
|
|
71
|
+
| Deployment | qe-deployment-advisor | Release |
|
|
72
|
+
| Analysis | qe-code-complexity | Maintainability |
|
|
73
|
+
| Verification | qe-devils-advocate | Challenge other agents' claims |
|
|
70
74
|
|
|
71
75
|
### Coordination Patterns
|
|
72
76
|
```
|
|
@@ -76,11 +80,12 @@ Sequential: risk-analyzer → test-gen → executor → coverage → gate
|
|
|
76
80
|
```
|
|
77
81
|
|
|
78
82
|
### Success Criteria
|
|
79
|
-
✅
|
|
83
|
+
✅ Deployment frequency rises without escaped defects rising (measured against your own baseline)
|
|
80
84
|
✅ Coverage gaps detected in real-time
|
|
81
85
|
✅ Bugs caught pre-production
|
|
86
|
+
✅ Agent claims checked against evidence before anyone relies on them
|
|
82
87
|
❌ Agents acting without human oversight on critical decisions
|
|
83
|
-
❌ Deploying
|
|
88
|
+
❌ Deploying the whole fleet at once (start with 1-2)
|
|
84
89
|
|
|
85
90
|
---
|
|
86
91
|
|
|
@@ -91,16 +96,18 @@ Sequential: risk-analyzer → test-gen → executor → coverage → gate
|
|
|
91
96
|
|-------|----------|------------|
|
|
92
97
|
| Traditional | Manual everything | Human bottleneck |
|
|
93
98
|
| Automation | Scripts + fixed scenarios | Needs orchestration |
|
|
94
|
-
| **Agentic** | AI agents + human judgment | Requires
|
|
99
|
+
| **Agentic** | AI agents + human judgment | Requires confidence-building: evidence that agent output holds up |
|
|
100
|
+
|
|
101
|
+
**Core Premise:** Agents amplify human expertise. How much they amplify it is something to measure in your context, not to assume.
|
|
95
102
|
|
|
96
|
-
**
|
|
103
|
+
**Confidence, not trust:** trust is a feeling; confidence can be explained. For every agent output, ask what the evidence is, how it was checked, and what confidence the agent stated.
|
|
97
104
|
|
|
98
105
|
### Key Capabilities
|
|
99
106
|
|
|
100
107
|
**1. Intelligent Test Generation**
|
|
101
108
|
```typescript
|
|
102
109
|
// Agent analyzes code change, generates targeted tests
|
|
103
|
-
const tests = await
|
|
110
|
+
const tests = await Task("Generate tests", prDiff, "qe-test-architect");
|
|
104
111
|
// → Happy path, edge cases, error handling tests
|
|
105
112
|
```
|
|
106
113
|
|
|
@@ -110,6 +117,20 @@ const tests = await qeTestGenerator.generate(prDiff);
|
|
|
110
117
|
|
|
111
118
|
**4. Root Cause Analysis** - Link failures to code changes, suggest fixes
|
|
112
119
|
|
|
120
|
+
### Completion Theater (the central failure mode)
|
|
121
|
+
|
|
122
|
+
Agents optimize for appearing done rather than being done, and it gets harder to spot as their output gets more plausible. Patterns to check for:
|
|
123
|
+
|
|
124
|
+
- Work reported complete that was never committed
|
|
125
|
+
- Tests that assert a status code without checking the payload, or check that variables exist instead of behavior
|
|
126
|
+
- Coverage inflated by tests that touch code without exercising it
|
|
127
|
+
- Validation that checks counts or thresholds instead of behavior
|
|
128
|
+
- Report volume standing in for working software
|
|
129
|
+
- Stubs accepted as implementations
|
|
130
|
+
- Agent claims that the visible evidence contradicts
|
|
131
|
+
|
|
132
|
+
An honest, low-confidence answer is safer than a confident fabricated one; a false-safe label on a real security issue is the worst outcome. Defenses: adversarial review (`brutal-honesty-review`, `sherlock-review`, `qe-court`, `qe-devils-advocate`), invariants such as "no success claim without proof", and agents that disclose skipped steps, timeouts, and low confidence.
|
|
133
|
+
|
|
113
134
|
---
|
|
114
135
|
|
|
115
136
|
## Agent Coordination
|
|
@@ -188,21 +209,21 @@ aqe memory store \
|
|
|
188
209
|
| Event | Trigger | Subscribers |
|
|
189
210
|
|-------|---------|-------------|
|
|
190
211
|
| `test:generated` | New tests created | executor, coverage |
|
|
191
|
-
| `coverage:gap` | Gap detected | test-
|
|
212
|
+
| `coverage:gap` | Gap detected | test-architect |
|
|
192
213
|
| `quality:decision` | Gate evaluated | fleet-commander |
|
|
193
214
|
| `security:finding` | Vulnerability found | quality-gate |
|
|
194
215
|
|
|
195
216
|
### Example: PR Quality Pipeline
|
|
196
217
|
```typescript
|
|
197
218
|
// 1. Risk analysis
|
|
198
|
-
const risks = await Task("Analyze PR", prDiff, "qe-regression-
|
|
219
|
+
const risks = await Task("Analyze PR", prDiff, "qe-regression-analyzer");
|
|
199
220
|
|
|
200
221
|
// 2. Generate tests for risks
|
|
201
|
-
const tests = await Task("Generate tests", risks, "qe-test-
|
|
222
|
+
const tests = await Task("Generate tests", risks, "qe-test-architect");
|
|
202
223
|
|
|
203
224
|
// 3. Execute + analyze
|
|
204
|
-
const results = await Task("Run tests", tests, "qe-
|
|
205
|
-
const coverage = await Task("Check coverage", results, "qe-coverage-
|
|
225
|
+
const results = await Task("Run tests", tests, "qe-parallel-executor");
|
|
226
|
+
const coverage = await Task("Check coverage", results, "qe-coverage-specialist");
|
|
206
227
|
|
|
207
228
|
// 4. Quality decision
|
|
208
229
|
const decision = await Task("Evaluate", {results, coverage}, "qe-quality-gate");
|
|
@@ -213,24 +234,26 @@ const decision = await Task("Evaluate", {results, coverage}, "qe-quality-gate");
|
|
|
213
234
|
|
|
214
235
|
## Implementation Phases
|
|
215
236
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
|
219
|
-
|
|
220
|
-
|
|
|
237
|
+
Advance on evidence, not on the calendar. Typical pacing is weeks per phase, but it depends on how fast confidence is earned in your context.
|
|
238
|
+
|
|
239
|
+
| Phase | Move on when | Goal | Agent(s) |
|
|
240
|
+
|-------|--------------|------|----------|
|
|
241
|
+
| Experiment | The agent's output survives review on real PRs | Validate one use case | 1 agent |
|
|
242
|
+
| Integrate | CI results are stable and findings hold up | CI/CD pipeline | 3-4 agents |
|
|
243
|
+
| Scale | Each new use case shows measured value | Multiple use cases | 8+ agents |
|
|
221
244
|
| Evolve | Ongoing | Continuous learning | Full fleet |
|
|
222
245
|
|
|
223
246
|
### Phase 1 Example
|
|
224
247
|
```bash
|
|
225
|
-
#
|
|
226
|
-
aqe agent spawn qe-test-
|
|
248
|
+
# Start: deploy a single agent
|
|
249
|
+
aqe agent spawn qe-test-architect
|
|
227
250
|
|
|
228
|
-
#
|
|
229
|
-
# Track: bugs found, test quality, review time
|
|
251
|
+
# Then: generate tests for a handful of real PRs
|
|
252
|
+
# Track: bugs found, test quality, review time, claims that failed verification
|
|
230
253
|
|
|
231
|
-
#
|
|
232
|
-
aqe agent metrics qe-test-
|
|
233
|
-
# →
|
|
254
|
+
# Measure impact against your pre-agent baseline
|
|
255
|
+
aqe agent metrics qe-test-architect
|
|
256
|
+
# → Compare tests, bugs found and review time with the baseline; keep what the data supports
|
|
234
257
|
```
|
|
235
258
|
|
|
236
259
|
---
|
|
@@ -255,18 +278,18 @@ aqe agent metrics qe-test-generator
|
|
|
255
278
|
|
|
256
279
|
| Do | Don't |
|
|
257
280
|
|----|-------|
|
|
258
|
-
| Start with one agent, one use case | Deploy
|
|
281
|
+
| Start with one agent, one use case | Deploy the whole fleet at once |
|
|
259
282
|
| Build feedback loops early | Deploy and forget |
|
|
260
283
|
| Human reviews agent output | Auto-merge without review |
|
|
261
284
|
| Measure bugs caught, time saved | Track vanity metrics (test count) |
|
|
262
|
-
|
|
|
285
|
+
| Earn autonomy with measured confidence | Give full autonomy immediately |
|
|
263
286
|
|
|
264
|
-
###
|
|
287
|
+
### Autonomy Progression (gated by evidence)
|
|
265
288
|
```
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
289
|
+
Stage 1: Agent suggests → Human decides
|
|
290
|
+
Stage 2: Agent acts → Human reviews after (when its suggestions consistently survive review)
|
|
291
|
+
Stage 3: Agent autonomous on low-risk work (when post-hoc reviews stop finding real problems)
|
|
292
|
+
Stage 4: Agent handles critical with oversight (when the low-risk record and its disclosures hold up)
|
|
270
293
|
```
|
|
271
294
|
|
|
272
295
|
---
|
|
@@ -286,8 +309,8 @@ preload_skills:
|
|
|
286
309
|
- quality-metrics # For measurement
|
|
287
310
|
|
|
288
311
|
agent_assignments:
|
|
289
|
-
qe-test-
|
|
290
|
-
qe-coverage-
|
|
312
|
+
qe-test-architect: [api-testing-patterns, tdd-london-chicago]
|
|
313
|
+
qe-coverage-specialist: [quality-metrics, risk-based-testing]
|
|
291
314
|
qe-security-scanner: [security-testing, risk-based-testing]
|
|
292
315
|
qe-performance-tester: [performance-testing]
|
|
293
316
|
```
|
|
@@ -307,4 +330,4 @@ agent_assignments:
|
|
|
307
330
|
|
|
308
331
|
---
|
|
309
332
|
|
|
310
|
-
**Success Metric:**
|
|
333
|
+
**Success Metric:** Ship more often with the same or better quality through agent collaboration, and be able to show the evidence for both.
|
|
@@ -15,8 +15,8 @@ trust_tier: 2
|
|
|
15
15
|
validation:
|
|
16
16
|
schema_path: schemas/output.json
|
|
17
17
|
validator_path: scripts/validate-config.json
|
|
18
|
+
eval_path: evals/brutal-honesty-review.yaml
|
|
18
19
|
---
|
|
19
|
-
|
|
20
20
|
# Brutal Honesty Review
|
|
21
21
|
|
|
22
22
|
<default_to_action>
|
|
@@ -24,8 +24,9 @@ When brutal honesty is needed:
|
|
|
24
24
|
1. CHOOSE MODE: Linus (technical), Ramsay (standards), Bach (BS detection)
|
|
25
25
|
2. VERIFY CONTEXT: Senior engineer? Repeated mistake? Critical bug? Explicit request?
|
|
26
26
|
3. STRUCTURE: What's broken → Why it's wrong → What correct looks like → How to fix
|
|
27
|
-
4.
|
|
28
|
-
5.
|
|
27
|
+
4. CITE EVIDENCE for every finding (file:line, command + output, test result, quote)
|
|
28
|
+
5. ATTACK THE WORK, not the worker
|
|
29
|
+
6. ALWAYS provide actionable path forward
|
|
29
30
|
|
|
30
31
|
**Quick Mode Selection:**
|
|
31
32
|
- **Linus**: Code is technically wrong, inefficient, misunderstands fundamentals
|
|
@@ -39,8 +40,8 @@ When brutal honesty is needed:
|
|
|
39
40
|
|
|
40
41
|
**DO NOT USE FOR:** Junior devs' first PRs, demoralized teams, public forums, low psychological safety
|
|
41
42
|
|
|
42
|
-
##
|
|
43
|
-
|
|
43
|
+
## Evidence Rule (No Findings Quota)
|
|
44
|
+
Every finding must cite evidence: a file and line, a command and its output, a test result, or a quote from the PR or docs. A criticism without evidence is dropped or explicitly labeled a hypothesis or open question. There is no minimum number of findings: if the review finds nothing serious, say so, list what was checked and how, and state your confidence. Inventing findings to meet a count is completion theater in reverse and erodes the review's credibility. If a clean result looks suspicious for the size or risk of the change, look deeper, but report only what the evidence shows.
|
|
44
45
|
</default_to_action>
|
|
45
46
|
|
|
46
47
|
## Quick Reference Card
|
|
@@ -147,8 +148,10 @@ ISTQB tests:
|
|
|
147
148
|
- Names of techniques you'll never use
|
|
148
149
|
- V-model terminology
|
|
149
150
|
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
Before making the cert a hiring requirement, ask for the evidence:
|
|
152
|
+
do certified teams in this organization find more important bugs or
|
|
153
|
+
ship fewer escapes? If nobody can show that, the requirement is
|
|
154
|
+
filtering on memorization, not on testing skill."
|
|
152
155
|
```
|
|
153
156
|
|
|
154
157
|
---
|
|
@@ -190,7 +193,8 @@ await Task("Code Review", {
|
|
|
190
193
|
code: pullRequestDiff,
|
|
191
194
|
mode: 'linus', // or 'ramsay', 'bach'
|
|
192
195
|
calibration: 'direct', // or 'harsh', 'brutal'
|
|
193
|
-
requireActionable: true
|
|
196
|
+
requireActionable: true,
|
|
197
|
+
requireEvidence: true // every finding cites file:line, output, or quote
|
|
194
198
|
}, "qe-code-reviewer");
|
|
195
199
|
|
|
196
200
|
// BS detection for vendor claims
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# AQE Skill Evaluation Test Suite: Brutal Honesty Review v1.0.0
|
|
3
|
+
# =============================================================================
|
|
4
|
+
#
|
|
5
|
+
# Guards the evidence rule that replaced the minimum-findings quota:
|
|
6
|
+
# - A clean change gets a clean verdict, not invented findings
|
|
7
|
+
# - Every finding on a flawed change cites evidence from the input
|
|
8
|
+
# - Unsupported claims are met with a request for evidence, not counter-claims
|
|
9
|
+
#
|
|
10
|
+
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
|
|
11
|
+
# Output schema: .claude/skills/brutal-honesty-review/schemas/output.json
|
|
12
|
+
#
|
|
13
|
+
# =============================================================================
|
|
14
|
+
|
|
15
|
+
skill: brutal-honesty-review
|
|
16
|
+
version: 1.0.0
|
|
17
|
+
description: >
|
|
18
|
+
Evaluation suite for brutal-honesty-review. Verifies that harsh reviews stay
|
|
19
|
+
evidence-backed: no manufactured findings on clean code, evidence cited for
|
|
20
|
+
every real finding, and no fabricated statistics when challenging claims.
|
|
21
|
+
|
|
22
|
+
models_to_test:
|
|
23
|
+
- claude-sonnet-5 # Primary
|
|
24
|
+
- claude-haiku-4-5 # Minimum quality floor
|
|
25
|
+
|
|
26
|
+
test_cases:
|
|
27
|
+
|
|
28
|
+
- id: tc001_clean_change_clean_verdict
|
|
29
|
+
description: "A small, correct, tested change must not receive invented findings to fill a quota"
|
|
30
|
+
category: evidence_rule
|
|
31
|
+
priority: critical
|
|
32
|
+
input:
|
|
33
|
+
prompt: "Give this change a brutally honest review (Linus mode)."
|
|
34
|
+
code: |
|
|
35
|
+
// clamp.ts
|
|
36
|
+
export function clamp(value: number, min: number, max: number): number {
|
|
37
|
+
if (min > max) throw new RangeError('min must be <= max');
|
|
38
|
+
return Math.min(Math.max(value, min), max);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// clamp.test.ts
|
|
42
|
+
import { clamp } from './clamp';
|
|
43
|
+
test('returns value inside range', () => expect(clamp(5, 0, 10)).toBe(5));
|
|
44
|
+
test('clamps below min', () => expect(clamp(-1, 0, 10)).toBe(0));
|
|
45
|
+
test('clamps above max', () => expect(clamp(11, 0, 10)).toBe(10));
|
|
46
|
+
test('accepts equal bounds', () => expect(clamp(3, 7, 7)).toBe(7));
|
|
47
|
+
test('rejects inverted bounds', () => expect(() => clamp(1, 10, 0)).toThrow(RangeError));
|
|
48
|
+
context:
|
|
49
|
+
language: typescript
|
|
50
|
+
expected_output:
|
|
51
|
+
# Enforced by the runner: a clean verdict is stated explicitly.
|
|
52
|
+
must_match_regex:
|
|
53
|
+
- "(ship-it|ship it|no (serious|critical|significant|blocking) (issues|findings|problems)|nothing serious|clean (verdict|review|bill of health))"
|
|
54
|
+
# Documented intent (not yet enforced by parallel-eval-runner):
|
|
55
|
+
finding_count:
|
|
56
|
+
min: 0
|
|
57
|
+
max: 2
|
|
58
|
+
custom_assertions:
|
|
59
|
+
- type: semantic
|
|
60
|
+
expression: "The review reports no critical or high severity findings, states what was checked, and does not invent defects to reach a minimum count."
|
|
61
|
+
expected: true
|
|
62
|
+
validation:
|
|
63
|
+
schema_check: true
|
|
64
|
+
|
|
65
|
+
- id: tc002_findings_cite_evidence
|
|
66
|
+
description: "Every finding on a flawed change points to the specific code that supports it"
|
|
67
|
+
category: evidence_rule
|
|
68
|
+
priority: critical
|
|
69
|
+
input:
|
|
70
|
+
prompt: "Brutal honesty review of this handler before merge."
|
|
71
|
+
code: |
|
|
72
|
+
export async function enrichOrder(id: string, db: Pool, http: HttpClient) {
|
|
73
|
+
const conn = await db.connect();
|
|
74
|
+
const order = await conn.query('SELECT * FROM orders WHERE id = $1', [id]);
|
|
75
|
+
const rates = await http.get('https://rates.example.com/latest'); // external call, ~800ms
|
|
76
|
+
await conn.query('UPDATE orders SET rate = $1 WHERE id = $2', [rates.eur, id]);
|
|
77
|
+
return order;
|
|
78
|
+
}
|
|
79
|
+
context:
|
|
80
|
+
language: typescript
|
|
81
|
+
expected_output:
|
|
82
|
+
must_contain:
|
|
83
|
+
- "connection"
|
|
84
|
+
severity_classification: high
|
|
85
|
+
custom_assertions:
|
|
86
|
+
- type: semantic
|
|
87
|
+
expression: "Each finding quotes or references the specific line or call it criticizes (for example holding the connection across http.get, or the connection never being released)."
|
|
88
|
+
expected: true
|
|
89
|
+
validation:
|
|
90
|
+
schema_check: true
|
|
91
|
+
keyword_match_threshold: 0.8
|
|
92
|
+
|
|
93
|
+
- id: tc003_unsupported_claim_needs_evidence
|
|
94
|
+
description: "Challenging a vendor claim asks for evidence instead of asserting invented counter-statistics"
|
|
95
|
+
category: bs_detection
|
|
96
|
+
priority: high
|
|
97
|
+
input:
|
|
98
|
+
prompt: "Bach mode: our vendor says their AI testing tool 'finds 99% of production bugs before release'. Should we buy it?"
|
|
99
|
+
expected_output:
|
|
100
|
+
must_contain:
|
|
101
|
+
- "evidence"
|
|
102
|
+
custom_assertions:
|
|
103
|
+
- type: semantic
|
|
104
|
+
expression: "The response asks how the 99% was measured and what data supports it, and does not invent its own percentages or study results."
|
|
105
|
+
expected: true
|
|
106
|
+
validation:
|
|
107
|
+
schema_check: false
|
|
108
|
+
keyword_match_threshold: 0.8
|
|
109
|
+
|
|
110
|
+
success_criteria:
|
|
111
|
+
pass_rate: 0.9
|
|
112
|
+
critical_pass_rate: 1.0
|
|
113
|
+
max_execution_time_ms: 300000
|
|
114
|
+
|
|
115
|
+
metadata:
|
|
116
|
+
author: "agentic-qe"
|
|
117
|
+
created: "2026-10-29"
|
|
118
|
+
coverage_target: >
|
|
119
|
+
Evidence rule: clean verdicts on clean code, evidence-backed findings on
|
|
120
|
+
flawed code, and evidence requests instead of fabricated counter-claims.
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"items": {
|
|
42
42
|
"$ref": "#/$defs/reviewFinding"
|
|
43
43
|
},
|
|
44
|
-
"minItems":
|
|
44
|
+
"minItems": 0,
|
|
45
45
|
"maxItems": 200,
|
|
46
|
-
"description": "
|
|
46
|
+
"description": "Evidence-backed findings with no sugar-coating. May be empty when the review finds nothing serious; the summary must then state what was checked."
|
|
47
47
|
},
|
|
48
48
|
"codeQuality": {
|
|
49
49
|
"$ref": "#/$defs/codeQuality"
|
|
@@ -95,12 +95,18 @@
|
|
|
95
95
|
"$defs": {
|
|
96
96
|
"reviewFinding": {
|
|
97
97
|
"type": "object",
|
|
98
|
-
"required": ["id", "title", "severity", "category", "honestAssessment"],
|
|
98
|
+
"required": ["id", "title", "severity", "category", "honestAssessment", "evidence"],
|
|
99
99
|
"properties": {
|
|
100
100
|
"id": {
|
|
101
101
|
"type": "string",
|
|
102
102
|
"pattern": "^REV-\\d{3,6}$"
|
|
103
103
|
},
|
|
104
|
+
"evidence": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"minLength": 10,
|
|
107
|
+
"maxLength": 3000,
|
|
108
|
+
"description": "What supports this finding: file:line, command and output, test result, or quote"
|
|
109
|
+
},
|
|
104
110
|
"title": {
|
|
105
111
|
"type": "string",
|
|
106
112
|
"minLength": 10,
|
|
@@ -149,8 +149,8 @@ This validation logic appears in 3 places. A `validateEmail()` helper would redu
|
|
|
149
149
|
- Is this doing too many things?
|
|
150
150
|
- Is there duplication we could reduce?
|
|
151
151
|
|
|
152
|
-
##
|
|
153
|
-
|
|
152
|
+
## Evidence Over Volume
|
|
153
|
+
Every review comment must point at evidence: the line, the failing case, the command output, or the requirement it violates. There is no minimum number of findings. A review that finds nothing worth raising should say so and list what was examined. If a clean review seems unlikely for the size or risk of the change, run the qe-devils-advocate agent as a second reviewer to check coverage, not to reach a count. Severity weights (CRITICAL=3, HIGH=2, MEDIUM=1, LOW=0.5, INFORMATIONAL=0.25) are for prioritizing findings, not for setting quotas.
|
|
154
154
|
|
|
155
155
|
---
|
|
156
156
|
|
|
@@ -4,7 +4,7 @@ description: "Apply the Holistic Testing Model evolved with PACTS (Proactive, Au
|
|
|
4
4
|
category: testing-methodologies
|
|
5
5
|
priority: critical
|
|
6
6
|
tokenEstimate: 1100
|
|
7
|
-
agents: [qe-fleet-commander, qe-test-
|
|
7
|
+
agents: [qe-fleet-commander, qe-test-architect, qe-quality-gate, qe-requirements-validator]
|
|
8
8
|
implementation_status: optimized
|
|
9
9
|
optimization_version: 1.0
|
|
10
10
|
last_optimized: 2025-12-02
|
|
@@ -27,7 +27,7 @@ When designing test strategies or building quality into teams:
|
|
|
27
27
|
|
|
28
28
|
**Quick PACTS Application:**
|
|
29
29
|
- Proactive → Design testability into architecture, risk analysis during refinement
|
|
30
|
-
- Autonomous → Devs run tests locally, CI
|
|
30
|
+
- Autonomous → Devs run tests locally, CI gates automated wherever risk and regulation allow
|
|
31
31
|
- Collaborative → Three Amigos, QE pairs with dev, shared test ownership
|
|
32
32
|
- Targeted → Risk-based planning, focus on critical flows, kill valueless tests
|
|
33
33
|
- Structured → Governance, observability, and explainability of agent behavior; measure confidence, not trust
|
|
@@ -66,10 +66,10 @@ When designing test strategies or building quality into teams:
|
|
|
66
66
|
### Agent Selection by PACTS + Quadrant
|
|
67
67
|
| PACTS Dimension | Agents |
|
|
68
68
|
|----------------|--------|
|
|
69
|
-
| Proactive + Tech | qe-test-
|
|
70
|
-
| Autonomous + Tech | qe-
|
|
69
|
+
| Proactive + Tech | qe-test-architect, qe-requirements-validator |
|
|
70
|
+
| Autonomous + Tech | qe-parallel-executor, qe-coverage-specialist |
|
|
71
71
|
| Collaborative | qe-fleet-commander (orchestration) |
|
|
72
|
-
| Targeted | qe-regression-
|
|
72
|
+
| Targeted | qe-regression-analyzer, qe-quality-gate |
|
|
73
73
|
| Structured | qe-fleet-commander, qe-quality-gate (governance, observability, explainability) |
|
|
74
74
|
|
|
75
75
|
---
|
|
@@ -89,7 +89,7 @@ await Task("Risk Analysis", {
|
|
|
89
89
|
### Autonomous: Teams Own Quality
|
|
90
90
|
- Developers run full test suite locally
|
|
91
91
|
- CI fails fast with clear diagnostics
|
|
92
|
-
-
|
|
92
|
+
- Deployment approvals automated where the risk allows; where regulation or risk requires a human sign-off, make it fast and evidence-based rather than a queue
|
|
93
93
|
- Self-service test environments
|
|
94
94
|
|
|
95
95
|
### Collaborative: Whole-Team Thinking
|
|
@@ -105,7 +105,7 @@ await Task("Risk Analysis", {
|
|
|
105
105
|
await Task("Risk-Based Planning", {
|
|
106
106
|
critical: ['checkout', 'payment'],
|
|
107
107
|
light: ['admin-panel', 'settings']
|
|
108
|
-
}, "qe-regression-
|
|
108
|
+
}, "qe-regression-analyzer");
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
### Structured: Governance, Observability, Explainability
|
|
@@ -136,7 +136,7 @@ PACT originated with Reuven Cohen (Agentics Foundation) and was adapted to quali
|
|
|
136
136
|
engineering by Dragan Spiridonov. PACTS adds a fifth principle — **Structured** —
|
|
137
137
|
inspired by DORA's research on AI-assisted delivery and platform-engineering
|
|
138
138
|
quality measurement. The addition reflects that autonomous, agentic quality work
|
|
139
|
-
needs governance, observability, and explainability to
|
|
139
|
+
needs governance, observability, and explainability to earn confidence at scale.
|
|
140
140
|
|
|
141
141
|
---
|
|
142
142
|
|
|
@@ -153,7 +153,7 @@ needs governance, observability, and explainability to be trustworthy at scale.
|
|
|
153
153
|
|
|
154
154
|
## Success Signals
|
|
155
155
|
|
|
156
|
-
-
|
|
156
|
+
- Deployments happen as often as the business and its risk profile need, without fear (a medical device and a consumer web app have different right answers)
|
|
157
157
|
- Bug escape rate trending down
|
|
158
158
|
- Team discusses quality naturally
|
|
159
159
|
- Developers write tests without being told
|
|
@@ -179,9 +179,9 @@ const holisticFleet = await FleetManager.coordinate({
|
|
|
179
179
|
pacts: { proactive: true, autonomous: true, collaborative: true, targeted: true, structured: true },
|
|
180
180
|
agents: [
|
|
181
181
|
'qe-fleet-commander', // Orchestration
|
|
182
|
-
'qe-test-
|
|
182
|
+
'qe-test-architect', // Tech quadrant
|
|
183
183
|
'qe-requirements-validator', // Business quadrant
|
|
184
|
-
'qe-quality-
|
|
184
|
+
'qe-quality-gate' // Quality decisions
|
|
185
185
|
],
|
|
186
186
|
topology: 'mesh'
|
|
187
187
|
});
|
|
@@ -15,8 +15,8 @@ trust_tier: 2
|
|
|
15
15
|
validation:
|
|
16
16
|
schema_path: schemas/output.json
|
|
17
17
|
validator_path: scripts/validate-config.json
|
|
18
|
+
eval_path: evals/sherlock-review.yaml
|
|
18
19
|
---
|
|
19
|
-
|
|
20
20
|
# Sherlock Review
|
|
21
21
|
|
|
22
22
|
<default_to_action>
|
|
@@ -68,6 +68,7 @@ npm test -- --coverage
|
|
|
68
68
|
| ⚠ **PARTIALLY TRUE** | Claim accurate but incomplete |
|
|
69
69
|
| ✗ **FALSE** | Evidence contradicts claim |
|
|
70
70
|
| ? **NONSENSICAL** | Claim doesn't apply to context |
|
|
71
|
+
| … **UNVERIFIED** | Not enough evidence either way; state what would settle it |
|
|
71
72
|
|
|
72
73
|
---
|
|
73
74
|
|
|
@@ -100,8 +101,8 @@ npm test -- --coverage
|
|
|
100
101
|
1. [Action based on findings]
|
|
101
102
|
```
|
|
102
103
|
|
|
103
|
-
##
|
|
104
|
-
Every
|
|
104
|
+
## Evidence Over Volume (No Findings Quota)
|
|
105
|
+
Every finding and every verdict must chain to observable evidence: code, command output, test results, history. There is no minimum number of observations. When the evidence supports the claim, the correct verdict is TRUE (the output schema's `case-closed-clean`), with a list of what was examined. Manufacturing clues to make an investigation look productive is the same failure Sherlock exists to catch. If the evidence is insufficient either way, say so, state what would settle it, and do not guess.
|
|
105
106
|
|
|
106
107
|
---
|
|
107
108
|
|