@iowarp/clio-coder 0.4.9 → 0.5.0
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-plugin/marketplace.json +11 -3
- package/CHANGELOG.md +153 -0
- package/CODE_OF_CONDUCT.md +10 -0
- package/CONTRIBUTING.md +208 -382
- package/NOTICE +8 -2
- package/README.md +199 -418
- package/ROADMAP.md +82 -0
- package/SECURITY.md +14 -11
- package/dist/acp-KS7ARGV6.js +132 -0
- package/dist/agents-YOGJ2YEJ.js +163 -0
- package/dist/assets/codewiki.json +1 -1
- package/dist/auth-CEDCO6O6.js +557 -0
- package/dist/background-YWTBPSQU.js +39 -0
- package/dist/builtins-GDYO4RTR.js +23 -0
- package/dist/chunk-27YTM2CV.js +175 -0
- package/dist/chunk-2AF6YC7Q.js +75 -0
- package/dist/chunk-2DTIWSAW.js +381 -0
- package/dist/chunk-2EMLKSCX.js +262 -0
- package/dist/chunk-2OJ3YZQP.js +665 -0
- package/dist/chunk-2VLYHHFT.js +35 -0
- package/dist/chunk-2WVPJF3Z.js +204 -0
- package/dist/chunk-33OASOS6.js +176 -0
- package/dist/chunk-3BD2LXYJ.js +19 -0
- package/dist/chunk-3JHUFKG7.js +30 -0
- package/dist/chunk-3JLTRPN7.js +711 -0
- package/dist/chunk-3LT34CAM.js +2796 -0
- package/dist/chunk-3O5JWP4L.js +1670 -0
- package/dist/chunk-3UW3KU4A.js +21 -0
- package/dist/chunk-4A6YRGV4.js +569 -0
- package/dist/chunk-4D2BRCZ3.js +67 -0
- package/dist/chunk-4SYHGVDE.js +668 -0
- package/dist/chunk-4VDHLCF5.js +66 -0
- package/dist/chunk-4WOOTKFD.js +637 -0
- package/dist/chunk-4WV4PI66.js +80 -0
- package/dist/chunk-53OXPRI6.js +195 -0
- package/dist/chunk-55RMDDFM.js +1347 -0
- package/dist/chunk-56XP4FJU.js +2025 -0
- package/dist/chunk-5B3RTYAK.js +123 -0
- package/dist/chunk-5CD243WE.js +45 -0
- package/dist/chunk-5JQR5B4D.js +709 -0
- package/dist/chunk-5KQEUIWM.js +597 -0
- package/dist/chunk-5LP5FNNR.js +915 -0
- package/dist/chunk-62UK7AGW.js +9344 -0
- package/dist/chunk-6CTHLZFB.js +563 -0
- package/dist/chunk-6EJYVCTN.js +23 -0
- package/dist/chunk-6OWUM2NC.js +12289 -0
- package/dist/chunk-6RJMYYIE.js +1023 -0
- package/dist/chunk-6W75D37F.js +643 -0
- package/dist/chunk-733ZBT5P.js +1721 -0
- package/dist/chunk-77DCC6JZ.js +3710 -0
- package/dist/chunk-7QXCO3AF.js +156 -0
- package/dist/chunk-7RET77VB.js +481 -0
- package/dist/chunk-A4MVRV4C.js +65 -0
- package/dist/chunk-ALJWT6O6.js +93 -0
- package/dist/chunk-AVSR2HKI.js +232 -0
- package/dist/chunk-B7GY6QER.js +42 -0
- package/dist/chunk-BFOSV5EZ.js +178 -0
- package/dist/chunk-BGOIM7NB.js +103 -0
- package/dist/chunk-BJH6WFIB.js +372 -0
- package/dist/chunk-BOBCCDJ6.js +1533 -0
- package/dist/chunk-BRCOSE7O.js +117 -0
- package/dist/chunk-BYFHHCFV.js +601 -0
- package/dist/chunk-C2CPOIH2.js +83 -0
- package/dist/chunk-C7AQTPCE.js +694 -0
- package/dist/chunk-CBAQPTDU.js +165 -0
- package/dist/chunk-CDQ2UC6W.js +125 -0
- package/dist/chunk-CN6SW5DC.js +177 -0
- package/dist/chunk-CRHPCPZP.js +132 -0
- package/dist/chunk-CTFPFW3H.js +44 -0
- package/dist/chunk-D3KWFOUT.js +103 -0
- package/dist/chunk-D65E25JG.js +185 -0
- package/dist/chunk-DCGHJQ2U.js +236 -0
- package/dist/chunk-DE2LU267.js +106 -0
- package/dist/chunk-DF6PI6GN.js +97 -0
- package/dist/chunk-DGC6X6XR.js +53 -0
- package/dist/chunk-DOUISWEE.js +526 -0
- package/dist/chunk-DR3TAEUA.js +188 -0
- package/dist/chunk-DVTBERFY.js +33 -0
- package/dist/chunk-DXSETN72.js +1051 -0
- package/dist/chunk-DZLR4UEH.js +128 -0
- package/dist/chunk-E6IPKW2E.js +77 -0
- package/dist/chunk-EG4ARXPC.js +139 -0
- package/dist/chunk-EKV4UBCM.js +652 -0
- package/dist/chunk-EOJPDNUP.js +1325 -0
- package/dist/chunk-EX57VVWW.js +4157 -0
- package/dist/chunk-EYTLV3W3.js +5937 -0
- package/dist/chunk-EZD2BXGP.js +475 -0
- package/dist/chunk-EZDCA34W.js +314 -0
- package/dist/chunk-FD2I4KBR.js +33 -0
- package/dist/chunk-FD3IAHQM.js +27 -0
- package/dist/chunk-FFYTC2KQ.js +416 -0
- package/dist/chunk-FGSQHUCK.js +110 -0
- package/dist/chunk-GCQFN7YI.js +32 -0
- package/dist/chunk-GGPF6LLE.js +38 -0
- package/dist/chunk-GGWI3OVM.js +215 -0
- package/dist/chunk-GLIQT7SU.js +172 -0
- package/dist/chunk-GN7QBEEI.js +95 -0
- package/dist/chunk-GRHOXDKB.js +1104 -0
- package/dist/chunk-HMN2C6YL.js +54 -0
- package/dist/chunk-HOEDA42N.js +310 -0
- package/dist/chunk-HOYZUKG7.js +192 -0
- package/dist/chunk-HQVN7G4F.js +1021 -0
- package/dist/chunk-HSQQFDB3.js +519 -0
- package/dist/chunk-I4ELN5BX.js +47 -0
- package/dist/chunk-I4Y4WKZR.js +386 -0
- package/dist/chunk-IFPDAD7R.js +797 -0
- package/dist/chunk-IN7DGBVS.js +582 -0
- package/dist/chunk-ISHUS7HC.js +396 -0
- package/dist/chunk-JPXLJSGR.js +191 -0
- package/dist/chunk-JQCLXSFI.js +69 -0
- package/dist/chunk-KBUTSJSR.js +61 -0
- package/dist/chunk-KW5HXKLJ.js +56 -0
- package/dist/chunk-L4APUGCT.js +139 -0
- package/dist/chunk-L7G7K4I2.js +505 -0
- package/dist/chunk-LAR7DX5E.js +1840 -0
- package/dist/chunk-LAVUQX3B.js +462 -0
- package/dist/chunk-LJRBX7QR.js +116 -0
- package/dist/chunk-LNOXCGN2.js +1864 -0
- package/dist/chunk-LTWH2ACR.js +23002 -0
- package/dist/chunk-LYJJ6546.js +661 -0
- package/dist/chunk-M2IPMWCN.js +457 -0
- package/dist/chunk-MGLRTOCK.js +101 -0
- package/dist/chunk-MZF5IKZT.js +160 -0
- package/dist/chunk-N24R6KWS.js +386 -0
- package/dist/chunk-NASYVWDB.js +604 -0
- package/dist/chunk-NBXFPI7U.js +195 -0
- package/dist/chunk-NDPF2N2L.js +400 -0
- package/dist/chunk-NFSK2VNU.js +446 -0
- package/dist/chunk-NG3QQSXY.js +43 -0
- package/dist/chunk-NOCSM22Y.js +63 -0
- package/dist/chunk-NVPXXW2H.js +1143 -0
- package/dist/chunk-O63U2I6I.js +30 -0
- package/dist/chunk-OJXOA6YU.js +98 -0
- package/dist/chunk-OPD7GL6F.js +1196 -0
- package/dist/chunk-OQ2EOAHA.js +14399 -0
- package/dist/chunk-OV62D6KO.js +688 -0
- package/dist/chunk-OZ76TLGU.js +740 -0
- package/dist/chunk-P4GNZPXO.js +1156 -0
- package/dist/chunk-PS6JAWJZ.js +78 -0
- package/dist/chunk-PXRCXGLK.js +1865 -0
- package/dist/chunk-QDUUOZ3S.js +108 -0
- package/dist/chunk-QG6I2T5E.js +1416 -0
- package/dist/chunk-QHSBROEW.js +308 -0
- package/dist/chunk-QNUQ7K7D.js +46 -0
- package/dist/chunk-QZTTRSJE.js +333 -0
- package/dist/chunk-R2UUNSNQ.js +1605 -0
- package/dist/chunk-R7FGRZNF.js +1794 -0
- package/dist/chunk-RNDCROSG.js +199 -0
- package/dist/chunk-S36CXHO2.js +302 -0
- package/dist/chunk-SJGS3GDI.js +575 -0
- package/dist/chunk-SQZHXUB3.js +510 -0
- package/dist/chunk-SUTLW6ND.js +686 -0
- package/dist/chunk-SYF7FVBL.js +179 -0
- package/dist/chunk-T2MDZES3.js +1577 -0
- package/dist/chunk-T33IYTZM.js +1146 -0
- package/dist/chunk-TDGYTWM6.js +49 -0
- package/dist/chunk-TGL5FZVD.js +132 -0
- package/dist/chunk-TGWZXJ7L.js +1205 -0
- package/dist/chunk-TKDRT2DF.js +114 -0
- package/dist/chunk-TV2EBCSQ.js +152 -0
- package/dist/chunk-U26XXPJS.js +367 -0
- package/dist/chunk-U5QU5ZOD.js +419 -0
- package/dist/chunk-U6YTUVOX.js +1011 -0
- package/dist/chunk-UCINIRHW.js +188 -0
- package/dist/chunk-UJD5MPP6.js +52 -0
- package/dist/chunk-URCXX7WJ.js +146 -0
- package/dist/chunk-UX2L5CUD.js +898 -0
- package/dist/chunk-UZVYEF57.js +114 -0
- package/dist/chunk-V35KZDUZ.js +218 -0
- package/dist/chunk-VESL6DQY.js +1058 -0
- package/dist/chunk-VKHLUZNO.js +986 -0
- package/dist/chunk-VOYUCAQF.js +584 -0
- package/dist/chunk-VYRQHORQ.js +414 -0
- package/dist/chunk-W53XSRQE.js +245 -0
- package/dist/chunk-X4CEFOSG.js +226 -0
- package/dist/chunk-XDHUDE5K.js +380 -0
- package/dist/chunk-XISLDHEL.js +1290 -0
- package/dist/chunk-XM34YQ2Y.js +169 -0
- package/dist/chunk-XMDBTYCH.js +661 -0
- package/dist/chunk-XS2QPZJE.js +449 -0
- package/dist/chunk-YBUECLAF.js +618 -0
- package/dist/chunk-YQ6XEFVK.js +332 -0
- package/dist/chunk-YYLCPDCC.js +990 -0
- package/dist/chunk-Z4GLJ6J4.js +1035 -0
- package/dist/chunk-ZARZ4POR.js +210 -0
- package/dist/chunk-ZJPORZTC.js +119 -0
- package/dist/chunk-ZNUZ3EXD.js +243 -0
- package/dist/chunk-ZPST2KQO.js +49 -0
- package/dist/chunk-ZR5YA6ZF.js +512 -0
- package/dist/chunk-ZU4JPCPR.js +319 -0
- package/dist/chunk-ZUKUCZYZ.js +39 -0
- package/dist/cli/index.js +56 -45
- package/dist/clio-K2PBVCEM.js +27 -0
- package/dist/clio-context-tools-GR4OHFSO.js +145 -0
- package/dist/code-nav-4X3OI6DK.js +715 -0
- package/dist/codewiki/build-worker.js +4 -4
- package/dist/compile-cache-YRB6QRO7.js +18 -0
- package/dist/components-RQOJ6NUR.js +675 -0
- package/dist/config-Q5J7UBAB.js +291 -0
- package/dist/config-XE7XYZLU.js +38 -0
- package/dist/config-graph-P3555574.js +175 -0
- package/dist/configure-KIJ32ZO6.js +104 -0
- package/dist/context-LFBQOSXT.js +344 -0
- package/dist/context-NNLBES2Y.js +82 -0
- package/dist/context-WBH3KSVR.js +302 -0
- package/dist/context-clear-YOHMQ6SQ.js +208 -0
- package/dist/context-index-X2N5UAIF.js +120 -0
- package/dist/context-map-HOSMGUG2.js +555 -0
- package/dist/context-working-set-MRAEVDNV.js +1564 -0
- package/dist/data-tool-JJPBGMQJ.js +2986 -0
- package/dist/detail-RHJOTGN4.js +139 -0
- package/dist/dispatch-runner-NC7PYNIO.js +2477 -0
- package/dist/docs-K4GBWRUX.js +342 -0
- package/dist/doctor-S5KZ2GTN.js +1138 -0
- package/dist/doctor-deep-2EJQSHIZ.js +130 -0
- package/dist/domain-loader-MB34FDPD.js +13 -0
- package/dist/eval-3D6M36N7.js +5220 -0
- package/dist/eval-inventory-SM3HNM47.js +260 -0
- package/dist/evals-FO6JEUCN.js +104 -0
- package/dist/evidence-6IYN52ET.js +262 -0
- package/dist/evidence-JVECPI3F.js +250 -0
- package/dist/evidence-XNVPPLVK.js +410 -0
- package/dist/evolve-TLPUDJDM.js +634 -0
- package/dist/extensions-ROZJ5X3J.js +311 -0
- package/dist/fleet-6RJWIOEO.js +284 -0
- package/dist/fleet-WKVBF5SZ.js +942 -0
- package/dist/fleet-commands-L6WFT7KZ.js +76 -0
- package/dist/fleet-decisions-BTQMWU5A.js +55 -0
- package/dist/fleet-graph-553DZ67Q.js +141 -0
- package/dist/fleet-inspect-236FZPRB.js +329 -0
- package/dist/fleet-new-CKUXP3CO.js +48 -0
- package/dist/fleet-preflight-NZQHABWO.js +95 -0
- package/dist/fleet-validate-7NLAE26R.js +96 -0
- package/dist/fleet-verify-E3RO6A5W.js +226 -0
- package/dist/fleet-view-KMZQY7YJ.js +144 -0
- package/dist/gui/client/assets/abnfDiagram-VCTEODGH-DPBWQwNn.js +1 -0
- package/dist/gui/client/assets/architecture-7GRP2DOG-D1w8FrFW.js +1 -0
- package/dist/gui/client/assets/architectureDiagram-5GKGNRK7-CVPgKd1-.js +36 -0
- package/dist/gui/client/assets/blockDiagram-I7D4REHJ-BLmnqkK5.js +129 -0
- package/dist/gui/client/assets/c4Diagram-7LVT6UL2-4AU9cfM7.js +38 -0
- package/dist/gui/client/assets/channel-DwFZ0m8S.js +1 -0
- package/dist/gui/client/assets/chunk-4HAMMTFA-EOWkKCav.js +62 -0
- package/dist/gui/client/assets/chunk-75Z2AOVW-CygeoIMl.js +2 -0
- package/dist/gui/client/assets/chunk-DU6HZSFF-s27fViLb.js +125 -0
- package/dist/gui/client/assets/chunk-F27PBJKO-BrHvwLsZ.js +1 -0
- package/dist/gui/client/assets/chunk-GMAD6QVW-DzPh-7jt.js +72 -0
- package/dist/gui/client/assets/chunk-GVQU2GXP-pIaQkIzm.js +1 -0
- package/dist/gui/client/assets/chunk-IMKFNOWR-BGJVE_Br.js +231 -0
- package/dist/gui/client/assets/chunk-L3NEJ4N5-B3YLuhww.js +1 -0
- package/dist/gui/client/assets/chunk-OSK3NFVY-BRj61HHU.js +10 -0
- package/dist/gui/client/assets/chunk-P2QGCYS3-Sno90KxP.js +1 -0
- package/dist/gui/client/assets/chunk-POPQ4Y6H-Cw8NTbxr.js +1 -0
- package/dist/gui/client/assets/chunk-PWAF6VOD-BIhHgz37.js +1 -0
- package/dist/gui/client/assets/chunk-SHT3W25Y-Cqv7npBj.js +168 -0
- package/dist/gui/client/assets/chunk-SVP7TREG-Hxzl6Dee.js +88 -0
- package/dist/gui/client/assets/chunk-TICWLB2K-CIFVyVP2.js +206 -0
- package/dist/gui/client/assets/classDiagram-ZZMXUADV-BJbAiI_w.js +1 -0
- package/dist/gui/client/assets/classDiagram-v2-VYDZK3BY-BJbAiI_w.js +1 -0
- package/dist/gui/client/assets/cynefin-OW5HDTMX-DecLWZ-y.js +1 -0
- package/dist/gui/client/assets/cynefinDiagram-5FMLGOSQ-CK-T2N-D.js +62 -0
- package/dist/gui/client/assets/dagre-GXQ25YYZ-C0dfg-OS.js +4 -0
- package/dist/gui/client/assets/diagram-S7CK7UJ4-EaJukVh-.js +30 -0
- package/dist/gui/client/assets/diagram-UQ7AKVKN-xcOucEtP.js +41 -0
- package/dist/gui/client/assets/diagram-VSXAHHWV-3AUJACMf.js +3 -0
- package/dist/gui/client/assets/diagram-VX7I27RA-TPknLqam.js +24 -0
- package/dist/gui/client/assets/diagram-Z3DM3KII-wa1q3YMF.js +24 -0
- package/dist/gui/client/assets/ebnfDiagram-PWID7BFC-JBCF2-s7.js +1 -0
- package/dist/gui/client/assets/erDiagram-RLTQ6QDP-CmXjXPc4.js +99 -0
- package/dist/gui/client/assets/eventmodeling-NTZA5JFV-D_1aJWYl.js +1 -0
- package/dist/gui/client/assets/flowDiagram-HODETNUW-BQtZlael.js +1 -0
- package/dist/gui/client/assets/framework-Bq-znqwW.js +9 -0
- package/dist/gui/client/assets/ganttDiagram-EL5Y4UJY-IPaL_kaa.js +292 -0
- package/dist/gui/client/assets/gitGraph-4MIJSDKK-Oy0Q3hoc.js +1 -0
- package/dist/gui/client/assets/gitGraphDiagram-WWUBYQGX-jtAuBmbc.js +106 -0
- package/dist/gui/client/assets/index-CuFuBEdL.css +1 -0
- package/dist/gui/client/assets/index-hMbEIsX0.js +87 -0
- package/dist/gui/client/assets/info-A6RAGUB7-UtEs1tv7.js +1 -0
- package/dist/gui/client/assets/infoDiagram-27XIBGKW-hlwR1pBW.js +2 -0
- package/dist/gui/client/assets/ishikawaDiagram-5VMMS53U-C6vMtfsd.js +70 -0
- package/dist/gui/client/assets/journeyDiagram-3NMN7TZE-EAwAl_PS.js +139 -0
- package/dist/gui/client/assets/kanban-definition-UXKFOSKX-CQOhRKHW.js +89 -0
- package/dist/gui/client/assets/line-DbcwGZTW.js +1 -0
- package/dist/gui/client/assets/mermaid-parser.core-C2QfVcHd.js +7 -0
- package/dist/gui/client/assets/mermaid.core-N9qUTre1.js +44 -0
- package/dist/gui/client/assets/mindmap-definition-YA3MSWOX-BR_FL9gK.js +96 -0
- package/dist/gui/client/assets/packet-AYTQ26CC-CbBJ2oAa.js +1 -0
- package/dist/gui/client/assets/pegDiagram-XKGWAZYB-BruU0IHM.js +1 -0
- package/dist/gui/client/assets/pie-WAS4IAKB-BWdSng4H.js +1 -0
- package/dist/gui/client/assets/pieDiagram-E7YTZNPT-CR3ljgdU.js +39 -0
- package/dist/gui/client/assets/quadrantDiagram-AXDQQJYC-C-boKslr.js +7 -0
- package/dist/gui/client/assets/radar-RG4KPBEZ-CGlOnAKG.js +1 -0
- package/dist/gui/client/assets/railroad-74A4TZTK-CDvuAlyC.js +1 -0
- package/dist/gui/client/assets/railroad-abnf-HS5TGJTU-CQUA9crC.js +1 -0
- package/dist/gui/client/assets/railroad-ebnf-LZEXJU2U-CD857gxq.js +1 -0
- package/dist/gui/client/assets/railroad-peg-WCYAUIDC-DUV4k35E.js +1 -0
- package/dist/gui/client/assets/railroadDiagram-O6MQD6OU-DMR4LXmA.js +1 -0
- package/dist/gui/client/assets/requirementDiagram-BXWQKSXE-DVltaF6c.js +84 -0
- package/dist/gui/client/assets/sankeyDiagram-P5KCCOFB-CHdNz472.js +40 -0
- package/dist/gui/client/assets/sequenceDiagram-WJ2MYXX4-DaMafIty.js +162 -0
- package/dist/gui/client/assets/stateDiagram-D77RDMKH-CEbBHqn3.js +1 -0
- package/dist/gui/client/assets/stateDiagram-v2-MP3YSRHH-B3JgDdFg.js +1 -0
- package/dist/gui/client/assets/swimlanes-42K2YHIH-BlPHndnJ.js +1 -0
- package/dist/gui/client/assets/swimlanesDiagram-VR7AAH4N-BPabHwsZ.js +8 -0
- package/dist/gui/client/assets/timeline-definition-24CTP7MA-E4Y1lPBI.js +120 -0
- package/dist/gui/client/assets/treeView-Q6P3EWNA-DrY0uhTN.js +1 -0
- package/dist/gui/client/assets/treemap-WGGIJYW6-CVotnLHf.js +1 -0
- package/dist/gui/client/assets/vennDiagram-4TSXK5OY-DJNrLIOF.js +34 -0
- package/dist/gui/client/assets/wardley-WFR3VGLG-ClOpAp5S.js +1 -0
- package/dist/gui/client/assets/wardleyDiagram-VM6X3IG4-qhMoKOXc.js +78 -0
- package/dist/gui/client/assets/xychartDiagram-S5SC5T6Z-CTuXoo9R.js +7 -0
- package/dist/gui/client/index.html +6 -0
- package/dist/gui/ops-worker.js +167 -0
- package/dist/gui/reads-worker.js +473 -0
- package/dist/gui/server.js +9780 -0
- package/dist/gui-QJS7XQMV.js +16 -0
- package/dist/init-DV5B6HQG.js +354 -0
- package/dist/install-6C45YXFP.js +19 -0
- package/dist/install-O7NSRU2W.js +13 -0
- package/dist/interactive-OXGYZYAS.js +22381 -0
- package/dist/interop-J7UOBOSF.js +254 -0
- package/dist/inventory-OEGIL6PY.js +144 -0
- package/dist/library-B3UPGY4V.js +83 -0
- package/dist/library-MXQA5DLT.js +309 -0
- package/dist/library-ROZAMUIL.js +496 -0
- package/dist/library-import-2LTWOVBD.js +190 -0
- package/dist/library-inventory-LJ3XHLWO.js +60 -0
- package/dist/library-validation-DARHHUNW.js +46 -0
- package/dist/mcp-2GSPYQ54.js +28 -0
- package/dist/memory-J3STUUIK.js +537 -0
- package/dist/models-Y3GMFJ2V.js +314 -0
- package/dist/monitor-LHNH577J.js +811 -0
- package/dist/orchestrator-DTAPXULA.js +12117 -0
- package/dist/panes-A743ONZ5.js +103 -0
- package/dist/panes-CTNO57ZY.js +76 -0
- package/dist/paths-3SBYJQDP.js +68 -0
- package/dist/preload-OJBMAIXF.js +140 -0
- package/dist/providers-CMETPZNS.js +232 -0
- package/dist/registry-37T4U6X2.js +15 -0
- package/dist/reset-O7EUCYWO.js +346 -0
- package/dist/resources-FY6XYFN2.js +189 -0
- package/dist/run-H64MEVTA.js +1067 -0
- package/dist/run-script-PQ5NRU3X.js +42 -0
- package/dist/settings-SNIQNXCW.js +73 -0
- package/dist/settings-controls-X6GMCPVG.js +202 -0
- package/dist/share-CAFMMQLM.js +299 -0
- package/dist/skills-ERKQUC7L.js +114 -0
- package/dist/skills-eval-CQ23MYQK.js +1099 -0
- package/dist/skills-inventory-TVUYJDVN.js +142 -0
- package/dist/slash-commands-ROG3KIFJ.js +107 -0
- package/dist/startup-background-KDWCQMWT.js +247 -0
- package/dist/steer-KKYXJSH4.js +77 -0
- package/dist/support-M3RCUUEL.js +40 -0
- package/dist/system-ZDW44ZGX.js +142 -0
- package/dist/target-runtimes-PWA22WVW.js +73 -0
- package/dist/targets-AJWA6E7Z.js +1207 -0
- package/dist/tasks-6L2JJRC5.js +39 -0
- package/dist/terminal-lease-YFUSDPAD.js +432 -0
- package/dist/tools-5XJUABRD.js +30 -0
- package/dist/trace-LA5MVR4Y.js +527 -0
- package/dist/tree-sitter-TQW3Y52T.js +4673 -0
- package/dist/tui-primitives-IUCVWLH5.js +19 -0
- package/dist/uninstall-SAWGGXAB.js +448 -0
- package/dist/upgrade-HSNSVTZG.js +300 -0
- package/dist/usage-XSILDHKF.js +1083 -0
- package/dist/verifiers-ECA5GIHL.js +633 -0
- package/dist/verify-R6QQCCEB.js +31 -0
- package/dist/version-PLZYB5KW.js +22 -0
- package/dist/web-fetch-PVZNMBOB.js +803 -0
- package/dist/wiki-generate-RP22WP5K.js +647 -0
- package/dist/with-panes-W3PAZPRF.js +629 -0
- package/dist/worker/entry.js +324 -284
- package/dist/workspace-check-3764ZKC2.js +83 -0
- package/docs/README.md +26 -10
- package/docs/architecture/acp.md +179 -12
- package/docs/architecture/artifact-placement.md +1 -1
- package/docs/architecture/capacity-and-scheduling.md +7 -8
- package/docs/architecture/context-engine.md +350 -95
- package/docs/architecture/model-catalog.md +18 -11
- package/docs/architecture/observability.md +1 -1
- package/docs/architecture/pi-boundary.md +59 -6
- package/docs/architecture/prompt-envelope-and-tools.md +147 -39
- package/docs/architecture/provider-adapter-cookbook.md +2 -2
- package/docs/architecture/safety-model.md +18 -4
- package/docs/architecture/trace-store.md +2 -2
- package/docs/architecture/tui-design.md +41 -81
- package/docs/architecture/worker-dispatch-mechanics.md +9 -1
- package/docs/gui/README.md +69 -0
- package/docs/gui/boundary-doctrine.md +104 -0
- package/docs/gui/chat-rendering-spec.md +1440 -0
- package/docs/gui/cli-surface-routing.md +148 -0
- package/docs/gui/delivery-order.md +53 -0
- package/docs/gui/event-bus-coverage.md +103 -0
- package/docs/gui/inspector-presentation.md +71 -0
- package/docs/gui/parity/01-cli-surface.md +74 -0
- package/docs/gui/parity/02-slash-and-surfaces.md +110 -0
- package/docs/gui/parity/03-domains-and-plan.md +69 -0
- package/docs/gui/performance-baseline.md +76 -0
- package/docs/gui/settings-write-surface.md +267 -0
- package/docs/gui/workflow-coverage.md +64 -0
- package/docs/guide/built-in-agents.md +1 -1
- package/docs/guide/commands-and-modes.md +256 -99
- package/docs/guide/configuration-and-targets.md +485 -124
- package/docs/guide/configuration-reference.md +165 -82
- package/docs/guide/doctor.md +127 -0
- package/docs/guide/environment-variables.md +1 -1
- package/docs/guide/exit-codes-and-output.md +3 -1
- package/docs/guide/extensions-and-sharing.md +3 -14
- package/docs/guide/fleet-dispatch.md +231 -45
- package/docs/guide/glossary.md +1 -1
- package/docs/guide/installation-and-lifecycle.md +27 -16
- package/docs/guide/interop.md +2 -2
- package/docs/guide/proactive-memory.md +154 -68
- package/docs/guide/resource-library.md +4 -0
- package/docs/guide/skills-marketplace.md +8 -4
- package/docs/guide/slurm.md +88 -0
- package/docs/guide/tool-usage.md +134 -11
- package/docs/guide/troubleshooting.md +4 -2
- package/docs/process/battletest-2026-09-20-fixes.md +161 -0
- package/docs/process/configure-tree-proposal.md +637 -0
- package/docs/process/documentation-coverage.md +8 -0
- package/docs/process/documentation-guide.md +18 -1
- package/docs/process/eval-runner.md +58 -14
- package/docs/process/performance-methodology.md +11 -3
- package/docs/process/release-cut-checklist.md +29 -3
- package/docs/process/tool-audit-v0.4.9.md +3 -0
- package/examples/extensions/README.md +1 -3
- package/examples/extensions/lab-status/clio-coder-extension.json +1 -1
- package/examples/extensions/measurements/clio-coder-extension.json +1 -1
- package/library/registry.yaml +30 -5
- package/library/skills/git/fix-issue/SKILL.md +2 -1
- package/library/skills/git/fix-issue/plugin.json +1 -1
- package/library/skills/git/ship/SKILL.md +2 -1
- package/library/skills/git/ship/plugin.json +1 -1
- package/library/skills/meta/clio-coder-test/SKILL.md +5 -6
- package/library/skills/meta/clio-coder-test/evals.md +2 -2
- package/library/skills/meta/clio-coder-test/references/test-map.md +2 -2
- package/library/skills/registry.yaml +9 -5
- package/library/skills/research/slurm-jobs/SKILL.md +110 -0
- package/library/skills/research/slurm-jobs/evals.md +39 -0
- package/library/skills/research/slurm-jobs/plugin.json +23 -0
- package/library/skills/skill-marketplace.json +18 -2
- package/package.json +15 -10
- package/src/cli/args.ts +59 -0
- package/src/cli/argv.ts +7 -0
- package/src/cli/clio.ts +9 -1
- package/src/cli/configure-controls.ts +136 -0
- package/src/cli/configure-onboarding.ts +24 -7
- package/src/cli/configure-quick.ts +32 -7
- package/src/cli/configure-target.ts +11 -1
- package/src/cli/configure.ts +253 -256
- package/src/cli/docs-server.ts +290 -0
- package/src/cli/docs.ts +60 -15
- package/src/cli/doctor-deep.ts +126 -0
- package/src/cli/doctor-hpc.ts +122 -0
- package/src/cli/doctor-slurm.ts +130 -0
- package/src/cli/doctor-task-worktrees.ts +88 -0
- package/src/cli/doctor.ts +165 -16
- package/src/cli/fleet-verify.ts +3 -2
- package/src/cli/gui.ts +111 -0
- package/src/cli/index.ts +14 -4
- package/src/cli/library.ts +2 -7
- package/src/cli/modes/json-stream.ts +4 -2
- package/src/cli/modes/print.ts +252 -25
- package/src/cli/run.ts +199 -71
- package/src/cli/skills.ts +25 -7
- package/src/cli/targets.ts +87 -9
- package/src/cli/uninstall.ts +28 -8
- package/src/cli/usage.ts +2 -1
- package/src/cli/workspace-check.ts +71 -0
- package/src/core/bash-exec.ts +8 -2
- package/src/core/bus-events.ts +32 -3
- package/src/core/cache-telemetry.ts +3 -2
- package/src/core/compile-cache.ts +11 -1
- package/src/core/config.ts +59 -6
- package/src/core/defaults.ts +27 -5
- package/src/core/diagnostics.ts +25 -0
- package/src/core/event-bus.ts +2 -1
- package/src/core/gateway-routing.ts +10 -3
- package/src/core/git-commit-attribution.ts +2 -1
- package/src/core/naming-compat.ts +6 -4
- package/src/core/package-root.ts +0 -9
- package/src/core/path-canonical.ts +143 -24
- package/src/core/residency-target-key.ts +2 -6
- package/src/core/run-overrides.ts +1 -1
- package/src/core/settings-awareness.ts +108 -0
- package/src/core/settings-controls.ts +673 -0
- package/src/core/settings-navigation.ts +116 -0
- package/src/core/theme-token-hex.ts +19 -9
- package/src/core/turn-constraints.ts +52 -0
- package/src/domains/agents/builtins/scout.md +7 -17
- package/src/domains/agents/catalog.ts +5 -1
- package/src/domains/agents/extension.ts +2 -1
- package/src/domains/agents/registry.ts +4 -3
- package/src/domains/agents/result-contract.ts +132 -1
- package/src/domains/config/classify.ts +11 -7
- package/src/domains/config/extension.ts +5 -1
- package/src/domains/config/keybindings.ts +2 -2
- package/src/domains/context/codewiki/coordinator.ts +10 -0
- package/src/domains/context/worker/snapshot.ts +6 -3
- package/src/domains/dispatch/active-route-planner.ts +2 -0
- package/src/domains/dispatch/agent-candidates.ts +5 -1
- package/src/domains/dispatch/capability-match.ts +1 -1
- package/src/domains/dispatch/contract.ts +28 -0
- package/src/domains/dispatch/event-pump.ts +37 -3
- package/src/domains/dispatch/extension.ts +391 -48
- package/src/domains/dispatch/failure-classification.ts +37 -2
- package/src/domains/dispatch/receipt-integrity.ts +3 -0
- package/src/domains/dispatch/run-identity.ts +10 -3
- package/src/domains/dispatch/target-breaker.ts +163 -0
- package/src/domains/dispatch/types.ts +29 -2
- package/src/domains/dispatch/worker-model-loads.ts +66 -0
- package/src/domains/dispatch/worker-protocol.ts +20 -1
- package/src/domains/dispatch/worker-spawn.ts +28 -2
- package/src/domains/eval/artifacts/redact.ts +9 -0
- package/src/domains/eval/metrics/noop.ts +61 -0
- package/src/domains/eval/reports/junit.ts +5 -1
- package/src/domains/eval/reports/text.ts +7 -0
- package/src/domains/eval/runners/clio-run.ts +19 -8
- package/src/domains/eval/runners/external-command.ts +29 -4
- package/src/domains/eval/schema/adapter.ts +6 -2
- package/src/domains/eval/schema/suite.ts +2 -0
- package/src/domains/eval/schema/validate.ts +3 -0
- package/src/domains/eval/suites/run.ts +167 -26
- package/src/domains/evidence/detail.ts +3 -2
- package/src/domains/extensions/operator-runtime.ts +11 -4
- package/src/domains/gateway/mcp/client.ts +1 -1
- package/src/domains/lifecycle/doctor.ts +42 -26
- package/src/domains/lifecycle/migrations/2026-09-18-ollama-runtime-id.ts +38 -0
- package/src/domains/lifecycle/migrations/index.ts +2 -0
- package/src/domains/middleware/demo-guidance.ts +36 -0
- package/src/domains/middleware/dispatch-nudge.ts +1 -1
- package/src/domains/middleware/memory-intervention.ts +51 -4
- package/src/domains/middleware/runtime.ts +5 -4
- package/src/domains/middleware/skills-reminder.ts +29 -52
- package/src/domains/middleware/task-nudge.ts +1 -0
- package/src/domains/middleware/watchdog.ts +4 -0
- package/src/domains/observability/extension.ts +2 -1
- package/src/domains/observability/out-of-turn-usage.ts +3 -2
- package/src/domains/observability/projection.ts +3 -2
- package/src/domains/observability/worker-progress.ts +48 -0
- package/src/domains/prompts/compiler.ts +148 -52
- package/src/domains/prompts/contract.ts +3 -3
- package/src/domains/prompts/demo-guidance.ts +8 -0
- package/src/domains/prompts/extension.ts +12 -7
- package/src/domains/prompts/fragments/identity/clio.md +2 -1
- package/src/domains/prompts/fragments/identity/docs-routing.md +2 -0
- package/src/domains/prompts/fragments/identity/self-awareness.md +4 -0
- package/src/domains/prompts/fragments/operating/contract.md +16 -7
- package/src/domains/prompts/fragments/operating/delegation.md +29 -13
- package/src/domains/prompts/fragments/operating/skills.md +18 -10
- package/src/domains/prompts/fragments/operating/worker.md +2 -0
- package/src/domains/providers/cache-deployment.ts +45 -2
- package/src/domains/providers/contract.ts +52 -11
- package/src/domains/providers/extension.ts +230 -53
- package/src/domains/providers/model-discovery.ts +22 -8
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +5 -7
- package/src/domains/providers/plugins.ts +3 -4
- package/src/domains/providers/probe/fingerprint.ts +2 -2
- package/src/domains/providers/probe/reasoning.ts +9 -16
- package/src/domains/providers/probe/tool-call.ts +236 -0
- package/src/domains/providers/registry.ts +51 -8
- package/src/domains/providers/runtime-resolution.ts +60 -12
- package/src/domains/providers/runtimes/boot-manifest.ts +1 -1
- package/src/domains/providers/runtimes/builtins.ts +2 -2
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +57 -41
- package/src/domains/providers/runtimes/common/local-synth.ts +3 -1
- package/src/domains/providers/runtimes/common/ollama-model-ids.ts +11 -0
- package/src/domains/providers/runtimes/common/probe-helpers.ts +53 -0
- package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +3 -1
- package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +7 -13
- package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +7 -17
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +1 -0
- package/src/domains/providers/runtimes/local-native/ollama.ts +211 -0
- package/src/domains/providers/runtimes/protocol/litellm.ts +77 -65
- package/src/domains/providers/support.ts +1 -1
- package/src/domains/providers/types/local-model-quirks.ts +2 -3
- package/src/domains/providers/types/runtime-descriptor.ts +23 -3
- package/src/domains/providers/types/target-descriptor.ts +15 -3
- package/src/domains/resources/collision.ts +7 -2
- package/src/domains/resources/index.ts +1 -0
- package/src/domains/resources/library-actions.ts +4 -2
- package/src/domains/resources/library-inventory.ts +6 -2
- package/src/domains/resources/prompts/loader.ts +20 -7
- package/src/domains/resources/skills/availability.ts +56 -0
- package/src/domains/resources/skills/loader.ts +20 -9
- package/src/domains/safety/action-classifier.ts +282 -31
- package/src/domains/safety/audit.ts +2 -1
- package/src/domains/safety/autonomy.ts +54 -11
- package/src/domains/safety/decision-presentation.ts +17 -4
- package/src/domains/safety/finish-contract-registration.ts +25 -1
- package/src/domains/safety/finish-contract.ts +20 -5
- package/src/domains/safety/path-policy.ts +6 -2
- package/src/domains/safety/policy-engine.ts +168 -48
- package/src/domains/safety/protected-artifacts.ts +527 -16
- package/src/domains/safety/read-scope.ts +120 -0
- package/src/domains/safety/skill-authority.ts +52 -16
- package/src/domains/scheduling/cluster.ts +14 -3
- package/src/domains/scheduling/contract.ts +7 -0
- package/src/domains/scheduling/extension.ts +20 -9
- package/src/domains/scheduling/local-capacity.ts +160 -0
- package/src/domains/session/context-accounting.ts +44 -31
- package/src/domains/session/context-ledger.ts +10 -3
- package/src/domains/session/entries.ts +4 -0
- package/src/domains/session/history.ts +1 -1
- package/src/domains/session/prompt-cache.ts +1 -0
- package/src/domains/session/prompt-manifest.ts +3 -1
- package/src/domains/session/retry.ts +4 -6
- package/src/domains/session/task-board.ts +19 -4
- package/src/domains/session/tree/preview.ts +3 -2
- package/src/engine/acp/commands.ts +653 -0
- package/src/engine/acp/server.ts +639 -20
- package/src/engine/acp/tool-mediator.ts +30 -7
- package/src/engine/acp/types.ts +58 -0
- package/src/engine/agent.ts +55 -10
- package/src/engine/ai.ts +11 -2
- package/src/engine/api-registry.ts +5 -4
- package/src/engine/apis/degraded-inference.ts +243 -0
- package/src/engine/apis/llamacpp-residency.ts +50 -6
- package/src/engine/apis/lmstudio-residency.ts +3 -5
- package/src/engine/apis/lmstudio.ts +137 -31
- package/src/engine/apis/ollama-http.ts +118 -0
- package/src/engine/apis/ollama-native.ts +216 -97
- package/src/engine/apis/openai-completions.ts +191 -189
- package/src/engine/apis/output-budget.ts +3 -1
- package/src/engine/apis/residency-lock.ts +2 -1
- package/src/engine/apis/residency.ts +339 -89
- package/src/engine/apis/sampling-overrides.ts +23 -2
- package/src/engine/apis/types.ts +1 -2
- package/src/engine/claude/tool-safety.ts +30 -5
- package/src/engine/context.ts +13 -0
- package/src/engine/env-api-keys.ts +2 -1
- package/src/engine/gemma-channel-filter.ts +3 -2
- package/src/engine/instrumented-tui.ts +25 -0
- package/src/engine/loop-guard.ts +172 -6
- package/src/engine/pi-mono-names.ts +16 -0
- package/src/engine/prewarm.ts +44 -15
- package/src/engine/provider-payload.ts +52 -14
- package/src/engine/session.ts +4 -2
- package/src/engine/worker-events.ts +9 -1
- package/src/engine/worker-runtime.ts +269 -42
- package/src/engine/worker-tools.ts +8 -3
- package/src/entry/boot-options.ts +23 -0
- package/src/entry/orchestrator.ts +207 -36
- package/src/interactive/assistant-generation-timing.ts +52 -0
- package/src/interactive/chat-loop-messages.ts +4 -1
- package/src/interactive/chat-loop.ts +59 -9
- package/src/interactive/chat-panel.ts +10 -1
- package/src/interactive/clio-editor.ts +51 -79
- package/src/interactive/context-meter.ts +1 -0
- package/src/interactive/context-overlay.ts +21 -8
- package/src/interactive/cost-overlay.ts +1 -1
- package/src/interactive/dispatch-board.ts +39 -8
- package/src/interactive/editor-bash.ts +0 -34
- package/src/interactive/editor-rails.ts +43 -0
- package/src/interactive/editor-submit.ts +34 -2
- package/src/interactive/footer/dashboard.ts +67 -38
- package/src/interactive/footer/demo-hints.ts +40 -0
- package/src/interactive/footer/key-hints.ts +21 -0
- package/src/interactive/footer/notifications.ts +1 -1
- package/src/interactive/footer/pages.ts +486 -0
- package/src/interactive/footer/system-metrics.ts +147 -0
- package/src/interactive/footer/widgets.ts +158 -63
- package/src/interactive/footer-panel.ts +29 -7
- package/src/interactive/interactive-application.ts +109 -21
- package/src/interactive/interactive-event-projection.ts +6 -2
- package/src/interactive/interactive-presentation.ts +25 -29
- package/src/interactive/interactive-slash-runtime.ts +32 -18
- package/src/interactive/interactive-subscriptions.ts +25 -5
- package/src/interactive/interactive-tickers.ts +21 -5
- package/src/interactive/keybinding-manager.ts +9 -0
- package/src/interactive/overlay-frame.ts +29 -7
- package/src/interactive/overlay-lifecycle.ts +5 -3
- package/src/interactive/overlay-model-selectors.ts +4 -0
- package/src/interactive/overlay-permission-lifecycle.ts +6 -5
- package/src/interactive/overlays/ask-user.ts +103 -110
- package/src/interactive/overlays/help-reference.ts +1 -0
- package/src/interactive/overlays/message-picker.ts +3 -29
- package/src/interactive/overlays/session-selector.ts +3 -2
- package/src/interactive/overlays/settings-sections.ts +2 -30
- package/src/interactive/overlays/settings.ts +310 -607
- package/src/interactive/permission-hint.ts +3 -3
- package/src/interactive/permission-overlay.ts +45 -27
- package/src/interactive/renderers/doctor-report.ts +43 -0
- package/src/interactive/renderers/tool-execution.ts +87 -62
- package/src/interactive/renderers/worker-entry.ts +76 -3
- package/src/interactive/side-question.ts +3 -1
- package/src/interactive/slash-commands.ts +78 -23
- package/src/interactive/startup-background.ts +131 -0
- package/src/interactive/startup-diagnostics.ts +16 -0
- package/src/interactive/status/state-machine.ts +16 -3
- package/src/interactive/status/types.ts +2 -0
- package/src/interactive/status/verbs.ts +1 -1
- package/src/interactive/terminal-lease.ts +26 -22
- package/src/interactive/theme/components.ts +1 -1
- package/src/interactive/theme/rules.ts +1 -1
- package/src/interactive/theme/tokens.ts +16 -10
- package/src/interactive/transcript-detail.ts +4 -0
- package/src/interactive/turn-context.ts +56 -20
- package/src/interactive/turn-middleware.ts +57 -9
- package/src/interactive/turn-prewarm.ts +121 -18
- package/src/interactive/turn-recovery.ts +10 -8
- package/src/interactive/turn-runtime.ts +74 -29
- package/src/interactive/turn-state.ts +3 -0
- package/src/interactive/welcome-art.ts +36 -0
- package/src/interactive/welcome-dashboard.ts +209 -49
- package/src/interactive/worker-replay.ts +4 -0
- package/src/interactive/worker-stream.ts +17 -2
- package/src/tools/agent-tools.ts +22 -1
- package/src/tools/builtin-tool-catalog.ts +2 -2
- package/src/tools/codewiki/code-nav.ts +1 -1
- package/src/tools/codewiki/shared.ts +39 -1
- package/src/tools/compete-worktrees.ts +8 -91
- package/src/tools/context/docs-engine.ts +44 -12
- package/src/tools/context/index.ts +126 -22
- package/src/tools/context/library.ts +1 -1
- package/src/tools/context/surface.ts +12 -7
- package/src/tools/core-bootstrap.ts +3 -0
- package/src/tools/dispatch-runner.ts +18 -0
- package/src/tools/dispatch-schema.ts +187 -206
- package/src/tools/edit.ts +46 -42
- package/src/tools/file-mutation-queue.ts +25 -26
- package/src/tools/gateway/clio-context-surface.ts +1 -1
- package/src/tools/gateway/index.ts +7 -3
- package/src/tools/gateway/mcp-capabilities.ts +5 -3
- package/src/tools/grep.ts +14 -2
- package/src/tools/ls.ts +1 -4
- package/src/tools/monitor.ts +14 -1
- package/src/tools/observation.ts +1 -3
- package/src/tools/path-utils.ts +51 -18
- package/src/tools/process-lease.ts +99 -0
- package/src/tools/read.ts +1 -1
- package/src/tools/registry.ts +71 -9
- package/src/tools/task-worktree.ts +296 -17
- package/src/tools/tasks.ts +29 -7
- package/src/tools/worker-evidence.ts +60 -1
- package/src/tools/worktree-root.ts +252 -0
- package/src/tools/write.ts +34 -30
- package/src/worker/entry.ts +18 -1
- package/src/worker/protocol.ts +54 -1
- package/src/worker/spec-contract.ts +22 -2
- package/dist/acp-ZWZCPS2A.js +0 -130
- package/dist/agents-LYSOWZUE.js +0 -150
- package/dist/auth-WBQGKWQ5.js +0 -551
- package/dist/background-BUMOBAQN.js +0 -37
- package/dist/builtins-ODRJOEDI.js +0 -22
- package/dist/chunk-2DRRZ57Q.js +0 -571
- package/dist/chunk-2JBZYUPY.js +0 -105
- package/dist/chunk-2VBWFXYE.js +0 -198
- package/dist/chunk-2X2R3UTH.js +0 -1018
- package/dist/chunk-32KJPXAM.js +0 -75
- package/dist/chunk-37LW32LZ.js +0 -32
- package/dist/chunk-3A3CUMKA.js +0 -54
- package/dist/chunk-3AND2EFU.js +0 -215
- package/dist/chunk-3RDHGNU7.js +0 -647
- package/dist/chunk-3SUDBGEI.js +0 -1323
- package/dist/chunk-3TQN67I2.js +0 -396
- package/dist/chunk-3U4BL2EV.js +0 -103
- package/dist/chunk-3UQADNG2.js +0 -302
- package/dist/chunk-434LRQ6Z.js +0 -13441
- package/dist/chunk-4ATBOFRP.js +0 -7802
- package/dist/chunk-4DNL43EZ.js +0 -139
- package/dist/chunk-4HFJKRGZ.js +0 -5250
- package/dist/chunk-555E2WVV.js +0 -322
- package/dist/chunk-5GZICIYO.js +0 -462
- package/dist/chunk-5PHVPU4G.js +0 -160
- package/dist/chunk-5RTEFNBP.js +0 -197
- package/dist/chunk-64XJW7NT.js +0 -380
- package/dist/chunk-6TKOFFGE.js +0 -1058
- package/dist/chunk-6UJ7RDI7.js +0 -1143
- package/dist/chunk-7FBCRWVT.js +0 -1801
- package/dist/chunk-7JSOSVLP.js +0 -283
- package/dist/chunk-7N3OLLSL.js +0 -637
- package/dist/chunk-7QQRPB2E.js +0 -915
- package/dist/chunk-A6DULIMH.js +0 -986
- package/dist/chunk-AB3QXXBC.js +0 -123
- package/dist/chunk-ACCECAH4.js +0 -49
- package/dist/chunk-AM6CEP2K.js +0 -2120
- package/dist/chunk-AUHVBIDW.js +0 -19
- package/dist/chunk-AY4XE6GN.js +0 -665
- package/dist/chunk-BBA2TAWV.js +0 -667
- package/dist/chunk-BFPHMSK7.js +0 -169
- package/dist/chunk-BMNVVKEW.js +0 -604
- package/dist/chunk-CKK25WN3.js +0 -72
- package/dist/chunk-CTGZCEI6.js +0 -33
- package/dist/chunk-DIAJYJYG.js +0 -446
- package/dist/chunk-DVNAPPXU.js +0 -27
- package/dist/chunk-DXVMLM3Z.js +0 -92
- package/dist/chunk-E3LEPLQ2.js +0 -68
- package/dist/chunk-EHZRAB4U.js +0 -63
- package/dist/chunk-EM2DIQAJ.js +0 -179
- package/dist/chunk-EM2WNQS2.js +0 -93
- package/dist/chunk-ETF4ROKH.js +0 -595
- package/dist/chunk-F2YM3JY4.js +0 -22513
- package/dist/chunk-FEBQWHJT.js +0 -1023
- package/dist/chunk-FPS4R2RN.js +0 -1975
- package/dist/chunk-GD55RTIW.js +0 -33
- package/dist/chunk-GJDRMBDI.js +0 -573
- package/dist/chunk-GREYLTZ5.js +0 -658
- package/dist/chunk-H2WSCZZT.js +0 -238
- package/dist/chunk-H6IUCY6Q.js +0 -117
- package/dist/chunk-H72DCH3E.js +0 -563
- package/dist/chunk-H7TXJR23.js +0 -705
- package/dist/chunk-HBJQQTKM.js +0 -40
- package/dist/chunk-HCVKSGNZ.js +0 -990
- package/dist/chunk-HVCAY2FH.js +0 -67
- package/dist/chunk-I47EJPYL.js +0 -1377
- package/dist/chunk-IALGWTLO.js +0 -36
- package/dist/chunk-IALZJE37.js +0 -1710
- package/dist/chunk-IC7JXLOM.js +0 -1577
- package/dist/chunk-IOSVTTCD.js +0 -108
- package/dist/chunk-IPTPMLA6.js +0 -475
- package/dist/chunk-IZZI3SKQ.js +0 -128
- package/dist/chunk-JABWPKFY.js +0 -27
- package/dist/chunk-JIYWMQZ5.js +0 -175
- package/dist/chunk-JKU34ACI.js +0 -693
- package/dist/chunk-JOBN2YQQ.js +0 -176
- package/dist/chunk-JOL2QRLE.js +0 -152
- package/dist/chunk-JTR3VSV3.js +0 -44
- package/dist/chunk-JU6MAMRJ.js +0 -362
- package/dist/chunk-JURMQWVJ.js +0 -15
- package/dist/chunk-K2BLQC5E.js +0 -262
- package/dist/chunk-K3XN4LZ4.js +0 -402
- package/dist/chunk-KIVFXGBM.js +0 -688
- package/dist/chunk-KKRXONXG.js +0 -43
- package/dist/chunk-KOAHT3N2.js +0 -395
- package/dist/chunk-KP5BPXR3.js +0 -73
- package/dist/chunk-KQ6IDQIB.js +0 -39
- package/dist/chunk-KRJQG47M.js +0 -1289
- package/dist/chunk-KW6OJ7IY.js +0 -221
- package/dist/chunk-L3NBWLSN.js +0 -314
- package/dist/chunk-L4RUTLRL.js +0 -59
- package/dist/chunk-LGTVWPRN.js +0 -47
- package/dist/chunk-LSQW6KZO.js +0 -200
- package/dist/chunk-LTR5QCLS.js +0 -446
- package/dist/chunk-LWJYOHT3.js +0 -165
- package/dist/chunk-M6YLF66Z.js +0 -2687
- package/dist/chunk-MJ4QEJVT.js +0 -185
- package/dist/chunk-MO65K5CH.js +0 -1148
- package/dist/chunk-MTOZEQHL.js +0 -637
- package/dist/chunk-MZDPF35R.js +0 -45
- package/dist/chunk-MZKYVIWW.js +0 -188
- package/dist/chunk-NBPA5QM6.js +0 -386
- package/dist/chunk-NMBEW4PP.js +0 -688
- package/dist/chunk-NPLLK3HO.js +0 -3610
- package/dist/chunk-NSYGPIVW.js +0 -39
- package/dist/chunk-NXTV5OI5.js +0 -1020
- package/dist/chunk-NYDG4QP4.js +0 -689
- package/dist/chunk-OA2GDACN.js +0 -146
- package/dist/chunk-PJI57EC6.js +0 -236
- package/dist/chunk-PJJBUGMR.js +0 -4484
- package/dist/chunk-PNJE7JPS.js +0 -50
- package/dist/chunk-PP23PZEV.js +0 -1347
- package/dist/chunk-PPIFDSBK.js +0 -409
- package/dist/chunk-PTFISXQO.js +0 -319
- package/dist/chunk-QB33Z5S7.js +0 -1865
- package/dist/chunk-QGNII5VC.js +0 -110
- package/dist/chunk-QH3ZTUOA.js +0 -113
- package/dist/chunk-QI72X67S.js +0 -481
- package/dist/chunk-QJMRYTCX.js +0 -56
- package/dist/chunk-QKHZZFKH.js +0 -98
- package/dist/chunk-RDKX2PME.js +0 -66
- package/dist/chunk-RL7LJYN4.js +0 -66
- package/dist/chunk-RPMNIFRY.js +0 -65
- package/dist/chunk-RQROVOV3.js +0 -670
- package/dist/chunk-S34A7BSP.js +0 -97
- package/dist/chunk-SJETVJHX.js +0 -119
- package/dist/chunk-SJMNU4ZS.js +0 -634
- package/dist/chunk-SL2RDHKO.js +0 -19
- package/dist/chunk-SLLG2G44.js +0 -85
- package/dist/chunk-SQAZN2V3.js +0 -2744
- package/dist/chunk-SQBT46OF.js +0 -814
- package/dist/chunk-SRCEQKQS.js +0 -165
- package/dist/chunk-TCUOGIL2.js +0 -52
- package/dist/chunk-TIWPKCVO.js +0 -42
- package/dist/chunk-U44YYLVV.js +0 -1529
- package/dist/chunk-UIU7MGZ3.js +0 -486
- package/dist/chunk-USBBEKHW.js +0 -177
- package/dist/chunk-VHKTOLEW.js +0 -1416
- package/dist/chunk-VPWGADBG.js +0 -3151
- package/dist/chunk-VQD7NH7Z.js +0 -356
- package/dist/chunk-VWFCAK34.js +0 -697
- package/dist/chunk-W5RM7YAH.js +0 -78
- package/dist/chunk-W72LLZAV.js +0 -243
- package/dist/chunk-WGRDABW7.js +0 -207
- package/dist/chunk-WWRV5RJI.js +0 -165
- package/dist/chunk-XCUDZQLX.js +0 -195
- package/dist/chunk-XFLSL7BT.js +0 -386
- package/dist/chunk-XJZEDCNT.js +0 -391
- package/dist/chunk-XLLEL3K7.js +0 -709
- package/dist/chunk-XNZWWDC3.js +0 -686
- package/dist/chunk-XRECG65F.js +0 -308
- package/dist/chunk-XTQ7MEJG.js +0 -457
- package/dist/chunk-XW2UZICE.js +0 -372
- package/dist/chunk-Y3M2T5RO.js +0 -891
- package/dist/chunk-YGDMBK7O.js +0 -567
- package/dist/chunk-YJCCMYYT.js +0 -125
- package/dist/chunk-YPQOPFP7.js +0 -797
- package/dist/chunk-YQYINEJI.js +0 -132
- package/dist/chunk-ZF6CV4WZ.js +0 -5614
- package/dist/chunk-ZKJU55MX.js +0 -326
- package/dist/chunk-ZKQ63XZ5.js +0 -1196
- package/dist/chunk-ZKVMDNAN.js +0 -962
- package/dist/chunk-ZST3FRCV.js +0 -132
- package/dist/clio-JUDCLNHC.js +0 -26
- package/dist/clio-context-tools-FT672MNZ.js +0 -136
- package/dist/code-nav-7OVCTP2Z.js +0 -688
- package/dist/compile-cache-WJEPUZEJ.js +0 -16
- package/dist/components-OZXZMDWU.js +0 -674
- package/dist/config-P3ZQVF63.js +0 -275
- package/dist/config-graph-GKAOBAS5.js +0 -160
- package/dist/configure-25LRYZJG.js +0 -86
- package/dist/context-72VQV7JX.js +0 -73
- package/dist/context-COWRWXP3.js +0 -286
- package/dist/context-WB3D474G.js +0 -344
- package/dist/context-clear-Y4LYMWC6.js +0 -192
- package/dist/context-index-W6A4V7OC.js +0 -120
- package/dist/context-map-DKL3QT6D.js +0 -555
- package/dist/context-working-set-TMZYVC7A.js +0 -1560
- package/dist/data-tool-KMBWKKWR.js +0 -2987
- package/dist/detail-4GLROGY5.js +0 -123
- package/dist/dispatch-runner-TR3LBP5P.js +0 -2446
- package/dist/docs-ZK777W2G.js +0 -101
- package/dist/doctor-WC4OV2OB.js +0 -814
- package/dist/eval-FUNWJNUJ.js +0 -5050
- package/dist/eval-inventory-CX24K2JT.js +0 -260
- package/dist/evals-L73EBHSU.js +0 -104
- package/dist/evidence-AVJ2RTHX.js +0 -392
- package/dist/evidence-P4NZOAK7.js +0 -233
- package/dist/evidence-Y55WKYHH.js +0 -246
- package/dist/evolve-MAWKRYWF.js +0 -617
- package/dist/extensions-PYQH3H47.js +0 -308
- package/dist/fleet-M4H2QBWT.js +0 -268
- package/dist/fleet-ULBXXRDR.js +0 -923
- package/dist/fleet-commands-7NNC4JZU.js +0 -76
- package/dist/fleet-decisions-EHEY7KPU.js +0 -52
- package/dist/fleet-graph-LQ2AHZT3.js +0 -136
- package/dist/fleet-inspect-5IGBIIYZ.js +0 -312
- package/dist/fleet-new-RCKGSRDV.js +0 -48
- package/dist/fleet-preflight-UTTNOKMG.js +0 -27
- package/dist/fleet-validate-YGILJKA6.js +0 -91
- package/dist/fleet-verify-AUWTCDKR.js +0 -210
- package/dist/fleet-view-TGUFCY5A.js +0 -127
- package/dist/init-GFN2Z7NF.js +0 -333
- package/dist/install-3RZDDP23.js +0 -13
- package/dist/install-6PIF6F6W.js +0 -19
- package/dist/interop-EF5JUWWK.js +0 -246
- package/dist/inventory-I6VJDDYF.js +0 -127
- package/dist/library-3J5IO2OJ.js +0 -75
- package/dist/library-IJTOFTDS.js +0 -307
- package/dist/library-Z3KZSHPE.js +0 -492
- package/dist/library-import-IMKFLDHX.js +0 -183
- package/dist/library-inventory-CQP5D6GU.js +0 -56
- package/dist/library-validation-33UTX7AI.js +0 -42
- package/dist/mcp-5FWZKUS6.js +0 -26
- package/dist/memory-36CWN67Y.js +0 -520
- package/dist/models-KQ6PQJJQ.js +0 -302
- package/dist/monitor-XX6ZD6KC.js +0 -785
- package/dist/orchestrator-SK6HDAOP.js +0 -42067
- package/dist/panes-L27QRXUH.js +0 -74
- package/dist/panes-LXZIWNOZ.js +0 -103
- package/dist/paths-7DJDU4P4.js +0 -67
- package/dist/preload-K2TDYI4Y.js +0 -124
- package/dist/registry-DESGAXWK.js +0 -11
- package/dist/reset-73VU3XNT.js +0 -345
- package/dist/resources-3BYJYVYL.js +0 -181
- package/dist/run-AR7PY6GW.js +0 -896
- package/dist/run-script-H2KUDIII.js +0 -41
- package/dist/settings-3VMBMWID.js +0 -72
- package/dist/share-HVWH4FPF.js +0 -293
- package/dist/skills-5TYEY75Q.js +0 -100
- package/dist/skills-eval-CK3MD63Z.js +0 -1083
- package/dist/skills-inventory-KSFYG3I6.js +0 -138
- package/dist/slash-commands-DMVHML7P.js +0 -98
- package/dist/steer-XCD6V3EW.js +0 -77
- package/dist/support-JAZL6VBR.js +0 -38
- package/dist/system-3TDQRMZZ.js +0 -116
- package/dist/targets-EZKHAYRN.js +0 -1117
- package/dist/tasks-SNEFHWYW.js +0 -36
- package/dist/terminal-lease-BNLFA4OF.js +0 -419
- package/dist/tools-7IM6BDCE.js +0 -28
- package/dist/trace-C3MBGD4S.js +0 -524
- package/dist/tree-sitter-AQUUOSYM.js +0 -4673
- package/dist/tui-primitives-36BY2774.js +0 -18
- package/dist/uninstall-WWLOSZ42.js +0 -432
- package/dist/upgrade-ETK2JNSJ.js +0 -297
- package/dist/usage-S2HOB7BZ.js +0 -1065
- package/dist/verifiers-QDTEVH7R.js +0 -632
- package/dist/verify-SUKUK6XM.js +0 -31
- package/dist/version-RFPKO6T7.js +0 -21
- package/dist/web/client/assets/abnfDiagram-VCTEODGH-BznNOe_I.js +0 -1
- package/dist/web/client/assets/architecture-7GRP2DOG-BQO9DL_y.js +0 -1
- package/dist/web/client/assets/architectureDiagram-5GKGNRK7-CKPbdvyx.js +0 -36
- package/dist/web/client/assets/blockDiagram-I7D4REHJ-prINbpbM.js +0 -129
- package/dist/web/client/assets/c4Diagram-7LVT6UL2-DkVRKtyU.js +0 -38
- package/dist/web/client/assets/channel-c4EeUUqA.js +0 -1
- package/dist/web/client/assets/chunk-4HAMMTFA-CV0Z1ApC.js +0 -62
- package/dist/web/client/assets/chunk-75Z2AOVW-D34Nohxq.js +0 -2
- package/dist/web/client/assets/chunk-DU6HZSFF-Das_cS-O.js +0 -125
- package/dist/web/client/assets/chunk-F27PBJKO-CmRojxkG.js +0 -1
- package/dist/web/client/assets/chunk-GMAD6QVW-ClYZmc73.js +0 -72
- package/dist/web/client/assets/chunk-GVQU2GXP-B2BiHFt-.js +0 -1
- package/dist/web/client/assets/chunk-IMKFNOWR-BGApZ8nP.js +0 -231
- package/dist/web/client/assets/chunk-L3NEJ4N5-DIzCgpkY.js +0 -1
- package/dist/web/client/assets/chunk-OSK3NFVY-BPT-yePv.js +0 -10
- package/dist/web/client/assets/chunk-P2QGCYS3-BC1WTc2t.js +0 -1
- package/dist/web/client/assets/chunk-POPQ4Y6H-BSjzBmZU.js +0 -1
- package/dist/web/client/assets/chunk-PWAF6VOD-BIjLs86Z.js +0 -1
- package/dist/web/client/assets/chunk-SHT3W25Y-CduDz2cm.js +0 -168
- package/dist/web/client/assets/chunk-SVP7TREG-XUn4pPAP.js +0 -88
- package/dist/web/client/assets/chunk-TICWLB2K-DcBy2DKy.js +0 -206
- package/dist/web/client/assets/classDiagram-ZZMXUADV-C0HR7YKN.js +0 -1
- package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-C0HR7YKN.js +0 -1
- package/dist/web/client/assets/cynefin-OW5HDTMX-BecPbyM6.js +0 -1
- package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-BzMzFwyT.js +0 -62
- package/dist/web/client/assets/dagre-GXQ25YYZ-CAWJmRMG.js +0 -4
- package/dist/web/client/assets/diagram-S7CK7UJ4--lp0ALmn.js +0 -30
- package/dist/web/client/assets/diagram-UQ7AKVKN-gKUnsjcj.js +0 -41
- package/dist/web/client/assets/diagram-VSXAHHWV-BoN5D1Gh.js +0 -3
- package/dist/web/client/assets/diagram-VX7I27RA-BMtuswQ6.js +0 -24
- package/dist/web/client/assets/diagram-Z3DM3KII-DtU8LXrA.js +0 -24
- package/dist/web/client/assets/ebnfDiagram-PWID7BFC-DDcnv9BH.js +0 -1
- package/dist/web/client/assets/erDiagram-RLTQ6QDP-DvRb4iDL.js +0 -99
- package/dist/web/client/assets/eventmodeling-NTZA5JFV-01h4SbTc.js +0 -1
- package/dist/web/client/assets/flowDiagram-HODETNUW-Bll_YZ6T.js +0 -1
- package/dist/web/client/assets/framework-YGoR34M4.js +0 -9
- package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-DdFZ9hvH.js +0 -292
- package/dist/web/client/assets/gitGraph-4MIJSDKK-DjD_AAMj.js +0 -1
- package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CDyN9n2u.js +0 -106
- package/dist/web/client/assets/index-CVcy0FAn.js +0 -75
- package/dist/web/client/assets/index-Dsi52apB.css +0 -1
- package/dist/web/client/assets/info-A6RAGUB7-C_XK8Hq0.js +0 -1
- package/dist/web/client/assets/infoDiagram-27XIBGKW-DIe4tJ1i.js +0 -2
- package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-CVl5unKI.js +0 -70
- package/dist/web/client/assets/journeyDiagram-3NMN7TZE-CPEB1Vt8.js +0 -139
- package/dist/web/client/assets/kanban-definition-UXKFOSKX-j-9WXjYQ.js +0 -89
- package/dist/web/client/assets/line-BIDAcEtX.js +0 -1
- package/dist/web/client/assets/mermaid-parser.core-Ux4vssh0.js +0 -7
- package/dist/web/client/assets/mermaid.core-CDuwVKeh.js +0 -44
- package/dist/web/client/assets/mindmap-definition-YA3MSWOX-5MlQEeQ6.js +0 -96
- package/dist/web/client/assets/packet-AYTQ26CC-DRO66c9Q.js +0 -1
- package/dist/web/client/assets/pegDiagram-XKGWAZYB-BakZnSjM.js +0 -1
- package/dist/web/client/assets/pie-WAS4IAKB-BEzcmhz8.js +0 -1
- package/dist/web/client/assets/pieDiagram-E7YTZNPT-DpmqgoPt.js +0 -39
- package/dist/web/client/assets/quadrantDiagram-AXDQQJYC-DuMPwwV2.js +0 -7
- package/dist/web/client/assets/radar-RG4KPBEZ-Djm3oXl5.js +0 -1
- package/dist/web/client/assets/railroad-74A4TZTK-Cpvkwsao.js +0 -1
- package/dist/web/client/assets/railroad-abnf-HS5TGJTU-CpRQ3ruG.js +0 -1
- package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-1Rm5a5eJ.js +0 -1
- package/dist/web/client/assets/railroad-peg-WCYAUIDC-C8344cTh.js +0 -1
- package/dist/web/client/assets/railroadDiagram-O6MQD6OU-CgMS4B6R.js +0 -1
- package/dist/web/client/assets/requirementDiagram-BXWQKSXE-CX5eoNdN.js +0 -84
- package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-CODBX2N3.js +0 -40
- package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-eUhhF8OR.js +0 -162
- package/dist/web/client/assets/stateDiagram-D77RDMKH-vR6l0NC2.js +0 -1
- package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-BYUm8jLY.js +0 -1
- package/dist/web/client/assets/swimlanes-42K2YHIH-v9Tw_zX7.js +0 -1
- package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-B2jdCvhD.js +0 -8
- package/dist/web/client/assets/timeline-definition-24CTP7MA-DxianbhU.js +0 -120
- package/dist/web/client/assets/treeView-Q6P3EWNA-DLxnZb9R.js +0 -1
- package/dist/web/client/assets/treemap-WGGIJYW6-I7UnZ6xJ.js +0 -1
- package/dist/web/client/assets/vennDiagram-4TSXK5OY-Ar7M8Mrj.js +0 -34
- package/dist/web/client/assets/wardley-WFR3VGLG-B8ZSHeDu.js +0 -1
- package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-Qks2FmIn.js +0 -78
- package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BBBjRtiE.js +0 -7
- package/dist/web/client/index.html +0 -6
- package/dist/web/ops-worker.js +0 -37
- package/dist/web/reads-worker.js +0 -1726
- package/dist/web/server.js +0 -8499
- package/dist/web-EMGUGGEI.js +0 -13
- package/dist/web-fetch-6BRRVQON.js +0 -805
- package/dist/wiki-generate-XHSJTDOP.js +0 -627
- package/dist/with-panes-Z6BTEHMZ.js +0 -628
- package/evals/README.md +0 -9
- package/evals/behavioral-corpus-grader.mjs +0 -236
- package/evals/behavioral-machinery-baseline.json +0 -2276
- package/evals/behavioral-machinery-driver.ts +0 -250
- package/evals/behavioral-machinery-support.ts +0 -254
- package/evals/behavioral-machinery.yaml +0 -614
- package/evals/behavioral-model-negative-control.yaml +0 -69
- package/evals/behavioral-model.yaml +0 -482
- package/evals/fixtures/behavioral-facts.txt +0 -3
- package/evals/fixtures/behavioral-main.ts +0 -7
- package/evals/fixtures/decoy/note.txt +0 -2
- package/evals/fixtures/docs-retrieval.json +0 -102
- package/evals/fixtures/private/credentials.txt +0 -1
- package/evals/fixtures/scalar-decision.json +0 -17
- package/evals/fixtures/scout-citation-pipeline.json +0 -55
- package/evals/fixtures/source-explanation.json +0 -74
- package/evals/fixtures/tool-arguments.json +0 -18
- package/evals/fixtures/tool-surface/read.txt +0 -4
- package/evals/fixtures/tool-surface/subdir/keep.txt +0 -1
- package/evals/no-edit-memory-grader.mjs +0 -149
- package/evals/scalar-decision-grader.py +0 -41
- package/evals/scalar-decision-machinery.ts +0 -145
- package/evals/source-explanation-grader.mjs +0 -118
- package/evals/tool-surface-grader.mjs +0 -53
- package/evals/tool-surface-model.yaml +0 -274
- package/evals/tracked-metrics-baseline.yaml +0 -229
- package/evals/tracked-metrics-grader.mjs +0 -129
- package/src/cli/web.ts +0 -79
- package/src/domains/providers/runtimes/local-native/ollama-native.ts +0 -122
- /package/dist/assets/{web-notices → gui-notices}/@hono__node-server-LICENSE +0 -0
- /package/dist/assets/{web-notices → gui-notices}/hono-LICENSE +0 -0
- /package/dist/{web → gui}/client/THIRD_PARTY_LICENSES.md +0 -0
- /package/dist/{web → gui}/client/assets/arc-Pry-7G1_.js +0 -0
- /package/dist/{web → gui}/client/assets/array-BifhSqXX.js +0 -0
- /package/dist/{web → gui}/client/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-FOHPRMQF-CoA4358r.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-JWPE2WC7-DVXcaiue.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-XXDRQBXY-DqAYeljN.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +0 -0
- /package/dist/{web → gui}/client/assets/commit-mono-latin-400-normal-s0S3qwFW.woff +0 -0
- /package/dist/{web → gui}/client/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/cose-bilkent-JH36ORCC-CVh1icwb.js +0 -0
- /package/dist/{web → gui}/client/assets/cytoscape.esm-c2aL46s-.js +0 -0
- /package/dist/{web → gui}/client/assets/dagre-C-rnJpZF.js +0 -0
- /package/dist/{web → gui}/client/assets/defaultLocale-BFoDCU3G.js +0 -0
- /package/dist/{web → gui}/client/assets/dist-v5Q1xZ2K.js +0 -0
- /package/dist/{web → gui}/client/assets/graphlib-DS17s2tU.js +0 -0
- /package/dist/{web → gui}/client/assets/init-C-OQMol4.js +0 -0
- /package/dist/{web → gui}/client/assets/katex-ZlcWpGUi.js +0 -0
- /package/dist/{web → gui}/client/assets/linear-SzVmGSw4.js +0 -0
- /package/dist/{web → gui}/client/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/ordinal-BDEzSJ7C.js +0 -0
- /package/dist/{web → gui}/client/assets/path-fybaL0A-.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-bash-D6zCJ74D.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-c-04YixN25.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-clike-DapgWyxx.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-core-BtsZdCS6.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-cpp-C-lJbC-6.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-css-CPgOzxXp.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-diff-BF8m0_mq.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-docker-DkT6yOFj.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-fortran-Be5x3y1V.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-go-C_8qAH5n.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-ini-BESK3y0r.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-javascript-BnO-swvr.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-json-Dp_-W-Hv.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-jsx-D-D0NWtC.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-julia-DIjOgiAV.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-latex-DNMbqcH_.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-makefile-CRKWLQ8l.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-markdown-C0FPJ1Iz.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-markup-Cp04rIa1.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-matlab-D-nk08al.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-python-CfiSVtM6.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-r-QmNGR8LX.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-rust-Bu9N8X3N.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-shell-session-Be4UuYoM.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-sql-CYhVDMEE.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-toml-DKb54GAT.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-tsx-p6J2Kc_4.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-typescript-BMqONzxf.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-yaml-C0JHu8gr.js +0 -0
- /package/dist/{web → gui}/client/assets/purify.es-ChwZkWde.js +0 -0
- /package/dist/{web → gui}/client/assets/rolldown-runtime-hePW80VL.js +0 -0
- /package/dist/{web → gui}/client/assets/rough.esm-Dy-Kn_BL.js +0 -0
- /package/dist/{web → gui}/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -0
- /package/dist/{web → gui}/client/assets/src-B6xuSHsQ.js +0 -0
- /package/dist/{web → gui}/client/clio-coder-logo.webp +0 -0
- /package/dist/{web → gui}/client/icon-192.png +0 -0
- /package/dist/{web → gui}/client/icon-512.png +0 -0
- /package/dist/{web → gui}/client/manifest.webmanifest +0 -0
- /package/dist/{web → gui}/client/offline.css +0 -0
- /package/dist/{web → gui}/client/offline.html +0 -0
- /package/dist/{web → gui}/client/offline.js +0 -0
- /package/dist/{web → gui}/client/sw.js +0 -0
|
@@ -6,6 +6,20 @@ Clio's engine is built on the pi SDK (see [docs/architecture/pi-boundary.md](../
|
|
|
6
6
|
|
|
7
7
|
Source of truth: `src/core/defaults.ts`, `src/core/config.ts`, `src/domains/providers/**`, `src/cli/configure.ts`, `src/cli/targets.ts`, `src/cli/models.ts`, and `src/cli/auth.ts`.
|
|
8
8
|
|
|
9
|
+
### Start here
|
|
10
|
+
|
|
11
|
+
| If you want to | Go to |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| Get a first target working | [First-run flow](#first-run-flow), then `clio-coder configure` |
|
|
14
|
+
| Know what to set for a local server | [Recommended defaults](#recommended-defaults) |
|
|
15
|
+
| Look up one setting's default and validation | [Settings inventory](#settings-inventory) |
|
|
16
|
+
| Look up a flag, environment variable, or project file | [Configuration reference](configuration-reference.md) |
|
|
17
|
+
| Fix a target that will not connect | [Troubleshooting checklist](#troubleshooting-checklist) |
|
|
18
|
+
| Sign in to a subscription or OAuth provider | [Auth](#auth) |
|
|
19
|
+
|
|
20
|
+
The rest of this page is ordered from setup to reference. Deep mechanics sit in
|
|
21
|
+
collapsed sections; the tables stay open.
|
|
22
|
+
|
|
9
23
|
---
|
|
10
24
|
|
|
11
25
|
## Directory locations
|
|
@@ -71,7 +85,7 @@ Quick Connect detects LM Studio, Ollama, and LiteLLM where their discovery APIs
|
|
|
71
85
|
are available; other servers use the OpenAI- or Anthropic-compatible protocol.
|
|
72
86
|
It checks live model discovery, without sending a generation request. An
|
|
73
87
|
unreachable endpoint or empty model list stays in setup with a useful error.
|
|
74
|
-
Use **Settings →
|
|
88
|
+
Use **Settings → Connections → Add a target** for browser sign-in,
|
|
75
89
|
subscriptions, AWS credentials, explicit runtime selection, or a server that
|
|
76
90
|
needs a manually entered model id.
|
|
77
91
|
|
|
@@ -96,7 +110,7 @@ These aim to make one coding session useful on a laptop or a shared endpoint:
|
|
|
96
110
|
| --- | --- |
|
|
97
111
|
| Connection | One endpoint and model for chat and the fleet default on first setup. No separate model assignments to learn. |
|
|
98
112
|
| Autonomy | `auto-edit`: workspace edits are allowed; unrecognized commands need approval. The safety policy still applies. |
|
|
99
|
-
| Parallel work |
|
|
113
|
+
| Parallel work | `auto`: local workers are sized from usable CPUs, available memory, and any cgroup memory limit, up to eight. Per-endpoint slot limits still keep a single local model or shared endpoint from being flooded. Set a number for an exact limit. |
|
|
100
114
|
| Worker permissions | Deny worker tool requests that need approval (`deny`), returning a structured denial so the worker can continue. This works across native and external runtimes. Interactive operator escalation is available for mediated runtimes in Settings. |
|
|
101
115
|
| Cost | $5 tracked session budget. This depends on reported usage and known pricing; it is not a provider billing cap. |
|
|
102
116
|
| Thinking | Low for chat, off for workers; actual support depends on the chosen model. |
|
|
@@ -109,8 +123,8 @@ These aim to make one coding session useful on a laptop or a shared endpoint:
|
|
|
109
123
|
|
|
110
124
|
Newly initialized settings contain these values. Existing explicit values are
|
|
111
125
|
preserved; omitted keys inherit the current shipped defaults. For this release,
|
|
112
|
-
the changed
|
|
113
|
-
|
|
126
|
+
the changed default is worker concurrency `auto`; an explicit
|
|
127
|
+
`fleet.concurrency` already in `settings.yaml` is kept. See the
|
|
114
128
|
[full settings reference](configuration-reference.md) for every key.
|
|
115
129
|
|
|
116
130
|
## Advanced settings
|
|
@@ -118,29 +132,56 @@ streaming `auto`. See the
|
|
|
118
132
|
Choose **Settings**, or run `clio-coder configure --settings`, to open the full
|
|
119
133
|
configuration menu:
|
|
120
134
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
135
|
+
The configure menu and TUI `/settings` use the same sections, in the same order:
|
|
136
|
+
|
|
137
|
+
| Section | What belongs here | Direct link |
|
|
138
|
+
| --- | --- | --- |
|
|
139
|
+
| **Connections** | Providers, endpoints, credentials, and available models | `targets` |
|
|
140
|
+
| **Chat** | Chat model, thinking, favorites, output tokens, and retries | `chat` |
|
|
141
|
+
| **Fleet** | Worker models, profiles, routing, concurrency, retries, and run limits | `fleet` |
|
|
142
|
+
| **Context & Memory** | Compaction, working set, context limits, and proactive memory | `context` |
|
|
143
|
+
| **Permissions & Limits** | Autonomy, worker approvals, external-agent governance, spending, and safety review | `safety` |
|
|
144
|
+
| **Appearance** | Display mode, streaming, notifications, panes, and keyboard shortcuts | `interface` |
|
|
145
|
+
| **Integrations** | Project skills, external agents, plugins, library, and Git attribution | `integrations` |
|
|
146
|
+
| **Advanced** | Diagnostics, configuration files, and the full settings editor | `advanced` |
|
|
147
|
+
|
|
148
|
+
Use `clio-coder configure --section <name>` or `/settings <name>` to open an
|
|
149
|
+
area directly. Previous names such as `models`, `permissions`, `panes`, and
|
|
150
|
+
`skills` remain aliases for their new homes. `/settings` groups related controls
|
|
151
|
+
within each section; `/` filters by label, description, or settings path.
|
|
152
|
+
|
|
153
|
+
Connections manages the provider inventory. Chat, Fleet, and Context & Memory
|
|
154
|
+
choose which connection and model their work uses. Adding a connection preserves
|
|
155
|
+
existing defaults. Editing preserves its other capabilities, gateway settings,
|
|
156
|
+
and role-specific model overrides. Rename updates references together.
|
|
157
|
+
|
|
158
|
+
Configure puts common actions first. **All controls in this section** opens the
|
|
159
|
+
complete shared catalog, grouped by purpose and searchable by name or settings
|
|
160
|
+
path. Each control explains its meaning, current value, shipped default, and
|
|
161
|
+
when changes take effect. Both interfaces validate edits against the existing
|
|
162
|
+
settings schema.
|
|
163
|
+
|
|
164
|
+
Collections such as keybinding overrides, remote nodes, and rosters accept JSON;
|
|
165
|
+
Connections and Fleet also retain their guided actions. Library remote confirmation
|
|
166
|
+
remains owned by the library's trust flow. Advanced opens the validated full-file
|
|
167
|
+
editor and diagnostics; the TUI links to those commands. The launcher retains a
|
|
168
|
+
Diagnostics shortcut, and `configure --section diagnostics` still opens that screen
|
|
169
|
+
directly.
|
|
170
|
+
|
|
171
|
+
Escape returns to the parent menu, which remembers the selected row. Common
|
|
172
|
+
actions save when accepted; the complete catalog asks you to review and save
|
|
173
|
+
each edit. Leaving another field does not undo previously saved settings. Clear
|
|
174
|
+
a model override or list by deleting its prefilled text before accepting it.
|
|
175
|
+
|
|
176
|
+
The full target wizard instead saves at **Save target** after review. Pasted keys
|
|
177
|
+
wait for Save; browser sign-in stores credentials when sign-in succeeds. Optional
|
|
178
|
+
delegation review follows Save.
|
|
138
179
|
|
|
139
180
|
Open a section directly, or open the full editor:
|
|
140
181
|
|
|
141
182
|
```bash
|
|
142
183
|
clio-coder configure --section targets
|
|
143
|
-
clio-coder configure --section
|
|
184
|
+
clio-coder configure --section chat
|
|
144
185
|
clio-coder configure --edit
|
|
145
186
|
```
|
|
146
187
|
|
|
@@ -151,16 +192,41 @@ never replace the saved file. A save keeps the previous file at
|
|
|
151
192
|
`settings.yaml.bak` and refuses to overwrite concurrent changes. `--edit` also
|
|
152
193
|
works when malformed settings prevent the regular menu from loading.
|
|
153
194
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
195
|
+
Configure saves user defaults globally. The TUI offers session-only or global
|
|
196
|
+
saves for live controls and identifies changes that require a restart.
|
|
197
|
+
|
|
198
|
+
Clio can explain these settings herself: ask “What can you do without asking?”
|
|
199
|
+
or “What are my worker limits?” Her `context(scope="settings")` tool reads the
|
|
200
|
+
running session's effective configuration, including overrides, and returns
|
|
201
|
+
specific `/settings` and configure commands.
|
|
202
|
+
|
|
203
|
+
Every response includes the chat and fleet default routes, configured profiles and
|
|
204
|
+
agent bindings, and target runtime IDs; these are configuration facts, not backend
|
|
205
|
+
health checks. Multiword searches rank partial matches. It reports configured
|
|
206
|
+
ceilings, not remaining spending or call counts. It omits credentials, endpoint
|
|
207
|
+
URLs, external-agent commands, and arbitrary free-form values. This tool is
|
|
208
|
+
read-only; Clio guides you through changes and does not raise permissions or
|
|
209
|
+
budgets to work around a denial. Workers without an authoritative settings
|
|
210
|
+
snapshot say so instead of assuming the parent's settings.
|
|
211
|
+
|
|
212
|
+
The shipped `auto-edit` level allows workspace edits, recognized checks, and
|
|
213
|
+
routine delegation. Unfamiliar commands, reads outside the permitted workspace
|
|
214
|
+
roots, declared outward actions, and larger dispatch plans need approval.
|
|
215
|
+
Worker mode `deny` only denies calls that need approval; permitted worker work
|
|
216
|
+
continues. Choose `escalate` when you want supported worker runtimes to ask you,
|
|
217
|
+
with a timeout and explicit fallback. `full-auto` skips autonomy approvals but
|
|
218
|
+
still passes through the safety policy. No level disables hard safety blocks.
|
|
219
|
+
|
|
220
|
+
Approved project settings and session choices can override them; use
|
|
221
|
+
`clio-coder config inspect` to see the active sources. Without a terminal,
|
|
222
|
+
`--section` prints its values and exits; `--json` and `--list` inspect settings
|
|
223
|
+
and runtimes without initializing an installation. Dumb terminals retain the
|
|
224
|
+
numbered prompt fallback; Quick Connect requires a regular interactive terminal.
|
|
225
|
+
Use explicit flags for unattended target setup.
|
|
160
226
|
|
|
161
227
|
Start one local runtime and register exactly one target first. Clio integrates with popular local inference engines:
|
|
162
228
|
- **[LM Studio](https://lmstudio.ai):** A desktop application to run LLMs locally. Target runtime ID: `lmstudio`.
|
|
163
|
-
- **[Ollama](https://ollama.com):** A lightweight, extensible framework for building and running LLMs locally. Target runtime ID: `ollama
|
|
229
|
+
- **[Ollama](https://ollama.com):** A lightweight, extensible framework for building and running LLMs locally. Target runtime ID: `ollama`.
|
|
164
230
|
- **[llama.cpp](https://github.com/ggerganov/llama.cpp):** A minimal C/C++ implementation for local LLM inference. Target runtime ID: `llamacpp`.
|
|
165
231
|
- **[vLLM](https://github.com/vllm-project/vllm):** A high-throughput and memory-efficient LLM serving engine. Target runtime ID: `vllm`.
|
|
166
232
|
- **[SGLang](https://github.com/sgl-project/sglang):** A fast serving framework for large language models. Target runtime ID: `sglang`.
|
|
@@ -179,7 +245,7 @@ Common local runtime IDs and default URLs are:
|
|
|
179
245
|
| Runtime | Target runtime id | Example local URL |
|
|
180
246
|
| --- | --- | --- |
|
|
181
247
|
| LM Studio | `lmstudio` | `http://127.0.0.1:1234` |
|
|
182
|
-
| Ollama | `ollama
|
|
248
|
+
| Ollama | `ollama` | `http://127.0.0.1:11434` |
|
|
183
249
|
| llama.cpp server | `llamacpp` | `http://127.0.0.1:8080` |
|
|
184
250
|
| vLLM | `vllm` | `http://127.0.0.1:8000` |
|
|
185
251
|
| SGLang | `sglang` | `http://127.0.0.1:30000` |
|
|
@@ -245,9 +311,10 @@ Terminology used in code and receipts:
|
|
|
245
311
|
| Background target | Optional proactive-memory model target. Unset means deterministic rules-only memory. |
|
|
246
312
|
| Worker target | Fleet dispatch target. HTTP/native engine-backed, or one of the sanctioned subscription worker runtimes such as `claude-sdk`, `claude-code`, or `antigravity-code`. |
|
|
247
313
|
|
|
248
|
-
This abbreviated example
|
|
249
|
-
|
|
250
|
-
|
|
314
|
+
This abbreviated example illustrates the version-2 schema organization across targets, chat, fleet, context, safety, interface, and integrations. The [settings inventory](#settings-inventory) below details every accepted leaf key and its shipped default.
|
|
315
|
+
|
|
316
|
+
<details>
|
|
317
|
+
<summary>A complete annotated `settings.yaml`</summary>
|
|
251
318
|
|
|
252
319
|
```yaml
|
|
253
320
|
version: 2
|
|
@@ -279,7 +346,7 @@ fleet:
|
|
|
279
346
|
rosters: {}
|
|
280
347
|
agentProfiles: {}
|
|
281
348
|
nodes: []
|
|
282
|
-
concurrency:
|
|
349
|
+
concurrency: auto
|
|
283
350
|
|
|
284
351
|
context:
|
|
285
352
|
workingSet:
|
|
@@ -330,12 +397,19 @@ integrations:
|
|
|
330
397
|
commitAttribution: true
|
|
331
398
|
```
|
|
332
399
|
|
|
400
|
+
</details>
|
|
401
|
+
|
|
333
402
|
Target capability overrides may include `chat`, `tools`, `toolCallFormat`, `reasoning`, `thinkingFormat`, `structuredOutputs`, `vision`, `audio`, `embeddings`, `rerank`, `fim`, `contextWindow`, and `maxTokens`.
|
|
334
403
|
|
|
335
404
|
### LiteLLM gateways
|
|
336
405
|
|
|
337
|
-
Register LiteLLM with its first-class runtime
|
|
338
|
-
`/v1/model/info`
|
|
406
|
+
Register LiteLLM with its first-class runtime. The authenticated `/v1/models`
|
|
407
|
+
listing controls selectable aliases. `/v1/model/info` (with `/model/info` fallback)
|
|
408
|
+
enriches matching aliases with capability and deployment metadata. An explicitly
|
|
409
|
+
empty inference listing stays empty; admin metadata cannot broaden it. If the
|
|
410
|
+
inference listing is unavailable, detail rows are unverified hints, not a healthy
|
|
411
|
+
catalog. A restricted `/health/liveliness` endpoint does not invalidate a successful
|
|
412
|
+
authenticated listing. For a
|
|
339
413
|
gateway where placement matters, publish one deterministic `node/model` name
|
|
340
414
|
per deployment instead of task categories such as `chat` or `code`:
|
|
341
415
|
|
|
@@ -344,7 +418,7 @@ targets:
|
|
|
344
418
|
- id: ai-gateway
|
|
345
419
|
runtime: litellm
|
|
346
420
|
url: http://gateway.example:4000
|
|
347
|
-
defaultModel:
|
|
421
|
+
defaultModel: node-1/qwen3.8-27b
|
|
348
422
|
auth:
|
|
349
423
|
apiKeyEnvVar: CLIO_AI_GATEWAY_KEY
|
|
350
424
|
litellm:
|
|
@@ -361,47 +435,180 @@ Clio adds the `clio-coder` request tag and forwards its stable session id by
|
|
|
361
435
|
default. Explicit `x-litellm-*` headers on the target or request take
|
|
362
436
|
precedence. Set `sendSessionId: false` when the gateway must not correlate calls.
|
|
363
437
|
The timeout values and `numRetries` become LiteLLM request headers and override
|
|
364
|
-
the proxy's defaults only for this target.
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
438
|
+
the proxy's defaults only for this target.
|
|
439
|
+
|
|
440
|
+
Clio disables the OpenAI SDK's client-side retry layer on LiteLLM requests. A
|
|
441
|
+
failed interactive LiteLLM call also bypasses Clio's transient retry ladder even
|
|
442
|
+
when `chat.retry` is enabled: the provider error names the selected route and tells
|
|
443
|
+
the operator to choose a different one with `/model`. Configure `numRetries: 0`
|
|
444
|
+
and no server fallback maps when `node/model` is a placement guarantee.
|
|
445
|
+
Context-overflow compaction is still a local correction, not a route substitution.
|
|
446
|
+
|
|
447
|
+
When the gateway reports these fields, Clio records LiteLLM's selected model
|
|
448
|
+
group, physical model, sanitized upstream host, fallback/retry counts, and proxy
|
|
449
|
+
timing in the session and worker receipt. A nonzero fallback or retry is also
|
|
450
|
+
announced in the live transcript, making server-policy drift visible.
|
|
451
|
+
Self-describing physical routes are summarized in probe diagnostics instead of
|
|
452
|
+
expanding into a giant list of tautological mappings.
|
|
453
|
+
|
|
454
|
+
If a genuine alias has multiple deployments, discovered capabilities are the
|
|
455
|
+
conservative intersection and numerical limits are the smallest limits published
|
|
456
|
+
by every deployment, so routing cannot select a weaker backend than Clio planned
|
|
457
|
+
for. If `/v1/model/info` omits a capability, Clio does not invent it; that includes
|
|
458
|
+
structured-output support.
|
|
459
|
+
|
|
460
|
+
Upstream `model_info.runtime` declarations may identify the thinking-control
|
|
461
|
+
dialect of a routed model. Clio accepts only recognized declarations shared by
|
|
462
|
+
every deployment of that alias; unknown or mixed declarations remain unguessed.
|
|
463
|
+
A resolved LM Studio dialect uses its explicit off effort, while llama.cpp uses
|
|
464
|
+
template controls. This metadata does not turn the target into a native management
|
|
465
|
+
endpoint: LiteLLM continues to own authentication, routing, loading and eviction.
|
|
466
|
+
Thinking off is a request to the selected runtime/model, not evidence that the
|
|
467
|
+
server complied or that every route has been live-validated.
|
|
468
|
+
|
|
469
|
+
### Current user and machine awareness
|
|
470
|
+
|
|
471
|
+
At session startup Clio includes the local OS account, machine hostname, and
|
|
472
|
+
workspace in the model’s prompt context. This lets it answer where it is running
|
|
473
|
+
without invoking `whoami` or a shell. The account name is not a verified personal
|
|
474
|
+
identity, and the machine is the Clio host, not the inference server. No new
|
|
475
|
+
configure question, stored profile, or settings migration is required.
|
|
476
|
+
|
|
477
|
+
### Local inference and server management
|
|
478
|
+
|
|
479
|
+
Clio connects to running inference servers. The server remains responsible for
|
|
480
|
+
model downloads, runtime/driver installation, GPU placement, KV allocation, MTP,
|
|
481
|
+
and scheduling. Clio’s target configuration selects a protocol and model, applies
|
|
482
|
+
supported request controls, and uses available metadata for planning and admission.
|
|
483
|
+
It does not guarantee that a model fits in VRAM or that a requested knob took effect.
|
|
484
|
+
|
|
485
|
+
| Runtime | Chat transport | Additional controls and limits |
|
|
486
|
+
| --- | --- | --- |
|
|
487
|
+
| `ollama` | Native HTTP `/api/chat` | Native thinking, sampling, `num_ctx`, and owned-load keep-alive; `/api/ps` reports residency. |
|
|
488
|
+
| `lmstudio` | Shared OpenAI-compatible chat | REST catalog and optional explicit load settings; loaded-instance resolution. Use `reasoning_effort` for thinking control. |
|
|
489
|
+
| `llamacpp` | Shared OpenAI-compatible chat | Router residency, context/slot metadata and `cache_prompt`; server flags determine KV layout, MTP and parallelism. |
|
|
490
|
+
| `lemonade` | Shared OpenAI-compatible chat | Advertised model labels distinguish chat, tools, reasoning, vision, embedding and reranking support. Configure the backend and model loading in Lemonade. |
|
|
491
|
+
| `litellm` | Shared OpenAI-compatible chat | Gateway aliases and capability metadata; upstream loading and eviction remain the gateway/server’s responsibility. |
|
|
492
|
+
|
|
493
|
+
The hidden `lemonade-anthropic` runtime exposes Lemonade’s Anthropic-compatible
|
|
494
|
+
surface when that protocol is needed. Generic runtime defaults do not establish
|
|
495
|
+
capabilities for every model in a server’s catalog. Use a live tool/reasoning check
|
|
496
|
+
when those abilities matter to a workflow.
|
|
497
|
+
|
|
498
|
+
`lifecycle: user-managed` disables Clio’s explicit load/unload management. A chat
|
|
499
|
+
request may still trigger the server’s own automatic load policy. LM Studio REST
|
|
500
|
+
load options cover only the supported fields in the target schema; they do not
|
|
501
|
+
promise SDK-only GPU guardrails or KV quantization controls. If explicit loading
|
|
502
|
+
is required, unavailable management metadata is an error; otherwise Clio can
|
|
503
|
+
attempt inference despite a temporary metadata outage. Capacity-specific load
|
|
504
|
+
failures may trigger eviction of Clio-owned instances and bounded restoration on
|
|
505
|
+
failure. Authentication or invalid-option errors do not authorize eviction.
|
|
384
506
|
|
|
385
507
|
### `maxConcurrentRequests`
|
|
386
508
|
|
|
387
509
|
`maxConcurrentRequests` is a per-target integer of at least 1, validated with the rest of the target block, and it is the operator's override for how many requests the inference endpoint behind that target can serve at once. It is not a settings-file default and has no shipped value, so it does not appear in the settings inventory below.
|
|
388
510
|
|
|
389
|
-
Set it only when discovery is wrong. Clio resolves the limit in this order:
|
|
511
|
+
Set it only when discovery is wrong. Clio resolves the limit in this order:
|
|
512
|
+
|
|
513
|
+
1. this override;
|
|
514
|
+
2. a `parallelSlots` count cached on the target's probe result;
|
|
515
|
+
3. a persisted discovery result that is still fresh and matches the runtime;
|
|
516
|
+
4. one slot for any other `local-native` runtime;
|
|
517
|
+
5. no invented endpoint bound at all for a cloud runtime, LiteLLM, vLLM, or SGLang.
|
|
518
|
+
|
|
519
|
+
Per-runtime discovery differs. llama.cpp reads `total_slots` from the router's `/props`, falls back to the selected worker's `/props?model=<id>` when the router reports none, and falls back again to the `--parallel` argv on the selected `/v1/models` entry. LM Studio reads `config.parallel` off the loaded instance and otherwise reports one.
|
|
520
|
+
|
|
521
|
+
Ollama exposes no native API slot count, so Clio conservatively reports one. Set `maxConcurrentRequests` explicitly when the daemon supports more; the client process’s `OLLAMA_NUM_PARALLEL` does not describe the server.
|
|
390
522
|
|
|
391
523
|
The limit is keyed on the endpoint rather than the target, so two targets pointed at the same normalized URL share it. Raising it above what the server will actually serve does not create capacity; it removes the refusal that would have told you the server was full. See [capacity-and-scheduling.md](../architecture/capacity-and-scheduling.md) for the admission model and the exact denial text.
|
|
392
524
|
|
|
393
525
|
### The `local-native` tier
|
|
394
526
|
|
|
395
|
-
Three behaviors in this release are gated on a runtime's tier being `local-native` rather than on a target id or a server name, so it is worth stating what the tier is. It is a property of the runtime descriptor (`RuntimeTier` in `src/domains/providers/types/runtime-descriptor.ts`), and the runtimes that carry it are `llamacpp` with its completion, embedding, rerank, and Anthropic-surface variants, `lmstudio`, `ollama
|
|
527
|
+
Three behaviors in this release are gated on a runtime's tier being `local-native` rather than on a target id or a server name, so it is worth stating what the tier is. It is a property of the runtime descriptor (`RuntimeTier` in `src/domains/providers/types/runtime-descriptor.ts`), and the runtimes that carry it are `llamacpp` with its completion, embedding, rerank, and Anthropic-surface variants, `lmstudio`, `ollama`, `vllm`, `sglang`, and the two `lemonade` surfaces. Everything else is `cloud`, `protocol`, or `subscription`.
|
|
396
528
|
|
|
397
529
|
The tier means "an inference server the operator runs, whose prefix cache and resident model Clio's own behavior can displace." That is what the three gates are actually asking:
|
|
398
530
|
|
|
399
|
-
- **Pre-warm** requires `chat.prewarm: true` and a verified
|
|
531
|
+
- **Pre-warm** requires `chat.prewarm: true` and a verified deployment binding. Pinned llama.cpp deployments require a loaded, idle server. Local LM Studio deployments require an additional `cache.warm.startup: true` opt-in and verified residency/capacity, including when reached through LiteLLM. Unknown gateway routes and paid routes remain passive. Checks run before preparation and again before the request; a runtime tier alone grants no load or eviction authority.
|
|
400
532
|
- **Endpoint capacity** defaults to one slot here when discovery reports nothing, and to unbounded elsewhere. vLLM and SGLang are the deliberate exceptions inside the tier: both serve genuinely concurrent requests, so an undiscovered limit is left unbounded rather than guessed at one.
|
|
401
533
|
- **Five of the eight expected-cold reasons** are stamped only here, because a single-slot local cache is the only one an interleaved run actually displaces. The other three moved the prompt bytes themselves and are stamped on every tier. The full split is in [context-engine.md](../architecture/context-engine.md#cache-divergence-honesty).
|
|
402
534
|
|
|
403
535
|
The tool-prose-loop detector is keyed on the same tier, for the same reason: narrating a tool call instead of emitting one is a behavior of open-weight models served locally, and a list of server names would have left an Ollama or vLLM run with no cutoff at all.
|
|
404
536
|
|
|
537
|
+
### Startup preparation
|
|
538
|
+
|
|
539
|
+
The terminal paints the welcome and accepts input before session initialization finishes. Submitted text waits for the normal safety, tools, and session setup. Routine initialization stays silent; failures remain visible. Opening a home, system, or shared root folder requires confirmation before project settings load. This confirmation applies to that launch and does not grant trust to project settings or hooks.
|
|
540
|
+
|
|
541
|
+
After the interactive frame commits and the session is idle, Clio prepares connections for up to four distinct local worker endpoints from the fleet default, profiles, and rosters. These are passive metadata requests, made sequentially with a 1.5-second timeout each. Cloud endpoints, remote-node profiles, and the main agent's endpoint are excluded. Headless commands and worker processes never run this interactive preparation. Node's compile cache is published while the parent is alive so worker processes can reuse it before the parent exits.
|
|
542
|
+
|
|
543
|
+
For an already loaded local worker model with a verified `cache.deployment` binding, opt into one tiny inference warm-up per endpoint per launch:
|
|
544
|
+
|
|
545
|
+
```yaml
|
|
546
|
+
# Inside the worker target's existing cache configuration:
|
|
547
|
+
cache:
|
|
548
|
+
# Keep the verified deployment binding here.
|
|
549
|
+
warm:
|
|
550
|
+
startup: true
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
`startup` defaults to false. The optional request has no system prompt, history, or tools, allows one output token, and is capped at 256 estimated input tokens and two seconds. Lower `maxInputTokens` or `maxDurationMs` bounds are honored. Paid routes, busy endpoints, and unknown or unsupported deployments remain ineligible. Usage is recorded under `prewarm`, including unknown usage when a request fails. This warms the serving path; it does not claim to cache a future worker's task-specific prompt. Server-side cancellation is backend-dependent, so even a bounded client request can briefly contend with a worker dispatched afterward.
|
|
554
|
+
|
|
555
|
+
### Local LM Studio warming through LiteLLM
|
|
556
|
+
|
|
557
|
+
Bind the target to one local deployment; Clio checks the gateway's authenticated route inventory before warming. Model requests remain opt-in:
|
|
558
|
+
|
|
559
|
+
```yaml
|
|
560
|
+
# Inside the existing target (runtime: litellm):
|
|
561
|
+
cache:
|
|
562
|
+
deployment:
|
|
563
|
+
backend: lmstudio
|
|
564
|
+
controlUrl: http://192.168.1.20:1234
|
|
565
|
+
model: my-local-model
|
|
566
|
+
gatewayDeploymentId: deployment-id-from-litellm
|
|
567
|
+
warm:
|
|
568
|
+
startup: true
|
|
569
|
+
maxInputTokens: 20000
|
|
570
|
+
maxDurationMs: 30000
|
|
571
|
+
cooldownMs: 60000
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
The main agent also requires `chat.prewarm: true`. After a one-second startup delay, warming stands down for an editor draft, active turn, or dispatch. If the verified local model is absent, an opted-in tiny request may wake it. Once resident, Clio requires at least two configured LM Studio parallel slots before sending its actual instruction/tool prefix with one output token. The input budget includes tools; the default 8192-token limit may be too small for a full Clio prompt. Warm requests disable LiteLLM retries and fallbacks. Direct `runtime: lmstudio` targets use the same binding without `gatewayDeploymentId`.
|
|
575
|
+
|
|
576
|
+
LM Studio does not expose an idle-slot API. Configured parallelism and Clio's endpoint leases reduce contention but cannot detect all external traffic or guarantee immediate foreground service. Submitting detaches an already-running warm; it does not await it, and server-side loading/prefill may still finish. Warm-up never gates the welcome or hydration. Headless runs and worker processes do not schedule main-session warming. The interactive worker preparation described above may warm separately configured local bindings, but never the main deployment, including aliases that share its bound endpoint.
|
|
577
|
+
|
|
578
|
+
Results and skip reasons are written silently to `$XDG_STATE_HOME/clio-coder/startup/YYYY-MM-DD.jsonl` (normally `~/.local/state/clio-coder/startup/`), including before a session exists. Usage remains attributed to `prewarm`. A missing provider cache-read count is displayed as unknown, not a cold-cache claim. Old session records retain their original recorded verdicts.
|
|
579
|
+
|
|
580
|
+
### Ollama runtime id
|
|
581
|
+
|
|
582
|
+
The canonical runtime id is `ollama`. The former `ollama-native` id remains an accepted alias scheduled for removal in v0.7.0. `--runtime ollama-native` still resolves and prints one deprecation warning naming `ollama`, a `settings.yaml` that still names `ollama-native` keeps loading unchanged, and `clio-coder upgrade` rewrites persisted targets to the canonical id. An unknown runtime id in `configure --runtime` or `targets convert --runtime` names the closest registered id when one is near.
|
|
583
|
+
|
|
584
|
+
### Ollama context window (`ollama.numCtx`)
|
|
585
|
+
|
|
586
|
+
An `ollama` target sends no `num_ctx` by default, so Ollama opens the model at whatever window its server is configured for (`OLLAMA_CONTEXT_LENGTH`, a `num_ctx` in the Modelfile, or the server default). Clio reads that window back from `/api/ps` once the model is resident and plans against it. Before the model is resident, Clio plans against the smaller of the model maximum and 131,072 tokens. To ask for a specific window instead, set it on the target:
|
|
587
|
+
|
|
588
|
+
```yaml
|
|
589
|
+
targets:
|
|
590
|
+
- id: local-ollama
|
|
591
|
+
runtime: ollama
|
|
592
|
+
url: http://127.0.0.1:11434
|
|
593
|
+
defaultModel: qwen3:30b-a3b-instruct-2507-q4_K_M
|
|
594
|
+
ollama:
|
|
595
|
+
numCtx: 65536
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
`numCtx` is a positive integer. When it is set, every chat request carries `options.num_ctx`, and Clio plans against that number capped by the model maximum from `/api/show` and by any smaller `capabilities.contextWindow`. `clio-coder targets --probe` then prints `ctx 65536 (num_ctx; serving 32768; model max 262144)` until the first request reloads the model.
|
|
599
|
+
|
|
600
|
+
Ollama reloads a model whenever a request asks for a `num_ctx` different from the one it is loaded at. On a server other clients share, that reload evicts the window they opened it at, and the next request from them reloads it back, so two clients with different windows will thrash the model. Leave `numCtx` unset on a shared server and raise `OLLAMA_CONTEXT_LENGTH` there instead.
|
|
601
|
+
|
|
602
|
+
### Ollama residency and release on exit
|
|
603
|
+
|
|
604
|
+
Requests for managed Ollama loads that Clio can own and release send `keep_alive: -1` to keep them warm between turns. Pre-existing, user-managed, and otherwise unowned models retain the server’s normal keep-alive policy; a failed preflight does not grant pinning authority. Ollama places and fits models itself, so Clio never unloads a model it did not load: models the operator or another client loaded, and models that were already resident when Clio first used them, stay loaded. When an interactive session switches models, Clio releases the model it loaded earlier before the next turn.
|
|
605
|
+
|
|
606
|
+
When the process exits, Clio sends `keep_alive: 0` for each model this process loaded and pinned, so a finished `clio-coder run` does not hold its weights after it ends. A model counts as loaded by Clio when it was absent from `/api/ps` before Clio's first request for it and that request then answered. The release runs on every coordinated exit: a headless run that completes or fails, `run --timeout` (exit 124), SIGINT, SIGTERM, interactive quit, and a `clio-coder acp` session whose client closes the connection. It is bounded at two seconds, and a server that is unreachable or slow leaves the model loaded without changing the exit code. A target with `lifecycle: user-managed` is observe-only, so nothing is released there.
|
|
607
|
+
|
|
608
|
+
Dispatched workers do not release on their own exit, because the next sequential dispatch would reload the model and a parallel sibling would lose it mid-turn. When a worker's request loads a model, the worker reports the target and model ids to the orchestrator over its control lane, and the orchestrator releases that model when it exits. Until then the model stays warm for later dispatches, and no chat or dispatch in the same session evicts it. The orchestrator reaches the server through its own settings for that target. A worker on a fleet node whose target URL is a loopback address loaded the model on that node, which the orchestrator cannot reach, so that model is not released. Fleet nodes observe residency by default and report nothing unless the node sets `residency: manage`.
|
|
609
|
+
|
|
610
|
+
A process that crashes or is killed with SIGKILL releases nothing, and its models stay pinned until something unloads them, for example `ollama stop <model>`. A model whose first request never answered, such as a load that failed or was interrupted before the first response, is not recorded as Clio's and is not released either.
|
|
611
|
+
|
|
405
612
|
### LM Studio transport and settings
|
|
406
613
|
|
|
407
614
|
The canonical runtime id is `lmstudio`. The former `lmstudio-native` id remains an accepted alias scheduled for removal in v0.7.0,
|
|
@@ -416,8 +623,12 @@ use the native REST API, with `GET /api/v1/models` as the preferred catalog
|
|
|
416
623
|
Leave `lmstudio.load` absent to preserve LM Studio's just-in-time loading behavior. Clio then observes
|
|
417
624
|
residency but sends no explicit load request. When `lmstudio.load` is present and the selected model
|
|
418
625
|
is unloaded, Clio calls `POST /api/v1/models/load` with `echo_load_config: true`; LM Studio documents
|
|
419
|
-
the load operation at <https://lmstudio.ai/docs/developer/rest/load>.
|
|
420
|
-
|
|
626
|
+
the load operation at <https://lmstudio.ai/docs/developer/rest/load>.
|
|
627
|
+
|
|
628
|
+
<details>
|
|
629
|
+
<summary>Which settings key maps to which LM Studio load and chat field</summary>
|
|
630
|
+
|
|
631
|
+
Clio sends only fields that the target explicitly configured:
|
|
421
632
|
|
|
422
633
|
| Settings key | REST load field |
|
|
423
634
|
| --- | --- |
|
|
@@ -427,6 +638,16 @@ target explicitly configured:
|
|
|
427
638
|
| `numExperts` | `num_experts` |
|
|
428
639
|
| `offloadKvCacheToGpu` | `offload_kv_cache_to_gpu` |
|
|
429
640
|
|
|
641
|
+
The request settings map as follows:
|
|
642
|
+
|
|
643
|
+
| Settings key | Chat request behavior |
|
|
644
|
+
| --- | --- |
|
|
645
|
+
| `ttlSeconds` | Sends `ttl`, using LM Studio's auto-eviction TTL (<https://lmstudio.ai/docs/developer/core/ttl-and-auto-evict>). |
|
|
646
|
+
| `draftModel` | Sends `draft_model` on the OpenAI-compatible chat request (<https://lmstudio.ai/docs/developer/openai-compat/chat-completions>). |
|
|
647
|
+
| `reasoning` | `off` sends `reasoning_effort: none`; `on` sends `low`; a literal `low`, `medium`, or `high` outranks the thinking dial but is still clamped to the efforts the model advertises (a model reporting only `[off, on]` receives `low`); `auto` maps the active Clio thinking level. |
|
|
648
|
+
|
|
649
|
+
</details>
|
|
650
|
+
|
|
430
651
|
Loaded instances are addressed by their instance ids when Clio calls
|
|
431
652
|
`POST /api/v1/models/unload` (<https://lmstudio.ai/docs/developer/rest/unload>). Clio records the
|
|
432
653
|
instance id returned by each successful load in this process and refuses to unload every other
|
|
@@ -436,14 +657,6 @@ the model key or one of its loaded instance ids. The probe reports both forms an
|
|
|
436
657
|
instance's echoed load configuration from the native model listing
|
|
437
658
|
(<https://lmstudio.ai/docs/developer/rest/list>).
|
|
438
659
|
|
|
439
|
-
The request settings map as follows:
|
|
440
|
-
|
|
441
|
-
| Settings key | Chat request behavior |
|
|
442
|
-
| --- | --- |
|
|
443
|
-
| `ttlSeconds` | Sends `ttl`, using LM Studio's auto-eviction TTL (<https://lmstudio.ai/docs/developer/core/ttl-and-auto-evict>). |
|
|
444
|
-
| `draftModel` | Sends `draft_model` on the OpenAI-compatible chat request (<https://lmstudio.ai/docs/developer/openai-compat/chat-completions>). |
|
|
445
|
-
| `reasoning` | `off` sends `reasoning_effort: none`; `on` sends `low`; a literal `low`, `medium`, or `high` outranks the thinking dial but is still clamped to the efforts the model advertises (a model reporting only `[off, on]` receives `low`); `auto` maps the active Clio thinking level. |
|
|
446
|
-
|
|
447
660
|
Clio maps the active thinking level through the model family's runtime resolver map. If the model family specifies an explicit effort map (such as mapping `max` to `xhigh`), Clio sends that exact effort; otherwise it falls back to the default `off` to `none`, `minimal`/`low` to `low`, `medium` to `medium`, and `high`/`xhigh`/`max` to `high`. For model families that declare a `none` or `always-on` reasoning mechanism, the `reasoning_effort` field is omitted. A model reporting only `[off,on]` clamps every
|
|
448
661
|
non-off level to `low`. Clio uses only `reasoning_effort` on LM Studio's documented chat surface
|
|
449
662
|
(<https://lmstudio.ai/docs/developer/openai-compat/chat-completions>) and never sends
|
|
@@ -458,7 +671,12 @@ LM Studio can require bearer authentication for its HTTP APIs
|
|
|
458
671
|
|
|
459
672
|
A model id on an LM Studio target is resolved against that host's loaded instances. A key with a loaded instance is never sent bare (which would JIT-load a second copy). An instance id reported loaded by two configured LM Studio targets on different hosts is an LM Link peer projection. When a bare model key is requested and multiple instances of it are loaded, Clio selects an instance in this order: the target's configured `defaultModel`, then an instance not cross-listed by another configured LM Studio target, and finally the first loaded instance. This behavior tracks issue #113.
|
|
460
673
|
|
|
461
|
-
When the selected instance is also loaded on a peer, a request may be answered by that peer (#185). Clio separates the requested model id, the response observation, and the model id used for accounting.
|
|
674
|
+
When the selected instance is also loaded on a peer, a request may be answered by that peer (#185). Clio separates the requested model id, the response observation, and the model id used for accounting.
|
|
675
|
+
|
|
676
|
+
<details>
|
|
677
|
+
<summary>The four `responseModelIdObservation` states and what each attributes cost to</summary>
|
|
678
|
+
|
|
679
|
+
Every new assistant ledger entry carries `responseModelIdObservation` in one of these explicit shapes:
|
|
462
680
|
|
|
463
681
|
| State | Meaning | Accounting attribution |
|
|
464
682
|
| --- | --- | --- |
|
|
@@ -467,8 +685,14 @@ When the selected instance is also loaded on a peer, a request may be answered b
|
|
|
467
685
|
| `{ "state": "not-observed" }` | This provider path did not expose response model-id presence to the stream tap. | A differing `responseModel` when available, otherwise the requested model id. |
|
|
468
686
|
| `{ "state": "legacy-difference-only", "differingModelId": "<id>" }` or the same shape with `null` | The ledger predates #193 and recorded only whether the response `model` differed from the request. This state is produced while reading historical rows; new rows do not write it. | The historical differing id when available, otherwise the requested model id. |
|
|
469
687
|
|
|
470
|
-
|
|
688
|
+
</details>
|
|
689
|
+
|
|
690
|
+
The adapter retains `responseModel` as the differing response id because providers outside the stream tap still supply that fact. `clio-coder usage report` emits `attributedModelId`, `requestedModelIds`, and `responseModelIdObservationCounts`. Its text table and the `/cost` overlay use the labels `attributed model`, `requested model ids`, and `response model id observation`; requested ids are printed as ids rather than as `same`.
|
|
471
691
|
|
|
692
|
+
The footer's last-turn line uses `response model id observation <state>`, with the id after `reported` or a historical `legacy difference-only` state. Dispatch receipt `upstreamResponses` entries carry `requestedModelId`, `responseModelIdObservation`, `differingResponseModelId`, and `providerResponseId`. The peer warning is said once per process per distinct fact (target, requested id, resolved instance, peer set), not once per turn.
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
### What LM Studio owns rather than Clio
|
|
472
696
|
|
|
473
697
|
Prompt-template overrides, system prompts, GPU-offload ratios, KV-cache quantization, parallel slots,
|
|
474
698
|
context checkpoints, and speculative-decoding variants are not writable through this Clio settings
|
|
@@ -478,6 +702,8 @@ block. Set them in LM Studio's My Models load settings or with `lms load`; the C
|
|
|
478
702
|
configuration that `GET /api/v1/models` exposes instead of pretending it applied settings the REST
|
|
479
703
|
load endpoint did not accept (<https://lmstudio.ai/docs/developer/rest/list>).
|
|
480
704
|
|
|
705
|
+
### Output, tool-result, and retry budgets
|
|
706
|
+
|
|
481
707
|
`chat.maxOutputTokens` is a global output budget requested for every turn. Its
|
|
482
708
|
default `0` uses each model's known maximum-output cap, still clamped to the
|
|
483
709
|
remaining context window. Models with no known cap use a 32,768-token ceiling
|
|
@@ -511,7 +737,10 @@ The `fleet.permissions.escalation` block defines parameters for escalation:
|
|
|
511
737
|
- `fallback` (default `deny`): The fallback posture (`deny` or `fail`) applied upon timeout.
|
|
512
738
|
|
|
513
739
|
`fleet.retry.routeCooldownMs` is the cooldown between retries on a failed
|
|
514
|
-
route.
|
|
740
|
+
route. `fleet.retry.breakerThreshold` is how many consecutive target failures
|
|
741
|
+
open the route; after the cooldown one probe run tests it, and each failed
|
|
742
|
+
probe doubles the cooldown up to five minutes. See
|
|
743
|
+
[fleet-dispatch.md](fleet-dispatch.md#assignments-attempts-and-failover).
|
|
515
744
|
|
|
516
745
|
`fleet.adaptiveRouting` controls the two independent activation boundaries for
|
|
517
746
|
measured dispatch. Joint target/model/runtime/node selection becomes active
|
|
@@ -525,20 +754,25 @@ Agent automation is separately shadowed. Each
|
|
|
525
754
|
`{agentId, executionRole}` pair. An `agent: auto` request may change agents only
|
|
526
755
|
for a listed pair whose readiness report passes.
|
|
527
756
|
|
|
528
|
-
Version 2 places numeric backstops beside the behavior they govern
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
`
|
|
535
|
-
`
|
|
536
|
-
|
|
537
|
-
`
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
757
|
+
Version 2 places numeric backstops beside the behavior they govern:
|
|
758
|
+
|
|
759
|
+
| Key | Default | What it bounds |
|
|
760
|
+
| --- | --- | --- |
|
|
761
|
+
| `safety.limits.chatToolCallsPerTurn` | `60` | The main agent's soft tool-call budget. The hard interrupt ceiling stays 15 calls above it. |
|
|
762
|
+
| `fleet.limits.toolCallsPerRun` | `150` | One worker's independent lifetime cap. It can only narrow a recipe budget. |
|
|
763
|
+
| `fleet.limits.internalRunTimeoutMs` | `900000` | One internal generator dispatch. |
|
|
764
|
+
| `fleet.history.maxRuns` | `1000` | Durable dispatch history. |
|
|
765
|
+
| `safety.limits.readBytesPerCall` | `51200` | One read. |
|
|
766
|
+
| `safety.limits.observationBytesPerTurn` | `196608` | The shared per-turn observation pool. |
|
|
767
|
+
|
|
768
|
+
These are the only operator-facing policy paths for those limits, and they
|
|
769
|
+
refresh with the effective session view.
|
|
770
|
+
|
|
771
|
+
Agent recipe budgets define a normal admitted-call phase inside `workerToolCallCap`; they do not replace it. A declared phase boundary is clamped down to the cap, and when the two are equal the last call may complete and the graceful synthesis transition happens without requiring an over-cap call.
|
|
772
|
+
|
|
773
|
+
The recipe's `readReserve` is the tail of that phase. It admits canonical `read` plus whatever mutation tools the agent was actually granted, because the reserve exists to end broad discovery rather than to stop an agent from delivering: a writer whose product is files has to be able to write them in its last calls. An agent with no mutation tools keeps a read-only reserve and the request-level `require_tool(read)` lock.
|
|
774
|
+
|
|
775
|
+
The reserve becomes zero when `read` is absent from the admitted schema surface, and never installs a nonexistent read requirement. Calls the reserve refuses are steering rather than work: they neither run nor spend the cap, and a model that keeps calling discovery tools there reaches the same bounded synthesis lockout a spent budget ends in.
|
|
542
776
|
|
|
543
777
|
### Local model co-residency and scouts
|
|
544
778
|
|
|
@@ -553,8 +787,13 @@ slower even though the target still responds.
|
|
|
553
787
|
For llama.cpp router targets, Clio observes `/v1/models` and `/props`. It can
|
|
554
788
|
tell which models are loaded and whether the resident count is within the
|
|
555
789
|
router's `max_instances`, so an allowed two-model setup is reported as an
|
|
556
|
-
informational co-residency notice. A model reporting a `sleeping` state counts
|
|
557
|
-
|
|
790
|
+
informational co-residency notice. A model reporting a `sleeping` state counts
|
|
791
|
+
as resident, because the router wakes it on the next inference request, and
|
|
792
|
+
Clio's residency manager never evicts a resident model when the requested
|
|
793
|
+
replacement is not in the router's catalog.
|
|
794
|
+
|
|
795
|
+
The router response does not expose free VRAM or per-model loaded footprint, so
|
|
796
|
+
Clio cannot prove the loaded set fits.
|
|
558
797
|
Use host tools such as `nvidia-smi`, `rocm-smi`, Vulkan memory telemetry, or
|
|
559
798
|
the runtime's own dashboard to confirm headroom after loading the main coding
|
|
560
799
|
model and the scout model. Lower `--ctx-size`, KV cache precision, parallel
|
|
@@ -591,11 +830,16 @@ at CPU speed instead of failing.
|
|
|
591
830
|
role and describe co-residency without claiming that an operator-owned model
|
|
592
831
|
can be evicted.
|
|
593
832
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
833
|
+
On Ollama, llama.cpp, and LM Studio targets, a turn whose output plus
|
|
834
|
+
reasoning token rate is still below 2 tokens per second 30 seconds after the
|
|
835
|
+
server starts answering surfaces one `degraded` warning for that turn. It names
|
|
836
|
+
the elapsed time, the token count, the rate, and the models resident on the
|
|
837
|
+
target at that moment, with the GPU share of each model when Ollama reports it.
|
|
838
|
+
That is what a spill to CPU looks like from outside, and it is reported while
|
|
839
|
+
the turn is still running rather than left as an indefinite spinner. The notice
|
|
840
|
+
never cancels the turn, and a turn aborted before the check emits none.
|
|
841
|
+
Interactive sessions show it as a notice, and headless runs and workers write
|
|
842
|
+
it to stderr.
|
|
599
843
|
|
|
600
844
|
|
|
601
845
|
---
|
|
@@ -612,6 +856,11 @@ install metadata, and records fleet preflight results. It validates
|
|
|
612
856
|
`settings.yaml` directly against the current schema but never rewrites removed
|
|
613
857
|
keys or migrates an old settings shape. Any unknown or retired key remains a
|
|
614
858
|
validation error on that doctor run.
|
|
859
|
+
|
|
860
|
+
Doctor reports no dispatch breaker state, because the breaker lives in the
|
|
861
|
+
memory of the session that dispatches and a doctor process never dispatches. See
|
|
862
|
+
the targets rows in `/settings` inside the session instead.
|
|
863
|
+
|
|
615
864
|
Registered `clio-coder upgrade` migrations are the narrow exception. Upgrade
|
|
616
865
|
moves a version-1 or unversioned settings document into the version-2 areas,
|
|
617
866
|
records the migration, and keeps the byte-exact original as
|
|
@@ -736,9 +985,11 @@ This is the version-2 durable schema shipped in `DEFAULT_SETTINGS`. Validation i
|
|
|
736
985
|
| `fleet.permissions.mode` | `deny` | `deny`, `fail`, `escalate` | next dispatch |
|
|
737
986
|
| `fleet.permissions.escalation.timeoutMs` | `120000` | integer ≥ 1 | next dispatch |
|
|
738
987
|
| `fleet.permissions.escalation.fallback` | `deny` | `deny` or `fail` | next dispatch |
|
|
739
|
-
| `fleet.concurrency` | `
|
|
988
|
+
| `fleet.concurrency` | `auto` | `auto` or integer ≥ 1 | restart |
|
|
740
989
|
| `fleet.retry.maxRetries` | `2` | integer ≥ 0 | next dispatch |
|
|
741
990
|
| `fleet.retry.routeCooldownMs` | `15000` | integer ≥ 0 | next dispatch |
|
|
991
|
+
| `fleet.retry.breakerThreshold` | `1` | integer ≥ 1 | next dispatch |
|
|
992
|
+
| `fleet.worktrees.root` | `disk` | `disk`, `tmpfs`, `auto`, or an absolute path | next dispatch |
|
|
742
993
|
| `fleet.limits.toolCallsPerRun` | `150` | integer ≥ 1 | next dispatch |
|
|
743
994
|
| `fleet.limits.internalRunTimeoutMs` | `900000` | integer ≥ 1 | next dispatch |
|
|
744
995
|
| `fleet.history.maxRuns` | `1000` | integer ≥ 1 | next dispatch |
|
|
@@ -766,7 +1017,9 @@ This is the version-2 durable schema shipped in `DEFAULT_SETTINGS`. Validation i
|
|
|
766
1017
|
| `context.memory.maxOutputTokens` | `2000` | integer ≥ 1 | next turn |
|
|
767
1018
|
| `context.memory.timeoutMs` | `60000` | integer ≥ 1 | next turn |
|
|
768
1019
|
|
|
769
|
-
The compaction and memory controls serve different roles. An unset `context.compaction.model` uses active chat; an explicit model must uniquely resolve to an available eligible summary route or fail visibly. `context.compaction.systemPrompt` is a nonempty UTF-8 prompt file, at most 65,536 bytes, read at compaction time and resolved relative to the session workspace.
|
|
1020
|
+
The compaction and memory controls serve different roles. An unset `context.compaction.model` uses active chat; an explicit model must uniquely resolve to an available eligible summary route or fail visibly. `context.compaction.systemPrompt` is a nonempty UTF-8 prompt file, at most 65,536 bytes, read at compaction time and resolved relative to the session workspace.
|
|
1021
|
+
|
|
1022
|
+
Configure `context.memory.target` and `context.memory.model` to opt into model-based memory; unset roles remain rules-only. Memory prefers its dedicated route and can use active chat when that route is unavailable and request capacity permits. Known dedicated saturation skips the step rather than initiating failover; neither routing choice edits saved settings.
|
|
770
1023
|
|
|
771
1024
|
### Safety
|
|
772
1025
|
|
|
@@ -788,6 +1041,7 @@ The safety-limit leaves have no one-process `CLIO_CODER_*` overrides in the curr
|
|
|
788
1041
|
| Key | Default | Validation | When it applies |
|
|
789
1042
|
| --- | --- | --- | --- |
|
|
790
1043
|
| `interface.terminalProgress` | `false` | boolean | next turn |
|
|
1044
|
+
| `interface.demo` | `true` | Project-work capability guidance and contextual footer tips; `--demo` / `--no-demo` override one interactive session | tips immediately; persona next turn |
|
|
791
1045
|
| `interface.outputDetail` | `standard` | `compact`, `standard`, `detailed` | immediately |
|
|
792
1046
|
| `interface.mode` | `regular` | `regular` or `fullscreen` | restart |
|
|
793
1047
|
| `interface.fullscreenScrollbar` | `auto` | `hidden`, `auto`, `always` | restart |
|
|
@@ -981,6 +1235,20 @@ integrations:
|
|
|
981
1235
|
```
|
|
982
1236
|
Then invoke it using `/delegate claude-code <task>`.
|
|
983
1237
|
|
|
1238
|
+
`/delegate [--share] <agent-id> <task>` does not accept `--model` in v0.5.0.
|
|
1239
|
+
`/run --model <id>` selects a model for a Clio fleet worker; it does not configure
|
|
1240
|
+
an external ACP session. External model selection depends on the adapter's own
|
|
1241
|
+
supported configuration. Clio does not currently expose an ACP model selector.
|
|
1242
|
+
|
|
1243
|
+
Antigravity's `antigravity-code` runtime is a separate subprocess integration;
|
|
1244
|
+
detection of the `agy` executable does not register an ACP delegation recipe.
|
|
1245
|
+
An ACP integration needs a verified ACP entry point or adapter, not merely a
|
|
1246
|
+
CLI that supports stream-JSON output. This describes Clio's current integration;
|
|
1247
|
+
it does not establish that every Antigravity version or third-party adapter lacks ACP.
|
|
1248
|
+
The `world-knowledge` shadow agent remains internal-dispatch-only, even when bound
|
|
1249
|
+
to an Antigravity target/profile: ask Clio to use it; do not invoke it with `/run`
|
|
1250
|
+
or `/delegate`.
|
|
1251
|
+
|
|
984
1252
|
### 5. Antigravity CLI — Experimental Local Delegation (Worker-Only)
|
|
985
1253
|
|
|
986
1254
|
The `antigravity-code` runtime is a local external delegation agent. It lets Clio ask an official Antigravity CLI (`agy`) installed and authenticated by the operator for research, world knowledge, a second opinion, or a bounded subtask. It is deliberately **not** a Gemini chat provider and can never become the Clio orchestrator.
|
|
@@ -1047,7 +1315,7 @@ Useful flags:
|
|
|
1047
1315
|
## Target management
|
|
1048
1316
|
|
|
1049
1317
|
```bash
|
|
1050
|
-
clio-coder targets [--json] [--probe] [--target <id>]
|
|
1318
|
+
clio-coder targets [--json] [--probe [--reasoning] [--tools [--tools-timeout <seconds>]]] [--target <id>]
|
|
1051
1319
|
clio-coder targets add [configure flags]
|
|
1052
1320
|
clio-coder targets use <id> [--model <id>] [--orchestrator-model <id>] [--background-model <id>]
|
|
1053
1321
|
[--fleet-target <id>] [--fleet-model <id>]
|
|
@@ -1065,21 +1333,65 @@ clio-coder targets remove <id>
|
|
|
1065
1333
|
clio-coder targets rename <old> <new>
|
|
1066
1334
|
```
|
|
1067
1335
|
|
|
1336
|
+
The `clio-coder targets` listing shows no breaker column, because the dispatch breaker lives in the memory of the session that dispatches and the listing process never dispatches. Inside a session, each `/settings` targets row shows its routes' breaker state: an open route takes over the health cell with its remaining cooldown (`○ open 42s`), a route whose probe is in flight shows `◐ probing`, and the row's detail line lists one phrase per route, such as `qwen open 42s after target-transient` or `coder 1 failure (target-overloaded)` for a closed route that has failed below the threshold.
|
|
1337
|
+
|
|
1338
|
+
`clio-coder targets --probe` checks reachability and model metadata without
|
|
1339
|
+
requesting generation. Two optional flags add generating checks, which cost
|
|
1340
|
+
tokens and can load a cold model, so they run only when asked:
|
|
1341
|
+
|
|
1342
|
+
| Flag | What it does | Timeout |
|
|
1343
|
+
| --- | --- | --- |
|
|
1344
|
+
| `--probe` | Reachability and model metadata. No generation. | 5s HTTP |
|
|
1345
|
+
| `--probe --reasoning` | Generating reasoning check. | Owned by the runtime descriptor's reasoning probe. |
|
|
1346
|
+
| `--probe --tools` | Generating tool-call check through the engine stream path. | 120s, set by `--tools-timeout <seconds>` |
|
|
1347
|
+
|
|
1348
|
+
Declared capabilities alone are not live verification. Reasoning generation that
|
|
1349
|
+
produces no reasoning, errors, or times out is inconclusive. `--target <id>`
|
|
1350
|
+
probes one target; SDK and subprocess runtimes report as skipped because they do
|
|
1351
|
+
not stream through the engine.
|
|
1352
|
+
|
|
1353
|
+
<details>
|
|
1354
|
+
<summary>What the tool probe sends, what counts as a pass, and what it leaves loaded</summary>
|
|
1355
|
+
|
|
1356
|
+
`clio-coder targets --probe --tools` sends one small request with a single
|
|
1357
|
+
typed tool through the same engine stream path a chat turn uses, against the
|
|
1358
|
+
chat model when the target is the chat target and the target's default model
|
|
1359
|
+
otherwise. It never picks another model.
|
|
1360
|
+
|
|
1361
|
+
The check passes only when the response streamed in more than one frame, carried
|
|
1362
|
+
a call to the probe tool, and the call's arguments parsed as JSON and matched the
|
|
1363
|
+
tool schema.
|
|
1364
|
+
|
|
1365
|
+
The result appears in the notes column as `tools verified (<model>, <ms>)` or
|
|
1366
|
+
`tools failed (<model>): <reason>`, and as `toolProbe` in `--json`. A verified
|
|
1367
|
+
probe marks `tools` true for that model and runtime resolution then reports the
|
|
1368
|
+
provenance as `toolsVerification`; a failed probe adds a `tools-probe-failed`
|
|
1369
|
+
warning to the next turn or dispatch on that model. The result lives only in the
|
|
1370
|
+
running process.
|
|
1371
|
+
|
|
1372
|
+
A model the probe loaded and pinned on a local server such as Ollama is released
|
|
1373
|
+
before the command returns, whether the probe passed, failed, or was cancelled. A
|
|
1374
|
+
model that was already resident before the probe is left loaded.
|
|
1375
|
+
|
|
1376
|
+
</details>
|
|
1377
|
+
|
|
1068
1378
|
`clio-coder targets use <id>` sets the orchestrator target. It refuses any target whose runtime is not a registered HTTP/native runtime because the selected target must be valid for chat.
|
|
1069
1379
|
|
|
1070
1380
|
Without `--fleet-target` the default fleet target follows the orchestrator, which is the single-node case. Pass `--fleet-target <id>` to keep them apart when one node orchestrates and another runs the fleet. The fleet target is validated for fleet dispatch through the same check a fleet profile uses, so it can be a worker-only runtime such as `claude-sdk`, `claude-code`, or `antigravity-code`. Its model defaults to that target's own default rather than the orchestrator's, because a model id resolved against one target means nothing on another; `--fleet-model <id>` names it explicitly. `clio-coder configure --set-fleet-default` and `clio-coder targets profile` remain the routes for per-agent fleet routing.
|
|
1071
1381
|
|
|
1072
1382
|
### Target-Profile Subcommands
|
|
1073
1383
|
|
|
1074
|
-
|
|
1384
|
+
`clio-coder targets profile` manages fleet worker profiles and agent bindings:
|
|
1075
1385
|
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1386
|
+
| Command | Effect |
|
|
1387
|
+
| --- | --- |
|
|
1388
|
+
| `targets profile list [--json]` | Show configured fleet profiles. |
|
|
1389
|
+
| `targets profile set <name> <id> [--model <id>] [--thinking <level>]` | Create or update a named profile. The older `targets profile <name> <id> ...` form is still accepted. |
|
|
1390
|
+
| `targets profile remove <name> [--force]` | Remove a profile. `--force` is required when the profile has active agent bindings. |
|
|
1391
|
+
| `targets profile rename <old> <new>` | Rename a profile. Active bindings follow the new name automatically. |
|
|
1392
|
+
| `targets profile bind <agentId> <profileName>` | Bind a native agent to a profile. Active ACP delegation agents are rejected. |
|
|
1393
|
+
| `targets profile unbind <agentId>` | Remove an agent's binding. |
|
|
1394
|
+
| `targets profile bindings [--json]` | List active agent-to-profile bindings. |
|
|
1083
1395
|
|
|
1084
1396
|
Inside the TUI, `/settings targets` opens the operational target console.
|
|
1085
1397
|
Targets render with `HEALTH`, `ID`, `ROLES`, `RUNTIME`, and `LATENCY`, plus a
|
|
@@ -1097,12 +1409,31 @@ Target status resolution tracks provenance explicitly in `TargetStatus.contextWi
|
|
|
1097
1409
|
|
|
1098
1410
|
When a probed target reports no context window, Clio uses the runtime descriptor default as an unverified guess. In `clio-coder targets` text output, this renders as `ctx <N> (unverified runtime default)`. In JSON output, `contextWindowProvenance` is set to `"runtime-default"`. During target creation via `clio-coder configure`, Clio emits a warning: `warning: the target reported no context window; Clio will use the runtime default as a guess. Set one with --context-window.`. This design ensures that a number the operator never chose and the server never claimed will not read like a verified capability.
|
|
1099
1411
|
|
|
1412
|
+
<details>
|
|
1413
|
+
<summary>How each runtime's probe resolves a window, and the Ollama cold-model cap</summary>
|
|
1414
|
+
|
|
1415
|
+
`capabilities.contextWindow` declares an existing serving limit; it does not
|
|
1416
|
+
resize the server or override a smaller observed limit. One-run context limits
|
|
1417
|
+
likewise cap Clio’s planning budget, not the server’s allocation. Slot count does
|
|
1418
|
+
not establish independent context capacity: a server may share one KV pool across
|
|
1419
|
+
several concurrent requests. Confirm allocation semantics in the server before
|
|
1420
|
+
multiplying a context figure by its slot count.
|
|
1421
|
+
|
|
1422
|
+
A runtime that reports the window a resident model is loaded at (LM Studio, and Ollama through `/api/ps`) bounds the session by that serving window, because a model open at 32,768 tokens rejects a longer prompt whatever its weights allow. The text output then names both numbers, as in `ctx 32768 (serving; model max 262144)`, so the operator can see which one a run is planned against. In JSON output the serving window is `discoveredModelStates.<model>.contextLength` and the maximum is `capabilities.contextWindow`.
|
|
1423
|
+
|
|
1424
|
+
An `ollama` probe reads the model maximum from `/api/show` for the target's default model, using `model_info["<architecture>.context_length"]` capped by any `num_ctx` baked into the Modelfile. When `/api/tags` rows carry `details.context_length`, as newer Ollama releases do, those maxima are recorded for every listed model. Ollama 0.18 does not report it there. When no model is resident, Clio plans against the smaller of that maximum and 131,072 tokens, because Ollama opens a cold model at `OLLAMA_CONTEXT_LENGTH` or its server default and no API reports that window before load. The text output names both, as in `ctx 131072 (cold; model max 262144)`; a model whose maximum is below the cap shows its maximum alone. Once `/api/ps` reports the model loaded, its serving window replaces the cold figure. Set `ollama.numCtx` to plan against a window Clio requests rather than one it infers; it applies whether or not the model is resident.
|
|
1425
|
+
|
|
1426
|
+
</details>
|
|
1427
|
+
|
|
1100
1428
|
---
|
|
1101
1429
|
|
|
1102
1430
|
## Local Model Quirks
|
|
1103
1431
|
|
|
1104
1432
|
Local models often require specific engine configurations to perform optimally. Clio parses local model quirks from catalog entries and applies them during target execution. Keep target inventory in `settings.yaml` (`wireModels`, `defaultModel`, URL/auth), and keep per-model semantics in catalog YAML. For local experiments, use `$CLIO_CODER_CONFIG_DIR/model-catalog.d` or `.clio-coder/model-catalog.d`; promote entries into the bundled source catalog only after the model family is verified for broader Clio use.
|
|
1105
1433
|
|
|
1434
|
+
<details>
|
|
1435
|
+
<summary>Every quirk field: KV-cache quantization, sampling, and thinking mechanisms</summary>
|
|
1436
|
+
|
|
1106
1437
|
### 1. KV-Cache Quantization
|
|
1107
1438
|
You can optimize the GPU memory usage of the key and value caches for local inference engines. Quirks parameters include:
|
|
1108
1439
|
- `kQuant`: Quantization type for the key cache. Supported values are `f32`, `f16`, `q8_0`, `q4_0`, `q4_1`, `iq4_nl`, `q5_0`, and `q5_1`. Set to `false` to disable quantization and run in full precision.
|
|
@@ -1124,6 +1455,7 @@ Local models use different mechanisms to control and parse reasoning steps. The
|
|
|
1124
1455
|
- `always-on`: The model emits chain-of-thought tokens unconditionally.
|
|
1125
1456
|
- `none`: The model does not support thinking or reasoning states.
|
|
1126
1457
|
|
|
1458
|
+
</details>
|
|
1127
1459
|
|
|
1128
1460
|
### Local reasoning-token budgets
|
|
1129
1461
|
|
|
@@ -1176,7 +1508,7 @@ Representative built-in runtime IDs:
|
|
|
1176
1508
|
| Protocol-compatible | `openai-compat`, `anthropic-compat` generic surfaces for additional OpenAI-compatible or Anthropic-compatible APIs, including APIs such as InceptionAI when configured with the appropriate base URL and credentials. |
|
|
1177
1509
|
| Cloud | `alcf`, `anthropic`, `bedrock`, `deepseek`, `google`, `groq`, `mistral`, `openai`, `openrouter` |
|
|
1178
1510
|
| Subscription and worker harnesses | `openai-codex` for ChatGPT OAuth, `anthropic-max` for Anthropic OAuth, `claude-sdk` for Claude Agent SDK workers, `claude-code` for `claude -p` subprocess workers, and `antigravity-code` for structured `agy` external delegation |
|
|
1179
|
-
| Local native | `llamacpp`, `lmstudio`, `ollama
|
|
1511
|
+
| Local native | `llamacpp`, `lmstudio`, `ollama`, `vllm`, `sglang`, `lemonade`, `lemonade-anthropic` |
|
|
1180
1512
|
|
|
1181
1513
|
Some hidden aliases exist for backward compatibility or special surfaces; use `clio-coder configure --list --all` to see them.
|
|
1182
1514
|
|
|
@@ -1251,7 +1583,7 @@ establish an actual hit. A compiler memoization hit or a forked transcript canno
|
|
|
1251
1583
|
|
|
1252
1584
|
| Responsibility | Existing owner | Clio correction or limit |
|
|
1253
1585
|
| --- | --- | --- |
|
|
1254
|
-
| Native request conversion, thinking history and cache controls | Pi 0.
|
|
1586
|
+
| Native request conversion, thinking history and cache controls | Pi 0.86.1 | Target retention reaches all instrumented native Pi APIs; explicit call options still win. |
|
|
1255
1587
|
| Exclusive input/read/write buckets, cost tiers and one-hour write cost | Pi | Preserve the full catalog cost and per-call calculated total instead of flattening tiers or repricing an aggregate. |
|
|
1256
1588
|
| Main, worker, failed/aborted and out-of-turn usage | Clio | Preserve optional `cacheWrite1h` as a subset of writes; retain billed failed calls. Missing provider usage remains unknown. |
|
|
1257
1589
|
| Main and warm preparation | Pi public transforms and Clio payload hooks | Warm calls use the caller's transforms, ordered tools, thinking and payload replacement without executing tools or adding messages to history. |
|
|
@@ -1274,22 +1606,30 @@ own environment/default. Targets reload on the next turn, including when the
|
|
|
1274
1606
|
id and model stay the same. The active conversation survives the runtime refresh.
|
|
1275
1607
|
There are no duplicate model, recipe or fleet retention knobs.
|
|
1276
1608
|
|
|
1609
|
+
<details>
|
|
1610
|
+
<summary>Per-API cache retention policy and how each one was verified</summary>
|
|
1611
|
+
|
|
1277
1612
|
| API/deployment | Effective policy and current verification |
|
|
1278
1613
|
| --- | --- |
|
|
1279
1614
|
| Native OpenAI Responses, older supported models | Pi's model compatibility flags select `24h` for `long`. `none` omits controls; it does not universally disable automatic caching. Payload fixtures cover this path. |
|
|
1280
1615
|
| Native OpenAI Responses, explicit-mode models | Pi selects `prompt_cache_options`; `none` requests explicit mode without breakpoints, and `long` selects `30m` TTL. Clio adds no extra breakpoints or weaker instruction roles. Payload fixtures cover this path. |
|
|
1281
1616
|
| Native Anthropic Messages | Pi selects eligible short or one-hour cache-control blocks. `none` removes these controls. Real serializer/HTTP usage fixtures cover normalization and the one-hour subset. |
|
|
1282
|
-
| Direct llama.cpp | Normal calls retain `cache_prompt: true`; `retention: none` selects false. Optional warming requires the binding and evidence below. |
|
|
1617
|
+
| Direct llama.cpp | Normal calls retain `cache_prompt: true`; `retention: none` selects false. Clio sends no `id_slot`. Optional warming requires the binding and evidence below. Slot selection, idle-slot eviction and hybrid-model checkpoints are in the [self-hosted prefix-cache contract](../architecture/context-engine.md#self-hosted-prefix-cache-contract). |
|
|
1283
1618
|
| LiteLLM/generic OpenAI compatibility | Passive provider usage is retained. Generic synthesis does not advertise OpenAI `24h` retention. A declared route alone does not prove native controls or timings survive translation. Gateway warming stays disabled. |
|
|
1284
1619
|
| vLLM | Normal inference and passive provider usage continue. A declared build can be checked, but version alone proves neither APC enablement nor idle scheduler/memory capacity. Warming stays disabled; no fixed-slot model is imposed. |
|
|
1285
1620
|
| Claude Agent SDK, subscription/OAuth and other harnesses | Harness-specific transport and usage remain intact. Native Pi controls and direct API prices are not promises about another harness. |
|
|
1286
1621
|
| Gemini explicit cache objects, Bedrock/platform cache administration | No new object lifecycle or administration is added. Existing Pi/provider support remains responsible for supported passive observations and requests. |
|
|
1287
1622
|
|
|
1623
|
+
</details>
|
|
1624
|
+
|
|
1288
1625
|
For a direct llama.cpp **already loaded** worker at the audited commit, an
|
|
1289
1626
|
operator can opt into a bounded pilot. Use the worker's actual `build_info`,
|
|
1290
1627
|
exact model alias and endpoint; the values below are examples, not deployment
|
|
1291
1628
|
measurements:
|
|
1292
1629
|
|
|
1630
|
+
<details>
|
|
1631
|
+
<summary>A pinned llama.cpp server configuration for reproducible prompt reuse</summary>
|
|
1632
|
+
|
|
1293
1633
|
```yaml
|
|
1294
1634
|
chat:
|
|
1295
1635
|
prewarm: true
|
|
@@ -1311,6 +1651,14 @@ targets:
|
|
|
1311
1651
|
cooldownMs: 60000
|
|
1312
1652
|
```
|
|
1313
1653
|
|
|
1654
|
+
</details>
|
|
1655
|
+
|
|
1656
|
+
Warming only runs against a deployment Clio could inspect and bind, and every
|
|
1657
|
+
refusal is recorded rather than retried. The rules below are the whole gate.
|
|
1658
|
+
|
|
1659
|
+
<details>
|
|
1660
|
+
<summary>Deployment discovery, gateway binding, warm bounds, and admission checks</summary>
|
|
1661
|
+
|
|
1314
1662
|
Discovery uses GET requests with a two-second total deadline and refuses
|
|
1315
1663
|
redirects. The control endpoint receives no inferred credentials. An authenticated
|
|
1316
1664
|
control endpoint therefore remains unavailable to this initial reader. For a
|
|
@@ -1331,9 +1679,12 @@ validated on the configured gateway. No gateway credentials are forwarded to
|
|
|
1331
1679
|
native discovery.
|
|
1332
1680
|
|
|
1333
1681
|
The warm owns one request and at most one newer pending trigger. Pending work
|
|
1334
|
-
expires after 30 seconds. The default bound is 8192 estimated input tokens
|
|
1335
|
-
a 30-second client deadline
|
|
1336
|
-
|
|
1682
|
+
expires after 30 seconds. The default bound is 8192 estimated input tokens
|
|
1683
|
+
(`cache.warm.maxInputTokens`) and a 30-second client deadline
|
|
1684
|
+
(`cache.warm.maxDurationMs`), with a 60-second cooldown; configured deadlines
|
|
1685
|
+
cannot exceed two minutes. The separate LM Studio startup wake that
|
|
1686
|
+
`cache.warm.startup` enables is not the exact-prefix warm and is clamped to 256
|
|
1687
|
+
input tokens regardless of the configured bound. Context transforms run before the input estimate.
|
|
1337
1688
|
The one-token output and dummy suffix do not enter the conversation. The warm
|
|
1338
1689
|
uses observe-only residency and `autoload=false` on native llama requests, so
|
|
1339
1690
|
it cannot use the ordinary turn's implicit administrative authority.
|
|
@@ -1354,6 +1705,8 @@ as `deployment-unbound`, `model-not-loaded`, `deployment-build-mismatch`,
|
|
|
1354
1705
|
`vllm-scheduler-unverified`, `cooldown` and `expired`. These records contain no
|
|
1355
1706
|
prompt payloads. Diagnostic payload capture remains a separate explicit opt-in.
|
|
1356
1707
|
|
|
1708
|
+
</details>
|
|
1709
|
+
|
|
1357
1710
|
Turn off speculative work with `chat.prewarm: false`. Remove `cache.deployment`
|
|
1358
1711
|
to return an individual target to passive operation. `cache.retention: none`
|
|
1359
1712
|
selects the API's supported cache-off request policy and also refuses Clio
|
|
@@ -1367,11 +1720,17 @@ accounting, but the worker's context guard and payload hooks must be included
|
|
|
1367
1720
|
in any future headless warm composition. There is no main-to-worker cache
|
|
1368
1721
|
transfer based on ancestry.
|
|
1369
1722
|
|
|
1723
|
+
Automated warming is opt-in. The historical measurements below illustrate why
|
|
1724
|
+
faster first-token timing alone does not establish lower total work or cost.
|
|
1725
|
+
|
|
1726
|
+
<details>
|
|
1727
|
+
<summary>The dated 2026-09-11 TTFT run these settings were validated against</summary>
|
|
1728
|
+
|
|
1370
1729
|
### Validation status for this change
|
|
1371
1730
|
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1731
|
+
Historical validation on 2026-09-11 exercised an example MoE model on llama.cpp
|
|
1732
|
+
(`b1-c841aee`) and a 27B model on LM Studio, first directly and then through an
|
|
1733
|
+
intermediate LiteLLM 1.98.0 gateway host. The selected models were allowed to
|
|
1375
1734
|
wake/load for inference; no serving configuration or administrative API was
|
|
1376
1735
|
changed. The same native models and thinking-off intent were retained.
|
|
1377
1736
|
|
|
@@ -1381,13 +1740,13 @@ exactly `OK`. Median client TTFT was:
|
|
|
1381
1740
|
|
|
1382
1741
|
| Route | New prefix | Repeated prefix | After a separate warm |
|
|
1383
1742
|
| --- | ---: | ---: | ---: |
|
|
1384
|
-
|
|
|
1385
|
-
|
|
|
1386
|
-
|
|
|
1387
|
-
|
|
|
1743
|
+
| llama.cpp (MoE) native | 1,691 ms | 183 ms | 163 ms |
|
|
1744
|
+
| LM Studio (27B) native | 1,255 ms | 156 ms | 155 ms |
|
|
1745
|
+
| llama.cpp through LiteLLM | 1,706 ms | 196 ms | 173 ms |
|
|
1746
|
+
| LM Studio through LiteLLM | 1,259 ms | 163 ms | 162 ms |
|
|
1388
1747
|
|
|
1389
|
-
|
|
1390
|
-
gateway after warming.
|
|
1748
|
+
llama.cpp reported roughly 2,834 cached tokens directly and 2,837 through the
|
|
1749
|
+
gateway after warming. LM Studio's OpenAI-compatible responses did not expose a
|
|
1391
1750
|
cache-read breakdown; their normalized zero must not be presented as measured
|
|
1392
1751
|
cache misses. Its timing improvement is an observation, not a per-request
|
|
1393
1752
|
cache-token measurement. Gateway response metadata identified the expected
|
|
@@ -1401,20 +1760,20 @@ reduction alone is not a total-work improvement. An idle-time or foreground
|
|
|
1401
1760
|
contention benefit requires its own controlled measurement before rollout.
|
|
1402
1761
|
|
|
1403
1762
|
Four full Clio main-agent CLI runs also completed with no tool calls and
|
|
1404
|
-
matching native/gateway outputs per model:
|
|
1405
|
-
The punctuation means
|
|
1763
|
+
matching native/gateway outputs per model: llama.cpp returned `OK.`, LM Studio `OK`.
|
|
1764
|
+
The punctuation means llama.cpp did not meet a literal exact-`OK` instruction in
|
|
1406
1765
|
those full-prompt smoke runs; it is not hidden by the transport success. The
|
|
1407
1766
|
engine workload above enforced the exact output separately.
|
|
1408
1767
|
|
|
1409
1768
|
Four custom-worker CLI runs then returned exactly `OK`, with zero tool calls
|
|
1410
1769
|
and succeeded outcomes. Each emitted receipt matched its persisted receipt and
|
|
1411
|
-
passed Clio's integrity verifier against its persisted run envelope. The
|
|
1770
|
+
passed Clio's integrity verifier against its persisted run envelope. The llama.cpp
|
|
1412
1771
|
worker through LiteLLM reported 719 cache-read tokens in that verified receipt.
|
|
1413
1772
|
These checks establish transport and accounting continuity; the synthetic
|
|
1414
1773
|
worker's task quality was not independently graded.
|
|
1415
1774
|
|
|
1416
1775
|
The first exploratory driver omitted the public capability update that
|
|
1417
|
-
production applies after model synthesis. That made
|
|
1776
|
+
production applies after model synthesis. That made LM Studio through LiteLLM
|
|
1418
1777
|
spend its output budget on thinking. Those samples were preserved and marked
|
|
1419
1778
|
invalid for semantic comparisons; the reported rerun includes the existing
|
|
1420
1779
|
public update and checks visible output. This was a driver error, not a newly
|
|
@@ -1436,3 +1795,5 @@ The run does not establish replica affinity guarantees, eviction/TTL behavior,
|
|
|
1436
1795
|
foreign-traffic fairness, paid-provider savings, or a complete deployment pin
|
|
1437
1796
|
for every model binary/tokenizer. Those limits prevent a general performance
|
|
1438
1797
|
claim or enabling automatic gateway/worker warming.
|
|
1798
|
+
|
|
1799
|
+
</details>
|