@iowarp/clio-coder 0.3.9 → 0.4.1

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.
Files changed (733) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/NOTICE +33 -0
  3. package/README.md +121 -16
  4. package/dist/{acp-7LOELQFP.js → acp-ZILU3AUO.js} +19 -18
  5. package/dist/{agents-FIBG2SHA.js → agents-HYWGBGQR.js} +53 -39
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-OI4LIH2I.js → auth-N3QT7CBO.js} +24 -21
  8. package/dist/{builtins-AD25UL3C.js → builtins-UJLMOVOV.js} +6 -6
  9. package/dist/{chunk-I4HZDVNP.js → chunk-2LEAKD4C.js} +2 -3
  10. package/dist/{chunk-465CC7FK.js → chunk-2NM363SV.js} +60 -64
  11. package/dist/{chunk-4H6ULJ3H.js → chunk-2VG7KLYV.js} +1046 -1370
  12. package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
  13. package/dist/{chunk-NZU6YDNV.js → chunk-3I5NY75V.js} +5 -5
  14. package/dist/{chunk-47CMYGET.js → chunk-3QSOM6PA.js} +2 -2
  15. package/dist/chunk-42FMPA75.js +101 -0
  16. package/dist/{chunk-HAY4ZE2P.js → chunk-5PSMVOLM.js} +2 -2
  17. package/dist/{chunk-IHKBWSXF.js → chunk-5QIAJV2D.js} +3 -3
  18. package/dist/chunk-5YHDIDBP.js +97 -0
  19. package/dist/chunk-6CCS4G3W.js +1529 -0
  20. package/dist/{chunk-2JDWVJND.js → chunk-6DWBAZ5U.js} +2 -2
  21. package/dist/{chunk-BVDVID7E.js → chunk-6FN3E6KX.js} +6 -6
  22. package/dist/{chunk-DG4M6ZUE.js → chunk-6HMJX2VU.js} +59 -59
  23. package/dist/{chunk-3MRC2YSQ.js → chunk-6I5ILFOF.js} +3 -2
  24. package/dist/chunk-6NJQITNH.js +1412 -0
  25. package/dist/chunk-6VC4OV3Z.js +365 -0
  26. package/dist/{chunk-LU7P4LHA.js → chunk-72GZI5EV.js} +2 -2
  27. package/dist/{chunk-5T7RBWN2.js → chunk-74YWRRU5.js} +9 -8
  28. package/dist/{chunk-VPTUJU4P.js → chunk-7EPLI7VL.js} +2 -2
  29. package/dist/{chunk-CA42X6KT.js → chunk-7OBGU7UB.js} +7 -7
  30. package/dist/{chunk-56KB5IJP.js → chunk-7PWAODYW.js} +3 -3
  31. package/dist/chunk-7RY5VZPH.js +573 -0
  32. package/dist/{chunk-OEDBCISO.js → chunk-ABLSQ6JX.js} +3 -3
  33. package/dist/{chunk-5HFBWUMU.js → chunk-AFKWHWXF.js} +13 -23
  34. package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
  35. package/dist/{chunk-WXCJ7VME.js → chunk-AKB4GYDL.js} +7 -7
  36. package/dist/chunk-AP73CFDC.js +308 -0
  37. package/dist/{chunk-4LJX2PUC.js → chunk-BBTJOK6Y.js} +5 -5
  38. package/dist/{chunk-QQ7EKM72.js → chunk-BDPT6GTK.js} +13 -61
  39. package/dist/chunk-BJGUKIG4.js +302 -0
  40. package/dist/chunk-BMS5RKQY.js +27 -0
  41. package/dist/{chunk-TD7UE2L5.js → chunk-BTGG6BG2.js} +81 -40
  42. package/dist/chunk-BTK3SSSK.js +67 -0
  43. package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
  44. package/dist/chunk-BWW4HLO4.js +301 -0
  45. package/dist/{chunk-BNAZZHFG.js → chunk-BYP5D4HI.js} +1 -1
  46. package/dist/{chunk-HJB5IUKP.js → chunk-C537JADH.js} +18 -18
  47. package/dist/{chunk-774ILSRL.js → chunk-CDNVLKUX.js} +5 -4
  48. package/dist/{chunk-HPCTNZM2.js → chunk-CTJ4RNAA.js} +4 -4
  49. package/dist/{chunk-AEYBF3TB.js → chunk-CWVRRIEI.js} +2 -2
  50. package/dist/chunk-D4CJV46V.js +462 -0
  51. package/dist/chunk-D7E7WCDF.js +27 -0
  52. package/dist/{chunk-5PVQ4SRS.js → chunk-E67WX76H.js} +10 -126
  53. package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
  54. package/dist/chunk-EIMVLWB3.js +1842 -0
  55. package/dist/{chunk-AMKHQW3C.js → chunk-FEFIFZTL.js} +3 -3
  56. package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
  57. package/dist/{chunk-3DUR4WUA.js → chunk-FYUN5KZ3.js} +25 -25
  58. package/dist/{chunk-MV3K5QF2.js → chunk-GCSMB2KY.js} +2 -2
  59. package/dist/chunk-GIZNH63R.js +40 -0
  60. package/dist/chunk-GPPB3JBE.js +688 -0
  61. package/dist/{chunk-B5XRQOLB.js → chunk-GVQJ5CCZ.js} +17 -11
  62. package/dist/chunk-HHV2GANA.js +88 -0
  63. package/dist/chunk-HJWWJ6IL.js +184 -0
  64. package/dist/{chunk-RKRLDWD3.js → chunk-HLW2MRKE.js} +1 -1
  65. package/dist/chunk-HRQMFLJP.js +75 -0
  66. package/dist/{chunk-AD7Y7STJ.js → chunk-HUAS7ITX.js} +107 -97
  67. package/dist/{chunk-O6I4CIEU.js → chunk-I66EAJFY.js} +6 -6
  68. package/dist/{chunk-S4COXYBG.js → chunk-IG7BCQBA.js} +129 -106
  69. package/dist/{chunk-N3PBVRTZ.js → chunk-IXJT6DCX.js} +9 -7
  70. package/dist/chunk-J4HBWF6Y.js +2635 -0
  71. package/dist/chunk-J5LZHVIT.js +284 -0
  72. package/dist/{chunk-GAYUJ7LE.js → chunk-JA5QWE4Z.js} +544 -227
  73. package/dist/{chunk-B5CSFE7B.js → chunk-JIEGK6UF.js} +6 -174
  74. package/dist/{chunk-VKBMFOYV.js → chunk-JZWT5J3Y.js} +23 -27
  75. package/dist/chunk-K6BF4U2H.js +1785 -0
  76. package/dist/{chunk-CGKSTWHD.js → chunk-K6BSR66V.js} +2 -1
  77. package/dist/{chunk-YSEHGPCT.js → chunk-MA3H6DM5.js} +6 -6
  78. package/dist/{chunk-EBOC7MT3.js → chunk-MOPSG2X7.js} +9 -9
  79. package/dist/{chunk-KV2AOLDF.js → chunk-MQXIVJ35.js} +18 -29
  80. package/dist/{chunk-P3JGPQFL.js → chunk-N5UK64DP.js} +4 -4
  81. package/dist/chunk-NDDGJUXD.js +81 -0
  82. package/dist/chunk-NEKRRTYW.js +56 -0
  83. package/dist/{chunk-4ZG3XFUR.js → chunk-NLFAQR7Z.js} +12 -1
  84. package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
  85. package/dist/{chunk-T3Z6VAAF.js → chunk-OJTRZGR3.js} +53 -92
  86. package/dist/{chunk-5DQRIYDZ.js → chunk-PBP4B7XR.js} +3 -3
  87. package/dist/{chunk-NQ6UCCOD.js → chunk-PJJ6MY27.js} +8 -8
  88. package/dist/chunk-PMZCIOCJ.js +25 -0
  89. package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
  90. package/dist/{chunk-7C6RYZGQ.js → chunk-PVAMAVBB.js} +5 -4
  91. package/dist/chunk-QDC3K2U3.js +262 -0
  92. package/dist/{chunk-JEQQR47K.js → chunk-QKIFBZKT.js} +173 -14
  93. package/dist/{chunk-R7LNVMCS.js → chunk-QMXC4JB7.js} +70 -78
  94. package/dist/chunk-QSNYB6ZV.js +195 -0
  95. package/dist/chunk-QTFGO774.js +644 -0
  96. package/dist/{chunk-ODFEOB4F.js → chunk-R23Z6K6I.js} +27 -9
  97. package/dist/{chunk-3UUY7R3Z.js → chunk-R32CLGZ6.js} +14 -14
  98. package/dist/chunk-R346GLFC.js +31 -0
  99. package/dist/chunk-RKSR6VSF.js +132 -0
  100. package/dist/{chunk-N5XKWMDW.js → chunk-SCYB3HA4.js} +73 -27
  101. package/dist/{chunk-PZ4I4JE2.js → chunk-SINK3QR6.js} +135 -125
  102. package/dist/{chunk-5QKCQQ3E.js → chunk-SUW5DORT.js} +2 -2
  103. package/dist/chunk-T56WDKA5.js +183 -0
  104. package/dist/{chunk-ECUO3KDP.js → chunk-TD3PGPQA.js} +87 -26
  105. package/dist/{chunk-HKO36JWF.js → chunk-THYWACCR.js} +31 -3
  106. package/dist/{chunk-LXPJXFM5.js → chunk-TVH4ONAM.js} +18 -12
  107. package/dist/chunk-TVHHYFHE.js +255 -0
  108. package/dist/chunk-U2WB7TZS.js +271 -0
  109. package/dist/{chunk-NNNWO6F2.js → chunk-UAPGZHYC.js} +237 -33
  110. package/dist/{chunk-MIX5N5AC.js → chunk-UEDMSP56.js} +415 -160
  111. package/dist/{chunk-WIE7ZOSW.js → chunk-UXN6JT4W.js} +3 -3
  112. package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
  113. package/dist/{chunk-MV2VUEJC.js → chunk-VEGN6WIQ.js} +2 -2
  114. package/dist/chunk-VKFQTNDV.js +66 -0
  115. package/dist/{chunk-FALJGAWU.js → chunk-VKRH2TCS.js} +2 -2
  116. package/dist/{chunk-A2NJGIB3.js → chunk-VN3SHNBN.js} +2 -2
  117. package/dist/{chunk-XK56QHLX.js → chunk-VPKWYKEY.js} +19 -5
  118. package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
  119. package/dist/{chunk-EQ63NRB7.js → chunk-WNP7O5WZ.js} +3 -3
  120. package/dist/chunk-WR6U3OVP.js +45 -0
  121. package/dist/{chunk-TEO2TLVN.js → chunk-XKA2ICR3.js} +1051 -1196
  122. package/dist/{chunk-3V5AYSEQ.js → chunk-Y45G3AXC.js} +72 -65
  123. package/dist/{chunk-J5Q24KAG.js → chunk-Y4CAGMM6.js} +2 -2
  124. package/dist/chunk-YAKGTXEV.js +17 -0
  125. package/dist/{chunk-ZI647VB5.js → chunk-YPI3QQCF.js} +2 -2
  126. package/dist/{chunk-YW7UVM5V.js → chunk-ZAZB4JMW.js} +55 -11
  127. package/dist/{chunk-HCBCAYZU.js → chunk-ZJLUDYFY.js} +11 -11
  128. package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
  129. package/dist/{chunk-IFBNV6H6.js → chunk-ZW55JB7N.js} +3 -3
  130. package/dist/cli/index.js +48 -37
  131. package/dist/clio-IT3G3VQH.js +25 -0
  132. package/dist/{code-nav-LMW275PA.js → code-nav-RK6S7F6E.js} +8 -8
  133. package/dist/codewiki/build-worker.js +1 -1
  134. package/dist/{compile-cache-CVJMMODC.js → compile-cache-OQAVB7Y5.js} +3 -5
  135. package/dist/{components-ZFA3SAER.js → components-UBWCQSRW.js} +6 -6
  136. package/dist/{config-RXS5T3JT.js → config-3QZRWZJF.js} +73 -61
  137. package/dist/configure-FL7Y3KJF.js +54 -0
  138. package/dist/{context-MVOORGMF.js → context-5HE7ODYK.js} +61 -49
  139. package/dist/{context-I3BTOTCS.js → context-KYQFRVDC.js} +11 -11
  140. package/dist/{context-PALKKQYL.js → context-XNHL75JV.js} +43 -28
  141. package/dist/{context-clear-N2WOYZ2K.js → context-clear-N545L53A.js} +60 -48
  142. package/dist/{context-working-set-MIEVECVZ.js → context-working-set-QHKXSV2F.js} +15 -13
  143. package/dist/{dispatch-runner-VVA4SRRH.js → dispatch-runner-RGIE5PCT.js} +109 -72
  144. package/dist/{docs-7LQ23DLM.js → docs-5NAF6AU7.js} +7 -13
  145. package/dist/doctor-ZGPEGHIP.js +772 -0
  146. package/dist/{eval-IJ5VEZDJ.js → eval-GXLL44RD.js} +106 -86
  147. package/dist/eval-inventory-HBWSWQOK.js +315 -0
  148. package/dist/{evidence-L5APPXNV.js → evidence-HWLBRH3Q.js} +209 -51
  149. package/dist/{evolve-RGNKFJ52.js → evolve-FTZBMNVW.js} +57 -45
  150. package/dist/{extensions-7WYWUX5A.js → extensions-VHRBEID7.js} +7 -7
  151. package/dist/{fleet-6CNVBZZP.js → fleet-CKZHJWZJ.js} +215 -114
  152. package/dist/{fleet-commands-L2SXSYEI.js → fleet-commands-EXDXBMV6.js} +13 -12
  153. package/dist/fleet-decisions-OTHB6KRL.js +157 -0
  154. package/dist/{fleet-graph-2J3OOIPO.js → fleet-graph-YTEZUCUT.js} +20 -17
  155. package/dist/fleet-inspect-SS6YMDCK.js +445 -0
  156. package/dist/{fleet-preflight-CZRJ4JP5.js → fleet-preflight-PBY4VYOM.js} +6 -9
  157. package/dist/{fleet-validate-C5RI6DP7.js → fleet-validate-KMEM5L3S.js} +25 -20
  158. package/dist/fleet-verify-QD5M7E7Q.js +178 -0
  159. package/dist/fleet-view-WAMJYNDT.js +94 -0
  160. package/dist/{init-VBN2ACVA.js → init-5XQRBOFV.js} +79 -66
  161. package/dist/install-NKNG7KD4.js +13 -0
  162. package/dist/interop-34TVO25M.js +116 -0
  163. package/dist/{library-JHGUMLY2.js → library-3QY6KF57.js} +25 -21
  164. package/dist/{memory-K4OQIYWG.js → memory-L4UTIIIW.js} +59 -47
  165. package/dist/{models-2NCZUWDD.js → models-ZVX3QOWE.js} +47 -37
  166. package/dist/{monitor-MMVTJABD.js → monitor-CEKVSYTS.js} +67 -57
  167. package/dist/{orchestrator-ZKBPCHW6.js → orchestrator-77BAP6BC.js} +7633 -7699
  168. package/dist/panes-7STHOAUJ.js +103 -0
  169. package/dist/panes-SHAUIRXY.js +60 -0
  170. package/dist/{paths-DBXMZMDU.js → paths-L7LGY6RN.js} +6 -6
  171. package/dist/{reset-DD5JGOY3.js → reset-EOLM7GVE.js} +15 -14
  172. package/dist/resources-74GKTLSF.js +115 -0
  173. package/dist/{run-QEGNX7FL.js → run-HBAUJNNZ.js} +139 -98
  174. package/dist/{share-JKD3BQMW.js → share-G3APVLVP.js} +25 -21
  175. package/dist/{skills-LMQIKDOZ.js → skills-35HHUKCR.js} +37 -27
  176. package/dist/{skills-eval-I7X2774U.js → skills-eval-QN4HSHDC.js} +80 -73
  177. package/dist/skills-inventory-J357J34F.js +129 -0
  178. package/dist/slash-commands-JZZCQA32.js +79 -0
  179. package/dist/{steer-CF5TDANS.js → steer-XAVHJM22.js} +4 -4
  180. package/dist/{support-I7LOJLIF.js → support-U7QOWY26.js} +7 -7
  181. package/dist/{targets-RUSR6B5Z.js → targets-DSM6CY3M.js} +67 -59
  182. package/dist/{terminal-lease-QYVORFR4.js → terminal-lease-JOPFUVEM.js} +15 -10
  183. package/dist/tools-MKNWVPBH.js +29 -0
  184. package/dist/{trace-ODOQIVIW.js → trace-ECQ7TIYZ.js} +194 -7
  185. package/dist/tui-primitives-K5PASC3O.js +17 -0
  186. package/dist/{uninstall-ZJF5H5ZN.js → uninstall-N34PCTGJ.js} +6 -8
  187. package/dist/{upgrade-XANW3FXB.js → upgrade-H7TOM7YL.js} +37 -62
  188. package/dist/{usage-4H7ZRXQT.js → usage-X52N3IDJ.js} +70 -59
  189. package/dist/{verifiers-UZXNBZEB.js → verifiers-EJTVVSMA.js} +174 -14
  190. package/dist/{verify-BVKWTNDL.js → verify-YJL6XET2.js} +12 -11
  191. package/dist/{web-fetch-2YHJ3KTG.js → web-fetch-MPIFL3LL.js} +3 -4
  192. package/dist/{wiki-generate-MY7WV2QI.js → wiki-generate-4NDZTQ4B.js} +86 -75
  193. package/dist/with-panes-OBOBFIIR.js +818 -0
  194. package/dist/worker/entry.js +131 -91
  195. package/docs/README.md +3 -2
  196. package/docs/acp.md +25 -4
  197. package/docs/alcf-provider.md +1 -1
  198. package/docs/architecture.md +2 -2
  199. package/docs/artifact-versions.md +4 -1
  200. package/docs/built-in-agents.md +40 -32
  201. package/docs/capacity-and-scheduling.md +43 -5
  202. package/docs/commands-and-modes.md +39 -4
  203. package/docs/config-knobs-audit.md +3 -0
  204. package/docs/configuration-and-targets.md +138 -167
  205. package/docs/context-engine.md +1 -1
  206. package/docs/development-pipeline.md +19 -0
  207. package/docs/dispatch-typed-intent.md +385 -0
  208. package/docs/documentation-coverage.md +2 -2
  209. package/docs/documentation-guide.md +1 -1
  210. package/docs/environment-variables.md +3 -1
  211. package/docs/eval-runner.md +1 -1
  212. package/docs/evals-internal.md +1 -1
  213. package/docs/evidence-and-memory.md +2 -2
  214. package/docs/evolution.md +1 -1
  215. package/docs/exit-codes-and-output.md +3 -1
  216. package/docs/extensions-and-sharing.md +25 -1
  217. package/docs/fleet-demo-runbook.md +6 -3
  218. package/docs/fleet-dispatch.md +30 -7
  219. package/docs/installation-and-lifecycle.md +16 -3
  220. package/docs/middleware-and-components.md +1 -1
  221. package/docs/model-catalog.md +10 -1
  222. package/docs/observability.md +3 -3
  223. package/docs/proactive-memory.md +1 -1
  224. package/docs/prompt-envelope-and-tools.md +1 -1
  225. package/docs/provider-adapter-cookbook.md +1 -1
  226. package/docs/release-cut-checklist.md +164 -177
  227. package/docs/safety-model.md +2 -2
  228. package/docs/scientific-validation.md +3 -3
  229. package/docs/session-lifecycle.md +1 -1
  230. package/docs/skills-marketplace.md +1 -1
  231. package/docs/tool-usage.md +18 -8
  232. package/docs/trace-store.md +16 -11
  233. package/docs/troubleshooting.md +2 -2
  234. package/docs/tui-design.md +1 -1
  235. package/docs/worker-dispatch-mechanics.md +1 -1
  236. package/evals/README.md +5 -0
  237. package/evals/behavioral-corpus-grader.mjs +103 -0
  238. package/evals/behavioral-machinery-baseline.json +2276 -0
  239. package/evals/behavioral-machinery-driver.ts +250 -0
  240. package/evals/behavioral-machinery-support.ts +253 -0
  241. package/evals/behavioral-machinery.yaml +614 -0
  242. package/evals/behavioral-model-negative-control.yaml +68 -0
  243. package/evals/behavioral-model.yaml +216 -0
  244. package/evals/fixtures/behavioral-facts.txt +3 -0
  245. package/evals/fixtures/behavioral-main.ts +7 -0
  246. package/evals/fixtures/decoy/note.txt +2 -0
  247. package/evals/fixtures/private/credentials.txt +1 -0
  248. package/evals/tracked-metrics-baseline.yaml +229 -0
  249. package/evals/tracked-metrics-grader.mjs +129 -0
  250. package/package.json +8 -16
  251. package/skills/README.md +6 -6
  252. package/skills/coding/ast-grep/SKILL.md +8 -2
  253. package/skills/coding/coding-standards/SKILL.md +8 -2
  254. package/skills/coding/prototype/SKILL.md +8 -2
  255. package/skills/coding/tdd/SKILL.md +8 -2
  256. package/skills/context/context-handoff/SKILL.md +12 -3
  257. package/skills/context/context-handoff/evals.md +3 -3
  258. package/skills/context/context-prime/SKILL.md +8 -2
  259. package/skills/context/context-prime/evals.md +2 -2
  260. package/skills/git/file-ticket/SKILL.md +9 -4
  261. package/skills/git/file-ticket/evals.md +2 -2
  262. package/skills/git/fix-issue/SKILL.md +12 -5
  263. package/skills/git/fix-issue/evals.md +4 -4
  264. package/skills/git/resolve-merge-conflicts/SKILL.md +8 -2
  265. package/skills/git/resolve-merge-conflicts/evals.md +2 -2
  266. package/skills/git/ship/SKILL.md +9 -3
  267. package/skills/git/ship/evals.md +4 -4
  268. package/skills/git/worktree-create/SKILL.md +7 -2
  269. package/skills/git/worktree-create/evals.md +6 -6
  270. package/skills/git/worktree-merge/SKILL.md +7 -2
  271. package/skills/git/worktree-merge/evals.md +6 -6
  272. package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +14 -8
  273. package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +3 -3
  274. package/skills/meta/{clio-test → clio-coder-test}/SKILL.md +11 -5
  275. package/skills/meta/{clio-test → clio-coder-test}/evals.md +1 -1
  276. package/skills/meta/credentials/SKILL.md +9 -2
  277. package/skills/meta/find-skills/SKILL.md +8 -2
  278. package/skills/meta/herdr/SKILL.md +8 -2
  279. package/skills/meta/skill-craft/SKILL.md +21 -4
  280. package/skills/planning/architecture/SKILL.md +9 -3
  281. package/skills/planning/backlog/SKILL.md +8 -2
  282. package/skills/planning/prd/SKILL.md +8 -2
  283. package/skills/planning/product-intent/SKILL.md +8 -2
  284. package/skills/planning/tech-spec/SKILL.md +9 -3
  285. package/skills/registry.yaml +66 -66
  286. package/skills/research/arxiv-literature/SKILL.md +8 -2
  287. package/skills/research/experiment-protocol/SKILL.md +9 -2
  288. package/skills/research/scientific-debugging/SKILL.md +9 -2
  289. package/skills/research/scientific-debugging/evals.md +2 -2
  290. package/skills/research/scientific-modernization/SKILL.md +9 -2
  291. package/skills/skill-marketplace.json +257 -38
  292. package/skills/workflow/cut-it/SKILL.md +10 -2
  293. package/skills/workflow/design-council/SKILL.md +11 -2
  294. package/skills/workflow/grill-me/SKILL.md +8 -2
  295. package/skills/workflow/workflow-distiller/SKILL.md +8 -2
  296. package/src/cli/acp.ts +8 -4
  297. package/src/cli/argv.ts +25 -0
  298. package/src/cli/auth.ts +2 -2
  299. package/src/cli/bootstrap-generate.ts +5 -5
  300. package/src/cli/clio.ts +6 -1
  301. package/src/cli/config-inspect.ts +3 -3
  302. package/src/cli/configure-interop.ts +1 -1
  303. package/src/cli/configure.ts +50 -48
  304. package/src/cli/default-target.ts +1 -1
  305. package/src/cli/docs.ts +6 -6
  306. package/src/cli/doctor-naming.ts +323 -0
  307. package/src/cli/doctor-panes.ts +156 -0
  308. package/src/cli/doctor-toolchain.ts +78 -0
  309. package/src/cli/doctor.ts +34 -1
  310. package/src/cli/eval-inventory.ts +436 -0
  311. package/src/cli/eval.ts +13 -0
  312. package/src/cli/evidence-detail.ts +88 -0
  313. package/src/cli/evidence-inventory.ts +183 -0
  314. package/src/cli/evidence.ts +30 -5
  315. package/src/cli/fleet-decisions.ts +69 -0
  316. package/src/cli/fleet-inspect.ts +334 -0
  317. package/src/cli/fleet-preflight.ts +1 -1
  318. package/src/cli/fleet-verify.ts +133 -0
  319. package/src/cli/fleet-view.ts +827 -0
  320. package/src/cli/fleet.ts +154 -40
  321. package/src/cli/index.ts +14 -2
  322. package/src/cli/interop-inspect.ts +128 -0
  323. package/src/cli/interop.ts +34 -0
  324. package/src/cli/models.ts +3 -3
  325. package/src/cli/modes/print.ts +1 -1
  326. package/src/cli/panes.ts +35 -0
  327. package/src/cli/reset.ts +6 -3
  328. package/src/cli/run.ts +67 -13
  329. package/src/cli/share.ts +1 -1
  330. package/src/cli/skills-eval.ts +11 -11
  331. package/src/cli/skills-inventory.ts +185 -0
  332. package/src/cli/skills.ts +16 -13
  333. package/src/cli/targets.ts +23 -24
  334. package/src/cli/tools.ts +321 -0
  335. package/src/cli/trace-inspect.ts +252 -0
  336. package/src/cli/trace.ts +64 -2
  337. package/src/cli/uninstall.ts +2 -2
  338. package/src/cli/upgrade.ts +29 -34
  339. package/src/cli/usage.ts +2 -2
  340. package/src/cli/validate-model.ts +1 -1
  341. package/src/cli/verifiers-inspect.ts +347 -0
  342. package/src/cli/verifiers.ts +9 -0
  343. package/src/cli/wiki-generate.ts +5 -5
  344. package/src/core/bash-exec.ts +1 -1
  345. package/src/core/boot-trace.ts +3 -3
  346. package/src/core/bus-events.ts +4 -0
  347. package/src/core/bus-trace.ts +2 -2
  348. package/src/core/compile-cache.ts +1 -1
  349. package/src/core/config.ts +1070 -845
  350. package/src/core/defaults.ts +342 -463
  351. package/src/core/domain-loader.ts +6 -4
  352. package/src/core/event-bus.ts +1 -1
  353. package/src/core/file-references.ts +78 -88
  354. package/src/core/git-commit-attribution.ts +3 -9
  355. package/src/core/guardrails.ts +24 -4
  356. package/src/core/naming-compat.ts +45 -0
  357. package/src/core/naming-events.ts +62 -0
  358. package/src/core/recent-models.ts +1 -7
  359. package/src/core/residency-protection.ts +4 -8
  360. package/src/core/resolve-config-value.ts +1 -1
  361. package/src/core/response-model-id.ts +0 -14
  362. package/src/core/response-schema.ts +44 -4
  363. package/src/core/session-routing.ts +84 -74
  364. package/src/core/skill-activation.ts +18 -0
  365. package/src/core/termination.ts +4 -4
  366. package/src/core/theme-token-hex.ts +43 -0
  367. package/src/core/timers.ts +2 -12
  368. package/src/core/tool-names.ts +2 -1
  369. package/src/core/xdg.ts +1 -1
  370. package/src/domains/agents/catalog.ts +2 -12
  371. package/src/domains/agents/extension.ts +3 -3
  372. package/src/domains/agents/fleets/build-review.md +0 -3
  373. package/src/domains/agents/fleets/build-test.md +0 -3
  374. package/src/domains/agents/registry.ts +7 -7
  375. package/src/domains/agents/result-contract-filesystem.ts +32 -0
  376. package/src/domains/agents/result-contract.ts +165 -36
  377. package/src/domains/agents/spec.ts +0 -11
  378. package/src/domains/config/classify.ts +37 -46
  379. package/src/domains/config/extension.ts +5 -5
  380. package/src/domains/config/keybindings.ts +48 -47
  381. package/src/domains/config/watcher.ts +1 -1
  382. package/src/domains/context/codewiki/indexer.ts +1 -1
  383. package/src/domains/context/extension.ts +3 -3
  384. package/src/domains/context/prompt-context.ts +1 -1
  385. package/src/domains/context/wiki/assemble.ts +2 -2
  386. package/src/domains/context/working-set/replay/metrics.ts +0 -4
  387. package/src/domains/context/working-set/replay/report.ts +1 -1
  388. package/src/domains/context/working-set/replay/synthetic.ts +2 -2
  389. package/src/domains/dispatch/active-route-planner.ts +2 -2
  390. package/src/domains/dispatch/admission-error.ts +9 -0
  391. package/src/domains/dispatch/admission.ts +22 -21
  392. package/src/domains/dispatch/agent-candidates.ts +1 -1
  393. package/src/domains/dispatch/agent-ledger-store.ts +1 -1
  394. package/src/domains/dispatch/agent-ledger.ts +1 -1
  395. package/src/domains/dispatch/assignment.ts +5 -5
  396. package/src/domains/dispatch/capacity-lease.ts +23 -6
  397. package/src/domains/dispatch/code-step.ts +1 -1
  398. package/src/domains/dispatch/contract.ts +2 -2
  399. package/src/domains/dispatch/council-topology.ts +398 -0
  400. package/src/domains/dispatch/extension.ts +287 -111
  401. package/src/domains/dispatch/fleet-node-prompt.ts +62 -0
  402. package/src/domains/dispatch/fleet-plan.ts +7 -2
  403. package/src/domains/dispatch/fleet-preflight.ts +8 -17
  404. package/src/domains/dispatch/fleet-run.ts +59 -3
  405. package/src/domains/dispatch/gate-decisions.ts +36 -15
  406. package/src/domains/dispatch/gate-role-prompts.ts +9 -0
  407. package/src/domains/dispatch/gate-topology.ts +289 -0
  408. package/src/domains/dispatch/index.ts +19 -0
  409. package/src/domains/dispatch/intent-compatibility.ts +330 -0
  410. package/src/domains/dispatch/intent.ts +85 -1
  411. package/src/domains/dispatch/joint-route-resolver.ts +1 -1
  412. package/src/domains/dispatch/path-scope.ts +0 -61
  413. package/src/domains/dispatch/placement.ts +2 -2
  414. package/src/domains/dispatch/receipt-findings.ts +1 -1
  415. package/src/domains/dispatch/receipt-integrity.ts +20 -8
  416. package/src/domains/dispatch/reservation-store.ts +24 -27
  417. package/src/domains/dispatch/route-decision.ts +1 -1
  418. package/src/domains/dispatch/route-history.ts +1 -1
  419. package/src/domains/dispatch/route-policy.ts +1 -1
  420. package/src/domains/dispatch/route-readiness.ts +0 -28
  421. package/src/domains/dispatch/run-event-journal-bridge.ts +149 -0
  422. package/src/domains/dispatch/run-event-journal.ts +599 -0
  423. package/src/domains/dispatch/state.ts +45 -1
  424. package/src/domains/dispatch/tool-stats.ts +1 -1
  425. package/src/domains/dispatch/transport.ts +2 -19
  426. package/src/domains/dispatch/types.ts +16 -3
  427. package/src/domains/dispatch/validation.ts +33 -8
  428. package/src/domains/dispatch/worker-protocol.ts +2 -2
  429. package/src/domains/eval/artifacts/store.ts +5 -4
  430. package/src/domains/eval/compare/compare.ts +3 -16
  431. package/src/domains/eval/compare/thresholds.ts +0 -8
  432. package/src/domains/eval/execution-provenance.ts +1 -1
  433. package/src/domains/eval/inventory.ts +113 -0
  434. package/src/domains/eval/metrics/token-stream.ts +0 -7
  435. package/src/domains/eval/report.ts +1 -1
  436. package/src/domains/eval/runner.ts +1 -1
  437. package/src/domains/eval/runners/clio-run.ts +7 -6
  438. package/src/domains/eval/runners/external-command.ts +4 -3
  439. package/src/domains/eval/schema/artifact.ts +1 -1
  440. package/src/domains/eval/schema/behavioral-metrics.ts +3 -2
  441. package/src/domains/eval/schema/behavioral.ts +7 -6
  442. package/src/domains/eval/schema/execution-envelope.ts +4 -2
  443. package/src/domains/eval/schema/naming.ts +10 -0
  444. package/src/domains/eval/schema/serving.ts +31 -0
  445. package/src/domains/eval/schema/suite.ts +2 -2
  446. package/src/domains/eval/schema/validate.ts +9 -5
  447. package/src/domains/eval/schema/verdict.ts +4 -2
  448. package/src/domains/eval/store.ts +12 -2
  449. package/src/domains/eval/suites/run.ts +12 -6
  450. package/src/domains/eval/types.ts +1 -1
  451. package/src/domains/eval/workspaces/git.ts +1 -1
  452. package/src/domains/eval/workspaces/temp-copy.ts +1 -1
  453. package/src/domains/evidence/build.ts +13 -5
  454. package/src/domains/evidence/store.ts +6 -0
  455. package/src/domains/interop/consent.ts +7 -7
  456. package/src/domains/interop/extension.ts +1 -1
  457. package/src/domains/lifecycle/doctor.ts +27 -21
  458. package/src/domains/lifecycle/migrations/2026-09-01-clio-coder-naming.ts +155 -0
  459. package/src/domains/lifecycle/migrations/2026-09-01-retire-panes-knobs.ts +59 -0
  460. package/src/domains/lifecycle/migrations/2026-09-01-settings-v2.ts +338 -0
  461. package/src/domains/lifecycle/migrations/index.ts +20 -1
  462. package/src/domains/lifecycle/naming-history.ts +153 -0
  463. package/src/domains/lifecycle/naming-mutable-state.ts +104 -0
  464. package/src/domains/lifecycle/naming-resources.ts +261 -0
  465. package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
  466. package/src/domains/lifecycle/naming-yazi.ts +81 -0
  467. package/src/domains/lifecycle/upgrade-notice.ts +1 -1
  468. package/src/domains/memory/index.ts +0 -1
  469. package/src/domains/memory/task-memory-handoff.ts +6 -3
  470. package/src/domains/memory/task-memory-policy.ts +6 -10
  471. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  472. package/src/domains/middleware/index.ts +7 -0
  473. package/src/domains/middleware/marketplace-offer.ts +339 -0
  474. package/src/domains/middleware/memory-intervention.ts +33 -21
  475. package/src/domains/middleware/runtime.ts +2 -2
  476. package/src/domains/mux/contract.ts +566 -0
  477. package/src/domains/mux/detect.ts +182 -0
  478. package/src/domains/mux/dock-controller.ts +365 -0
  479. package/src/domains/mux/extension.ts +53 -0
  480. package/src/domains/mux/index.ts +116 -0
  481. package/src/domains/mux/manifest.ts +6 -0
  482. package/src/domains/mux/operations.ts +192 -0
  483. package/src/domains/mux/pane-registry.ts +90 -0
  484. package/src/domains/mux/protocol.ts +62 -0
  485. package/src/domains/mux/socket-client.ts +964 -0
  486. package/src/domains/mux/types.ts +265 -0
  487. package/src/domains/mux/viewer-command.ts +59 -0
  488. package/src/domains/mux/yazi/assets/init.lua +2 -0
  489. package/src/domains/mux/yazi/assets/plugins/git.yazi/LICENSE +21 -0
  490. package/src/domains/mux/yazi/assets/plugins/git.yazi/README.md +78 -0
  491. package/src/domains/mux/yazi/assets/plugins/git.yazi/main.lua +255 -0
  492. package/src/domains/mux/yazi/assets/plugins/git.yazi/types.lua +12 -0
  493. package/src/domains/mux/yazi/assets/yazi.toml +17 -0
  494. package/src/domains/mux/yazi/event-stream.ts +182 -0
  495. package/src/domains/mux/yazi/profile.ts +299 -0
  496. package/src/domains/mux/yazi/session.ts +251 -0
  497. package/src/domains/mux/yazi/theme.ts +30 -0
  498. package/src/domains/observability/cost.ts +21 -0
  499. package/src/domains/observability/extension.ts +1 -1
  500. package/src/domains/observability/index.ts +2 -0
  501. package/src/domains/observability/out-of-turn-usage.ts +2 -2
  502. package/src/domains/observability/projection.ts +1 -1
  503. package/src/domains/observability/trace-store.ts +63 -11
  504. package/src/domains/prompts/compiler.ts +2 -2
  505. package/src/domains/prompts/extension.ts +3 -3
  506. package/src/domains/prompts/fragments/identity/clio-worker.md +1 -1
  507. package/src/domains/prompts/fragments/operating/skills.md +25 -18
  508. package/src/domains/providers/endpoint-capacity.ts +154 -22
  509. package/src/domains/providers/endpoint-slots-store.ts +189 -0
  510. package/src/domains/providers/extension.ts +25 -8
  511. package/src/domains/providers/index.ts +22 -0
  512. package/src/domains/providers/knowledge-base-path.ts +1 -1
  513. package/src/domains/providers/model-runtime-capabilities.ts +46 -2
  514. package/src/domains/providers/models/cloud-models/alcf.yaml +1 -1
  515. package/src/domains/providers/models/local-models/{clio-local-coding-targets.yaml → clio-coder-local-coding-targets.yaml} +4 -4
  516. package/src/domains/providers/plugins.ts +1 -1
  517. package/src/domains/providers/resolver.ts +1 -1
  518. package/src/domains/providers/runtimes/boot-manifest.ts +1 -0
  519. package/src/domains/providers/runtimes/builtins.ts +2 -0
  520. package/src/domains/providers/runtimes/cloud/alcf.ts +4 -4
  521. package/src/domains/providers/runtimes/common/lmstudio-http.ts +1 -5
  522. package/src/domains/providers/runtimes/common/local-synth.ts +3 -3
  523. package/src/domains/providers/runtimes/common/probe-helpers.ts +2 -2
  524. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
  525. package/src/domains/providers/runtimes/local-native/lmstudio.ts +2 -9
  526. package/src/domains/providers/runtimes/protocol/litellm.ts +285 -0
  527. package/src/domains/providers/support.ts +1 -0
  528. package/src/domains/providers/target-model-cache.ts +124 -0
  529. package/src/domains/providers/types/knowledge-base.ts +13 -0
  530. package/src/domains/providers/types/local-model-quirks.ts +2 -2
  531. package/src/domains/providers/types/target-descriptor.ts +3 -3
  532. package/src/domains/resources/extension.ts +1 -1
  533. package/src/domains/resources/index.ts +3 -0
  534. package/src/domains/resources/library.ts +6 -6
  535. package/src/domains/resources/prompts/loader.ts +1 -1
  536. package/src/domains/resources/skills/content-hash.ts +7 -6
  537. package/src/domains/resources/skills/evals.ts +1 -1
  538. package/src/domains/resources/skills/install.ts +36 -12
  539. package/src/domains/resources/skills/loader.ts +72 -13
  540. package/src/domains/resources/skills/marketplace.ts +21 -2
  541. package/src/domains/resources/skills/promotion.ts +214 -0
  542. package/src/domains/safety/action-classifier.ts +6 -0
  543. package/src/domains/safety/audit.ts +2 -2
  544. package/src/domains/safety/finish-contract.ts +2 -1
  545. package/src/domains/safety/run-effects.ts +1 -1
  546. package/src/domains/scheduling/extension.ts +4 -4
  547. package/src/domains/session/archive-readers.ts +9 -1
  548. package/src/domains/session/compaction/branch-summary.ts +4 -0
  549. package/src/domains/session/compaction/compact.ts +1 -1
  550. package/src/domains/session/compaction/tokens.ts +4 -0
  551. package/src/domains/session/context-accounting.ts +1 -1
  552. package/src/domains/session/decision-board.ts +1 -1
  553. package/src/domains/session/extension.ts +1 -1
  554. package/src/domains/session/handoff.ts +2 -2
  555. package/src/domains/session/prompt-manifest.ts +0 -5
  556. package/src/domains/session/protected-artifact-journal.ts +12 -6
  557. package/src/domains/session/retry.ts +1 -1
  558. package/src/domains/share/archive.ts +85 -36
  559. package/src/domains/toolchain/archive.ts +175 -0
  560. package/src/domains/toolchain/contract.ts +28 -0
  561. package/src/domains/toolchain/extension.ts +47 -0
  562. package/src/domains/toolchain/index.ts +39 -0
  563. package/src/domains/toolchain/install.ts +327 -0
  564. package/src/domains/toolchain/manifest.ts +8 -0
  565. package/src/domains/toolchain/paths.ts +34 -0
  566. package/src/domains/toolchain/registry.ts +265 -0
  567. package/src/domains/toolchain/remove.ts +218 -0
  568. package/src/domains/toolchain/resolve.ts +182 -0
  569. package/src/domains/toolchain/types.ts +113 -0
  570. package/src/domains/toolchain/version.ts +88 -0
  571. package/src/engine/acp/adapter.ts +3 -3
  572. package/src/engine/acp/event-mapper.ts +3 -3
  573. package/src/engine/acp/server.ts +440 -96
  574. package/src/engine/acp/tool-mediator.ts +2 -2
  575. package/src/engine/acp/types.ts +20 -2
  576. package/src/engine/alcf-oauth.ts +5 -5
  577. package/src/engine/antigravity/subprocess-runtime.ts +2 -2
  578. package/src/engine/api-registry.ts +1 -1
  579. package/src/engine/apis/llamacpp-residency.ts +1 -19
  580. package/src/engine/apis/lmstudio.ts +1 -6
  581. package/src/engine/apis/ollama-native.ts +3 -3
  582. package/src/engine/apis/openai-completions.ts +2 -2
  583. package/src/engine/apis/residency.ts +3 -9
  584. package/src/engine/claude/sdk-module.ts +87 -0
  585. package/src/engine/claude/sdk-runtime.ts +25 -17
  586. package/src/engine/claude/subprocess-runtime.ts +1 -1
  587. package/src/engine/claude/tool-safety.ts +4 -4
  588. package/src/engine/loop-guard.ts +0 -5
  589. package/src/engine/session.ts +14 -7
  590. package/src/engine/tui-primitives.ts +21 -0
  591. package/src/engine/tui.ts +1 -0
  592. package/src/engine/worker-events.ts +6 -6
  593. package/src/engine/worker-runtime.ts +16 -26
  594. package/src/entry/boot-options.ts +2 -0
  595. package/src/entry/orchestrator.ts +207 -90
  596. package/src/entry/panes-activation.ts +31 -0
  597. package/src/entry/with-panes.ts +20 -0
  598. package/src/interactive/application-controller.ts +21 -21
  599. package/src/interactive/bus-notices.ts +2 -2
  600. package/src/interactive/chat-loop.ts +8 -8
  601. package/src/interactive/chat-panel.ts +1 -1
  602. package/src/interactive/clio-editor.ts +105 -1
  603. package/src/interactive/context-activity.ts +8 -6
  604. package/src/interactive/context-meter.ts +3 -6
  605. package/src/interactive/context-overlay.ts +2 -1
  606. package/src/interactive/cost-overlay.ts +3 -1
  607. package/src/interactive/council-grid.ts +3 -5
  608. package/src/interactive/council.ts +11 -0
  609. package/src/interactive/dispatch-board.ts +56 -49
  610. package/src/interactive/editor-bash.ts +21 -0
  611. package/src/interactive/editor-steer.ts +9 -4
  612. package/src/interactive/editor-submit.ts +24 -18
  613. package/src/interactive/external-editor.ts +1 -1
  614. package/src/interactive/file-reference-completion.ts +360 -0
  615. package/src/interactive/footer/dashboard.ts +15 -17
  616. package/src/interactive/footer/notifications.ts +14 -8
  617. package/src/interactive/footer/widgets.ts +2 -44
  618. package/src/interactive/interactive-application.ts +229 -62
  619. package/src/interactive/interactive-event-projection.ts +1 -1
  620. package/src/interactive/interactive-input-runtime.ts +9 -2
  621. package/src/interactive/interactive-presentation.ts +21 -16
  622. package/src/interactive/interactive-shell.ts +2 -2
  623. package/src/interactive/interactive-slash-runtime.ts +99 -23
  624. package/src/interactive/interactive-subscriptions.ts +1 -1
  625. package/src/interactive/interactive-tickers.ts +1 -1
  626. package/src/interactive/keybinding-manager.ts +4 -4
  627. package/src/interactive/layout.ts +1 -1
  628. package/src/interactive/memory-overlay.ts +3 -2
  629. package/src/interactive/modal-marker.ts +151 -0
  630. package/src/interactive/mutation-preview.ts +1 -1
  631. package/src/interactive/mux-bridge.ts +214 -0
  632. package/src/interactive/overlay-frame.ts +62 -14
  633. package/src/interactive/overlay-general-openers.ts +7 -2
  634. package/src/interactive/overlay-key-routing.ts +21 -10
  635. package/src/interactive/overlay-lifecycle.ts +20 -4
  636. package/src/interactive/overlay-model-selectors.ts +43 -6
  637. package/src/interactive/overlay-permission-lifecycle.ts +90 -22
  638. package/src/interactive/overlay-transitions.ts +18 -4
  639. package/src/interactive/overlays/agents.ts +3 -2
  640. package/src/interactive/overlays/ask-user.ts +161 -41
  641. package/src/interactive/overlays/auth-dialog.ts +1 -0
  642. package/src/interactive/overlays/context-reset.ts +29 -4
  643. package/src/interactive/overlays/cwd-fallback.ts +29 -4
  644. package/src/interactive/overlays/decisions.ts +15 -13
  645. package/src/interactive/overlays/extensions.ts +1 -0
  646. package/src/interactive/overlays/fleet-run-approval.ts +4 -3
  647. package/src/interactive/overlays/handoff-review.ts +3 -2
  648. package/src/interactive/overlays/help-reference.ts +2 -0
  649. package/src/interactive/overlays/interop.ts +2 -1
  650. package/src/interactive/overlays/library-install-confirm.ts +2 -1
  651. package/src/interactive/overlays/library-tabs.ts +28 -0
  652. package/src/interactive/overlays/list-overlay.ts +10 -1
  653. package/src/interactive/overlays/message-picker.ts +2 -1
  654. package/src/interactive/overlays/model-scope.ts +86 -0
  655. package/src/interactive/overlays/model-selector.ts +40 -31
  656. package/src/interactive/overlays/prompts.ts +11 -4
  657. package/src/interactive/overlays/session-selector.ts +3 -2
  658. package/src/interactive/overlays/settings-sections.ts +30 -0
  659. package/src/interactive/overlays/settings.ts +849 -268
  660. package/src/interactive/overlays/side-question.ts +3 -2
  661. package/src/interactive/overlays/skills-hub.ts +11 -19
  662. package/src/interactive/overlays/tree-selector.ts +3 -2
  663. package/src/interactive/pane-policy.ts +46 -0
  664. package/src/interactive/panes-runtime.ts +318 -0
  665. package/src/interactive/permission-overlay.ts +2 -2
  666. package/src/interactive/renderers/compaction-summary.ts +29 -0
  667. package/src/interactive/renderers/retry-status.ts +12 -4
  668. package/src/interactive/renderers/tool-execution.ts +4 -4
  669. package/src/interactive/renderers/worker-entry.ts +122 -14
  670. package/src/interactive/session-transcript.ts +3 -3
  671. package/src/interactive/slash-autocomplete.ts +454 -165
  672. package/src/interactive/slash-commands.ts +521 -189
  673. package/src/interactive/slash-spec.ts +160 -17
  674. package/src/interactive/status/controller.ts +2 -2
  675. package/src/interactive/stream-pacing-policy.ts +1 -1
  676. package/src/interactive/tasks-overlay.ts +21 -13
  677. package/src/interactive/terminal-lease.ts +6 -7
  678. package/src/interactive/theme/tokens.ts +3 -14
  679. package/src/interactive/turn-context.ts +58 -13
  680. package/src/interactive/turn-persistence.ts +2 -2
  681. package/src/interactive/turn-prewarm.ts +2 -2
  682. package/src/interactive/turn-runtime.ts +8 -8
  683. package/src/interactive/turn-state.ts +1 -1
  684. package/src/interactive/view/artifacts.ts +120 -9
  685. package/src/interactive/view/view-overlay.ts +14 -10
  686. package/src/interactive/watch-pane.ts +180 -0
  687. package/src/interactive/welcome-dashboard.ts +15 -15
  688. package/src/interactive/worker-progress.ts +11 -5
  689. package/src/interactive/worker-receipts.ts +20 -2
  690. package/src/interactive/worker-stream.ts +6 -4
  691. package/src/interactive/yazi-bridge.ts +451 -0
  692. package/src/tools/ask-user.ts +3 -3
  693. package/src/tools/bash.ts +1 -1
  694. package/src/tools/bootstrap.ts +26 -2
  695. package/src/tools/builtin-tool-catalog.ts +16 -1
  696. package/src/tools/compete-worktrees.ts +108 -17
  697. package/src/tools/context/index.ts +15 -1
  698. package/src/tools/core-bootstrap.ts +2 -1
  699. package/src/tools/dispatch-admission.ts +18 -5
  700. package/src/tools/dispatch-arguments.ts +21 -21
  701. package/src/tools/dispatch-plan.ts +0 -11
  702. package/src/tools/dispatch-run-events.ts +145 -28
  703. package/src/tools/dispatch-runner.ts +40 -13
  704. package/src/tools/dispatch-types.ts +15 -3
  705. package/src/tools/dispatch.ts +2 -2
  706. package/src/tools/executables.ts +17 -14
  707. package/src/tools/find.ts +1 -6
  708. package/src/tools/monitor.ts +4 -4
  709. package/src/tools/observation.ts +54 -4
  710. package/src/tools/observers.ts +0 -33
  711. package/src/tools/panes-surface.ts +38 -0
  712. package/src/tools/panes.ts +112 -0
  713. package/src/tools/policy.ts +10 -1
  714. package/src/tools/presentation.ts +1 -0
  715. package/src/tools/task-worktree.ts +28 -7
  716. package/src/tools/verify/authoring.ts +3 -6
  717. package/src/tools/verify/frontend.ts +1 -1
  718. package/src/tools/web-fetch.ts +1 -1
  719. package/src/worker/entry.ts +4 -3
  720. package/src/worker/protocol.ts +16 -14
  721. package/src/worker/spec-contract.ts +2 -2
  722. package/src/worker/stdin-demux.ts +2 -2
  723. package/dist/chunk-D73KXYPF.js +0 -37
  724. package/dist/chunk-MLOK6ZOS.js +0 -2888
  725. package/dist/chunk-PNY46YEY.js +0 -1581
  726. package/dist/chunk-XDOQXGFO.js +0 -515
  727. package/dist/chunk-YKOFT37S.js +0 -279
  728. package/dist/clio-LT5V7SSZ.js +0 -26
  729. package/dist/configure-2WYWSCSD.js +0 -49
  730. package/dist/doctor-TWBWFK5V.js +0 -165
  731. package/src/engine/apis/degraded-inference.ts +0 -95
  732. /package/skills/meta/{clio-test → clio-coder-test}/references/harness.md +0 -0
  733. /package/skills/meta/{clio-test → clio-coder-test}/references/test-map.md +0 -0
@@ -1,3 +1,5 @@
1
+ // Default constants for Clio Coder settings.
2
+
1
3
  /**
2
4
  * Default settings shipped with Clio Coder. Written to the resolved config
3
5
  * directory's settings.yaml on first install if the file does not already
@@ -7,7 +9,7 @@
7
9
  import { DEFAULT_WORKING_SET_SETTINGS } from "../domains/context/working-set/defaults.js";
8
10
  import type { TargetDescriptor } from "../domains/providers/types/target-descriptor.js";
9
11
  import type { AutonomyLevel } from "../domains/safety/autonomy.js";
10
- import { GUARDRAIL_DEFAULTS, type GuardrailValues } from "./guardrails.js";
12
+ import { GUARDRAIL_DEFAULTS } from "./guardrails.js";
11
13
 
12
14
  export type { TargetDescriptor } from "../domains/providers/types/target-descriptor.js";
13
15
  export type { AutonomyLevel } from "../domains/safety/autonomy.js";
@@ -53,12 +55,12 @@ export interface WorkerRosterMember {
53
55
  label: string;
54
56
  target: string;
55
57
  model?: string;
56
- thinking?: ThinkingLevel;
58
+ thinkingLevel?: ThinkingLevel;
57
59
  color?: ThemeNamedColor | string;
58
60
  }
59
61
  export type WorkerRosters = Record<string, { members: WorkerRosterMember[] }>;
60
- /** Map of agent id -> workers.profiles key. Empty means no agent is pinned to a profile. */
61
- export type WorkerAgentBindings = Record<string, string>;
62
+ /** Map of native agent id -> fleet.profiles key. Empty means no agent is pinned to a profile. */
63
+ export type FleetAgentProfiles = Record<string, string>;
62
64
 
63
65
  /**
64
66
  * Non-stall posture for dispatched native workers. A worker tool call that
@@ -78,22 +80,31 @@ export interface WorkerEscalationSettings {
78
80
  fallback: "deny" | "fail";
79
81
  }
80
82
 
81
- export interface WorkersSettings {
83
+ export interface FleetPermissionsSettings {
84
+ mode: WorkerPermissionMode;
85
+ escalation: WorkerEscalationSettings;
86
+ }
87
+
88
+ export interface FleetRetrySettings {
89
+ maxRetries: number;
90
+ routeCooldownMs: number;
91
+ }
92
+
93
+ export interface FleetLimitsSettings {
94
+ toolCallsPerRun: number;
95
+ internalRunTimeoutMs: number;
96
+ }
97
+
98
+ export interface FleetHistorySettings {
99
+ maxRuns: number;
100
+ journal: boolean;
101
+ }
102
+
103
+ export interface FleetRouteSettings {
82
104
  default: WorkerTarget;
83
105
  profiles: WorkerProfiles;
84
106
  rosters: WorkerRosters;
85
- agentBindings: WorkerAgentBindings;
86
- /**
87
- * Bounded automatic retries for a dispatched worker run whose outcome is
88
- * retryable. 0 disables. This is the sole governor of a dispatch assignment's
89
- * retry chain; the unrelated top-level `retry` block governs the interactive
90
- * session's own provider calls.
91
- */
92
- maxRetries: number;
93
- onPermission: WorkerPermissionMode;
94
- /** Escalate-posture bounds; defaults 120000 ms with a deny fallback. */
95
- escalation?: WorkerEscalationSettings;
96
- resilienceCooldownMs?: number;
107
+ agentProfiles: FleetAgentProfiles;
97
108
  }
98
109
 
99
110
  /**
@@ -109,11 +120,9 @@ export interface WorkersSettings {
109
120
  * - threshold: context pressure (estimated_tokens / context_window, 0..1)
110
121
  * at which compaction acts: stale observations are masked first, and a
111
122
  * full LLM summary runs if pressure stays above the threshold.
112
- * - excludeLastTurns: number of recent user turns protected from
113
- * observation masking.
114
123
  * - model: optional pattern (e.g. "provider/summary-model-id") used to
115
- * resolve a dedicated summarization model. Falls back to the orchestrator
116
- * target when absent.
124
+ * resolve a dedicated summarization model. Falls back to the Chat target
125
+ * when absent.
117
126
  * - systemPrompt: optional path to a prompt-override file; resolved to
118
127
  * text at call time, not at settings load.
119
128
  */
@@ -125,6 +134,9 @@ export interface CompactionSettings {
125
134
  systemPrompt?: string;
126
135
  }
127
136
 
137
+ /** Durable v2 compaction settings. The legacy mask keeps its own compiled recent-turn fallback. */
138
+ export type DurableCompactionSettings = Omit<CompactionSettings, "excludeLastTurns">;
139
+
128
140
  /**
129
141
  * Working-set layer settings (`context.workingSet`). The layer decides which
130
142
  * tool-result bodies and thinking blocks leave the model's working set when
@@ -152,24 +164,51 @@ export interface WorkingSetSettings {
152
164
  }
153
165
 
154
166
  /**
155
- * Prompt pre-warm settings (`prewarm`). On a local server prefill is the cost,
167
+ * Prompt pre-warm (`chat.prewarm`). On a local server prefill is the cost,
156
168
  * and the prefix the next turn will send is fully known before the operator
157
169
  * types anything: at session start, after a resume rebuilds the message array,
158
170
  * and after a compaction settles. Clio sends that prefix to the backend right
159
171
  * then so the slot's prefix cache already holds it when the real turn arrives.
160
172
  *
161
- * - enabled: master switch. The feature is off on every tier but
173
+ * The boolean is the master switch. The feature is off on every tier but
162
174
  * `local-native` whatever this says, and off for workers and headless runs,
163
175
  * because it buys latency for an operator watching a local server.
164
176
  */
165
- export interface PrewarmSettings {
166
- enabled: boolean;
177
+ export interface PanesSettings {
178
+ /**
179
+ * Capability rung the pane layer may reach. `auto` takes guest mode when a
180
+ * pane host is detected; `embedded` asks Clio to own a private session, which
181
+ * degrades to none until that ships; `off` skips detection entirely.
182
+ */
183
+ enabled: "auto" | "embedded" | "off";
184
+ /** Which terminal run states raise a pane-host toast. */
185
+ notifications: "failures" | "all" | "off";
186
+ /**
187
+ * What composes itself at interactive boot in guest mode. `off` opens
188
+ * nothing (docks still open on demand); `workers` opens the workers dock;
189
+ * `cockpit` opens workers and files both.
190
+ */
191
+ layout: "off" | "workers" | "cockpit";
192
+ /** Workers dock: the live run viewer split right of the Clio pane. */
193
+ workers: {
194
+ /** Share of the width the dock takes, clamped to at most half. */
195
+ ratio: number;
196
+ };
197
+ /** File-pane round-trip settings read live for each explicit open. */
198
+ files: {
199
+ enabled: boolean;
200
+ mode: "companion" | "chooser";
201
+ profile: "managed" | "user";
202
+ followCwd: boolean;
203
+ /** Share of the height the files dock takes, clamped to at most half. */
204
+ ratio: number;
205
+ };
167
206
  }
168
207
 
169
208
  /**
170
209
  * Transient provider retry controls for the interactive chat loop. These are
171
210
  * intentionally small and mirror the session retry helper defaults. Dispatched
172
- * worker runs are governed by `workers.maxRetries` instead; the two never meet.
211
+ * worker runs are governed by `fleet.retry.maxRetries` instead; the two never meet.
173
212
  */
174
213
  export interface RetrySettings {
175
214
  enabled: boolean;
@@ -185,12 +224,12 @@ export type TuiMode = "regular" | "fullscreen";
185
224
  export type FullscreenScrollbar = "hidden" | "auto" | "always";
186
225
  export type SmoothStreaming = "off" | "auto" | "on";
187
226
 
188
- export interface TerminalSettings {
189
- showTerminalProgress: boolean;
227
+ export interface InterfaceSettings {
228
+ terminalProgress: boolean;
190
229
  /** Transcript detail: collapsed, balanced, or fully transparent. */
191
- outputVerbosity: OutputVerbosity;
230
+ outputDetail: OutputVerbosity;
192
231
  /** Regular scrollback-preserving renderer or alternate-screen sticky layout. */
193
- tuiMode: TuiMode;
232
+ mode: TuiMode;
194
233
  /** Fullscreen transcript scrollbar visibility. */
195
234
  fullscreenScrollbar: FullscreenScrollbar;
196
235
  /** Presentation-only pacing for streamed assistant text and thinking. */
@@ -200,7 +239,9 @@ export interface TerminalSettings {
200
239
  * and a parked approval. Interactive TTY runs only; headless, ACP, and
201
240
  * non-TTY runs never emit one.
202
241
  */
203
- notify: boolean;
242
+ desktopNotifications: boolean;
243
+ panes: PanesSettings;
244
+ keybindings: Record<string, string | string[]>;
204
245
  }
205
246
 
206
247
  /**
@@ -211,7 +252,7 @@ export interface TerminalSettings {
211
252
  * additionally fires the watchdog every N tool calls inside a turn, which is
212
253
  * how mid-turn scope drift becomes visible before the turn ends.
213
254
  */
214
- export interface WatchdogSettings {
255
+ export interface ReviewSettings {
215
256
  enabled: boolean;
216
257
  /** Target id the watchdog run is dispatched to; the session's active target when unset. */
217
258
  target?: string;
@@ -220,22 +261,24 @@ export interface WatchdogSettings {
220
261
  }
221
262
 
222
263
  export interface ModelSelectorSettings {
264
+ /** Exact target/model refs cycled by Alt+J/Alt+K. */
265
+ cycleSet: string[];
223
266
  /** Exact target/model refs shown in the focused model picker. */
224
267
  favorites: string[];
225
268
  /** Maximum number of recently selected target/model refs to retain. */
226
269
  recentLimit: number;
227
270
  }
228
271
 
229
- export interface SkillsSettings {
230
- trustProjectCompatRoots: boolean;
272
+ export interface ProjectResourcesSettings {
273
+ trustProjectImports: boolean;
231
274
  }
232
275
 
233
- export interface AttributionSettings {
276
+ export interface GitIntegrationSettings {
234
277
  /** Evidence-aware role trailers on commits created through Clio. */
235
- gitCommits: boolean;
278
+ commitAttribution: boolean;
236
279
  }
237
280
 
238
- export type DelegationToolGovernance = "clio-policy" | "agent-managed" | "deny-all";
281
+ export type DelegationToolGovernance = "clio-coder-policy" | "agent-managed" | "deny-all";
239
282
 
240
283
  /**
241
284
  * Application-level ACP request bounds. Unlike the separate stall watchdog,
@@ -280,8 +323,8 @@ export interface DelegationDefaults {
280
323
  toolGovernance: DelegationToolGovernance;
281
324
  }
282
325
 
283
- export interface DelegationSettings {
284
- agents: DelegationAgentConfig[];
326
+ export interface ExternalAgentsSettings {
327
+ entries: DelegationAgentConfig[];
285
328
  defaults: DelegationDefaults;
286
329
  }
287
330
 
@@ -315,8 +358,14 @@ export interface FleetNodeSettings {
315
358
  residency?: FleetNodeResidency;
316
359
  }
317
360
 
318
- export interface FleetSettings {
361
+ export interface FleetSettings extends FleetRouteSettings {
319
362
  nodes: FleetNodeSettings[];
363
+ adaptiveRouting: AdaptiveRoutingSettings;
364
+ permissions: FleetPermissionsSettings;
365
+ concurrency: "auto" | number;
366
+ retry: FleetRetrySettings;
367
+ limits: FleetLimitsSettings;
368
+ history: FleetHistorySettings;
320
369
  }
321
370
 
322
371
  /** Roles whose authority is narrow enough for Slice 9 active joint routing. */
@@ -335,53 +384,86 @@ export interface ActiveAgentRole {
335
384
  executionRole: ActiveAgentAutomationRole;
336
385
  }
337
386
 
338
- export interface AgentAutomationActivationSettings {
387
+ export interface AdaptiveRoutingSettings {
388
+ roles: ActiveRoutingRole[];
389
+ postures: ActiveRoutingPosture[];
339
390
  /** Exact pairs only; independent agent and role lists would authorize their cross-product. */
340
- activeAgentRoles: ActiveAgentRole[];
391
+ agentRoles: ActiveAgentRole[];
392
+ }
393
+
394
+ /** Compatibility type name for the dispatch planner; its fields are the canonical v2 fields. */
395
+ export type RoutingActivationSettings = AdaptiveRoutingSettings;
396
+
397
+ export interface ChatSettings extends WorkerTarget {
398
+ modelPicker: ModelSelectorSettings;
399
+ maxOutputTokens: number;
400
+ prewarm: boolean;
401
+ retry: RetrySettings;
402
+ }
403
+
404
+ export interface MemorySettings {
405
+ enabled: boolean;
406
+ target: string | null;
407
+ model: string | null;
408
+ cadenceToolCalls: number;
409
+ trajectorySteps: number;
410
+ maxOutputTokens: number;
411
+ timeoutMs: number;
341
412
  }
342
413
 
343
- export interface RoutingActivationSettings {
344
- activeRoles: ActiveRoutingRole[];
345
- activePostures: ActiveRoutingPosture[];
346
- agentAutomation: AgentAutomationActivationSettings;
414
+ export interface ContextSettings {
415
+ workingSet: WorkingSetSettings;
416
+ compaction: DurableCompactionSettings;
417
+ memory: MemorySettings;
418
+ }
419
+
420
+ export interface SafetySettings {
421
+ autonomy: AutonomyLevel;
422
+ limits: {
423
+ sessionCostUsd: number;
424
+ chatToolCallsPerTurn: number;
425
+ readBytesPerCall: number;
426
+ observationBytesPerTurn: number;
427
+ };
428
+ review: ReviewSettings;
429
+ }
430
+
431
+ export interface IntegrationsSettings {
432
+ projectResources: ProjectResourcesSettings;
433
+ externalAgents: ExternalAgentsSettings;
434
+ runtimePlugins: string[];
435
+ library: {
436
+ catalog: string | null;
437
+ remote: string | null;
438
+ confirmedRemote: string | null;
439
+ sync: boolean;
440
+ };
441
+ git: GitIntegrationSettings;
347
442
  }
348
443
 
349
444
  export const DEFAULT_SETTINGS = {
350
- version: 1 as const,
351
- autonomy: "auto-edit" as AutonomyLevel,
445
+ version: 2 as const,
352
446
  targets: [] as TargetDescriptor[],
353
- runtimePlugins: [] as string[],
354
- orchestrator: {
355
- target: null as string | null,
356
- model: null as string | null,
357
- thinkingLevel: "off" as ThinkingLevel,
358
- },
359
- // Optional small-model plane for task-memory maintenance. An unset target
360
- // keeps proactive memory in its deterministic rules-only tier.
361
- background: {
447
+ chat: {
362
448
  target: null as string | null,
363
449
  model: null as string | null,
364
450
  thinkingLevel: "off" as ThinkingLevel,
365
- },
366
- memory: {
367
- intervention: {
451
+ modelPicker: {
452
+ cycleSet: [] as string[],
453
+ favorites: [] as string[],
454
+ recentLimit: 12,
455
+ } as ModelSelectorSettings,
456
+ maxOutputTokens: 32768,
457
+ prewarm: true,
458
+ retry: {
368
459
  enabled: true,
369
- everyNTools: 10,
370
- windowSteps: 8,
371
- maxTokens: 400,
372
- // A memory step runs detached from the turn that triggered it, but it
373
- // runs on a real inference endpoint that the operator's own turns and
374
- // dispatched workers also queue against. The operator's ledger over 14
375
- // days recorded 60 llm-tier steps spending 1,666 seconds of model time
376
- // for 6 injections, with one step holding a local server for 102.5
377
- // seconds to answer nothing. The deadline is what a turn boundary can
378
- // actually wait for; a step that runs past it is recorded as timed out
379
- // rather than spending the remaining minutes unobserved.
380
- timeoutMs: 30_000,
381
- },
382
- },
383
- watchdog: { enabled: false } as WatchdogSettings,
384
- workers: {
460
+ maxRetries: 3,
461
+ baseDelayMs: 2000,
462
+ maxDelayMs: 60000,
463
+ streamStallMs: 180000,
464
+ } as RetrySettings,
465
+ } as ChatSettings,
466
+ fleet: {
385
467
  default: {
386
468
  target: null as string | null,
387
469
  model: null as string | null,
@@ -389,382 +471,160 @@ export const DEFAULT_SETTINGS = {
389
471
  } as WorkerTarget,
390
472
  profiles: {} as WorkerProfiles,
391
473
  rosters: {} as WorkerRosters,
392
- agentBindings: {} as WorkerAgentBindings,
393
- maxRetries: 2,
394
- onPermission: "deny" as WorkerPermissionMode,
395
- escalation: { timeoutMs: 120000, fallback: "deny" } as WorkerEscalationSettings,
396
- resilienceCooldownMs: 15000,
397
- } as WorkersSettings,
398
- fleet: {
474
+ agentProfiles: {} as FleetAgentProfiles,
399
475
  nodes: [] as FleetNodeSettings[],
400
- } as FleetSettings,
401
- routing: {
402
- activeRoles: [] as ActiveRoutingRole[],
403
- activePostures: [] as ActiveRoutingPosture[],
404
- agentAutomation: { activeAgentRoles: [] as ActiveAgentRole[] },
405
- } as RoutingActivationSettings,
406
- scope: [] as string[],
407
- modelSelector: {
408
- favorites: [] as string[],
409
- recentLimit: 12,
410
- } as ModelSelectorSettings,
411
- budget: {
412
- sessionCeilingUsd: 5,
476
+ adaptiveRouting: {
477
+ roles: [] as ActiveRoutingRole[],
478
+ postures: [] as ActiveRoutingPosture[],
479
+ agentRoles: [] as ActiveAgentRole[],
480
+ } as AdaptiveRoutingSettings,
481
+ permissions: {
482
+ mode: "deny" as WorkerPermissionMode,
483
+ escalation: { timeoutMs: 120000, fallback: "deny" } as WorkerEscalationSettings,
484
+ },
413
485
  concurrency: "auto" as "auto" | number,
414
- },
415
- defaults: {
416
- // Output tokens requested per turn, applied to every target. The value is
417
- // always clamped down to the model's known max-output cap and the
418
- // remaining context window at request time, so a model that supports less
419
- // automatically gets less. 0 disables the global default and falls back to
420
- // per-model caps only.
421
- maxTokens: 32768,
422
- },
423
- theme: "default",
424
- terminal: {
425
- showTerminalProgress: false,
426
- outputVerbosity: "default",
427
- tuiMode: "regular",
428
- fullscreenScrollbar: "auto",
429
- smoothStreaming: "off",
430
- notify: false,
431
- } as TerminalSettings,
432
- skills: {
433
- trustProjectCompatRoots: false,
434
- } as SkillsSettings,
435
- library: {
436
- catalog: null as string | null,
437
- remote: null as string | null,
438
- confirmedRemote: null as string | null,
439
- sync: false,
440
- },
441
- attribution: {
442
- gitCommits: true,
443
- } as AttributionSettings,
444
- delegation: {
445
- agents: [] as DelegationAgentConfig[],
446
- defaults: {
447
- connectTimeoutMs: DEFAULT_DELEGATION_CONNECT_TIMEOUT_MS,
448
- turnTimeoutMs: DEFAULT_DELEGATION_TURN_TIMEOUT_MS,
449
- permissionTimeoutMs: DEFAULT_DELEGATION_PERMISSION_TIMEOUT_MS,
450
- toolGovernance: "clio-policy" as DelegationToolGovernance,
486
+ retry: { maxRetries: 2, routeCooldownMs: 15000 },
487
+ limits: {
488
+ toolCallsPerRun: GUARDRAIL_DEFAULTS.workerToolCallCap,
489
+ internalRunTimeoutMs: GUARDRAIL_DEFAULTS.internalDispatchTimeoutMs,
451
490
  },
452
- } as DelegationSettings,
453
- // User keybinding overrides. Each id maps to a single KeyId string or a
454
- // list of KeyIds. The interactive keybinding manager reads this table
455
- // and layers it on top of CLIO_KEYBINDINGS defaults (src/domains/config/
456
- // keybindings.ts).
457
- keybindings: {} as Record<string, string | string[]>,
458
- compaction: {
459
- auto: true,
460
- threshold: 0.8,
461
- excludeLastTurns: 6,
462
- } as CompactionSettings,
491
+ history: { maxRuns: GUARDRAIL_DEFAULTS.maxDispatchRuns, journal: true },
492
+ } as FleetSettings,
463
493
  context: {
464
494
  workingSet: DEFAULT_WORKING_SET_SETTINGS,
465
- },
466
- prewarm: {
467
- enabled: true,
468
- } as PrewarmSettings,
469
- retry: {
470
- enabled: true,
471
- maxRetries: 3,
472
- baseDelayMs: 2000,
473
- maxDelayMs: 60000,
474
- streamStallMs: 180000,
475
- } as RetrySettings,
476
- // Numeric backstops that bound runaway agent behavior. Settings are the
477
- // primary home; each value also has a per-process env override for CI and
478
- // one-off experiments (core/guardrails.ts documents both).
479
- guardrails: { ...GUARDRAIL_DEFAULTS } as GuardrailValues,
495
+ compaction: {
496
+ auto: true,
497
+ threshold: 0.8,
498
+ } as DurableCompactionSettings,
499
+ memory: {
500
+ enabled: true,
501
+ target: null as string | null,
502
+ model: null as string | null,
503
+ cadenceToolCalls: 10,
504
+ trajectorySteps: 8,
505
+ maxOutputTokens: 2000,
506
+ timeoutMs: 60_000,
507
+ } as MemorySettings,
508
+ } as ContextSettings,
509
+ safety: {
510
+ autonomy: "auto-edit" as AutonomyLevel,
511
+ limits: {
512
+ sessionCostUsd: 5,
513
+ chatToolCallsPerTurn: GUARDRAIL_DEFAULTS.turnToolCallBudget,
514
+ readBytesPerCall: GUARDRAIL_DEFAULTS.readMaxBytes,
515
+ observationBytesPerTurn: GUARDRAIL_DEFAULTS.observationTurnBudgetBytes,
516
+ },
517
+ review: { enabled: false } as ReviewSettings,
518
+ } as SafetySettings,
519
+ interface: {
520
+ terminalProgress: false,
521
+ outputDetail: "default",
522
+ mode: "regular",
523
+ fullscreenScrollbar: "auto",
524
+ smoothStreaming: "off",
525
+ desktopNotifications: false,
526
+ panes: {
527
+ enabled: "off",
528
+ notifications: "failures",
529
+ layout: "off",
530
+ workers: { ratio: 0.34 },
531
+ files: {
532
+ enabled: false,
533
+ mode: "companion",
534
+ profile: "managed",
535
+ followCwd: true,
536
+ ratio: 0.3,
537
+ },
538
+ } as PanesSettings,
539
+ keybindings: {} as Record<string, string | string[]>,
540
+ } as InterfaceSettings,
541
+ integrations: {
542
+ projectResources: { trustProjectImports: false },
543
+ externalAgents: {
544
+ entries: [] as DelegationAgentConfig[],
545
+ defaults: {
546
+ connectTimeoutMs: DEFAULT_DELEGATION_CONNECT_TIMEOUT_MS,
547
+ turnTimeoutMs: DEFAULT_DELEGATION_TURN_TIMEOUT_MS,
548
+ permissionTimeoutMs: DEFAULT_DELEGATION_PERMISSION_TIMEOUT_MS,
549
+ toolGovernance: "clio-coder-policy" as DelegationToolGovernance,
550
+ },
551
+ } as ExternalAgentsSettings,
552
+ runtimePlugins: [] as string[],
553
+ library: {
554
+ catalog: null as string | null,
555
+ remote: null as string | null,
556
+ confirmedRemote: null as string | null,
557
+ sync: false,
558
+ },
559
+ git: { commitAttribution: true },
560
+ } as IntegrationsSettings,
480
561
  };
481
562
 
482
563
  export type DefaultSettings = typeof DEFAULT_SETTINGS;
483
564
 
484
565
  /**
485
566
  * Raw YAML document written to the resolved config directory's settings.yaml on
486
- * first install. Mirrors every field of DEFAULT_SETTINGS at the same key path
487
- * and carries fully commented example target blocks that a new user can
488
- * uncomment to point Clio Coder at a local llama-server or LM Studio.
567
+ * first install. Mirrors every field of DEFAULT_SETTINGS at the same key path.
489
568
  *
490
569
  * The settings file is machine-owned after this first write: programmatic
491
570
  * writers serialize the schema directly, and comments do not survive the
492
571
  * first programmatic write.
493
572
  */
494
573
  export const DEFAULT_SETTINGS_YAML = `# Clio Coder settings. Written once on first install.
495
- # The file is machine-owned: \`clio-coder configure\`, \`clio-coder targets\`, and the TUI
496
- # rewrite it whole, and comments (including these) do not survive that write.
574
+ # This file uses the version-2 human information architecture.
497
575
  # Docs: https://github.com/iowarp/clio-coder
498
- #
499
- # Default location:
500
- # Linux: ~/.config/clio-coder/settings.yaml
501
- # macOS: ~/Library/Application Support/clio-coder/config/settings.yaml
502
- # Windows: %APPDATA%/clio-coder/config/settings.yaml
503
- # Set CLIO_CODER_HOME for a single-tree install, or CLIO_CODER_CONFIG_DIR / CLIO_CODER_DATA_DIR /
504
- # CLIO_CODER_STATE_DIR / CLIO_CODER_CACHE_DIR to override each directory separately.
505
- #
506
- # Common first run after installation:
507
- # 1. Repair/create local state: clio-coder doctor --fix
508
- # 2. List runtimes: clio-coder configure --list
509
- # 3. Configure one target with your runtime/model (examples below).
510
- # 4. Select and probe it: clio-coder targets use <id> && clio-coder targets --probe
511
- # 5. Launch: clio-coder
512
-
513
- version: 1
514
- autonomy: auto-edit # read-only | suggest | auto-edit | full-auto
515
-
516
- # Inference targets. Each entry becomes selectable for chat and workers.
517
- # Add entries via \`clio-coder configure\` or \`clio-coder targets add\`
518
- # or hand-edit. \`runtime\` must match an id registered in the runtime registry
519
- # (cloud APIs, local HTTP engines, or third-party plugins in the \`runtimes/\`
520
- # directory next to this file).
576
+
577
+ version: 2
578
+
579
+ # Configured inference endpoints. Target descriptor leaves are unchanged in v2.
521
580
  targets: []
522
- # Local runtime examples (uncomment/adapt one; replace your-model-id):
523
- # clio-coder configure --id local-lmstudio --runtime lmstudio --url http://localhost:1234 --model your-model-id --set-orchestrator --set-fleet-default
524
- # clio-coder configure --id local-ollama --runtime ollama-native --url http://localhost:11434 --model your-model-id --set-orchestrator --set-fleet-default
525
- # clio-coder configure --id local-llamacpp --runtime llamacpp --url http://127.0.0.1:8080 --model your-model-id --set-orchestrator --set-fleet-default
526
- # clio-coder configure --id local-vllm --runtime vllm --url http://localhost:8000 --model your-model-id --set-orchestrator --set-fleet-default
527
- # clio-coder configure --id local-sglang --runtime sglang --url http://localhost:30000 --model your-model-id --set-orchestrator --set-fleet-default
528
- # Add --context-window <tokens>, --max-tokens <tokens>, or --reasoning true
529
- # only when you have runtime/model-specific values to override probe results.
530
- #
531
- # Example target block equivalent to one configured local runtime:
532
- # targets:
533
- # - id: local-lmstudio
534
- # runtime: lmstudio
535
- # url: http://localhost:1234
536
- # defaultModel: your-model-id
537
- # capabilities:
538
- # reasoning: true
539
-
540
- # Optional npm packages that export clioRuntimes: RuntimeDescriptor[].
541
- runtimePlugins: []
542
-
543
- # Orchestrator target for the interactive loop. \`target\` refers to
544
- # targets[].id; \`model\` is the wire model id to request.
545
- # Keep thinkingLevel off unless a target/model supports explicit reasoning levels.
546
- orchestrator:
547
- target: null
548
- model: null
549
- thinkingLevel: off
550
581
 
551
- # Optional background target for proactive task memory. Leave unset for the
552
- # zero-cost rules-only tier; setting it opts this session into LLM memory steps.
553
- background:
582
+ chat:
554
583
  target: null
555
584
  model: null
556
585
  thinkingLevel: off
557
-
558
- memory:
559
- intervention:
586
+ modelPicker:
587
+ cycleSet: []
588
+ favorites: []
589
+ recentLimit: 12
590
+ maxOutputTokens: 32768
591
+ prewarm: true
592
+ retry:
560
593
  enabled: true
561
- everyNTools: 10
562
- windowSteps: 8
563
- maxTokens: 400
564
- timeoutMs: 30000
565
-
566
- # Opt-in turn-end watchdog. When enabled, a turn that changed the tree is
567
- # reviewed by one read-only verifier run briefed with the turn's coalesced diff
568
- # and the task board's current scope; its blockers become one transcript notice
569
- # and nothing else. Set target to route the run at a cheap local model. Set
570
- # cadenceToolCalls to also fire every N tool calls inside a turn. Headless and
571
- # ACP runs never fire it.
572
- watchdog:
573
- enabled: false
574
- # target: local-lmstudio
575
- # cadenceToolCalls: 20
576
-
577
- # Worker targets for dispatch. \`default\` preserves the legacy behavior when a
578
- # recipe or request does not specify an override. \`profiles\` are named
579
- # target/model/thinking choices. \`agentBindings\` pins native Clio agents,
580
- # including shadow agents such as scout/researcher/provenance, to a profile.
581
- workers:
594
+ maxRetries: 3
595
+ baseDelayMs: 2000
596
+ maxDelayMs: 60000
597
+ streamStallMs: 180000
598
+
599
+ fleet:
582
600
  default:
583
601
  target: null
584
602
  model: null
585
603
  thinkingLevel: off
586
604
  profiles: {}
587
605
  rosters: {}
588
- # Example profile entry:
589
- # profiles:
590
- # fast-local:
591
- # target: local-lmstudio
592
- # model: your-model-id
593
- # thinkingLevel: off
594
- # agentBindings maps agent id -> profiles key, e.g. scout: fast-local.
595
- agentBindings: {}
596
- maxRetries: 2
597
- # onPermission: what a worker does when a tool call needs interactive
598
- # permission. "deny" turns it into a structured tool denial and the run
599
- # continues; "fail" finalizes the run as failed/permission_required;
600
- # "escalate" hands the ask to the interactive operator (timeout fallback
601
- # below keeps the run non-stall).
602
- onPermission: deny
603
- # escalation: bounds for the escalate posture. A parked ask with no operator
604
- # decision within timeoutMs applies the fallback deny/fail.
605
- escalation:
606
- timeoutMs: 120000
607
- fallback: deny
608
- resilienceCooldownMs: 15000
609
-
610
- # Fleet worker nodes reachable over SSH. The implicit \`local\` node always
611
- # exists and is never declared. A node becomes dispatch-eligible only after
612
- # \`clio-coder doctor\` verifies SSH reachability, a version-matched clio-coder, path
613
- # parity for the project root (shared filesystem), and a writable state dir.
614
- # residency defaults to observe: remote workers never evict models resident
615
- # on their node (set manage per node to opt into the reconciler).
616
- fleet:
606
+ agentProfiles: {}
607
+ adaptiveRouting:
608
+ roles: []
609
+ postures: []
610
+ agentRoles: []
617
611
  nodes: []
618
- # - id: node-a
619
- # host: node-a.example.net
620
- # user: me
621
- # identityFile: ~/.ssh/id_fleet
622
- # labels: [cpu]
623
- # maxWorkers: 2
624
- # - id: node-b
625
- # host: node-b.example.net
626
- # maxWorkers: 1
627
- # residency: observe
628
-
629
- # Joint route selection is shadow-only unless both the execution role and the
630
- # requested posture are named here. Manual pins remain exact and fail closed.
631
- routing:
632
- activeRoles: [] # researcher | verifier | reviewer | judge
633
- activePostures: [] # quality | balanced | latency | economy
634
- # Agent changes remain advisory unless the concrete agent/role pair appears
635
- # here. Exact pairs avoid implicitly approving an agents × roles cross-product.
636
- agentAutomation:
637
- activeAgentRoles: []
638
-
639
- # Alt+J / Alt+K cycling order: plain target ids or "target/model" refs.
640
- scope: []
641
-
642
- # /model focused picker. Favorites are exact "target/model" refs shown before
643
- # the full search catalog. Recently selected models are runtime state and live
644
- # in the state dir (recent-models.json), not in this file.
645
- modelSelector:
646
- favorites: []
647
- recentLimit: 12
648
-
649
- # Session budget guardrails.
650
- budget:
651
- sessionCeilingUsd: 5
652
- concurrency: auto # auto or a positive integer
653
-
654
- # Global request defaults applied to every target.
655
- # maxTokens output tokens requested per turn. Always clamped down to the
656
- # model's known max-output cap and the remaining context window,
657
- # so models that support less automatically get less. Set 0 to
658
- # fall back to per-model caps only.
659
- defaults:
660
- maxTokens: 32768
661
-
662
- theme: default
663
- terminal:
664
- # OSC 9;4 terminal progress badges are opt-in; some terminals surface these
665
- # in taskbars/tabs and keep them visible for long-running agent work.
666
- showTerminalProgress: false
667
- # Transcript detail: minimal, default, or verbose. Also changeable with /output.
668
- outputVerbosity: default
669
- # regular preserves terminal scrollback; fullscreen keeps the editor/footer
670
- # sticky above an independently scrollable alternate-screen transcript.
671
- tuiMode: regular
672
- # hidden, auto (visible while scrolling), or always in fullscreen mode.
673
- fullscreenScrollbar: auto
674
- # off preserves immediate 16ms coalescing; auto paces only on a capable,
675
- # accessibility-safe local TTY; on requests pacing but still honors stdout
676
- # backpressure. CLIO_CODER_SMOOTH_STREAM overrides this for one process.
677
- smoothStreaming: off
678
- # Content-free desktop notification (OSC 777, or OSC 9 on iTerm2, Windows
679
- # Terminal, and ConEmu) when a turn ends, a detached batch settles, or an
680
- # approval parks. Interactive TTY runs only; the body never carries prompt
681
- # text, file paths, or model output.
682
- notify: false
683
-
684
- # Skills are local prompt resources. Project-local compatibility roots such as
685
- # .agents/skills, .claude/skills, .codex/skills, .github/skills, and
686
- # .opencode/skills stay hidden from model invocation unless this is true or
687
- # CLIO_CODER_TRUST_PROJECT_SKILLS=1 is set for the process.
688
- skills:
689
- trustProjectCompatRoots: false
690
-
691
- # The private resource catalog stays local unless sync is explicitly enabled.
692
- library:
693
- catalog: null
694
- remote: null
695
- confirmedRemote: null
696
- sync: false
697
-
698
- # Evidence-aware Git commit provenance. The identity and trailer semantics are
699
- # compiled into Clio; this switch only enables or disables attribution.
700
- attribution:
701
- gitCommits: true
702
-
703
- # External coding agents that speak Agent Client Protocol v1 over stdio.
704
- # These are delegated harnesses, not model targets, so they stay outside
705
- # targets[], orchestrator, workers, and model pickers.
706
- delegation:
707
- defaults:
708
- connectTimeoutMs: ${DEFAULT_DELEGATION_CONNECT_TIMEOUT_MS}
709
- turnTimeoutMs: ${DEFAULT_DELEGATION_TURN_TIMEOUT_MS}
710
- permissionTimeoutMs: ${DEFAULT_DELEGATION_PERMISSION_TIMEOUT_MS}
711
- toolGovernance: clio-policy # clio-policy | agent-managed | deny-all
712
- agents: []
713
- # OpenCode native ACP:
714
- # - id: opencode
715
- # command: opencode
716
- # args: [acp, --cwd, .]
717
- # toolGovernance: clio-policy
718
- # labels:
719
- # specialty: coding
720
- #
721
- # Codex via an ACP adapter:
722
- # - id: codex
723
- # command: npx
724
- # args: [-y, "@agentclientprotocol/codex-acp"]
725
- # toolGovernance: clio-policy
726
- # labels:
727
- # specialty: coding
728
- #
729
- # Claude Code via its ACP adapter (runs on your Claude Pro/Max subscription;
730
- # the claude CLI has no ACP of its own, so this adapter bridges the Claude
731
- # Code SDK). Tool calls are gated by Clio safety under clio-policy; switch to
732
- # agent-managed to let Claude Code govern its own tools.
733
- # - id: claude-code
734
- # command: npx
735
- # args: [-y, "@zed-industries/claude-code-acp"]
736
- # toolGovernance: clio-policy
737
- # labels:
738
- # specialty: coding
739
-
740
- keybindings: {}
741
-
742
- # Context compaction controls.
743
- # auto master switch for the pre-request compaction trigger.
744
- # Manual /context compact always runs the LLM summary.
745
- # threshold pressure = estimated_tokens / context_window. Crossing
746
- # it evicts from the working set first, then runs a full
747
- # LLM summary if pressure stays above the threshold.
748
- # excludeLastTurns recent turns protected only by the temporary legacy mask.
749
- # model optional pattern (e.g. provider/summary-model-id) for a
750
- # dedicated summarization model. Absent ⇒ orchestrator target.
751
- # systemPrompt optional path to a prompt-override file.
752
- compaction:
753
- auto: true
754
- threshold: 0.8
755
- excludeLastTurns: 6
756
- # model: provider/summary-model-id
757
- # systemPrompt: ~/.config/clio-coder/prompts/compaction.md
758
-
759
- # Non-destructive working-set eviction before summary compaction.
760
- # enabled false skips eviction and goes directly to the summary stage.
761
- # policy structural-v1 evicts by what the session did since
762
- # (re-reads, edits, resolved failures, consumed listings)
763
- # and falls back to age only under pressure;
764
- # age-horizon is the previous age-based selection.
765
- # target pressure ratio an applied eviction batches down to.
766
- # protectLastTurns recent user turns whose observations remain in the working set.
767
- # minEvictableTokens entries below this estimate remain in the working set.
612
+ permissions:
613
+ mode: deny
614
+ escalation:
615
+ timeoutMs: 120000
616
+ fallback: deny
617
+ concurrency: auto
618
+ retry:
619
+ maxRetries: 2
620
+ routeCooldownMs: 15000
621
+ limits:
622
+ toolCallsPerRun: 150
623
+ internalRunTimeoutMs: 900000
624
+ history:
625
+ maxRuns: 1000
626
+ journal: true
627
+
768
628
  context:
769
629
  workingSet:
770
630
  enabled: true
@@ -772,46 +632,65 @@ context:
772
632
  target: 0.6
773
633
  protectLastTurns: 6
774
634
  minEvictableTokens: 200
775
-
776
- # Prompt pre-warm. At session start, after a resume rebuilds the message array,
777
- # and after a compaction settles, Clio sends the prefix the next turn would send
778
- # (minus your text) so a local server has already prefilled it when you press
779
- # Enter. Local-native targets only, interactive sessions only, and never while a
780
- # turn or a dispatch is running.
781
- prewarm:
782
- enabled: true
783
-
784
- # Transient provider/stream retry controls for interactive chat.
785
- # Retryable errors include overloads, rate limits, 5xx responses, network
786
- # resets, and timeouts. Context overflow uses compaction recovery instead.
787
- # Dispatched worker runs retry under workers.maxRetries, not this block.
788
- retry:
789
- enabled: true
790
- maxRetries: 3
791
- baseDelayMs: 2000
792
- maxDelayMs: 60000
793
- streamStallMs: 180000
794
-
795
- # Guardrails: numeric backstops that bound runaway agent behavior.
796
- # turnToolCallBudget orchestrator per-turn soft tool-call budget;
797
- # the hard interrupt ceiling sits 15 above it.
798
- # workerToolCallCap ceiling on tool calls a dispatched worker may
799
- # execute; the agent recipe's own budget is what
800
- # normally binds, and refused calls never spend it.
801
- # maxDispatchRuns dispatch run-ledger retention cap.
802
- # readMaxBytes per-call byte cap for the read tool.
803
- # observationTurnBudgetBytes shared per-turn byte pool for observation tools.
804
- # internalDispatchTimeoutMs wall-clock cap for one internal generator
805
- # dispatch (wiki documenter, bootstrap scout).
806
- # Each value also has a per-process env override (CLIO_CODER_TURN_TOOL_CALL_BUDGET,
807
- # CLIO_CODER_WORKER_TOOL_CALL_CAP, CLIO_CODER_MAX_DISPATCH_RUNS, CLIO_CODER_READ_MAX_BYTES,
808
- # CLIO_CODER_OBSERVATION_TURN_BUDGET_BYTES, CLIO_CODER_INTERNAL_DISPATCH_TIMEOUT_MS) meant
809
- # for CI and one-off experiments.
810
- guardrails:
811
- turnToolCallBudget: 60
812
- workerToolCallCap: 150
813
- maxDispatchRuns: 1000
814
- readMaxBytes: 51200
815
- observationTurnBudgetBytes: 196608
816
- internalDispatchTimeoutMs: 900000
635
+ compaction:
636
+ auto: true
637
+ threshold: 0.8
638
+ memory:
639
+ enabled: true
640
+ target: null
641
+ model: null
642
+ cadenceToolCalls: 10
643
+ trajectorySteps: 8
644
+ maxOutputTokens: 2000
645
+ timeoutMs: 60000
646
+
647
+ safety:
648
+ autonomy: auto-edit
649
+ limits:
650
+ sessionCostUsd: 5
651
+ chatToolCallsPerTurn: 60
652
+ readBytesPerCall: 51200
653
+ observationBytesPerTurn: 196608
654
+ review:
655
+ enabled: false
656
+
657
+ interface:
658
+ outputDetail: default
659
+ smoothStreaming: off
660
+ mode: regular
661
+ fullscreenScrollbar: auto
662
+ terminalProgress: false
663
+ desktopNotifications: false
664
+ panes:
665
+ enabled: off
666
+ notifications: failures
667
+ layout: off
668
+ workers:
669
+ ratio: 0.34
670
+ files:
671
+ enabled: false
672
+ mode: companion
673
+ profile: managed
674
+ followCwd: true
675
+ ratio: 0.3
676
+ keybindings: {}
677
+
678
+ integrations:
679
+ projectResources:
680
+ trustProjectImports: false
681
+ externalAgents:
682
+ entries: []
683
+ defaults:
684
+ connectTimeoutMs: 30000
685
+ turnTimeoutMs: 300000
686
+ permissionTimeoutMs: 120000
687
+ toolGovernance: clio-coder-policy
688
+ runtimePlugins: []
689
+ library:
690
+ catalog: null
691
+ remote: null
692
+ confirmedRemote: null
693
+ sync: false
694
+ git:
695
+ commitAttribution: true
817
696
  `;