@iowarp/clio-coder 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (604) hide show
  1. package/CHANGELOG.md +127 -0
  2. package/CONTRIBUTING.md +142 -52
  3. package/README.md +434 -473
  4. package/SECURITY.md +2 -1
  5. package/dist/{acp-ZILU3AUO.js → acp-H2NGRPWO.js} +12 -12
  6. package/dist/{agents-HYWGBGQR.js → agents-TL5LLUQP.js} +56 -55
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-N3QT7CBO.js → auth-E5SW4HMS.js} +23 -21
  9. package/dist/builtins-IA7V7FUC.js +22 -0
  10. package/dist/{chunk-7RY5VZPH.js → chunk-2APPQIER.js} +8 -8
  11. package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
  12. package/dist/{chunk-JA5QWE4Z.js → chunk-2UG5F4C5.js} +1973 -1664
  13. package/dist/{chunk-5YHDIDBP.js → chunk-2UH2KFUP.js} +2 -2
  14. package/dist/{chunk-CTJ4RNAA.js → chunk-2VIKGWFZ.js} +2 -2
  15. package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
  16. package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
  17. package/dist/chunk-3EBYEESD.js +314 -0
  18. package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
  19. package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
  20. package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
  21. package/dist/chunk-4UVU7BJ5.js +39 -0
  22. package/dist/{chunk-VKRH2TCS.js → chunk-4WR7VSYB.js} +2 -2
  23. package/dist/{chunk-BBTJOK6Y.js → chunk-54CBCGIR.js} +5 -5
  24. package/dist/{chunk-AP73CFDC.js → chunk-5ICU3EUH.js} +2 -2
  25. package/dist/chunk-5MEZN6CB.js +1334 -0
  26. package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
  27. package/dist/{chunk-ABLSQ6JX.js → chunk-64I3JVYM.js} +8 -2
  28. package/dist/{chunk-AFKWHWXF.js → chunk-6PTFB5VS.js} +39 -22
  29. package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
  30. package/dist/chunk-7DRAWPTZ.js +360 -0
  31. package/dist/chunk-7E7I3WLS.js +3762 -0
  32. package/dist/{chunk-BJGUKIG4.js → chunk-7ZYNNDKC.js} +7 -7
  33. package/dist/{chunk-XKA2ICR3.js → chunk-AF4YM7Z4.js} +652 -252
  34. package/dist/{chunk-GVQJ5CCZ.js → chunk-AX2THNSA.js} +12 -12
  35. package/dist/{chunk-IG7BCQBA.js → chunk-B4OAX3SI.js} +65 -3
  36. package/dist/{chunk-TD3PGPQA.js → chunk-B4VEBZKF.js} +3 -3
  37. package/dist/{chunk-74YWRRU5.js → chunk-BEPZRGGU.js} +10 -10
  38. package/dist/{chunk-FEFIFZTL.js → chunk-CE5AX47J.js} +2 -2
  39. package/dist/{chunk-UAPGZHYC.js → chunk-DWUOQKRU.js} +25 -11
  40. package/dist/{chunk-THYWACCR.js → chunk-E3TPLWFX.js} +3 -3
  41. package/dist/{chunk-7EPLI7VL.js → chunk-EKCHAPYA.js} +2 -2
  42. package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
  43. package/dist/{chunk-PJJ6MY27.js → chunk-F5JHEYZM.js} +7 -7
  44. package/dist/{chunk-6CCS4G3W.js → chunk-FTMGRKEF.js} +3 -3
  45. package/dist/{chunk-SINK3QR6.js → chunk-G76U63X4.js} +17 -17
  46. package/dist/{chunk-EIMVLWB3.js → chunk-GHS5EBTQ.js} +64 -9
  47. package/dist/{chunk-QMXC4JB7.js → chunk-GI7YYQ3F.js} +187 -1419
  48. package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
  49. package/dist/{chunk-6HMJX2VU.js → chunk-GWZNEVM2.js} +44 -12
  50. package/dist/chunk-GYV6VZOC.js +26 -0
  51. package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
  52. package/dist/{chunk-UXN6JT4W.js → chunk-HEQY7ZFI.js} +3 -3
  53. package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
  54. package/dist/{chunk-GCSMB2KY.js → chunk-I7ZPNEJM.js} +145 -102
  55. package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
  56. package/dist/{chunk-QTFGO774.js → chunk-IGLP3ODT.js} +29 -16
  57. package/dist/chunk-IJNZMHLA.js +101 -0
  58. package/dist/{chunk-BDPT6GTK.js → chunk-INY6HTFL.js} +7 -7
  59. package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
  60. package/dist/{chunk-6NJQITNH.js → chunk-IWT4SF4R.js} +6 -3
  61. package/dist/{chunk-R23Z6K6I.js → chunk-JDAY6FIL.js} +19 -19
  62. package/dist/chunk-JEQ3XTHC.js +42 -0
  63. package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
  64. package/dist/{chunk-TVH4ONAM.js → chunk-JKKCYP3C.js} +10 -10
  65. package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
  66. package/dist/{chunk-C537JADH.js → chunk-KK4JZPBQ.js} +19 -141
  67. package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
  68. package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
  69. package/dist/{chunk-6DWBAZ5U.js → chunk-L47TF46W.js} +5 -7
  70. package/dist/{chunk-HUAS7ITX.js → chunk-LDJG7DW3.js} +91 -42
  71. package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
  72. package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
  73. package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
  74. package/dist/{chunk-VKFQTNDV.js → chunk-MUW2BDDH.js} +4 -4
  75. package/dist/{chunk-E67WX76H.js → chunk-MWUZBSAQ.js} +104 -152
  76. package/dist/{chunk-OJTRZGR3.js → chunk-N2Z7HLVY.js} +21 -21
  77. package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
  78. package/dist/{chunk-FYUN5KZ3.js → chunk-NIQJ66N4.js} +21 -21
  79. package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
  80. package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
  81. package/dist/{chunk-VEGN6WIQ.js → chunk-O5CVSAG5.js} +3 -3
  82. package/dist/{chunk-MOPSG2X7.js → chunk-OML5D5V5.js} +8 -8
  83. package/dist/{chunk-2VG7KLYV.js → chunk-PAJQJ7BS.js} +5816 -3255
  84. package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
  85. package/dist/{chunk-BTGG6BG2.js → chunk-QWGDJJYJ.js} +158 -19
  86. package/dist/chunk-R6Q67RJH.js +134 -0
  87. package/dist/{chunk-ZJLUDYFY.js → chunk-RRNP2ANY.js} +6 -6
  88. package/dist/{chunk-PVAMAVBB.js → chunk-RSJ25QSL.js} +102 -2
  89. package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
  90. package/dist/chunk-SKHCAU7K.js +385 -0
  91. package/dist/chunk-SZAA6XDG.js +30 -0
  92. package/dist/{chunk-J4HBWF6Y.js → chunk-TM6LQDI3.js} +131 -28
  93. package/dist/chunk-UOIZ7DA4.js +41 -0
  94. package/dist/{chunk-MA3H6DM5.js → chunk-UPZU6GE4.js} +25 -3
  95. package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
  96. package/dist/{chunk-N5UK64DP.js → chunk-V2ANDPVT.js} +4 -4
  97. package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
  98. package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
  99. package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
  100. package/dist/{chunk-QKIFBZKT.js → chunk-VW6DOEDG.js} +497 -81
  101. package/dist/{chunk-SCYB3HA4.js → chunk-W6RRQCPQ.js} +63 -19
  102. package/dist/{chunk-2NM363SV.js → chunk-WBKFA554.js} +10 -10
  103. package/dist/{chunk-R32CLGZ6.js → chunk-WCXUNS7U.js} +82 -21
  104. package/dist/{chunk-GPPB3JBE.js → chunk-WRBAGUNF.js} +3 -3
  105. package/dist/{chunk-IXJT6DCX.js → chunk-XIVNBFZS.js} +85 -30
  106. package/dist/{chunk-UEDMSP56.js → chunk-XPWWI35G.js} +417 -201
  107. package/dist/chunk-XRZT5WY5.js +47 -0
  108. package/dist/{chunk-3QSOM6PA.js → chunk-Y3CBHOR6.js} +2 -2
  109. package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
  110. package/dist/{chunk-AKB4GYDL.js → chunk-YQWYVTMC.js} +5 -5
  111. package/dist/{chunk-6I5ILFOF.js → chunk-ZA4VCIGV.js} +3 -3
  112. package/dist/{chunk-7OBGU7UB.js → chunk-ZDN3Y73Y.js} +12 -18
  113. package/dist/{chunk-3I5NY75V.js → chunk-ZWPRK62N.js} +8 -5
  114. package/dist/cli/index.js +41 -39
  115. package/dist/{clio-IT3G3VQH.js → clio-CMMK4KRR.js} +9 -9
  116. package/dist/{code-nav-RK6S7F6E.js → code-nav-MDZNQS33.js} +89 -21
  117. package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
  118. package/dist/{config-3QZRWZJF.js → config-SVM5P5YI.js} +131 -84
  119. package/dist/{configure-FL7Y3KJF.js → configure-LE3IK2TJ.js} +28 -26
  120. package/dist/{context-5HE7ODYK.js → context-2OHRKS42.js} +69 -64
  121. package/dist/{context-KYQFRVDC.js → context-E3VC7RX5.js} +15 -11
  122. package/dist/{context-XNHL75JV.js → context-VNCR7KAG.js} +93 -65
  123. package/dist/{context-clear-N545L53A.js → context-clear-BW4O37TG.js} +64 -60
  124. package/dist/context-map-COB37XXN.js +505 -0
  125. package/dist/{context-working-set-QHKXSV2F.js → context-working-set-VDS25HXZ.js} +19 -18
  126. package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-5AHT53RF.js} +93 -82
  127. package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
  128. package/dist/{doctor-ZGPEGHIP.js → doctor-WNNVO6FY.js} +48 -47
  129. package/dist/{eval-GXLL44RD.js → eval-7G7SGAYO.js} +287 -115
  130. package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-Y6QRFOH5.js} +4 -4
  131. package/dist/{evidence-HWLBRH3Q.js → evidence-VD6736FQ.js} +67 -64
  132. package/dist/{evolve-FTZBMNVW.js → evolve-AL3NGVRL.js} +65 -62
  133. package/dist/{extensions-VHRBEID7.js → extensions-MOVJ32NM.js} +9 -7
  134. package/dist/{fleet-CKZHJWZJ.js → fleet-QZHUMAGI.js} +114 -111
  135. package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-BAYT5FJZ.js} +10 -10
  136. package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-IREVMRU4.js} +7 -6
  137. package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-YCTT3HTI.js} +22 -19
  138. package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-QVJTDAVB.js} +58 -55
  139. package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-25QAFPK4.js} +4 -4
  140. package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-5O57AAJ7.js} +26 -23
  141. package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-CPH2W2T6.js} +59 -56
  142. package/dist/{fleet-view-WAMJYNDT.js → fleet-view-SWBR3VGQ.js} +58 -55
  143. package/dist/{init-5XQRBOFV.js → init-J477LKZH.js} +82 -79
  144. package/dist/{interop-34TVO25M.js → interop-3FCM6XLG.js} +11 -11
  145. package/dist/{library-3QY6KF57.js → library-QUQEIUG6.js} +30 -27
  146. package/dist/{memory-L4UTIIIW.js → memory-SGGSEP65.js} +67 -64
  147. package/dist/{models-ZVX3QOWE.js → models-HEKUAXXK.js} +53 -46
  148. package/dist/{monitor-CEKVSYTS.js → monitor-HKU57TYQ.js} +63 -60
  149. package/dist/{orchestrator-77BAP6BC.js → orchestrator-VDFAEFAI.js} +1831 -1057
  150. package/dist/{panes-7STHOAUJ.js → panes-DN2SSFOH.js} +5 -5
  151. package/dist/{panes-SHAUIRXY.js → panes-TALGNPZT.js} +29 -14
  152. package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
  153. package/dist/reset-EAJFFJVB.js +344 -0
  154. package/dist/{resources-74GKTLSF.js → resources-OVKSEFVE.js} +29 -20
  155. package/dist/{run-HBAUJNNZ.js → run-7DP7ZF2J.js} +120 -115
  156. package/dist/{share-G3APVLVP.js → share-WML67FT3.js} +32 -27
  157. package/dist/{skills-35HHUKCR.js → skills-SG662R2K.js} +41 -31
  158. package/dist/{skills-eval-QN4HSHDC.js → skills-eval-VVZEUU46.js} +78 -77
  159. package/dist/{skills-inventory-J357J34F.js → skills-inventory-I2E23GET.js} +23 -20
  160. package/dist/{slash-commands-JZZCQA32.js → slash-commands-S7MBJDQK.js} +40 -36
  161. package/dist/{steer-XAVHJM22.js → steer-2LQOMCPB.js} +3 -3
  162. package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
  163. package/dist/{targets-DSM6CY3M.js → targets-4QC3HIEW.js} +54 -54
  164. package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-TUHIJ6Y2.js} +5 -5
  165. package/dist/{tools-MKNWVPBH.js → tools-TFGJICCU.js} +10 -10
  166. package/dist/{trace-ECQ7TIYZ.js → trace-FXMXUZUF.js} +55 -7
  167. package/dist/uninstall-5PEVOE5B.js +408 -0
  168. package/dist/upgrade-M4WXY6KN.js +303 -0
  169. package/dist/{usage-X52N3IDJ.js → usage-N7ZNVLEM.js} +151 -104
  170. package/dist/{verifiers-EJTVVSMA.js → verifiers-DJTP4XX6.js} +15 -15
  171. package/dist/{verify-YJL6XET2.js → verify-RWE4PPEK.js} +9 -9
  172. package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
  173. package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-C7IQOXSP.js} +89 -86
  174. package/dist/{with-panes-OBOBFIIR.js → with-panes-4GCGSL7J.js} +53 -257
  175. package/dist/worker/entry.js +90 -74
  176. package/docs/README.md +176 -81
  177. package/docs/{acp.md → architecture/acp.md} +36 -20
  178. package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
  179. package/docs/{architecture.md → architecture/architecture.md} +43 -22
  180. package/docs/{artifact-placement.md → architecture/artifact-placement.md} +27 -23
  181. package/docs/architecture/artifact-versions.md +90 -0
  182. package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
  183. package/docs/{context-engine.md → architecture/context-engine.md} +29 -25
  184. package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
  185. package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
  186. package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
  187. package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
  188. package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
  189. package/docs/{model-catalog.md → architecture/model-catalog.md} +61 -27
  190. package/docs/{observability.md → architecture/observability.md} +38 -14
  191. package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
  192. package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +57 -20
  193. package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +99 -25
  194. package/docs/{safety-model.md → architecture/safety-model.md} +35 -20
  195. package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
  196. package/docs/architecture/time-conventions.md +125 -0
  197. package/docs/{trace-store.md → architecture/trace-store.md} +13 -5
  198. package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
  199. package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
  200. package/docs/{built-in-agents.md → guide/built-in-agents.md} +65 -35
  201. package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +66 -61
  202. package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -297
  203. package/docs/guide/configuration-reference.md +1163 -0
  204. package/docs/{environment-variables.md → guide/environment-variables.md} +33 -28
  205. package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
  206. package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
  207. package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
  208. package/docs/{glossary.md → guide/glossary.md} +14 -11
  209. package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +81 -17
  210. package/docs/guide/panes-and-files.md +290 -0
  211. package/docs/{proactive-memory.md → guide/proactive-memory.md} +131 -107
  212. package/docs/{resource-library.md → guide/resource-library.md} +13 -4
  213. package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +25 -3
  214. package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
  215. package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
  216. package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
  217. package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
  218. package/docs/process/development-pipeline.md +152 -0
  219. package/docs/process/documentation-coverage.md +100 -0
  220. package/docs/process/documentation-guide.md +187 -0
  221. package/docs/{eval-runner.md → process/eval-runner.md} +108 -53
  222. package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
  223. package/docs/{evolution.md → process/evolution.md} +2 -2
  224. package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +11 -7
  225. package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
  226. package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
  227. package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
  228. package/evals/README.md +2 -2
  229. package/evals/behavioral-model.yaml +3 -2
  230. package/package.json +10 -8
  231. package/skills/README.md +52 -41
  232. package/skills/coding/ast-grep/SKILL.md +102 -31
  233. package/skills/coding/ast-grep/evals.md +26 -0
  234. package/skills/coding/coding-standards/SKILL.md +41 -6
  235. package/skills/coding/coding-standards/evals.md +23 -0
  236. package/skills/coding/prototype/SKILL.md +88 -29
  237. package/skills/coding/prototype/evals.md +19 -0
  238. package/skills/coding/tdd/SKILL.md +81 -54
  239. package/skills/coding/tdd/evals.md +20 -0
  240. package/skills/context/context-handoff/SKILL.md +44 -3
  241. package/skills/context/context-handoff/evals.md +44 -0
  242. package/skills/context/context-prime/SKILL.md +46 -16
  243. package/skills/context/context-prime/evals.md +45 -0
  244. package/skills/git/branch-closeout/SKILL.md +132 -0
  245. package/skills/git/branch-closeout/evals.md +133 -0
  246. package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
  247. package/skills/git/file-ticket/SKILL.md +78 -64
  248. package/skills/git/file-ticket/assets/issue-template.md +22 -0
  249. package/skills/git/file-ticket/evals.md +31 -26
  250. package/skills/git/file-ticket/references/issue-discovery.md +49 -0
  251. package/skills/git/fix-issue/SKILL.md +88 -65
  252. package/skills/git/fix-issue/evals.md +35 -31
  253. package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
  254. package/skills/git/resolve-merge-conflicts/SKILL.md +101 -52
  255. package/skills/git/resolve-merge-conflicts/evals.md +52 -25
  256. package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
  257. package/skills/git/ship/SKILL.md +103 -67
  258. package/skills/git/ship/assets/pr-template.md +21 -0
  259. package/skills/git/ship/evals.md +44 -28
  260. package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
  261. package/skills/git/worktree-create/SKILL.md +80 -50
  262. package/skills/git/worktree-create/evals.md +40 -33
  263. package/skills/git/worktree-create/references/worktree-setup.md +62 -66
  264. package/skills/git/worktree-merge/SKILL.md +112 -65
  265. package/skills/git/worktree-merge/evals.md +42 -34
  266. package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
  267. package/skills/meta/clio-coder-dev/SKILL.md +9 -5
  268. package/skills/meta/clio-coder-dev/evals.md +3 -2
  269. package/skills/meta/clio-coder-test/SKILL.md +102 -95
  270. package/skills/meta/clio-coder-test/evals.md +9 -4
  271. package/skills/meta/clio-coder-test/references/harness.md +100 -124
  272. package/skills/meta/clio-coder-test/references/test-map.md +77 -50
  273. package/skills/meta/credentials/SKILL.md +2 -2
  274. package/skills/meta/find-skills/SKILL.md +2 -2
  275. package/skills/meta/herdr/SKILL.md +2 -2
  276. package/skills/meta/skill-craft/SKILL.md +22 -16
  277. package/skills/planning/archify/SKILL.md +196 -0
  278. package/skills/planning/archify/evals.md +65 -0
  279. package/skills/planning/architecture/SKILL.md +62 -13
  280. package/skills/planning/architecture/evals.md +65 -0
  281. package/skills/planning/backlog/SKILL.md +131 -15
  282. package/skills/planning/backlog/evals.md +142 -0
  283. package/skills/planning/prd/SKILL.md +47 -7
  284. package/skills/planning/prd/evals.md +54 -0
  285. package/skills/planning/product-intent/SKILL.md +58 -3
  286. package/skills/planning/product-intent/evals.md +70 -0
  287. package/skills/planning/tech-spec/SKILL.md +54 -3
  288. package/skills/planning/tech-spec/evals.md +73 -0
  289. package/skills/registry.yaml +70 -62
  290. package/skills/remote.yaml +13 -0
  291. package/skills/research/arxiv-literature/SKILL.md +77 -19
  292. package/skills/research/arxiv-literature/evals.md +50 -0
  293. package/skills/research/experiment-protocol/SKILL.md +21 -2
  294. package/skills/research/experiment-protocol/evals.md +23 -0
  295. package/skills/research/scientific-debugging/SKILL.md +24 -2
  296. package/skills/research/scientific-debugging/evals.md +18 -0
  297. package/skills/research/scientific-modernization/SKILL.md +27 -2
  298. package/skills/research/scientific-modernization/evals.md +27 -0
  299. package/skills/skill-marketplace.json +97 -62
  300. package/skills/workflow/cut-it/SKILL.md +66 -6
  301. package/skills/workflow/cut-it/evals.md +101 -0
  302. package/skills/workflow/design-council/SKILL.md +118 -28
  303. package/skills/workflow/design-council/evals.md +161 -0
  304. package/skills/workflow/grill-me/SKILL.md +87 -11
  305. package/skills/workflow/grill-me/evals.md +153 -0
  306. package/skills/workflow/workflow-distiller/SKILL.md +77 -18
  307. package/skills/workflow/workflow-distiller/evals.md +118 -0
  308. package/src/cli/args.ts +2 -2
  309. package/src/cli/bootstrap-generate.ts +1 -1
  310. package/src/cli/config-inspect.ts +65 -12
  311. package/src/cli/configure-interop.ts +105 -13
  312. package/src/cli/configure-oauth.ts +57 -0
  313. package/src/cli/configure-onboarding.ts +980 -0
  314. package/src/cli/configure-target.ts +594 -0
  315. package/src/cli/configure.ts +1082 -532
  316. package/src/cli/context-map.ts +114 -0
  317. package/src/cli/context.ts +4 -0
  318. package/src/cli/docs.ts +22 -14
  319. package/src/cli/doctor-naming.ts +5 -5
  320. package/src/cli/doctor-toolchain.ts +3 -3
  321. package/src/cli/eval.ts +1 -2
  322. package/src/cli/extensions.ts +2 -1
  323. package/src/cli/fleet.ts +1 -1
  324. package/src/cli/index.ts +3 -1
  325. package/src/cli/internal-dispatch.ts +3 -4
  326. package/src/cli/lifecycle-presenter.ts +436 -0
  327. package/src/cli/models.ts +10 -2
  328. package/src/cli/modes/print.ts +5 -1
  329. package/src/cli/panes.ts +19 -5
  330. package/src/cli/reset.ts +228 -106
  331. package/src/cli/run.ts +9 -4
  332. package/src/cli/select.ts +664 -0
  333. package/src/cli/share.ts +5 -1
  334. package/src/cli/skills-eval.ts +3 -3
  335. package/src/cli/skills.ts +9 -2
  336. package/src/cli/targets.ts +5 -6
  337. package/src/cli/trace.ts +55 -4
  338. package/src/cli/uninstall.ts +233 -165
  339. package/src/cli/upgrade.ts +204 -149
  340. package/src/cli/usage.ts +86 -27
  341. package/src/cli/validate-model.ts +3 -3
  342. package/src/cli/wiki-generate.ts +1 -1
  343. package/src/core/artifact-paths.ts +1 -1
  344. package/src/core/bash-exec.ts +131 -86
  345. package/src/core/bus-events.ts +51 -6
  346. package/src/core/config.ts +61 -1
  347. package/src/core/defaults.ts +7 -4
  348. package/src/core/dispatch-outcome.ts +16 -0
  349. package/src/core/external-diagnostic.ts +44 -0
  350. package/src/core/gateway-routing.ts +157 -0
  351. package/src/core/guardrails.ts +10 -49
  352. package/src/core/prompt-hint.ts +9 -0
  353. package/src/core/safe-exec.ts +17 -2
  354. package/src/core/skill-activation.ts +89 -2
  355. package/src/domains/agents/builtins/architect.md +2 -3
  356. package/src/domains/agents/builtins/coder.md +3 -2
  357. package/src/domains/agents/builtins/debugger.md +2 -2
  358. package/src/domains/agents/builtins/documenter.md +2 -2
  359. package/src/domains/agents/builtins/git-master.md +1 -1
  360. package/src/domains/agents/builtins/oracle.md +1 -1
  361. package/src/domains/agents/builtins/provenance.md +1 -1
  362. package/src/domains/agents/builtins/researcher.md +1 -1
  363. package/src/domains/agents/builtins/scout.md +1 -1
  364. package/src/domains/agents/builtins/tester.md +2 -2
  365. package/src/domains/agents/builtins/verifier.md +2 -2
  366. package/src/domains/agents/builtins/wiki-writer.md +1 -1
  367. package/src/domains/agents/builtins/world-knowledge.md +31 -0
  368. package/src/domains/agents/catalog.ts +13 -15
  369. package/src/domains/agents/contract.ts +2 -0
  370. package/src/domains/agents/extension.ts +23 -1
  371. package/src/domains/agents/result-contract.ts +70 -0
  372. package/src/domains/config/keybindings.ts +8 -0
  373. package/src/domains/context/extension.ts +0 -3
  374. package/src/domains/context/wiki/map-seed.ts +589 -0
  375. package/src/domains/context/wiki/plan.ts +2 -2
  376. package/src/domains/context/working-set/path-index.ts +1 -0
  377. package/src/domains/dispatch/admission.ts +29 -0
  378. package/src/domains/dispatch/agent-candidates.ts +10 -0
  379. package/src/domains/dispatch/budget-envelope.ts +86 -1
  380. package/src/domains/dispatch/capability-match.ts +11 -0
  381. package/src/domains/dispatch/capacity-lease.ts +17 -0
  382. package/src/domains/dispatch/contract.ts +11 -1
  383. package/src/domains/dispatch/extension.ts +237 -49
  384. package/src/domains/dispatch/host-verification.ts +435 -39
  385. package/src/domains/dispatch/intent-requirements.ts +10 -0
  386. package/src/domains/dispatch/intent.ts +18 -1
  387. package/src/domains/dispatch/path-scope.ts +235 -24
  388. package/src/domains/dispatch/run-event-journal.ts +4 -15
  389. package/src/domains/dispatch/state.ts +2 -3
  390. package/src/domains/dispatch/transport.ts +45 -21
  391. package/src/domains/dispatch/types.ts +58 -3
  392. package/src/domains/dispatch/worker-model-metadata.ts +38 -0
  393. package/src/domains/eval/artifacts/store.ts +5 -0
  394. package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
  395. package/src/domains/eval/metrics/token-stream.ts +201 -31
  396. package/src/domains/eval/metrics/tracked.ts +40 -4
  397. package/src/domains/eval/runners/clio-run.ts +5 -2
  398. package/src/domains/eval/schema/suite.ts +28 -0
  399. package/src/domains/eval/schema/verdict.ts +2 -2
  400. package/src/domains/eval/store.ts +8 -1
  401. package/src/domains/eval/suites/resolve.ts +13 -1
  402. package/src/domains/eval/suites/run.ts +24 -3
  403. package/src/domains/evidence/trust-status.ts +10 -1
  404. package/src/domains/extensions/contract.ts +15 -1
  405. package/src/domains/extensions/discovery.ts +238 -41
  406. package/src/domains/extensions/extension.ts +105 -6
  407. package/src/domains/extensions/index.ts +24 -0
  408. package/src/domains/extensions/integrity.ts +189 -0
  409. package/src/domains/extensions/manager.ts +17 -1
  410. package/src/domains/extensions/resource-path.ts +27 -0
  411. package/src/domains/extensions/resources.ts +18 -38
  412. package/src/domains/extensions/snapshot-store.ts +39 -0
  413. package/src/domains/extensions/snapshot.ts +180 -0
  414. package/src/domains/extensions/state.ts +385 -57
  415. package/src/domains/extensions/types.ts +118 -1
  416. package/src/domains/interop/registry.ts +6 -2
  417. package/src/domains/interop/types.ts +4 -0
  418. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
  419. package/src/domains/lifecycle/migrations/index.ts +6 -0
  420. package/src/domains/lifecycle/naming-resources.ts +19 -4
  421. package/src/domains/lifecycle/naming-yazi.ts +10 -5
  422. package/src/domains/memory/task-memory-policy.ts +70 -26
  423. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  424. package/src/domains/middleware/contract.ts +26 -0
  425. package/src/domains/middleware/extension.ts +24 -24
  426. package/src/domains/middleware/hook-receipts.ts +27 -4
  427. package/src/domains/middleware/hooks-io.ts +65 -32
  428. package/src/domains/middleware/hooks.ts +64 -0
  429. package/src/domains/middleware/index.ts +28 -5
  430. package/src/domains/middleware/marketplace-offer.ts +3 -35
  431. package/src/domains/middleware/memory-intervention.ts +127 -32
  432. package/src/domains/middleware/memory-step-endpoint.ts +3 -2
  433. package/src/domains/middleware/registrations.ts +326 -0
  434. package/src/domains/middleware/runtime.ts +28 -0
  435. package/src/domains/middleware/skills-reminder.ts +31 -2
  436. package/src/domains/middleware/snapshot.ts +20 -7
  437. package/src/domains/mux/contract.ts +38 -0
  438. package/src/domains/mux/detect.ts +6 -13
  439. package/src/domains/mux/index.ts +1 -1
  440. package/src/domains/mux/operations.ts +44 -5
  441. package/src/domains/mux/yazi/assets/yazi.toml +2 -2
  442. package/src/domains/mux/yazi/session.ts +53 -4
  443. package/src/domains/mux/yazi/theme.ts +117 -17
  444. package/src/domains/observability/compaction-usage.ts +118 -0
  445. package/src/domains/observability/contract.ts +10 -11
  446. package/src/domains/observability/cost.ts +1 -1
  447. package/src/domains/observability/extension.ts +17 -4
  448. package/src/domains/observability/out-of-turn-usage.ts +52 -21
  449. package/src/domains/observability/projection.ts +14 -90
  450. package/src/domains/observability/trace-store.ts +43 -7
  451. package/src/domains/prompts/compiler.ts +73 -53
  452. package/src/domains/prompts/contract.ts +15 -3
  453. package/src/domains/prompts/extension.ts +97 -9
  454. package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
  455. package/src/domains/prompts/fragments/identity/clio.md +6 -12
  456. package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
  457. package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
  458. package/src/domains/prompts/fragments/operating/contract.md +7 -15
  459. package/src/domains/prompts/fragments/operating/delegation.md +32 -34
  460. package/src/domains/prompts/fragments/operating/skills.md +10 -24
  461. package/src/domains/prompts/fragments/operating/worker.md +1 -8
  462. package/src/domains/providers/contract.ts +4 -1
  463. package/src/domains/providers/extension.ts +40 -9
  464. package/src/domains/providers/index.ts +1 -1
  465. package/src/domains/providers/model-capabilities.ts +9 -0
  466. package/src/domains/providers/model-discovery.ts +2 -0
  467. package/src/domains/providers/model-runtime-capabilities.ts +99 -25
  468. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +699 -114
  469. package/src/domains/providers/runtime-resolution.ts +31 -0
  470. package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
  471. package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
  472. package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
  473. package/src/domains/providers/runtimes/common/probe-helpers.ts +7 -2
  474. package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
  475. package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
  476. package/src/domains/providers/support.ts +11 -5
  477. package/src/domains/providers/target-model-cache.ts +25 -2
  478. package/src/domains/providers/types/capability-flags.ts +2 -0
  479. package/src/domains/providers/types/cost-provenance.ts +19 -0
  480. package/src/domains/providers/types/local-model-quirks.ts +85 -37
  481. package/src/domains/providers/types/runtime-descriptor.ts +20 -1
  482. package/src/domains/providers/types/target-descriptor.ts +19 -0
  483. package/src/domains/resources/index.ts +3 -0
  484. package/src/domains/resources/skills/install.ts +72 -7
  485. package/src/domains/resources/skills/loader.ts +23 -19
  486. package/src/domains/resources/skills/marketplace.ts +63 -11
  487. package/src/domains/safety/autonomy.ts +15 -0
  488. package/src/domains/safety/call-target.ts +1 -1
  489. package/src/domains/safety/index.ts +1 -0
  490. package/src/domains/safety/loop-detector.ts +7 -4
  491. package/src/domains/safety/path-policy.ts +1 -1
  492. package/src/domains/safety/policy-engine.ts +34 -11
  493. package/src/domains/safety/protected-artifacts.ts +191 -88
  494. package/src/domains/safety/run-effects.ts +2 -22
  495. package/src/domains/safety/skill-authority.ts +55 -0
  496. package/src/domains/session/compaction/compact.ts +72 -22
  497. package/src/domains/session/entries.ts +6 -0
  498. package/src/domains/session/task-board.ts +10 -9
  499. package/src/domains/session/usage.ts +3 -3
  500. package/src/domains/share/archive.ts +164 -7
  501. package/src/engine/acp/server.ts +62 -9
  502. package/src/engine/agent.ts +13 -3
  503. package/src/engine/ai.ts +26 -8
  504. package/src/engine/antigravity/subprocess-runtime.ts +386 -120
  505. package/src/engine/api-registry.ts +3 -0
  506. package/src/engine/apis/llamacpp-residency.ts +3 -4
  507. package/src/engine/apis/lmstudio.ts +3 -3
  508. package/src/engine/apis/ollama-native.ts +6 -6
  509. package/src/engine/apis/openai-completions.ts +145 -39
  510. package/src/engine/apis/output-budget.ts +8 -18
  511. package/src/engine/apis/residency.ts +8 -27
  512. package/src/engine/external-subprocess.ts +114 -6
  513. package/src/engine/gemma-channel-filter.ts +19 -0
  514. package/src/engine/loop-guard.ts +92 -12
  515. package/src/engine/worker-runtime.ts +40 -11
  516. package/src/engine/worker-tools.ts +3 -1
  517. package/src/entry/background-model-metadata.ts +18 -0
  518. package/src/entry/compaction-prompt.ts +57 -0
  519. package/src/entry/extension-hook-sources.ts +28 -0
  520. package/src/entry/extension-reload.ts +309 -0
  521. package/src/entry/orchestrator.ts +464 -251
  522. package/src/entry/task-memory-lifecycle.ts +35 -0
  523. package/src/interactive/application-controller.ts +2 -1
  524. package/src/interactive/bus-notices.ts +8 -1
  525. package/src/interactive/chat-loop-messages.ts +16 -17
  526. package/src/interactive/chat-loop.ts +75 -3
  527. package/src/interactive/chat-panel.ts +36 -13
  528. package/src/interactive/chat-renderer.ts +72 -7
  529. package/src/interactive/cost-overlay.ts +26 -2
  530. package/src/interactive/dispatch-board.ts +6 -11
  531. package/src/interactive/footer/widgets.ts +13 -0
  532. package/src/interactive/interactive-application.ts +39 -4
  533. package/src/interactive/interactive-input-runtime.ts +4 -0
  534. package/src/interactive/interactive-presentation.ts +2 -2
  535. package/src/interactive/interactive-slash-runtime.ts +4 -1
  536. package/src/interactive/overlays/extensions.ts +9 -1
  537. package/src/interactive/overlays/help-reference.ts +13 -0
  538. package/src/interactive/overlays/settings.ts +27 -16
  539. package/src/interactive/panes-runtime.ts +111 -35
  540. package/src/interactive/prompt-cache-identity.ts +88 -0
  541. package/src/interactive/renderers/worker-entry.ts +32 -0
  542. package/src/interactive/slash-commands.ts +153 -20
  543. package/src/interactive/stream-pacing-policy.ts +0 -23
  544. package/src/interactive/theme/labels.ts +19 -13
  545. package/src/interactive/turn-context.ts +39 -20
  546. package/src/interactive/turn-recovery.ts +8 -0
  547. package/src/interactive/turn-runtime.ts +27 -11
  548. package/src/interactive/turn-state.ts +7 -0
  549. package/src/interactive/worker-receipts.ts +1 -0
  550. package/src/interactive/worker-stream.ts +6 -1
  551. package/src/interactive/yazi-bridge.ts +60 -6
  552. package/src/tools/agent-tools.ts +30 -1
  553. package/src/tools/artifact.ts +2 -2
  554. package/src/tools/ask-user.ts +3 -3
  555. package/src/tools/bash.ts +1 -1
  556. package/src/tools/bootstrap.ts +4 -0
  557. package/src/tools/builtin-tool-catalog.ts +52 -22
  558. package/src/tools/codewiki/code-nav-surface.ts +6 -0
  559. package/src/tools/codewiki/code-nav.ts +99 -13
  560. package/src/tools/context/docs-engine.ts +20 -7
  561. package/src/tools/context/index.ts +59 -21
  562. package/src/tools/core-bootstrap.ts +28 -6
  563. package/src/tools/credential-present.ts +1 -2
  564. package/src/tools/dispatch-arguments.ts +6 -1
  565. package/src/tools/dispatch-event-text.ts +10 -0
  566. package/src/tools/dispatch-plan.ts +49 -4
  567. package/src/tools/dispatch-run-events.ts +1 -1
  568. package/src/tools/dispatch-runner.ts +12 -0
  569. package/src/tools/dispatch-schema.ts +338 -0
  570. package/src/tools/dispatch-types.ts +3 -0
  571. package/src/tools/dispatch.ts +9 -254
  572. package/src/tools/ledger.ts +3 -5
  573. package/src/tools/monitor-surface.ts +5 -13
  574. package/src/tools/observation.ts +4 -5
  575. package/src/tools/panes-surface.ts +4 -11
  576. package/src/tools/panes.ts +4 -2
  577. package/src/tools/policy.ts +15 -2
  578. package/src/tools/read.ts +5 -6
  579. package/src/tools/registry.ts +41 -12
  580. package/src/tools/result-shaping.ts +18 -14
  581. package/src/tools/steer-surface.ts +1 -1
  582. package/src/tools/tasks.ts +1 -1
  583. package/src/tools/truncate.ts +6 -5
  584. package/src/tools/verify/surface.ts +6 -12
  585. package/src/tools/web-fetch-surface.ts +1 -3
  586. package/src/tools/worker-evidence.ts +3 -1
  587. package/src/worker/spec-contract.ts +4 -0
  588. package/dist/builtins-UJLMOVOV.js +0 -17
  589. package/dist/chunk-5QIAJV2D.js +0 -48
  590. package/dist/chunk-JZWT5J3Y.js +0 -814
  591. package/dist/chunk-K7VKOLQQ.js +0 -15
  592. package/dist/chunk-PMZCIOCJ.js +0 -25
  593. package/dist/chunk-SUW5DORT.js +0 -819
  594. package/dist/chunk-UOV2BYIW.js +0 -107
  595. package/dist/chunk-WR6U3OVP.js +0 -45
  596. package/dist/chunk-Y45G3AXC.js +0 -1558
  597. package/dist/reset-EOLM7GVE.js +0 -230
  598. package/dist/uninstall-N34PCTGJ.js +0 -331
  599. package/dist/upgrade-H7TOM7YL.js +0 -323
  600. package/docs/artifact-versions.md +0 -67
  601. package/docs/development-pipeline.md +0 -121
  602. package/docs/documentation-coverage.md +0 -46
  603. package/docs/documentation-guide.md +0 -167
  604. package/docs/time-conventions.md +0 -101
package/README.md CHANGED
@@ -21,385 +21,391 @@
21
21
 
22
22
  ---
23
23
 
24
- Clio Coder is a terminal coding agent built for scientific and HPC software:
25
- simulation kernels, data pipelines, numerical libraries, and build systems that
26
- take twenty minutes and break in ways no cloud model has ever seen.
27
-
28
- You bring the model. A llama.cpp, Ollama, LM Studio, vLLM, or SGLang server on
29
- your own GPU; a cloud API; your ChatGPT or Claude subscription; or an Argonne
30
- Leadership Computing Facility inference gateway. Clio brings the harness around
31
- it: a terminal UI that stays out of your way, twenty typed tools instead of a
32
- raw shell, a fleet of bounded worker agents that can run across your whole
33
- cluster over SSH, durable sessions, and a sealed receipt for every run.
24
+ Clio Coder is an open-source terminal coding agent built with scientific and
25
+ high-performance computing software in mind. It is comfortable in the places
26
+ where research code actually lives: simulation kernels, numerical libraries,
27
+ data pipelines, mixed-language repositories, remote machines, and build or
28
+ test cycles that cannot be replaced by a toy example.
29
+
30
+ You choose the model and where it runs. Clio can use a local server on your own
31
+ GPU, a lab gateway, a cloud API, a supported subscription, or different targets
32
+ for interactive work and delegated jobs. Around that model it provides project
33
+ context, bounded tools, worker agents, durable sessions, safety controls, and
34
+ evidence you can inspect after the work is done.
34
35
 
35
36
  CLIO stands for Context Layer for Input/Output. Clio Coder is the interactive
36
- coding agent in IOWarp's ecosystem of agentic science, named for the Greek muse
37
- of history and built by the Gnosis Research Center at Illinois Tech.
37
+ coding agent in IOWarp's ecosystem of agentic science, developed by the Gnosis
38
+ Research Center at Illinois Tech and named for the Greek muse of history.
38
39
 
39
40
  ## Get started
40
41
 
41
42
  ```bash
42
43
  npm install -g @iowarp/clio-coder
43
- clio-coder configure # pick a model provider or a local server
44
- clio-coder # start the interactive session in any project directory
44
+ clio-coder configure
45
+ cd /path/to/your/project
46
+ clio-coder
47
+ ```
48
+
49
+ Clio requires Node.js `>=22.19.0`. The configuration wizard helps you choose a
50
+ provider or local inference server, verifies the connection, and saves the
51
+ target. Starting `clio-coder` with no usable target opens the same setup flow.
52
+
53
+ In your first session, describe what you want in plain language. Type `/help`
54
+ for the command palette, `/settings` to change the active model or operating
55
+ posture, and `/quit` when you are done. If anything about the installation
56
+ looks wrong, `clio-coder doctor` performs a read-only health check.
57
+
58
+ > [!NOTE]
59
+ > Add `--omit=optional` to the npm install to skip the Claude Agent SDK's large
60
+ > optional binary. Only the `claude-sdk` worker runtime needs it. See
61
+ > [Optional dependencies](docs/guide/installation-and-lifecycle.md#optional-dependency-the-claude-agent-sdk).
62
+
63
+ | If you are… | Continue with… |
64
+ | --- | --- |
65
+ | Trying Clio on a project | [A first session](#a-first-session) and [Choose where models run](#choose-where-models-run) |
66
+ | Responsible for sensitive or expensive work | [Safety and evidence](#safety-and-evidence) |
67
+ | Bringing Clio to a workstation or cluster | [Project context](#project-context-that-stays-with-the-project) and [Delegation](#delegate-with-bounds) |
68
+ | An agent entering this repository | [For agents working on Clio Coder](#for-agents-working-on-clio-coder) |
69
+ | Planning to contribute | [For contributors](#for-contributors) |
70
+
71
+ ## Built for real research software
72
+
73
+ Clio is not limited to scientific repositories, but research software shapes
74
+ its priorities:
75
+
76
+ - **Bring your own inference.** Run locally with llama.cpp, LM Studio, Ollama,
77
+ vLLM, SGLang, or Lemonade; connect a compatible gateway or cloud provider;
78
+ or use supported ChatGPT and Claude subscription routes. Chat and worker
79
+ fleets can use different targets.
80
+ - **Understand before changing.** A project handbook and structural code index
81
+ give the model durable orientation without pouring the whole repository into
82
+ every prompt. Context use, compaction, and recall remain visible.
83
+ - **Delegate focused work.** Built-in worker recipes receive explicit tools,
84
+ limits, scopes, and result contracts. Fleet contracts can add review gates,
85
+ resumable steps, and placement across machines over SSH.
86
+ - **Keep authority with the operator.** Read-only, suggest, auto-edit, and
87
+ full-auto modes all pass through the same policy boundary. Bash is
88
+ default-deny, and project rules can narrow access further.
89
+ - **Leave evidence, not just prose.** Runs record tool activity, model usage,
90
+ routing, safety decisions, timing, and result conformance in receipts and
91
+ durable ledgers that can be inspected later.
92
+ - **Fit into existing tools.** Use the interactive terminal, one-shot headless
93
+ commands, JSONL event streams, or the Agent Client Protocol for editor hosts.
94
+
95
+ The goal is not to make a model infallible. It is to make useful work easier to
96
+ direct, easier to constrain, and easier to verify.
97
+
98
+ ## A first session
99
+
100
+ Run Clio from the repository you want it to work on:
101
+
102
+ ```bash
103
+ cd /path/to/your/project
104
+ clio-coder
45
105
  ```
46
106
 
47
- Requires Node.js `>=22.19.0`. `configure` lists the runtimes, asks for the
48
- endpoint and model, probes it, and saves it as the chat and fleet default; bare
49
- `clio-coder` opens the same wizard when nothing usable is configured yet. In the
50
- first session, type a request in plain words or `/help` for the command
51
- palette. `/settings` changes the model later, `/quit` leaves, and
52
- `clio-coder doctor` reports the install's health at any time.
53
-
54
- Adding `--omit=optional` to that install skips the Claude Agent SDK's 224MB
55
- proprietary binary, taking the tree from 387MB to 143MB. Everything but the
56
- `claude-sdk` worker runtime works without it. See
57
- [Installation and Lifecycle](docs/installation-and-lifecycle.md#optional-dependency-the-claude-agent-sdk).
58
-
59
- ## What changed in v0.4.1
60
-
61
- - **`settings.yaml` v2** replaces the accumulated legacy layout with seven
62
- durable areas: `chat`, `fleet`, `targets`, `context`, `safety`, `interface`,
63
- and `integrations`. `clio-coder upgrade` automatically migrates a v1 (or
64
- unversioned pre-v2) file once, writes it atomically, and keeps the original as
65
- `settings.yaml.v1.bak`.
66
- - **The interactive command surface is smaller and explicit.** `/settings`
67
- accepts the same seven area names, resources meet under `/resources`, and
68
- retired slash commands stop at targeted tombstones instead of falling
69
- through to the model.
70
- - **The editor operator family is honest about context.** `@` opens a
71
- workspace-aware file picker, `!` runs a public shell command whose result can
72
- enter model context, and `!!` runs a context-excluded shell command that
73
- remains visible to you but is never sent to a model.
74
- - **The local skills marketplace can meet a request in flight.** Clio may offer
75
- a matching uninstalled skill, but every install initiated by that promotion
76
- flow is hard-gated to Clio's own shipped catalog or the
77
- `iowarp/clio-coder` repository. A public registry or foreign GitHub source is
78
- refused before the installer runs.
79
- - **Evaluation and release validation each have one path.** The product eval
80
- engine remains under `src/domains/eval/`, runnable reference suites ship
81
- under `evals/`, and evals stay outside CI and release gates. The automated
82
- gate is now 35 focused test files driven directly by `node --test` through a
83
- single fast CI job.
84
- - **Machine-facing names use the Clio Coder namespace.** New paths, schemas,
85
- tags, environment variables, Git refs, and manifests use syntax-appropriate
86
- `clio-coder`, `clio_coder`, or `CLIO_CODER` forms. Upgrade records one naming
87
- migration, and readers retain the released legacy spellings through v0.5 and
88
- v0.6. The Clio persona and operator-facing identity text are unchanged.
89
-
90
- The release also hardens the surfaces that tend to fail outside unit tests:
91
- plain `doctor` is read-only again, configure cancellation exits correctly,
92
- trace empty states preserve their JSON contracts, fleet views wrap and honor
93
- `NO_COLOR`, Settings and other interactive prose stop losing remedy text, and
94
- the Workbench lifecycle closes its timing and recovery gaps.
95
-
96
- | | You are | Start here |
97
- | --- | --- | --- |
98
- | 🔬 | A researcher or developer who wants to use it | [Your models](#your-models-your-choice) → [At the keyboard](#at-the-keyboard) → [Safety](#safety-you-can-read) |
99
- | 🤖 | An AI agent that just landed in this repository | [For agents](#for-agents) |
100
- | 🛠️ | A developer who wants to contribute | [For contributors](#for-contributors) |
101
-
102
- ## Why Clio
103
-
104
- Most coding agents ask you to trust a remote model with a shell. Clio makes a
105
- different bet: the harness should be strong enough that a 20B model on your own
106
- GPU is genuinely useful, and honest enough that you can reconstruct every
107
- decision afterward.
108
-
109
- - **The model never gets a shell by default.** Twenty typed tools in seven
110
- policy planes. Bash is default-deny behind
111
- [damage-control rules](damage-control-rules.yaml) and per-project policy,
112
- reads are bounded, writes are queued and reviewable, and every privileged
113
- call passes through one admission path the model cannot talk its way around.
114
- - **Local models are the design target, not a fallback.** Clio keeps the
115
- compiled prompt and tool schemas byte-stable so a llama.cpp prefix cache
116
- stays hot across turns and sessions, bounds every tool result so one `grep`
117
- cannot blow the window, and records a per-call cache verdict in the ledger
118
- so you can see when and why the cache went cold. It also sends that prefix
119
- ahead of your first keystroke on a session start, a resume, or a compaction,
120
- and counts request slots per inference endpoint rather than per node, so a
121
- fleet cannot admit four workers onto a one-slot server the orchestrator is
122
- already streaming against.
123
- - **Work goes to bounded workers, not one long context.** The orchestrator
124
- dispatches focused agents with explicit tool profiles, call budgets, cost
125
- ceilings, and typed result contracts. A worker that cannot produce a
126
- conforming answer fails loudly instead of returning confident prose.
127
- - **Your cluster is the runtime.** Declare your nodes and the same worker
128
- protocol tunnels over SSH with the same prompts, the same safety matrix, and
129
- the same receipts. Placement is deterministic and pinnable; capacity is
130
- governed by durable leases that survive process death.
131
- - **Everything is auditable.** Every run seals a receipt covering tokens,
132
- priced cost, tool activity, safety decisions, routing, worker attestation,
133
- and result conformance. Default-on scientific commit provenance adds only
134
- the assistance, testing, review, and contributor trailers that this evidence
135
- justifies; it never replaces the human author. Nothing in the audit trail is
136
- reconstructed from prose.
137
- - **Science is a first-class domain.**
138
- [clio-kit](https://github.com/iowarp/clio-kit) adds MCP servers for HDF5,
139
- Slurm, ParaView, Pandas, NetCDF, FITS, Zarr, and ArXiv, and the shipped
140
- skills catalog includes scientific debugging and experiment-protocol guides.
141
-
142
- ## Your models, your choice
143
-
144
- Clio treats models as named **targets**: a runtime, an endpoint, a model, and
145
- credentials. Interactive chat and fleet dispatch can route through different
146
- targets independently, so a strong orchestrator can direct cheap local muscle,
147
- or the reverse.
148
-
149
- | Runtime id | Serves |
107
+ The header shows the workspace, active route, and project-context status. Tool
108
+ calls appear as they run, edits render as diffs, and the footer keeps context
109
+ and activity visible without taking over the terminal.
110
+
111
+ | You want to… | Use… |
112
+ | --- | --- |
113
+ | Change the chat model, fleet route, autonomy, or interface | `/settings` |
114
+ | Inspect context use or cost | `/context`, `/cost` |
115
+ | Reference a workspace file | Type `@` and choose a path |
116
+ | Run a shell command whose result may enter model context | `! command` |
117
+ | Run a private shell command that is never sent to the model | `!! command` |
118
+ | Ask a side question without changing the main session | `/btw <question>` |
119
+ | Request a read-only second opinion | `/oracle <question>` |
120
+ | Delegate a focused task | `/run coder "..."` |
121
+ | Inspect delegated work | `/tasks` or `Alt+W` |
122
+ | Branch or resume a conversation | `/tree`, `/fork`, `/resume`, `/new` |
123
+ | Carry current state into a fresh session | `/handoff <goal>` |
124
+ | Browse agents, prompts, fleets, extensions, and skills | `/resources` |
125
+ | Save a self-contained transcript | `/export` |
126
+
127
+ Pressing Enter while Clio is working steers the active turn; `Alt+Enter` queues
128
+ a follow-up; `Esc` cancels. Pasted or multiline text beginning with `!` or `!!`
129
+ is treated as prompt text, so a pasted command does not execute unexpectedly.
130
+ Private `!!` command and output bytes remain visible in your transcript but are
131
+ excluded from model replay, compaction, and context accounting.
132
+
133
+ The complete interactive and CLI reference is
134
+ [Commands and Modes](docs/guide/commands-and-modes.md).
135
+
136
+ ## Choose where models run
137
+
138
+ Clio stores each model connection as a named **target**: runtime, endpoint,
139
+ model, credentials, and any verified capability overrides. Interactive chat,
140
+ proactive memory, fleet defaults, and individual worker profiles can route
141
+ independently. A LiteLLM target keeps the gateway in charge of physical routing,
142
+ authentication, and backend residency; distinct model routes can share one URL.
143
+ Set `context.memory.target` and `context.memory.model` to opt into a dedicated
144
+ memory model. Unset memory roles remain rules-only; a configured route can fall
145
+ back to active chat when unavailable and request capacity permits.
146
+ `context.compaction.model` selects a dedicated summary model; leaving it unset
147
+ uses active chat. An invalid explicit compaction model fails visibly.
148
+
149
+ | Target family | Supported routes |
150
150
  | --- | --- |
151
- | `llamacpp`, `llamacpp-anthropic`, `llamacpp-completion` | llama.cpp and llama-swap routers |
152
- | `lmstudio` | LM Studio |
153
- | `ollama-native` | Ollama |
154
- | `vllm`, `sglang` | vLLM and SGLang |
155
- | `litellm` | LiteLLM gateways with per-alias capability discovery and routed-model attribution |
156
- | `lemonade`, `lemonade-anthropic` | Lemonade |
157
- | `openai-compat`, `anthropic-compat` | Any OpenAI- or Anthropic-shaped endpoint |
158
- | `openai`, `anthropic`, `google`, `groq`, `mistral`, `deepseek`, `openrouter`, `bedrock` | Cloud APIs |
159
- | `alcf` | Argonne's Sophia and Metis gateways over Globus OAuth ([guide](docs/alcf-provider.md)) |
160
- | `anthropic-max`, `openai-codex` | Your Claude Pro/Max or ChatGPT Plus/Pro subscription |
161
- | `claude-sdk`, `claude-code`, `antigravity-code` | Claude Code and Google Antigravity as workers behind Clio's permission gate |
162
-
163
- **One GPU with 24 GB or more?** Serve **Qwen3.8-27B** (the
164
- `unsloth/Qwen3.8-27B-GGUF` quantizations) and point both the chat and fleet
165
- targets at it. It is the model this release was hardened against on llama.cpp
166
- and LM Studio: a 4-bit quantization at 131072 context fits in 24 GB with a
167
- q8_0 KV cache, tool calls and reasoning parse cleanly on both runtimes, and
168
- Clio's `thinkingLevel` drives the model's reasoning effort per request. Start
169
- llama.cpp with `--jinja --reasoning on`; LM Studio needs nothing beyond loading
170
- the model. Quantization and context-window details for this and other families
171
- live in [docs/model-catalog.md](docs/model-catalog.md).
172
-
173
- Scripting the same setup the wizard performs:
151
+ | Local inference | llama.cpp, LM Studio, Ollama, vLLM, SGLang, Lemonade |
152
+ | Compatible endpoints | OpenAI-compatible and Anthropic-compatible servers; LiteLLM gateways |
153
+ | Cloud APIs | OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, OpenRouter, Amazon Bedrock |
154
+ | Institutional gateways | Argonne ALCF Sophia and Metis over Globus OAuth |
155
+ | Subscriptions | ChatGPT Plus/Pro through `openai-codex`; Claude Pro/Max through `anthropic-max` |
156
+ | Worker integrations | Claude SDK, Claude Code, experimental Google Antigravity delegation, and configured ACP agents |
157
+
158
+ The interactive wizard is the easiest path:
174
159
 
175
160
  ```bash
176
- clio-coder configure --id local-lmstudio --runtime lmstudio \
177
- --url http://localhost:1234 --model qwen3.8-27b \
178
- --set-orchestrator --set-fleet-default
161
+ clio-coder configure
179
162
  clio-coder targets --probe
163
+ ```
180
164
 
181
- clio-coder auth login anthropic-max # or: openai-codex
182
- clio-coder configure --id claude-sub --runtime anthropic-max --model claude-sonnet-5 --set-orchestrator
165
+ The same setup can be scripted. The model id must match what the server
166
+ advertises unless you deliberately pass `--force`:
167
+
168
+ ```bash
169
+ clio-coder configure \
170
+ --id local-lmstudio \
171
+ --runtime lmstudio \
172
+ --url http://127.0.0.1:1234 \
173
+ --model your-model-id \
174
+ --set-orchestrator \
175
+ --set-fleet-default
176
+
177
+ clio-coder targets use local-lmstudio
178
+ clio-coder targets --probe
183
179
  ```
184
180
 
185
- `--model` must name an id the server advertises; `configure` asks the server
186
- and refuses one it does not list, naming the ids it does. `qwen3.8-27b` is the
187
- id LM Studio gives the recommended model above; substitute whatever `lms ls`
188
- shows for yours.
181
+ Local hardware, quantization, context windows, tool calling, and reasoning
182
+ behavior vary substantially by model and serving runtime. Clio records what it
183
+ can probe, but it does not turn one successful configuration into a universal
184
+ claim. Start with the measured field notes in the
185
+ [Model Catalog](docs/architecture/model-catalog.md), then keep the serving configuration with
186
+ your own results.
189
187
 
190
188
  > [!NOTE]
191
- > Connecting a Claude Pro/Max subscription over OAuth uses the same path as
192
- > Claude Code. Using subscription credentials outside a vendor's first-party
193
- > apps may not align with their terms of service. Enable at your own
194
- > discretion.
189
+ > Subscription OAuth routes use the vendors' existing coding-agent credential
190
+ > paths. Whether a subscription may be used outside a vendor's first-party
191
+ > application depends on that vendor's current terms. Enable those routes at
192
+ > your discretion.
193
+
194
+ The full target, auth, profile, and routing reference is
195
+ [Configuration and Targets](docs/guide/configuration-and-targets.md). The ALCF route
196
+ has a separate [setup guide](docs/architecture/alcf-provider.md).
197
+
198
+ ## Project context that stays with the project
199
+
200
+ Clio uses several layers of context, each with a different job:
201
+
202
+ - **`CLIO-CODER.md`** is the human-owned project handbook loaded for each
203
+ session. `clio-coder context init` can draft it from the repository and adopt
204
+ existing `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, Cursor, or Copilot guidance
205
+ with provenance. You can edit and version it like any other project file.
206
+ - **The codewiki** is a structural index produced by
207
+ `clio-coder context index`. It lets `code_nav` locate files and symbols
208
+ without broad, expensive reads.
209
+ - **The working set** keeps durable tool results in the session ledger while
210
+ controlling which bodies remain in the model window. Evicted content can be
211
+ recalled by reference; history is not silently rewritten.
212
+ - **Skills** are focused `SKILL.md` procedures loaded when needed. The shipped
213
+ catalog pins content hashes, and `clio-coder skills eval <name>` can run a
214
+ skill's executable checks.
215
+ - **Task memory** surfaces bounded reminders during long work and keeps durable
216
+ lessons behind explicit review and approval.
217
+
218
+ Start with:
195
219
 
196
- The full reference, including fleet profiles, per-agent target bindings, and
197
- keeping a small scout model resident beside your main model, is
198
- [docs/configuration-and-targets.md](docs/configuration-and-targets.md).
220
+ ```bash
221
+ clio-coder context init
222
+ clio-coder context
223
+ ```
199
224
 
200
- ## At the keyboard
225
+ Project-generated runtime state lives under the gitignored `.clio-coder/`
226
+ directory. See [Context Engine](docs/architecture/context-engine.md),
227
+ [Working Set](docs/architecture/context-working-set.md), and
228
+ [Proactive Memory](docs/guide/proactive-memory.md) for the detailed contracts.
229
+
230
+ The local skills marketplace may offer a matching shipped skill during a
231
+ request. Every promotion install requires an explicit bound operator answer,
232
+ including in full-auto. Promotion installs retain their catalog source gate,
233
+ and installation does not activate the skill. Active
234
+ project and user skill trees are operator-owned: main and worker tool admissions
235
+ refuse direct and recognized shell mutations. Draft skill changes outside those
236
+ roots, then use the operator's installation or update workflow. This bounded
237
+ command inspection does not confine arbitrary programs or dynamic shell paths.
238
+ Manual installs remain available for a source you deliberately choose. See
239
+ [Skills Marketplace](docs/guide/skills-marketplace.md).
240
+
241
+ For a repository architecture map, run `clio-coder context index` followed by
242
+ `clio-coder context map`. The latter writes a deterministic JSON seed from the
243
+ index's directory areas and imports. The operator-installed `archify` remote
244
+ skill validates and delivers the interactive diagram; Clio ships its wrapper
245
+ and pinned install metadata, while the renderer comes from upstream. Source
246
+ citations require a pinned GitHub revision. Validation can still report
247
+ composition warnings that need human edits.
248
+
249
+ ## Delegate with bounds
250
+
251
+ Clio's orchestrator can send focused assignments to worker agents instead of
252
+ stretching one conversation across every task. A worker receives a declared
253
+ role, tool profile, scope, budget, target, and typed result contract. Reviewers
254
+ and judges remain read-only.
255
+
256
+ On one machine:
257
+
258
+ ```text
259
+ /run tester "Run the focused tests for the parser and explain any failure."
260
+ /tasks
261
+ ```
201
262
 
202
- Run `clio-coder` from the repository you want to work on. The session opens on a
203
- one-line header that names where Clio is working, which route answers, and
204
- whether project context is ready, and then the transcript owns the screen.
205
- Tool calls render as live rows with their verdicts, successful edits render as
206
- numbered diffs, and editor operators put files and local shell output in the
207
- same transcript.
263
+ For repeatable workflows, fleet contracts describe steps, dependencies,
264
+ writers, and review gates:
208
265
 
209
- | You want to | Type |
210
- | --- | --- |
211
- | Change model, target, thinking level, autonomy, or terminal options | `/settings [chat\|fleet\|targets\|context\|safety\|interface\|integrations]`, `/model`, `/thinking` |
212
- | See what is in the context window and what it costs | `/context`, `/cost` |
213
- | Branch, revisit, or pick up a session | `/tree`, `/fork`, `/resume`, `/new` |
214
- | Delegate to a fleet agent and watch it work | `/run coder "..."`, `/tasks`, `Alt+W` |
215
- | Load a skill or bootstrap project context | `/skill <name>`, `/context init` |
216
- | Ask a side question without touching the session, or get a read-only second opinion | `/btw <question>`, `/oracle <question>` |
217
- | Put the same question to several models at once and read one synthesis | `/council --synthesis vote "..."` |
218
- | Preview and run a multi-step fleet contract, resumable from the CLI | `/fleet run <name>` |
219
- | Browse or install agents, prompts, fleets, extensions, and skills | `/resources`, `/resources library agent` |
220
- | Carry the working state into a fresh session | `/handoff <goal>` |
221
- | Save a self-contained HTML transcript | `/export` (an explicit `.md` path keeps Markdown) |
222
- | Everything else | `/help` |
223
-
224
- Enter while Clio is running steers the current turn; `Alt+Enter` queues a
225
- follow-up; `Esc` cancels. `/settings interface` opens the Terminal options,
226
- including an opt-in fullscreen mode with a sticky composer beneath an
227
- independently scrollable transcript; regular terminal scrollback is the
228
- default. The complete command and keybinding reference is
229
- [docs/commands-and-modes.md](docs/commands-and-modes.md).
230
-
231
- ### Settings v2 and the seven areas
232
-
233
- The user config is a strict `version: 2` YAML document. Its seven top-level
234
- areas match the seven arguments accepted by `/settings`. Those arguments are
235
- stable deep links into the current Settings Center; the overlay still divides
236
- the detailed editor into its existing subsections, while the durable paths on
237
- disk use the seven-area vocabulary below.
238
-
239
- | Area | What it owns |
240
- | --- | --- |
241
- | `chat` | Active target and model, thinking, model-picker state, output limits, prewarm, and interactive retry |
242
- | `fleet` | Worker defaults and profiles, rosters, agent bindings, routing, nodes, permissions, limits, retry, and run history |
243
- | `targets` | Provider/runtime connections, advertised models, capabilities, and routing roles |
244
- | `context` | Working-set eviction, compaction, and proactive task memory |
245
- | `safety` | Autonomy, cost/tool/read ceilings, and the review watchdog |
246
- | `interface` | Output detail, terminal mode, streaming, notifications, and keybindings |
247
- | `integrations` | Project resource trust, external agents, runtime plugins, resource libraries, and Git attribution |
248
-
249
- When upgrading an existing install, run `clio-coder upgrade`. The v1-to-v2
250
- migration runs before strict v2 consumers load, records its migration id so it
251
- does not run twice, writes through an atomic rename, and leaves the byte-exact
252
- v1 file beside the result as `settings.yaml.v1.bak`. If old and new paths
253
- collide, it refuses the migration and leaves the original untouched instead of
254
- guessing which value should win.
255
-
256
- The removed slash spellings are non-executing tombstones with exact remedies:
257
- `/targets` points to `/settings targets`, `/scoped-models` points to
258
- `/settings chat model-picker`, and `/library`, `/prompts`, and `/extensions`
259
- point to their `/resources` equivalents. The `clio-coder targets`,
260
- `clio-coder skills`, and other CLI command families remain available; this
261
- cleanup applies to slash commands inside the interactive session.
262
-
263
- ### The operator family today
264
-
265
- | Operator | Behavior |
266
- | --- | --- |
267
- | `@` | Opens the workspace-aware picker. A bare `@` starts at the workspace root, a name fuzzily searches visible paths, and directory prefixes drill into the tree. Selecting a file inserts a reference that is expanded into the request when submitted. |
268
- | `! command` | Runs one shell command in the interactive working directory. The durable transcript entry, command, and output are available to model replay and compaction. |
269
- | `!! command` | Runs the same shell path and keeps the result visible and durable, but marks both command and output `not sent to model`; replay, compaction, and context accounting all exclude it. |
266
+ ```bash
267
+ clio-coder fleet new validation-pass --from build-test
268
+ clio-coder fleet validate validation-pass
269
+ clio-coder fleet graph validation-pass
270
+ clio-coder fleet run validation-pass
271
+ ```
272
+
273
+ The same worker protocol can run over SSH on declared nodes. Placement and
274
+ capacity are explicit, a node can be drained without killing active work, and
275
+ completed steps can be resumed from durable evidence. Shared workspaces must
276
+ appear at the same absolute path on every node, and `localhost` always means
277
+ the node where that worker runs.
270
278
 
271
- Bang operators arm only for a non-empty, typed, single-line draft. A
272
- bracketed-pasted `!` or `!!` line, or any multiline draft beginning with one,
273
- is treated as literal prompt text rather than executed.
279
+ Read [Fleet Dispatch](docs/guide/fleet-dispatch.md) for configuration and invariants,
280
+ or follow the [Fleet Demo Runbook](docs/process/fleet-demo-runbook.md) for an end-to-end
281
+ example.
274
282
 
275
- Panes, docks, and Yazi integration are experimental and opt-in in v0.4.1; enable them explicitly under `interface.panes` in `settings.yaml`.
283
+ ## Safety and evidence
276
284
 
277
- Outside the TUI, the same engine runs headless and speaks to editors:
285
+ Clio has one tool-admission path and four operator-visible autonomy levels:
286
+
287
+ | Level | What Clio may do |
288
+ | --- | --- |
289
+ | `read-only` | Inspect only; execution and mutation are denied. |
290
+ | `suggest` | Prepare mutations and wait for approval. |
291
+ | `auto-edit` | Apply file edits; execution and dispatch still pass their gates. |
292
+ | `full-auto` | Run approved action classes unattended, still inside safety-net and project-policy limits. |
293
+
294
+ The safety net applies at every level. Bash starts from a default-deny rule
295
+ pack; reads and observations are bounded; writes are serialized; protected
296
+ paths and project policy can narrow authority further. A worker can never gain
297
+ more authority than the process that dispatched it.
298
+
299
+ Every completed run seals a receipt over the facts Clio actually observed:
300
+ routing, model usage, priced cost where known, tool calls, safety decisions,
301
+ worker identity, timing, and result conformance. Inspect the same evidence from
302
+ the CLI or TUI:
278
303
 
279
304
  ```bash
280
- clio-coder run "Summarize this repository layout and its entry points." # one turn
281
- clio-coder run "<task>" --json # JSONL events for scripts
282
- clio-coder run "<task>" --agent coder # one fleet agent, with a receipt
283
- clio-coder acp # Agent Client Protocol over stdio
305
+ clio-coder evidence list
306
+ clio-coder evidence inspect <evidence-id>
307
+ clio-coder trace phases <run-id>
308
+ clio-coder trace tail <run-id>
284
309
  ```
285
310
 
286
- ## Safety you can read
311
+ `clio-coder usage report` preserves known failed-compaction spending and labels
312
+ missing coverage. Adapter prices are estimates, and numeric spending ceilings
313
+ bound the known sum; absent telemetry does not prove a call was free. Eval's
314
+ provider-health checks are opt-in and separate from task success. Partial or
315
+ mixed session/stdout evidence and inherited fork history are not reconciled;
316
+ full reconciliation is deferred to v0.4.5 or later, and 0.4.3 does not add an
317
+ automatic cost-comparison rejection. See the
318
+ [Eval Runner](docs/process/eval-runner.md#token-accounting--provenance) for source
319
+ and timing limits.
287
320
 
288
- One tool surface, one admission path. What changes is the autonomy level, set
289
- in `/settings` or per run with `--autonomy`.
321
+ Evidence helps you audit a run; it does not prove that generated code is
322
+ scientifically correct. Domain validation, reference results, and human review
323
+ remain part of the job. The detailed boundaries are in
324
+ [Safety Model](docs/architecture/safety-model.md), [Observability](docs/architecture/observability.md),
325
+ and [Scientific Validation](docs/process/scientific-validation.md).
290
326
 
291
- | Level | Behavior |
292
- | --- | --- |
293
- | `read-only` | Inspection only. Every mutation and execution is denied. |
294
- | `suggest` | Mutations are proposed and parked for your approval. |
295
- | `auto-edit` | File edits proceed; execution and dispatch still gate. |
296
- | `full-auto` | Approved classes proceed unattended, still inside damage-control rules. |
297
-
298
- Every notice names its mechanism so you always know who stopped a call:
299
- `[safety-net]` for level-independent blocks, `[approval]` for parked calls,
300
- `[autonomy]` for read-only denials, and `[middleware]` for hook diagnostics.
301
- Workers can never exceed the orchestrator's authority; a dispatch can only
302
- narrow it, and reviewers and judges always run read-only. Details:
303
- [docs/safety-model.md](docs/safety-model.md).
304
-
305
- ## One machine or the whole cluster
306
-
307
- Clio's orchestrator delegates to bounded workers. Declare a fleet and those
308
- workers run on other machines over SSH while every guarantee holds: one
309
- admission path, one autonomy matrix, one receipt chain. The implicit `local`
310
- node is always present.
311
-
312
- ```yaml
313
- fleet:
314
- nodes:
315
- - id: node-a
316
- host: node-a.example.net
317
- maxWorkers: 2
318
- - id: node-b
319
- host: node-b.example.net
320
- maxWorkers: 1
327
+ ## Headless and editor use
328
+
329
+ The interactive TUI and automation surfaces use the same engine:
330
+
331
+ ```bash
332
+ clio-coder run "Summarize this repository's entry points."
333
+ clio-coder run "<task>" --json
334
+ clio-coder run "<task>" --agent coder
335
+ clio-coder acp
321
336
  ```
322
337
 
323
- `clio-coder doctor` preflights every node. `clio-coder fleet list` names the
324
- builtin and discovered contracts, `clio-coder fleet new|validate|graph`
325
- authors a fleet contract from a builtin and checks it without dispatching
326
- anything, `clio-coder fleet run|status` drives and observes work (`fleet run
327
- --resume <runId>` replays a settled prefix), and `clio-coder fleet
328
- drain|resume` closes or reopens admission without interrupting running work.
329
- Contracts may declare a single writer, a gate step that must go red before the
330
- author is trusted, and a plan step whose architect delegates bounded tasks to
331
- a roster at run time. Nodes share the project
332
- filesystem at the same absolute path, and a target URL resolves on the node the
333
- worker runs on, so `localhost` means that node's own inference server. The
334
- end-to-end walkthrough, including a recorded multi-node demo, is in
335
- [docs/fleet-dispatch.md](docs/fleet-dispatch.md) and
336
- [docs/fleet-demo-runbook.md](docs/fleet-demo-runbook.md).
337
-
338
- ## Teach it your project
339
-
340
- **`CLIO-CODER.md`** is the project handbook Clio loads on every session.
341
- `clio-coder context init` drafts one from your actual source tree and can adopt
342
- existing `CLAUDE.md`, `AGENTS.md`, `GEMINI.md`, Cursor, and Copilot context
343
- with provenance. It is yours to edit and version; Clio's own runtime state
344
- stays in a gitignored `.clio-coder/`. A `CLIO-CODER.override.md` in a
345
- subdirectory replaces inherited guidance for that subtree.
346
-
347
- **The codewiki** from `clio-coder context index` is a structural map the
348
- `code_nav` tool navigates, so a model finds a symbol without reading half the
349
- repository into its window.
350
-
351
- **Skills** are reusable `SKILL.md` guides the model loads on demand, discovered
352
- from per-user and per-project roots including `.claude/skills` and
353
- `.codex/skills`. The shipped [catalog](skills/README.md) pins content hashes so
354
- an installed copy verifies against its audited source, and
355
- `clio-coder skills eval <name>` runs a skill's executable evals instead of
356
- trusting the prose.
357
-
358
- The catalog is also a local marketplace. On a request that matches an
359
- uninstalled skill and is not already covered by an installed one, the
360
- coordinator can offer project install, user install, not now, or never for that
361
- skill version, then continue the task in the same turn. Matching is local and
362
- lexical; request text does not leave the machine. Full-auto may skip the
363
- question, but it cannot skip the source gate: consented and autonomous
364
- promotion installs both accept only the shipped local catalog or this
365
- repository's own tree, and they install without activating. Dispatch workers
366
- never receive offers, and only the operator activates a skill with `/skill`.
367
- Manual `clio-coder skills install <path|github-url>` remains available for a
368
- source you deliberately choose; the own-marketplace guarantee governs what
369
- Clio installs on its own initiative.
370
-
371
- **Task memory** keeps long runs from drifting: a rules-only tier with no model
372
- calls watches tool and lifecycle hooks and surfaces advisory reminders at the
373
- right boundaries, `/memory` inspects it, and durable lessons are reviewed with
374
- `clio-coder memory list|propose|approve|reject|prune`. Design notes:
375
- [docs/proactive-memory.md](docs/proactive-memory.md).
338
+ Text mode reserves stdout for the final answer. `--json` emits JSONL events for
339
+ scripts, and `acp` serves Clio over stdio to Agent Client Protocol hosts. Exit
340
+ codes and output guarantees are documented in
341
+ [Exit Codes and Output](docs/guide/exit-codes-and-output.md) and
342
+ [ACP](docs/architecture/acp.md).
343
+
344
+ ## Settings and local state
345
+
346
+ User configuration is a strict `version: 2` YAML document organized into seven
347
+ durable areas: `chat`, `fleet`, `targets`, `context`, `safety`, `interface`, and
348
+ `integrations`. The same names are accepted as `/settings` deep links. Use the
349
+ Settings Center for ordinary changes; use the YAML inventory when you need a
350
+ reviewable lab or fleet configuration.
351
+
352
+ `clio-coder upgrade` migrates older settings before strict readers load them,
353
+ writes the result atomically, and keeps the original `settings.yaml.v1.bak`.
354
+ Conflicting old and new paths stop the migration instead of guessing.
355
+
356
+ Experimental pane, dock, and files-pane integrations are opt-in and off by default;
357
+ Clio does not start or download them unless you explicitly enable
358
+ `interface.panes`.
359
+
360
+ Use `clio-coder paths --json` to locate configuration, durable data, state, and
361
+ cache on the current machine. See the complete
362
+ [Settings Inventory](docs/guide/configuration-and-targets.md#settings-inventory) and
363
+ [Artifact Placement](docs/architecture/artifact-placement.md).
376
364
 
377
365
  ## Install
378
366
 
367
+ Requirements:
368
+
379
369
  - Node.js `>=22.19.0` and npm
380
- - Linux or macOS. Windows is best effort until a stable release.
381
- - At least one model target from the table above
370
+ - Linux or macOS; Windows support is currently best effort
371
+ - At least one local, institutional, subscription, or cloud model target
382
372
 
383
- From npm, [Get started](#get-started) is the whole install. `clio-coder upgrade`
384
- moves an existing install to the latest release; `--channel=beta` follows a
385
- dist-tag instead.
373
+ ### Install from npm
386
374
 
387
- From source, pinned to this release:
375
+ ```bash
376
+ npm install -g @iowarp/clio-coder
377
+ clio-coder configure
378
+ clio-coder --version
379
+ ```
380
+
381
+ ### Install from source
382
+
383
+ From source, pinned to this version:
388
384
 
389
385
  ```bash
390
- git clone --branch v0.4.1 https://github.com/iowarp/clio-coder.git
386
+ git clone --branch v0.4.3 https://github.com/iowarp/clio-coder.git
391
387
  cd clio-coder
388
+ npm ci
392
389
  npm run install:local
393
390
  export PATH="$HOME/.local/bin:$PATH"
394
391
  hash -r
395
392
  "$HOME/.local/bin/clio-coder" --version
396
393
  ```
397
394
 
398
- `npm run install:local` builds the CLI, links it at
399
- `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}/clio-coder`, and initializes the home.
400
- Put the `export PATH` line in your shell profile. If an older install is on your
401
- `PATH`, `command -v clio-coder` shows which file the bare name reaches; the
402
- installer warns when it finds one.
395
+ `npm run install:local` builds and links the launcher at
396
+ `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}/clio-coder`. Run
397
+ `command -v clio-coder` to see which installation the bare command reaches;
398
+ your shell may otherwise keep resolving an older launcher earlier on `PATH`.
399
+ Clone the default branch instead only when you deliberately want the current
400
+ development tree.
401
+
402
+ Upgrade and diagnose without deleting state:
403
+
404
+ ```bash
405
+ clio-coder upgrade
406
+ clio-coder doctor
407
+ clio-coder doctor --fix
408
+ ```
403
409
 
404
410
  To remove it, preview first:
405
411
 
@@ -408,180 +414,135 @@ clio-coder uninstall --dry-run
408
414
  clio-coder uninstall --remove-binary --force
409
415
  ```
410
416
 
411
- Full lifecycle details, including `reset` and the upgrade path, are in
412
- [docs/installation-and-lifecycle.md](docs/installation-and-lifecycle.md).
417
+ The full directory, permission, reset, migration, and uninstall behavior is in
418
+ [Installation and Lifecycle](docs/guide/installation-and-lifecycle.md).
413
419
 
414
- ## Status
420
+ ## Project status
415
421
 
416
- The current release is **v0.4.1**, installable from npm as
417
- [`@iowarp/clio-coder`](https://www.npmjs.com/package/@iowarp/clio-coder) or
418
- from source. Clio Coder is still experimental: we ship quickly, interfaces may
419
- change between minor versions, and model-specific behavior varies by target, so
420
- keep important repositories under version control and review what it proposes.
421
- Release notes live in the [CHANGELOG](CHANGELOG.md); every release is gated by
422
- the deterministic `npm run ci:release` suite.
422
+ The latest release is available from npm as
423
+ [`@iowarp/clio-coder`](https://www.npmjs.com/package/@iowarp/clio-coder) and
424
+ from [GitHub Releases](https://github.com/iowarp/clio-coder/releases/latest).
425
+ The exact release history belongs in the [CHANGELOG](CHANGELOG.md).
426
+
427
+ Clio Coder is still experimental. Interfaces may change between minor
428
+ versions, and model behavior varies by target and serving configuration. Keep
429
+ important work under version control, review proposed changes, and treat
430
+ model-dependent results as measurements rather than promises.
423
431
 
424
432
  ### Troubleshooting
425
433
 
426
- | Problem | Try this |
434
+ | Problem | First check |
427
435
  | --- | --- |
428
- | `clio-coder: command not found` | Run `npm run install:local`, then `hash -r`; confirm `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}` is on `PATH`. |
429
- | No model target is available | Run `clio-coder configure`, then `clio-coder targets --probe`. |
430
- | Local model does not respond | Confirm the server is running and the target URL is correct; `clio-coder targets` shows what Clio sees. |
431
- | Cloud model auth fails | Check `clio-coder auth status <target>` and verify the API key or login flow. |
432
- | A fleet node never gets work | Run `clio-coder doctor`; per-node preflight reports filesystem parity and target facts. |
433
- | State appears corrupted | Run `clio-coder doctor`, then `clio-coder doctor --fix`. |
434
-
435
- When filing an issue, include `clio-coder --version`, `node --version`,
436
- `clio-coder doctor`, and `clio-coder targets`. Redact secrets, private prompts,
437
- logs, and proprietary code. [docs/troubleshooting.md](docs/troubleshooting.md)
438
- is keyed by exact user-facing messages.
439
-
440
- ---
441
-
442
- # For agents
443
-
444
- If you are an AI agent operating inside this repository or driving Clio as a
445
- tool, start here.
446
-
447
- **Orient from the index, not from a wide read.** `clio-coder context index`
448
- builds a codewiki over the source and test tree; use `code_nav` in `entries`,
449
- `path`, or `symbol` mode first. The indexed entry points are
450
- `src/cli/index.ts`, `src/domains/agents/index.ts`,
451
- `src/domains/components/index.ts`, `src/domains/config/index.ts`,
452
- `src/domains/context/bootstrap.ts`, `src/domains/context/index.ts`,
453
- `src/domains/dispatch/index.ts`, and `src/domains/eval/index.ts`. Then read the
454
- local `CLIO-CODER.md`; it carries the project-specific invariants and traps
455
- that are not obvious from the source. `docs/` is source-aligned: when prose and
456
- source disagree, trust source, tests, and `CHANGELOG.md`.
457
-
458
- **The tool surface** is twenty tools in seven planes. Each plane is one policy
459
- unit covering action class, size posture, result schema, and concurrency rule.
460
-
461
- | Plane | Tools | Posture |
462
- | --- | --- | --- |
463
- | OBSERVE | `read`, `grep`, `find`, `ls`, `code_nav`, `context`, `credential_present` | Read class, parallel, bounded by a truncation envelope |
464
- | MUTATE | `write`, `edit` | Write class, sequential, queued through the file-mutation queue |
465
- | EXECUTE | `bash`, `git`, `verify` | Containment posture; `bash` is default-deny, `git` is read-only inspection |
466
- | ORCHESTRATE | `dispatch`, `monitor`, `steer`, `tasks`, `ledger` | Dispatch class, sequential except read-only `monitor` |
467
- | RETRIEVE | `web_fetch` | Network read, parallel |
468
- | INTERACT | `ask_user` | Host-owned operator interview |
469
- | ARTIFACT | `artifact` | Plans, reviews, and reports as durable artifacts |
470
-
471
- Every observation carries a truncation envelope with offload paths and next
472
- hints, so a large result is bounded rather than silently cut. Parameters and
473
- payloads: [docs/tool-usage.md](docs/tool-usage.md).
474
-
475
- **Dispatch** goes through one tool, one admission chain, and one autonomy
476
- matrix. `task` runs one assignment; `tasks: [...]` fans out; `mode:
477
- "sequential"` and `mode: "pipeline"` chain steps; `detach: true` returns ids to
478
- collect later with `monitor` in `collect` mode; `review: {...}` adds a
479
- read-only verifier gate; `mode: "compete"` runs two to four candidates in
480
- scratch worktrees behind a read-only judge. Every dispatch carries a typed
481
- `ExecutionRole` and answers a typed result contract; a cited line in a
482
- `scout-report` must fall inside a span the run actually read. The built-in
483
- fleet is `architect`, `coder`, `tester`, `verifier`, `debugger`, `documenter`,
484
- `scout`, `researcher`, `provenance`, and `git-master`
485
- ([docs/built-in-agents.md](docs/built-in-agents.md)); pin an id from it, since
486
- `agent: "auto"` is a fallback, not a router.
487
-
488
- **Every run seals a receipt** covering routing intent, the resolved route,
489
- worker attestation, priced cost, phase timing, tool activity, safety decisions,
490
- and result conformance. `clio-coder evidence inspect` and `/view verify <runId>`
491
- check them; `clio-coder trace` reads the same store.
492
- [docs/observability.md](docs/observability.md) has the shapes.
493
-
494
- ```bash
495
- clio-coder run "<task>" --json # one headless turn, JSONL events
496
- clio-coder acp # ACP v1 over stdio
497
- clio-coder fleet run <contract> # run a fleet DAG contract
498
- clio-coder evidence build|inspect|list # deterministic evidence artifacts
499
- clio-coder eval validate|run|report|compare|gate
500
- ```
501
-
502
- ---
436
+ | `clio-coder: command not found` | Run `command -v clio-coder`; make sure the npm global bin or `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}` is on `PATH`, then run `hash -r`. |
437
+ | No usable model target | Run `clio-coder configure`, then `clio-coder targets --probe`. |
438
+ | A local server does not answer | Verify the server process, URL, advertised model id, and `clio-coder targets` health row. |
439
+ | Cloud or subscription authentication fails | Run `clio-coder auth status <target-or-runtime>` and repeat the appropriate login flow. |
440
+ | A fleet node receives no work | Run `clio-coder doctor`; inspect node preflight, shared path, target reachability, and drain status. |
441
+ | Local state appears damaged | Run read-only `clio-coder doctor` first; use `doctor --fix` only for the repairs it offers. |
442
+
443
+ When reporting a problem, include `clio-coder --version`, `node --version`,
444
+ `clio-coder doctor`, and `clio-coder targets`. Redact credentials, private
445
+ prompts, proprietary code, and sensitive logs. The
446
+ [Troubleshooting Guide](docs/guide/troubleshooting.md) is keyed to user-facing errors.
447
+
448
+ ## For agents working on Clio Coder
449
+
450
+ If you are an AI agent entering this repository, orient narrowly before making
451
+ changes:
452
+
453
+ 1. Read [CONTRIBUTING.md](CONTRIBUTING.md), then the guide for the subsystem you
454
+ will touch in the [documentation index](docs/README.md). If a local
455
+ `CLIO-CODER.md` exists, read it for checkout-specific instructions.
456
+ 2. Start at the owning entry point. The main source roots are `src/cli/`,
457
+ `src/core/`, `src/domains/`, `src/engine/`, `src/entry/`,
458
+ `src/interactive/`, `src/tools/`, and `src/worker/`.
459
+ 3. Use `rg` and focused reads. Do not infer current behavior from release notes
460
+ or a similarly named legacy path.
461
+ 4. Treat source, schema validation, and contract tests as authoritative when a
462
+ document disagrees. Fix the document in the same change.
463
+ 5. Run the narrowest relevant test while iterating, then the repository gate
464
+ before handing work back.
465
+
466
+ Useful orientation:
467
+
468
+ | Concern | Start here |
469
+ | --- | --- |
470
+ | Source layout and domain boundaries | [Architecture](docs/architecture/architecture.md) |
471
+ | CLI and slash-command contracts | [Commands and Modes](docs/guide/commands-and-modes.md) |
472
+ | Tool schemas and bounded results | [Tool Usage](docs/guide/tool-usage.md) |
473
+ | Dispatch admission and worker mechanics | [Fleet Dispatch](docs/guide/fleet-dispatch.md), [Worker Dispatch](docs/architecture/worker-dispatch-mechanics.md) |
474
+ | Configuration schema and target resolution | [Configuration and Targets](docs/guide/configuration-and-targets.md) |
475
+ | Sessions, context, and persistence | [Session Lifecycle](docs/architecture/session-lifecycle.md), [Context Engine](docs/architecture/context-engine.md) |
476
+ | Safety and evidence | [Safety Model](docs/architecture/safety-model.md), [Observability](docs/architecture/observability.md) |
503
477
 
504
- # For contributors
478
+ ## For contributors
505
479
 
506
- The fastest way in is to fix something you hit while using Clio on your own
507
- research code. [CONTRIBUTING.md](CONTRIBUTING.md) covers setup, architecture
508
- invariants, branch and commit conventions, and the review rubric; security
509
- reports go through [SECURITY.md](SECURITY.md), not public issues.
480
+ The most valuable contributions often begin with a real obstacle in your own
481
+ research or software work. [CONTRIBUTING.md](CONTRIBUTING.md) covers setup,
482
+ architecture boundaries, commit conventions, and review expectations. Report
483
+ security issues through [SECURITY.md](SECURITY.md), not a public issue.
510
484
 
511
485
  ```bash
512
486
  npm ci
513
- npm run dev # tsup watch build
514
- npm run ci # typecheck, lint and hygiene, skills pin check, build, tests
515
- npm run ci:release # ci plus the dist and package audit that gates a release
487
+ npm run dev # rebuild on source changes
488
+ npm run ci # types, hygiene, build, deterministic tests
489
+ npm run ci:release # CI plus distribution and package audit
516
490
  ```
517
491
 
518
492
  | Check | Command |
519
493
  | --- | --- |
520
494
  | Types | `npm run typecheck` |
521
- | Style and domain boundaries | `npm run lint` |
522
- | One suite | `npm run test:file -- tests/contracts/<name>.test.ts` |
523
- | Everything | `npm run test` |
524
-
525
- Conventions worth knowing before your first PR: local imports end in `.js`,
526
- tests use `node:test`, `any` needs a tracking issue, and compile-time
527
- boundaries between domains are enforced by the hygiene lint rather than by
528
- convention. Read [docs/architecture.md](docs/architecture.md) before adding a
529
- cross-domain import. Live model validation
530
- (`npm run live:smoke -- --target <id>`) and the runnable reference suites under
531
- `evals/` are explicit, opt-in measurements. Neither runs in CI or the release
532
- gate, because no deterministic suite can promise that every local model
533
- behaves identically.
495
+ | Formatting, lint, and architecture hygiene | `npm run lint` |
496
+ | One contract file | `npm run test:file -- tests/contracts/<name>.test.ts` |
497
+ | Deterministic suite | `npm test` |
498
+ | Distribution package | `node scripts/check-release.mjs` |
499
+
500
+ Local imports end in `.js`, tests use `node:test`, and compile-time domain
501
+ boundaries are enforced by repository hygiene checks. Live target measurements
502
+ and the reference suites under `evals/` are explicit operator runs; they are
503
+ not hidden inside deterministic CI.
534
504
 
535
505
  ## Documentation
536
506
 
537
- The full set lives under [docs/](docs/README.md); from a source checkout,
538
- `clio-coder docs` serves the interactive blueprints locally. The pages people
539
- reach for most:
507
+ The [documentation index](docs/README.md) groups guides for users, operators,
508
+ researchers, and contributors. From a source checkout, `clio-coder docs` serves
509
+ the interactive blueprints locally. Frequently used pages:
540
510
 
541
511
  | Topic | Guide |
542
512
  | --- | --- |
543
- | Commands, slash commands, keybindings, operating posture | [commands-and-modes.md](docs/commands-and-modes.md) |
544
- | Targets, local model configuration, fleet profiles, auth | [configuration-and-targets.md](docs/configuration-and-targets.md) |
545
- | Model catalog, quantizations, context windows, quirks | [model-catalog.md](docs/model-catalog.md) |
546
- | Safety posture, default-deny Bash, damage-control rules | [safety-model.md](docs/safety-model.md) |
547
- | Multi-node fleet dispatch and the demo runbook | [fleet-dispatch.md](docs/fleet-dispatch.md), [fleet-demo-runbook.md](docs/fleet-demo-runbook.md) |
548
- | Built-in agents and dispatch admission | [built-in-agents.md](docs/built-in-agents.md) |
549
- | Context window, token accounting, compaction | [context-engine.md](docs/context-engine.md) |
550
- | Sessions, the ledger, `/tree`, `/fork`, `/resume` | [session-lifecycle.md](docs/session-lifecycle.md) |
551
- | Receipts, evidence, and `clio-coder trace` | [observability.md](docs/observability.md) |
552
- | The twenty tools, parameter by parameter | [tool-usage.md](docs/tool-usage.md) |
553
- | Exit codes, `--help`, and `--json` contracts | [exit-codes-and-output.md](docs/exit-codes-and-output.md) |
554
- | Install, upgrade, reset, uninstall | [installation-and-lifecycle.md](docs/installation-and-lifecycle.md) |
555
- | Adding a runtime or inference server | [provider-adapter-cookbook.md](docs/provider-adapter-cookbook.md) |
556
- | Source layout and domain boundaries | [architecture.md](docs/architecture.md) |
513
+ | Install, upgrade, reset, uninstall | [Installation and Lifecycle](docs/guide/installation-and-lifecycle.md) |
514
+ | Targets, auth, settings, fleet profiles | [Configuration and Targets](docs/guide/configuration-and-targets.md) |
515
+ | Commands, keybindings, and modes | [Commands and Modes](docs/guide/commands-and-modes.md) |
516
+ | Project context and context windows | [Context Engine](docs/architecture/context-engine.md) |
517
+ | Safety rules and autonomy | [Safety Model](docs/architecture/safety-model.md) |
518
+ | Fleet and multi-node execution | [Fleet Dispatch](docs/guide/fleet-dispatch.md) |
519
+ | Receipts, traces, and evidence | [Observability](docs/architecture/observability.md) |
520
+ | Exact CLI output contracts | [Exit Codes and Output](docs/guide/exit-codes-and-output.md) |
557
521
 
558
522
  ## Heritage
559
523
 
560
- Clio Coder is developed by the [Gnosis Research Center](https://grc.iit.edu)
561
- at the [Illinois Institute of Technology](https://www.iit.edu) in collaboration
562
- with the University of Utah. IOWarp and the CLIO architecture are funded by the
524
+ Clio Coder is developed by the
525
+ [Gnosis Research Center](https://grc.iit.edu) at the
526
+ [Illinois Institute of Technology](https://www.iit.edu) in collaboration with
527
+ the University of Utah. IOWarp and the CLIO architecture are funded by the
563
528
  National Science Foundation under
564
529
  [Award #2411318](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2411318) for
565
530
  2024 through 2029. Principal Investigator: Dr. Xian-He Sun. Co-Principal
566
531
  Investigators: Dr. Anthony Kougkas, Dr. Jake Hochhalter, and Dr. Vivek
567
532
  Srikumar.
568
533
 
569
- Clio Coder is the interactive coding orchestrator in a larger ecosystem:
534
+ Clio Coder is one part of a larger ecosystem:
570
535
  [clio-core](https://github.com/iowarp/clio-core) is the tiered data and context
571
- storage layer, and [clio-kit](https://github.com/iowarp/clio-kit) is a suite of
572
- [Model Context Protocol](https://modelcontextprotocol.io) servers exposing 150+
573
- tools for scientific computing.
574
-
575
- It is built on the **Pi Agent Framework** from
576
- [Earendil Works](https://github.com/earendil-works)
577
- ([pi-ai](https://www.npmjs.com/package/@earendil-works/pi-ai),
578
- [pi-tui](https://www.npmjs.com/package/@earendil-works/pi-tui), and
579
- [pi-agent-core](https://www.npmjs.com/package/@earendil-works/pi-agent-core)),
580
- the **Anthropic Claude Agent SDK** for Claude Code worker runs, the **Agent
581
- Client Protocol** for editor frontends, and **Globus Auth** for ALCF's inference
582
- gateways. Subagents and prompt techniques are evaluated against
583
- [SWE-bench](https://www.swebench.com) and SciCode, with structured execution
584
- evidence matched against baselines to catch silent regressions.
536
+ storage layer, and [clio-kit](https://github.com/iowarp/clio-kit) provides
537
+ [Model Context Protocol](https://modelcontextprotocol.io) servers for
538
+ scientific data and computing tools.
539
+
540
+ It builds on the **Pi Agent Framework** from
541
+ [Earendil Works](https://github.com/earendil-works), the **Anthropic Claude
542
+ Agent SDK** for supported Claude worker runs, the **Agent Client Protocol** for
543
+ editor frontends, and **Globus Auth** for ALCF inference gateways. The repository
544
+ also ships a local eval engine and reviewable reference suites under `evals/`
545
+ for reproducible, operator-run measurements.
585
546
 
586
547
  ---
587
548