@iowarp/clio-coder 0.4.5 → 0.4.7

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 (700) hide show
  1. package/.claude-plugin/marketplace.json +283 -0
  2. package/CHANGELOG.md +74 -0
  3. package/CONTRIBUTING.md +116 -38
  4. package/NOTICE +24 -0
  5. package/README.md +341 -682
  6. package/dist/{acp-H3CU2HBQ.js → acp-W3Y3TRHD.js} +12 -12
  7. package/dist/{agents-IXQQZ7BD.js → agents-J4ICNLQ3.js} +57 -56
  8. package/dist/assets/codewiki.json +1 -1
  9. package/dist/assets/tui-notices/get-east-asian-width-LICENSE +9 -0
  10. package/dist/assets/tui-notices/marked-LICENSE +44 -0
  11. package/dist/assets/tui-notices/pi-tui-LICENSE +21 -0
  12. package/dist/{auth-R7KYF7N3.js → auth-X2UJUMOC.js} +25 -25
  13. package/dist/{builtins-CRFDQUVP.js → builtins-XLXWWSRF.js} +6 -6
  14. package/dist/{chunk-DZK63TZJ.js → chunk-24S3DN22.js} +336 -612
  15. package/dist/{chunk-NTK3WTHM.js → chunk-24TOGHPO.js} +2 -2
  16. package/dist/{chunk-M6TAYK66.js → chunk-2O2LVQQK.js} +11 -4
  17. package/dist/{chunk-OQM5IVJY.js → chunk-34XHRVKG.js} +3 -3
  18. package/dist/{chunk-LY4N4TTL.js → chunk-3LXJOICS.js} +2 -2
  19. package/dist/{chunk-SE4ZKILO.js → chunk-3XE4NRLF.js} +30 -9
  20. package/dist/{chunk-YYB3MC65.js → chunk-4MFBBY2Z.js} +3 -3
  21. package/dist/{chunk-5VTJP36Q.js → chunk-4N2RZ4TO.js} +2 -2
  22. package/dist/{chunk-FKIOX6DS.js → chunk-4QKAITQT.js} +10 -5
  23. package/dist/chunk-4UHVS5T7.js +207 -0
  24. package/dist/{chunk-VLPTKCKT.js → chunk-5AJPUR72.js} +6 -6
  25. package/dist/{chunk-5CY4Q6QI.js → chunk-5EQO5NWP.js} +105 -3
  26. package/dist/{chunk-RXIOCVBZ.js → chunk-65BGHOUR.js} +8 -5
  27. package/dist/{chunk-T53XI6I7.js → chunk-6CA2BHOR.js} +2 -2
  28. package/dist/{chunk-HL26ADLH.js → chunk-6CB2IL4N.js} +2 -1
  29. package/dist/{chunk-HR3HPQ76.js → chunk-6LRLOJHQ.js} +3 -3
  30. package/dist/{chunk-HXHFDHB6.js → chunk-6TAATXXH.js} +6 -6
  31. package/dist/{chunk-WFKDPU7U.js → chunk-6YHPAAZR.js} +3 -3
  32. package/dist/{chunk-ZMZQEBKI.js → chunk-7EEGBKV4.js} +11 -11
  33. package/dist/{chunk-BS4GAMUB.js → chunk-A67NR5AT.js} +2 -2
  34. package/dist/{chunk-WJIMKGD6.js → chunk-BAU36233.js} +8 -8
  35. package/dist/{chunk-MDU3C27C.js → chunk-BO4XV5VX.js} +8 -8
  36. package/dist/{chunk-KF6GFW6O.js → chunk-BQQ5MXUC.js} +11 -11
  37. package/dist/{chunk-K6RDB7IA.js → chunk-C3G5PNUO.js} +23 -23
  38. package/dist/{chunk-SRZOW5L2.js → chunk-C6GEXX4L.js} +1 -1
  39. package/dist/{chunk-U2JOLB7O.js → chunk-CE64C5K5.js} +227 -72
  40. package/dist/chunk-CP3HIR5H.js +2119 -0
  41. package/dist/{chunk-BBV5TKE6.js → chunk-CPXGJI2A.js} +2 -2
  42. package/dist/{chunk-5DDOTTG4.js → chunk-CULVKYTK.js} +5 -5
  43. package/dist/{chunk-F34AR6O3.js → chunk-D2T66PDV.js} +6 -6
  44. package/dist/{chunk-NF3BK5WR.js → chunk-DACXIVVF.js} +5 -5
  45. package/dist/{chunk-4SVIVOMC.js → chunk-DLIYANB7.js} +20 -15
  46. package/dist/{chunk-E3BQTQUP.js → chunk-DO7M3LSX.js} +9 -9
  47. package/dist/{chunk-2QPI3TR3.js → chunk-DVJL77SO.js} +2 -2
  48. package/dist/chunk-EM2WNQS2.js +93 -0
  49. package/dist/{chunk-ODUTYZIU.js → chunk-EUEXGXXR.js} +5 -5
  50. package/dist/{chunk-UL36QJX6.js → chunk-EUZRMP4Y.js} +18 -16
  51. package/dist/{chunk-R6MAYTMS.js → chunk-G4LGUTOE.js} +4 -4
  52. package/dist/{chunk-CBSKDFWL.js → chunk-GEVQNST4.js} +2 -2
  53. package/dist/{chunk-XXBQKW32.js → chunk-GFQ7P2UF.js} +7 -7
  54. package/dist/{chunk-SBZX6ARC.js → chunk-GI5RRMAH.js} +14 -14
  55. package/dist/{chunk-KDWLXVMN.js → chunk-GVZFCJHE.js} +343 -113
  56. package/dist/{chunk-633EXGZA.js → chunk-GXIWHXDB.js} +3 -3
  57. package/dist/{chunk-LUL5Z66S.js → chunk-HOX4YZ2K.js} +6 -5
  58. package/dist/chunk-HRAKUPIH.js +57 -0
  59. package/dist/{chunk-KYKNBD4Y.js → chunk-IJMW64DX.js} +978 -258
  60. package/dist/{chunk-DIMRLNIC.js → chunk-IMOD2YPV.js} +16 -9
  61. package/dist/{chunk-6CDNRHWH.js → chunk-IQCNVLO6.js} +28 -8
  62. package/dist/{chunk-UTUNT5QL.js → chunk-ISNCCX42.js} +9 -9
  63. package/dist/{chunk-RLTT5GVY.js → chunk-IZYTT3CD.js} +9 -5
  64. package/dist/{chunk-5ZMXGW7P.js → chunk-KAFMW7WM.js} +4 -85
  65. package/dist/chunk-KKEYGFX4.js +915 -0
  66. package/dist/{chunk-HHVJNVUJ.js → chunk-KS7ETA3P.js} +2 -2
  67. package/dist/{chunk-UXAC2FX4.js → chunk-L3Z5ANCV.js} +7 -7
  68. package/dist/{chunk-EHCPSZJF.js → chunk-LBFQMYS3.js} +2 -2
  69. package/dist/{chunk-QEQISF75.js → chunk-LK2FN5JY.js} +1 -1
  70. package/dist/{chunk-URBGEOH3.js → chunk-M6Z2V6YU.js} +5 -5
  71. package/dist/{chunk-DRD2A54W.js → chunk-MBJO5VNZ.js} +18 -18
  72. package/dist/chunk-MNQN3X6Y.js +595 -0
  73. package/dist/{chunk-GXCCHKN6.js → chunk-MZHXENL7.js} +7 -7
  74. package/dist/chunk-MZNWZUJM.js +1801 -0
  75. package/dist/{chunk-7YJWEF2L.js → chunk-N37QC5FV.js} +5 -5
  76. package/dist/{chunk-WLMSOT73.js → chunk-NCCQ6DVS.js} +7 -7
  77. package/dist/{chunk-TZ7MFRG4.js → chunk-NO7J45X6.js} +170 -53
  78. package/dist/chunk-OH3YYA3B.js +15 -0
  79. package/dist/{chunk-22PQ4TX4.js → chunk-P4DL2LM5.js} +16 -77
  80. package/dist/{chunk-R6MICQYU.js → chunk-PFLOULP3.js} +4 -4
  81. package/dist/{chunk-MC3JSVR6.js → chunk-QJMRYTCX.js} +7 -7
  82. package/dist/{chunk-ILJ7DWGE.js → chunk-QKWL7SYE.js} +12 -12
  83. package/dist/chunk-R2CT5YDO.js +66 -0
  84. package/dist/chunk-RFCKPS2V.js +26 -0
  85. package/dist/{chunk-ONRTXOZY.js → chunk-RTLNFZMD.js} +12 -4
  86. package/dist/{chunk-U7H5WRG5.js → chunk-RXFPB32E.js} +8 -6
  87. package/dist/{chunk-S32UQ5GL.js → chunk-SEDI5K5B.js} +18 -18
  88. package/dist/{chunk-ICO4TQ2F.js → chunk-SELG4SUR.js} +41 -25
  89. package/dist/{chunk-YEJIG7LN.js → chunk-SER7RRAE.js} +27 -832
  90. package/dist/{chunk-K2HL3GBL.js → chunk-T4TY5GG3.js} +165 -15
  91. package/dist/chunk-T7QQBNLH.js +691 -0
  92. package/dist/{chunk-HGSLRG33.js → chunk-TLTGZTXI.js} +3 -3
  93. package/dist/chunk-TZ6UVP2H.js +637 -0
  94. package/dist/{chunk-EWD5P3GK.js → chunk-TZHN5ITX.js} +13 -41
  95. package/dist/{chunk-7TKWWPD7.js → chunk-U3TPUXOQ.js} +398 -253
  96. package/dist/{chunk-GNQRWTMY.js → chunk-UA3W4FGC.js} +6 -6
  97. package/dist/{chunk-O2RQ7LCK.js → chunk-UA6W4XFJ.js} +2 -2
  98. package/dist/chunk-UWD3JD5X.js +709 -0
  99. package/dist/chunk-V4ZKOKRB.js +13433 -0
  100. package/dist/{chunk-NC4KV7EL.js → chunk-VCRVEDUC.js} +5 -5
  101. package/dist/{chunk-I7VLWRK2.js → chunk-VMATUZB6.js} +12 -10
  102. package/dist/{chunk-J2FYEQ5L.js → chunk-VTYHHQ57.js} +2 -2
  103. package/dist/chunk-WB7POC6M.js +891 -0
  104. package/dist/{chunk-GVYWZNRK.js → chunk-WBVKKTUT.js} +2 -2
  105. package/dist/{chunk-EHOSNVVM.js → chunk-WLHX3MM5.js} +6 -2
  106. package/dist/{chunk-SDWNDICN.js → chunk-WN552PKN.js} +573 -316
  107. package/dist/{chunk-TEG3RYVZ.js → chunk-WT5TRMO4.js} +51 -26
  108. package/dist/{chunk-NY6IWDVU.js → chunk-WURGVOZJ.js} +56 -12
  109. package/dist/{chunk-7WUZEB2M.js → chunk-XR3XJN2M.js} +2 -2
  110. package/dist/chunk-XW2UZICE.js +372 -0
  111. package/dist/{chunk-FSTIBAGM.js → chunk-XZ6UFQ52.js} +11 -11
  112. package/dist/chunk-Y3JU5RPK.js +8 -0
  113. package/dist/chunk-YKRJTYNP.js +1143 -0
  114. package/dist/{chunk-7HBHHVCK.js → chunk-YPRSNUTC.js} +2 -2
  115. package/dist/{chunk-PWWSIB2A.js → chunk-ZGIGW4ZG.js} +5 -5
  116. package/dist/cli/index.js +34 -36
  117. package/dist/{clio-5I2IBFYL.js → clio-L2P7S2R2.js} +9 -9
  118. package/dist/{code-nav-YXIAEZVS.js → code-nav-B5LNX4KU.js} +25 -25
  119. package/dist/{components-TNIKXCBH.js → components-63MMQKUT.js} +6 -6
  120. package/dist/{config-Y2JDJ3JJ.js → config-YXARKGTX.js} +81 -77
  121. package/dist/configure-LMVQJ46J.js +85 -0
  122. package/dist/{context-QQ53HSGJ.js → context-7HJEWTTP.js} +92 -48
  123. package/dist/{context-S2EEC3EJ.js → context-XSZKKFBW.js} +14 -14
  124. package/dist/{context-P5YSEO55.js → context-YG2LZDYZ.js} +67 -64
  125. package/dist/{context-clear-TMEQCOTH.js → context-clear-AC5NXHM2.js} +64 -61
  126. package/dist/{context-index-HP2JFUWA.js → context-index-KKTPRV5G.js} +3 -3
  127. package/dist/{context-map-INTXD54D.js → context-map-T7ROR5D5.js} +4 -4
  128. package/dist/{context-working-set-CNLSQN5K.js → context-working-set-F4Q4J3NS.js} +15 -12
  129. package/dist/{detail-5572VLBO.js → detail-H73BEF2N.js} +65 -62
  130. package/dist/{dispatch-runner-FRHD6P2O.js → dispatch-runner-3RY5FSJC.js} +83 -80
  131. package/dist/{doctor-N3LCM2LG.js → doctor-EQYJOGUG.js} +47 -32
  132. package/dist/{eval-BUU3ZOUZ.js → eval-4P7O6CCE.js} +114 -50
  133. package/dist/{evidence-DTGEN456.js → evidence-D6GUSYJW.js} +64 -61
  134. package/dist/{evidence-SQ5DNFEN.js → evidence-O76QF7TZ.js} +69 -65
  135. package/dist/{evolve-IJNUFZDS.js → evolve-H47BCETS.js} +65 -62
  136. package/dist/{extensions-YVRHX6ZI.js → extensions-NNL3ZOCU.js} +98 -20
  137. package/dist/{fleet-ZNNVSYFO.js → fleet-KMNS6NOM.js} +115 -107
  138. package/dist/{fleet-commands-5YE7NPJL.js → fleet-commands-DOWSYCBX.js} +15 -15
  139. package/dist/{fleet-decisions-3SBSCTCW.js → fleet-decisions-S3PTZV2D.js} +9 -9
  140. package/dist/{fleet-graph-6HHPWF5T.js → fleet-graph-F2DE2TME.js} +26 -24
  141. package/dist/{fleet-inspect-JEYMGCGC.js → fleet-inspect-EN2Q6IVB.js} +67 -63
  142. package/dist/{fleet-preflight-QRSHIIDE.js → fleet-preflight-FRLETDD3.js} +3 -3
  143. package/dist/{fleet-validate-4PM4GDDL.js → fleet-validate-B2XDLS57.js} +28 -29
  144. package/dist/{fleet-verify-NJDTHTO3.js → fleet-verify-4JKUWGJ7.js} +64 -61
  145. package/dist/{fleet-view-UP2BWQQY.js → fleet-view-BHJFW26B.js} +67 -63
  146. package/dist/{init-S3GZQ5ZF.js → init-XAT5N5YM.js} +86 -80
  147. package/dist/interop-FVECHFKG.js +246 -0
  148. package/dist/{inventory-K2OZ36YJ.js → inventory-7KFQGLCV.js} +67 -63
  149. package/dist/library-NY2XOT75.js +492 -0
  150. package/dist/library-QAPAO23R.js +306 -0
  151. package/dist/library-import-5Y6MAS3R.js +183 -0
  152. package/dist/library-inventory-JT6HWITQ.js +56 -0
  153. package/dist/library-validation-EQUH25DC.js +42 -0
  154. package/dist/{memory-OQOXQGYD.js → memory-DYVTTCP6.js} +65 -62
  155. package/dist/{models-3IK2Y5WE.js → models-MASFJ6Y2.js} +51 -38
  156. package/dist/{monitor-FTJLTKCQ.js → monitor-YMP4NXJJ.js} +73 -69
  157. package/dist/{orchestrator-N47O7SFD.js → orchestrator-AFQRRTEI.js} +4255 -2845
  158. package/dist/{panes-7BTYH3XQ.js → panes-D3Y2KFG5.js} +4 -4
  159. package/dist/{panes-WPOMEMRH.js → panes-NICTHQCV.js} +7 -7
  160. package/dist/{paths-J3KN7UAO.js → paths-PSFAUIGO.js} +5 -5
  161. package/dist/{preload-65U34NG6.js → preload-5Q7VXRFJ.js} +64 -61
  162. package/dist/{reset-MUVQDLNL.js → reset-7NKZK7JN.js} +11 -9
  163. package/dist/{resources-LM76COAO.js → resources-NILSIZAT.js} +94 -38
  164. package/dist/{run-3VFZQ33N.js → run-BPZGEBZV.js} +131 -114
  165. package/dist/{share-4JUB4BL7.js → share-EZ6ERBMH.js} +31 -28
  166. package/dist/skills-BTVVNYVM.js +100 -0
  167. package/dist/{skills-eval-G6T57L7M.js → skills-eval-UY34MNK7.js} +117 -78
  168. package/dist/{skills-inventory-WLM46PJH.js → skills-inventory-JDHSIA7I.js} +30 -25
  169. package/dist/{slash-commands-GBARG3Y7.js → slash-commands-K4FNQ2AT.js} +53 -49
  170. package/dist/{steer-S7D7IKPU.js → steer-2B3EQGFH.js} +4 -4
  171. package/dist/{support-5VAEC32W.js → support-L2SOL3IE.js} +7 -7
  172. package/dist/{targets-N5REUETU.js → targets-44VKGFLN.js} +69 -47
  173. package/dist/{tasks-6BVY5YZF.js → tasks-3KODKFU7.js} +14 -14
  174. package/dist/{terminal-lease-57UEOJKS.js → terminal-lease-LXA7MMPO.js} +32 -19
  175. package/dist/{tools-6OCQ6SVB.js → tools-3UB7TEVR.js} +7 -7
  176. package/dist/{trace-JHLXWUMN.js → trace-TAMIU4OJ.js} +5 -4
  177. package/dist/{tui-primitives-RCY2HN7G.js → tui-primitives-A6MUW32V.js} +3 -2
  178. package/dist/{uninstall-FXYMFFRT.js → uninstall-QYVRPEM4.js} +9 -9
  179. package/dist/{upgrade-4HD5HAIV.js → upgrade-7PMKM2JH.js} +17 -18
  180. package/dist/{usage-4GWM2WWP.js → usage-6EQV7EQK.js} +77 -73
  181. package/dist/{verifiers-GSKWKWVG.js → verifiers-JLITWSHU.js} +16 -16
  182. package/dist/{verify-3AS3ULCY.js → verify-T7NAEVIG.js} +13 -13
  183. package/dist/{web-fetch-MQN4FH3X.js → web-fetch-W4TNW4Q7.js} +4 -4
  184. package/dist/{wiki-generate-7BV7XWIY.js → wiki-generate-T2TJQJUA.js} +90 -84
  185. package/dist/{with-panes-OFTNAR4Y.js → with-panes-CHFC7HGI.js} +4 -4
  186. package/dist/worker/entry.js +297 -88
  187. package/docs/README.md +43 -0
  188. package/docs/architecture/architecture.md +8 -7
  189. package/docs/architecture/artifact-versions.md +3 -3
  190. package/docs/architecture/context-engine.md +36 -2
  191. package/docs/architecture/library.md +32 -0
  192. package/docs/architecture/middleware-and-components.md +1 -1
  193. package/docs/architecture/model-catalog.md +21 -1
  194. package/docs/architecture/pi-boundary.md +18 -0
  195. package/docs/architecture/prompt-envelope-and-tools.md +5 -5
  196. package/docs/architecture/safety-model.md +21 -2
  197. package/docs/architecture/session-lifecycle.md +12 -1
  198. package/docs/architecture/tui-design.md +153 -39
  199. package/docs/architecture/worker-context.md +106 -0
  200. package/docs/guide/authoring-plugins.md +160 -0
  201. package/docs/guide/built-in-agents.md +5 -5
  202. package/docs/guide/commands-and-modes.md +186 -80
  203. package/docs/guide/configuration-and-targets.md +123 -28
  204. package/docs/guide/configuration-reference.md +36 -38
  205. package/docs/guide/environment-variables.md +2 -2
  206. package/docs/guide/exit-codes-and-output.md +1 -1
  207. package/docs/guide/extensions-and-sharing.md +93 -53
  208. package/docs/guide/fleet-dispatch.md +32 -10
  209. package/docs/guide/glossary.md +2 -2
  210. package/docs/guide/harness-extensions.md +291 -0
  211. package/docs/guide/installation-and-lifecycle.md +53 -20
  212. package/docs/guide/interop.md +243 -0
  213. package/docs/guide/panes-and-files.md +3 -3
  214. package/docs/guide/plugins.md +80 -0
  215. package/docs/guide/resource-library.md +111 -45
  216. package/docs/guide/skills-marketplace.md +35 -72
  217. package/docs/guide/tool-usage.md +19 -7
  218. package/docs/guide/troubleshooting.md +1 -1
  219. package/docs/process/development-pipeline.md +15 -15
  220. package/docs/process/documentation-coverage.md +29 -2
  221. package/docs/process/documentation-guide.md +15 -7
  222. package/docs/process/eval-runner.md +8 -3
  223. package/docs/process/performance-methodology.md +1 -1
  224. package/docs/process/release-cut-checklist.md +22 -6
  225. package/docs/process/scientific-validation.md +23 -0
  226. package/evals/scalar-decision-machinery.ts +1 -1
  227. package/examples/extensions/README.md +67 -0
  228. package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
  229. package/examples/extensions/lab-status/extension.mjs +68 -0
  230. package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
  231. package/examples/extensions/measurements/clio-coder-extension.json +28 -0
  232. package/examples/extensions/measurements/summarize.cjs +23 -0
  233. package/library/README.md +109 -0
  234. package/library/_authoring/templates/agent/README.md +28 -0
  235. package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
  236. package/library/_authoring/templates/agent/plugin.json +23 -0
  237. package/library/_authoring/templates/fleet/README.md +29 -0
  238. package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
  239. package/library/_authoring/templates/fleet/plugin.json +23 -0
  240. package/library/_authoring/templates/plugin/README.md +37 -0
  241. package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
  242. package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
  243. package/library/_authoring/templates/plugin/plugin.json +42 -0
  244. package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
  245. package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
  246. package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
  247. package/library/_authoring/templates/prompt/README.md +28 -0
  248. package/library/_authoring/templates/prompt/plugin.json +23 -0
  249. package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
  250. package/library/_authoring/templates/skill/README.md +24 -0
  251. package/library/_authoring/templates/skill/SKILL.md +39 -0
  252. package/library/_authoring/templates/skill/evals.md +30 -0
  253. package/library/_authoring/templates/skill/plugin.json +23 -0
  254. package/library/agents/README.md +7 -0
  255. package/library/fleets/README.md +7 -0
  256. package/library/plugins/materio/README.md +137 -0
  257. package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
  258. package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
  259. package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
  260. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
  261. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
  262. package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
  263. package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
  264. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
  265. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
  266. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
  267. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
  268. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
  269. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
  270. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
  271. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
  272. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
  273. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
  274. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
  275. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
  276. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
  277. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
  278. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
  279. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
  280. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
  281. package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
  282. package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
  283. package/library/plugins/materio/assets/actions/add-task.md +86 -0
  284. package/library/plugins/materio/assets/actions/archive-task.md +84 -0
  285. package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
  286. package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
  287. package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
  288. package/library/plugins/materio/assets/actions/execute-task.md +290 -0
  289. package/library/plugins/materio/assets/actions/help.md +140 -0
  290. package/library/plugins/materio/assets/actions/identify-research.md +204 -0
  291. package/library/plugins/materio/assets/actions/literature-review.md +199 -0
  292. package/library/plugins/materio/assets/actions/pause-research.md +34 -0
  293. package/library/plugins/materio/assets/actions/progress.md +125 -0
  294. package/library/plugins/materio/assets/actions/remove-task.md +82 -0
  295. package/library/plugins/materio/assets/actions/resume-research.md +84 -0
  296. package/library/plugins/materio/assets/actions/settings.md +38 -0
  297. package/library/plugins/materio/assets/actions/status.md +112 -0
  298. package/library/plugins/materio/assets/actions/upload-data.md +123 -0
  299. package/library/plugins/materio/assets/actions/wtfp.md +179 -0
  300. package/library/plugins/materio/assets/references/research-domains.md +134 -0
  301. package/library/plugins/materio/assets/references/research-policy.md +77 -0
  302. package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
  303. package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
  304. package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
  305. package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
  306. package/library/plugins/materio/assets/scripts/research_state.py +400 -0
  307. package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
  308. package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
  309. package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
  310. package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
  311. package/library/plugins/materio/assets/templates/config.json +5 -0
  312. package/library/plugins/materio/evals/scripts.yaml +29 -0
  313. package/library/plugins/materio/plugin.json +530 -0
  314. package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
  315. package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
  316. package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
  317. package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
  318. package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
  319. package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
  320. package/library/plugins/materio/tests/test_check_physics.py +139 -0
  321. package/library/plugins/materio/tests/test_check_scripts.py +140 -0
  322. package/library/plugins/materio/tests/test_research_state.py +291 -0
  323. package/library/plugins/materio/tests/test_verify_citations.py +337 -0
  324. package/library/prompts/README.md +7 -0
  325. package/library/registry.yaml +921 -0
  326. package/library/skills/README.md +120 -0
  327. package/{skills → library/skills}/coding/ast-grep/SKILL.md +1 -1
  328. package/{skills → library/skills}/coding/ast-grep/evals.md +1 -1
  329. package/library/skills/coding/ast-grep/plugin.json +23 -0
  330. package/{skills → library/skills}/coding/coding-standards/SKILL.md +1 -1
  331. package/{skills → library/skills}/coding/coding-standards/evals.md +1 -1
  332. package/library/skills/coding/coding-standards/plugin.json +23 -0
  333. package/{skills → library/skills}/coding/prototype/SKILL.md +1 -1
  334. package/{skills → library/skills}/coding/prototype/evals.md +1 -1
  335. package/library/skills/coding/prototype/plugin.json +23 -0
  336. package/{skills → library/skills}/coding/tdd/SKILL.md +1 -1
  337. package/{skills → library/skills}/coding/tdd/evals.md +1 -1
  338. package/library/skills/coding/tdd/plugin.json +23 -0
  339. package/{skills → library/skills}/context/context-handoff/SKILL.md +1 -1
  340. package/{skills → library/skills}/context/context-handoff/evals.md +1 -1
  341. package/library/skills/context/context-handoff/plugin.json +23 -0
  342. package/{skills → library/skills}/context/context-prime/SKILL.md +1 -1
  343. package/{skills → library/skills}/context/context-prime/evals.md +1 -1
  344. package/library/skills/context/context-prime/plugin.json +23 -0
  345. package/{skills → library/skills}/git/branch-closeout/SKILL.md +1 -1
  346. package/library/skills/git/branch-closeout/plugin.json +23 -0
  347. package/{skills → library/skills}/git/file-ticket/SKILL.md +1 -1
  348. package/library/skills/git/file-ticket/plugin.json +23 -0
  349. package/{skills → library/skills}/git/fix-issue/SKILL.md +1 -1
  350. package/library/skills/git/fix-issue/plugin.json +23 -0
  351. package/{skills → library/skills}/git/resolve-merge-conflicts/SKILL.md +1 -1
  352. package/{skills → library/skills}/git/resolve-merge-conflicts/evals.md +1 -1
  353. package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
  354. package/{skills → library/skills}/git/ship/SKILL.md +1 -1
  355. package/library/skills/git/ship/plugin.json +23 -0
  356. package/{skills → library/skills}/git/worktree-create/SKILL.md +1 -1
  357. package/library/skills/git/worktree-create/plugin.json +23 -0
  358. package/{skills → library/skills}/git/worktree-merge/SKILL.md +1 -1
  359. package/library/skills/git/worktree-merge/plugin.json +23 -0
  360. package/{skills → library/skills}/meta/clio-coder-dev/SKILL.md +1 -1
  361. package/{skills → library/skills}/meta/clio-coder-dev/evals.md +1 -1
  362. package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
  363. package/{skills → library/skills}/meta/clio-coder-test/SKILL.md +1 -1
  364. package/{skills → library/skills}/meta/clio-coder-test/evals.md +1 -1
  365. package/library/skills/meta/clio-coder-test/plugin.json +23 -0
  366. package/{skills → library/skills}/meta/credentials/SKILL.md +1 -1
  367. package/{skills → library/skills}/meta/credentials/evals.md +1 -1
  368. package/library/skills/meta/credentials/plugin.json +23 -0
  369. package/library/skills/meta/find-skills/SKILL.md +85 -0
  370. package/library/skills/meta/find-skills/evals.md +65 -0
  371. package/library/skills/meta/find-skills/plugin.json +23 -0
  372. package/{skills → library/skills}/meta/herdr/SKILL.md +1 -1
  373. package/{skills → library/skills}/meta/herdr/evals.md +1 -1
  374. package/library/skills/meta/herdr/plugin.json +23 -0
  375. package/{skills → library/skills}/meta/skill-craft/SKILL.md +23 -9
  376. package/{skills → library/skills}/meta/skill-craft/evals.md +11 -3
  377. package/library/skills/meta/skill-craft/plugin.json +23 -0
  378. package/{skills → library/skills}/planning/archify/SKILL.md +13 -13
  379. package/library/skills/planning/archify/plugin.json +23 -0
  380. package/{skills → library/skills}/planning/architecture/SKILL.md +1 -1
  381. package/{skills → library/skills}/planning/architecture/evals.md +1 -1
  382. package/library/skills/planning/architecture/plugin.json +23 -0
  383. package/{skills → library/skills}/planning/backlog/SKILL.md +1 -1
  384. package/{skills → library/skills}/planning/backlog/evals.md +1 -1
  385. package/library/skills/planning/backlog/plugin.json +23 -0
  386. package/{skills → library/skills}/planning/prd/SKILL.md +1 -1
  387. package/{skills → library/skills}/planning/prd/evals.md +1 -1
  388. package/library/skills/planning/prd/plugin.json +23 -0
  389. package/{skills → library/skills}/planning/product-intent/SKILL.md +1 -1
  390. package/{skills → library/skills}/planning/product-intent/evals.md +1 -1
  391. package/library/skills/planning/product-intent/plugin.json +23 -0
  392. package/{skills → library/skills}/planning/tech-spec/SKILL.md +1 -1
  393. package/{skills → library/skills}/planning/tech-spec/evals.md +1 -1
  394. package/library/skills/planning/tech-spec/plugin.json +23 -0
  395. package/{skills → library/skills}/registry.yaml +7 -7
  396. package/{skills → library/skills}/remote.yaml +1 -1
  397. package/{skills → library/skills}/research/arxiv-literature/SKILL.md +1 -1
  398. package/{skills → library/skills}/research/arxiv-literature/evals.md +1 -1
  399. package/library/skills/research/arxiv-literature/plugin.json +23 -0
  400. package/{skills → library/skills}/research/experiment-protocol/SKILL.md +1 -1
  401. package/{skills → library/skills}/research/experiment-protocol/evals.md +1 -1
  402. package/library/skills/research/experiment-protocol/plugin.json +23 -0
  403. package/{skills → library/skills}/research/scientific-debugging/SKILL.md +1 -1
  404. package/{skills → library/skills}/research/scientific-debugging/evals.md +1 -1
  405. package/library/skills/research/scientific-debugging/plugin.json +23 -0
  406. package/{skills → library/skills}/research/scientific-modernization/SKILL.md +1 -1
  407. package/{skills → library/skills}/research/scientific-modernization/evals.md +1 -1
  408. package/library/skills/research/scientific-modernization/plugin.json +23 -0
  409. package/{skills → library/skills}/skill-marketplace.json +37 -37
  410. package/{skills → library/skills}/workflow/cut-it/SKILL.md +1 -1
  411. package/{skills → library/skills}/workflow/cut-it/evals.md +1 -1
  412. package/library/skills/workflow/cut-it/plugin.json +23 -0
  413. package/{skills → library/skills}/workflow/design-council/SKILL.md +1 -1
  414. package/{skills → library/skills}/workflow/design-council/evals.md +1 -1
  415. package/library/skills/workflow/design-council/plugin.json +23 -0
  416. package/{skills → library/skills}/workflow/grill-me/SKILL.md +1 -1
  417. package/{skills → library/skills}/workflow/grill-me/evals.md +1 -1
  418. package/library/skills/workflow/grill-me/plugin.json +23 -0
  419. package/{skills → library/skills}/workflow/workflow-distiller/SKILL.md +14 -11
  420. package/{skills → library/skills}/workflow/workflow-distiller/evals.md +14 -6
  421. package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
  422. package/package.json +12 -5
  423. package/src/cli/agents.ts +1 -1
  424. package/src/cli/ask.ts +10 -10
  425. package/src/cli/config-inspect.ts +1 -1
  426. package/src/cli/configure-editor.ts +51 -0
  427. package/src/cli/configure-interop.ts +1 -1
  428. package/src/cli/configure-oauth.ts +1 -1
  429. package/src/cli/configure-onboarding.ts +232 -96
  430. package/src/cli/configure-prompts.ts +76 -0
  431. package/src/cli/configure-quick.ts +274 -0
  432. package/src/cli/configure-target.ts +14 -2
  433. package/src/cli/configure.ts +415 -176
  434. package/src/cli/eval.ts +40 -6
  435. package/src/cli/extensions.ts +74 -8
  436. package/src/cli/fleet-preflight.ts +2 -0
  437. package/src/cli/fleet.ts +2 -0
  438. package/src/cli/index.ts +1 -3
  439. package/src/cli/interop-inspect.ts +61 -33
  440. package/src/cli/interop.ts +79 -9
  441. package/src/cli/library-import.ts +139 -0
  442. package/src/cli/library.ts +418 -120
  443. package/src/cli/oauth-manual-input.ts +1 -1
  444. package/src/cli/reset.ts +2 -0
  445. package/src/cli/run.ts +26 -9
  446. package/src/cli/select.ts +35 -4
  447. package/src/cli/skills-eval.ts +43 -6
  448. package/src/cli/skills-inventory.ts +6 -2
  449. package/src/cli/skills.ts +44 -491
  450. package/src/cli/upgrade.ts +2 -2
  451. package/src/core/bus-events.ts +5 -0
  452. package/src/core/config.ts +6 -1
  453. package/src/core/defaults.ts +34 -12
  454. package/src/{interactive → core}/external-editor.ts +4 -4
  455. package/src/core/recent-models.ts +2 -2
  456. package/src/core/session-routing.ts +3 -3
  457. package/src/core/state-file-lock.ts +1 -1
  458. package/src/core/tool-names.ts +5 -0
  459. package/src/domains/agents/extension.ts +42 -6
  460. package/src/domains/agents/fleet-commands.ts +92 -1
  461. package/src/domains/agents/fleet-contract.ts +87 -19
  462. package/src/domains/agents/recipe.ts +5 -4
  463. package/src/domains/agents/registry.ts +80 -24
  464. package/src/domains/config/classify.ts +1 -1
  465. package/src/domains/config/keybindings.ts +156 -124
  466. package/src/domains/context/worker/contract.ts +91 -0
  467. package/src/domains/context/worker/pressure.ts +120 -0
  468. package/src/domains/context/worker/recall.ts +62 -0
  469. package/src/domains/context/worker/select.ts +164 -0
  470. package/src/domains/context/worker/snapshot.ts +35 -0
  471. package/src/domains/context/worker/store.ts +16 -0
  472. package/src/domains/context/working-set/replay/synthetic.ts +2 -1
  473. package/src/domains/dispatch/active-route-planner.ts +2 -0
  474. package/src/domains/dispatch/backoff.ts +1 -0
  475. package/src/domains/dispatch/code-step.ts +12 -2
  476. package/src/domains/dispatch/contract.ts +3 -0
  477. package/src/domains/dispatch/execution-plan.ts +2 -0
  478. package/src/domains/dispatch/extension.ts +109 -27
  479. package/src/domains/dispatch/fleet-plan.ts +10 -0
  480. package/src/domains/dispatch/fleet-run.ts +1 -0
  481. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  482. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  483. package/src/domains/dispatch/state.ts +1 -0
  484. package/src/domains/dispatch/types.ts +5 -0
  485. package/src/domains/dispatch/validation.ts +12 -0
  486. package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
  487. package/src/domains/evidence/failure-attribution.ts +1 -0
  488. package/src/domains/evidence/trust-status.ts +22 -3
  489. package/src/domains/extensions/command-schema.ts +145 -0
  490. package/src/domains/extensions/command-tools.ts +15 -0
  491. package/src/domains/extensions/compatibility.ts +7 -0
  492. package/src/domains/extensions/contract.ts +0 -4
  493. package/src/domains/extensions/discovery.ts +69 -205
  494. package/src/domains/extensions/extension.ts +0 -4
  495. package/src/domains/extensions/index.ts +1 -5
  496. package/src/domains/extensions/manager.ts +1 -6
  497. package/src/domains/extensions/operator-commands.ts +29 -0
  498. package/src/domains/extensions/operator-runtime.ts +483 -0
  499. package/src/domains/extensions/public-api.ts +53 -0
  500. package/src/domains/extensions/runtime-child.mjs +114 -0
  501. package/src/domains/extensions/runtime-process.ts +306 -0
  502. package/src/domains/extensions/runtime-schema.ts +146 -0
  503. package/src/domains/extensions/{resources.ts → snapshot-access.ts} +1 -17
  504. package/src/domains/extensions/snapshot.ts +4 -32
  505. package/src/domains/extensions/state.ts +5 -83
  506. package/src/domains/extensions/types.ts +33 -34
  507. package/src/domains/interop/adopt.ts +546 -0
  508. package/src/domains/interop/detect.ts +50 -12
  509. package/src/domains/interop/foreign.ts +554 -0
  510. package/src/domains/interop/import.ts +277 -0
  511. package/src/domains/interop/index.ts +24 -0
  512. package/src/domains/interop/install.ts +6 -0
  513. package/src/domains/interop/inventory.ts +351 -0
  514. package/src/domains/interop/projection.ts +360 -0
  515. package/src/domains/interop/registry.ts +106 -3
  516. package/src/domains/interop/types.ts +51 -0
  517. package/src/domains/lifecycle/migrations/index.ts +0 -2
  518. package/src/domains/lifecycle/naming-resources.ts +1 -1
  519. package/src/domains/middleware/marketplace-offer.ts +1 -1
  520. package/src/domains/mux/contract.ts +1 -1
  521. package/src/domains/plugins/catalog.ts +204 -0
  522. package/src/domains/plugins/contract.ts +24 -0
  523. package/src/domains/plugins/discovery.ts +316 -0
  524. package/src/domains/plugins/extension.ts +40 -0
  525. package/src/domains/plugins/index.ts +77 -0
  526. package/src/domains/plugins/integrity.ts +6 -0
  527. package/src/domains/plugins/manifest.ts +3 -0
  528. package/src/domains/plugins/resources.ts +102 -0
  529. package/src/domains/plugins/state.ts +753 -0
  530. package/src/domains/plugins/types.ts +217 -0
  531. package/src/domains/prompts/extension.ts +9 -2
  532. package/src/domains/prompts/fragments/operating/skills.md +10 -10
  533. package/src/domains/providers/probe/fingerprint.ts +13 -6
  534. package/src/domains/providers/probe/reasoning.ts +2 -0
  535. package/src/domains/providers/runtimes/common/probe-helpers.ts +23 -7
  536. package/src/domains/providers/runtimes/protocol/anthropic-compat.ts +7 -2
  537. package/src/domains/providers/runtimes/protocol/openai-compat.ts +10 -4
  538. package/src/domains/resources/common-loader.ts +9 -6
  539. package/src/domains/resources/index.ts +67 -0
  540. package/src/domains/resources/library-actions.ts +836 -0
  541. package/src/domains/resources/library-evals.ts +38 -0
  542. package/src/domains/resources/library-inventory.ts +1048 -0
  543. package/src/domains/resources/library-types.ts +50 -0
  544. package/src/domains/resources/library-validation.ts +634 -0
  545. package/src/domains/resources/library.ts +437 -156
  546. package/src/domains/resources/package-references.ts +66 -0
  547. package/src/domains/resources/prompts/loader.ts +75 -41
  548. package/src/domains/resources/skills/install.ts +2 -2
  549. package/src/domains/resources/skills/loader.ts +77 -22
  550. package/src/domains/resources/skills/marketplace.ts +48 -57
  551. package/src/domains/resources/skills/promotion.ts +2 -2
  552. package/src/domains/resources/skills/provenance-pin.ts +17 -4
  553. package/src/domains/safety/action-classifier.ts +2 -2
  554. package/src/domains/safety/default-path-policy.ts +3 -1
  555. package/src/domains/safety/policy-engine.ts +1 -1
  556. package/src/domains/safety/protected-artifacts.ts +21 -5
  557. package/src/domains/safety/skill-authority.ts +5 -2
  558. package/src/domains/share/archive.ts +1 -1
  559. package/src/engine/apis/openai-completions.ts +52 -2
  560. package/src/engine/notices/pi-tui-LICENSE +21 -0
  561. package/src/engine/tui.ts +3 -0
  562. package/src/engine/worker-runtime.ts +58 -14
  563. package/src/engine/worker-tools.ts +5 -0
  564. package/src/entry/orchestrator.ts +26 -5
  565. package/src/entry/plugin-reload.ts +18 -0
  566. package/src/interactive/application-controller.ts +68 -52
  567. package/src/interactive/chat-loop.ts +32 -5
  568. package/src/interactive/chat-panel.ts +168 -638
  569. package/src/interactive/chat-renderer.ts +13 -30
  570. package/src/interactive/clio-editor.ts +53 -21
  571. package/src/interactive/command-output.ts +56 -1
  572. package/src/interactive/dispatch-board.ts +1 -3
  573. package/src/interactive/editor-submit.ts +73 -59
  574. package/src/interactive/fleet-run-preview.ts +2 -0
  575. package/src/interactive/follow-up-queue-panel.ts +3 -3
  576. package/src/interactive/footer/dashboard.ts +12 -4
  577. package/src/interactive/footer/notifications.ts +2 -2
  578. package/src/interactive/footer/widgets.ts +52 -93
  579. package/src/interactive/interactive-application.ts +225 -63
  580. package/src/interactive/interactive-event-projection.ts +2 -44
  581. package/src/interactive/interactive-input-runtime.ts +257 -35
  582. package/src/interactive/interactive-presentation.ts +71 -21
  583. package/src/interactive/interactive-slash-runtime.ts +40 -48
  584. package/src/interactive/keybinding-manager.ts +156 -79
  585. package/src/interactive/keyboard-owner.ts +37 -0
  586. package/src/interactive/layout.ts +29 -4
  587. package/src/interactive/leader-key.ts +49 -102
  588. package/src/interactive/leader-menu.ts +45 -0
  589. package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
  590. package/src/interactive/overlay-frame.ts +15 -0
  591. package/src/interactive/overlay-general-openers.ts +2 -0
  592. package/src/interactive/overlay-key-routing.ts +46 -47
  593. package/src/interactive/overlay-lifecycle.ts +31 -15
  594. package/src/interactive/overlay-resource-openers.ts +56 -46
  595. package/src/interactive/overlay-session-lifecycle.ts +1 -1
  596. package/src/interactive/overlays/ask-user.ts +630 -556
  597. package/src/interactive/overlays/extension-panel.ts +70 -0
  598. package/src/interactive/overlays/extensions.ts +28 -5
  599. package/src/interactive/overlays/fleet-run-approval.ts +7 -3
  600. package/src/interactive/overlays/help-reference.ts +89 -40
  601. package/src/interactive/overlays/interop.ts +122 -3
  602. package/src/interactive/overlays/keybinding-detail.ts +2 -2
  603. package/src/interactive/overlays/library-lifecycle.ts +90 -0
  604. package/src/interactive/overlays/library-model.ts +574 -0
  605. package/src/interactive/overlays/library-review.ts +557 -0
  606. package/src/interactive/overlays/library-tabs.ts +3 -15
  607. package/src/interactive/overlays/library.ts +602 -0
  608. package/src/interactive/overlays/list-overlay.ts +218 -39
  609. package/src/interactive/overlays/model-selector.ts +28 -25
  610. package/src/interactive/overlays/session-selector.ts +9 -3
  611. package/src/interactive/overlays/settings.ts +34 -26
  612. package/src/interactive/overlays/tree-selector.ts +16 -11
  613. package/src/interactive/permission-hint.ts +13 -0
  614. package/src/interactive/permission-overlay.ts +77 -28
  615. package/src/interactive/prompt-source-label.ts +21 -0
  616. package/src/interactive/renderers/preview.ts +16 -0
  617. package/src/interactive/renderers/reference-card.ts +35 -0
  618. package/src/interactive/renderers/tool-execution.ts +67 -160
  619. package/src/interactive/renderers/worker-entry.ts +90 -42
  620. package/src/interactive/slash-autocomplete.ts +100 -7
  621. package/src/interactive/slash-commands.ts +396 -105
  622. package/src/interactive/slash-spec.ts +0 -1
  623. package/src/interactive/status/controller.ts +0 -5
  624. package/src/interactive/status/state-machine.ts +44 -26
  625. package/src/interactive/status/types.ts +3 -0
  626. package/src/interactive/status/verbs.ts +13 -12
  627. package/src/interactive/terminal-lease.ts +44 -12
  628. package/src/interactive/transcript-detail.ts +50 -112
  629. package/src/interactive/turn-queues.ts +8 -7
  630. package/src/interactive/turn-runtime.ts +1 -1
  631. package/src/interactive/view/artifacts.ts +4 -0
  632. package/src/interactive/view/view-overlay.ts +58 -43
  633. package/src/interactive/welcome-dashboard.ts +525 -408
  634. package/src/tools/bootstrap.ts +8 -0
  635. package/src/tools/builtin-tool-catalog.ts +7 -2
  636. package/src/tools/context/index.ts +58 -5
  637. package/src/tools/context/library.ts +465 -0
  638. package/src/tools/context/surface.ts +20 -6
  639. package/src/tools/core-bootstrap.ts +3 -0
  640. package/src/tools/dispatch-admission.ts +24 -1
  641. package/src/tools/dispatch-arguments.ts +8 -0
  642. package/src/tools/dispatch-plan.ts +32 -0
  643. package/src/tools/dispatch-schema.ts +31 -1
  644. package/src/tools/dispatch-types.ts +3 -0
  645. package/src/tools/dispatch.ts +1 -1
  646. package/src/tools/harness-extensions.ts +169 -0
  647. package/src/tools/observation.ts +4 -0
  648. package/src/tools/policy.ts +7 -1
  649. package/src/tools/presentation.ts +1 -1
  650. package/src/tools/registry.ts +20 -2
  651. package/src/tools/verify/numeric.ts +4 -4
  652. package/src/tools/worker-evidence.ts +5 -0
  653. package/src/worker/context-seed.ts +192 -0
  654. package/src/worker/entry.ts +1 -0
  655. package/src/worker/spec-contract.ts +8 -1
  656. package/dist/chunk-3UW3KU4A.js +0 -21
  657. package/dist/chunk-6SYEGZI3.js +0 -433
  658. package/dist/chunk-CXQ37WJH.js +0 -45
  659. package/dist/chunk-EQEJJ53P.js +0 -399
  660. package/dist/chunk-KTFSFCVN.js +0 -46
  661. package/dist/chunk-QRFXEO6Y.js +0 -17
  662. package/dist/chunk-T7FDXNRU.js +0 -1257
  663. package/dist/chunk-U7VQ4NI4.js +0 -911
  664. package/dist/configure-SML6UBZ5.js +0 -55
  665. package/dist/interop-YOTGXFJM.js +0 -115
  666. package/dist/library-GJI6W6OK.js +0 -226
  667. package/dist/skills-S36AAJHU.js +0 -510
  668. package/skills/README.md +0 -418
  669. package/skills/meta/find-skills/SKILL.md +0 -78
  670. package/skills/meta/find-skills/evals.md +0 -47
  671. package/src/domains/extensions/resource-path.ts +0 -27
  672. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
  673. package/src/interactive/overlays/agents.ts +0 -70
  674. package/src/interactive/overlays/library-install-confirm.ts +0 -152
  675. package/src/interactive/overlays/prompts.ts +0 -89
  676. package/src/interactive/overlays/skills-hub.ts +0 -615
  677. /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
  678. /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
  679. /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
  680. /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
  681. /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
  682. /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
  683. /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
  684. /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
  685. /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
  686. /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
  687. /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
  688. /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
  689. /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
  690. /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
  691. /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
  692. /package/{skills → library/skills}/git/ship/evals.md +0 -0
  693. /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
  694. /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
  695. /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
  696. /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
  697. /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
  698. /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
  699. /package/{skills → library/skills}/meta/clio-coder-test/references/test-map.md +0 -0
  700. /package/{skills → library/skills}/planning/archify/evals.md +0 -0
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <h1 align="center">Clio Coder</h1>
9
9
 
10
- <p align="center"><strong>The coding agent for the people who maintain the code that science runs on.</strong><br />Your models. Your machines. A receipt for everything it did.</p>
10
+ <p align="center"><strong>The coding agent for the people who maintain the code that science runs on.</strong><br />Your models. Your machines. Work you can inspect.</p>
11
11
 
12
12
  <p align="center">
13
13
  <a href="https://github.com/iowarp/clio-coder/releases/latest"><img alt="Latest release" src="https://img.shields.io/github/v/tag/iowarp/clio-coder?sort=semver&label=release&color=00d4db&style=flat-square" /></a>
@@ -19,157 +19,139 @@
19
19
  <a href="https://www.nsf.gov/awardsearch/showAward?AWD_ID=2411318"><img alt="NSF #2411318" src="https://img.shields.io/badge/NSF-%232411318-241131?style=flat-square" /></a>
20
20
  </p>
21
21
 
22
- ---
23
22
 
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.
23
+ <p align="center">
24
+ <a href="#get-started">Get started</a> ·
25
+ <a href="#built-for-scientific-software">Why Clio?</a> ·
26
+ <a href="docs/README.md">Documentation</a> ·
27
+ <a href="https://github.com/iowarp/clio-coder/issues">Feedback</a>
28
+ </p>
29
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.
30
+ Clio Coder is an open-source coding agent for your terminal. Ask it to explain a
31
+ repository, investigate a failing test, or help implement a change. It reads the
32
+ project, works with your tools, and shows you what it did.
35
33
 
36
- CLIO stands for Context Layer for Input/Output. Clio Coder is the interactive
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.
34
+ Built for scientific software and high-performance computing (HPC), Clio works
35
+ with the code researchers maintain every day: simulation kernels, numerical
36
+ libraries, data pipelines, and mixed-language projects. Use a model on your
37
+ workstation, connect to your lab's gateway, or bring a cloud API.
38
+
39
+ **Experimental, and actively developed.** Keep your work in version control and
40
+ review generated changes. Clio helps with the engineering; scientific validation
41
+ still needs your expertise. See [release notes](CHANGELOG.md) for current changes.
39
42
 
40
43
  ## Get started
41
44
 
45
+ You need **Node.js 22.19 or newer**, Linux or macOS, and a running model server
46
+ or API endpoint. Windows support is currently best effort.
47
+
42
48
  ```bash
43
49
  npm install -g @iowarp/clio-coder
44
- clio-coder configure
45
50
  cd /path/to/your/project
51
+ clio-coder configure
46
52
  clio-coder
47
53
  ```
48
54
 
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.
55
+ In the configuration launcher, choose **Quick Connect**:
56
+
57
+ 1. **Paste your endpoint URL.** For example, `localhost:1234` for LM Studio,
58
+ `localhost:11434` for Ollama, or your lab gateway's URL.
59
+ 2. **Supply a key and choose a model when asked.** A keyless LM Studio or Ollama
60
+ server with one model skips both questions. Type to search longer model lists.
61
+ 3. **Review and Connect.** You're ready to start a session.
62
+
63
+ Clio uses [recommended defaults](docs/guide/configuration-and-targets.md#recommended-defaults):
64
+ workspace edits with command approval, one worker at a time, a $5 tracked session
65
+ budget, and a regular terminal interface. Other settings can wait. Escape goes
66
+ back during setup; `clio-coder configure --settings` opens the full menu.
52
67
 
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.
68
+ **New in 0.4.7:** A unified Library for reusable workflows, operator extensions,
69
+ safer keyboard controls, and a compact welcome header. See the
70
+ [changelog](CHANGELOG.md) for release details and [Install](#install) for source
71
+ builds and other package managers.
57
72
 
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](#optional-dependency-the-claude-agent-sdk).
73
+ ## Built for scientific software
62
74
 
63
- | If you are… | Continue with… |
75
+ | What matters | How Clio helps |
64
76
  | --- | --- |
65
- | Trying Clio on a project | [A first session](#a-first-session) and [Choose where models run](#choose-where-models-run) |
66
- | Running automation, scripts, or editor hosts | [Headless and editor use](#headless-and-editor-use) |
67
- | Exploring CLI commands and diagnostics | [CLI discovery and diagnostics](#cli-discovery-and-diagnostics) |
68
- | Managing installation, upgrades, or uninstall | [Install](#install) |
69
- | Using the desktop or browser GUI | [Canonical Workbench (Clio Coder GUI)](#canonical-workbench-clio-coder-gui) |
70
- | Inspecting execution trace mirrors | [Trace viewer (source-only)](#trace-viewer-source-only) |
71
- | Responsible for sensitive or expensive work | [Safety and evidence](#safety-and-evidence) |
72
- | Bringing Clio to a workstation or cluster | [Project context](#project-context-that-stays-with-the-project) and [Delegation](#delegate-with-bounds) |
73
- | An agent entering this repository | [For agents working on Clio Coder](#for-agents-working-on-clio-coder) |
74
- | Planning to contribute | [For contributors](#for-contributors) |
75
-
76
- ## Built for real research software
77
-
78
- Clio is not limited to scientific repositories, but research software shapes
79
- its priorities:
80
-
81
- - **Bring your own inference.** Run locally with llama.cpp, LM Studio, Ollama,
82
- vLLM, SGLang, or Lemonade; connect a compatible gateway or cloud provider;
83
- or use supported ChatGPT and Claude subscription routes. Chat and worker
84
- fleets can use different targets.
85
- - **Understand before changing.** A project handbook and structural code index
86
- give the model durable orientation without pouring the whole repository into
87
- every prompt. Context use, compaction, and recall remain visible.
88
- - **Delegate focused work.** Built-in worker recipes receive explicit tools,
89
- limits, scopes, and result contracts. Fleet contracts can add review gates,
90
- resumable steps, and placement across machines over SSH.
91
- - **Keep authority with the operator.** Read-only, suggest, auto-edit, and
92
- full-auto modes all pass through the same policy boundary. Bash is
93
- default-deny, and project rules can narrow access further.
94
- - **Leave evidence, not just prose.** Runs record tool activity, model usage,
95
- routing, safety decisions, timing, and result conformance in receipts and
96
- durable ledgers that can be inspected later.
97
- - **Fit into existing tools.** Use the interactive terminal, one-shot headless
98
- commands, JSONL event streams, or the Agent Client Protocol for editor hosts.
99
-
100
- The goal is not to make a model infallible. It is to make useful work easier to
101
- direct, easier to constrain, and easier to verify.
77
+ | **Your models and infrastructure** | Connect local inference, institutional gateways, or cloud APIs. Use different models for different jobs when you need to. |
78
+ | **Understanding the project** | Keep project guidance and a searchable code index alongside the repository, so long sessions have a useful starting point. |
79
+ | **Multi-agent work** | Delegate focused tasks to coding, testing, and review agents. Start on one machine; configure workers over SSH for larger workflows. |
80
+ | **Work you can check** | Inspect edits, tool activity, usage, and recorded run results. Keep reference tests and scientific checks in the loop. |
102
81
 
103
- ## A first session
82
+ You can start with one model and one conversation. Distributed workers,
83
+ additional tools, and elaborate workflows are optional.
104
84
 
105
- Run Clio from the repository you want it to work on:
85
+ Try a first request:
106
86
 
107
- ```bash
108
- cd /path/to/your/project
109
- clio-coder
110
- ```
87
+ > Explain how this repository builds and tests its numerical solver. Identify
88
+ > the main entry points and suggest a small verification task before changing code.
89
+
90
+ ## A first session
111
91
 
112
- The header shows the workspace, active route, and project-context status. Tool
113
- calls appear as they run, edits render as diffs, and the footer keeps context
114
- and activity visible without taking over the terminal.
92
+ Run `clio-coder` inside your project and describe the task in plain language.
93
+ Tool calls appear as they run, and edits appear as diffs.
115
94
 
116
- | You want to… | Use… |
95
+ | Want to… | Use… |
96
+ | --- | --- |
97
+ | Find commands | `/help` |
98
+ | Change models or settings | `/settings` |
99
+ | Browse reusable recipes | `Alt+L` or `/library` |
100
+ | Check context use or cost | `/context`, `/cost` |
101
+ | Include a project file | Type `@` and choose a path |
102
+ | See delegated tasks | `/tasks` |
103
+ | Leave the session | `/quit` |
104
+
105
+ <details>
106
+ <summary><strong>More session controls and shortcuts</strong></summary>
107
+
108
+ | Want to… | Use… |
117
109
  | --- | --- |
118
- | Change the chat model, fleet route, autonomy, or interface | `/settings` |
119
- | Inspect context use or cost | `/context`, `/cost` |
120
- | Reference a workspace file | Type `@` and choose a path |
121
- | Run a shell command whose result may enter model context | `! command` |
122
- | Run a private shell command that is never sent to the model | `!! command` |
123
- | Ask a side question without changing the main session | `/btw <question>` |
110
+ | Run a shell command | `! command` |
111
+ | Run a private shell command excluded from model context | `!! command` |
112
+ | Ask a side question | `/btw <question>` |
124
113
  | Request a read-only second opinion | `/oracle <question>` |
125
- | Delegate a focused task | `/run coder "..."` |
126
- | Inspect delegated work | `/tasks` or `Alt+W` |
114
+ | Delegate a focused task | `/run tester "Run the parser tests and explain any failure."` |
127
115
  | Branch or resume a conversation | `/tree`, `/fork`, `/resume`, `/new` |
128
116
  | Carry current state into a fresh session | `/handoff <goal>` |
129
- | Browse agents, prompts, fleets, extensions, and skills | `/resources` |
117
+ | Open a Library category | `/skills`, `/agents`, `/prompts` |
130
118
  | Load a specialized skill | `/skill <name>` |
131
- | Save a self-contained transcript | `/export` |
119
+ | Export the transcript | `/export` |
132
120
 
133
- Pressing Enter while Clio is working steers the active turn; `Alt+Enter` queues
134
- a follow-up; `Esc` cancels. Pasted or multiline text beginning with `!` or `!!`
135
- is treated as prompt text, so a pasted command does not execute unexpectedly.
136
- Private `!!` command and output bytes remain visible in your transcript but are
137
- excluded from model replay, compaction, and context accounting.
121
+ Enter steers an active turn; `Ctrl+Q` queues a follow-up; Escape cancels.
122
+ Pasted multiline text beginning with `!` or `!!` is treated as prompt text.
123
+ Private shell output remains visible to you but is excluded from model replay
124
+ and compaction. See [Commands and Modes](docs/guide/commands-and-modes.md).
138
125
 
139
- The complete interactive and CLI reference is
140
- [Commands and Modes](docs/guide/commands-and-modes.md).
126
+ </details>
141
127
 
142
128
  ## Choose where models run
143
129
 
144
- Clio stores each model connection as a named **target**: runtime, endpoint,
145
- model, credentials, and any verified capability overrides. Interactive chat,
146
- proactive memory, fleet defaults, and individual worker profiles can route
147
- independently. A LiteLLM target keeps the gateway in charge of physical routing,
148
- authentication, and backend residency; distinct model routes can share one URL.
149
- Set `context.memory.target` and `context.memory.model` to opt into a dedicated
150
- memory model. Unset memory roles remain rules-only; a configured route can fall
151
- back to active chat when unavailable and request capacity permits.
152
- `context.compaction.model` selects a dedicated summary model; leaving it unset
153
- uses active chat. An invalid explicit compaction model fails visibly.
154
-
155
- | Target family | Supported routes |
130
+ Start with the model service you already have. Clio supports local engines
131
+ including **Ollama, LM Studio, llama.cpp, vLLM, SGLang, and Lemonade**; lab
132
+ services such as **LiteLLM gateways and Argonne ALCF inference**; and cloud
133
+ providers including **OpenAI, Anthropic, Google, and OpenRouter**.
134
+
135
+ Quick Connect handles discoverable HTTP endpoints. For subscription sign-in,
136
+ AWS credentials, or manual model setup, use **Settings Targets & Auth**.
137
+ The [connection guide](docs/guide/configuration-and-targets.md) covers each route.
138
+
139
+ <details>
140
+ <summary><strong>Provider coverage, separate worker models, and scripted setup</strong></summary>
141
+
142
+ A saved connection is called a **target**. Chat uses one target; workers may
143
+ share it or use their own.
144
+
145
+ | Connection family | Supported routes |
156
146
  | --- | --- |
157
147
  | Local inference | llama.cpp, LM Studio, Ollama, vLLM, SGLang, Lemonade |
158
- | Compatible endpoints | OpenAI-compatible and Anthropic-compatible servers; LiteLLM gateways |
148
+ | Compatible APIs | OpenAI-compatible and Anthropic-compatible endpoints; LiteLLM |
159
149
  | Cloud APIs | OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, OpenRouter, Amazon Bedrock |
160
- | Institutional gateways | Argonne ALCF Sophia and Metis over Globus OAuth |
161
- | Subscriptions | ChatGPT Plus/Pro through `openai-codex`; Claude Pro/Max through `anthropic-max` |
162
- | Worker integrations | Claude SDK, Claude Code, experimental Google Antigravity delegation, and configured ACP agents |
163
-
164
- The interactive wizard is the easiest path:
165
-
166
- ```bash
167
- clio-coder configure
168
- clio-coder targets --probe
169
- ```
150
+ | Institutional gateways | Argonne ALCF Sophia and Metis through Globus OAuth |
151
+ | Subscriptions | ChatGPT through `openai-codex`; Claude through `anthropic-max` |
152
+ | Worker integrations | Claude SDK, Claude Code, experimental Antigravity delegation, and configured ACP agents |
170
153
 
171
- The same setup can be scripted. The model id must match what the server
172
- advertises unless you deliberately pass `--force`:
154
+ To script setup, use the model ID advertised by your server:
173
155
 
174
156
  ```bash
175
157
  clio-coder configure \
@@ -179,161 +161,105 @@ clio-coder configure \
179
161
  --model your-model-id \
180
162
  --set-orchestrator \
181
163
  --set-fleet-default
182
-
183
- clio-coder targets use local-lmstudio
184
164
  clio-coder targets --probe
185
165
  ```
186
166
 
187
- Local hardware, quantization, context windows, tool calling, and reasoning
188
- behavior vary substantially by model and serving runtime. Clio records what it
189
- can probe, but it does not turn one successful configuration into a universal
190
- claim. Start with the measured field notes in the
191
- [Model Catalog](docs/architecture/model-catalog.md), then keep the serving configuration with
192
- your own results.
193
-
194
- > [!NOTE]
195
- > Subscription OAuth routes use the vendors' existing coding-agent credential
196
- > paths. Whether a subscription may be used outside a vendor's first-party
197
- > application depends on that vendor's current terms. Enable those routes at
198
- > your discretion.
199
-
200
- The full target, auth, profile, and routing reference is
201
- [Configuration and Targets](docs/guide/configuration-and-targets.md). The ALCF route
202
- has a separate [setup guide](docs/architecture/alcf-provider.md).
203
-
204
- ## Project context that stays with the project
205
-
206
- Clio uses several layers of context, each with a different job:
207
-
208
- - **`CLIO-CODER.md`** is the human-owned project handbook loaded for each
209
- session. `clio-coder context init` can draft it from the repository and adopt
210
- existing `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, Cursor, or Copilot guidance
211
- with provenance. You can edit and version it like any other project file.
212
- - **The codewiki** is a structural index produced by
213
- `clio-coder context index`. It lets `code_nav` locate files and symbols
214
- without broad, expensive reads.
215
- - **The working set** keeps durable tool results in the session ledger while
216
- controlling which bodies remain in the model window. Evicted content can be
217
- recalled by reference; history is not silently rewritten.
218
- - **Skills** are focused `SKILL.md` procedures loaded when needed. The shipped
219
- catalog pins content hashes, and `clio-coder skills eval <name>` can run a
220
- skill's executable checks.
221
- - **Task memory** surfaces bounded reminders during long work and keeps durable
222
- lessons behind explicit review and approval.
223
-
224
- Start with:
167
+ Models differ in tool calling, reasoning, context capacity, and hardware needs.
168
+ Start with the measured notes in the [Model Catalog](docs/architecture/model-catalog.md).
169
+ Subscription integrations depend on the vendor's current terms and sign-in
170
+ support. See the [ALCF guide](docs/architecture/alcf-provider.md) for institutional access.
171
+
172
+ Advanced settings can route memory, compaction, and worker profiles separately.
173
+ Without a separate memory route, memory stays rules-only; compaction uses the
174
+ chat model. A LiteLLM gateway retains control of physical backend routing.
175
+
176
+ </details>
177
+
178
+ ## Grow into larger workflows
179
+
180
+ Clio can help with everyday development or coordinate several agents across a
181
+ research workflow. Add structure when it helps your project.
182
+
183
+ <details>
184
+ <summary><strong>Project guidance, code navigation, and reusable skills</strong></summary>
185
+
186
+ `CLIO-CODER.md` is your editable project handbook. Clio can draft it from the
187
+ repository and adopt guidance from existing agent instruction files. A code
188
+ index helps locate files and symbols; skills provide focused procedures when
189
+ needed.
225
190
 
226
191
  ```bash
227
192
  clio-coder context init
193
+ clio-coder context index
228
194
  clio-coder context
229
195
  ```
230
196
 
231
- Project-generated runtime state lives under the gitignored `.clio-coder/`
232
- directory. See [Context Engine](docs/architecture/context-engine.md),
233
- [Working Set](docs/architecture/context-working-set.md), and
234
- [Proactive Memory](docs/guide/proactive-memory.md) for the detailed contracts.
235
-
236
- The local skills marketplace may offer a matching shipped skill during a
237
- request. Every promotion install requires an explicit bound operator answer,
238
- including in full-auto. Promotion installs retain their catalog source gate,
239
- and installation does not activate the skill. Active
240
- project and user skill trees are operator-owned: main and worker tool admissions
241
- refuse direct and recognized shell mutations. Draft skill changes outside those
242
- roots, then use the operator's installation or update workflow. This bounded
243
- command inspection does not confine arbitrary programs or dynamic shell paths.
244
- Manual installs remain available for a source you deliberately choose. See
245
- [Skills Marketplace](docs/guide/skills-marketplace.md).
246
-
247
- For a repository architecture map, run `clio-coder context index` followed by
248
- `clio-coder context map`. The latter writes a deterministic JSON seed from the
249
- index's directory areas and imports. The operator-installed `archify` remote
250
- skill validates and delivers the interactive diagram; Clio ships its wrapper
251
- and pinned install metadata, while the renderer comes from upstream. Source
252
- citations require a pinned GitHub revision. Validation can still report
253
- composition warnings that need human edits.
254
-
255
- ## Delegate with bounds
256
-
257
- Clio's orchestrator can send focused assignments to worker agents instead of
258
- stretching one conversation across every task. A worker receives a declared
259
- role, tool profile, scope, budget, target, and typed result contract. Reviewers
260
- and judges remain read-only.
261
-
262
- On one machine:
263
-
264
- ```text
265
- /run tester "Run the focused tests for the parser and explain any failure."
266
- /tasks
267
- ```
197
+ Generated project state lives under `.clio-coder/`. During longer work, Clio
198
+ manages which observations stay in the model's context while retaining durable
199
+ history. Skill installation and promotion require operator approval.
268
200
 
269
- For repeatable workflows, fleet contracts describe steps, dependencies,
270
- writers, and review gates:
201
+ Read about [project context](docs/architecture/context-engine.md),
202
+ [working sets](docs/architecture/context-working-set.md),
203
+ [memory](docs/guide/proactive-memory.md), and
204
+ [skills](docs/guide/skills-marketplace.md). For an architecture map,
205
+ `clio-coder context map` produces a seed that the optional `archify` skill can render.
271
206
 
272
- ```bash
273
- clio-coder fleet new validation-pass --from build-test
274
- clio-coder fleet validate validation-pass
275
- clio-coder fleet graph validation-pass
276
- clio-coder fleet run validation-pass
277
- ```
207
+ </details>
278
208
 
279
- The same worker protocol can run over SSH on declared nodes. Placement and
280
- capacity are explicit, a node can be drained without killing active work, and
281
- completed steps can be resumed from durable evidence. Shared workspaces must
282
- appear at the same absolute path on every node, and `localhost` always means
283
- the node where that worker runs.
209
+ <details>
210
+ <summary><strong>Domain plugins and materials research</strong></summary>
284
211
 
285
- Read [Fleet Dispatch](docs/guide/fleet-dispatch.md) for configuration and invariants,
286
- or follow the [Fleet Demo Runbook](docs/process/fleet-demo-runbook.md) for an end-to-end
287
- example.
212
+ Install a complete workflow with its prompts, agents, skills, scripts and references:
288
213
 
289
- ## Safety and evidence
214
+ ```bash
215
+ clio-coder library search
216
+ clio-coder library install plugin:materio --user
217
+ ```
290
218
 
291
- Clio has one tool-admission path and four operator-visible autonomy levels:
219
+ In a new session, start with `/materio:help` or
220
+ `/materio:identify-research`. The workflow progresses through
221
+ supplied-paper literature review, lab feasibility, research tasks, verified
222
+ execution, and a text handoff to WTF-P for paper planning. Researchers retain
223
+ control of assumptions and scientific decisions.
292
224
 
293
- | Level | What Clio may do |
294
- | --- | --- |
295
- | `read-only` | Inspect only; execution and mutation are denied. |
296
- | `suggest` | Prepare mutations and wait for approval. |
297
- | `auto-edit` | Apply file edits; execution and dispatch still pass their gates. |
298
- | `full-auto` | Run approved action classes unattended, still inside safety-net and project-policy limits. |
225
+ The [Library](library/README.md) bundles skills, agent recipes, prompts, fleets,
226
+ and plugins with Clio-Coder. It verifies complete package pins and supports
227
+ previews, updates, removal and drift checks. Its portable skills can also be
228
+ installed in Claude Code and discovered by Codex; Clio-Coder can review and
229
+ import supported packages from those hosts. The [interop guide](docs/guide/interop.md)
230
+ documents the measured formats and their limits. [Plugin usage](docs/guide/plugins.md),
231
+ [package authoring](docs/guide/authoring-plugins.md), and
232
+ [harness extensions](docs/guide/harness-extensions.md) describe the plugin and
233
+ harness-extension contracts. WTF-P installs as a plugin with `clio-coder library
234
+ install`; remove an older extension copy with `clio-coder extensions remove wtfp`.
235
+
236
+ </details>
299
237
 
300
- The safety net applies at every level. Bash starts from a default-deny rule
301
- pack; reads and observations are bounded; writes are serialized; protected
302
- paths and project policy can narrow authority further. A worker can never gain
303
- more authority than the process that dispatched it.
238
+ <details>
239
+ <summary><strong>Multi-agent workflows and workers over SSH</strong></summary>
304
240
 
305
- Every completed run seals a receipt over the facts Clio actually observed:
306
- routing, model usage, priced cost where known, tool calls, safety decisions,
307
- worker identity, timing, and result conformance. Inspect the same evidence from
308
- the CLI or TUI:
241
+ Give workers focused assignments with defined tools, file scopes, and budgets.
242
+ Reviewers and judges remain read-only. For a repeatable build-and-test workflow:
309
243
 
310
244
  ```bash
311
- clio-coder evidence list
312
- clio-coder evidence inspect <evidence-id>
313
- clio-coder trace phases <run-id>
314
- clio-coder trace tail <run-id>
315
- clio-coder trace inspect --json
245
+ clio-coder fleet new validation-pass --from build-test
246
+ clio-coder fleet validate validation-pass
247
+ clio-coder fleet graph validation-pass
248
+ clio-coder fleet run validation-pass
316
249
  ```
317
250
 
318
- `clio-coder usage report` preserves known failed-compaction spending and labels
319
- missing coverage. Adapter prices are estimates, and numeric spending ceilings
320
- bound the known sum; absent telemetry does not prove a call was free. Eval's
321
- provider-health checks are opt-in and separate from task success. Partial or
322
- mixed session/stdout evidence and inherited fork history are not reconciled;
323
- full reconciliation is deferred to v0.4.5 or later, and 0.4.3 does not add an
324
- automatic cost-comparison rejection. See the
325
- [Eval Runner](docs/process/eval-runner.md#token-accounting--provenance) for source
326
- and timing limits.
251
+ A fleet describes the steps, dependencies, and review gates. Declared SSH nodes
252
+ can run the same worker protocol, with explicit placement and capacity. Shared
253
+ workspaces must have the same absolute path on each node; `localhost` refers
254
+ to the node running the worker. Start with one worker before expanding.
327
255
 
328
- Evidence helps you audit a run; it does not prove that generated code is
329
- scientifically correct. Domain validation, reference results, and human review
330
- remain part of the job. The detailed boundaries are in
331
- [Safety Model](docs/architecture/safety-model.md), [Observability](docs/architecture/observability.md),
332
- and [Scientific Validation](docs/process/scientific-validation.md).
256
+ See [Fleet Dispatch](docs/guide/fleet-dispatch.md) and the
257
+ [Fleet Demo Runbook](docs/process/fleet-demo-runbook.md).
333
258
 
334
- ## Headless and editor use
259
+ </details>
335
260
 
336
- The interactive TUI and automation surfaces use the same engine:
261
+ <details>
262
+ <summary><strong>Automation, editor connections, and recorded results</strong></summary>
337
263
 
338
264
  ```bash
339
265
  clio-coder run "Summarize this repository's entry points."
@@ -342,193 +268,80 @@ clio-coder run "<task>" --agent coder
342
268
  clio-coder acp
343
269
  ```
344
270
 
345
- Text mode reserves stdout for the final answer. Diagnostics and progress go to
346
- stderr. `--json` emits JSONL events for scripts, and `acp` serves Clio over
347
- stdio to Agent Client Protocol hosts.
348
-
349
- In headless runs (`clio-coder run`):
271
+ Headless text mode writes the final answer to stdout and diagnostics to stderr.
272
+ `--json` emits JSONL events. `acp` connects editor hosts through the Agent Client
273
+ Protocol. Interactive approval prompts cannot be answered headlessly; worker
274
+ requests that need permission are denied by default.
350
275
 
351
- - Interactive confirmation prompts cannot be answered, so any tool call parking
352
- for operator confirmation is automatically denied. Interactive session commands
353
- (such as `/settings`, `/help`, or `/context compact`) are refused upfront with
354
- an error. Skill invocations that include a task (such as
355
- `/skill <name> <task>`) and declared prompt templates expand normally; a bare
356
- `/skill` invocation without arguments is rejected.
357
- - Dispatched workers follow `fleet.permissions.mode`: default `deny` records a
358
- structured tool denial and continues execution, while `fail` aborts the worker.
276
+ Inspect recorded runs with:
359
277
 
360
- Exit codes and output guarantees are documented in
361
- [Exit Codes and Output](docs/guide/exit-codes-and-output.md) and
362
- [ACP](docs/architecture/acp.md).
363
-
364
- ## CLI discovery and diagnostics
365
-
366
- Discover commands and inspect local health without guessing syntax:
278
+ ```bash
279
+ clio-coder evidence list
280
+ clio-coder evidence inspect <evidence-id>
281
+ clio-coder trace phases <run-id>
282
+ clio-coder usage report
283
+ ```
367
284
 
368
- | You want to… | Command | Description |
369
- | --- | --- | --- |
370
- | View standard operator commands | `clio-coder --help` | Day-to-day commands for chat, config, context, and fleets. |
371
- | View complete command listing | `clio-coder --help --all` | Standard commands plus harness developer tools under `clio-coder dev`. |
372
- | Run developer instruments | `clio-coder dev <command>` | Harness tools: `components`, `evolve`, and `share`. |
373
- | Health check state and credentials | `clio-coder doctor` | Read-only scan of settings schema, credentials mode (`0o600`), and directories. |
374
- | Repair missing skeletons | `clio-coder doctor --fix` | Non-destructively creates missing directories and repairs credential permissions. |
375
- | Show resolved paths | `clio-coder paths [--json]` | Displays resolved configuration, data, state, and cache directories. |
376
- | Inspect active settings | `clio-coder config inspect` | Displays layered configuration and provenance. |
285
+ See [output and exit codes](docs/guide/exit-codes-and-output.md),
286
+ [ACP](docs/architecture/acp.md), and [Observability](docs/architecture/observability.md).
377
287
 
378
- ## Settings and local state
288
+ </details>
379
289
 
380
- User configuration is a strict `version: 2` YAML document organized into seven
381
- durable areas: `chat`, `fleet`, `targets`, `context`, `safety`, `interface`, and
382
- `integrations`. The same names are accepted as `/settings` deep links. Use the
383
- Settings Center for ordinary changes; use the YAML inventory when you need a
384
- reviewable lab or fleet configuration.
290
+ ## Safety and scientific validation
385
291
 
386
- `clio-coder upgrade` migrates older settings before strict readers load them,
387
- writes the result atomically, and keeps the original `settings.yaml.v1.bak`.
388
- Conflicting old and new paths stop the migration instead of guessing.
292
+ Clio lets you choose how much authority to give it. The default allows workspace
293
+ edits and requires approval for unrecognized commands. Read-only and more
294
+ autonomous modes are available; the safety policy applies at every level.
295
+ Workers cannot gain more authority than the session that launched them.
389
296
 
390
- Experimental pane, dock, and files-pane integrations are opt-in and off by default;
391
- Clio does not start or download them unless you explicitly enable
392
- `interface.panes`.
297
+ Recorded tool activity and run results help you review the work. They do not
298
+ establish scientific correctness. Validate numerical results, inspect changes,
299
+ and use your project's reference tests. Usage estimates depend on available
300
+ pricing and telemetry; the tracked session budget is not a provider billing cap.
393
301
 
394
- Use `clio-coder paths --json` to locate configuration, durable data, state, and
395
- cache on the current machine. See the complete
396
- [Settings Inventory](docs/guide/configuration-and-targets.md#settings-inventory) and
397
- [Artifact Placement](docs/architecture/artifact-placement.md).
302
+ Read the [Safety Model](docs/architecture/safety-model.md) and
303
+ [Scientific Validation](docs/process/scientific-validation.md) for the boundaries.
398
304
 
399
305
  ## Install
400
306
 
401
- Requirements:
402
-
403
- - Node.js `>=22.19.0` on `PATH`, including when installing with Bun
404
- - Linux or macOS; Windows support is currently best effort
405
- - A package manager for registry installation, or Git and pnpm for source builds
406
- - At least one local, institutional, subscription, or cloud model target
407
- - Optional: Deno `>=2.9.5` for compiling or running the canonical Workbench GUI
408
-
409
- Registry commands below install the version published under `latest`. This
410
- checkout prepares **0.4.5**; until that release is published, `latest` remains
411
- **0.4.4**. The v0.4.5 source workflow uses pnpm **10.34.5**, pinned in
412
- `package.json`, and Pi **0.85.1**.
413
-
414
- ### Install with npm, pnpm, or Bun
415
-
416
- Choose one global installation command:
417
-
418
- | Package manager | Install | Global executable directory |
419
- | --- | --- | --- |
420
- | npm | `npm install -g @iowarp/clio-coder` | `$(npm prefix -g)/bin` on Unix; the prefix itself on Windows |
421
- | pnpm | `pnpm add -g @iowarp/clio-coder` | `pnpm bin -g`; run `pnpm setup` and restart your shell if no global bin directory is configured |
422
- | Bun | `bun add -g @iowarp/clio-coder` | `bun pm bin -g`, usually `~/.bun/bin` |
307
+ The npm command in [Get started](#get-started) is the shortest path. Other
308
+ package managers install the same CLI; Node.js is required for all of them.
423
309
 
424
- These managers install the same package from the npm registry. Bun manages the
425
- installation; the CLI's executable uses Node.js. Keep the selected manager's
426
- global executable directory on `PATH`, then verify and configure:
310
+ <details>
311
+ <summary><strong>Other package managers and the optional Claude SDK</strong></summary>
427
312
 
428
- ```bash
429
- clio-coder --version
430
- clio-coder configure
431
- clio-coder doctor
432
- ```
433
-
434
- To select a particular published version, append `@<version>` to the package
435
- name. For example, `npm install -g @iowarp/clio-coder@0.4.4` installs v0.4.4.
436
-
437
- ### Run without a global installation
438
-
439
- | Package manager | Command |
313
+ | Package manager | Install |
440
314
  | --- | --- |
441
- | npm exec | `npm exec --package=@iowarp/clio-coder@latest -- clio-coder --help` |
442
- | npx | `npx --yes @iowarp/clio-coder@latest --help` |
443
- | pnpm dlx | `pnpm dlx @iowarp/clio-coder@latest --help` |
444
- | bunx | `bunx @iowarp/clio-coder@latest --help` |
445
- | Yarn 2+ | `yarn dlx -p @iowarp/clio-coder@latest clio-coder --help` |
446
-
447
- Replace `--help` with `configure`, another CLI command, or nothing to start an
448
- interactive session. These commands download packages into the manager's cache;
449
- Clio still uses its normal configuration and session directories. Node.js is
450
- required for every route; do not pass Bun's `--bun` runtime override.
451
-
452
- Yarn Classic users can install with `yarn global add @iowarp/clio-coder` and
453
- put `yarn global bin` on `PATH`. Modern Yarn uses the `dlx` route above.
454
- For a repository-local CLI dependency, use `npm install --save-dev`,
455
- `pnpm add -D`, or `bun add -d` with `@iowarp/clio-coder`, then invoke the local
456
- binary through that manager's exec/run command. Source development in this
457
- repository uses the pinned pnpm workflow below.
458
-
459
- #### Optional dependency: the Claude Agent SDK
460
-
461
- `@anthropic-ai/claude-agent-sdk` includes a large platform-specific binary.
462
- Skip optional dependencies when you do not need the `claude-sdk` worker runtime:
463
-
464
- | Package manager | Install without optional dependencies |
465
- | --- | --- |
466
- | npm | `npm install -g @iowarp/clio-coder --omit=optional` |
467
- | pnpm | `pnpm add -g @iowarp/clio-coder --no-optional` |
468
- | Bun | `bun add -g @iowarp/clio-coder --omit=optional` |
469
-
470
- Other runtimes do not need that SDK. To include it later, reinstall with your
471
- chosen manager and its optional dependencies enabled; for npm, use
472
- `npm install -g @iowarp/clio-coder --include=optional`.
473
- See [Optional dependencies](docs/guide/installation-and-lifecycle.md#optional-dependency-the-claude-agent-sdk).
315
+ | pnpm | `pnpm add -g @iowarp/clio-coder` |
316
+ | Bun | `bun add -g @iowarp/clio-coder` |
317
+ | Yarn Classic | `yarn global add @iowarp/clio-coder` |
474
318
 
475
- #### Update or remove a registry installation
319
+ Without a global install, use `npx --yes @iowarp/clio-coder@latest`,
320
+ `pnpm dlx @iowarp/clio-coder@latest`, or `bunx @iowarp/clio-coder@latest`.
321
+ Modern Yarn supports `yarn dlx -p @iowarp/clio-coder@latest clio-coder`.
322
+ Keep Node on `PATH`; Bun manages installation but the CLI runs on Node.
476
323
 
477
- Use the manager that owns the installation:
478
-
479
- | Package manager | Update | Remove package and executable |
480
- | --- | --- | --- |
481
- | npm | `npm install -g @iowarp/clio-coder@latest` | `npm uninstall -g @iowarp/clio-coder` |
482
- | pnpm | `pnpm add -g @iowarp/clio-coder@latest` | `pnpm remove -g @iowarp/clio-coder` |
483
- | Bun | `bun add -g @iowarp/clio-coder@latest` | `bun remove -g @iowarp/clio-coder` |
484
- | Yarn Classic | `yarn global add @iowarp/clio-coder@latest` | `yarn global remove @iowarp/clio-coder` |
485
-
486
- After a package-manager update, run the installed v0.4.5 CLI's local migration
487
- and metadata checks without another package installation:
324
+ The optional Claude Agent SDK includes a large platform-specific binary.
325
+ Only the `claude-sdk` worker runtime needs it. To skip it:
488
326
 
489
327
  ```bash
490
- clio-coder upgrade --post-install
491
- clio-coder doctor
328
+ npm install -g @iowarp/clio-coder --omit=optional
492
329
  ```
493
330
 
494
- Plain `clio-coder upgrade` can reinstall npm packages. For pnpm, Bun, Yarn,
495
- repository-local, or cached executions, use the owning manager to update and
496
- pass `--post-install`; automatic package replacement currently assumes npm.
497
- For a cached execution, rerun the same runner with `@latest` to select the
498
- latest release. Package-manager removal preserves Clio's configuration and
499
- sessions. Clear your shell's command cache with `hash -r` (Bash) or `rehash`
500
- (Zsh) after changing installations.
501
-
502
- For deliberate removal of user-level configuration, data, state, and cache,
503
- see [Lifecycle operations](#lifecycle-operations) and
331
+ For pnpm use `--no-optional`; for Bun use `--omit=optional`. Reinstall with
332
+ optional dependencies enabled if you need the SDK later. Release `.tgz` files
333
+ can also be installed with your package manager. See
504
334
  [Installation and Lifecycle](docs/guide/installation-and-lifecycle.md).
505
335
 
506
- ### Install from a release tarball
507
-
508
- Download `iowarp-clio-coder-<version>.tgz` from the matching
509
- [GitHub release](https://github.com/iowarp/clio-coder/releases), then install the
510
- local artifact with your chosen manager:
336
+ </details>
511
337
 
512
- ```bash
513
- npm install -g ./iowarp-clio-coder-<version>.tgz
514
- # Or: pnpm add -g ./iowarp-clio-coder-<version>.tgz
515
- # Or: bun add -g ./iowarp-clio-coder-<version>.tgz
516
- clio-coder --version
517
- ```
338
+ <details>
339
+ <summary><strong>Build from source</strong></summary>
518
340
 
519
- The archive includes the built CLI and runtime resources. Installation still
520
- resolves dependencies from the registry unless your package-manager cache
521
- already contains them. GitHub's automatically generated source archives need
522
- the source build steps below.
523
-
524
- ### Install from source
525
-
526
- From source, the v0.4.5 release uses this pinned pnpm workflow. The tag becomes
527
- available when the release is cut; before then, use an existing local `v045`
528
- checkout with the steps following `cd clio-coder`:
341
+ From source, the latest stable release uses the pinned pnpm workflow:
529
342
 
530
343
  ```bash
531
- git clone --branch v0.4.5 https://github.com/iowarp/clio-coder.git
344
+ git clone --branch v0.4.7 https://github.com/iowarp/clio-coder.git
532
345
  cd clio-coder
533
346
  corepack enable pnpm
534
347
  pnpm run install:local
@@ -537,329 +350,175 @@ hash -r
537
350
  "$HOME/.local/bin/clio-coder" --version
538
351
  ```
539
352
 
540
- If Corepack is unavailable, install pnpm with `npm install -g pnpm@10.34.5`
541
- instead of `corepack enable pnpm`. The `packageManager` field selects the
542
- repository version when using Corepack. Published v0.4.4 and older source tags
543
- use their own npm workflow (`npm ci` and `npm run install:local`); follow the
544
- README at the tag you check out.
545
-
546
- `pnpm run install:local` performs `pnpm install --frozen-lockfile`, builds, and
547
- links the launcher at `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}/clio-coder`.
548
- There is no need to install dependencies separately first. If you already
549
- synced them, use `pnpm run install:local --skip-deps`. For an existing build,
550
- `bash scripts/install-local.sh --skip-deps --no-build` only links and runs
551
- local setup checks. Use `--dry-run` to inspect the planned actions.
552
-
553
- Run `command -v clio-coder` to see which installation the bare command reaches;
554
- your shell may otherwise keep resolving an older launcher earlier on `PATH`.
353
+ The installer resolves dependencies, builds, and links the CLI into
354
+ `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}`. If Corepack is unavailable, install
355
+ pnpm with `npm install -g pnpm@10.34.5`. Use `--dry-run` to preview installation,
356
+ `--skip-deps` after syncing dependencies, or
357
+ `bash scripts/install-local.sh --skip-deps --no-build` for an existing build.
555
358
 
556
- To use the source build without installing a launcher:
359
+ Run `command -v clio-coder` to check which launcher your shell reaches. After
360
+ changing `PATH`, use `hash -r` in Bash or `rehash` in Zsh.
557
361
 
558
- ```bash
559
- pnpm install --frozen-lockfile
560
- pnpm run build
561
- node dist/cli/index.js --help
562
- node dist/cli/index.js
563
- ```
362
+ For development without a launcher, run `pnpm install --frozen-lockfile`,
363
+ `pnpm run build`, and `node dist/cli/index.js`. `pnpm run dev` rebuilds on edits;
364
+ restart Clio to load the new build.
564
365
 
565
- Rebuild automatically on source changes:
366
+ </details>
566
367
 
567
- ```bash
568
- pnpm run dev
569
- ```
368
+ <details>
369
+ <summary><strong>Update, repair, reset, or uninstall</strong></summary>
570
370
 
571
- Upgrade and diagnose without deleting state:
371
+ Use the package manager that installed Clio. For npm:
572
372
 
573
373
  ```bash
574
- clio-coder upgrade
374
+ npm install -g @iowarp/clio-coder@latest
375
+ clio-coder upgrade --post-install
575
376
  clio-coder doctor
576
- clio-coder doctor --fix
577
- ```
578
-
579
- After updating your chosen source revision, rerun `pnpm run install:local`,
580
- `hash -r`, and `clio-coder upgrade`. `pnpm run dev` rebuilds the CLI bundles on
581
- source changes; restart a running Clio process to load the new build.
582
-
583
- To remove the launcher and deliberately purge Clio's user configuration, data,
584
- sessions, and caches, preview the removal before confirming it:
585
-
586
- ```bash
587
- clio-coder uninstall --dry-run
588
- clio-coder uninstall --remove-binary
589
377
  ```
590
378
 
591
- `clio-coder uninstall` purges the four home roots (`config`, `data`, `state`,
592
- `cache`); `--remove-binary` unlinks the local launcher. Per-project `.clio-coder/`
593
- state directories and authored `CLIO-CODER.md` handbooks are not deleted by
594
- uninstall. Project reset options and selective preservation are described in the
595
- lifecycle guide below.
379
+ For source installs, update your checkout and rerun `pnpm run install:local`.
380
+ `clio-coder doctor` checks local health without modifying files;
381
+ `doctor --fix` repairs the structures and permissions it supports.
382
+ `clio-coder configure --edit` validates settings edits and can repair malformed YAML.
596
383
 
597
- ### Lifecycle operations
384
+ To remove the npm package, use `npm uninstall -g @iowarp/clio-coder`.
385
+ Removing the package preserves Clio's user data. For a deliberate data purge,
386
+ preview `clio-coder uninstall --dry-run`; `uninstall --remove-binary` also
387
+ removes a local source launcher. Per-project files are preserved.
598
388
 
599
- | Operation | Command | Scope and effect |
600
- | --- | --- | --- |
601
- | Health check | `clio-coder doctor` | Read-only audit of settings schema, credentials permissions (`0o600`), and state freshness. |
602
- | Structure repair | `clio-coder doctor --fix` | Creates missing directory skeletons and restores credential permissions (does not migrate schemas). |
603
- | Lifecycle upgrade | `clio-coder upgrade [--dry-run]` | Applies pending registered migrations (`migrations.json`) and refreshes install metadata. |
604
- | Selective reset | `clio-coder reset --help` | Lists destructive reset options and their scopes; use `--dry-run` to preview. |
605
- | Full uninstall | `clio-coder uninstall [--remove-binary] [--force]` | Removes user config, data, state, and cache roots; `--remove-binary` unlinks launcher. |
389
+ `clio-coder reset --help` lists selective reset options. Use `--dry-run` before
390
+ a reset. The [lifecycle guide](docs/guide/installation-and-lifecycle.md) explains
391
+ exactly which settings, credentials, and session directories each option affects.
606
392
 
607
- The full directory, permission, reset, migration, and uninstall behavior is in
608
- [Installation and Lifecycle](docs/guide/installation-and-lifecycle.md).
393
+ </details>
609
394
 
610
- ## Canonical Workbench (Clio Coder GUI)
395
+ ## Optional interfaces
611
396
 
612
- The canonical desktop and browser GUI for Clio Coder lives in `apps/workbench/`.
613
- It is a single Deno process that serves a built React/Vite web interface over
614
- the loopback interface (`127.0.0.1`) and manages one child `clio-coder acp`
615
- process per open project.
397
+ The terminal is the main starting point. Source checkouts also include a
398
+ desktop/browser interface and a local viewer for recorded runs.
616
399
 
617
- The standalone GUI executable is `clio-coder-gui`, or the interface can be run
618
- directly using Deno tasks. The product shown to users is named **Clio Coder**;
619
- the source directory retains the name `workbench`.
400
+ <details>
401
+ <summary><strong>Desktop and browser GUI</strong></summary>
620
402
 
621
- The Runs view filters the currently loaded run window by search, outcome,
622
- agent, node, fleet lineage, and receipt state. The conversation's worker strip
623
- has an optional running-only filter. **How this app works** opens searchable
624
- help and keyboard shortcuts, and **Settings → About** identifies the GUI and
625
- connected Clio versions and capabilities.
626
-
627
- ### State and settings
628
-
629
- The GUI launches `clio-coder` from `PATH` and uses the same Clio settings and
630
- authentication as the TUI. Choose targets and models through Clio's settings;
631
- no separate testing profile is needed.
632
-
633
- The GUI persists only its recent-project list in `projects.json`. Its state root is resolved in order:
634
- `$CLIO_CODER_GUI_STATE_DIR`, then deprecated `$CLIO_WORKBENCH_STATE_DIR`, then
635
- `$XDG_STATE_HOME/clio-coder-gui`, and finally `~/.local/state/clio-coder-gui`.
636
- On first start after upgrade, legacy `clio-workbench` directories are migrated atomically.
637
-
638
- ### Running Workbench from source
639
-
640
- Requirements: Deno `>=2.9.5`, workspace dependencies installed from the root
641
- (`pnpm install --frozen-lockfile`), and `clio-coder` on `PATH`.
642
-
643
- The supported full GUI runs through the Deno host on port 4173:
644
-
645
- ```bash
646
- cd apps/workbench
647
-
648
- # Build dist/ and serve on http://127.0.0.1:4173:
649
- deno task browser
650
-
651
- # Serve an existing dist/ build directly:
652
- deno task start
653
-
654
- # Use any free port and open the default browser:
655
- deno task start --port=0 --open
656
- ```
657
-
658
- `deno task browser` builds `dist/` once with Vite and starts the host. The Vite
659
- configuration (`vite.config.ts`) has no backend proxy; restarting `deno task browser`
660
- rebuilds and serves updated assets after edits. See the contributor notes in
661
- [apps/workbench/README.md](apps/workbench/README.md).
662
-
663
- ### GUI application lifecycle
664
-
665
- Lifecycle tasks in `apps/workbench/` are managed via `scripts/gui-lifecycle.ts`:
403
+ The GUI in `apps/workbench/` uses your existing Clio configuration. It requires
404
+ Deno `>=2.9.5`, workspace dependencies, and `clio-coder` on `PATH`.
666
405
 
667
406
  ```bash
668
407
  cd apps/workbench
669
- deno task gui:install # builds dist/, compiles standalone binary, places application files
670
- deno task gui:status # verifies version, per-file sha256 checksums, state dir, and PATH
671
- deno task gui:upgrade # replaces recorded files in place and rewrites manifest
672
- deno task gui:uninstall # removes recorded files and empty directories created at install
408
+ deno task browser # build and serve on localhost:4173
409
+ deno task gui:install # optional standalone local application
673
410
  ```
674
411
 
675
- Pass `--purge-state` to `gui:uninstall` to also remove the GUI state directory.
412
+ The installed launcher is `clio-coder-gui`. Linux, including WSL2, is tested;
413
+ native Windows launch is unavailable. Prebuilt GUI downloads are not distributed.
414
+ The GUI keeps its own recent-project list; Clio owns sessions and authentication.
676
415
 
677
- An installation places exactly three files plus an install manifest:
416
+ See the [GUI guide](apps/workbench/README.md) for installation, state locations,
417
+ updates, and removal. There is no `clio-coder workbench` subcommand.
678
418
 
679
- - Binary: `~/.local/bin/clio-coder-gui` (or `DIR/bin/clio-coder-gui` with `--prefix=DIR`)
680
- - Desktop entry: `$XDG_DATA_HOME/applications/clio-coder-gui.desktop`
681
- - Application icon: `$XDG_DATA_HOME/clio-coder-gui/clio-coder-gui.png`
682
- - Manifest: `$XDG_DATA_HOME/clio-coder-gui/install.json`
419
+ </details>
683
420
 
684
- The compiled binary (~105 MB on x86_64 Linux) has `dist/` embedded and runs
685
- without the source checkout. Start it with `clio-coder-gui --open`, or use the
686
- desktop launcher. The Clio CLI must still be on `PATH` for conversations.
421
+ <details>
422
+ <summary><strong>Read-only trace viewer</strong></summary>
687
423
 
688
- ### Desktop limitations
689
-
690
- - **Platform support:** Linux (including WSL2) is tested. Native Windows launch is
691
- unavailable (`defaultClioLauncher` in `main.ts` refuses it); `desktop:windows` is an
692
- unverified experimental webview build.
693
- - **Network change resilience:** Transient `net::ERR_NETWORK_CHANGED` errors when
694
- WSL2 or VPN interfaces cycle are recovered automatically via 3-stage bootstrap retries.
695
- - **Release distribution:** Pre-packaged GUI binaries are not distributed as GitHub
696
- release downloads; compile locally using `deno task gui:install`.
697
-
698
- See [apps/workbench/README.md](apps/workbench/README.md) and
699
- [apps/workbench/DESIGN_SYSTEM.md](apps/workbench/DESIGN_SYSTEM.md).
700
-
701
- ## Trace viewer (source-only)
702
-
703
- A small, local-only, read-only web view over Clio's durable dispatch trace
704
- mirror (`trace.sqlite`) and provenance sidecars (`receipts/<runId>.json`,
705
- `evidence-index.json`).
706
-
707
- `apps/` is intentionally absent from the published npm package, so the trace
708
- viewer is available **only from a source checkout**.
709
-
710
- The CLI command defaults to an ephemeral free port (port 0), while direct server
711
- launch defaults to port 4600:
424
+ From a source checkout:
712
425
 
713
426
  ```bash
714
- # Start viewer on port 4600 via the CLI:
715
427
  clio-coder trace ui --port 4600
716
-
717
- # Or start directly with pnpm:
718
- pnpm run trace:ui --db /path/to/trace.sqlite --port 4600
719
428
  ```
720
429
 
721
- The server binds strictly to `127.0.0.1`, opens SQLite with read-only flags,
722
- and polls active runs every 500 ms. Pass `--db <path>` to inspect an alternate
723
- trace database location.
430
+ The viewer binds to `127.0.0.1` and reads the local trace database without
431
+ modifying it. The npm package does not include this app. See the
432
+ [trace viewer guide](apps/trace-viewer/README.md).
724
433
 
725
- See [apps/trace-viewer/README.md](apps/trace-viewer/README.md) and
726
- [Trace Store Architecture](docs/architecture/trace-store.md).
434
+ </details>
727
435
 
728
- ## Project status
436
+ ## Help and documentation
729
437
 
730
- The latest release is available from npm as
731
- [`@iowarp/clio-coder`](https://www.npmjs.com/package/@iowarp/clio-coder) and
732
- from [GitHub Releases](https://github.com/iowarp/clio-coder/releases/latest).
733
- The exact release history belongs in the [CHANGELOG](CHANGELOG.md).
438
+ If setup fails, start with `clio-coder doctor` and
439
+ `clio-coder configure --section diagnostics`. To discover commands, use
440
+ `clio-coder --help`; `--help --all` includes developer tools.
734
441
 
735
- Clio Coder is still experimental. Interfaces may change between minor
736
- versions, and model behavior varies by target and serving configuration. Keep
737
- important work under version control, review proposed changes, and treat
738
- model-dependent results as measurements rather than promises.
442
+ | Looking for… | Start here |
443
+ | --- | --- |
444
+ | Setup, settings, and connections | [Configuration guide](docs/guide/configuration-and-targets.md) |
445
+ | Commands and keyboard shortcuts | [Commands and Modes](docs/guide/commands-and-modes.md) |
446
+ | Installation or connection problems | [Troubleshooting](docs/guide/troubleshooting.md) |
447
+ | Scientific checks and measurements | [Scientific Validation](docs/process/scientific-validation.md) |
448
+ | Architecture and advanced workflows | [Documentation index](docs/README.md) |
739
449
 
740
- ### Troubleshooting
450
+ When opening an issue, include Clio and Node versions, the relevant doctor
451
+ output, and steps to reproduce. Remove credentials and sensitive project data.
741
452
 
742
- | Problem | First check |
743
- | --- | --- |
744
- | `clio-coder: command not found` | Run `command -v clio-coder`; make sure your package manager's global bin or `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}` is on `PATH`, then run `hash -r` (Bash) or `rehash` (Zsh). |
745
- | GUI launcher not found | Run `clio-coder-gui` (or `cd apps/workbench && deno task browser`). There is no `clio-coder workbench` subcommand. |
746
- | Trace viewer unavailable | The trace viewer is source-only. Run `clio-coder trace ui` or `pnpm run trace:ui` from a source checkout. |
747
- | No usable model target | Run `clio-coder configure`, then `clio-coder targets --probe`. |
748
- | A local server does not answer | Verify the server process, URL, advertised model id, and `clio-coder targets` health row. |
749
- | Cloud or subscription authentication fails | Run `clio-coder auth status <target-or-runtime>` and repeat the appropriate login flow. |
750
- | A fleet node receives no work | Run `clio-coder doctor`; inspect node preflight, shared path, target reachability, and drain status. |
751
- | Local state appears damaged | Run read-only `clio-coder doctor` first; use `doctor --fix` only for the repairs it offers. |
752
-
753
- When reporting a problem, include `clio-coder --version`, `node --version`,
754
- `clio-coder doctor`, and `clio-coder targets`. Redact credentials, private
755
- prompts, proprietary code, and sensitive logs. The
756
- [Troubleshooting Guide](docs/guide/troubleshooting.md) is keyed to user-facing errors.
757
-
758
- ## For agents working on Clio Coder
759
-
760
- If you are an AI agent entering this repository, orient narrowly before making
761
- changes:
762
-
763
- 1. Read [CONTRIBUTING.md](CONTRIBUTING.md), then the guide for the subsystem you
764
- will touch in the [documentation index](docs/README.md). If a local
765
- `CLIO-CODER.md` exists, read it for checkout-specific instructions.
766
- 2. Start at the owning entry point. The main source roots are `src/cli/`,
767
- `src/core/`, `src/domains/`, `src/engine/`, `src/entry/`,
768
- `src/interactive/`, `src/tools/`, and `src/worker/`.
769
- 3. Use `rg` and focused reads. Do not infer current behavior from release notes
770
- or a similarly named legacy path.
771
- 4. Treat source, schema validation, and contract tests as authoritative when a
772
- document disagrees. Fix the document in the same change.
773
- 5. Run the narrowest relevant test while iterating, then the repository gate
774
- before handing work back.
775
-
776
- Useful orientation:
777
-
778
- | Concern | Start here |
779
- | --- | --- |
780
- | Source layout and domain boundaries | [Architecture](docs/architecture/architecture.md) |
781
- | CLI and slash-command contracts | [Commands and Modes](docs/guide/commands-and-modes.md) |
782
- | Tool schemas and bounded results | [Tool Usage](docs/guide/tool-usage.md) |
783
- | Dispatch admission and worker mechanics | [Fleet Dispatch](docs/guide/fleet-dispatch.md), [Worker Dispatch](docs/architecture/worker-dispatch-mechanics.md) |
784
- | Configuration schema and target resolution | [Configuration and Targets](docs/guide/configuration-and-targets.md) |
785
- | Sessions, context, and persistence | [Session Lifecycle](docs/architecture/session-lifecycle.md), [Context Engine](docs/architecture/context-engine.md) |
786
- | Safety and evidence | [Safety Model](docs/architecture/safety-model.md), [Observability](docs/architecture/observability.md) |
453
+ ## Contributing
787
454
 
788
- ## For contributors
455
+ Experiences from real research projects are especially useful: a difficult
456
+ build, an unreliable model connection, or a workflow that needs better support.
457
+ Read [CONTRIBUTING.md](CONTRIBUTING.md) for setup and review expectations.
458
+ Report security issues through [SECURITY.md](SECURITY.md).
789
459
 
790
- The most valuable contributions often begin with a real obstacle in your own
791
- research or software work. [CONTRIBUTING.md](CONTRIBUTING.md) covers setup,
792
- architecture boundaries, commit conventions, and review expectations. Report
793
- security issues through [SECURITY.md](SECURITY.md), not a public issue.
460
+ <details>
461
+ <summary><strong>Developer commands and guidance for coding agents</strong></summary>
794
462
 
795
463
  ```bash
796
464
  corepack enable pnpm
797
465
  pnpm install --frozen-lockfile
798
466
  pnpm run dev # rebuild on source changes
799
- pnpm run ci # types, hygiene, build, deterministic tests
800
- pnpm run ci:release # CI plus distribution and package audit
467
+ pnpm run ci # types, lint, build, tests
468
+ pnpm run ci:release # includes package and distribution checks
801
469
  ```
802
470
 
803
- | Check | Command |
804
- | --- | --- |
805
- | Types | `pnpm run typecheck` |
806
- | Formatting, lint, and architecture hygiene | `pnpm run lint` |
807
- | One contract file | `pnpm run test:file tests/contracts/<name>.test.ts` |
808
- | Deterministic suite | `pnpm test` |
809
- | Distribution package | `node scripts/check-release.mjs` |
810
-
811
- Local imports end in `.js`, tests use `node:test`, and compile-time domain
812
- boundaries are enforced by repository hygiene checks. Live target measurements
813
- and the reference suites under `evals/` are explicit operator runs; they are
814
- not hidden inside deterministic CI.
815
-
816
- ## Documentation
817
-
818
- The [documentation index](docs/README.md) groups guides for users, operators,
819
- researchers, and contributors. From a source checkout, `clio-coder docs` serves
820
- the interactive blueprints locally. Frequently used pages:
821
-
822
- | Topic | Guide |
823
- | --- | --- |
824
- | Install, upgrade, reset, uninstall | [Installation and Lifecycle](docs/guide/installation-and-lifecycle.md) |
825
- | Targets, auth, settings, fleet profiles | [Configuration and Targets](docs/guide/configuration-and-targets.md) |
826
- | Commands, keybindings, and modes | [Commands and Modes](docs/guide/commands-and-modes.md) |
827
- | Project context and context windows | [Context Engine](docs/architecture/context-engine.md) |
828
- | Safety rules and autonomy | [Safety Model](docs/architecture/safety-model.md) |
829
- | Fleet and multi-node execution | [Fleet Dispatch](docs/guide/fleet-dispatch.md) |
830
- | Receipts, traces, and evidence | [Observability](docs/architecture/observability.md) |
831
- | Exact CLI output contracts | [Exit Codes and Output](docs/guide/exit-codes-and-output.md) |
832
- | Canonical Workbench (Desktop & Browser GUI) | [apps/workbench/README.md](apps/workbench/README.md) |
833
- | Trace Viewer (Read-only mirror UI) | [apps/trace-viewer/README.md](apps/trace-viewer/README.md) |
834
-
835
- ## Heritage
836
-
837
- Clio Coder is developed by the
838
- [Gnosis Research Center](https://grc.iit.edu) at the
839
- [Illinois Institute of Technology](https://www.iit.edu) in collaboration with
840
- the University of Utah. IOWarp and the CLIO architecture are funded by the
841
- National Science Foundation under
842
- [Award #2411318](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2411318) for
843
- 2024 through 2029. Principal Investigator: Dr. Xian-He Sun. Co-Principal
844
- Investigators: Dr. Anthony Kougkas, Dr. Jake Hochhalter, and Dr. Vivek
845
- Srikumar.
846
-
847
- Clio Coder is one part of a larger ecosystem:
848
- [clio-core](https://github.com/iowarp/clio-core) is the tiered data and context
849
- storage layer, and [clio-kit](https://github.com/iowarp/clio-kit) provides
850
- [Model Context Protocol](https://modelcontextprotocol.io) servers for
851
- scientific data and computing tools.
852
-
853
- It builds on the **Pi Agent Framework** from
854
- [Earendil Works](https://github.com/earendil-works), the **Anthropic Claude
855
- Agent SDK** for supported Claude worker runs, the **Agent Client Protocol** for
856
- editor frontends, and **Globus Auth** for ALCF inference gateways. The repository
857
- also ships a local eval engine and reviewable reference suites under `evals/`
858
- for reproducible, operator-run measurements.
471
+ Local imports end in `.js`; tests use `node:test`. Run a focused test with
472
+ `pnpm run test:file tests/contracts/<name>.test.ts`. Model-dependent evaluations
473
+ under `evals/` are explicit operator runs, separate from deterministic CI.
474
+
475
+ For agents entering this repository: read `CONTRIBUTING.md`, the local
476
+ `CLIO-CODER.md` when present, and the owning subsystem's documentation. Use
477
+ focused source reads; treat the schema and behavior contracts as authoritative.
478
+ Update conflicting documentation with the code and run the appropriate checks.
479
+
480
+ Start with [Architecture](docs/architecture/architecture.md),
481
+ [Tool Usage](docs/guide/tool-usage.md), and
482
+ [Worker Dispatch](docs/architecture/worker-dispatch-mechanics.md).
483
+
484
+ </details>
485
+
486
+ ## Acknowledgements
487
+
488
+ Clio Coder is developed by the [Gnosis Research Center](https://grc.iit.edu) at
489
+ [Illinois Tech](https://www.iit.edu), in collaboration with the University of
490
+ Utah, as part of [IOWarp](https://iowarp.ai). The IOWarp CLIO architecture is
491
+ supported by the National Science Foundation under
492
+ [Award #2411318](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2411318),
493
+ 2024–2029. Principal Investigator: Dr. Xian-He Sun; Co-Principal Investigators:
494
+ Dr. Anthony Kougkas, Dr. Jake Hochhalter, and Dr. Vivek Srikumar.
495
+
496
+ This experiment builds on generous work across the open-source and AI communities:
497
+
498
+ - **Agent foundations:** [Earendil Works' Pi framework](https://github.com/earendil-works/pi),
499
+ [Anthropic's Claude Agent SDK](https://github.com/anthropics/claude-agent-sdk-typescript),
500
+ and the [Agent Client Protocol](https://agentclientprotocol.com).
501
+ - **Models and infrastructure:** OpenAI, Anthropic, Google, and the other model
502
+ providers; Ollama, LM Studio, llama.cpp, vLLM, SGLang, Lemonade, and LiteLLM;
503
+ and Argonne ALCF and Globus for institutional inference access.
504
+ - **The software underneath:** Node.js, Microsoft's TypeScript and node-pty,
505
+ Tree-sitter, Meta's React, Deno, Vite, esbuild, Biome, and the maintainers of
506
+ our parsing, rendering, and image libraries.
507
+ - **Optional terminal tools:** [Herdr](https://herdr.dev),
508
+ [Yazi](https://yazi-rs.github.io), and [croc](https://github.com/schollz/croc).
509
+
510
+ Clio uses some of these directly and connects to others through optional
511
+ integrations. Exact packages are recorded in [package.json](package.json) and
512
+ the workspace manifests; component notices are in [NOTICE](NOTICE).
513
+
514
+ CLIO means **Context Layer for Input/Output**; the name also recalls the Greek
515
+ muse of history. Explore the wider ecosystem:
516
+ [clio-core](https://github.com/iowarp/clio-core) for data and context storage,
517
+ and [clio-kit](https://github.com/iowarp/clio-kit) for scientific tool servers.
859
518
 
860
519
  ---
861
520
 
862
521
  <p align="center">
863
- Licensed under Apache-2.0. See <a href="LICENSE">LICENSE</a> and <a href="NOTICE">NOTICE</a>.<br />
522
+ Apache-2.0 · <a href="LICENSE">License</a> · <a href="NOTICE">Notices</a><br />
864
523
  <sub>Built for the people who maintain the code that science runs on.</sub>
865
524
  </p>