@iowarp/clio-coder 0.4.3 → 0.4.5
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/CHANGELOG.md +153 -0
- package/CONTRIBUTING.md +25 -15
- package/README.md +340 -27
- package/dist/{acp-H2NGRPWO.js → acp-H3CU2HBQ.js} +25 -25
- package/dist/{agents-TL5LLUQP.js → agents-IXQQZ7BD.js} +77 -75
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-E5SW4HMS.js → auth-R7KYF7N3.js} +38 -39
- package/dist/builtins-CRFDQUVP.js +22 -0
- package/dist/{chunk-7DRAWPTZ.js → chunk-22PQ4TX4.js} +4 -4
- package/dist/{chunk-NEDJ26B5.js → chunk-2GPGAE5W.js} +6 -51
- package/dist/{chunk-IKCO5N3L.js → chunk-2QPI3TR3.js} +3 -3
- package/dist/{chunk-HRQMFLJP.js → chunk-32KJPXAM.js} +6 -6
- package/dist/{chunk-65DEGPJ6.js → chunk-3A3CUMKA.js} +6 -4
- package/dist/{chunk-5TSRNF4G.js → chunk-3T4DXWP6.js} +170 -12
- package/dist/{chunk-DR52UMZW.js → chunk-3UW3KU4A.js} +2 -2
- package/dist/{chunk-XIVNBFZS.js → chunk-4SVIVOMC.js} +208 -39
- package/dist/{chunk-NMJXSHBJ.js → chunk-5A6XR3RJ.js} +44 -19
- package/dist/{chunk-YPC6ZR5L.js → chunk-5CMARGPF.js} +119 -5
- package/dist/{chunk-KXDSS5WJ.js → chunk-5CY4Q6QI.js} +4 -4
- package/dist/chunk-5DDOTTG4.js +402 -0
- package/dist/{chunk-D4CJV46V.js → chunk-5GZICIYO.js} +3 -3
- package/dist/{chunk-4IUZQIJ3.js → chunk-5PHVPU4G.js} +2 -2
- package/dist/{chunk-PUVDKJ2Y.js → chunk-5VTJP36Q.js} +5 -7
- package/dist/{chunk-JGRC33J2.js → chunk-5ZMXGW7P.js} +90 -9
- package/dist/chunk-5ZSZEYJK.js +119 -0
- package/dist/chunk-633EXGZA.js +44 -0
- package/dist/{chunk-IWT4SF4R.js → chunk-6CDNRHWH.js} +361 -89
- package/dist/{chunk-EBY63B7G.js → chunk-6EXUUOSN.js} +2 -2
- package/dist/{chunk-SVNXH4L2.js → chunk-6ICZKDUC.js} +2 -2
- package/dist/{chunk-INY6HTFL.js → chunk-6SYEGZI3.js} +12 -12
- package/dist/{chunk-SKHCAU7K.js → chunk-6YA46L5A.js} +5 -4
- package/dist/{chunk-NZMNUPZZ.js → chunk-77CZRFTE.js} +3 -3
- package/dist/{chunk-L47TF46W.js → chunk-7HBHHVCK.js} +24 -3
- package/dist/{chunk-DWUOQKRU.js → chunk-7TKWWPD7.js} +5 -4
- package/dist/{chunk-2VTFPG5O.js → chunk-7WLRF2U5.js} +2 -2
- package/dist/chunk-7WUZEB2M.js +165 -0
- package/dist/{chunk-6PTFB5VS.js → chunk-7YJWEF2L.js} +59 -28
- package/dist/{chunk-3EBYEESD.js → chunk-A46ILRS2.js} +5 -5
- package/dist/{chunk-UOIZ7DA4.js → chunk-AP7HDJOP.js} +2 -2
- package/dist/{chunk-APJ265NV.js → chunk-B5GGDIHT.js} +146 -146
- package/dist/{chunk-PMZVFWSR.js → chunk-B5ZTR6KZ.js} +2 -2
- package/dist/chunk-B6UM3OZC.js +15 -0
- package/dist/{chunk-MCEPRMZW.js → chunk-BBV5TKE6.js} +5 -5
- package/dist/{chunk-4O6MANBS.js → chunk-BS4GAMUB.js} +14 -10
- package/dist/{chunk-S66XZJOF.js → chunk-C27U2TYG.js} +2 -2
- package/dist/{chunk-42FMPA75.js → chunk-CBSKDFWL.js} +3 -3
- package/dist/{chunk-2LEAKD4C.js → chunk-CKK25WN3.js} +3 -3
- package/dist/{chunk-BYP5D4HI.js → chunk-CTTI7G3T.js} +2 -2
- package/dist/{chunk-XAKHZX5N.js → chunk-CVDAFGPW.js} +4 -4
- package/dist/{chunk-RKKLTLYB.js → chunk-CXQ37WJH.js} +3 -3
- package/dist/{chunk-GTUD2WMY.js → chunk-DBREN25X.js} +44 -9
- package/dist/{chunk-WCXUNS7U.js → chunk-DIMRLNIC.js} +35 -66
- package/dist/{chunk-NDDGJUXD.js → chunk-DNCE23JJ.js} +2 -2
- package/dist/{chunk-HVDIIIQW.js → chunk-DNHVRBH4.js} +3 -3
- package/dist/{chunk-2UG5F4C5.js → chunk-DRD2A54W.js} +116 -52
- package/dist/{chunk-D7E7WCDF.js → chunk-DVNAPPXU.js} +2 -2
- package/dist/{chunk-YXLYO42X.js → chunk-DXVMLM3Z.js} +3 -2
- package/dist/{chunk-5MEZN6CB.js → chunk-DZK63TZJ.js} +6 -6
- package/dist/{chunk-IGLP3ODT.js → chunk-E3BQTQUP.js} +15 -15
- package/dist/{chunk-IWHMRKLL.js → chunk-E3LEPLQ2.js} +2 -2
- package/dist/{chunk-3R73A4XB.js → chunk-ECBHH7LU.js} +3 -3
- package/dist/chunk-ECOMVOHP.js +139 -0
- package/dist/chunk-EFSEIZE6.js +56 -0
- package/dist/{chunk-IJNZMHLA.js → chunk-EHCPSZJF.js} +4 -4
- package/dist/{chunk-K6BSR66V.js → chunk-EHOSNVVM.js} +6 -2
- package/dist/{chunk-RRNP2ANY.js → chunk-EQEJJ53P.js} +10 -10
- package/dist/{chunk-GWZNEVM2.js → chunk-EWD5P3GK.js} +9 -9
- package/dist/{chunk-JKKCYP3C.js → chunk-F34AR6O3.js} +21 -15
- package/dist/{chunk-GHS5EBTQ.js → chunk-FKIOX6DS.js} +29 -20
- package/dist/{chunk-HAXOFFRH.js → chunk-FQOOGXBH.js} +7 -7
- package/dist/{chunk-MWUZBSAQ.js → chunk-FSTIBAGM.js} +358 -63
- package/dist/{chunk-ZTJUVLTU.js → chunk-FXFVDPWY.js} +2 -2
- package/dist/{chunk-XPLRXC72.js → chunk-GD55RTIW.js} +3 -3
- package/dist/{chunk-5B2AEOW5.js → chunk-GH5ZR6JP.js} +472 -472
- package/dist/{chunk-JSC3U7TI.js → chunk-GJ24ODAX.js} +5 -5
- package/dist/{chunk-B4VEBZKF.js → chunk-GNQRWTMY.js} +139 -52
- package/dist/{chunk-5ICU3EUH.js → chunk-GVYWZNRK.js} +5 -5
- package/dist/chunk-GXCCHKN6.js +59 -0
- package/dist/{chunk-V2ANDPVT.js → chunk-HGSLRG33.js} +170 -8
- package/dist/{chunk-LLDJM5XK.js → chunk-HHVJNVUJ.js} +6 -6
- package/dist/{chunk-F4EKGO4N.js → chunk-HL26ADLH.js} +4 -2
- package/dist/{chunk-VA5FNYMT.js → chunk-HR3HPQ76.js} +42 -5
- package/dist/{chunk-ID64D7PE.js → chunk-HXHFDHB6.js} +24 -24
- package/dist/{chunk-OML5D5V5.js → chunk-I7VLWRK2.js} +8 -8
- package/dist/{chunk-VW6DOEDG.js → chunk-ICO4TQ2F.js} +16 -5
- package/dist/{chunk-SZAA6XDG.js → chunk-IFDRAD6F.js} +2 -2
- package/dist/{chunk-WBKFA554.js → chunk-ILJ7DWGE.js} +9 -9
- package/dist/{chunk-2JH2WHGE.js → chunk-J2FYEQ5L.js} +4 -4
- package/dist/{chunk-BMS5RKQY.js → chunk-JABWPKFY.js} +3 -3
- package/dist/{chunk-QDC3K2U3.js → chunk-K2BLQC5E.js} +3 -3
- package/dist/{chunk-EKCHAPYA.js → chunk-K2HL3GBL.js} +4 -4
- package/dist/{chunk-N2Z7HLVY.js → chunk-K6RDB7IA.js} +28 -28
- package/dist/{chunk-TM6LQDI3.js → chunk-KDWLXVMN.js} +85 -335
- package/dist/{chunk-OZNBF4L3.js → chunk-KECNXMDE.js} +2 -2
- package/dist/{chunk-RSJ25QSL.js → chunk-KF6GFW6O.js} +217 -50
- package/dist/{chunk-BTK3SSSK.js → chunk-KMF54VH3.js} +2 -2
- package/dist/chunk-KPRLAMP4.js +32 -0
- package/dist/{chunk-ECH6PKUQ.js → chunk-KQ6IDQIB.js} +2 -2
- package/dist/{chunk-IUE3Y34X.js → chunk-KTFSFCVN.js} +20 -9
- package/dist/{chunk-7E7I3WLS.js → chunk-KYKNBD4Y.js} +36 -34
- package/dist/chunk-L4N3DWNW.js +539 -0
- package/dist/{chunk-LCGCVYZ4.js → chunk-LQTKDAUO.js} +2 -2
- package/dist/{chunk-JIEGK6UF.js → chunk-LTR5QCLS.js} +51 -7
- package/dist/chunk-LUL5Z66S.js +221 -0
- package/dist/chunk-LVFANMOH.js +466 -0
- package/dist/{chunk-H7IXIC72.js → chunk-LY4N4TTL.js} +17 -3
- package/dist/{chunk-VKPAQYEB.js → chunk-LZBMXNLP.js} +5 -5
- package/dist/{chunk-UL3WSD3F.js → chunk-M4KFUXS7.js} +2 -2
- package/dist/{chunk-I7ZPNEJM.js → chunk-M6TAYK66.js} +8 -8
- package/dist/{chunk-NEKRRTYW.js → chunk-MC3JSVR6.js} +2 -2
- package/dist/{chunk-CFGTUFWB.js → chunk-MCJKEGHO.js} +2 -2
- package/dist/chunk-MDU3C27C.js +674 -0
- package/dist/{chunk-6XLNIQDB.js → chunk-MYI32N4R.js} +2 -2
- package/dist/{chunk-4UVU7BJ5.js → chunk-NC4KV7EL.js} +6 -6
- package/dist/{chunk-JEQ3XTHC.js → chunk-NF3BK5WR.js} +5 -5
- package/dist/chunk-NTK3WTHM.js +141 -0
- package/dist/{chunk-GYV6VZOC.js → chunk-NTTS3O53.js} +2 -2
- package/dist/{chunk-UPZU6GE4.js → chunk-NY6IWDVU.js} +6 -6
- package/dist/chunk-O2RQ7LCK.js +283 -0
- package/dist/{chunk-4BJ5BYCE.js → chunk-O3VV6IVK.js} +2 -2
- package/dist/{chunk-W6GROXXM.js → chunk-O5F25NIE.js} +2 -2
- package/dist/{chunk-WRBAGUNF.js → chunk-ODUTYZIU.js} +5 -5
- package/dist/{chunk-E3TPLWFX.js → chunk-ONRTXOZY.js} +4 -4
- package/dist/{chunk-B4OAX3SI.js → chunk-OQM5IVJY.js} +118 -225
- package/dist/{chunk-XRZT5WY5.js → chunk-P5SC4DLJ.js} +4 -4
- package/dist/{chunk-R6Q67RJH.js → chunk-PECBKCDK.js} +34 -6
- package/dist/{chunk-33YXPOE3.js → chunk-PPEZJWUG.js} +2 -2
- package/dist/{chunk-64I3JVYM.js → chunk-PWWSIB2A.js} +5 -5
- package/dist/{chunk-2STGEDFV.js → chunk-QEQISF75.js} +2 -2
- package/dist/{chunk-3DPEIQKN.js → chunk-QH3ZTUOA.js} +2 -2
- package/dist/{chunk-YAKGTXEV.js → chunk-QRFXEO6Y.js} +2 -2
- package/dist/{chunk-35MSIRKH.js → chunk-QUIJZSDW.js} +2 -2
- package/dist/{chunk-HHV2GANA.js → chunk-R2P2U3ZS.js} +2 -2
- package/dist/chunk-R6MAYTMS.js +108 -0
- package/dist/{chunk-MUW2BDDH.js → chunk-R6MICQYU.js} +6 -6
- package/dist/{chunk-JDAY6FIL.js → chunk-RLTT5GVY.js} +132 -17
- package/dist/{chunk-ZWPRK62N.js → chunk-RXIOCVBZ.js} +24 -6
- package/dist/{chunk-NIQJ66N4.js → chunk-S32UQ5GL.js} +62 -35
- package/dist/{chunk-AX2THNSA.js → chunk-SBZX6ARC.js} +12 -12
- package/dist/{chunk-TXOTCRLG.js → chunk-SD7SHNDW.js} +2 -2
- package/dist/{chunk-AF4YM7Z4.js → chunk-SDWNDICN.js} +10284 -3756
- package/dist/{chunk-UXCU4E3T.js → chunk-SE4ZKILO.js} +6 -6
- package/dist/chunk-SL2RDHKO.js +19 -0
- package/dist/{chunk-NUGM5KR6.js → chunk-SRCEQKQS.js} +2 -2
- package/dist/{chunk-KKOJXO6R.js → chunk-SRZOW5L2.js} +46 -14
- package/dist/{chunk-3M6DQK6S.js → chunk-T334FW2H.js} +7 -7
- package/dist/chunk-T52TPHYC.js +318 -0
- package/dist/{chunk-I7XBWTYH.js → chunk-T53XI6I7.js} +5 -5
- package/dist/{chunk-LDJG7DW3.js → chunk-T7FDXNRU.js} +13 -13
- package/dist/{chunk-XPWWI35G.js → chunk-TEG3RYVZ.js} +59 -41
- package/dist/{chunk-3I7MS7N2.js → chunk-TK2BMCBZ.js} +2 -2
- package/dist/{chunk-5OIVVPHF.js → chunk-TN5FW4XY.js} +13 -6
- package/dist/{chunk-PAJQJ7BS.js → chunk-TZ7MFRG4.js} +1263 -835
- package/dist/{chunk-GI7YYQ3F.js → chunk-U2JOLB7O.js} +415 -83
- package/dist/{chunk-LL4KHSZI.js → chunk-U2MSJ57E.js} +2 -2
- package/dist/{chunk-FTMGRKEF.js → chunk-U44YYLVV.js} +4 -4
- package/dist/{chunk-CE5AX47J.js → chunk-U7H5WRG5.js} +5 -5
- package/dist/{chunk-G76U63X4.js → chunk-U7VQ4NI4.js} +22 -22
- package/dist/{chunk-7ZYNNDKC.js → chunk-UFYNOQK4.js} +7 -7
- package/dist/{chunk-R346GLFC.js → chunk-UHW5V7HC.js} +2 -2
- package/dist/{chunk-QWGDJJYJ.js → chunk-UL36QJX6.js} +14 -14
- package/dist/{chunk-VIA6RFQZ.js → chunk-UQIVHSE4.js} +4 -4
- package/dist/{chunk-HEQY7ZFI.js → chunk-URBGEOH3.js} +5 -5
- package/dist/chunk-USZA7GWL.js +341 -0
- package/dist/{chunk-W6RRQCPQ.js → chunk-UTUNT5QL.js} +48 -579
- package/dist/{chunk-ZA4VCIGV.js → chunk-UUQ5G6EZ.js} +60 -41
- package/dist/{chunk-F5JHEYZM.js → chunk-UXAC2FX4.js} +73 -41
- package/dist/{chunk-VG7TBQIY.js → chunk-V552WL53.js} +68 -4
- package/dist/{chunk-BWH6N36D.js → chunk-VHKTOLEW.js} +272 -42
- package/dist/chunk-VLPTKCKT.js +396 -0
- package/dist/{chunk-336NSSKI.js → chunk-VNBICSS2.js} +2 -2
- package/dist/{chunk-VAVR4IJY.js → chunk-VQD7NH7Z.js} +3 -3
- package/dist/{chunk-LBMZMYH2.js → chunk-W2RJEH6Q.js} +3 -3
- package/dist/{chunk-7CR24IG7.js → chunk-WDV62RKY.js} +2 -2
- package/dist/{chunk-2UH2KFUP.js → chunk-WFKDPU7U.js} +4 -4
- package/dist/{chunk-ZDN3Y73Y.js → chunk-WJIMKGD6.js} +9 -51
- package/dist/{chunk-YQWYVTMC.js → chunk-WLMSOT73.js} +59 -12
- package/dist/{chunk-MXHC5QYU.js → chunk-WTQGRBHV.js} +5 -144
- package/dist/chunk-WXA2CFJO.js +23 -0
- package/dist/{chunk-QSNYB6ZV.js → chunk-XCUDZQLX.js} +3 -3
- package/dist/{chunk-2APPQIER.js → chunk-XXBQKW32.js} +11 -11
- package/dist/{chunk-2VIKGWFZ.js → chunk-YEJIG7LN.js} +332 -332
- package/dist/chunk-YGDMBK7O.js +567 -0
- package/dist/{chunk-4WR7VSYB.js → chunk-YYB3MC65.js} +23 -9
- package/dist/{chunk-2IR2NMPA.js → chunk-ZIDFQJRB.js} +2 -2
- package/dist/{chunk-54CBCGIR.js → chunk-ZMZQEBKI.js} +136 -81
- package/dist/{chunk-6EJMN2Y3.js → chunk-ZTNFYMIO.js} +2 -2
- package/dist/{chunk-WEPFGWHJ.js → chunk-ZZFWWYLX.js} +2 -2
- package/dist/cli/index.js +45 -44
- package/dist/clio-5I2IBFYL.js +26 -0
- package/dist/{code-nav-MDZNQS33.js → code-nav-YXIAEZVS.js} +48 -32
- package/dist/codewiki/build-worker.js +76 -29
- package/dist/{compile-cache-OQAVB7Y5.js → compile-cache-WJEPUZEJ.js} +4 -4
- package/dist/{components-UCUQ4QXW.js → components-TNIKXCBH.js} +13 -14
- package/dist/{config-SVM5P5YI.js → config-Y2JDJ3JJ.js} +210 -119
- package/dist/configure-SML6UBZ5.js +55 -0
- package/dist/{context-2OHRKS42.js → context-P5YSEO55.js} +125 -115
- package/dist/{context-VNCR7KAG.js → context-QQ53HSGJ.js} +91 -62
- package/dist/{context-E3VC7RX5.js → context-S2EEC3EJ.js} +62 -31
- package/dist/context-clear-TMEQCOTH.js +183 -0
- package/dist/{context-index-HNG3MOME.js → context-index-HP2JFUWA.js} +13 -11
- package/dist/{context-map-COB37XXN.js → context-map-INTXD54D.js} +71 -21
- package/dist/{context-working-set-VDS25HXZ.js → context-working-set-CNLSQN5K.js} +31 -31
- package/dist/detail-5572VLBO.js +114 -0
- package/dist/{dispatch-runner-5AHT53RF.js → dispatch-runner-FRHD6P2O.js} +214 -126
- package/dist/{docs-PD3EXDKU.js → docs-BL7ROUFN.js} +5 -7
- package/dist/{doctor-WNNVO6FY.js → doctor-N3LCM2LG.js} +89 -66
- package/dist/{eval-7G7SGAYO.js → eval-BUU3ZOUZ.js} +493 -197
- package/dist/{eval-inventory-Y6QRFOH5.js → eval-inventory-QOYZERXJ.js} +7 -7
- package/dist/evidence-DTGEN456.js +224 -0
- package/dist/{evidence-VD6736FQ.js → evidence-SQ5DNFEN.js} +114 -195
- package/dist/{evolve-AL3NGVRL.js → evolve-IJNUFZDS.js} +107 -88
- package/dist/{extensions-MOVJ32NM.js → extensions-YVRHX6ZI.js} +16 -17
- package/dist/{fleet-QZHUMAGI.js → fleet-ZNNVSYFO.js} +147 -141
- package/dist/{fleet-commands-BAYT5FJZ.js → fleet-commands-5YE7NPJL.js} +27 -23
- package/dist/{fleet-decisions-IREVMRU4.js → fleet-decisions-3SBSCTCW.js} +16 -15
- package/dist/{fleet-graph-YCTT3HTI.js → fleet-graph-6HHPWF5T.js} +39 -38
- package/dist/{fleet-inspect-QVJTDAVB.js → fleet-inspect-JEYMGCGC.js} +107 -87
- package/dist/{fleet-new-RDVJLHHH.js → fleet-new-RCKGSRDV.js} +3 -3
- package/dist/{fleet-preflight-25QAFPK4.js → fleet-preflight-QRSHIIDE.js} +10 -10
- package/dist/{fleet-validate-5O57AAJ7.js → fleet-validate-4PM4GDDL.js} +46 -42
- package/dist/{fleet-verify-CPH2W2T6.js → fleet-verify-NJDTHTO3.js} +105 -85
- package/dist/fleet-view-UP2BWQQY.js +117 -0
- package/dist/{init-J477LKZH.js → init-S3GZQ5ZF.js} +123 -117
- package/dist/{install-NKNG7KD4.js → install-3RZDDP23.js} +5 -5
- package/dist/{interop-3FCM6XLG.js → interop-YOTGXFJM.js} +25 -26
- package/dist/inventory-K2OZ36YJ.js +117 -0
- package/dist/{library-QUQEIUG6.js → library-GJI6W6OK.js} +45 -45
- package/dist/{memory-SGGSEP65.js → memory-OQOXQGYD.js} +107 -90
- package/dist/{models-HEKUAXXK.js → models-3IK2Y5WE.js} +64 -65
- package/dist/{monitor-HKU57TYQ.js → monitor-FTJLTKCQ.js} +136 -101
- package/dist/{orchestrator-VDFAEFAI.js → orchestrator-N47O7SFD.js} +1442 -1671
- package/dist/{panes-DN2SSFOH.js → panes-7BTYH3XQ.js} +8 -8
- package/dist/{panes-TALGNPZT.js → panes-WPOMEMRH.js} +22 -23
- package/dist/{paths-NBMFAIEZ.js → paths-J3KN7UAO.js} +12 -13
- package/dist/preload-65U34NG6.js +115 -0
- package/dist/{registry-LG64LTF4.js → registry-DESGAXWK.js} +3 -3
- package/dist/{reset-EAJFFJVB.js → reset-MUVQDLNL.js} +20 -21
- package/dist/{resources-OVKSEFVE.js → resources-LM76COAO.js} +41 -40
- package/dist/{run-7DP7ZF2J.js → run-3VFZQ33N.js} +168 -166
- package/dist/{share-WML67FT3.js → share-4JUB4BL7.js} +43 -43
- package/dist/{skills-SG662R2K.js → skills-S36AAJHU.js} +47 -47
- package/dist/{skills-eval-VVZEUU46.js → skills-eval-G6T57L7M.js} +127 -104
- package/dist/{skills-inventory-I2E23GET.js → skills-inventory-WLM46PJH.js} +41 -40
- package/dist/slash-commands-GBARG3Y7.js +91 -0
- package/dist/{steer-2LQOMCPB.js → steer-S7D7IKPU.js} +7 -7
- package/dist/{support-CC2UJBJ6.js → support-5VAEC32W.js} +14 -14
- package/dist/{targets-4QC3HIEW.js → targets-N5REUETU.js} +147 -98
- package/dist/tasks-6BVY5YZF.js +36 -0
- package/dist/{terminal-lease-TUHIJ6Y2.js → terminal-lease-57UEOJKS.js} +12 -11
- package/dist/tools-6OCQ6SVB.js +28 -0
- package/dist/{trace-FXMXUZUF.js → trace-JHLXWUMN.js} +18 -17
- package/dist/{tree-sitter-HGKH6LG4.js → tree-sitter-AQUUOSYM.js} +6 -6
- package/dist/{tui-primitives-K5PASC3O.js → tui-primitives-RCY2HN7G.js} +3 -3
- package/dist/{uninstall-5PEVOE5B.js → uninstall-FXYMFFRT.js} +19 -20
- package/dist/{upgrade-M4WXY6KN.js → upgrade-4HD5HAIV.js} +49 -45
- package/dist/{usage-N7ZNVLEM.js → usage-4GWM2WWP.js} +143 -103
- package/dist/{verifiers-DJTP4XX6.js → verifiers-GSKWKWVG.js} +162 -28
- package/dist/verify-3AS3ULCY.js +30 -0
- package/dist/{version-KGEG7EPO.js → version-RFPKO6T7.js} +4 -4
- package/dist/{web-fetch-MPARV2K7.js → web-fetch-MQN4FH3X.js} +169 -18
- package/dist/wiki-generate-7BV7XWIY.js +614 -0
- package/dist/{with-panes-4GCGSL7J.js → with-panes-OFTNAR4Y.js} +34 -20
- package/dist/worker/entry.js +99 -85
- package/dist/{workspace-ZJ6BFM3Q.js → workspace-DZ7JADBG.js} +6 -6
- package/docs/README.md +10 -8
- package/docs/architecture/acp.md +27 -0
- package/docs/architecture/architecture.md +5 -5
- package/docs/architecture/artifact-versions.md +1 -1
- package/docs/architecture/context-engine.md +44 -59
- package/docs/architecture/context-working-set.md +7 -9
- package/docs/architecture/dispatch-architecture-rationale.md +1 -1
- package/docs/architecture/dispatch-typed-intent.md +1 -1
- package/docs/architecture/evidence-and-memory.md +11 -1
- package/docs/architecture/observability.md +7 -1
- package/docs/architecture/pi-boundary.md +37 -7
- package/docs/architecture/prompt-envelope-and-tools.md +22 -12
- package/docs/architecture/safety-model.md +10 -17
- package/docs/architecture/session-lifecycle.md +4 -4
- package/docs/architecture/tui-design.md +1 -1
- package/docs/architecture/worker-dispatch-mechanics.md +4 -0
- package/docs/guide/built-in-agents.md +8 -8
- package/docs/guide/commands-and-modes.md +66 -38
- package/docs/guide/configuration-and-targets.md +10 -3
- package/docs/guide/configuration-reference.md +23 -8
- package/docs/guide/environment-variables.md +8 -4
- package/docs/guide/fleet-dispatch.md +12 -0
- package/docs/guide/installation-and-lifecycle.md +35 -9
- package/docs/guide/proactive-memory.md +1 -1
- package/docs/guide/skills-marketplace.md +11 -3
- package/docs/guide/tool-usage.md +87 -5
- package/docs/history/config-knobs-audit.md +2 -2
- package/docs/process/development-pipeline.md +15 -10
- package/docs/process/documentation-guide.md +2 -2
- package/docs/process/eval-runner.md +15 -0
- package/docs/process/evals-internal.md +1 -1
- package/docs/process/git-commit-provenance.md +15 -0
- package/docs/process/release-cut-checklist.md +207 -0
- package/docs/process/scientific-validation.md +18 -17
- package/evals/README.md +4 -0
- package/evals/behavioral-corpus-grader.mjs +147 -14
- package/evals/behavioral-machinery-support.ts +1 -0
- package/evals/behavioral-machinery.yaml +1 -1
- package/evals/behavioral-model-negative-control.yaml +1 -0
- package/evals/behavioral-model.yaml +266 -1
- package/evals/fixtures/docs-retrieval.json +102 -0
- package/evals/fixtures/scalar-decision.json +17 -0
- package/evals/fixtures/scout-citation-pipeline.json +55 -0
- package/evals/fixtures/source-explanation.json +74 -0
- package/evals/fixtures/tool-arguments.json +18 -0
- package/evals/fixtures/tool-surface/read.txt +4 -0
- package/evals/fixtures/tool-surface/subdir/keep.txt +1 -0
- package/evals/no-edit-memory-grader.mjs +149 -0
- package/evals/scalar-decision-grader.py +41 -0
- package/evals/scalar-decision-machinery.ts +145 -0
- package/evals/source-explanation-grader.mjs +118 -0
- package/evals/tool-surface-grader.mjs +53 -0
- package/evals/tool-surface-model.yaml +274 -0
- package/package.json +14 -14
- package/skills/README.md +6 -6
- package/skills/coding/coding-standards/SKILL.md +14 -4
- package/skills/context/context-handoff/SKILL.md +3 -3
- package/skills/context/context-prime/SKILL.md +3 -3
- package/skills/planning/architecture/SKILL.md +5 -5
- package/skills/planning/backlog/SKILL.md +4 -4
- package/skills/planning/prd/SKILL.md +4 -3
- package/skills/planning/product-intent/SKILL.md +8 -8
- package/skills/planning/tech-spec/SKILL.md +4 -4
- package/skills/registry.yaml +33 -33
- package/skills/research/arxiv-literature/SKILL.md +3 -3
- package/skills/research/experiment-protocol/SKILL.md +3 -3
- package/skills/research/scientific-debugging/SKILL.md +3 -2
- package/skills/research/scientific-modernization/SKILL.md +3 -3
- package/skills/skill-marketplace.json +17 -17
- package/skills/workflow/cut-it/SKILL.md +3 -4
- package/skills/workflow/design-council/SKILL.md +5 -10
- package/skills/workflow/grill-me/SKILL.md +14 -15
- package/skills/workflow/workflow-distiller/SKILL.md +4 -4
- package/src/cli/args.ts +0 -8
- package/src/cli/bootstrap-generate.ts +6 -0
- package/src/cli/config-inspect.ts +24 -7
- package/src/cli/config-trust.ts +62 -0
- package/src/cli/config.ts +8 -0
- package/src/cli/configure.ts +2 -1
- package/src/cli/context-map.ts +75 -14
- package/src/cli/context.ts +46 -17
- package/src/cli/doctor-state-size.ts +1 -12
- package/src/cli/doctor-validation-contract.ts +28 -0
- package/src/cli/doctor.ts +5 -0
- package/src/cli/eval.ts +17 -3
- package/src/cli/evidence-detail.ts +1 -75
- package/src/cli/evidence-inventory.ts +1 -167
- package/src/cli/index.ts +2 -0
- package/src/cli/modes/print.ts +32 -4
- package/src/cli/run.ts +16 -16
- package/src/cli/skills-eval.ts +10 -8
- package/src/cli/steer-channel.ts +31 -18
- package/src/cli/targets.ts +84 -32
- package/src/cli/tasks.ts +93 -0
- package/src/cli/upgrade.ts +19 -11
- package/src/cli/usage.ts +30 -0
- package/src/cli/verifiers.ts +147 -1
- package/src/cli/wiki-generate.ts +240 -96
- package/src/core/bash-exec.ts +43 -15
- package/src/core/bus-events.ts +15 -0
- package/src/core/commit-attribution.ts +41 -1
- package/src/core/config.ts +33 -14
- package/src/core/defaults.ts +5 -4
- package/src/core/file-references.ts +11 -1
- package/src/core/git-commit-attribution.ts +46 -3
- package/src/core/incomplete-installation.ts +3 -1
- package/src/core/run-overrides.ts +0 -5
- package/src/core/settings-layers.ts +21 -5
- package/src/core/skill-activation.ts +3 -0
- package/src/core/termination.ts +26 -9
- package/src/core/tool-names.ts +5 -2
- package/src/core/untrusted-content.ts +16 -0
- package/src/core/workspace-trust.ts +179 -0
- package/src/domains/agents/builtins/architect.md +1 -1
- package/src/domains/agents/builtins/coder.md +5 -3
- package/src/domains/agents/builtins/context-bootstrap.md +3 -1
- package/src/domains/agents/builtins/documenter.md +8 -5
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/provenance.md +7 -7
- package/src/domains/agents/builtins/researcher.md +1 -0
- package/src/domains/agents/builtins/scout.md +7 -1
- package/src/domains/agents/builtins/tester.md +1 -1
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +4 -3
- package/src/domains/agents/result-contract.ts +199 -26
- package/src/domains/context/bootstrap-prompt.ts +11 -9
- package/src/domains/context/bootstrap.ts +74 -39
- package/src/domains/context/clio-md.ts +88 -26
- package/src/domains/context/codewiki/build-operation.ts +121 -0
- package/src/domains/context/codewiki/build-worker-protocol.ts +37 -3
- package/src/domains/context/codewiki/build-worker.ts +3 -35
- package/src/domains/context/codewiki/coordinator.ts +36 -6
- package/src/domains/context/codewiki/indexer.ts +59 -19
- package/src/domains/context/contract.ts +6 -2
- package/src/domains/context/extension.ts +97 -11
- package/src/domains/context/fingerprint.ts +39 -34
- package/src/domains/context/index.ts +7 -1
- package/src/domains/context/prompt-context.ts +55 -14
- package/src/domains/context/refresh.ts +12 -57
- package/src/domains/context/wiki/assemble.ts +14 -10
- package/src/domains/context/wiki/evidence.ts +209 -0
- package/src/domains/context/wiki/frontmatter.ts +5 -2
- package/src/domains/context/wiki/generate.ts +207 -67
- package/src/domains/context/wiki/meta.ts +10 -2
- package/src/domains/context/wiki/plan-store.ts +70 -14
- package/src/domains/context/wiki/plan.ts +71 -14
- package/src/domains/context/wiki/prompts.ts +85 -1
- package/src/domains/context/wiki/source-content.ts +106 -0
- package/src/domains/context/wiki/staleness.ts +33 -22
- package/src/domains/context/working-set/contract.ts +8 -2
- package/src/domains/context/working-set/engine.ts +17 -4
- package/src/domains/context/working-set/fold.ts +15 -2
- package/src/domains/context/working-set/marker.ts +2 -1
- package/src/domains/context/working-set/project.ts +18 -7
- package/src/domains/context/working-set/recall.ts +82 -56
- package/src/domains/dispatch/active-route-planner.ts +10 -3
- package/src/domains/dispatch/admission-queue.ts +19 -7
- package/src/domains/dispatch/admission.ts +3 -3
- package/src/domains/dispatch/budget-envelope.ts +47 -82
- package/src/domains/dispatch/capacity-lease.ts +57 -19
- package/src/domains/dispatch/code-step.ts +11 -4
- package/src/domains/dispatch/contract.ts +41 -9
- package/src/domains/dispatch/event-pump.ts +28 -7
- package/src/domains/dispatch/execution-role.ts +49 -2
- package/src/domains/dispatch/execution-scheduler.ts +4 -0
- package/src/domains/dispatch/extension.ts +240 -132
- package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
- package/src/domains/dispatch/fleet-run.ts +21 -0
- package/src/domains/dispatch/gate-role-prompts.ts +4 -2
- package/src/domains/dispatch/host-verification.ts +114 -13
- package/src/domains/dispatch/intent.ts +28 -18
- package/src/domains/dispatch/orphan-recovery.ts +2 -0
- package/src/domains/dispatch/parallel-writers.ts +34 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/reservation-store.ts +13 -37
- package/src/domains/dispatch/route-approval.ts +3 -3
- package/src/domains/dispatch/route-observer.ts +4 -2
- package/src/domains/dispatch/route-quality.ts +6 -1
- package/src/domains/dispatch/state.ts +15 -2
- package/src/domains/dispatch/types.ts +21 -5
- package/src/domains/dispatch/worker-spawn.ts +58 -21
- package/src/domains/dispatch/workspace-checkpoint.ts +57 -0
- package/src/domains/eval/compare/behavioral.ts +81 -14
- package/src/domains/eval/compare/compare.ts +15 -5
- package/src/domains/eval/compare/envelope.ts +12 -5
- package/src/domains/eval/metrics/context.ts +24 -1
- package/src/domains/eval/metrics/tracked.ts +4 -28
- package/src/domains/eval/reports/comparison.ts +9 -9
- package/src/domains/eval/runners/clio-run.ts +17 -10
- package/src/domains/eval/runners/context-index.ts +2 -7
- package/src/domains/eval/runners/context-init.ts +3 -6
- package/src/domains/eval/runners/external-command.ts +29 -11
- package/src/domains/eval/schema/suite.ts +2 -0
- package/src/domains/eval/schema/validate.ts +1 -0
- package/src/domains/eval/suites/run.ts +189 -13
- package/src/domains/eval/verifiers/integrity.ts +39 -0
- package/src/domains/eval/verifiers/patch.ts +58 -2
- package/src/domains/eval/workspaces/temp-copy.ts +3 -0
- package/src/domains/evidence/build.ts +106 -17
- package/src/domains/evidence/detail.ts +69 -0
- package/src/domains/evidence/eval.ts +13 -1
- package/src/domains/evidence/finish-contract-map.ts +5 -1
- package/src/domains/evidence/inventory.ts +167 -0
- package/src/domains/evidence/store.ts +16 -0
- package/src/domains/evidence/types.ts +12 -0
- package/src/domains/extensions/resources.ts +7 -0
- package/src/domains/interop/registry.ts +2 -2
- package/src/domains/middleware/hooks-io.ts +45 -26
- package/src/domains/middleware/hooks.ts +6 -0
- package/src/domains/middleware/injection-screen.ts +23 -0
- package/src/domains/middleware/marketplace-offer.ts +20 -1
- package/src/domains/middleware/rules.ts +5 -1
- package/src/domains/middleware/runtime.ts +7 -3
- package/src/domains/middleware/stalled-turn.ts +18 -3
- package/src/domains/middleware/task-board-reminder.ts +4 -2
- package/src/domains/middleware/task-nudge.ts +4 -1
- package/src/domains/mux/contract.ts +34 -1
- package/src/domains/mux/detect.ts +3 -6
- package/src/domains/mux/dock-controller.ts +8 -1
- package/src/domains/mux/index.ts +1 -0
- package/src/domains/mux/socket-client.ts +13 -3
- package/src/domains/observability/accountability.ts +15 -1
- package/src/domains/observability/contract.ts +54 -9
- package/src/domains/observability/evidence-index.ts +10 -0
- package/src/domains/observability/extension.ts +9 -5
- package/src/domains/observability/projection.ts +423 -53
- package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
- package/src/domains/prompts/compiler.ts +10 -2
- package/src/domains/prompts/contract.ts +7 -4
- package/src/domains/prompts/extension.ts +28 -64
- package/src/domains/prompts/fragments/identity/clio.md +23 -0
- package/src/domains/prompts/fragments/operating/contract.md +12 -0
- package/src/domains/prompts/fragments/operating/delegation.md +5 -0
- package/src/domains/prompts/fragments/wiki/page.md +36 -15
- package/src/domains/prompts/fragments/wiki/plan.md +4 -4
- package/src/domains/prompts/preload-prefix.ts +31 -0
- package/src/domains/prompts/preload.ts +135 -61
- package/src/domains/providers/auth/backend-file.ts +15 -11
- package/src/domains/providers/auth/storage.ts +3 -5
- package/src/domains/providers/catalog.ts +18 -3
- package/src/domains/providers/model-discovery.ts +1 -4
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +16 -14
- package/src/domains/providers/runtime-resolution.ts +11 -9
- package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
- package/src/domains/providers/runtimes/cloud/openrouter.ts +2 -0
- package/src/domains/providers/support.ts +1 -1
- package/src/domains/providers/types/runtime-descriptor.ts +1 -1
- package/src/domains/resources/skills/promotion.ts +8 -1
- package/src/domains/safety/action-classifier.ts +16 -0
- package/src/domains/safety/autonomy.ts +10 -1
- package/src/domains/safety/contract.ts +5 -1
- package/src/domains/safety/default-path-policy.ts +13 -0
- package/src/domains/safety/extension.ts +11 -2
- package/src/domains/safety/finish-contract-registration.ts +29 -14
- package/src/domains/safety/finish-contract.ts +252 -40
- package/src/domains/safety/index.ts +20 -1
- package/src/domains/safety/policy-engine.ts +211 -34
- package/src/domains/safety/project-policy.ts +7 -2
- package/src/domains/safety/rigor.ts +53 -39
- package/src/domains/safety/validation-contract.ts +388 -0
- package/src/domains/safety/workspace-trust.ts +43 -0
- package/src/domains/session/archive-readers.ts +10 -1
- package/src/domains/session/compaction/compact.ts +384 -21
- package/src/domains/session/compaction/cut-point.ts +42 -5
- package/src/domains/session/compaction/tokens.ts +9 -1
- package/src/domains/session/decision-board.ts +137 -28
- package/src/domains/session/entries.ts +213 -11
- package/src/domains/session/extension.ts +4 -4
- package/src/domains/session/handoff.ts +2 -1
- package/src/domains/session/manager.ts +2 -3
- package/src/domains/session/prompt-manifest.ts +47 -8
- package/src/domains/session/task-board.ts +32 -1
- package/src/domains/session/tree/fork.ts +1 -2
- package/src/domains/session/tree/navigator.ts +1 -1
- package/src/domains/user-tasks/acceptance.ts +56 -0
- package/src/domains/user-tasks/active-acceptance.ts +40 -0
- package/src/domains/user-tasks/handoff.ts +16 -0
- package/src/domains/user-tasks/store.ts +34 -3
- package/src/engine/acp/adapter.ts +60 -10
- package/src/engine/acp/server.ts +22 -4
- package/src/engine/acp/transport.ts +55 -9
- package/src/engine/acp/types.ts +9 -0
- package/src/engine/antigravity/subprocess-runtime.ts +20 -4
- package/src/engine/api-registry.ts +19 -2
- package/src/engine/apis/ollama-native.ts +15 -0
- package/src/engine/apis/openai-completions.ts +13 -6
- package/src/engine/apis/output-budget.ts +26 -10
- package/src/engine/claude/sdk-runtime.ts +4 -3
- package/src/engine/claude/subprocess-runtime.ts +107 -60
- package/src/engine/env-api-keys.ts +2 -1
- package/src/engine/external-subprocess.ts +26 -7
- package/src/engine/loop-guard.ts +19 -2
- package/src/engine/provider-diagnostics.ts +129 -0
- package/src/engine/provider-payload.ts +3 -1
- package/src/engine/worker-runtime.ts +13 -2
- package/src/engine/worker-tools.ts +5 -1
- package/src/entry/extension-reload.ts +1 -0
- package/src/entry/orchestrator.ts +64 -17
- package/src/interactive/chat-loop-messages.ts +12 -4
- package/src/interactive/chat-loop.ts +115 -45
- package/src/interactive/chat-renderer.ts +60 -0
- package/src/interactive/context-recall-command.ts +2 -1
- package/src/interactive/dispatch-board.ts +58 -714
- package/src/interactive/editor-submit.ts +13 -0
- package/src/interactive/fleet-run-preview.ts +2 -1
- package/src/interactive/interactive-application.ts +11 -4
- package/src/interactive/interactive-event-projection.ts +7 -1
- package/src/interactive/interactive-presentation.ts +63 -12
- package/src/interactive/interactive-slash-runtime.ts +4 -1
- package/src/interactive/layout.ts +2 -1
- package/src/interactive/model-session-replay.ts +2 -2
- package/src/interactive/oracle.ts +5 -2
- package/src/interactive/overlay-frame.ts +1 -0
- package/src/interactive/overlay-general-openers.ts +3 -1
- package/src/interactive/overlay-session-lifecycle.ts +6 -0
- package/src/interactive/overlays/ask-user.ts +1 -0
- package/src/interactive/overlays/fleet-run-approval.ts +3 -2
- package/src/interactive/overlays/message-picker.ts +3 -3
- package/src/interactive/overlays/settings.ts +2 -2
- package/src/interactive/overlays/tree-selector.ts +2 -2
- package/src/interactive/renderers/branch-summary.ts +1 -1
- package/src/interactive/renderers/tool-execution.ts +17 -1
- package/src/interactive/renderers/worker-entry.ts +25 -10
- package/src/interactive/slash-autocomplete.ts +4 -6
- package/src/interactive/slash-commands.ts +31 -43
- package/src/interactive/slash-spec.ts +28 -0
- package/src/interactive/turn-context.ts +221 -53
- package/src/interactive/turn-middleware.ts +3 -1
- package/src/interactive/turn-persistence.ts +3 -0
- package/src/interactive/turn-runtime.ts +11 -2
- package/src/interactive/turn-state.ts +10 -9
- package/src/interactive/view/artifacts.ts +2 -0
- package/src/interactive/watch-pane.ts +18 -4
- package/src/interactive/worker-stream.ts +14 -10
- package/src/tools/agent-tools.ts +6 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +40 -2
- package/src/tools/codewiki/code-nav.ts +4 -10
- package/src/tools/compete-judge-task.ts +71 -0
- package/src/tools/compete-worktrees.ts +41 -1
- package/src/tools/context/index.ts +32 -7
- package/src/tools/context/surface.ts +15 -4
- package/src/tools/core-bootstrap.ts +16 -0
- package/src/tools/decide.ts +136 -0
- package/src/tools/dispatch-admission.ts +33 -1
- package/src/tools/dispatch-arguments.ts +38 -1
- package/src/tools/dispatch-plan.ts +12 -9
- package/src/tools/dispatch-runner.ts +63 -33
- package/src/tools/dispatch-schema.ts +30 -23
- package/src/tools/dispatch-scout-admission.ts +10 -44
- package/src/tools/dispatch-scout.ts +2 -3
- package/src/tools/dispatch-types.ts +6 -0
- package/src/tools/evidence.ts +96 -0
- package/src/tools/find.ts +13 -4
- package/src/tools/grep.ts +13 -1
- package/src/tools/limitation.ts +76 -0
- package/src/tools/ls.ts +7 -1
- package/src/tools/monitor.ts +26 -11
- package/src/tools/network-policy.ts +11 -24
- package/src/tools/observation.ts +39 -2
- package/src/tools/policy.ts +9 -0
- package/src/tools/presentation.ts +3 -0
- package/src/tools/read.ts +112 -15
- package/src/tools/registry.ts +55 -18
- package/src/tools/result-shaping.ts +127 -7
- package/src/tools/task-worktree.ts +13 -3
- package/src/tools/tasks.ts +40 -5
- package/src/tools/verify/authoring.ts +170 -83
- package/src/tools/verify/catalog.ts +122 -5
- package/src/tools/verify/frontend.ts +67 -30
- package/src/tools/verify/index.ts +2 -1
- package/src/tools/verify/numeric.ts +303 -0
- package/src/tools/verify/perf.ts +143 -0
- package/src/tools/verify/scripts.ts +229 -2
- package/src/tools/web-fetch-network.ts +179 -0
- package/src/tools/web-fetch-surface.ts +2 -1
- package/src/tools/web-fetch.ts +15 -13
- package/src/tools/worker-evidence.ts +27 -0
- package/src/worker/spec-contract.ts +12 -8
- package/dist/builtins-IA7V7FUC.js +0 -22
- package/dist/chunk-2WZ546HR.js +0 -792
- package/dist/chunk-5PSMVOLM.js +0 -56
- package/dist/chunk-7DICMOS6.js +0 -313
- package/dist/chunk-BEPZRGGU.js +0 -1560
- package/dist/chunk-JVCV3ICN.js +0 -47
- package/dist/chunk-KK4JZPBQ.js +0 -3982
- package/dist/chunk-MNJGS2IN.js +0 -33
- package/dist/chunk-NDINPTJ4.js +0 -641
- package/dist/chunk-O5CVSAG5.js +0 -122
- package/dist/chunk-OQE5J4C6.js +0 -73
- package/dist/chunk-RVG5JXAL.js +0 -41
- package/dist/chunk-T56WDKA5.js +0 -183
- package/dist/chunk-UUVG37B4.js +0 -244
- package/dist/chunk-VPKWYKEY.js +0 -169
- package/dist/chunk-Y3CBHOR6.js +0 -228
- package/dist/clio-CMMK4KRR.js +0 -25
- package/dist/configure-LE3IK2TJ.js +0 -56
- package/dist/context-clear-BW4O37TG.js +0 -176
- package/dist/fleet-view-SWBR3VGQ.js +0 -97
- package/dist/preload-P6DGH2PZ.js +0 -13
- package/dist/slash-commands-S7MBJDQK.js +0 -83
- package/dist/tools-TFGJICCU.js +0 -29
- package/dist/verify-RWE4PPEK.js +0 -27
- package/dist/wiki-generate-C7IQOXSP.js +0 -469
|
@@ -22,7 +22,7 @@ under pressure; git mechanics alone never justify a stage.
|
|
|
22
22
|
| 2. Fix | [`fix-issue`](../../skills/git/fix-issue/) | An uncommitted, verified change where failing tests preceded the fix, self-reviewed against the issue's acceptance criteria |
|
|
23
23
|
| 3. Ship | [`ship`](../../skills/git/ship/) | An atomic conventional commit referencing the issue (`fixes #N`); contributors push it to their fork and open a PR, while maintainer work stays local for gated integration; merge is a human decision |
|
|
24
24
|
|
|
25
|
-
Releases follow [release-cut-checklist.md](
|
|
25
|
+
Releases follow [release-cut-checklist.md](release-cut-checklist.md) as a
|
|
26
26
|
human-gated checklist, not a skill. Worktrees
|
|
27
27
|
([`worktree-create`](../../skills/git/worktree-create/),
|
|
28
28
|
[`worktree-merge`](../../skills/git/worktree-merge/)),
|
|
@@ -74,10 +74,10 @@ replace Clio copies without crossing the product boundary:
|
|
|
74
74
|
|
|
75
75
|
1. Read the release notes or package changelogs for `pi-ai`, `pi-agent-core`,
|
|
76
76
|
and `pi-tui`.
|
|
77
|
-
2. Run `
|
|
77
|
+
2. Run `pnpm run pi:surface-diff`. A changed or removed symbol that Clio imports
|
|
78
78
|
is an error; a new export is review input.
|
|
79
79
|
3. Run the focused contracts in the
|
|
80
|
-
[Pi regression net](../architecture/pi-boundary.md#pi-regression-net), then run `
|
|
80
|
+
[Pi regression net](../architecture/pi-boundary.md#pi-regression-net), then run `pnpm run ci`.
|
|
81
81
|
4. Walk Pi's fixed-issue list against the
|
|
82
82
|
[Pi SDK boundary table](../architecture/pi-boundary.md). For every fix in a surface Clio
|
|
83
83
|
still owns, either delete Clio's copy in favor of Pi or add a dated reason
|
|
@@ -86,26 +86,31 @@ replace Clio copies without crossing the product boundary:
|
|
|
86
86
|
worth a Clio ticket.
|
|
87
87
|
|
|
88
88
|
After review, regenerate `docs/pi-surface.json` with
|
|
89
|
-
`
|
|
89
|
+
`pnpm run pi:surface-snapshot`, inspect the symbol and signature changes, and
|
|
90
90
|
commit the dependency pins, snapshot, boundary notes, and proving contracts
|
|
91
|
-
together. `
|
|
91
|
+
together. `pnpm run lint` invokes the surface check automatically when the
|
|
92
92
|
installed Pi versions differ from the checked-in snapshot.
|
|
93
93
|
|
|
94
94
|
## Test lanes
|
|
95
95
|
|
|
96
|
-
`
|
|
96
|
+
`pnpm test` uses Node's test runner over every `tests/contracts/*.test.ts` and
|
|
97
97
|
`tests/smoke/*.test.ts` file, with `tests/harness/tmp-root.ts` preloaded to
|
|
98
98
|
isolate test state. Its `pretest` hook builds `dist/` when the CLI bundle is
|
|
99
99
|
absent. Run one focused file while iterating with:
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
|
-
|
|
102
|
+
pnpm run test:file tests/contracts/<name>.test.ts
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
There is no committed weighted-shard or special serial-lane runner. Keep timing
|
|
106
|
-
claims within the focused contract that owns them, and use the full `
|
|
106
|
+
claims within the focused contract that owns them, and use the full `pnpm run ci`
|
|
107
107
|
gate before handoff.
|
|
108
108
|
|
|
109
|
+
The release smoke script `scripts/smoke-real-home.sh` (invoked via
|
|
110
|
+
`pnpm run smoke:real-home`) tests booting the built CLI binary against a copy of
|
|
111
|
+
the operator settings in a scratch home. An optional `--strict` flag makes doctor
|
|
112
|
+
exit 1 fail the smoke run on failing rows instead of tolerating fleet state.
|
|
113
|
+
|
|
109
114
|
## Issue conventions
|
|
110
115
|
|
|
111
116
|
- **Title**: conventional tag plus imperative summary (`fix: memory overlay
|
|
@@ -138,7 +143,7 @@ or bumped; the milestone closes when the tag is published.
|
|
|
138
143
|
## Dogfooding setup
|
|
139
144
|
|
|
140
145
|
The marketplace copy under `skills/git/` is the committed source of truth,
|
|
141
|
-
pinned in `skills/registry.yaml` by `
|
|
146
|
+
pinned in `skills/registry.yaml` by `pnpm run skills:pin`. Runtime roots are
|
|
142
147
|
gitignored, so each developer installs locally:
|
|
143
148
|
|
|
144
149
|
```bash
|
|
@@ -147,6 +152,6 @@ cp -r skills/git/file-ticket .claude/skills/ # Claude Code
|
|
|
147
152
|
```
|
|
148
153
|
|
|
149
154
|
The other pipeline skills are model-invoked from the marketplace catalog the
|
|
150
|
-
same way. When a skill changes, re-run `
|
|
155
|
+
same way. When a skill changes, re-run `pnpm run skills:pin` and re-copy;
|
|
151
156
|
drift between an installed copy and the pinned hash surfaces a warning at
|
|
152
157
|
activation.
|
|
@@ -138,7 +138,7 @@ have a dedicated blueprint. `docs/html/index.html` groups those counterparts by
|
|
|
138
138
|
the same Guide, Architecture, Process, and History tree, while a source meta tag
|
|
139
139
|
provides the one-to-one machine-readable mapping. Every mapping must remain
|
|
140
140
|
unique, complete, and free of orphaned Markdown or HTML pages.
|
|
141
|
-
`
|
|
141
|
+
`pnpm run lint` rejects any absent named blueprint, enforces that mapping, and
|
|
142
142
|
compares every extractable `clio-coder <command>` string and `CLIO_CODER_*`
|
|
143
143
|
name in each counterpart.
|
|
144
144
|
|
|
@@ -154,7 +154,7 @@ When a feature changes:
|
|
|
154
154
|
4. If behavior affects safety, sessions, receipts, prompts, targets, or dispatch, update both README-level user docs and the deeper guide.
|
|
155
155
|
5. Run a lightweight link check for changed Markdown.
|
|
156
156
|
6. For release docs, verify version badges/sections match `package.json` and `CHANGELOG.md`.
|
|
157
|
-
7. Run `
|
|
157
|
+
7. Run `pnpm run lint` to verify Markdown and HTML blueprint parity.
|
|
158
158
|
|
|
159
159
|
Suggested local link check:
|
|
160
160
|
|
|
@@ -408,6 +408,17 @@ classifications: `improved`, `regressed`, `unchanged`, or `incomparable` for the
|
|
|
408
408
|
mean and for variability. Lower variance is the improvement direction for the
|
|
409
409
|
variability classification.
|
|
410
410
|
|
|
411
|
+
When both artifacts declare `target` or `wireModel` in `matrix.dimensions`,
|
|
412
|
+
the corresponding target id or model id is omitted from scenario grouping.
|
|
413
|
+
This aligns a single baseline route with a single candidate route before
|
|
414
|
+
checking their execution envelopes. Reports preserve both route identities
|
|
415
|
+
as `baselineTargets` and `candidateTargets`; the existing `target` remains the
|
|
416
|
+
baseline route, or the candidate route when the baseline group is missing.
|
|
417
|
+
If grouping would combine multiple distinct target/model routes on either
|
|
418
|
+
side, comparison fails with `behavioralMetrics.ambiguousRouteGroup` instead
|
|
419
|
+
of treating the pooled trials as comparable. Repeats of the same route still
|
|
420
|
+
form one distribution.
|
|
421
|
+
|
|
411
422
|
Correctness and safety rows are hard. A measured regression fails the hard
|
|
412
423
|
gate even when pass rate, tokens, latency, or cost improved. Losing a
|
|
413
424
|
correctness or safety measurement that existed in the baseline is also a hard
|
|
@@ -509,3 +520,7 @@ The current reference `mini` endpoint is the llama.cpp router at `192.168.86.141
|
|
|
509
520
|
## Task Outcome Measurement (`verify.measure`)
|
|
510
521
|
|
|
511
522
|
Task outcome commands declared under `verify.measure` are the code grader for whether the model solved the workload and record metrics (`task.solved`, `task.exitCode`). A non-zero exit fails the final result and is named on its verdict as `reason: grader_failed`, while `machinery` remains `ok` when the runner and machinery verifiers succeeded. This keeps the artifact's `pass`, verdict outcome, scenario aggregates, and summary on one pass decision without misreporting a grader failure as broken machinery.
|
|
523
|
+
|
|
524
|
+
## Artifact reporting and comparison
|
|
525
|
+
|
|
526
|
+
Eval runs print a report command for custom output artifacts. `clio-coder eval report --artifact <path>` reads the original artifact with strict provenance validation and does not import it into the store. Comparison aligns jointly declared target/model variations while preserving both route identities, rejects ambiguous route groups, and retains execution-envelope differences. Compact mismatch and hard-gate identities omit runner attachments; full artifact reports retain them.
|
|
@@ -66,6 +66,21 @@ Clio-Evidence: receipt-v20/sha256:<64-character digest>
|
|
|
66
66
|
Clio does not invent, shorten, or add an unrelated digest. The role trailers do
|
|
67
67
|
not depend on this optional line.
|
|
68
68
|
|
|
69
|
+
A commit also names the decisions it was made under, one trailer per active
|
|
70
|
+
decision on the session decision board (an `ask_user` answer or a design
|
|
71
|
+
choice the agent recorded with `decide`):
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
Clio-Decision: <interviewId>/<key>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The refs come from the sealed receipt's `decisionRefs` at the fleet seam and
|
|
78
|
+
from the live board at the session seam. They are sorted, capped at 32, added
|
|
79
|
+
once, and only refs of the `<id>/<key>` shape are written, where the key is an
|
|
80
|
+
operator `snake_case` key or an agent `kebab-case` key. A decision trailer
|
|
81
|
+
records rationale provenance; it is not evidence that the decision was correct
|
|
82
|
+
or that its work was validated.
|
|
83
|
+
|
|
69
84
|
## Commit paths and hooks
|
|
70
85
|
|
|
71
86
|
The deterministic SDLC fleet attributes its plan, code, and documentation
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# Release-Cut Checklist
|
|
2
|
+
|
|
3
|
+
> **Visual blueprint:** The source checkout includes the complete
|
|
4
|
+
> [Release-Cut Checklist visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/release_checklist_blueprint.html).
|
|
5
|
+
|
|
6
|
+
This document provides the standard procedure for cutting a release of Clio Coder.
|
|
7
|
+
Releases are cut from an annotated tag on canonical main. The GitHub release is
|
|
8
|
+
produced by GitHub Actions, while package publication to npm is an authorized manual
|
|
9
|
+
step performed by a maintainer. Everything before the authorization boundary is local,
|
|
10
|
+
repeatable, and reversible. Every step following the authorization boundary affects
|
|
11
|
+
canonical remote state or publishes immutable packages.
|
|
12
|
+
|
|
13
|
+
## Part 1: Candidate Preparation on a Local Compact Branch
|
|
14
|
+
|
|
15
|
+
Maintainers prepare release candidates on a local-only compact branch named after
|
|
16
|
+
the version without punctuation, such as `v044` for version `0.4.4`. Dotted branch
|
|
17
|
+
names like `v0.4.4` are forbidden because dotted names belong exclusively to immutable
|
|
18
|
+
tags. The canonical repository hosts only `main`, and no release candidate branch is
|
|
19
|
+
ever pushed to canonical origin.
|
|
20
|
+
|
|
21
|
+
1. Ensure the working tree is clean and updated from canonical origin:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
git checkout -b v044 origin/main
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
2. Update `version` in `package.json` to the release version.
|
|
28
|
+
|
|
29
|
+
3. Retitle the active changelog section in `CHANGELOG.md` from `## Unreleased` to
|
|
30
|
+
`## <version> - YYYY-MM-DD`. The release gate in `scripts/check-release.mjs` requires
|
|
31
|
+
the first version header to match the version in `package.json`.
|
|
32
|
+
|
|
33
|
+
4. Commit the release candidate preparation locally:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
git commit -am "chore(release): prepare <version>"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Part 2: Local Candidate Verification Gate
|
|
40
|
+
|
|
41
|
+
Run deterministic local checks on the candidate commit before requesting authorization.
|
|
42
|
+
|
|
43
|
+
1. Execute the release gate:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pnpm run ci:release
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
This gate runs `pnpm run ci` followed by `node scripts/check-release.mjs`. It verifies
|
|
50
|
+
type checking, Biome formatting, hygiene rules, architecture boundary invariants,
|
|
51
|
+
the build, the contract and smoke test suites, trace-viewer tests, and dist integrity.
|
|
52
|
+
The packaging audit checks executable entry shebangs, ensures forbidden files like
|
|
53
|
+
source maps and caches are omitted, verifies runtime resources from `scripts/release-manifest.json`,
|
|
54
|
+
and enforces size limits (10 MB packed, 50 MB unpacked).
|
|
55
|
+
|
|
56
|
+
2. Optionally validate a live model turn against a configured target:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
node dist/cli/index.js run --target <id> --autonomy read-only "Reply with exactly: CLIO_LIVE_OK"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
3. Run the real-home smoke test against the operator configuration:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pnpm run smoke:real-home --target <id> --strict
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
This runs `scripts/smoke-real-home.sh` using a copy of operator settings in a scratch
|
|
69
|
+
`CLIO_CODER_HOME`. The `--strict` flag ensures any failing rows from `clio-coder doctor`
|
|
70
|
+
fail the smoke run.
|
|
71
|
+
|
|
72
|
+
4. Inspect the npm package contents with a dry run:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm pack --dry-run
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
5. Validate an installed tarball in a clean temporary directory:
|
|
79
|
+
|
|
80
|
+
Create a temporary directory, pack the tarball, install it via npm, and verify
|
|
81
|
+
installed binary lifecycle commands in an isolated environment with an empty `CLIO_CODER_HOME`:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
clio-coder --version
|
|
85
|
+
clio-coder --help
|
|
86
|
+
clio-coder doctor
|
|
87
|
+
clio-coder uninstall --dry-run
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Part 3: Candidate Review and Authorization Boundary
|
|
91
|
+
|
|
92
|
+
Before touching any remote ref, summarize the candidate for maintainer review:
|
|
93
|
+
- Candidate commit SHA
|
|
94
|
+
- Results of `pnpm run ci:release`
|
|
95
|
+
- Verification output from real-home smoke and installed package testing
|
|
96
|
+
- Changelog contents and target npm version
|
|
97
|
+
|
|
98
|
+
Every step below changes canonical remote refs, creates a release, or publishes
|
|
99
|
+
an immutable package. Do not execute any of them without explicit maintainer authorization.
|
|
100
|
+
|
|
101
|
+
## Part 4: Fast-forward Canonical Main
|
|
102
|
+
|
|
103
|
+
1. Fetch the latest remote status from origin:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
git fetch origin
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
2. Confirm `origin/main` is an ancestor of the local candidate branch.
|
|
110
|
+
|
|
111
|
+
3. Fast-forward local `main` to the candidate commit:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
git checkout main
|
|
115
|
+
git merge --ff-only v044
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
4. Verify that local `main` matches the reviewed candidate SHA exactly.
|
|
119
|
+
|
|
120
|
+
5. Push `main` to canonical origin:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
git push origin refs/heads/main:refs/heads/main
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
No release branch is ever pushed to origin.
|
|
127
|
+
|
|
128
|
+
## Part 5: Tagging and GitHub Release
|
|
129
|
+
|
|
130
|
+
1. Wait for GitHub Actions CI on canonical `main` to finish green for the pushed SHA.
|
|
131
|
+
|
|
132
|
+
2. Create an annotated git tag matching the version:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
git tag -a v<version> -m "Clio Coder <version>"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
3. Push only the release tag to canonical origin:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
git push origin refs/tags/v<version>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
4. Pushing the tag triggers `.github/workflows/release.yml`. The workflow:
|
|
145
|
+
- Verifies the tag matches `package.json`.
|
|
146
|
+
- Runs `pnpm run ci:release` on the tagged commit.
|
|
147
|
+
- Packs the release tarball with `npm pack`.
|
|
148
|
+
- Extracts the version changelog section from `CHANGELOG.md`.
|
|
149
|
+
- Creates the GitHub Release with the tarball attached using `gh release create`.
|
|
150
|
+
|
|
151
|
+
5. Inspect the GitHub Actions workflow run and confirm the GitHub release is published.
|
|
152
|
+
|
|
153
|
+
## Part 6: Package Publication to npm
|
|
154
|
+
|
|
155
|
+
Publishing to npm is a manual maintainer step performed from the tagged commit.
|
|
156
|
+
|
|
157
|
+
1. Confirm authentication and registry status:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npm whoami
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
2. Confirm the version does not already exist on npm:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
npm view @iowarp/clio-coder@<version>
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
3. Publish the package from the tagged checkout:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
npm publish
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
The `prepublishOnly` lifecycle script sets `CLIO_CODER_RELEASE_CONTEXT=publish` and
|
|
176
|
+
re-executes `pnpm run ci:release` as a mandatory release-mode verification gate before
|
|
177
|
+
files are uploaded. When publishing a pre-release channel, append `--tag <channel>`.
|
|
178
|
+
|
|
179
|
+
## Part 7: Post-Publish Verification and Branch Closeout
|
|
180
|
+
|
|
181
|
+
1. Verify package availability on npm:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
npm view @iowarp/clio-coder version
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
2. On a clean machine, install the package globally and run basic lifecycle checks:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
npm install -g @iowarp/clio-coder@<version>
|
|
191
|
+
clio-coder --version
|
|
192
|
+
clio-coder doctor
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
3. Remove the local compact candidate branch:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
git branch -d v044
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
The canonical repository remains in its steady state containing only `main` and immutable tags.
|
|
202
|
+
|
|
203
|
+
## Part 8: Rollback and Error Recovery
|
|
204
|
+
|
|
205
|
+
npm package publication is irreversible. A published version cannot be removed or overwritten.
|
|
206
|
+
Any issue discovered after publication must be resolved through a subsequent release. Prior
|
|
207
|
+
to pushing git tags or publishing to npm, local candidate commits can be amended or reset freely.
|
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
|
|
6
6
|
Scientific software development cannot treat simple file presence as proof of correctness. A simulation script that crashes on rank 48, or writes out NetCDF arrays filled with `NaN`s, may still successfully write a file to the disk.
|
|
7
7
|
|
|
8
|
-
Clio Coder recognizes **scientific validation contract
|
|
8
|
+
Clio Coder recognizes a **scientific validation contract** as an opt-in signal for a higher evidence bar. One strict loader in `src/domains/safety/validation-contract.ts` reads the first of `.clio-coder/validation.yaml`, `.clio-coder/validation.yml`, `validation.yaml`, or `validation.yml` at the workspace root and parses it under the version-1 schema below. A contract that parses raises the default rigor level to `high`. A contract that does not parse (empty, malformed YAML, unknown field, unsupported version, over the 256 KiB cap) leaves rigor at `normal` and is diagnosed with the exact fault: `clio-coder doctor` reports it in the `validation contract` row, the interactive session prints it once at startup, and `clio-coder verifiers author` repeats it. A Markdown `VALIDATION.md` is recognized as present but is never parsed and never raises rigor on its own; it is advisory prose for developers, project agents, and external validators.
|
|
9
9
|
|
|
10
|
-
This advisory convention is separate from the executable project verifier catalog at `.clio-coder/verifiers.yaml`. The verifier catalog has a strict version
|
|
10
|
+
This advisory convention is separate from the executable project verifier catalog at `.clio-coder/verifiers.yaml`. The verifier catalog has a strict schema (version 2, with version 1 still loading) and admits exact argv vectors to the `verify` tool. Scientific validation contracts and handbook expectations do not grant command authority: prose such as `validators: ["python tools/check_grid.py"]` remains guidance until the project owner confirms the equivalent argv, cwd, timeout, and tags in `verifiers.yaml`. The executable catalog runs only the explicitly declared process vector through safe-exec; a `numeric-compare` or `perf-budget` entry adds a judgement of that command's output or wall time, never an interpretation of the contract's artifact expectations.
|
|
11
11
|
|
|
12
|
-
`clio-coder verifiers author`
|
|
12
|
+
`clio-coder verifiers author` reads the parsed contract's `validators` entries through the same loader and proposes catalog checks. It labels those vectors as project-declared and shows their source index, exact argv, cwd, timeout, tags, catalog path, and resulting execution authority. This inspection is read-only. A command string with sound quoting and no shell operator can be represented as argv for review; shell expansion, pipes, redirection, environment assignments, incomplete quoting, and Markdown prose receive a manual JSON-argv diagnostic. Nothing becomes executable and nothing is dry-run until the operator confirms the catalog write with `--yes`.
|
|
13
13
|
|
|
14
|
-
The convention below is a recommended shape for scientific projects that need to document expected dimensions, attributes, numerical tolerances, scheduler context, and verification commands for scientific artifacts. Developed at the [Gnosis Research Center (GRC)](https://grc.iit.edu) at Illinois Tech as part of the NSF-funded scientific-software context (NSF Award [#2411318](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2411318)), this convention links execution metadata with physical output checks
|
|
14
|
+
The convention below is a recommended shape for scientific projects that need to document expected dimensions, attributes, numerical tolerances, scheduler context, and verification commands for scientific artifacts. Developed at the [Gnosis Research Center (GRC)](https://grc.iit.edu) at Illinois Tech as part of the NSF-funded scientific-software context (NSF Award [#2411318](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2411318)), this convention links execution metadata with physical output checks; the harness executes a check only through a matching `verifiers.yaml` entry.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
## Validation Contract Convention
|
|
19
19
|
|
|
20
|
-
A validation contract
|
|
20
|
+
A validation contract is a YAML file under the version-1 schema; `VALIDATION.md` is the Markdown companion for prose that the schema cannot hold. A custom or project-level agent (such as a local `scientific-validator` agent example under `.clio-coder/agents/`) or the developer can draft these files and commit them next to the research code. The loader rejects unknown fields at every level and names the field it rejected, so a typo is a diagnostic rather than a silently ignored key.
|
|
21
21
|
|
|
22
22
|
### Example netCDF / Slurm validation contract:
|
|
23
23
|
```yaml
|
|
@@ -69,12 +69,14 @@ checks:
|
|
|
69
69
|
tags: [scientific, netcdf]
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
###
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
### Schema (version 1):
|
|
73
|
+
Every field except `version` is optional. Strings are capped at 4096 bytes (`notes` at 16 KiB), `artifacts` at 256 entries, `validators` at 128, `runtime.modules` at 64, and each map at 256 keys; a diagnostic cites the cap it crossed.
|
|
74
|
+
1. **`version`:** Required, exactly `1`.
|
|
75
|
+
2. **`task`:** One string describing the work the contract covers.
|
|
76
|
+
3. **`runtime`:** `kind` is required and one of `local`, `slurm`, `mpi`, or `other`; `nodes` and `ranks` are positive integers, `walltime` is a string, and `modules` is a list of strings.
|
|
77
|
+
4. **`artifacts`:** Each entry needs `path`; `format` is a string, `expected_dimensions` maps names to non-negative integers, `expected_attributes` maps names to strings, `numerical_tolerances` holds `relative`, `absolute` (finite non-negative numbers), and `ulp` (non-negative integer), and `preserve` is a boolean. `preserve` is a project convention for cleanup workflows; Clio's built-in protected-artifact guard is separate and is driven by live `protect_path` effects, not by this field.
|
|
78
|
+
5. **`validators`:** A list of command strings a verifier should satisfy. They remain prose until the project declares matching `verifiers.yaml` entries.
|
|
79
|
+
6. **`notes`:** Free text.
|
|
78
80
|
|
|
79
81
|
---
|
|
80
82
|
|
|
@@ -88,8 +90,7 @@ Comparing floating-point values in scientific computations must accommodate roun
|
|
|
88
90
|
| **`absolute`** | $|val - ref| \le absolute$ | Additive difference check. Used when reference value is close to `0`. |
|
|
89
91
|
| **`ulp`** | $StepsBetween(val, ref) \le ulp$ | Unit in the Last Place. Measures floating-point representation steps. |
|
|
90
92
|
|
|
91
|
-
|
|
92
|
-
> Clio core does not currently execute tolerance comparisons and does not apply a default numerical tolerance. Put defaults directly in project validators or contract text.
|
|
93
|
+
Tolerances become executable through a `kind: numeric-compare` entry in `.clio-coder/verifiers.yaml` (catalog version 2). The entry's `command` prints a JSON object of `string -> number | number[]` on stdout, `reference` names a repository-relative JSON file of the same shape, and `tolerance` names at least one of `relative`, `absolute`, or `ulp`. A value passes only when it satisfies every tolerance given; a key missing on either side fails with the key named, arrays compare elementwise and fail on length mismatch, and any `NaN` or infinity fails. The report lists each key's worst deviation and which tolerance it failed, and it is recorded on the `verify` result and on the host-verification check of a dispatch receipt. Clio applies no default tolerance: the catalog entry states it. `clio-coder verifiers author` proposes one such entry for every contract artifact that declares `numerical_tolerances`, with the command left for the operator to fill, so nothing runs until the operator confirms an exact argv. A `kind: perf-budget` entry judges the command's wall time the same way against a `budget` or a recorded baseline; see [Tool usage](../guide/tool-usage.md#project-verifier-catalog).
|
|
93
94
|
|
|
94
95
|
---
|
|
95
96
|
|
|
@@ -112,12 +113,12 @@ Scheduler-driven runs require distinct validation handling compared to local uni
|
|
|
112
113
|
- **Queue status is not validation**: Checking if a Slurm command like `sbatch` exits successfully only proves that the Slurm scheduler accepted the job script. A good contract tells the verifier how to check actual simulation artifacts inside `out/` or `ckpt/` after job completion.
|
|
113
114
|
- **Environment module loading**: The `runtime.modules` array can document the exact software stack dependencies (such as `intel/2024`, `openmpi/5.0`) that must be loaded before running the validators.
|
|
114
115
|
- **HPC and Data Integration**: For large-scale allocations such as those at the Argonne Leadership Computing Facility (ALCF), projects can archive verification logs through their own storage or data-transfer workflow. Clio core does not manage Globus transfers.
|
|
115
|
-
- **Validator execution**:
|
|
116
|
+
- **Validator execution**: A parsed contract's `artifacts` and `validators` are requirements the `verifier` agent and custom project-level agents must satisfy, and they are executable only through `verifiers.yaml` entries. Automated in-harness execution of the contract itself is not implemented.
|
|
116
117
|
|
|
117
118
|
### How a Validation Contract Raises Session Rigor
|
|
118
119
|
|
|
119
120
|
Clio Coder integrates scientific validation contracts directly into its safety model to raise the evidence standard automatically:
|
|
120
|
-
- **
|
|
121
|
-
- **High-Rigor Gate Requirements**: Once the rigor is
|
|
121
|
+
- **Parsed contract escalates**: At startup and at every finish-gate decision, `rigorResolution()` in `src/domains/safety/rigor.ts` loads the contract. A contract that parses raises the session's rigor level from `normal` to `high` with source `validation-contract`. An unparseable contract yields `normal` with source `invalid-contract` and the fault as the diagnostic; a Markdown-only workspace yields `normal` with source `markdown-advisory`. `CLIO_CODER_RIGOR` still overrides both directions.
|
|
122
|
+
- **High-Rigor Gate Requirements**: Once the rigor is `high`, the finish gate is active. It engages on a settled `turn_end` only when the recent window contains successful workspace mutation evidence and no validation evidence or `limitation` receipt. The window is entries since the last user message, capped at 80 entries:
|
|
122
123
|
- Clio issues a `request_continuation` middleware effect to keep the session running.
|
|
123
|
-
- Clio injects a dynamic warning reminder (`HIGH_RIGOR_REVALIDATION_MESSAGE`) instructing the agent to run a verification command or to
|
|
124
|
+
- Clio injects a dynamic warning reminder (`HIGH_RIGOR_REVALIDATION_MESSAGE`) instructing the agent to run a verification command or to call `limitation` before it can conclude the turn.
|
package/evals/README.md
CHANGED
|
@@ -3,3 +3,7 @@
|
|
|
3
3
|
These suites exercise Clio's one evaluation engine from a source checkout: run the deterministic built-in authority corpus with `node dist/cli/index.js eval run --suite evals/behavioral-machinery.yaml --clio-coder-entry dist/cli/index.js`, or select a configured model target for `behavioral-model.yaml`, `behavioral-model-negative-control.yaml`, and `tracked-metrics-baseline.yaml`. The npm archive keeps these inputs for inspection and reproducibility, but the deterministic TypeScript driver uses the repository development toolchain. The graders and fixtures beside the suites are versioned inputs; `behavioral-machinery-baseline.json` is retained as reference evidence, not as a release gate.
|
|
4
4
|
|
|
5
5
|
The single-system boundary is the engine under `src/domains/eval`: suites, verdict validation, artifact envelopes, comparison, and reporting belong there, while `evals/` contains source-checkout reference inputs and deterministic drivers. In v0.5.0, external-benchmark adapters such as SWE-bench and Terminal-Bench should translate their cases and grader observations into this engine's suite, execution, and verdict contracts, then consume its artifacts and comparison reports instead of adding a parallel harness.
|
|
6
|
+
|
|
7
|
+
`tool-surface-model.yaml` is a dedicated model-required suite for read tail arguments, bash working-directory reset between calls, and rejection of a non-HTTP web_fetch URL. Run it with a configured target using `node dist/cli/index.js eval run --suite evals/tool-surface-model.yaml --target <target-id> --model <model-id> --trials 3 --clio-coder-entry dist/cli/index.js`. This invokes the selected model and incurs its normal inference cost. The URL case deliberately expects one tool error; it requires no successful web request. The target must expose all three tools, and local policy blocks are measured separately from execution errors.
|
|
8
|
+
|
|
9
|
+
Each trial records `tools.calls.<tool>`, `tools.succeeded.<tool>`, `tools.failed.<tool>`, and `tools.blocked.<tool>` from terminal tool events, plus grader correctness. Compare repeated runs with the same target, model, and settings when evaluating a description change; no arbitrary text perturbation is guaranteed to worsen model behavior. CI executes the suite and real graders against controlled successful and failing event fixtures without calling a model. Those contracts validate the evaluation machinery and are not live model scores.
|