@iowarp/clio-coder 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/CONTRIBUTING.md +59 -36
  3. package/README.md +404 -472
  4. package/SECURITY.md +2 -1
  5. package/dist/{acp-ZILU3AUO.js → acp-TMDQZDIG.js} +7 -7
  6. package/dist/{agents-HYWGBGQR.js → agents-5N5NG3XG.js} +28 -28
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-N3QT7CBO.js → auth-Z5CCBXKQ.js} +8 -9
  9. package/dist/{builtins-UJLMOVOV.js → builtins-K6TNDT24.js} +4 -4
  10. package/dist/{chunk-GVQJ5CCZ.js → chunk-2HFQNRV3.js} +7 -7
  11. package/dist/{chunk-QMXC4JB7.js → chunk-2NHR3NAY.js} +163 -1401
  12. package/dist/chunk-2X4RYJTJ.js +39 -0
  13. package/dist/{chunk-Y45G3AXC.js → chunk-2Z2IKEXI.js} +6 -10
  14. package/dist/{chunk-EIMVLWB3.js → chunk-34BHNEE3.js} +7 -3
  15. package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
  16. package/dist/chunk-3EBYEESD.js +314 -0
  17. package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
  18. package/dist/{chunk-AP73CFDC.js → chunk-3KIPBMUA.js} +2 -2
  19. package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
  20. package/dist/{chunk-VEGN6WIQ.js → chunk-462T4EGZ.js} +2 -2
  21. package/dist/{chunk-AFKWHWXF.js → chunk-4JDLP6ZS.js} +33 -16
  22. package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
  23. package/dist/{chunk-AKB4GYDL.js → chunk-54ODD65L.js} +5 -5
  24. package/dist/{chunk-BBTJOK6Y.js → chunk-5KW52TEP.js} +3 -3
  25. package/dist/{chunk-6CCS4G3W.js → chunk-5PFYMY2V.js} +2 -2
  26. package/dist/chunk-77QIVUZB.js +1334 -0
  27. package/dist/{chunk-7OBGU7UB.js → chunk-7BHIY2MW.js} +7 -13
  28. package/dist/{chunk-3QSOM6PA.js → chunk-AZ4WMN4W.js} +2 -2
  29. package/dist/{chunk-6NJQITNH.js → chunk-B74PXLU7.js} +6 -3
  30. package/dist/{chunk-R23Z6K6I.js → chunk-B7HM5Z7T.js} +15 -15
  31. package/dist/{chunk-R32CLGZ6.js → chunk-BO7Y52RY.js} +81 -20
  32. package/dist/{chunk-UEDMSP56.js → chunk-BYMNWQ7O.js} +123 -148
  33. package/dist/{chunk-ZJLUDYFY.js → chunk-CRFOIAX3.js} +4 -4
  34. package/dist/{chunk-2NM363SV.js → chunk-CYZW7JHJ.js} +7 -7
  35. package/dist/{chunk-6HMJX2VU.js → chunk-DYHAXKHD.js} +38 -10
  36. package/dist/{chunk-THYWACCR.js → chunk-DZAW46HP.js} +3 -3
  37. package/dist/{chunk-FYUN5KZ3.js → chunk-DZEK6CJN.js} +17 -17
  38. package/dist/{chunk-3I5NY75V.js → chunk-E7GT7O5N.js} +5 -5
  39. package/dist/{chunk-VKFQTNDV.js → chunk-F2I26BDK.js} +4 -4
  40. package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
  41. package/dist/{chunk-IXJT6DCX.js → chunk-FVDGR2ZL.js} +3 -3
  42. package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
  43. package/dist/{chunk-7EPLI7VL.js → chunk-HIICAHCJ.js} +2 -2
  44. package/dist/{chunk-E67WX76H.js → chunk-HKMD33FO.js} +29 -80
  45. package/dist/chunk-HLAFFSEK.js +360 -0
  46. package/dist/{chunk-UAPGZHYC.js → chunk-I64IFBLB.js} +9 -2
  47. package/dist/{chunk-XKA2ICR3.js → chunk-I66ZTYNP.js} +440 -175
  48. package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
  49. package/dist/{chunk-PVAMAVBB.js → chunk-IDNA72AH.js} +102 -2
  50. package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
  51. package/dist/{chunk-2VG7KLYV.js → chunk-IKSLQ4XV.js} +5460 -3241
  52. package/dist/{chunk-QKIFBZKT.js → chunk-IMXMHHMQ.js} +166 -25
  53. package/dist/{chunk-74YWRRU5.js → chunk-JBCS7CRR.js} +2 -2
  54. package/dist/{chunk-BDPT6GTK.js → chunk-JWJGP5DQ.js} +2 -2
  55. package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
  56. package/dist/chunk-KPXDY6QF.js +47 -0
  57. package/dist/{chunk-ABLSQ6JX.js → chunk-LJID3DYZ.js} +7 -1
  58. package/dist/{chunk-VKRH2TCS.js → chunk-M2DAX4F6.js} +2 -2
  59. package/dist/{chunk-6I5ILFOF.js → chunk-M2WXEHER.js} +2 -2
  60. package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
  61. package/dist/{chunk-N5UK64DP.js → chunk-MCMZMDAC.js} +2 -2
  62. package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
  63. package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
  64. package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
  65. package/dist/{chunk-HUAS7ITX.js → chunk-O3YUNJZ2.js} +13 -21
  66. package/dist/{chunk-MA3H6DM5.js → chunk-P75RZCJW.js} +25 -3
  67. package/dist/{chunk-IG7BCQBA.js → chunk-PGF63K6I.js} +2 -2
  68. package/dist/chunk-PJX3WQUQ.js +42 -0
  69. package/dist/{chunk-6DWBAZ5U.js → chunk-Q4XWMHX6.js} +4 -6
  70. package/dist/{chunk-OJTRZGR3.js → chunk-QQLGQY2A.js} +8 -8
  71. package/dist/{chunk-J4HBWF6Y.js → chunk-RLYRBIYQ.js} +115 -20
  72. package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
  73. package/dist/{chunk-C537JADH.js → chunk-SSEYRH53.js} +6 -7
  74. package/dist/chunk-SZAA6XDG.js +30 -0
  75. package/dist/{chunk-MOPSG2X7.js → chunk-TPEQIQIE.js} +6 -6
  76. package/dist/{chunk-JA5QWE4Z.js → chunk-UBRFI4HS.js} +1879 -1650
  77. package/dist/{chunk-BTGG6BG2.js → chunk-UH347SHR.js} +154 -15
  78. package/dist/{chunk-5YHDIDBP.js → chunk-UH632ZYL.js} +2 -2
  79. package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
  80. package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
  81. package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
  82. package/dist/{chunk-UXN6JT4W.js → chunk-W4YEMFBX.js} +2 -2
  83. package/dist/{chunk-TD3PGPQA.js → chunk-W6NIE6OW.js} +2 -2
  84. package/dist/{chunk-TVH4ONAM.js → chunk-X7IARSHT.js} +3 -3
  85. package/dist/{chunk-PJJ6MY27.js → chunk-XE3PCIXH.js} +3 -3
  86. package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
  87. package/dist/{chunk-SCYB3HA4.js → chunk-XOXV5GKE.js} +51 -16
  88. package/dist/{chunk-QTFGO774.js → chunk-XQRY4DTA.js} +24 -11
  89. package/dist/{chunk-BJGUKIG4.js → chunk-YJISEZKC.js} +2 -2
  90. package/dist/{chunk-GPPB3JBE.js → chunk-ZGNYYXQ6.js} +2 -2
  91. package/dist/{chunk-SINK3QR6.js → chunk-ZNT2M6TG.js} +7 -7
  92. package/dist/{chunk-7RY5VZPH.js → chunk-ZW4HH5JJ.js} +6 -6
  93. package/dist/cli/index.js +33 -32
  94. package/dist/{clio-IT3G3VQH.js → clio-7VB377CC.js} +7 -7
  95. package/dist/{code-nav-RK6S7F6E.js → code-nav-YVLCYA7V.js} +85 -17
  96. package/dist/{config-3QZRWZJF.js → config-4HVOS65E.js} +88 -43
  97. package/dist/{configure-FL7Y3KJF.js → configure-PIWO7B24.js} +10 -10
  98. package/dist/{context-5HE7ODYK.js → context-IYEHL3WQ.js} +33 -31
  99. package/dist/{context-XNHL75JV.js → context-KQYIWPWT.js} +47 -34
  100. package/dist/{context-KYQFRVDC.js → context-N6ZE3LGJ.js} +11 -11
  101. package/dist/{context-clear-N545L53A.js → context-clear-G4OGZJDS.js} +33 -31
  102. package/dist/{context-working-set-QHKXSV2F.js → context-working-set-BWLF6LJP.js} +7 -7
  103. package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-2QQAITS3.js} +38 -38
  104. package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
  105. package/dist/{doctor-ZGPEGHIP.js → doctor-LHBD36VU.js} +23 -22
  106. package/dist/{eval-GXLL44RD.js → eval-C45FYRJ6.js} +21 -20
  107. package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-6DEJPLBF.js} +2 -2
  108. package/dist/{evidence-HWLBRH3Q.js → evidence-6SHONYAF.js} +30 -28
  109. package/dist/{evolve-FTZBMNVW.js → evolve-KRKMV72X.js} +30 -28
  110. package/dist/{extensions-VHRBEID7.js → extensions-KPZ2UHBB.js} +5 -3
  111. package/dist/{fleet-CKZHJWZJ.js → fleet-IVTCKDHT.js} +62 -61
  112. package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-EDWL3IT7.js} +5 -5
  113. package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-YP3YEFGK.js} +4 -4
  114. package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-ZFWKHY2M.js} +16 -14
  115. package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-FVUNCBML.js} +31 -29
  116. package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-UN5XED4R.js} +2 -2
  117. package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-XOWC4HSX.js} +17 -15
  118. package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-UN3SODEL.js} +30 -28
  119. package/dist/{fleet-view-WAMJYNDT.js → fleet-view-TWHJKCN6.js} +31 -29
  120. package/dist/{init-5XQRBOFV.js → init-T2QORQ3Y.js} +50 -49
  121. package/dist/{interop-34TVO25M.js → interop-IN5I2A66.js} +5 -5
  122. package/dist/{library-3QY6KF57.js → library-LSCATDLZ.js} +15 -13
  123. package/dist/{memory-L4UTIIIW.js → memory-HYOKAGGJ.js} +31 -29
  124. package/dist/{models-ZVX3QOWE.js → models-2GPMFYCM.js} +22 -21
  125. package/dist/{monitor-CEKVSYTS.js → monitor-E4ASVUJH.js} +34 -32
  126. package/dist/{orchestrator-77BAP6BC.js → orchestrator-DDMPR3PY.js} +984 -583
  127. package/dist/{panes-7STHOAUJ.js → panes-E3RUXOW5.js} +4 -4
  128. package/dist/{panes-SHAUIRXY.js → panes-IXKLOKA2.js} +23 -8
  129. package/dist/{reset-EOLM7GVE.js → reset-OAQP3W4O.js} +4 -4
  130. package/dist/{resources-74GKTLSF.js → resources-OTRSN34L.js} +15 -13
  131. package/dist/{run-HBAUJNNZ.js → run-5DEYH5QK.js} +60 -59
  132. package/dist/{share-G3APVLVP.js → share-IHWTLO3M.js} +19 -15
  133. package/dist/{skills-35HHUKCR.js → skills-IYMXMKW4.js} +17 -15
  134. package/dist/{skills-eval-QN4HSHDC.js → skills-eval-DROHSJAR.js} +36 -36
  135. package/dist/{skills-inventory-J357J34F.js → skills-inventory-D7X4L4ZX.js} +15 -13
  136. package/dist/{slash-commands-JZZCQA32.js → slash-commands-QBM7UZ3B.js} +21 -18
  137. package/dist/{steer-XAVHJM22.js → steer-Z5DO23FJ.js} +2 -2
  138. package/dist/{targets-DSM6CY3M.js → targets-P2FUC4IL.js} +25 -28
  139. package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-YREJ3JX2.js} +5 -5
  140. package/dist/{tools-MKNWVPBH.js → tools-5B7RO6MV.js} +4 -4
  141. package/dist/{trace-ECQ7TIYZ.js → trace-YMGMUM6A.js} +55 -7
  142. package/dist/{upgrade-H7TOM7YL.js → upgrade-PXK3S2YM.js} +11 -9
  143. package/dist/{usage-X52N3IDJ.js → usage-ME5MPXGX.js} +36 -34
  144. package/dist/{verifiers-EJTVVSMA.js → verifiers-BVZ7IWOO.js} +5 -5
  145. package/dist/{verify-YJL6XET2.js → verify-5K7ZKQFC.js} +4 -4
  146. package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
  147. package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-F5W5QTYY.js} +48 -47
  148. package/dist/{with-panes-OBOBFIIR.js → with-panes-BYOJCLAM.js} +51 -255
  149. package/dist/worker/entry.js +45 -30
  150. package/docs/README.md +176 -81
  151. package/docs/{acp.md → architecture/acp.md} +36 -20
  152. package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
  153. package/docs/{architecture.md → architecture/architecture.md} +43 -22
  154. package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
  155. package/docs/architecture/artifact-versions.md +90 -0
  156. package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
  157. package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
  158. package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
  159. package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
  160. package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
  161. package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
  162. package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
  163. package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
  164. package/docs/{observability.md → architecture/observability.md} +26 -13
  165. package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
  166. package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
  167. package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
  168. package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
  169. package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
  170. package/docs/architecture/time-conventions.md +125 -0
  171. package/docs/{trace-store.md → architecture/trace-store.md} +13 -5
  172. package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
  173. package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
  174. package/docs/{built-in-agents.md → guide/built-in-agents.md} +50 -34
  175. package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +65 -60
  176. package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +227 -289
  177. package/docs/guide/configuration-reference.md +1158 -0
  178. package/docs/{environment-variables.md → guide/environment-variables.md} +31 -28
  179. package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
  180. package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
  181. package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
  182. package/docs/{glossary.md → guide/glossary.md} +14 -11
  183. package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +44 -13
  184. package/docs/guide/panes-and-files.md +290 -0
  185. package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
  186. package/docs/{resource-library.md → guide/resource-library.md} +13 -4
  187. package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
  188. package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
  189. package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
  190. package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
  191. package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
  192. package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
  193. package/docs/process/documentation-coverage.md +100 -0
  194. package/docs/process/documentation-guide.md +187 -0
  195. package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
  196. package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
  197. package/docs/{evolution.md → process/evolution.md} +2 -2
  198. package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +11 -7
  199. package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
  200. package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
  201. package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
  202. package/evals/README.md +2 -2
  203. package/package.json +9 -7
  204. package/skills/README.md +46 -37
  205. package/skills/coding/ast-grep/SKILL.md +2 -2
  206. package/skills/coding/coding-standards/SKILL.md +2 -2
  207. package/skills/coding/prototype/SKILL.md +2 -2
  208. package/skills/coding/tdd/SKILL.md +2 -2
  209. package/skills/context/context-handoff/SKILL.md +2 -2
  210. package/skills/context/context-prime/SKILL.md +2 -2
  211. package/skills/git/file-ticket/SKILL.md +2 -2
  212. package/skills/git/fix-issue/SKILL.md +3 -3
  213. package/skills/git/resolve-merge-conflicts/SKILL.md +2 -2
  214. package/skills/git/ship/SKILL.md +2 -2
  215. package/skills/git/worktree-create/SKILL.md +2 -2
  216. package/skills/git/worktree-merge/SKILL.md +2 -2
  217. package/skills/meta/clio-coder-dev/SKILL.md +9 -5
  218. package/skills/meta/clio-coder-dev/evals.md +3 -2
  219. package/skills/meta/clio-coder-test/SKILL.md +102 -95
  220. package/skills/meta/clio-coder-test/evals.md +9 -4
  221. package/skills/meta/clio-coder-test/references/harness.md +100 -124
  222. package/skills/meta/clio-coder-test/references/test-map.md +77 -50
  223. package/skills/meta/credentials/SKILL.md +2 -2
  224. package/skills/meta/find-skills/SKILL.md +2 -2
  225. package/skills/meta/herdr/SKILL.md +2 -2
  226. package/skills/meta/skill-craft/SKILL.md +22 -16
  227. package/skills/planning/architecture/SKILL.md +2 -2
  228. package/skills/planning/backlog/SKILL.md +2 -2
  229. package/skills/planning/prd/SKILL.md +2 -2
  230. package/skills/planning/product-intent/SKILL.md +2 -2
  231. package/skills/planning/tech-spec/SKILL.md +2 -2
  232. package/skills/registry.yaml +62 -62
  233. package/skills/research/arxiv-literature/SKILL.md +2 -2
  234. package/skills/research/experiment-protocol/SKILL.md +2 -2
  235. package/skills/research/scientific-debugging/SKILL.md +2 -2
  236. package/skills/research/scientific-modernization/SKILL.md +2 -2
  237. package/skills/skill-marketplace.json +62 -62
  238. package/skills/workflow/cut-it/SKILL.md +2 -2
  239. package/skills/workflow/design-council/SKILL.md +2 -2
  240. package/skills/workflow/grill-me/SKILL.md +2 -2
  241. package/skills/workflow/workflow-distiller/SKILL.md +2 -2
  242. package/src/cli/args.ts +2 -2
  243. package/src/cli/bootstrap-generate.ts +1 -1
  244. package/src/cli/config-inspect.ts +65 -12
  245. package/src/cli/configure.ts +0 -4
  246. package/src/cli/docs.ts +22 -14
  247. package/src/cli/doctor-naming.ts +5 -5
  248. package/src/cli/doctor-toolchain.ts +3 -3
  249. package/src/cli/eval.ts +1 -2
  250. package/src/cli/extensions.ts +2 -1
  251. package/src/cli/fleet.ts +1 -1
  252. package/src/cli/index.ts +2 -1
  253. package/src/cli/internal-dispatch.ts +3 -4
  254. package/src/cli/panes.ts +19 -5
  255. package/src/cli/run.ts +2 -2
  256. package/src/cli/share.ts +5 -1
  257. package/src/cli/skills-eval.ts +3 -3
  258. package/src/cli/targets.ts +2 -6
  259. package/src/cli/trace.ts +55 -4
  260. package/src/cli/wiki-generate.ts +1 -1
  261. package/src/core/artifact-paths.ts +1 -1
  262. package/src/core/bash-exec.ts +131 -86
  263. package/src/core/bus-events.ts +51 -6
  264. package/src/core/config.ts +5 -1
  265. package/src/core/defaults.ts +7 -4
  266. package/src/core/dispatch-outcome.ts +16 -0
  267. package/src/core/guardrails.ts +10 -49
  268. package/src/core/prompt-hint.ts +9 -0
  269. package/src/domains/agents/builtins/architect.md +2 -3
  270. package/src/domains/agents/builtins/coder.md +3 -2
  271. package/src/domains/agents/builtins/debugger.md +2 -2
  272. package/src/domains/agents/builtins/documenter.md +2 -2
  273. package/src/domains/agents/builtins/git-master.md +1 -1
  274. package/src/domains/agents/builtins/oracle.md +1 -1
  275. package/src/domains/agents/builtins/provenance.md +1 -1
  276. package/src/domains/agents/builtins/researcher.md +1 -1
  277. package/src/domains/agents/builtins/scout.md +1 -1
  278. package/src/domains/agents/builtins/tester.md +2 -2
  279. package/src/domains/agents/builtins/verifier.md +2 -2
  280. package/src/domains/agents/builtins/wiki-writer.md +1 -1
  281. package/src/domains/agents/catalog.ts +12 -14
  282. package/src/domains/agents/contract.ts +2 -0
  283. package/src/domains/agents/extension.ts +23 -1
  284. package/src/domains/config/keybindings.ts +8 -0
  285. package/src/domains/context/extension.ts +0 -3
  286. package/src/domains/context/working-set/path-index.ts +1 -0
  287. package/src/domains/dispatch/capability-match.ts +10 -0
  288. package/src/domains/dispatch/extension.ts +105 -22
  289. package/src/domains/dispatch/host-verification.ts +435 -39
  290. package/src/domains/dispatch/intent-requirements.ts +10 -0
  291. package/src/domains/dispatch/intent.ts +18 -1
  292. package/src/domains/dispatch/path-scope.ts +235 -24
  293. package/src/domains/dispatch/run-event-journal.ts +4 -15
  294. package/src/domains/dispatch/state.ts +2 -3
  295. package/src/domains/dispatch/transport.ts +45 -21
  296. package/src/domains/dispatch/types.ts +55 -3
  297. package/src/domains/eval/artifacts/store.ts +5 -0
  298. package/src/domains/eval/store.ts +8 -1
  299. package/src/domains/evidence/trust-status.ts +10 -1
  300. package/src/domains/extensions/contract.ts +15 -1
  301. package/src/domains/extensions/discovery.ts +238 -41
  302. package/src/domains/extensions/extension.ts +105 -6
  303. package/src/domains/extensions/index.ts +24 -0
  304. package/src/domains/extensions/integrity.ts +189 -0
  305. package/src/domains/extensions/manager.ts +17 -1
  306. package/src/domains/extensions/resource-path.ts +27 -0
  307. package/src/domains/extensions/resources.ts +18 -38
  308. package/src/domains/extensions/snapshot-store.ts +39 -0
  309. package/src/domains/extensions/snapshot.ts +180 -0
  310. package/src/domains/extensions/state.ts +385 -57
  311. package/src/domains/extensions/types.ts +118 -1
  312. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
  313. package/src/domains/lifecycle/migrations/index.ts +2 -0
  314. package/src/domains/lifecycle/naming-resources.ts +19 -4
  315. package/src/domains/lifecycle/naming-yazi.ts +10 -5
  316. package/src/domains/middleware/contract.ts +26 -0
  317. package/src/domains/middleware/extension.ts +24 -24
  318. package/src/domains/middleware/hook-receipts.ts +27 -4
  319. package/src/domains/middleware/hooks-io.ts +65 -32
  320. package/src/domains/middleware/hooks.ts +64 -0
  321. package/src/domains/middleware/index.ts +28 -4
  322. package/src/domains/middleware/registrations.ts +326 -0
  323. package/src/domains/middleware/runtime.ts +28 -0
  324. package/src/domains/middleware/snapshot.ts +20 -7
  325. package/src/domains/mux/contract.ts +38 -0
  326. package/src/domains/mux/detect.ts +6 -13
  327. package/src/domains/mux/index.ts +1 -1
  328. package/src/domains/mux/operations.ts +44 -5
  329. package/src/domains/mux/yazi/assets/yazi.toml +2 -2
  330. package/src/domains/mux/yazi/session.ts +53 -4
  331. package/src/domains/mux/yazi/theme.ts +117 -17
  332. package/src/domains/observability/contract.ts +10 -11
  333. package/src/domains/observability/extension.ts +11 -3
  334. package/src/domains/observability/projection.ts +14 -90
  335. package/src/domains/observability/trace-store.ts +43 -7
  336. package/src/domains/prompts/compiler.ts +73 -53
  337. package/src/domains/prompts/contract.ts +15 -3
  338. package/src/domains/prompts/extension.ts +97 -9
  339. package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
  340. package/src/domains/prompts/fragments/identity/clio.md +6 -12
  341. package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
  342. package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
  343. package/src/domains/prompts/fragments/operating/contract.md +7 -15
  344. package/src/domains/prompts/fragments/operating/delegation.md +32 -34
  345. package/src/domains/prompts/fragments/operating/skills.md +10 -24
  346. package/src/domains/prompts/fragments/operating/worker.md +1 -8
  347. package/src/domains/providers/index.ts +1 -1
  348. package/src/domains/providers/model-runtime-capabilities.ts +85 -21
  349. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +669 -104
  350. package/src/domains/providers/runtime-resolution.ts +31 -0
  351. package/src/domains/providers/runtimes/common/probe-helpers.ts +7 -2
  352. package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
  353. package/src/domains/providers/types/cost-provenance.ts +19 -0
  354. package/src/domains/providers/types/local-model-quirks.ts +85 -37
  355. package/src/domains/resources/skills/loader.ts +16 -19
  356. package/src/domains/safety/call-target.ts +1 -1
  357. package/src/domains/safety/loop-detector.ts +7 -4
  358. package/src/domains/session/task-board.ts +10 -9
  359. package/src/domains/share/archive.ts +164 -7
  360. package/src/engine/acp/server.ts +62 -9
  361. package/src/engine/apis/llamacpp-residency.ts +3 -4
  362. package/src/engine/apis/lmstudio.ts +3 -3
  363. package/src/engine/apis/ollama-native.ts +6 -6
  364. package/src/engine/apis/openai-completions.ts +28 -25
  365. package/src/engine/apis/output-budget.ts +8 -18
  366. package/src/engine/apis/residency.ts +8 -27
  367. package/src/engine/gemma-channel-filter.ts +19 -0
  368. package/src/engine/loop-guard.ts +92 -12
  369. package/src/engine/worker-runtime.ts +40 -11
  370. package/src/engine/worker-tools.ts +3 -1
  371. package/src/entry/extension-hook-sources.ts +28 -0
  372. package/src/entry/extension-reload.ts +309 -0
  373. package/src/entry/orchestrator.ts +59 -35
  374. package/src/interactive/application-controller.ts +2 -1
  375. package/src/interactive/bus-notices.ts +8 -1
  376. package/src/interactive/chat-loop-messages.ts +3 -13
  377. package/src/interactive/chat-loop.ts +10 -1
  378. package/src/interactive/chat-panel.ts +36 -13
  379. package/src/interactive/chat-renderer.ts +71 -7
  380. package/src/interactive/dispatch-board.ts +6 -11
  381. package/src/interactive/footer/widgets.ts +13 -0
  382. package/src/interactive/interactive-application.ts +39 -4
  383. package/src/interactive/interactive-input-runtime.ts +4 -0
  384. package/src/interactive/interactive-presentation.ts +2 -2
  385. package/src/interactive/interactive-slash-runtime.ts +2 -0
  386. package/src/interactive/overlays/extensions.ts +9 -1
  387. package/src/interactive/overlays/help-reference.ts +13 -0
  388. package/src/interactive/overlays/settings.ts +27 -16
  389. package/src/interactive/panes-runtime.ts +111 -35
  390. package/src/interactive/prompt-cache-identity.ts +88 -0
  391. package/src/interactive/slash-commands.ts +129 -14
  392. package/src/interactive/stream-pacing-policy.ts +0 -23
  393. package/src/interactive/turn-context.ts +30 -15
  394. package/src/interactive/yazi-bridge.ts +60 -6
  395. package/src/tools/agent-tools.ts +30 -1
  396. package/src/tools/artifact.ts +2 -2
  397. package/src/tools/ask-user.ts +3 -3
  398. package/src/tools/bash.ts +1 -1
  399. package/src/tools/bootstrap.ts +4 -0
  400. package/src/tools/builtin-tool-catalog.ts +52 -22
  401. package/src/tools/codewiki/code-nav-surface.ts +6 -0
  402. package/src/tools/codewiki/code-nav.ts +99 -13
  403. package/src/tools/context/docs-engine.ts +20 -7
  404. package/src/tools/context/index.ts +29 -12
  405. package/src/tools/core-bootstrap.ts +28 -6
  406. package/src/tools/credential-present.ts +1 -2
  407. package/src/tools/dispatch-arguments.ts +5 -1
  408. package/src/tools/dispatch-plan.ts +48 -4
  409. package/src/tools/dispatch-run-events.ts +1 -1
  410. package/src/tools/dispatch-schema.ts +338 -0
  411. package/src/tools/dispatch-types.ts +3 -0
  412. package/src/tools/dispatch.ts +9 -254
  413. package/src/tools/ledger.ts +3 -5
  414. package/src/tools/monitor-surface.ts +5 -13
  415. package/src/tools/observation.ts +4 -5
  416. package/src/tools/panes-surface.ts +4 -11
  417. package/src/tools/panes.ts +4 -2
  418. package/src/tools/policy.ts +15 -2
  419. package/src/tools/read.ts +5 -6
  420. package/src/tools/registry.ts +30 -7
  421. package/src/tools/result-shaping.ts +18 -14
  422. package/src/tools/steer-surface.ts +1 -1
  423. package/src/tools/tasks.ts +1 -1
  424. package/src/tools/truncate.ts +6 -5
  425. package/src/tools/verify/surface.ts +6 -12
  426. package/src/tools/web-fetch-surface.ts +1 -3
  427. package/dist/chunk-5QIAJV2D.js +0 -48
  428. package/dist/chunk-JZWT5J3Y.js +0 -814
  429. package/dist/chunk-K7VKOLQQ.js +0 -15
  430. package/dist/chunk-PMZCIOCJ.js +0 -25
  431. package/dist/chunk-SUW5DORT.js +0 -819
  432. package/dist/chunk-UOV2BYIW.js +0 -107
  433. package/dist/chunk-WR6U3OVP.js +0 -45
  434. package/docs/artifact-versions.md +0 -67
  435. package/docs/documentation-coverage.md +0 -46
  436. package/docs/documentation-guide.md +0 -167
  437. package/docs/time-conventions.md +0 -101
@@ -1,5 +1,8 @@
1
1
  # Clio Coder Glossary
2
2
 
3
+ > **Visual blueprint:** The source checkout includes the complete
4
+ > [Clio Coder Glossary visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/glossary_blueprint.html).
5
+
3
6
  This document defines the 50 core architectural concepts and terminology used throughout Clio Coder, mapped to their authoritative TypeScript type definitions in `src/`.
4
7
 
5
8
  ---
@@ -11,7 +14,7 @@ This document defines the 50 core architectural concepts and terminology used th
11
14
  - **Owning Type**: `DurableAssignmentRecord` in `src/domains/dispatch/assignment-store.ts`.
12
15
 
13
16
  ### 2. Run
14
- - **Definition**: A concrete execution attempt of an assignment. Every run possesses a unique UUIDv7 identifier, an isolated event stream, a designated execution node, and a final cryptographically sealed receipt.
17
+ - **Definition**: A concrete execution attempt of an assignment. Dispatch creates a 12-character random base36 run identifier with `newRunId()`. Session ids use the same 12-character base36 generator, while appended session turn and entry ids use UUIDv7. Every run has an isolated event stream, a designated execution node, and a final cryptographically sealed receipt.
15
18
  - **Owning Type**: `RunEnvelope` in `src/domains/dispatch/types.ts`.
16
19
 
17
20
  ### 3. Attempt
@@ -28,7 +31,7 @@ This document defines the 50 core architectural concepts and terminology used th
28
31
 
29
32
  ### 6. Receipt
30
33
  - **Definition**: An immutable, cryptographically sealed record of a completed run containing full execution facts, tool telemetry, token accounting, validation grounding, and outcome codes.
31
- - **Owning Type**: `RunReceipt` in `src/domains/dispatch/types.ts` (`RUN_RECEIPT_INTEGRITY_VERSION = 19`).
34
+ - **Owning Type**: `RunReceipt` in `src/domains/dispatch/types.ts` (`RUN_RECEIPT_INTEGRITY_VERSION = 20`).
32
35
 
33
36
  ### 7. Envelope
34
37
  - **Definition**: A bounded container enforcing byte-length limits and truncation indicators on a dynamic payload. Tool output carries shown and total byte counts plus a continuation fragment; a parent briefing carries byte count and SHA-256 content hash instead.
@@ -59,7 +62,7 @@ This document defines the 50 core architectural concepts and terminology used th
59
62
  - **Owning Type**: `FleetNodeSnapshot` in `src/domains/scheduling/cluster.ts`.
60
63
 
61
64
  ### 14. Route
62
- - **Definition**: An exact execution tuple composed of `{ agent, target, model, node }` evaluated by the active route planner for capability fit and cost readiness.
65
+ - **Definition**: The complete execution candidate evaluated by the route planner for capability fit, readiness, and cost. Its operational identity includes agent, execution role, target, model, runtime, node, thinking level when present, tool and prompt composition, endpoint identity, and immutable spec/settings fingerprints.
63
66
  - **Owning Type**: `RouteCandidate` in `src/domains/dispatch/route-decision.ts`.
64
67
 
65
68
  ### 15. Posture (Autonomy Level)
@@ -71,7 +74,7 @@ This document defines the 50 core architectural concepts and terminology used th
71
74
  - **Owning Type**: `AgentCapabilityClass` in `src/domains/agents/spec.ts`.
72
75
 
73
76
  ### 17. Topology
74
- - **Definition**: The multi-agent structural orchestration pattern governing workflow execution. Three unions spell it for three different jobs and their value sets differ: `parallel`, `sequential`, `pipeline`, `review`, `compete`, and `fleet` in a compiled plan; the same set with `detached` and without `fleet` for a capacity reservation; both plus `detached` and `fleet` at the tool surface. The operator-facing argument is spelled `mode`, and `singular` (the one-task call shape) and `auto` are values of that argument, not topologies.
77
+ - **Definition**: The multi-agent structural orchestration pattern governing workflow execution. Three unions spell it for three jobs. A compiled plan supports `parallel`, `sequential`, `pipeline`, `review`, `compete`, `council`, and `fleet`. A capacity reservation supports `parallel`, `detached`, `sequential`, `pipeline`, `review`, `compete`, and `council`. The dispatch-plan tool surface supports all eight values from those two sets. The operator-facing argument is spelled `mode`; `singular` (the one-task call shape) and `auto` are values of that argument, not topologies.
75
78
  - **Owning Types**: `ExecutionPlanTopology` in `src/domains/dispatch/execution-plan.ts`, `ReservationTopology` in `src/domains/dispatch/reservation-store.ts`, `DispatchPlanTopology` in `src/tools/dispatch-plan.ts`.
76
79
 
77
80
  ### 18. Worker Block
@@ -79,8 +82,8 @@ This document defines the 50 core architectural concepts and terminology used th
79
82
  - **Owning Type**: `WorkerEntryState` in `src/interactive/worker-stream.ts`.
80
83
 
81
84
  ### 19. Origin Glyphs (`◇`/`◆`)
82
- - **Definition**: Transcript and fleet board indicators that identify who requested a run. The glyph `◇` marks operator-typed runs, `◆` marks model-requested dispatches, and a dim dot marks internal Clio runs.
83
- - **Owning Type**: `WorkerRunOrigin` in `src/domains/session/entries.ts`.
85
+ - **Definition**: Transcript and fleet board indicators that identify who requested a run. The glyph `◇` marks operator-typed runs, `◆` marks model-requested dispatches, and a dim dot marks internal Clio runs. Transcript worker entries admit only user and agent origins; internal runs can appear on dispatch surfaces but never become transcript worker entries.
86
+ - **Owning Types**: `WorkerRunOrigin` in `src/domains/session/entries.ts` for transcript entries; `DispatchRequestOrigin` in `src/domains/dispatch/types.ts` for user, agent, and internal dispatches.
84
87
 
85
88
  ### 20. Share Note
86
89
  - **Definition**: A bounded operator note formatted as `[worker result] <agent> · run <id> · <outcome> · shared by the operator` that delivers a finished worker answer into the main agent context over the user-turn path.
@@ -115,7 +118,7 @@ This document defines the 50 core architectural concepts and terminology used th
115
118
  - **Owning Type**: `ResourceSourceInfo` in `src/domains/resources/collision.ts`.
116
119
 
117
120
  ### 28. Trust Gate
118
- - **Definition**: A security boundary requiring explicit operator opt-in via `skills.trustProjectCompatRoots` before prompt templates or skills from project-scope foreign roots can execute or expand.
121
+ - **Definition**: A security boundary requiring explicit operator opt-in via `integrations.projectResources.trustProjectImports` before prompt templates or skills from project-scope foreign roots can execute or expand.
119
122
  - **Owning Type**: `PromptTemplate` in `src/domains/resources/prompts/loader.ts`.
120
123
 
121
124
  ### 29. Fleet
@@ -127,7 +130,7 @@ This document defines the 50 core architectural concepts and terminology used th
127
130
  - **Owning Type**: `DispatchRequest` in `src/domains/dispatch/contract.ts`.
128
131
 
129
132
  ### 31. Run Ledger
130
- - **Definition**: The durable dispatch run list at `runs.json` in the state directory, retention-capped by `guardrails.maxDispatchRuns`. It is what the fleet board, `clio-coder fleet status`, and eval linking read.
133
+ - **Definition**: The durable dispatch run list at `runs.json` in the state directory, retention-capped by `fleet.history.maxRuns`. It is what the fleet board, `clio-coder fleet status`, and eval linking read.
131
134
  - **Owning Type**: `RunEnvelope` in `src/domains/dispatch/types.ts`, persisted by `src/domains/dispatch/state.ts`.
132
135
 
133
136
  ### 32. Agent Ledger
@@ -143,7 +146,7 @@ This document defines the 50 core architectural concepts and terminology used th
143
146
  - **Owning Type**: `TaskLedgerEntry` in `src/domains/session/entries.ts`.
144
147
 
145
148
  ### 35. Context Ledger
146
- - **Definition**: The accounting of how the model's context window is spent, bucketed into system, tools, agents, skills, memory, and the rest, and the input to compaction decisions.
149
+ - **Definition**: The accounting of how the model's context window is spent and the input to compaction decisions. Current buckets are `system`, `tools`, `agents`, `skills`, `memory`, `project`, `messages`, `pending`, `reserve`, `free`, and `streaming`.
147
150
  - **Owning Type**: `ContextLedgerCategory` in `src/domains/session/context-ledger.ts`.
148
151
 
149
152
  ### 36. Dispatch Board
@@ -163,7 +166,7 @@ This document defines the 50 core architectural concepts and terminology used th
163
166
  - **Owning Type**: `ParsedClioMd` in `src/domains/context/clio-md.ts`.
164
167
 
165
168
  ### 40. Delegate
166
- - **Definition**: Another coding agent Clio drives over ACP stdio as if it were a worker, configured under `delegation.agents` and invoked with `/delegate`. A delegate is a foreign harness, not a model target.
169
+ - **Definition**: Another coding agent Clio drives over ACP stdio as if it were a worker, configured under `integrations.externalAgents.entries` and invoked with `/delegate`. A delegate is a foreign harness, not a model target.
167
170
  - **Owning Type**: `DelegationAgentConfig` in `src/core/defaults.ts`.
168
171
 
169
172
  ### 41. Working Set
@@ -187,7 +190,7 @@ This document defines the 50 core architectural concepts and terminology used th
187
190
  - **Owning Type**: `renderMarker` in `src/domains/context/working-set/marker.ts`.
188
191
 
189
192
  ### 46. Canonical Trust Status
190
- - **Definition**: The six-axis record of what is known about one run: artifact integrity, validation grounding, independent review, context provenance, autonomy enforcement, and completion evidence. It is an algebra, not a score: no axis promotes another, every non-absent state names its source and authority, and `absent`, `unknown`, and `not_applicable` are states in their own right. See [docs/evidence-and-memory.md](evidence-and-memory.md#canonical-trust-status) for the full state table.
193
+ - **Definition**: The six-axis record of what is known about one run: artifact integrity, validation grounding, independent review, context provenance, autonomy enforcement, and completion evidence. It is an algebra, not a score: no axis promotes another, every non-absent state names its source and authority, and `absent`, `unknown`, and `not_applicable` are states in their own right. See [docs/architecture/evidence-and-memory.md](../architecture/evidence-and-memory.md#canonical-trust-status) for the full state table.
191
194
  - **Owning Type**: `CanonicalTrustStatus` in `src/domains/evidence/trust-status.ts`.
192
195
 
193
196
  ### 47. Trust Projection
@@ -1,9 +1,9 @@
1
1
  # Installation and Lifecycle Operations
2
2
 
3
- Clio Coder is designed to be self-contained and platform-compliant. This document outlines the default directory paths, file purposes, permission levels, and lifecycle commands (`install`, `reset`, `upgrade`, and `uninstall`). Clio Coder installs from npm as `@iowarp/clio-coder` (`npm install -g @iowarp/clio-coder`, published since v0.3.0) or from a source checkout with a deterministic local symlink; the CLI classifies both install kinds and `clio-coder upgrade` handles each.
3
+ > **Visual blueprint:** The source checkout includes the complete
4
+ > [Installation and Lifecycle Operations visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/lifecycle_blueprint.html).
4
5
 
5
- > [!TIP]
6
- > **Interactive Spec Available:** An interactive dashboard with a path simulator and visual flowcharts is located at [docs/html/lifecycle_blueprint.html](html/lifecycle_blueprint.html) (Version: 0.4.0). You can open it directly in any web browser to view details dynamically.
6
+ Clio Coder is designed to be self-contained and platform-compliant. This document outlines the default directory paths, file purposes, permission levels, and lifecycle commands (`install`, `reset`, `upgrade`, and `uninstall`). Clio Coder installs from npm as `@iowarp/clio-coder` (`npm install -g @iowarp/clio-coder`, published since v0.3.0) or from a source checkout with a deterministic local symlink; the CLI classifies both install kinds and `clio-coder upgrade` handles each.
7
7
 
8
8
  ### Optional dependency: the Claude Agent SDK
9
9
 
@@ -93,7 +93,7 @@ The core files are created automatically during the first run. `credentials.yaml
93
93
  | **Config** | `settings.yaml` | Target runtimes, model defaults, keybindings, and theme preferences. | `0o644` (rw-r--r--) | Removed by uninstall / `reset --config`. |
94
94
  | **Config** | `credentials.yaml` | Private keys and tokens managed via `clio-coder auth`. | `0o600` (rw-------) | Removed by uninstall / `reset --auth`. |
95
95
  | **Config** | `credentials.yaml.lock` | Lockfile used during credentials updates to prevent file corruption. | Ephemeral | Auto-removed. |
96
- | **State** | `install.json` | Install metadata: Clio version, node, platform, `installedAt` (written once at first install), `upgradedAt` and `upgradedFrom` (stamped on a version change), and `noticedVersion` (the version whose one-time upgrade notice the interactive launch has shown). | Writer/umask default | Removed by uninstall / `reset --state`. |
96
+ | **State** | `install.json` | Install metadata: Clio version, node, platform, `installedAt` (written once at first install) or `repairedAt` (when metadata is reconstructed over a preexisting config, data, or state root), `upgradedAt` and `upgradedFrom` (stamped on a version change), and `noticedVersion` (the version whose one-time upgrade notice the interactive launch has shown). | Writer/umask default | Removed by uninstall / `reset --state`. |
97
97
  | **State** | `migrations.json` | Log of successfully applied schema/state migrations. | Writer/umask default | Removed by uninstall / `reset --state`. |
98
98
  | **Data** | `memory/records.json` | Long-term learning memories (up to 500 records) proposed/approved from runs. | Writer/umask default | Removed by uninstall / `reset --data`. |
99
99
  | **Data** | `tools/<id>/<version>/` | One pinned external program Clio downloaded on request (`clio-coder tools install <id>`), with its upstream license text and a `clio-install.json` recording url, sha256, platform and install time. Binaries `0o755`, documents `0o644`. Only the pinned version is kept: a successful install prunes the versions it supersedes. | `0o755` dir | `clio-coder tools remove <id>` deletes every version of one tool; removed by uninstall / `reset --data`. |
@@ -108,7 +108,7 @@ When Clio Coder boots (or after a reset), it calls `initializeClioHome()` (see `
108
108
  1. **Directory Tree**: Recursively creates the four roots (`config`, `data`, `state`, `cache`) and their skeletons: `agents` under config, `memory`/`evidence`/`evals` under data, and `sessions`/`audit`/`receipts`/`interviews`/`scratch` under state.
109
109
  2. **Settings Template**: If `settings.yaml` is absent, creates a fresh default config. An existing file is never read, validated, or rewritten by initialization.
110
110
  3. **Credentials Security**: If `credentials.yaml` is absent, creates a YAML file containing a managed-file comment and an empty object (`{}`), then locks its permissions immediately to owner-only read-write (`0o600`).
111
- 4. **Install Metadata**: Writes `install.json` with `installedAt` exactly once at first install; a later version, platform, or node change preserves `installedAt` and stamps `upgradedAt`, and a version change also records the previous version as `upgradedFrom`.
111
+ 4. **Install Metadata**: Writes `install.json` with `installedAt` exactly once when no config, data, or state root existed before initialization. If Clio reconstructs missing metadata over a preexisting config, data, or state root, it writes `repairedAt` instead of inventing an installation time. A cache-only root does not count as a preexisting home for this decision. A later version, platform, or node change preserves whichever original timestamp exists and stamps `upgradedAt`; a version change also records the previous version as `upgradedFrom`.
112
112
 
113
113
  ---
114
114
 
@@ -191,7 +191,7 @@ Runs a series of health sweeps across the environment:
191
191
  * *Recovery:* Run `clio-coder doctor --fix` to create missing directories and templates, repair credential permissions, and refresh install metadata. Settings are always validated against the current schema; `--fix` does not rewrite removed keys or migrate an older settings file. Run `clio-coder upgrade` for registered lifecycle migrations, including removal of the retired `panes.agents` and `panes.keepFailed` keys; paths with no registered migration still require deliberate editing.
192
192
 
193
193
  ### B. Upgrades (`clio-coder upgrade`)
194
- Refreshes state metadata and applies pending data-dir migrations.
194
+ Refreshes state metadata and applies pending lifecycle migrations, which may update settings, state, or extension data.
195
195
  ```bash
196
196
  clio-coder upgrade [--dry-run] [--channel=<latest|beta|dev>] [--skip-migrations]
197
197
  ```
@@ -201,7 +201,28 @@ checkout it never runs `npm install -g`: it performs its safe local duties
201
201
  `git pull`, `npm run install:local`, `hash -r`. The npm reinstall path applies
202
202
  only to a genuinely npm-installed binary.
203
203
 
204
- #### Upgrading from 0.3.0
204
+ #### Current migration contract
205
+
206
+ The v0.4.2 source tree registers five migrations in execution order:
207
+
208
+ 1. `2026-09-01-settings-v2`
209
+ 2. `2026-09-01-extension-install-digests`
210
+ 3. `2026-09-01-clio-coder-naming`
211
+ 4. `2026-09-01-retire-panes-knobs`
212
+ 5. `2026-08-18-lmstudio-runtime-id`
213
+
214
+ Applied IDs are recorded in `<stateDir>/migrations.json`. An ID already in that
215
+ manifest is skipped, and each successful migration is recorded immediately so a
216
+ later failure does not cause it to run again. `clio-coder upgrade --dry-run`
217
+ lists every registered migration it would consider; it does not claim that
218
+ every listed ID is pending. `--skip-migrations` is a recovery override that lets
219
+ the independent install and metadata work proceed after a migration failure.
220
+ Fix the migration's cause and rerun the ordinary upgrade afterward.
221
+
222
+ #### Historical record: upgrading from 0.3.0 to 0.3.1
223
+
224
+ The following behavior records the 0.3.0 and 0.3.1 release binaries. It is not
225
+ the current migration inventory or current upgrade output.
205
226
 
206
227
  Nothing has to be done by hand. On an npm install, one command does it all:
207
228
 
@@ -234,9 +255,10 @@ next `clio-coder` launch refreshes it. `install.json` then reads
234
255
  `upgradedFrom: "0.3.0"`; doctor's row becomes
235
256
  `0.3.1 (installed ..., upgraded ... from 0.3.0)`.
236
257
 
237
- #### Upgrading to 0.3.3
258
+ #### Historical record: 0.3.x release notes
238
259
 
239
- Upgrading from 0.3.1 to 0.3.3 is automated:
260
+ The retained notes below span the 0.3.3 upgrade and later 0.3.7 operational
261
+ changes. Upgrading from 0.3.1 to 0.3.3 was automated:
240
262
 
241
263
  ```bash
242
264
  clio-coder upgrade
@@ -245,16 +267,25 @@ clio-coder upgrade
245
267
  Key lifecycle and operational updates in v0.3.7:
246
268
  - Upgraded the underlying engine SDK libraries to 0.84.0 with signal-aware OAuth cancellation.
247
269
  - Hardened migration resilience: damaged `credentials.yaml` files no longer block upgrades when no renames are needed (#121); `--skip-migrations` is available as a recovery override.
248
- - Fullscreen TUI mode (`terminal.tuiMode`, `terminal.fullscreenScrollbar`) is available via Settings → Terminal (restart required). Adaptive presentation pacing is the live `terminal.smoothStreaming` setting; 0.3.3 defaults it to `off`, with conservative `auto` and explicit `on` available from the same section.
270
+ - Fullscreen TUI mode (`interface.mode`, `interface.fullscreenScrollbar`) is
271
+ available through `/settings interface` and requires a restart. Adaptive
272
+ presentation pacing is the live `interface.smoothStreaming` setting; it
273
+ defaults to `off`, with conservative `auto` and explicit `on` available from
274
+ the same area.
249
275
  - Interactive launch paints a measured Stage 0 shell on the same terminal and editor that Stage 1 hydrates. Typing, queued submits, resize, and Ctrl+C remain live during hydration; set `CLIO_CODER_INSTANT_SHELL=0` for the legacy fully hydrated first-frame path.
250
276
  - Turn settlement is enforced on `/new`, `/resume`, `/tree`, and `/fork` to cleanly commit in-flight streams before session writer replacement (#114).
251
277
  - Resumed and forked session entry replays standardize message prefixes through `src/engine/messages.ts`.
252
278
  - `AI_AGENT=clio-coder` is set on all child processes for system attribution.
253
279
 
254
- The first interactive launch after upgrading shows the version notice:
280
+ The first interactive launch after that upgrade showed this contemporary
281
+ version notice:
255
282
  `clio: upgraded 0.3.1 → 0.3.3. What changed at the keyboard: ...`
256
283
  Recorded once per version in `install.json` as `noticedVersion`.
257
284
 
285
+ Current launches use the `clio-coder:` prefix. Version 0.3.1 has specialized
286
+ keyboard-facing text; all other target versions use the generic form
287
+ `clio-coder: upgraded <from> → <to>. What changed is in CHANGELOG.md, section <to>.`
288
+
258
289
  ### C. System Resets (`clio-coder reset`)
259
290
  Selective recovery wipes:
260
291
  ```bash
@@ -364,7 +395,7 @@ If you are removing Clio Coder completely from your system, verify that all cate
364
395
  3. **Global Bin Links**:
365
396
  * `clio-coder` executable in your global npm path (for source checkouts, avoid this path unless intentionally debugging npm link behavior).
366
397
  4. **Per-Repository State**:
367
- * `.clio-coder/` in every repository Clio has worked in, and the generated `CLIO-CODER.md` beside it. See [The Project `.clio-coder/` Directory](#the-project-clio-directory) for what each entry is before deleting.
398
+ * `.clio-coder/` in every repository Clio has worked in, and the generated `CLIO-CODER.md` beside it. See [The Project `.clio-coder/` Directory](#the-project-clio-coder-directory) for what each entry is before deleting.
368
399
  * Remove `.clio-coder/worktrees/` with `git worktree remove` rather than `rm -rf`, so git does not keep stale worktree metadata.
369
400
 
370
401
  ---
@@ -375,5 +406,5 @@ Clio Coder supports headless operation for automation and continuous integration
375
406
 
376
407
  When executing tasks headlessly using `clio-coder run`, interactive permission prompting is unavailable. The engine resolves permission requests using a deterministic model:
377
408
  - **Main-agent auto-denial:** Any main-agent tool call that parks for operator authorization is denied with `clio-coder run cannot confirm permission requests; rerun interactively to approve this action.` The parked call is cancelled with that reason, and the headless turn finishes according to the resulting assistant outcome.
378
- - **Worker non-stall policy:** Dispatched workers use `workers.onPermission`. The default `deny` turns a permission ask into a structured tool denial and lets the worker continue. `fail` aborts the worker and records the dispatch outcome as `failed/permission_required`.
409
+ - **Worker non-stall policy:** Dispatched workers use `fleet.permissions.mode`. The default `deny` turns a permission ask into a structured tool denial and lets the worker continue. `fail` aborts the worker and records the dispatch outcome as `failed/permission_required`.
379
410
  - **CI behavior:** Neither path waits for an interactive prompt. Exit status still reflects the final headless or dispatch result rather than the mere fact that a permission ask occurred.
@@ -0,0 +1,290 @@
1
+ # Panes and the Files Pane
2
+
3
+ > **Visual blueprint:** The source checkout includes the complete
4
+ > [Panes and the Files Pane visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/panes_files_blueprint.html).
5
+
6
+ This page is the operator's path from a clean machine to a working files pane
7
+ beside a Clio Coder session: what to install, how a session joins its pane
8
+ host, the commands and keys, the settings that govern them, what `doctor`
9
+ says at each stage, and what to do when something does not open. Every step
10
+ below was run on Linux x64 against Clio Coder 0.4.2 with herdr 0.8.2 and the
11
+ pinned files-pane engine; the outputs quoted are what those runs printed.
12
+
13
+ Panes are optional. A session without them behaves exactly as before, and
14
+ nothing on a startup path downloads, probes a socket, or writes a file unless
15
+ panes were asked for.
16
+
17
+ ## What you get
18
+
19
+ Inside a herdr session, Clio can open panes beside itself and close them
20
+ when it quits:
21
+
22
+ - **The files pane.** A file view docked below the session. `/files` or
23
+ `Alt+E` opens it and moves the keyboard into it; the same key or command
24
+ closes it. Picking a file sends it back to the composer as an `@file`
25
+ mention and returns the keyboard to the prompt. The engine behind it is a
26
+ vendored file manager, installed on request with
27
+ `clio-coder tools install yazi`; that program's name appears nowhere else in
28
+ the operator surface.
29
+ - **The logs pane.** `/panes open logs` follows the newest dispatched run's
30
+ event journal with `tail -F`.
31
+ - **The shell pane.** `/panes open shell` opens a login shell in the
32
+ workspace.
33
+ - **The workers watch pane.** Enter on a live run in the `Alt+W` board renders
34
+ that run's stream in a pane to the right. It is documented with the fleet
35
+ in [Fleet Dispatch](fleet-dispatch.md); this page covers the utility panes.
36
+
37
+ Outside herdr, `/files` still works: the file view takes over the terminal
38
+ for one pick and returns to the session with the selection in the composer.
39
+ The logs and shell panes need a pane host and say so.
40
+
41
+ ## Install, from a clean machine
42
+
43
+ Clio bundles neither the pane host nor the files-pane engine. The npm
44
+ package ships the engine's configuration (the profile under
45
+ `src/domains/mux/yazi/assets/`), and the two programs are downloaded only
46
+ when an operator asks, from a registry that pins each release's URL and
47
+ sha256 per platform. A copy already on `PATH` wins over a vendored one when it
48
+ clears the registry's minimum version.
49
+
50
+ On-demand install is the decision, not a gap (#274). Bundling the two
51
+ programs would add roughly 22 MB for herdr and 32 MB for yazi per platform
52
+ across five platforms, and the release audit in `scripts/check-release.mjs`
53
+ holds the tarball to 10 MB and the unpacked package to 50 MB as its tripwire
54
+ against packaging defects; one bundled platform alone would trip it. Both
55
+ programs also carry their own licenses and notices, which the package would
56
+ then have to ship. So the first `/files` on a clean machine is a refusal that
57
+ names the install command, `doctor` warns row by row with the same command,
58
+ and the download happens only when you ask for it.
59
+
60
+ ```bash
61
+ npm install -g @iowarp/clio-coder
62
+ clio-coder configure
63
+ clio-coder tools install herdr # or: clio-coder panes install
64
+ clio-coder tools install yazi
65
+ ```
66
+
67
+ Both installs verified their checksums and finished in under a second on
68
+ this machine:
69
+
70
+ ```text
71
+ $ clio-coder tools install yazi
72
+ downloading https://github.com/sxyazi/yazi/releases/download/v26.8.15/yazi-x86_64-unknown-linux-gnu.zip
73
+ checksum verified (cc67eb7991550c2f9407cda52d3f5af0937627aa6884e7de99a04fcf059807e0)
74
+ ok: installed yazi 26.8.15 (MIT) at ~/.local/share/clio-coder/tools/yazi/26.8.15
75
+ ```
76
+
77
+ `clio-coder tools list` then shows where each program resolves. On the test
78
+ machine a file manager from a distribution package sat on `PATH` below the
79
+ registry floor, and the listing said exactly that rather than reporting it
80
+ missing:
81
+
82
+ ```text
83
+ TOOL PIN LICENSE SOURCE RESOLVED
84
+ herdr 0.8.2 Apache-2.0 path PATH /home/you/.local/bin/herdr (0.8.2, pin 0.8.2)
85
+ yazi 26.8.15 MIT vendored vendored .../tools/yazi/26.8.15/yazi (26.8.15); PATH copy /home/you/.local/bin/yazi is 26.1.22, below the 26.8.15 floor, so Clio runs the vendored copy
86
+ ```
87
+
88
+ The vendored programs live under the data root (`clio-coder paths`), so
89
+ `clio-coder reset --data` removes them and `tools install` brings them back.
90
+ `clio-coder tools remove yazi` removes only Clio's copy.
91
+
92
+ ## Turn panes on
93
+
94
+ Two switches, both off by default:
95
+
96
+ ```yaml
97
+ interface:
98
+ panes:
99
+ enabled: auto # detect a herdr session and join it as a guest
100
+ files:
101
+ enabled: true # allow the files pane
102
+ ```
103
+
104
+ Or, for one session, start Clio with `clio-coder --with-panes` from a pane
105
+ inside herdr; the flag beats the setting in both directions
106
+ (`--no-panes` turns them off). `interface.panes.enabled: embedded` is
107
+ accepted but not implemented yet: it behaves as `auto` and logs that at boot.
108
+
109
+ Guest mode needs three things, checked in this order: `HERDR_ENV=1` in the
110
+ environment (herdr sets it in every pane it opens), a herdr socket that
111
+ connects, and a ping answered inside one second. `HERDR_SOCKET_PATH` and
112
+ `HERDR_SESSION` name the socket when herdr's defaults do not apply.
113
+
114
+ ## What doctor says
115
+
116
+ `clio-coder doctor` never fails an install for missing panes; the rows are
117
+ warnings that name the next step. With the settings above and Clio started
118
+ from a plain terminal rather than a herdr pane, the run on this machine
119
+ printed:
120
+
121
+ ```text
122
+ OK external tool herdr PATH /home/you/.local/bin/herdr (0.8.2, pin 0.8.2)
123
+ WARN external tool yazi PATH copy /home/you/.local/bin/yazi is 26.1.22, below the 26.8.15 floor, and nothing is vendored (install with `clio-coder tools install yazi`)
124
+ WARN files pane profile ~/.cache/clio-coder/yazi/profile (missing); user config ~/.config/yazi is separate and untouched
125
+ WARN panes mode none (panes.enabled=auto); HERDR_ENV is not 1, so Clio is not running inside a pane host
126
+ WARN panes socket no socket answered; tried /home/you/.config/herdr/herdr.sock
127
+ WARN panes protocol unknown; Clio's optional methods need protocol 17 or newer
128
+ OK panes binary PATH /home/you/.local/bin/herdr (0.8.2, pin 0.8.2)
129
+ OK panes layout off
130
+ ```
131
+
132
+ With both settings off, the same rows read `experimental integration
133
+ disabled by settings` and `panes mode: off by choice`, and doctor does not
134
+ advertise setup work. The `files pane profile` row is `missing` until the
135
+ first open generates it, then `current`; `stale` means the engine, Clio's
136
+ version, or the theme changed since, and the next open regenerates it.
137
+
138
+ ## Commands and keys
139
+
140
+ | Surface | What it does |
141
+ | --- | --- |
142
+ | `/files` | Toggle the files pane: open it below the session and move the keyboard into it, or close it and return the keyboard to the composer. |
143
+ | `Alt+E` | The same toggle as a key (`clio-coder.files.toggle`; `Ctrl+G` then `e` on terminals without Alt). |
144
+ | `/files open` | Open the pane, or focus it when it is already open. |
145
+ | `/files close` | Close the pane. |
146
+ | `/files pick` | Borrow the pane for one selection, then close it. Outside herdr, `/files` always behaves this way. |
147
+ | `/panes` | Mode, socket, effective settings, the files pane's state, docks, and every Clio-owned pane. |
148
+ | `/panes open files\|logs\|shell` | Open a preset pane; a second open focuses the pane that is already there instead of splitting again. `yazi` still parses as `files`. |
149
+ | `/panes open files --once` | The same one-shot pick as `/files pick`. |
150
+ | `/panes open <command…>` | Open an arbitrary command in a pane. Operator-only; the model's `panes` tool cannot do this. |
151
+ | `/panes show <run-or-agent>` | Point the workers watch pane at a live run. |
152
+ | `/panes zoom [target]` | Toggle zoom on a Clio-owned pane (default: the watch pane). |
153
+ | `/panes close [target\|all]` | Close one Clio-owned pane by id, label, or purpose, or all of them. |
154
+
155
+ The model has the same doors with one exception: its `panes` tool opens only
156
+ the three presets (`files`, `logs`, `shell`) and never arbitrary argv. See
157
+ [Tool Usage](tool-usage.md#panes-manage-clio-owned-terminal-panes).
158
+
159
+ ### Picking a file
160
+
161
+ The pane opens on the workspace directory with the keyboard in it. Move with
162
+ the arrow keys or `j`/`k`, enter a directory with `l` or `Enter`, go up with
163
+ `h`, and mark several files with `Space`. `Ctrl+Y` sends the selection to
164
+ Clio; in pick mode `Enter` on a file does the same and closes the pane.
165
+
166
+ What arrives in the composer is appended to the draft, never submitted. A
167
+ file becomes `@src/a.ts`; a directory or a path with spaces is inserted as
168
+ plain backticked text, because those cannot be file mentions. Up to 32 paths
169
+ and 4,096 characters land per pick, duplicates are skipped, and a notice
170
+ counts what was inserted. The run on this machine, after picking
171
+ `SECURITY.md` with `Ctrl+Y`, showed the composer holding `@SECURITY.md` with
172
+ the keyboard back in it and the notice `1 path from the files pane added to
173
+ the draft`.
174
+
175
+ ### What closes what
176
+
177
+ - `/files`, `Alt+E`, and `/files close` close the files pane. A pane the
178
+ operator closed from herdr is treated as closed the moment herdr reports
179
+ it, so the next toggle opens rather than trying to close a pane that is
180
+ not there.
181
+ - `/panes close shell`, `/panes close logs`, `/panes close all` close the
182
+ utility panes.
183
+ - `/quit` closes the docks Clio manages, the files pane and the workers
184
+ watch pane, and leaves a shell or logs pane you opened. That is the
185
+ decided policy (#272): a dock is a Clio surface and goes with the session,
186
+ while a utility pane is a terminal you may be typing in, and Clio does not
187
+ kill it behind your back. The next session does not reclaim it either, so
188
+ `/quit` prints what it left, one line after the terminal is restored:
189
+
190
+ ```text
191
+ Clio left 1 pane open in herdr: bash in panes (wK:p2A). Utility panes stay when a session ends; the docks closed with it. Next time run `/panes close all` before `/quit` to take them with you, or close it now with `herdr pane close <paneId>`.
192
+ ```
193
+
194
+ Nothing is printed when only docks were open.
195
+
196
+ ## Settings
197
+
198
+ | Key | Default | What it controls |
199
+ | --- | --- | --- |
200
+ | `interface.panes.enabled` | `off` | `auto` joins a detected herdr session; `off` skips detection; `embedded` is accepted and behaves as `auto` until implemented. |
201
+ | `interface.panes.files.enabled` | `false` | Whether `/files`, its key, `/panes open files`, and the `panes` tool may open the files pane. Refused with the key's name otherwise. |
202
+ | `interface.panes.files.mode` | `companion` | `companion` keeps the pane open across picks; `chooser` closes it after one selection. |
203
+ | `interface.panes.files.profile` | `managed` | `managed` runs the engine on Clio's generated, themed profile; `user` runs it on the operator's own configuration, in which case picks use the one-shot chooser. |
204
+ | `interface.panes.files.followCwd` | `true` | Reopening an open pane pushes the conversation's working directory into it. |
205
+ | `interface.panes.files.ratio` | `0.3` | Share of the terminal height the files dock takes, `0.05` through `0.5`, floored at a usable number of rows. |
206
+ | `interface.panes.layout` | `off` | `workers` opens the watch pane at boot; `cockpit` opens the watch pane and the files pane. Both close on `/quit`. |
207
+ | `interface.panes.notifications` | `failures` | Which finished runs raise a herdr toast. |
208
+ | `interface.keybindings."clio-coder.files.toggle"` | `alt+e` | Rebind the files toggle. |
209
+
210
+ Every key is live through `/settings` under Terminal, files pane, and in the
211
+ [Configuration Reference](configuration-reference.md).
212
+
213
+ ## Theme
214
+
215
+ The files pane is themed from Clio's own palette. Every color in the
216
+ engine's generated theme comes from the theme tokens in
217
+ `src/core/theme-token-hex.ts` (accent, action, success, warning, error, info,
218
+ frame, and the rest), rendered when the managed profile is generated on open
219
+ and stamped into the profile, so a palette change regenerates the profile on
220
+ the next open. Clio ships one palette; there is no separate light theme to
221
+ mirror, and the pane follows whatever Clio itself uses.
222
+
223
+ What is not themed by Clio is herdr's own chrome: the sidebar, tab bar,
224
+ borders, and agent rows come from herdr's `config.toml`, and herdr has no
225
+ per-pane styling on its socket. `clio-coder panes theme` prints Clio's tokens
226
+ as a herdr `[theme.custom]` block to paste into that file; Clio does not edit
227
+ another program's configuration. With `interface.panes.files.profile: user`,
228
+ nothing is themed and the engine runs on your own configuration.
229
+
230
+ That is the limit of what 0.4.2 can do, and it is herdr's, not Clio's. Checked
231
+ against herdr 0.8.2: `herdr api schema --json` (protocol 21) has no method in
232
+ the pane family that takes a color, accent, or style, and `herdr --help` has
233
+ no theme command; herdr's theme is global and read from `[theme]` in its own
234
+ `config.toml`. So Clio's chrome inside herdr (sidebar, tab bar, borders, agent
235
+ rows) can only follow the block you paste. Writing or merging that block into
236
+ herdr's config on your behalf would cross Clio's rule of writing nothing
237
+ outside its own roots, and is not offered (#273). If a later herdr exposes a
238
+ per-pane accent or a color field on `pane.report_metadata`, Clio can mark its
239
+ own panes without touching the global theme.
240
+
241
+ Clio's generated profile lives under the cache root at `yazi/profile` and
242
+ never touches `~/.config/yazi`. `clio-coder tools status yazi --reset-profile`
243
+ deletes it; the next open rebuilds it.
244
+
245
+ ## Troubleshooting
246
+
247
+ **`panes are inactive: this session started without them`** on `/panes` or
248
+ `/files`: the session booted without the panes extension. Restart with
249
+ `clio-coder --with-panes` or set `interface.panes.enabled: auto`.
250
+
251
+ **`the pane layer is not available in this session: HERDR_ENV is not 1 …`**
252
+ on `/panes open logs` or `shell`: Clio has panes enabled but is not running
253
+ inside a herdr pane. Start herdr, open a pane, run Clio there. `/files`
254
+ still works as a one-shot pick in this state.
255
+
256
+ **`the files pane is disabled by interface.panes.files.enabled`**: set that
257
+ key to `true`, or flip Files pane under `/settings` Terminal.
258
+
259
+ **`the files pane engine is not available: not found …`**: the message
260
+ ends with the install command, `clio-coder tools install yazi`; run it. If a
261
+ copy is on `PATH`, the message says which version it found and which floor it
262
+ missed.
263
+
264
+ **`no dispatched run has written a journal under … yet`** on
265
+ `/panes open logs`: the logs pane follows a run's journal and no run has
266
+ started in this state root. Dispatch something first.
267
+
268
+ **The pane opened but nothing arrived after `Ctrl+Y`**: within five seconds
269
+ of opening, Clio expects the pane to report its directory; if that never
270
+ comes it says `the files pane did not report back in time; reopening it in
271
+ pick mode` and retries with the one-shot chooser, whose picks arrive through
272
+ a file instead of the event stream. `/panes` shows `file pane: … lastLine=`
273
+ and a `dropped` count of lines that carried another session's token.
274
+
275
+ **`doctor` warns `files pane profile … (stale)`**: nothing to do; the next
276
+ open regenerates it. `tools status yazi --reset-profile` forces it.
277
+
278
+ **A pane survived `/quit`**: it was a shell or logs pane. See "What closes
279
+ what" above.
280
+
281
+ ## Where things live
282
+
283
+ | Path | What |
284
+ | --- | --- |
285
+ | `<data>/tools/<id>/<version>/` | Vendored programs with their license files and an install marker. |
286
+ | `<cache>/yazi/profile/` | Clio's generated engine profile: `yazi.toml`, `keymap.toml`, `theme.toml`, `init.lua`, a git-status plugin, and a stamp of the inputs. |
287
+ | `<cache>/yazi/sessions/` | Per-pane transport files, removed when the pane closes; anything older than a day is swept on the next open. |
288
+ | `<state>/runs/<runId>/events.ndjson` | The journal the logs pane follows. |
289
+
290
+ Resolve `<data>`, `<cache>`, and `<state>` with `clio-coder paths`.