@iowarp/clio-coder 0.4.0 → 0.4.2

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 (751) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/CONTRIBUTING.md +59 -36
  3. package/README.md +407 -375
  4. package/SECURITY.md +2 -1
  5. package/dist/{acp-G5WJBNCT.js → acp-TMDQZDIG.js} +14 -14
  6. package/dist/{agents-FMV2Q5G4.js → agents-5N5NG3XG.js} +45 -34
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-3IDSJEIK.js → auth-Z5CCBXKQ.js} +22 -21
  9. package/dist/{builtins-XCZWXSC7.js → builtins-K6TNDT24.js} +6 -6
  10. package/dist/{chunk-GR5G2PVF.js → chunk-2HFQNRV3.js} +15 -10
  11. package/dist/{chunk-PQEFIJ36.js → chunk-2LEAKD4C.js} +1 -2
  12. package/dist/{chunk-HJJTYUHX.js → chunk-2NHR3NAY.js} +168 -1406
  13. package/dist/chunk-2X4RYJTJ.js +39 -0
  14. package/dist/{chunk-UXMFQ54G.js → chunk-2Z2IKEXI.js} +39 -43
  15. package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
  16. package/dist/chunk-34BHNEE3.js +1846 -0
  17. package/dist/{chunk-YJX4SHTD.js → chunk-35MSIRKH.js} +9 -4
  18. package/dist/chunk-3EBYEESD.js +314 -0
  19. package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
  20. package/dist/chunk-3KIPBMUA.js +308 -0
  21. package/dist/chunk-3M6DQK6S.js +362 -0
  22. package/dist/{chunk-BPKCPIL7.js → chunk-462T4EGZ.js} +3 -3
  23. package/dist/{chunk-QLFS5GO2.js → chunk-4JDLP6ZS.js} +44 -37
  24. package/dist/{chunk-LDQ2ZF2M.js → chunk-4O6MANBS.js} +6 -6
  25. package/dist/{chunk-O6TL7WWY.js → chunk-54ODD65L.js} +6 -6
  26. package/dist/{chunk-JDG2WCRO.js → chunk-5KW52TEP.js} +5 -5
  27. package/dist/{chunk-NHLBIGRH.js → chunk-5PFYMY2V.js} +41 -18
  28. package/dist/{chunk-P3FOHJT4.js → chunk-72GZI5EV.js} +2 -2
  29. package/dist/chunk-77QIVUZB.js +1334 -0
  30. package/dist/{chunk-HWHKMHUA.js → chunk-7BHIY2MW.js} +9 -15
  31. package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
  32. package/dist/{chunk-VAZSBTKF.js → chunk-AZ4WMN4W.js} +2 -2
  33. package/dist/{chunk-B7OBL7PK.js → chunk-B74PXLU7.js} +21 -11
  34. package/dist/{chunk-CY6FY24N.js → chunk-B7HM5Z7T.js} +15 -15
  35. package/dist/{chunk-ULC6OTWO.js → chunk-BO7Y52RY.js} +88 -27
  36. package/dist/chunk-BTK3SSSK.js +67 -0
  37. package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
  38. package/dist/{chunk-DQITNCXG.js → chunk-BYMNWQ7O.js} +149 -159
  39. package/dist/{chunk-HI63TFOG.js → chunk-CDNVLKUX.js} +3 -3
  40. package/dist/{chunk-Z4TXYIEG.js → chunk-CRFOIAX3.js} +10 -10
  41. package/dist/{chunk-UM7N4G5A.js → chunk-CWVRRIEI.js} +2 -2
  42. package/dist/{chunk-3BT2XMV4.js → chunk-CYZW7JHJ.js} +53 -60
  43. package/dist/{chunk-BKFM6EJV.js → chunk-D4CJV46V.js} +2 -2
  44. package/dist/chunk-D7E7WCDF.js +27 -0
  45. package/dist/{chunk-X3YGUTOB.js → chunk-DYHAXKHD.js} +90 -62
  46. package/dist/{chunk-QBJA7R7N.js → chunk-DZAW46HP.js} +3 -3
  47. package/dist/{chunk-MLKNTWH2.js → chunk-DZEK6CJN.js} +22 -22
  48. package/dist/{chunk-K5C3NCBD.js → chunk-E7GT7O5N.js} +5 -5
  49. package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
  50. package/dist/chunk-F2I26BDK.js +66 -0
  51. package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
  52. package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
  53. package/dist/{chunk-32KWKNSF.js → chunk-FVDGR2ZL.js} +4 -4
  54. package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
  55. package/dist/{chunk-SJ5ZKQ4S.js → chunk-HIICAHCJ.js} +2 -2
  56. package/dist/chunk-HJWWJ6IL.js +184 -0
  57. package/dist/{chunk-WZR7K7ZX.js → chunk-HKMD33FO.js} +32 -83
  58. package/dist/chunk-HLAFFSEK.js +360 -0
  59. package/dist/{chunk-VO67MWHC.js → chunk-HRQMFLJP.js} +3 -3
  60. package/dist/{chunk-KFZI4NIL.js → chunk-I64IFBLB.js} +152 -31
  61. package/dist/{chunk-BKFJHQCA.js → chunk-I66EAJFY.js} +2 -2
  62. package/dist/{chunk-BUMFYQFY.js → chunk-I66ZTYNP.js} +543 -267
  63. package/dist/{chunk-2OQE55CK.js → chunk-I7XBWTYH.js} +2 -2
  64. package/dist/{chunk-GKF55TAZ.js → chunk-IDNA72AH.js} +104 -3
  65. package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
  66. package/dist/{chunk-J4W7KFM7.js → chunk-IKSLQ4XV.js} +5439 -3475
  67. package/dist/{chunk-6DB53AJS.js → chunk-IMXMHHMQ.js} +171 -30
  68. package/dist/{chunk-AB44T6BB.js → chunk-JBCS7CRR.js} +8 -7
  69. package/dist/{chunk-BBVJUZHB.js → chunk-JIEGK6UF.js} +5 -173
  70. package/dist/{chunk-SP2RXXYO.js → chunk-JWJGP5DQ.js} +10 -10
  71. package/dist/{chunk-HZHHCK24.js → chunk-KKOJXO6R.js} +527 -325
  72. package/dist/chunk-KPXDY6QF.js +47 -0
  73. package/dist/{chunk-LQ3DZAMX.js → chunk-LJID3DYZ.js} +8 -2
  74. package/dist/{chunk-7MCTRUCE.js → chunk-M2DAX4F6.js} +2 -2
  75. package/dist/{chunk-VEO4AP2K.js → chunk-M2WXEHER.js} +4 -3
  76. package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
  77. package/dist/{chunk-YDFRH54B.js → chunk-MCMZMDAC.js} +4 -4
  78. package/dist/{chunk-J5Q24KAG.js → chunk-MNJGS2IN.js} +5 -6
  79. package/dist/{chunk-76ONBSIA.js → chunk-MQXIVJ35.js} +14 -5
  80. package/dist/chunk-NDDGJUXD.js +81 -0
  81. package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
  82. package/dist/chunk-NMJXSHBJ.js +283 -0
  83. package/dist/{chunk-VYMXRQI6.js → chunk-O3YUNJZ2.js} +88 -100
  84. package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
  85. package/dist/{chunk-Z2RR6MAK.js → chunk-P75RZCJW.js} +28 -6
  86. package/dist/{chunk-NHCZP4K7.js → chunk-PBP4B7XR.js} +2 -2
  87. package/dist/{chunk-DYJP44XW.js → chunk-PGF63K6I.js} +2 -2
  88. package/dist/chunk-PJX3WQUQ.js +42 -0
  89. package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
  90. package/dist/{chunk-2JDWVJND.js → chunk-Q4XWMHX6.js} +5 -7
  91. package/dist/{chunk-W5VSYASO.js → chunk-QQLGQY2A.js} +46 -87
  92. package/dist/{chunk-KMVISBZR.js → chunk-RKSR6VSF.js} +1 -1
  93. package/dist/{chunk-C2LTL2W6.js → chunk-RLYRBIYQ.js} +463 -180
  94. package/dist/{chunk-4ZG3XFUR.js → chunk-S66XZJOF.js} +14 -23
  95. package/dist/{chunk-I5VEOC6I.js → chunk-SSEYRH53.js} +13 -14
  96. package/dist/chunk-SZAA6XDG.js +30 -0
  97. package/dist/{chunk-CODPRO7Q.js → chunk-TPEQIQIE.js} +7 -7
  98. package/dist/{chunk-QLL7ILRG.js → chunk-UBRFI4HS.js} +1151 -614
  99. package/dist/{chunk-O4XIVISU.js → chunk-UH347SHR.js} +227 -47
  100. package/dist/{chunk-OQBA45DZ.js → chunk-UH632ZYL.js} +2 -2
  101. package/dist/chunk-UXCU4E3T.js +303 -0
  102. package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
  103. package/dist/{chunk-IQ7KR472.js → chunk-VIA6RFQZ.js} +8 -13
  104. package/dist/{chunk-V5DHCITQ.js → chunk-VKPAQYEB.js} +49 -19
  105. package/dist/{chunk-5LXZXPKX.js → chunk-VN3SHNBN.js} +2 -2
  106. package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
  107. package/dist/{chunk-3XML7CDN.js → chunk-W4YEMFBX.js} +3 -3
  108. package/dist/{chunk-U77AMWDL.js → chunk-W6NIE6OW.js} +44 -23
  109. package/dist/{chunk-BBVYXMFO.js → chunk-WNP7O5WZ.js} +2 -2
  110. package/dist/{chunk-QREDIESB.js → chunk-X7IARSHT.js} +15 -9
  111. package/dist/{chunk-3URVFKWK.js → chunk-XE3PCIXH.js} +5 -5
  112. package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
  113. package/dist/{chunk-F4CKPOEQ.js → chunk-XOXV5GKE.js} +119 -38
  114. package/dist/chunk-XQRY4DTA.js +657 -0
  115. package/dist/{chunk-NYS75XW5.js → chunk-YAKGTXEV.js} +5 -3
  116. package/dist/{chunk-NQQH3YT7.js → chunk-YJISEZKC.js} +3 -3
  117. package/dist/{chunk-X75E3D2N.js → chunk-ZGNYYXQ6.js} +18 -16
  118. package/dist/{chunk-LY4S7GJC.js → chunk-ZNT2M6TG.js} +20 -18
  119. package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
  120. package/dist/{chunk-IBEBSCYA.js → chunk-ZW4HH5JJ.js} +43 -34
  121. package/dist/{chunk-2ANTL7MR.js → chunk-ZW55JB7N.js} +2 -2
  122. package/dist/cli/index.js +38 -37
  123. package/dist/{clio-2JXHBBY5.js → clio-7VB377CC.js} +12 -13
  124. package/dist/{code-nav-3YYRMYNF.js → code-nav-YVLCYA7V.js} +86 -18
  125. package/dist/codewiki/build-worker.js +1 -1
  126. package/dist/{compile-cache-7FPE6PS3.js → compile-cache-OQAVB7Y5.js} +2 -4
  127. package/dist/{components-RYZV4JGP.js → components-UBWCQSRW.js} +4 -4
  128. package/dist/{config-QZPCMYSO.js → config-4HVOS65E.js} +112 -63
  129. package/dist/{configure-TEGEBYCA.js → configure-PIWO7B24.js} +25 -22
  130. package/dist/{context-E6H5RNMC.js → context-IYEHL3WQ.js} +53 -47
  131. package/dist/{context-GSXUE4CT.js → context-KQYIWPWT.js} +68 -42
  132. package/dist/{context-AV7OEZ4D.js → context-N6ZE3LGJ.js} +11 -11
  133. package/dist/{context-clear-SHIBYK6T.js → context-clear-G4OGZJDS.js} +53 -47
  134. package/dist/{context-working-set-5ZGKPGZQ.js → context-working-set-BWLF6LJP.js} +12 -11
  135. package/dist/{dispatch-runner-EFMJT4LD.js → dispatch-runner-2QQAITS3.js} +67 -58
  136. package/dist/{docs-23KQS3XK.js → docs-PD3EXDKU.js} +20 -25
  137. package/dist/doctor-LHBD36VU.js +773 -0
  138. package/dist/{eval-TFBYQH4H.js → eval-C45FYRJ6.js} +68 -49
  139. package/dist/{eval-inventory-SXH7PDKX.js → eval-inventory-6DEJPLBF.js} +7 -8
  140. package/dist/{evidence-ERGESKGN.js → evidence-6SHONYAF.js} +50 -44
  141. package/dist/{evolve-VDXTSYCJ.js → evolve-KRKMV72X.js} +49 -43
  142. package/dist/{extensions-7BGBHN57.js → extensions-KPZ2UHBB.js} +8 -6
  143. package/dist/{fleet-2RRVDF2V.js → fleet-IVTCKDHT.js} +93 -79
  144. package/dist/{fleet-commands-VJ726XIA.js → fleet-commands-EDWL3IT7.js} +10 -9
  145. package/dist/{fleet-decisions-EPAPM3XJ.js → fleet-decisions-YP3YEFGK.js} +6 -6
  146. package/dist/{fleet-graph-JF5QOATM.js → fleet-graph-ZFWKHY2M.js} +19 -15
  147. package/dist/{fleet-inspect-VLY4S7QM.js → fleet-inspect-FVUNCBML.js} +50 -45
  148. package/dist/{fleet-preflight-AIZUEJOY.js → fleet-preflight-UN5XED4R.js} +5 -9
  149. package/dist/{fleet-validate-AJRPDMDV.js → fleet-validate-XOWC4HSX.js} +22 -17
  150. package/dist/{fleet-verify-JFEL2L3H.js → fleet-verify-UN3SODEL.js} +48 -43
  151. package/dist/fleet-view-TWHJKCN6.js +96 -0
  152. package/dist/{init-DN2WWLFE.js → init-T2QORQ3Y.js} +72 -66
  153. package/dist/{install-XGLBQY5E.js → install-NKNG7KD4.js} +2 -2
  154. package/dist/{interop-OZBKXAYL.js → interop-IN5I2A66.js} +13 -11
  155. package/dist/{library-YWZG7IMW.js → library-LSCATDLZ.js} +23 -18
  156. package/dist/{memory-I4C4HMLW.js → memory-HYOKAGGJ.js} +51 -45
  157. package/dist/{models-CEYXJBO6.js → models-2GPMFYCM.js} +42 -33
  158. package/dist/{monitor-NZ6GCI3P.js → monitor-E4ASVUJH.js} +56 -50
  159. package/dist/{orchestrator-GCGQ4N5I.js → orchestrator-DDMPR3PY.js} +2676 -1507
  160. package/dist/{panes-KY6W3V2E.js → panes-E3RUXOW5.js} +5 -5
  161. package/dist/panes-IXKLOKA2.js +75 -0
  162. package/dist/{paths-II4K7DNR.js → paths-L7LGY6RN.js} +4 -4
  163. package/dist/{reset-DQ6FGCSH.js → reset-OAQP3W4O.js} +7 -8
  164. package/dist/{resources-BB3MVJMD.js → resources-OTRSN34L.js} +23 -17
  165. package/dist/{run-H2GQDUER.js → run-5DEYH5QK.js} +95 -84
  166. package/dist/{share-GTJN6A5O.js → share-IHWTLO3M.js} +26 -19
  167. package/dist/{skills-L55TEW6R.js → skills-IYMXMKW4.js} +25 -20
  168. package/dist/{skills-eval-XVXPH2JI.js → skills-eval-DROHSJAR.js} +63 -65
  169. package/dist/{skills-inventory-S4MXPJFV.js → skills-inventory-D7X4L4ZX.js} +21 -16
  170. package/dist/{slash-commands-ZSGASKJC.js → slash-commands-QBM7UZ3B.js} +38 -33
  171. package/dist/{steer-RZGSCY4R.js → steer-Z5DO23FJ.js} +3 -3
  172. package/dist/{support-PKEUNNQL.js → support-U7QOWY26.js} +6 -6
  173. package/dist/{targets-NCPZ644J.js → targets-P2FUC4IL.js} +64 -61
  174. package/dist/{terminal-lease-44SV3YCN.js → terminal-lease-YREJ3JX2.js} +15 -10
  175. package/dist/{tools-DAF3DI3C.js → tools-5B7RO6MV.js} +10 -8
  176. package/dist/{trace-FYVW2MQA.js → trace-YMGMUM6A.js} +101 -8
  177. package/dist/{tui-primitives-2AKXQNZK.js → tui-primitives-K5PASC3O.js} +8 -4
  178. package/dist/{uninstall-DW2PNOIC.js → uninstall-N34PCTGJ.js} +4 -6
  179. package/dist/{upgrade-3XPP6OQL.js → upgrade-PXK3S2YM.js} +36 -61
  180. package/dist/{usage-3NLHGTU2.js → usage-ME5MPXGX.js} +58 -53
  181. package/dist/{verifiers-SSQONKRT.js → verifiers-BVZ7IWOO.js} +10 -9
  182. package/dist/{verify-3U6J7FZI.js → verify-5K7ZKQFC.js} +9 -8
  183. package/dist/{web-fetch-S7RR6GZ7.js → web-fetch-MPARV2K7.js} +2 -3
  184. package/dist/{wiki-generate-CEHYGPGQ.js → wiki-generate-F5W5QTYY.js} +74 -70
  185. package/dist/{with-panes-MKB46MPQ.js → with-panes-BYOJCLAM.js} +78 -246
  186. package/dist/worker/entry.js +83 -63
  187. package/docs/README.md +176 -81
  188. package/docs/{acp.md → architecture/acp.md} +36 -20
  189. package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
  190. package/docs/{architecture.md → architecture/architecture.md} +43 -22
  191. package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
  192. package/docs/architecture/artifact-versions.md +90 -0
  193. package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
  194. package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
  195. package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
  196. package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
  197. package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
  198. package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
  199. package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
  200. package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
  201. package/docs/{observability.md → architecture/observability.md} +26 -13
  202. package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
  203. package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
  204. package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
  205. package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
  206. package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
  207. package/docs/architecture/time-conventions.md +125 -0
  208. package/docs/{trace-store.md → architecture/trace-store.md} +26 -13
  209. package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
  210. package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
  211. package/docs/{built-in-agents.md → guide/built-in-agents.md} +70 -46
  212. package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +73 -62
  213. package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -444
  214. package/docs/guide/configuration-reference.md +1158 -0
  215. package/docs/{environment-variables.md → guide/environment-variables.md} +31 -27
  216. package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +8 -3
  217. package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
  218. package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +47 -49
  219. package/docs/{glossary.md → guide/glossary.md} +14 -11
  220. package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +45 -14
  221. package/docs/guide/panes-and-files.md +290 -0
  222. package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
  223. package/docs/{resource-library.md → guide/resource-library.md} +13 -4
  224. package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
  225. package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
  226. package/docs/{troubleshooting.md → guide/troubleshooting.md} +10 -5
  227. package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +13 -10
  228. package/docs/history/release-cut-checklist.md +207 -0
  229. package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
  230. package/docs/process/documentation-coverage.md +100 -0
  231. package/docs/process/documentation-guide.md +187 -0
  232. package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
  233. package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
  234. package/docs/{evolution.md → process/evolution.md} +2 -2
  235. package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +17 -10
  236. package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
  237. package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
  238. package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
  239. package/evals/README.md +5 -0
  240. package/evals/behavioral-corpus-grader.mjs +103 -0
  241. package/evals/behavioral-machinery-baseline.json +2276 -0
  242. package/evals/behavioral-machinery-driver.ts +250 -0
  243. package/evals/behavioral-machinery-support.ts +253 -0
  244. package/evals/behavioral-machinery.yaml +614 -0
  245. package/evals/behavioral-model-negative-control.yaml +68 -0
  246. package/evals/behavioral-model.yaml +216 -0
  247. package/evals/fixtures/behavioral-facts.txt +3 -0
  248. package/evals/fixtures/behavioral-main.ts +7 -0
  249. package/evals/fixtures/decoy/note.txt +2 -0
  250. package/evals/fixtures/private/credentials.txt +1 -0
  251. package/evals/tracked-metrics-baseline.yaml +229 -0
  252. package/evals/tracked-metrics-grader.mjs +129 -0
  253. package/package.json +13 -21
  254. package/skills/README.md +51 -42
  255. package/skills/coding/ast-grep/SKILL.md +9 -3
  256. package/skills/coding/coding-standards/SKILL.md +9 -3
  257. package/skills/coding/prototype/SKILL.md +9 -3
  258. package/skills/coding/tdd/SKILL.md +9 -3
  259. package/skills/context/context-handoff/SKILL.md +13 -4
  260. package/skills/context/context-handoff/evals.md +3 -3
  261. package/skills/context/context-prime/SKILL.md +9 -3
  262. package/skills/context/context-prime/evals.md +2 -2
  263. package/skills/git/file-ticket/SKILL.md +10 -5
  264. package/skills/git/file-ticket/evals.md +2 -2
  265. package/skills/git/fix-issue/SKILL.md +12 -5
  266. package/skills/git/fix-issue/evals.md +4 -4
  267. package/skills/git/resolve-merge-conflicts/SKILL.md +9 -3
  268. package/skills/git/resolve-merge-conflicts/evals.md +2 -2
  269. package/skills/git/ship/SKILL.md +10 -4
  270. package/skills/git/ship/evals.md +4 -4
  271. package/skills/git/worktree-create/SKILL.md +8 -3
  272. package/skills/git/worktree-create/evals.md +6 -6
  273. package/skills/git/worktree-merge/SKILL.md +8 -3
  274. package/skills/git/worktree-merge/evals.md +6 -6
  275. package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +22 -12
  276. package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +5 -4
  277. package/skills/meta/clio-coder-test/SKILL.md +146 -0
  278. package/skills/meta/{clio-test → clio-coder-test}/evals.md +10 -5
  279. package/skills/meta/clio-coder-test/references/harness.md +102 -0
  280. package/skills/meta/clio-coder-test/references/test-map.md +96 -0
  281. package/skills/meta/credentials/SKILL.md +10 -3
  282. package/skills/meta/find-skills/SKILL.md +9 -3
  283. package/skills/meta/herdr/SKILL.md +9 -3
  284. package/skills/meta/skill-craft/SKILL.md +39 -16
  285. package/skills/planning/architecture/SKILL.md +9 -3
  286. package/skills/planning/backlog/SKILL.md +9 -3
  287. package/skills/planning/prd/SKILL.md +9 -3
  288. package/skills/planning/product-intent/SKILL.md +9 -3
  289. package/skills/planning/tech-spec/SKILL.md +9 -3
  290. package/skills/registry.yaml +66 -66
  291. package/skills/research/arxiv-literature/SKILL.md +9 -3
  292. package/skills/research/experiment-protocol/SKILL.md +10 -3
  293. package/skills/research/scientific-debugging/SKILL.md +10 -3
  294. package/skills/research/scientific-debugging/evals.md +2 -2
  295. package/skills/research/scientific-modernization/SKILL.md +10 -3
  296. package/skills/skill-marketplace.json +285 -66
  297. package/skills/workflow/cut-it/SKILL.md +11 -3
  298. package/skills/workflow/design-council/SKILL.md +12 -3
  299. package/skills/workflow/grill-me/SKILL.md +9 -3
  300. package/skills/workflow/workflow-distiller/SKILL.md +9 -3
  301. package/src/cli/acp.ts +2 -2
  302. package/src/cli/args.ts +2 -2
  303. package/src/cli/auth.ts +2 -2
  304. package/src/cli/bootstrap-generate.ts +6 -6
  305. package/src/cli/clio.ts +6 -1
  306. package/src/cli/config-inspect.ts +68 -15
  307. package/src/cli/configure-interop.ts +1 -1
  308. package/src/cli/configure.ts +27 -31
  309. package/src/cli/default-target.ts +1 -1
  310. package/src/cli/docs.ts +28 -20
  311. package/src/cli/doctor-naming.ts +323 -0
  312. package/src/cli/doctor-panes.ts +46 -14
  313. package/src/cli/doctor-toolchain.ts +31 -10
  314. package/src/cli/doctor.ts +15 -1
  315. package/src/cli/eval-inventory.ts +8 -8
  316. package/src/cli/eval.ts +1 -2
  317. package/src/cli/evidence-detail.ts +1 -1
  318. package/src/cli/evidence-inventory.ts +1 -1
  319. package/src/cli/extensions.ts +2 -1
  320. package/src/cli/fleet-decisions.ts +1 -1
  321. package/src/cli/fleet-inspect.ts +1 -1
  322. package/src/cli/fleet-preflight.ts +1 -1
  323. package/src/cli/fleet-verify.ts +1 -1
  324. package/src/cli/fleet-view.ts +40 -23
  325. package/src/cli/fleet.ts +9 -6
  326. package/src/cli/index.ts +2 -1
  327. package/src/cli/internal-dispatch.ts +3 -4
  328. package/src/cli/interop-inspect.ts +2 -2
  329. package/src/cli/models.ts +3 -3
  330. package/src/cli/modes/print.ts +1 -1
  331. package/src/cli/panes.ts +19 -5
  332. package/src/cli/reset.ts +1 -1
  333. package/src/cli/run.ts +13 -17
  334. package/src/cli/share.ts +6 -2
  335. package/src/cli/skills-eval.ts +14 -14
  336. package/src/cli/targets.ts +25 -30
  337. package/src/cli/trace-inspect.ts +1 -1
  338. package/src/cli/trace.ts +96 -4
  339. package/src/cli/uninstall.ts +2 -2
  340. package/src/cli/upgrade.ts +29 -34
  341. package/src/cli/usage.ts +2 -2
  342. package/src/cli/validate-model.ts +1 -1
  343. package/src/cli/verifiers-inspect.ts +1 -1
  344. package/src/cli/wiki-generate.ts +6 -6
  345. package/src/core/artifact-paths.ts +1 -1
  346. package/src/core/bash-exec.ts +132 -87
  347. package/src/core/boot-trace.ts +3 -3
  348. package/src/core/bus-events.ts +51 -6
  349. package/src/core/bus-trace.ts +2 -2
  350. package/src/core/compile-cache.ts +1 -1
  351. package/src/core/config.ts +1066 -886
  352. package/src/core/defaults.ts +326 -530
  353. package/src/core/dispatch-outcome.ts +16 -0
  354. package/src/core/domain-loader.ts +6 -4
  355. package/src/core/event-bus.ts +1 -1
  356. package/src/core/file-references.ts +78 -88
  357. package/src/core/git-commit-attribution.ts +3 -9
  358. package/src/core/guardrails.ts +33 -52
  359. package/src/core/naming-compat.ts +45 -0
  360. package/src/core/naming-events.ts +62 -0
  361. package/src/core/prompt-hint.ts +9 -0
  362. package/src/core/recent-models.ts +1 -7
  363. package/src/core/residency-protection.ts +4 -8
  364. package/src/core/resolve-config-value.ts +1 -1
  365. package/src/core/response-model-id.ts +0 -14
  366. package/src/core/session-routing.ts +84 -74
  367. package/src/core/skill-activation.ts +18 -0
  368. package/src/core/termination.ts +4 -4
  369. package/src/core/timers.ts +2 -12
  370. package/src/domains/agents/builtins/architect.md +2 -3
  371. package/src/domains/agents/builtins/coder.md +3 -2
  372. package/src/domains/agents/builtins/debugger.md +2 -2
  373. package/src/domains/agents/builtins/documenter.md +2 -2
  374. package/src/domains/agents/builtins/git-master.md +1 -1
  375. package/src/domains/agents/builtins/oracle.md +1 -1
  376. package/src/domains/agents/builtins/provenance.md +1 -1
  377. package/src/domains/agents/builtins/researcher.md +1 -1
  378. package/src/domains/agents/builtins/scout.md +1 -1
  379. package/src/domains/agents/builtins/tester.md +2 -2
  380. package/src/domains/agents/builtins/verifier.md +2 -2
  381. package/src/domains/agents/builtins/wiki-writer.md +1 -1
  382. package/src/domains/agents/catalog.ts +14 -26
  383. package/src/domains/agents/contract.ts +2 -0
  384. package/src/domains/agents/extension.ts +26 -4
  385. package/src/domains/agents/registry.ts +7 -7
  386. package/src/domains/agents/result-contract.ts +1 -1
  387. package/src/domains/agents/spec.ts +0 -11
  388. package/src/domains/config/classify.ts +35 -47
  389. package/src/domains/config/extension.ts +5 -5
  390. package/src/domains/config/keybindings.ts +56 -47
  391. package/src/domains/config/watcher.ts +1 -1
  392. package/src/domains/context/codewiki/indexer.ts +1 -1
  393. package/src/domains/context/extension.ts +3 -6
  394. package/src/domains/context/prompt-context.ts +1 -1
  395. package/src/domains/context/wiki/assemble.ts +2 -2
  396. package/src/domains/context/working-set/path-index.ts +1 -0
  397. package/src/domains/context/working-set/replay/metrics.ts +0 -4
  398. package/src/domains/context/working-set/replay/report.ts +1 -1
  399. package/src/domains/context/working-set/replay/synthetic.ts +2 -2
  400. package/src/domains/dispatch/active-route-planner.ts +2 -2
  401. package/src/domains/dispatch/agent-candidates.ts +1 -1
  402. package/src/domains/dispatch/agent-ledger-store.ts +1 -1
  403. package/src/domains/dispatch/agent-ledger.ts +1 -1
  404. package/src/domains/dispatch/assignment.ts +5 -5
  405. package/src/domains/dispatch/capability-match.ts +10 -0
  406. package/src/domains/dispatch/capacity-lease.ts +2 -5
  407. package/src/domains/dispatch/code-step.ts +1 -1
  408. package/src/domains/dispatch/contract.ts +2 -2
  409. package/src/domains/dispatch/extension.ts +169 -82
  410. package/src/domains/dispatch/fleet-node-prompt.ts +1 -1
  411. package/src/domains/dispatch/fleet-preflight.ts +8 -17
  412. package/src/domains/dispatch/fleet-run.ts +0 -7
  413. package/src/domains/dispatch/gate-decisions.ts +25 -14
  414. package/src/domains/dispatch/host-verification.ts +435 -39
  415. package/src/domains/dispatch/intent-requirements.ts +10 -0
  416. package/src/domains/dispatch/intent.ts +18 -1
  417. package/src/domains/dispatch/joint-route-resolver.ts +1 -1
  418. package/src/domains/dispatch/path-scope.ts +220 -70
  419. package/src/domains/dispatch/placement.ts +2 -2
  420. package/src/domains/dispatch/receipt-findings.ts +1 -1
  421. package/src/domains/dispatch/receipt-integrity.ts +20 -8
  422. package/src/domains/dispatch/reservation-store.ts +0 -23
  423. package/src/domains/dispatch/route-decision.ts +1 -1
  424. package/src/domains/dispatch/route-history.ts +1 -1
  425. package/src/domains/dispatch/route-policy.ts +1 -1
  426. package/src/domains/dispatch/route-readiness.ts +0 -28
  427. package/src/domains/dispatch/run-event-journal.ts +9 -19
  428. package/src/domains/dispatch/state.ts +2 -3
  429. package/src/domains/dispatch/tool-stats.ts +1 -1
  430. package/src/domains/dispatch/transport.ts +47 -40
  431. package/src/domains/dispatch/types.ts +58 -6
  432. package/src/domains/dispatch/worker-protocol.ts +2 -2
  433. package/src/domains/eval/artifacts/store.ts +10 -4
  434. package/src/domains/eval/compare/thresholds.ts +0 -8
  435. package/src/domains/eval/execution-provenance.ts +1 -1
  436. package/src/domains/eval/metrics/token-stream.ts +0 -7
  437. package/src/domains/eval/report.ts +1 -1
  438. package/src/domains/eval/runner.ts +1 -1
  439. package/src/domains/eval/runners/clio-run.ts +7 -6
  440. package/src/domains/eval/runners/external-command.ts +4 -3
  441. package/src/domains/eval/schema/artifact.ts +1 -1
  442. package/src/domains/eval/schema/behavioral-metrics.ts +3 -2
  443. package/src/domains/eval/schema/behavioral.ts +7 -6
  444. package/src/domains/eval/schema/execution-envelope.ts +4 -2
  445. package/src/domains/eval/schema/naming.ts +10 -0
  446. package/src/domains/eval/schema/suite.ts +2 -2
  447. package/src/domains/eval/schema/validate.ts +9 -5
  448. package/src/domains/eval/schema/verdict.ts +4 -2
  449. package/src/domains/eval/store.ts +20 -3
  450. package/src/domains/eval/suites/run.ts +12 -6
  451. package/src/domains/eval/types.ts +1 -1
  452. package/src/domains/eval/workspaces/git.ts +1 -1
  453. package/src/domains/eval/workspaces/temp-copy.ts +1 -1
  454. package/src/domains/evidence/build.ts +13 -5
  455. package/src/domains/evidence/trust-status.ts +10 -1
  456. package/src/domains/extensions/contract.ts +15 -1
  457. package/src/domains/extensions/discovery.ts +238 -41
  458. package/src/domains/extensions/extension.ts +105 -6
  459. package/src/domains/extensions/index.ts +24 -0
  460. package/src/domains/extensions/integrity.ts +189 -0
  461. package/src/domains/extensions/manager.ts +17 -1
  462. package/src/domains/extensions/resource-path.ts +27 -0
  463. package/src/domains/extensions/resources.ts +18 -38
  464. package/src/domains/extensions/snapshot-store.ts +39 -0
  465. package/src/domains/extensions/snapshot.ts +180 -0
  466. package/src/domains/extensions/state.ts +385 -57
  467. package/src/domains/extensions/types.ts +118 -1
  468. package/src/domains/interop/consent.ts +7 -7
  469. package/src/domains/interop/extension.ts +1 -1
  470. package/src/domains/lifecycle/doctor.ts +27 -21
  471. package/src/domains/lifecycle/migrations/2026-09-01-clio-coder-naming.ts +155 -0
  472. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
  473. package/src/domains/lifecycle/migrations/2026-09-01-retire-panes-knobs.ts +59 -0
  474. package/src/domains/lifecycle/migrations/2026-09-01-settings-v2.ts +338 -0
  475. package/src/domains/lifecycle/migrations/index.ts +22 -1
  476. package/src/domains/lifecycle/naming-history.ts +153 -0
  477. package/src/domains/lifecycle/naming-mutable-state.ts +104 -0
  478. package/src/domains/lifecycle/naming-resources.ts +276 -0
  479. package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
  480. package/src/domains/lifecycle/naming-yazi.ts +86 -0
  481. package/src/domains/lifecycle/upgrade-notice.ts +1 -1
  482. package/src/domains/memory/task-memory-handoff.ts +6 -3
  483. package/src/domains/middleware/contract.ts +26 -0
  484. package/src/domains/middleware/extension.ts +24 -24
  485. package/src/domains/middleware/hook-receipts.ts +27 -4
  486. package/src/domains/middleware/hooks-io.ts +65 -32
  487. package/src/domains/middleware/hooks.ts +64 -0
  488. package/src/domains/middleware/index.ts +35 -4
  489. package/src/domains/middleware/marketplace-offer.ts +339 -0
  490. package/src/domains/middleware/registrations.ts +326 -0
  491. package/src/domains/middleware/runtime.ts +30 -2
  492. package/src/domains/middleware/snapshot.ts +20 -7
  493. package/src/domains/mux/contract.ts +195 -25
  494. package/src/domains/mux/detect.ts +23 -6
  495. package/src/domains/mux/dock-controller.ts +365 -0
  496. package/src/domains/mux/extension.ts +7 -1
  497. package/src/domains/mux/index.ts +21 -1
  498. package/src/domains/mux/operations.ts +72 -5
  499. package/src/domains/mux/protocol.ts +19 -6
  500. package/src/domains/mux/socket-client.ts +167 -19
  501. package/src/domains/mux/types.ts +49 -6
  502. package/src/domains/mux/yazi/assets/yazi.toml +2 -2
  503. package/src/domains/mux/yazi/event-stream.ts +6 -4
  504. package/src/domains/mux/yazi/profile.ts +1 -1
  505. package/src/domains/mux/yazi/session.ts +79 -7
  506. package/src/domains/mux/yazi/theme.ts +117 -17
  507. package/src/domains/observability/contract.ts +10 -11
  508. package/src/domains/observability/extension.ts +12 -4
  509. package/src/domains/observability/out-of-turn-usage.ts +2 -2
  510. package/src/domains/observability/projection.ts +15 -91
  511. package/src/domains/observability/trace-store.ts +65 -19
  512. package/src/domains/prompts/compiler.ts +75 -55
  513. package/src/domains/prompts/contract.ts +15 -3
  514. package/src/domains/prompts/extension.ts +100 -12
  515. package/src/domains/prompts/fragments/identity/clio-worker.md +2 -4
  516. package/src/domains/prompts/fragments/identity/clio.md +6 -12
  517. package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
  518. package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
  519. package/src/domains/prompts/fragments/operating/contract.md +7 -15
  520. package/src/domains/prompts/fragments/operating/delegation.md +32 -34
  521. package/src/domains/prompts/fragments/operating/skills.md +11 -18
  522. package/src/domains/prompts/fragments/operating/worker.md +1 -8
  523. package/src/domains/providers/extension.ts +5 -5
  524. package/src/domains/providers/index.ts +1 -1
  525. package/src/domains/providers/knowledge-base-path.ts +1 -1
  526. package/src/domains/providers/model-runtime-capabilities.ts +99 -23
  527. package/src/domains/providers/models/cloud-models/alcf.yaml +1 -1
  528. package/src/domains/providers/models/local-models/{clio-local-coding-targets.yaml → clio-coder-local-coding-targets.yaml} +671 -106
  529. package/src/domains/providers/plugins.ts +1 -1
  530. package/src/domains/providers/resolver.ts +1 -1
  531. package/src/domains/providers/runtime-resolution.ts +31 -0
  532. package/src/domains/providers/runtimes/cloud/alcf.ts +4 -4
  533. package/src/domains/providers/runtimes/common/lmstudio-http.ts +1 -5
  534. package/src/domains/providers/runtimes/common/local-synth.ts +3 -3
  535. package/src/domains/providers/runtimes/common/probe-helpers.ts +9 -4
  536. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
  537. package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
  538. package/src/domains/providers/runtimes/local-native/lmstudio.ts +2 -9
  539. package/src/domains/providers/runtimes/protocol/litellm.ts +1 -91
  540. package/src/domains/providers/types/cost-provenance.ts +19 -0
  541. package/src/domains/providers/types/knowledge-base.ts +13 -0
  542. package/src/domains/providers/types/local-model-quirks.ts +87 -39
  543. package/src/domains/providers/types/target-descriptor.ts +3 -3
  544. package/src/domains/resources/extension.ts +1 -1
  545. package/src/domains/resources/library.ts +6 -6
  546. package/src/domains/resources/prompts/loader.ts +1 -1
  547. package/src/domains/resources/skills/content-hash.ts +7 -6
  548. package/src/domains/resources/skills/evals.ts +1 -1
  549. package/src/domains/resources/skills/install.ts +36 -12
  550. package/src/domains/resources/skills/loader.ts +41 -18
  551. package/src/domains/resources/skills/marketplace.ts +21 -2
  552. package/src/domains/resources/skills/promotion.ts +214 -0
  553. package/src/domains/safety/audit.ts +2 -2
  554. package/src/domains/safety/call-target.ts +1 -1
  555. package/src/domains/safety/finish-contract.ts +2 -1
  556. package/src/domains/safety/loop-detector.ts +7 -4
  557. package/src/domains/safety/run-effects.ts +1 -1
  558. package/src/domains/scheduling/extension.ts +4 -4
  559. package/src/domains/session/archive-readers.ts +9 -1
  560. package/src/domains/session/compaction/branch-summary.ts +4 -0
  561. package/src/domains/session/compaction/compact.ts +1 -1
  562. package/src/domains/session/compaction/tokens.ts +4 -0
  563. package/src/domains/session/context-accounting.ts +1 -1
  564. package/src/domains/session/decision-board.ts +1 -1
  565. package/src/domains/session/extension.ts +1 -1
  566. package/src/domains/session/handoff.ts +2 -2
  567. package/src/domains/session/prompt-manifest.ts +0 -5
  568. package/src/domains/session/protected-artifact-journal.ts +12 -6
  569. package/src/domains/session/retry.ts +1 -1
  570. package/src/domains/session/task-board.ts +10 -9
  571. package/src/domains/share/archive.ts +249 -43
  572. package/src/domains/toolchain/install.ts +1 -1
  573. package/src/engine/acp/adapter.ts +3 -3
  574. package/src/engine/acp/event-mapper.ts +3 -3
  575. package/src/engine/acp/server.ts +89 -35
  576. package/src/engine/acp/tool-mediator.ts +2 -2
  577. package/src/engine/acp/types.ts +1 -1
  578. package/src/engine/alcf-oauth.ts +5 -5
  579. package/src/engine/antigravity/subprocess-runtime.ts +2 -2
  580. package/src/engine/api-registry.ts +1 -1
  581. package/src/engine/apis/llamacpp-residency.ts +4 -23
  582. package/src/engine/apis/lmstudio.ts +4 -9
  583. package/src/engine/apis/ollama-native.ts +9 -9
  584. package/src/engine/apis/openai-completions.ts +30 -27
  585. package/src/engine/apis/output-budget.ts +8 -18
  586. package/src/engine/apis/residency.ts +10 -35
  587. package/src/engine/claude/sdk-module.ts +1 -12
  588. package/src/engine/claude/sdk-runtime.ts +6 -6
  589. package/src/engine/claude/subprocess-runtime.ts +1 -1
  590. package/src/engine/claude/tool-safety.ts +4 -4
  591. package/src/engine/gemma-channel-filter.ts +19 -0
  592. package/src/engine/loop-guard.ts +92 -17
  593. package/src/engine/session.ts +14 -7
  594. package/src/engine/tui-primitives.ts +1 -1
  595. package/src/engine/worker-events.ts +6 -6
  596. package/src/engine/worker-runtime.ts +54 -24
  597. package/src/engine/worker-tools.ts +3 -1
  598. package/src/entry/extension-hook-sources.ts +28 -0
  599. package/src/entry/extension-reload.ts +309 -0
  600. package/src/entry/orchestrator.ts +163 -120
  601. package/src/interactive/application-controller.ts +23 -22
  602. package/src/interactive/bus-notices.ts +10 -3
  603. package/src/interactive/chat-loop-messages.ts +3 -13
  604. package/src/interactive/chat-loop.ts +18 -9
  605. package/src/interactive/chat-panel.ts +37 -14
  606. package/src/interactive/chat-renderer.ts +71 -7
  607. package/src/interactive/clio-editor.ts +105 -1
  608. package/src/interactive/context-activity.ts +8 -6
  609. package/src/interactive/context-meter.ts +3 -6
  610. package/src/interactive/context-overlay.ts +1 -1
  611. package/src/interactive/cost-overlay.ts +1 -1
  612. package/src/interactive/council-grid.ts +2 -2
  613. package/src/interactive/dispatch-board.ts +36 -44
  614. package/src/interactive/editor-bash.ts +21 -0
  615. package/src/interactive/editor-steer.ts +9 -4
  616. package/src/interactive/editor-submit.ts +24 -18
  617. package/src/interactive/external-editor.ts +1 -1
  618. package/src/interactive/file-reference-completion.ts +360 -0
  619. package/src/interactive/footer/dashboard.ts +15 -17
  620. package/src/interactive/footer/notifications.ts +14 -8
  621. package/src/interactive/footer/widgets.ts +15 -44
  622. package/src/interactive/interactive-application.ts +116 -61
  623. package/src/interactive/interactive-event-projection.ts +1 -1
  624. package/src/interactive/interactive-input-runtime.ts +6 -2
  625. package/src/interactive/interactive-presentation.ts +22 -17
  626. package/src/interactive/interactive-shell.ts +2 -2
  627. package/src/interactive/interactive-slash-runtime.ts +65 -17
  628. package/src/interactive/interactive-subscriptions.ts +1 -1
  629. package/src/interactive/interactive-tickers.ts +1 -1
  630. package/src/interactive/keybinding-manager.ts +4 -4
  631. package/src/interactive/layout.ts +1 -1
  632. package/src/interactive/memory-overlay.ts +2 -2
  633. package/src/interactive/modal-marker.ts +2 -21
  634. package/src/interactive/mutation-preview.ts +1 -1
  635. package/src/interactive/overlay-frame.ts +4 -12
  636. package/src/interactive/overlay-general-openers.ts +6 -2
  637. package/src/interactive/overlay-key-routing.ts +7 -7
  638. package/src/interactive/overlay-lifecycle.ts +1 -1
  639. package/src/interactive/overlay-model-selectors.ts +3 -3
  640. package/src/interactive/overlays/agents.ts +2 -2
  641. package/src/interactive/overlays/ask-user.ts +25 -11
  642. package/src/interactive/overlays/context-reset.ts +28 -4
  643. package/src/interactive/overlays/cwd-fallback.ts +28 -4
  644. package/src/interactive/overlays/decisions.ts +4 -2
  645. package/src/interactive/overlays/extensions.ts +9 -1
  646. package/src/interactive/overlays/fleet-run-approval.ts +3 -3
  647. package/src/interactive/overlays/handoff-review.ts +2 -2
  648. package/src/interactive/overlays/help-reference.ts +13 -0
  649. package/src/interactive/overlays/interop.ts +1 -1
  650. package/src/interactive/overlays/library-install-confirm.ts +1 -1
  651. package/src/interactive/overlays/message-picker.ts +1 -1
  652. package/src/interactive/overlays/model-selector.ts +39 -31
  653. package/src/interactive/overlays/prompts.ts +10 -4
  654. package/src/interactive/overlays/session-selector.ts +2 -2
  655. package/src/interactive/overlays/settings.ts +360 -303
  656. package/src/interactive/overlays/side-question.ts +2 -2
  657. package/src/interactive/overlays/skills-hub.ts +8 -8
  658. package/src/interactive/overlays/tree-selector.ts +2 -2
  659. package/src/interactive/panes-runtime.ts +145 -43
  660. package/src/interactive/permission-overlay.ts +2 -2
  661. package/src/interactive/prompt-cache-identity.ts +88 -0
  662. package/src/interactive/renderers/retry-status.ts +12 -4
  663. package/src/interactive/renderers/tool-execution.ts +4 -4
  664. package/src/interactive/session-transcript.ts +3 -3
  665. package/src/interactive/slash-autocomplete.ts +454 -165
  666. package/src/interactive/slash-commands.ts +401 -190
  667. package/src/interactive/slash-spec.ts +160 -17
  668. package/src/interactive/status/controller.ts +2 -2
  669. package/src/interactive/stream-pacing-policy.ts +1 -24
  670. package/src/interactive/tasks-overlay.ts +20 -13
  671. package/src/interactive/terminal-lease.ts +6 -7
  672. package/src/interactive/turn-context.ts +41 -26
  673. package/src/interactive/turn-persistence.ts +2 -2
  674. package/src/interactive/turn-prewarm.ts +2 -2
  675. package/src/interactive/turn-runtime.ts +8 -8
  676. package/src/interactive/turn-state.ts +1 -1
  677. package/src/interactive/view/artifacts.ts +12 -9
  678. package/src/interactive/view/view-overlay.ts +13 -10
  679. package/src/interactive/watch-pane.ts +38 -10
  680. package/src/interactive/welcome-dashboard.ts +15 -15
  681. package/src/interactive/worker-progress.ts +4 -4
  682. package/src/interactive/worker-receipts.ts +1 -1
  683. package/src/interactive/worker-stream.ts +1 -4
  684. package/src/interactive/yazi-bridge.ts +72 -11
  685. package/src/tools/agent-tools.ts +30 -1
  686. package/src/tools/artifact.ts +2 -2
  687. package/src/tools/ask-user.ts +6 -6
  688. package/src/tools/bash.ts +2 -2
  689. package/src/tools/bootstrap.ts +4 -0
  690. package/src/tools/builtin-tool-catalog.ts +52 -22
  691. package/src/tools/codewiki/code-nav-surface.ts +6 -0
  692. package/src/tools/codewiki/code-nav.ts +99 -13
  693. package/src/tools/compete-worktrees.ts +27 -17
  694. package/src/tools/context/docs-engine.ts +20 -7
  695. package/src/tools/context/index.ts +44 -13
  696. package/src/tools/core-bootstrap.ts +28 -6
  697. package/src/tools/credential-present.ts +1 -2
  698. package/src/tools/dispatch-admission.ts +4 -2
  699. package/src/tools/dispatch-arguments.ts +6 -2
  700. package/src/tools/dispatch-plan.ts +48 -15
  701. package/src/tools/dispatch-run-events.ts +13 -11
  702. package/src/tools/dispatch-runner.ts +11 -6
  703. package/src/tools/dispatch-schema.ts +338 -0
  704. package/src/tools/dispatch-types.ts +3 -0
  705. package/src/tools/dispatch.ts +9 -254
  706. package/src/tools/find.ts +1 -6
  707. package/src/tools/ledger.ts +3 -5
  708. package/src/tools/monitor-surface.ts +5 -13
  709. package/src/tools/monitor.ts +4 -4
  710. package/src/tools/observation.ts +4 -5
  711. package/src/tools/observers.ts +0 -33
  712. package/src/tools/panes-surface.ts +4 -11
  713. package/src/tools/panes.ts +4 -2
  714. package/src/tools/policy.ts +15 -2
  715. package/src/tools/read.ts +5 -6
  716. package/src/tools/registry.ts +30 -7
  717. package/src/tools/result-shaping.ts +18 -14
  718. package/src/tools/steer-surface.ts +1 -1
  719. package/src/tools/task-worktree.ts +28 -7
  720. package/src/tools/tasks.ts +1 -1
  721. package/src/tools/truncate.ts +6 -5
  722. package/src/tools/verify/authoring.ts +3 -6
  723. package/src/tools/verify/frontend.ts +1 -1
  724. package/src/tools/verify/surface.ts +6 -12
  725. package/src/tools/web-fetch-surface.ts +1 -3
  726. package/src/tools/web-fetch.ts +1 -1
  727. package/src/worker/entry.ts +4 -3
  728. package/src/worker/protocol.ts +16 -14
  729. package/src/worker/spec-contract.ts +2 -2
  730. package/src/worker/stdin-demux.ts +2 -2
  731. package/dist/chunk-36EJLSQQ.js +0 -814
  732. package/dist/chunk-GXNLGKAB.js +0 -571
  733. package/dist/chunk-K7VKOLQQ.js +0 -15
  734. package/dist/chunk-PMZCIOCJ.js +0 -25
  735. package/dist/chunk-SUCTJL45.js +0 -45
  736. package/dist/chunk-SUW5DORT.js +0 -819
  737. package/dist/chunk-TZ3SGWZZ.js +0 -48
  738. package/dist/chunk-UOV2BYIW.js +0 -107
  739. package/dist/chunk-VFA6GDY5.js +0 -1625
  740. package/dist/doctor-QOA5FNY5.js +0 -313
  741. package/dist/fleet-view-ZCON35AG.js +0 -102
  742. package/dist/panes-HMABYVO4.js +0 -58
  743. package/docs/artifact-versions.md +0 -67
  744. package/docs/documentation-coverage.md +0 -46
  745. package/docs/documentation-guide.md +0 -167
  746. package/docs/release-cut-checklist.md +0 -193
  747. package/docs/time-conventions.md +0 -101
  748. package/skills/meta/clio-test/SKILL.md +0 -133
  749. package/skills/meta/clio-test/references/harness.md +0 -126
  750. package/skills/meta/clio-test/references/test-map.md +0 -69
  751. package/src/engine/apis/degraded-inference.ts +0 -95
package/README.md CHANGED
@@ -21,286 +21,362 @@
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 worker target; 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
- | | You are | Start here |
60
- | --- | --- | --- |
61
- | 🔬 | 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) |
62
- | 🤖 | An AI agent that just landed in this repository | [For agents](#for-agents) |
63
- | 🛠️ | A developer who wants to contribute | [For contributors](#for-contributors) |
64
-
65
- ## Why Clio
66
-
67
- Most coding agents ask you to trust a remote model with a shell. Clio makes a
68
- different bet: the harness should be strong enough that a 20B model on your own
69
- GPU is genuinely useful, and honest enough that you can reconstruct every
70
- decision afterward.
71
-
72
- - **The model never gets a shell by default.** Twenty typed tools in seven
73
- policy planes. Bash is default-deny behind
74
- [damage-control rules](damage-control-rules.yaml) and per-project policy,
75
- reads are bounded, writes are queued and reviewable, and every privileged
76
- call passes through one admission path the model cannot talk its way around.
77
- - **Local models are the design target, not a fallback.** Clio keeps the
78
- compiled prompt and tool schemas byte-stable so a llama.cpp prefix cache
79
- stays hot across turns and sessions, bounds every tool result so one `grep`
80
- cannot blow the window, and records a per-call cache verdict in the ledger
81
- so you can see when and why the cache went cold. It also sends that prefix
82
- ahead of your first keystroke on a session start, a resume, or a compaction,
83
- and counts request slots per inference endpoint rather than per node, so a
84
- fleet cannot admit four workers onto a one-slot server the orchestrator is
85
- already streaming against.
86
- - **Work goes to bounded workers, not one long context.** The orchestrator
87
- dispatches focused agents with explicit tool profiles, call budgets, cost
88
- ceilings, and typed result contracts. A worker that cannot produce a
89
- conforming answer fails loudly instead of returning confident prose.
90
- - **Your cluster is the runtime.** Declare your nodes and the same worker
91
- protocol tunnels over SSH with the same prompts, the same safety matrix, and
92
- the same receipts. Placement is deterministic and pinnable; capacity is
93
- governed by durable leases that survive process death.
94
- - **Everything is auditable.** Every run seals a receipt covering tokens,
95
- priced cost, tool activity, safety decisions, routing, worker attestation,
96
- and result conformance. Default-on scientific commit provenance adds only
97
- the assistance, testing, review, and contributor trailers that this evidence
98
- justifies; it never replaces the human author. Nothing in the audit trail is
99
- reconstructed from prose.
100
- - **Science is a first-class domain.**
101
- [clio-kit](https://github.com/iowarp/clio-kit) adds MCP servers for HDF5,
102
- Slurm, ParaView, Pandas, NetCDF, FITS, Zarr, and ArXiv, and the shipped
103
- skills catalog includes scientific debugging and experiment-protocol guides.
104
-
105
- ## Your models, your choice
106
-
107
- Clio treats models as named **targets**: a runtime, an endpoint, a model, and
108
- credentials. Interactive chat and fleet dispatch can route through different
109
- targets independently, so a strong orchestrator can direct cheap local muscle,
110
- or the reverse.
111
-
112
- | 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.
142
+
143
+ | Target family | Supported routes |
113
144
  | --- | --- |
114
- | `llamacpp`, `llamacpp-anthropic`, `llamacpp-completion` | llama.cpp and llama-swap routers |
115
- | `lmstudio` | LM Studio |
116
- | `ollama-native` | Ollama |
117
- | `vllm`, `sglang` | vLLM and SGLang |
118
- | `lemonade`, `lemonade-anthropic` | Lemonade |
119
- | `openai-compat`, `anthropic-compat` | Any OpenAI- or Anthropic-shaped endpoint |
120
- | `openai`, `anthropic`, `google`, `groq`, `mistral`, `deepseek`, `openrouter`, `bedrock` | Cloud APIs |
121
- | `alcf` | Argonne's Sophia and Metis gateways over Globus OAuth ([guide](docs/alcf-provider.md)) |
122
- | `anthropic-max`, `openai-codex` | Your Claude Pro/Max or ChatGPT Plus/Pro subscription |
123
- | `claude-sdk`, `claude-code`, `antigravity-code` | Claude Code and Google Antigravity as workers behind Clio's permission gate |
124
-
125
- **One GPU with 24 GB or more?** Serve **Qwen3.8-27B** (the
126
- `unsloth/Qwen3.8-27B-GGUF` quantizations) and point both the chat and fleet
127
- targets at it. It is the model this release was hardened against on llama.cpp
128
- and LM Studio: a 4-bit quantization at 131072 context fits in 24 GB with a
129
- q8_0 KV cache, tool calls and reasoning parse cleanly on both runtimes, and
130
- Clio's `thinkingLevel` drives the model's reasoning effort per request. Start
131
- llama.cpp with `--jinja --reasoning on`; LM Studio needs nothing beyond loading
132
- the model. Quantization and context-window details for this and other families
133
- live in [docs/model-catalog.md](docs/model-catalog.md).
134
-
135
- Scripting the same setup the wizard performs:
145
+ | Local inference | llama.cpp, LM Studio, Ollama, vLLM, SGLang, Lemonade |
146
+ | Compatible endpoints | OpenAI-compatible and Anthropic-compatible servers; LiteLLM gateways |
147
+ | Cloud APIs | OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, OpenRouter, Amazon Bedrock |
148
+ | Institutional gateways | Argonne ALCF Sophia and Metis over Globus OAuth |
149
+ | Subscriptions | ChatGPT Plus/Pro through `openai-codex`; Claude Pro/Max through `anthropic-max` |
150
+ | Worker integrations | Claude SDK, Claude Code, Google Antigravity, and configured ACP agents |
151
+
152
+ The interactive wizard is the easiest path:
136
153
 
137
154
  ```bash
138
- clio-coder configure --id local-lmstudio --runtime lmstudio \
139
- --url http://localhost:1234 --model qwen3.8-27b \
140
- --set-orchestrator --set-fleet-default
155
+ clio-coder configure
141
156
  clio-coder targets --probe
157
+ ```
142
158
 
143
- clio-coder auth login anthropic-max # or: openai-codex
144
- clio-coder configure --id claude-sub --runtime anthropic-max --model claude-sonnet-5 --set-orchestrator
159
+ The same setup can be scripted. The model id must match what the server
160
+ advertises unless you deliberately pass `--force`:
161
+
162
+ ```bash
163
+ clio-coder configure \
164
+ --id local-lmstudio \
165
+ --runtime lmstudio \
166
+ --url http://127.0.0.1:1234 \
167
+ --model your-model-id \
168
+ --set-orchestrator \
169
+ --set-fleet-default
170
+
171
+ clio-coder targets use local-lmstudio
172
+ clio-coder targets --probe
145
173
  ```
146
174
 
147
- `--model` must name an id the server advertises; `configure` asks the server
148
- and refuses one it does not list, naming the ids it does. `qwen3.8-27b` is the
149
- id LM Studio gives the recommended model above; substitute whatever `lms ls`
150
- shows for yours.
175
+ Local hardware, quantization, context windows, tool calling, and reasoning
176
+ behavior vary substantially by model and serving runtime. Clio records what it
177
+ can probe, but it does not turn one successful configuration into a universal
178
+ claim. Start with the measured field notes in the
179
+ [Model Catalog](docs/architecture/model-catalog.md), then keep the serving configuration with
180
+ your own results.
151
181
 
152
182
  > [!NOTE]
153
- > Connecting a Claude Pro/Max subscription over OAuth uses the same path as
154
- > Claude Code. Using subscription credentials outside a vendor's first-party
155
- > apps may not align with their terms of service. Enable at your own
156
- > discretion.
183
+ > Subscription OAuth routes use the vendors' existing coding-agent credential
184
+ > paths. Whether a subscription may be used outside a vendor's first-party
185
+ > application depends on that vendor's current terms. Enable those routes at
186
+ > your discretion.
187
+
188
+ The full target, auth, profile, and routing reference is
189
+ [Configuration and Targets](docs/guide/configuration-and-targets.md). The ALCF route
190
+ has a separate [setup guide](docs/architecture/alcf-provider.md).
191
+
192
+ ## Project context that stays with the project
193
+
194
+ Clio uses several layers of context, each with a different job:
195
+
196
+ - **`CLIO-CODER.md`** is the human-owned project handbook loaded for each
197
+ session. `clio-coder context init` can draft it from the repository and adopt
198
+ existing `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, Cursor, or Copilot guidance
199
+ with provenance. You can edit and version it like any other project file.
200
+ - **The codewiki** is a structural index produced by
201
+ `clio-coder context index`. It lets `code_nav` locate files and symbols
202
+ without broad, expensive reads.
203
+ - **The working set** keeps durable tool results in the session ledger while
204
+ controlling which bodies remain in the model window. Evicted content can be
205
+ recalled by reference; history is not silently rewritten.
206
+ - **Skills** are focused `SKILL.md` procedures loaded when needed. The shipped
207
+ catalog pins content hashes, and `clio-coder skills eval <name>` can run a
208
+ skill's executable checks.
209
+ - **Task memory** surfaces bounded reminders during long work and keeps durable
210
+ lessons behind explicit review and approval.
211
+
212
+ Start with:
157
213
 
158
- The full reference, including fleet profiles, per-agent target bindings, and
159
- keeping a small scout model resident beside your main model, is
160
- [docs/configuration-and-targets.md](docs/configuration-and-targets.md).
214
+ ```bash
215
+ clio-coder context init
216
+ clio-coder context
217
+ ```
161
218
 
162
- ## At the keyboard
219
+ Project-generated runtime state lives under the gitignored `.clio-coder/`
220
+ directory. See [Context Engine](docs/architecture/context-engine.md),
221
+ [Working Set](docs/architecture/context-working-set.md), and
222
+ [Proactive Memory](docs/guide/proactive-memory.md) for the detailed contracts.
163
223
 
164
- Run `clio-coder` from the repository you want to work on. The session opens on a
165
- one-line header that names where Clio is working, which route answers, and
166
- whether project context is ready, and then the transcript owns the screen.
167
- Tool calls render as live rows with their verdicts, successful edits render as
168
- numbered diffs, and `!` runs a shell command in the same transcript.
224
+ The local skills marketplace may offer a matching shipped skill during a
225
+ request. Promotion installs are restricted to Clio's own catalog or this
226
+ repository and do not activate the skill automatically. Manual installs remain
227
+ available for a source you deliberately choose. See
228
+ [Skills Marketplace](docs/guide/skills-marketplace.md).
169
229
 
170
- | You want to | Type |
171
- | --- | --- |
172
- | Change model, target, thinking level, autonomy, or terminal options | `/settings`, `/model`, `/thinking` |
173
- | See what is in the context window and what it costs | `/context`, `/cost` |
174
- | Branch, revisit, or pick up a session | `/tree`, `/fork`, `/resume`, `/new` |
175
- | Delegate to a fleet agent and watch it work | `/run coder "..."`, `/tasks`, `Alt+W` |
176
- | Load a skill or bootstrap project context | `/skill <name>`, `/context init` |
177
- | Ask a side question without touching the session, or get a read-only second opinion | `/btw <question>`, `/oracle <question>` |
178
- | Put the same question to several models at once and read one synthesis | `/council --synthesis vote "..."` |
179
- | Preview and run a multi-step fleet contract, resumable from the CLI | `/fleet run <name>` |
180
- | Install agents, prompts, fleets, and skills from a catalog | `/library`, `/library agents` |
181
- | Carry the working state into a fresh session | `/handoff <goal>` |
182
- | Save a self-contained HTML transcript | `/export` (an explicit `.md` path keeps Markdown) |
183
- | Everything else | `/help` |
184
-
185
- Enter while Clio is running steers the current turn; `Alt+Enter` queues a
186
- follow-up; `Esc` cancels. Settings → Terminal offers an opt-in fullscreen mode
187
- with a sticky composer beneath an independently scrollable transcript; regular
188
- terminal scrollback is the default. The complete command and keybinding
189
- reference is [docs/commands-and-modes.md](docs/commands-and-modes.md).
190
-
191
- Outside the TUI, the same engine runs headless and speaks to editors:
230
+ ## Delegate with bounds
231
+
232
+ Clio's orchestrator can send focused assignments to worker agents instead of
233
+ stretching one conversation across every task. A worker receives a declared
234
+ role, tool profile, scope, budget, target, and typed result contract. Reviewers
235
+ and judges remain read-only.
236
+
237
+ On one machine:
238
+
239
+ ```text
240
+ /run tester "Run the focused tests for the parser and explain any failure."
241
+ /tasks
242
+ ```
243
+
244
+ For repeatable workflows, fleet contracts describe steps, dependencies,
245
+ writers, and review gates:
192
246
 
193
247
  ```bash
194
- clio-coder run "Summarize this repository layout and its entry points." # one turn
195
- clio-coder run "<task>" --json # JSONL events for scripts
196
- clio-coder run "<task>" --agent coder # one fleet agent, with a receipt
197
- clio-coder acp # Agent Client Protocol over stdio
248
+ clio-coder fleet new validation-pass --from build-test
249
+ clio-coder fleet validate validation-pass
250
+ clio-coder fleet graph validation-pass
251
+ clio-coder fleet run validation-pass
198
252
  ```
199
253
 
200
- ## Safety you can read
254
+ The same worker protocol can run over SSH on declared nodes. Placement and
255
+ capacity are explicit, a node can be drained without killing active work, and
256
+ completed steps can be resumed from durable evidence. Shared workspaces must
257
+ appear at the same absolute path on every node, and `localhost` always means
258
+ the node where that worker runs.
259
+
260
+ Read [Fleet Dispatch](docs/guide/fleet-dispatch.md) for configuration and invariants,
261
+ or follow the [Fleet Demo Runbook](docs/process/fleet-demo-runbook.md) for an end-to-end
262
+ example.
201
263
 
202
- One tool surface, one admission path. What changes is the autonomy level, set
203
- in `/settings` or per run with `--autonomy`.
264
+ ## Safety and evidence
204
265
 
205
- | Level | Behavior |
266
+ Clio has one tool-admission path and four operator-visible autonomy levels:
267
+
268
+ | Level | What Clio may do |
206
269
  | --- | --- |
207
- | `read-only` | Inspection only. Every mutation and execution is denied. |
208
- | `suggest` | Mutations are proposed and parked for your approval. |
209
- | `auto-edit` | File edits proceed; execution and dispatch still gate. |
210
- | `full-auto` | Approved classes proceed unattended, still inside damage-control rules. |
211
-
212
- Every notice names its mechanism so you always know who stopped a call:
213
- `[safety-net]` for level-independent blocks, `[approval]` for parked calls,
214
- `[autonomy]` for read-only denials, and `[middleware]` for hook diagnostics.
215
- Workers can never exceed the orchestrator's authority; a dispatch can only
216
- narrow it, and reviewers and judges always run read-only. Details:
217
- [docs/safety-model.md](docs/safety-model.md).
218
-
219
- ## One machine or the whole cluster
220
-
221
- Clio's orchestrator delegates to bounded workers. Declare a fleet and those
222
- workers run on other machines over SSH while every guarantee holds: one
223
- admission path, one autonomy matrix, one receipt chain. The implicit `local`
224
- node is always present.
225
-
226
- ```yaml
227
- fleet:
228
- nodes:
229
- - id: node-a
230
- host: node-a.example.net
231
- maxWorkers: 2
232
- - id: node-b
233
- host: node-b.example.net
234
- maxWorkers: 1
270
+ | `read-only` | Inspect only; execution and mutation are denied. |
271
+ | `suggest` | Prepare mutations and wait for approval. |
272
+ | `auto-edit` | Apply file edits; execution and dispatch still pass their gates. |
273
+ | `full-auto` | Run approved action classes unattended, still inside safety-net and project-policy limits. |
274
+
275
+ The safety net applies at every level. Bash starts from a default-deny rule
276
+ pack; reads and observations are bounded; writes are serialized; protected
277
+ paths and project policy can narrow authority further. A worker can never gain
278
+ more authority than the process that dispatched it.
279
+
280
+ Every completed run seals a receipt over the facts Clio actually observed:
281
+ routing, model usage, priced cost where known, tool calls, safety decisions,
282
+ worker identity, timing, and result conformance. Inspect the same evidence from
283
+ the CLI or TUI:
284
+
285
+ ```bash
286
+ clio-coder evidence list
287
+ clio-coder evidence inspect <evidence-id>
288
+ clio-coder trace phases <run-id>
289
+ clio-coder trace tail <run-id>
290
+ ```
291
+
292
+ Evidence helps you audit a run; it does not prove that generated code is
293
+ scientifically correct. Domain validation, reference results, and human review
294
+ remain part of the job. The detailed boundaries are in
295
+ [Safety Model](docs/architecture/safety-model.md), [Observability](docs/architecture/observability.md),
296
+ and [Scientific Validation](docs/process/scientific-validation.md).
297
+
298
+ ## Headless and editor use
299
+
300
+ The interactive TUI and automation surfaces use the same engine:
301
+
302
+ ```bash
303
+ clio-coder run "Summarize this repository's entry points."
304
+ clio-coder run "<task>" --json
305
+ clio-coder run "<task>" --agent coder
306
+ clio-coder acp
235
307
  ```
236
308
 
237
- `clio-coder doctor` preflights every node. `clio-coder fleet list` names the
238
- builtin and discovered contracts, `clio-coder fleet new|validate|graph`
239
- authors a fleet contract from a builtin and checks it without dispatching
240
- anything, `clio-coder fleet run|status` drives and observes work (`fleet run
241
- --resume <runId>` replays a settled prefix), and `clio-coder fleet
242
- drain|resume` closes or reopens admission without interrupting running work.
243
- Contracts may declare a single writer, a gate step that must go red before the
244
- author is trusted, and a plan step whose architect delegates bounded tasks to
245
- a roster at run time. Nodes share the project
246
- filesystem at the same absolute path, and a target URL resolves on the node the
247
- worker runs on, so `localhost` means that node's own inference server. The
248
- end-to-end walkthrough, including a recorded multi-node demo, is in
249
- [docs/fleet-dispatch.md](docs/fleet-dispatch.md) and
250
- [docs/fleet-demo-runbook.md](docs/fleet-demo-runbook.md).
251
-
252
- ## Teach it your project
253
-
254
- **`CLIO-CODER.md`** is the project handbook Clio loads on every session.
255
- `clio-coder context init` drafts one from your actual source tree and can adopt
256
- existing `CLAUDE.md`, `AGENTS.md`, `GEMINI.md`, Cursor, and Copilot context
257
- with provenance. It is yours to edit and version; Clio's own runtime state
258
- stays in a gitignored `.clio-coder/`. A `CLIO-CODER.override.md` in a
259
- subdirectory replaces inherited guidance for that subtree.
260
-
261
- **The codewiki** from `clio-coder context index` is a structural map the
262
- `code_nav` tool navigates, so a model finds a symbol without reading half the
263
- repository into its window.
264
-
265
- **Skills** are reusable `SKILL.md` guides the model loads on demand, discovered
266
- from per-user and per-project roots including `.claude/skills` and
267
- `.codex/skills`. The shipped [catalog](skills/README.md) pins content hashes so
268
- an installed copy verifies against its audited source, and
269
- `clio-coder skills eval <name>` runs a skill's executable evals instead of
270
- trusting the prose.
271
-
272
- **Task memory** keeps long runs from drifting: a rules-only tier with no model
273
- calls watches tool and lifecycle hooks and surfaces advisory reminders at the
274
- right boundaries, `/memory` inspects it, and durable lessons are reviewed with
275
- `clio-coder memory list|propose|approve|reject|prune`. Design notes:
276
- [docs/proactive-memory.md](docs/proactive-memory.md).
309
+ Text mode reserves stdout for the final answer. `--json` emits JSONL events for
310
+ scripts, and `acp` serves Clio over stdio to Agent Client Protocol hosts. Exit
311
+ codes and output guarantees are documented in
312
+ [Exit Codes and Output](docs/guide/exit-codes-and-output.md) and
313
+ [ACP](docs/architecture/acp.md).
314
+
315
+ ## Settings and local state
316
+
317
+ User configuration is a strict `version: 2` YAML document organized into seven
318
+ durable areas: `chat`, `fleet`, `targets`, `context`, `safety`, `interface`, and
319
+ `integrations`. The same names are accepted as `/settings` deep links. Use the
320
+ Settings Center for ordinary changes; use the YAML inventory when you need a
321
+ reviewable lab or fleet configuration.
322
+
323
+ `clio-coder upgrade` migrates older settings before strict readers load them,
324
+ writes the result atomically, and keeps the original `settings.yaml.v1.bak`.
325
+ Conflicting old and new paths stop the migration instead of guessing.
326
+
327
+ Experimental pane, dock, and files-pane integrations are opt-in and off by default;
328
+ Clio does not start or download them unless you explicitly enable
329
+ `interface.panes`.
330
+
331
+ Use `clio-coder paths --json` to locate configuration, durable data, state, and
332
+ cache on the current machine. See the complete
333
+ [Settings Inventory](docs/guide/configuration-and-targets.md#settings-inventory) and
334
+ [Artifact Placement](docs/architecture/artifact-placement.md).
277
335
 
278
336
  ## Install
279
337
 
338
+ Requirements:
339
+
280
340
  - Node.js `>=22.19.0` and npm
281
- - Linux or macOS. Windows is best effort until a stable release.
282
- - At least one model target from the table above
341
+ - Linux or macOS; Windows support is currently best effort
342
+ - At least one local, institutional, subscription, or cloud model target
343
+
344
+ ### Install from npm
345
+
346
+ ```bash
347
+ npm install -g @iowarp/clio-coder
348
+ clio-coder configure
349
+ clio-coder --version
350
+ ```
283
351
 
284
- From npm, [Get started](#get-started) is the whole install. `clio-coder upgrade`
285
- moves an existing install to the latest release; `--channel=beta` follows a
286
- dist-tag instead.
352
+ ### Install from source
287
353
 
288
- From source, pinned to this release:
354
+ From source, pinned to this version:
289
355
 
290
356
  ```bash
291
- git clone --branch v0.4.0 https://github.com/iowarp/clio-coder.git
357
+ git clone --branch v0.4.2 https://github.com/iowarp/clio-coder.git
292
358
  cd clio-coder
359
+ npm ci
293
360
  npm run install:local
294
361
  export PATH="$HOME/.local/bin:$PATH"
295
362
  hash -r
296
363
  "$HOME/.local/bin/clio-coder" --version
297
364
  ```
298
365
 
299
- `npm run install:local` builds the CLI, links it at
300
- `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}/clio-coder`, and initializes the home.
301
- Put the `export PATH` line in your shell profile. If an older install is on your
302
- `PATH`, `command -v clio-coder` shows which file the bare name reaches; the
303
- installer warns when it finds one.
366
+ `npm run install:local` builds and links the launcher at
367
+ `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}/clio-coder`. Run
368
+ `command -v clio-coder` to see which installation the bare command reaches;
369
+ your shell may otherwise keep resolving an older launcher earlier on `PATH`.
370
+ Clone the default branch instead only when you deliberately want the current
371
+ development tree.
372
+
373
+ Upgrade and diagnose without deleting state:
374
+
375
+ ```bash
376
+ clio-coder upgrade
377
+ clio-coder doctor
378
+ clio-coder doctor --fix
379
+ ```
304
380
 
305
381
  To remove it, preview first:
306
382
 
@@ -309,179 +385,135 @@ clio-coder uninstall --dry-run
309
385
  clio-coder uninstall --remove-binary --force
310
386
  ```
311
387
 
312
- Full lifecycle details, including `reset` and the upgrade path, are in
313
- [docs/installation-and-lifecycle.md](docs/installation-and-lifecycle.md).
388
+ The full directory, permission, reset, migration, and uninstall behavior is in
389
+ [Installation and Lifecycle](docs/guide/installation-and-lifecycle.md).
390
+
391
+ ## Project status
314
392
 
315
- ## Status
393
+ The latest release is available from npm as
394
+ [`@iowarp/clio-coder`](https://www.npmjs.com/package/@iowarp/clio-coder) and
395
+ from [GitHub Releases](https://github.com/iowarp/clio-coder/releases/latest).
396
+ The exact release history belongs in the [CHANGELOG](CHANGELOG.md).
316
397
 
317
- The current release is **v0.4.0**, installable from npm as
318
- [`@iowarp/clio-coder`](https://www.npmjs.com/package/@iowarp/clio-coder) or
319
- from source. Clio Coder is still experimental: we ship quickly, interfaces may
320
- change between minor versions, and model-specific behavior varies by target, so
321
- keep important repositories under version control and review what it proposes.
322
- Release notes live in the [CHANGELOG](CHANGELOG.md); every release is gated by
323
- the deterministic `npm run ci:release` suite.
398
+ Clio Coder is still experimental. Interfaces may change between minor
399
+ versions, and model behavior varies by target and serving configuration. Keep
400
+ important work under version control, review proposed changes, and treat
401
+ model-dependent results as measurements rather than promises.
324
402
 
325
403
  ### Troubleshooting
326
404
 
327
- | Problem | Try this |
405
+ | Problem | First check |
328
406
  | --- | --- |
329
- | `clio-coder: command not found` | Run `npm run install:local`, then `hash -r`; confirm `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}` is on `PATH`. |
330
- | No model target is available | Run `clio-coder configure`, then `clio-coder targets --probe`. |
331
- | Local model does not respond | Confirm the server is running and the target URL is correct; `clio-coder targets` shows what Clio sees. |
332
- | Cloud model auth fails | Check `clio-coder auth status <target>` and verify the API key or login flow. |
333
- | A fleet node never gets work | Run `clio-coder doctor`; per-node preflight reports filesystem parity and target facts. |
334
- | State appears corrupted | Run `clio-coder doctor`, then `clio-coder doctor --fix`. |
335
-
336
- When filing an issue, include `clio-coder --version`, `node --version`,
337
- `clio-coder doctor`, and `clio-coder targets`. Redact secrets, private prompts,
338
- logs, and proprietary code. [docs/troubleshooting.md](docs/troubleshooting.md)
339
- is keyed by exact user-facing messages.
340
-
341
- ---
342
-
343
- # For agents
344
-
345
- If you are an AI agent operating inside this repository or driving Clio as a
346
- tool, start here.
347
-
348
- **Orient from the index, not from a wide read.** `clio-coder context index`
349
- builds a codewiki over the roughly 1,200 source and test files; use `code_nav`
350
- in `entries`, `path`, or `symbol` mode first. The indexed entry points are
351
- `src/cli/index.ts`, `src/domains/agents/index.ts`,
352
- `src/domains/components/index.ts`, `src/domains/config/index.ts`,
353
- `src/domains/context/bootstrap.ts`, `src/domains/context/index.ts`,
354
- `src/domains/dispatch/index.ts`, and `src/domains/eval/index.ts`. Then read the
355
- local `CLIO-CODER.md`; it carries the project-specific invariants and traps
356
- that are not obvious from the source. `docs/` is source-aligned: when prose and
357
- source disagree, trust source, tests, and `CHANGELOG.md`.
358
-
359
- **The tool surface** is twenty tools in seven planes. Each plane is one policy
360
- unit covering action class, size posture, result schema, and concurrency rule.
361
-
362
- | Plane | Tools | Posture |
363
- | --- | --- | --- |
364
- | OBSERVE | `read`, `grep`, `find`, `ls`, `code_nav`, `context`, `credential_present` | Read class, parallel, bounded by a truncation envelope |
365
- | MUTATE | `write`, `edit` | Write class, sequential, queued through the file-mutation queue |
366
- | EXECUTE | `bash`, `git`, `verify` | Containment posture; `bash` is default-deny, `git` is read-only inspection |
367
- | ORCHESTRATE | `dispatch`, `monitor`, `steer`, `tasks`, `ledger` | Dispatch class, sequential except read-only `monitor` |
368
- | RETRIEVE | `web_fetch` | Network read, parallel |
369
- | INTERACT | `ask_user` | Host-owned operator interview |
370
- | ARTIFACT | `artifact` | Plans, reviews, and reports as durable artifacts |
371
-
372
- Every observation carries a truncation envelope with offload paths and next
373
- hints, so a large result is bounded rather than silently cut. Parameters and
374
- payloads: [docs/tool-usage.md](docs/tool-usage.md).
375
-
376
- **Dispatch** goes through one tool, one admission chain, and one autonomy
377
- matrix. `task` runs one assignment; `tasks: [...]` fans out; `mode:
378
- "sequential"` and `mode: "pipeline"` chain steps; `detach: true` returns ids to
379
- collect later with `monitor` in `collect` mode; `review: {...}` adds a
380
- read-only verifier gate; `mode: "compete"` runs two to four candidates in
381
- scratch worktrees behind a read-only judge. Every dispatch carries a typed
382
- `ExecutionRole` and answers a typed result contract; a cited line in a
383
- `scout-report` must fall inside a span the run actually read. The built-in
384
- fleet is `architect`, `coder`, `tester`, `verifier`, `debugger`, `documenter`,
385
- `scout`, `researcher`, `provenance`, and `git-master`
386
- ([docs/built-in-agents.md](docs/built-in-agents.md)); pin an id from it, since
387
- `agent: "auto"` is a fallback, not a router.
388
-
389
- **Every run seals a receipt** covering routing intent, the resolved route,
390
- worker attestation, priced cost, phase timing, tool activity, safety decisions,
391
- and result conformance. `clio-coder evidence inspect` and `/view verify <runId>`
392
- check them; `clio-coder trace` reads the same store.
393
- [docs/observability.md](docs/observability.md) has the shapes.
394
-
395
- ```bash
396
- clio-coder run "<task>" --json # one headless turn, JSONL events
397
- clio-coder acp # ACP v1 over stdio
398
- clio-coder fleet run <contract> # run a fleet DAG contract
399
- clio-coder evidence build|inspect|list # deterministic evidence artifacts
400
- clio-coder eval validate|run|report|compare|gate
401
- ```
402
-
403
- ---
407
+ | `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`. |
408
+ | No usable model target | Run `clio-coder configure`, then `clio-coder targets --probe`. |
409
+ | A local server does not answer | Verify the server process, URL, advertised model id, and `clio-coder targets` health row. |
410
+ | Cloud or subscription authentication fails | Run `clio-coder auth status <target-or-runtime>` and repeat the appropriate login flow. |
411
+ | A fleet node receives no work | Run `clio-coder doctor`; inspect node preflight, shared path, target reachability, and drain status. |
412
+ | Local state appears damaged | Run read-only `clio-coder doctor` first; use `doctor --fix` only for the repairs it offers. |
413
+
414
+ When reporting a problem, include `clio-coder --version`, `node --version`,
415
+ `clio-coder doctor`, and `clio-coder targets`. Redact credentials, private
416
+ prompts, proprietary code, and sensitive logs. The
417
+ [Troubleshooting Guide](docs/guide/troubleshooting.md) is keyed to user-facing errors.
418
+
419
+ ## For agents working on Clio Coder
420
+
421
+ If you are an AI agent entering this repository, orient narrowly before making
422
+ changes:
423
+
424
+ 1. Read [CONTRIBUTING.md](CONTRIBUTING.md), then the guide for the subsystem you
425
+ will touch in the [documentation index](docs/README.md). If a local
426
+ `CLIO-CODER.md` exists, read it for checkout-specific instructions.
427
+ 2. Start at the owning entry point. The main source roots are `src/cli/`,
428
+ `src/core/`, `src/domains/`, `src/engine/`, `src/entry/`,
429
+ `src/interactive/`, `src/tools/`, and `src/worker/`.
430
+ 3. Use `rg` and focused reads. Do not infer current behavior from release notes
431
+ or a similarly named legacy path.
432
+ 4. Treat source, schema validation, and contract tests as authoritative when a
433
+ document disagrees. Fix the document in the same change.
434
+ 5. Run the narrowest relevant test while iterating, then the repository gate
435
+ before handing work back.
436
+
437
+ Useful orientation:
438
+
439
+ | Concern | Start here |
440
+ | --- | --- |
441
+ | Source layout and domain boundaries | [Architecture](docs/architecture/architecture.md) |
442
+ | CLI and slash-command contracts | [Commands and Modes](docs/guide/commands-and-modes.md) |
443
+ | Tool schemas and bounded results | [Tool Usage](docs/guide/tool-usage.md) |
444
+ | Dispatch admission and worker mechanics | [Fleet Dispatch](docs/guide/fleet-dispatch.md), [Worker Dispatch](docs/architecture/worker-dispatch-mechanics.md) |
445
+ | Configuration schema and target resolution | [Configuration and Targets](docs/guide/configuration-and-targets.md) |
446
+ | Sessions, context, and persistence | [Session Lifecycle](docs/architecture/session-lifecycle.md), [Context Engine](docs/architecture/context-engine.md) |
447
+ | Safety and evidence | [Safety Model](docs/architecture/safety-model.md), [Observability](docs/architecture/observability.md) |
404
448
 
405
- # For contributors
449
+ ## For contributors
406
450
 
407
- The fastest way in is to fix something you hit while using Clio on your own
408
- research code. [CONTRIBUTING.md](CONTRIBUTING.md) covers setup, architecture
409
- invariants, branch and commit conventions, and the review rubric; security
410
- reports go through [SECURITY.md](SECURITY.md), not public issues.
451
+ The most valuable contributions often begin with a real obstacle in your own
452
+ research or software work. [CONTRIBUTING.md](CONTRIBUTING.md) covers setup,
453
+ architecture boundaries, commit conventions, and review expectations. Report
454
+ security issues through [SECURITY.md](SECURITY.md), not a public issue.
411
455
 
412
456
  ```bash
413
457
  npm ci
414
- npm run dev # tsup watch build
415
- npm run ci # typecheck, lint and hygiene, skills pin check, build, tests
416
- npm run ci:release # ci plus the dist and package audit that gates a release
458
+ npm run dev # rebuild on source changes
459
+ npm run ci # types, hygiene, build, deterministic tests
460
+ npm run ci:release # CI plus distribution and package audit
417
461
  ```
418
462
 
419
463
  | Check | Command |
420
464
  | --- | --- |
421
465
  | Types | `npm run typecheck` |
422
- | Style and domain boundaries | `npm run lint` |
423
- | One suite | `npm run test:file -- tests/contracts/<name>.test.ts` |
424
- | Everything | `npm run test` |
425
-
426
- Conventions worth knowing before your first PR: local imports end in `.js`,
427
- tests use `node:test`, `any` needs a tracking issue, and compile-time
428
- boundaries between domains are enforced by the hygiene lint rather than by
429
- convention. Read [docs/architecture.md](docs/architecture.md) before adding a
430
- cross-domain import. Live model validation (`npm run live:smoke -- --target <id>`) and the
431
- SWE-bench, SciCode, and Terminal-Bench harnesses under `benchmarks/` are
432
- separate and opt-in, because no deterministic suite can promise that every
433
- local model behaves identically.
466
+ | Formatting, lint, and architecture hygiene | `npm run lint` |
467
+ | One contract file | `npm run test:file -- tests/contracts/<name>.test.ts` |
468
+ | Deterministic suite | `npm test` |
469
+ | Distribution package | `node scripts/check-release.mjs` |
470
+
471
+ Local imports end in `.js`, tests use `node:test`, and compile-time domain
472
+ boundaries are enforced by repository hygiene checks. Live target measurements
473
+ and the reference suites under `evals/` are explicit operator runs; they are
474
+ not hidden inside deterministic CI.
434
475
 
435
476
  ## Documentation
436
477
 
437
- The full set lives under [docs/](docs/README.md); from a source checkout,
438
- `clio-coder docs` serves the interactive blueprints locally. The pages people
439
- reach for most:
478
+ The [documentation index](docs/README.md) groups guides for users, operators,
479
+ researchers, and contributors. From a source checkout, `clio-coder docs` serves
480
+ the interactive blueprints locally. Frequently used pages:
440
481
 
441
482
  | Topic | Guide |
442
483
  | --- | --- |
443
- | Commands, slash commands, keybindings, operating posture | [commands-and-modes.md](docs/commands-and-modes.md) |
444
- | Targets, local model configuration, fleet profiles, auth | [configuration-and-targets.md](docs/configuration-and-targets.md) |
445
- | Model catalog, quantizations, context windows, quirks | [model-catalog.md](docs/model-catalog.md) |
446
- | Safety posture, default-deny Bash, damage-control rules | [safety-model.md](docs/safety-model.md) |
447
- | Multi-node fleet dispatch and the demo runbook | [fleet-dispatch.md](docs/fleet-dispatch.md), [fleet-demo-runbook.md](docs/fleet-demo-runbook.md) |
448
- | Built-in agents and dispatch admission | [built-in-agents.md](docs/built-in-agents.md) |
449
- | Context window, token accounting, compaction | [context-engine.md](docs/context-engine.md) |
450
- | Sessions, the ledger, `/tree`, `/fork`, `/resume` | [session-lifecycle.md](docs/session-lifecycle.md) |
451
- | Receipts, evidence, and `clio-coder trace` | [observability.md](docs/observability.md) |
452
- | The twenty tools, parameter by parameter | [tool-usage.md](docs/tool-usage.md) |
453
- | Exit codes, `--help`, and `--json` contracts | [exit-codes-and-output.md](docs/exit-codes-and-output.md) |
454
- | Install, upgrade, reset, uninstall | [installation-and-lifecycle.md](docs/installation-and-lifecycle.md) |
455
- | Adding a runtime or inference server | [provider-adapter-cookbook.md](docs/provider-adapter-cookbook.md) |
456
- | Source layout and domain boundaries | [architecture.md](docs/architecture.md) |
484
+ | Install, upgrade, reset, uninstall | [Installation and Lifecycle](docs/guide/installation-and-lifecycle.md) |
485
+ | Targets, auth, settings, fleet profiles | [Configuration and Targets](docs/guide/configuration-and-targets.md) |
486
+ | Commands, keybindings, and modes | [Commands and Modes](docs/guide/commands-and-modes.md) |
487
+ | Project context and context windows | [Context Engine](docs/architecture/context-engine.md) |
488
+ | Safety rules and autonomy | [Safety Model](docs/architecture/safety-model.md) |
489
+ | Fleet and multi-node execution | [Fleet Dispatch](docs/guide/fleet-dispatch.md) |
490
+ | Receipts, traces, and evidence | [Observability](docs/architecture/observability.md) |
491
+ | Exact CLI output contracts | [Exit Codes and Output](docs/guide/exit-codes-and-output.md) |
457
492
 
458
493
  ## Heritage
459
494
 
460
- Clio Coder is developed by the [Gnosis Research Center](https://grc.iit.edu)
461
- at the [Illinois Institute of Technology](https://www.iit.edu) in collaboration
462
- with the University of Utah. IOWarp and the CLIO architecture are funded by the
495
+ Clio Coder is developed by the
496
+ [Gnosis Research Center](https://grc.iit.edu) at the
497
+ [Illinois Institute of Technology](https://www.iit.edu) in collaboration with
498
+ the University of Utah. IOWarp and the CLIO architecture are funded by the
463
499
  National Science Foundation under
464
500
  [Award #2411318](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2411318) for
465
501
  2024 through 2029. Principal Investigator: Dr. Xian-He Sun. Co-Principal
466
502
  Investigators: Dr. Anthony Kougkas, Dr. Jake Hochhalter, and Dr. Vivek
467
503
  Srikumar.
468
504
 
469
- Clio Coder is the interactive coding orchestrator in a larger ecosystem:
505
+ Clio Coder is one part of a larger ecosystem:
470
506
  [clio-core](https://github.com/iowarp/clio-core) is the tiered data and context
471
- storage layer, and [clio-kit](https://github.com/iowarp/clio-kit) is a suite of
472
- [Model Context Protocol](https://modelcontextprotocol.io) servers exposing 150+
473
- tools for scientific computing.
474
-
475
- It is built on the **Pi Agent Framework** from
476
- [Earendil Works](https://github.com/earendil-works)
477
- ([pi-ai](https://www.npmjs.com/package/@earendil-works/pi-ai),
478
- [pi-tui](https://www.npmjs.com/package/@earendil-works/pi-tui), and
479
- [pi-agent-core](https://www.npmjs.com/package/@earendil-works/pi-agent-core)),
480
- the **Anthropic Claude Agent SDK** for Claude Code worker runs, the **Agent
481
- Client Protocol** for editor frontends, and **Globus Auth** for ALCF's inference
482
- gateways. Subagents and prompt techniques are evaluated against
483
- [SWE-bench](https://www.swebench.com) and SciCode, with structured execution
484
- evidence matched against baselines to catch silent regressions.
507
+ storage layer, and [clio-kit](https://github.com/iowarp/clio-kit) provides
508
+ [Model Context Protocol](https://modelcontextprotocol.io) servers for
509
+ scientific data and computing tools.
510
+
511
+ It builds on the **Pi Agent Framework** from
512
+ [Earendil Works](https://github.com/earendil-works), the **Anthropic Claude
513
+ Agent SDK** for supported Claude worker runs, the **Agent Client Protocol** for
514
+ editor frontends, and **Globus Auth** for ALCF inference gateways. The repository
515
+ also ships a local eval engine and reviewable reference suites under `evals/`
516
+ for reproducible, operator-run measurements.
485
517
 
486
518
  ---
487
519