@iowarp/clio-coder 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/CONTRIBUTING.md +59 -36
  3. package/README.md +407 -375
  4. package/SECURITY.md +2 -1
  5. package/dist/{acp-G5WJBNCT.js → acp-TMDQZDIG.js} +14 -14
  6. package/dist/{agents-FMV2Q5G4.js → agents-5N5NG3XG.js} +45 -34
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-3IDSJEIK.js → auth-Z5CCBXKQ.js} +22 -21
  9. package/dist/{builtins-XCZWXSC7.js → builtins-K6TNDT24.js} +6 -6
  10. package/dist/{chunk-GR5G2PVF.js → chunk-2HFQNRV3.js} +15 -10
  11. package/dist/{chunk-PQEFIJ36.js → chunk-2LEAKD4C.js} +1 -2
  12. package/dist/{chunk-HJJTYUHX.js → chunk-2NHR3NAY.js} +168 -1406
  13. package/dist/chunk-2X4RYJTJ.js +39 -0
  14. package/dist/{chunk-UXMFQ54G.js → chunk-2Z2IKEXI.js} +39 -43
  15. package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
  16. package/dist/chunk-34BHNEE3.js +1846 -0
  17. package/dist/{chunk-YJX4SHTD.js → chunk-35MSIRKH.js} +9 -4
  18. package/dist/chunk-3EBYEESD.js +314 -0
  19. package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
  20. package/dist/chunk-3KIPBMUA.js +308 -0
  21. package/dist/chunk-3M6DQK6S.js +362 -0
  22. package/dist/{chunk-BPKCPIL7.js → chunk-462T4EGZ.js} +3 -3
  23. package/dist/{chunk-QLFS5GO2.js → chunk-4JDLP6ZS.js} +44 -37
  24. package/dist/{chunk-LDQ2ZF2M.js → chunk-4O6MANBS.js} +6 -6
  25. package/dist/{chunk-O6TL7WWY.js → chunk-54ODD65L.js} +6 -6
  26. package/dist/{chunk-JDG2WCRO.js → chunk-5KW52TEP.js} +5 -5
  27. package/dist/{chunk-NHLBIGRH.js → chunk-5PFYMY2V.js} +41 -18
  28. package/dist/{chunk-P3FOHJT4.js → chunk-72GZI5EV.js} +2 -2
  29. package/dist/chunk-77QIVUZB.js +1334 -0
  30. package/dist/{chunk-HWHKMHUA.js → chunk-7BHIY2MW.js} +9 -15
  31. package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
  32. package/dist/{chunk-VAZSBTKF.js → chunk-AZ4WMN4W.js} +2 -2
  33. package/dist/{chunk-B7OBL7PK.js → chunk-B74PXLU7.js} +21 -11
  34. package/dist/{chunk-CY6FY24N.js → chunk-B7HM5Z7T.js} +15 -15
  35. package/dist/{chunk-ULC6OTWO.js → chunk-BO7Y52RY.js} +88 -27
  36. package/dist/chunk-BTK3SSSK.js +67 -0
  37. package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
  38. package/dist/{chunk-DQITNCXG.js → chunk-BYMNWQ7O.js} +149 -159
  39. package/dist/{chunk-HI63TFOG.js → chunk-CDNVLKUX.js} +3 -3
  40. package/dist/{chunk-Z4TXYIEG.js → chunk-CRFOIAX3.js} +10 -10
  41. package/dist/{chunk-UM7N4G5A.js → chunk-CWVRRIEI.js} +2 -2
  42. package/dist/{chunk-3BT2XMV4.js → chunk-CYZW7JHJ.js} +53 -60
  43. package/dist/{chunk-BKFM6EJV.js → chunk-D4CJV46V.js} +2 -2
  44. package/dist/chunk-D7E7WCDF.js +27 -0
  45. package/dist/{chunk-X3YGUTOB.js → chunk-DYHAXKHD.js} +90 -62
  46. package/dist/{chunk-QBJA7R7N.js → chunk-DZAW46HP.js} +3 -3
  47. package/dist/{chunk-MLKNTWH2.js → chunk-DZEK6CJN.js} +22 -22
  48. package/dist/{chunk-K5C3NCBD.js → chunk-E7GT7O5N.js} +5 -5
  49. package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
  50. package/dist/chunk-F2I26BDK.js +66 -0
  51. package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
  52. package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
  53. package/dist/{chunk-32KWKNSF.js → chunk-FVDGR2ZL.js} +4 -4
  54. package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
  55. package/dist/{chunk-SJ5ZKQ4S.js → chunk-HIICAHCJ.js} +2 -2
  56. package/dist/chunk-HJWWJ6IL.js +184 -0
  57. package/dist/{chunk-WZR7K7ZX.js → chunk-HKMD33FO.js} +32 -83
  58. package/dist/chunk-HLAFFSEK.js +360 -0
  59. package/dist/{chunk-VO67MWHC.js → chunk-HRQMFLJP.js} +3 -3
  60. package/dist/{chunk-KFZI4NIL.js → chunk-I64IFBLB.js} +152 -31
  61. package/dist/{chunk-BKFJHQCA.js → chunk-I66EAJFY.js} +2 -2
  62. package/dist/{chunk-BUMFYQFY.js → chunk-I66ZTYNP.js} +543 -267
  63. package/dist/{chunk-2OQE55CK.js → chunk-I7XBWTYH.js} +2 -2
  64. package/dist/{chunk-GKF55TAZ.js → chunk-IDNA72AH.js} +104 -3
  65. package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
  66. package/dist/{chunk-J4W7KFM7.js → chunk-IKSLQ4XV.js} +5439 -3475
  67. package/dist/{chunk-6DB53AJS.js → chunk-IMXMHHMQ.js} +171 -30
  68. package/dist/{chunk-AB44T6BB.js → chunk-JBCS7CRR.js} +8 -7
  69. package/dist/{chunk-BBVJUZHB.js → chunk-JIEGK6UF.js} +5 -173
  70. package/dist/{chunk-SP2RXXYO.js → chunk-JWJGP5DQ.js} +10 -10
  71. package/dist/{chunk-HZHHCK24.js → chunk-KKOJXO6R.js} +527 -325
  72. package/dist/chunk-KPXDY6QF.js +47 -0
  73. package/dist/{chunk-LQ3DZAMX.js → chunk-LJID3DYZ.js} +8 -2
  74. package/dist/{chunk-7MCTRUCE.js → chunk-M2DAX4F6.js} +2 -2
  75. package/dist/{chunk-VEO4AP2K.js → chunk-M2WXEHER.js} +4 -3
  76. package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
  77. package/dist/{chunk-YDFRH54B.js → chunk-MCMZMDAC.js} +4 -4
  78. package/dist/{chunk-J5Q24KAG.js → chunk-MNJGS2IN.js} +5 -6
  79. package/dist/{chunk-76ONBSIA.js → chunk-MQXIVJ35.js} +14 -5
  80. package/dist/chunk-NDDGJUXD.js +81 -0
  81. package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
  82. package/dist/chunk-NMJXSHBJ.js +283 -0
  83. package/dist/{chunk-VYMXRQI6.js → chunk-O3YUNJZ2.js} +88 -100
  84. package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
  85. package/dist/{chunk-Z2RR6MAK.js → chunk-P75RZCJW.js} +28 -6
  86. package/dist/{chunk-NHCZP4K7.js → chunk-PBP4B7XR.js} +2 -2
  87. package/dist/{chunk-DYJP44XW.js → chunk-PGF63K6I.js} +2 -2
  88. package/dist/chunk-PJX3WQUQ.js +42 -0
  89. package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
  90. package/dist/{chunk-2JDWVJND.js → chunk-Q4XWMHX6.js} +5 -7
  91. package/dist/{chunk-W5VSYASO.js → chunk-QQLGQY2A.js} +46 -87
  92. package/dist/{chunk-KMVISBZR.js → chunk-RKSR6VSF.js} +1 -1
  93. package/dist/{chunk-C2LTL2W6.js → chunk-RLYRBIYQ.js} +463 -180
  94. package/dist/{chunk-4ZG3XFUR.js → chunk-S66XZJOF.js} +14 -23
  95. package/dist/{chunk-I5VEOC6I.js → chunk-SSEYRH53.js} +13 -14
  96. package/dist/chunk-SZAA6XDG.js +30 -0
  97. package/dist/{chunk-CODPRO7Q.js → chunk-TPEQIQIE.js} +7 -7
  98. package/dist/{chunk-QLL7ILRG.js → chunk-UBRFI4HS.js} +1151 -614
  99. package/dist/{chunk-O4XIVISU.js → chunk-UH347SHR.js} +227 -47
  100. package/dist/{chunk-OQBA45DZ.js → chunk-UH632ZYL.js} +2 -2
  101. package/dist/chunk-UXCU4E3T.js +303 -0
  102. package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
  103. package/dist/{chunk-IQ7KR472.js → chunk-VIA6RFQZ.js} +8 -13
  104. package/dist/{chunk-V5DHCITQ.js → chunk-VKPAQYEB.js} +49 -19
  105. package/dist/{chunk-5LXZXPKX.js → chunk-VN3SHNBN.js} +2 -2
  106. package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
  107. package/dist/{chunk-3XML7CDN.js → chunk-W4YEMFBX.js} +3 -3
  108. package/dist/{chunk-U77AMWDL.js → chunk-W6NIE6OW.js} +44 -23
  109. package/dist/{chunk-BBVYXMFO.js → chunk-WNP7O5WZ.js} +2 -2
  110. package/dist/{chunk-QREDIESB.js → chunk-X7IARSHT.js} +15 -9
  111. package/dist/{chunk-3URVFKWK.js → chunk-XE3PCIXH.js} +5 -5
  112. package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
  113. package/dist/{chunk-F4CKPOEQ.js → chunk-XOXV5GKE.js} +119 -38
  114. package/dist/chunk-XQRY4DTA.js +657 -0
  115. package/dist/{chunk-NYS75XW5.js → chunk-YAKGTXEV.js} +5 -3
  116. package/dist/{chunk-NQQH3YT7.js → chunk-YJISEZKC.js} +3 -3
  117. package/dist/{chunk-X75E3D2N.js → chunk-ZGNYYXQ6.js} +18 -16
  118. package/dist/{chunk-LY4S7GJC.js → chunk-ZNT2M6TG.js} +20 -18
  119. package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
  120. package/dist/{chunk-IBEBSCYA.js → chunk-ZW4HH5JJ.js} +43 -34
  121. package/dist/{chunk-2ANTL7MR.js → chunk-ZW55JB7N.js} +2 -2
  122. package/dist/cli/index.js +38 -37
  123. package/dist/{clio-2JXHBBY5.js → clio-7VB377CC.js} +12 -13
  124. package/dist/{code-nav-3YYRMYNF.js → code-nav-YVLCYA7V.js} +86 -18
  125. package/dist/codewiki/build-worker.js +1 -1
  126. package/dist/{compile-cache-7FPE6PS3.js → compile-cache-OQAVB7Y5.js} +2 -4
  127. package/dist/{components-RYZV4JGP.js → components-UBWCQSRW.js} +4 -4
  128. package/dist/{config-QZPCMYSO.js → config-4HVOS65E.js} +112 -63
  129. package/dist/{configure-TEGEBYCA.js → configure-PIWO7B24.js} +25 -22
  130. package/dist/{context-E6H5RNMC.js → context-IYEHL3WQ.js} +53 -47
  131. package/dist/{context-GSXUE4CT.js → context-KQYIWPWT.js} +68 -42
  132. package/dist/{context-AV7OEZ4D.js → context-N6ZE3LGJ.js} +11 -11
  133. package/dist/{context-clear-SHIBYK6T.js → context-clear-G4OGZJDS.js} +53 -47
  134. package/dist/{context-working-set-5ZGKPGZQ.js → context-working-set-BWLF6LJP.js} +12 -11
  135. package/dist/{dispatch-runner-EFMJT4LD.js → dispatch-runner-2QQAITS3.js} +67 -58
  136. package/dist/{docs-23KQS3XK.js → docs-PD3EXDKU.js} +20 -25
  137. package/dist/doctor-LHBD36VU.js +773 -0
  138. package/dist/{eval-TFBYQH4H.js → eval-C45FYRJ6.js} +68 -49
  139. package/dist/{eval-inventory-SXH7PDKX.js → eval-inventory-6DEJPLBF.js} +7 -8
  140. package/dist/{evidence-ERGESKGN.js → evidence-6SHONYAF.js} +50 -44
  141. package/dist/{evolve-VDXTSYCJ.js → evolve-KRKMV72X.js} +49 -43
  142. package/dist/{extensions-7BGBHN57.js → extensions-KPZ2UHBB.js} +8 -6
  143. package/dist/{fleet-2RRVDF2V.js → fleet-IVTCKDHT.js} +93 -79
  144. package/dist/{fleet-commands-VJ726XIA.js → fleet-commands-EDWL3IT7.js} +10 -9
  145. package/dist/{fleet-decisions-EPAPM3XJ.js → fleet-decisions-YP3YEFGK.js} +6 -6
  146. package/dist/{fleet-graph-JF5QOATM.js → fleet-graph-ZFWKHY2M.js} +19 -15
  147. package/dist/{fleet-inspect-VLY4S7QM.js → fleet-inspect-FVUNCBML.js} +50 -45
  148. package/dist/{fleet-preflight-AIZUEJOY.js → fleet-preflight-UN5XED4R.js} +5 -9
  149. package/dist/{fleet-validate-AJRPDMDV.js → fleet-validate-XOWC4HSX.js} +22 -17
  150. package/dist/{fleet-verify-JFEL2L3H.js → fleet-verify-UN3SODEL.js} +48 -43
  151. package/dist/fleet-view-TWHJKCN6.js +96 -0
  152. package/dist/{init-DN2WWLFE.js → init-T2QORQ3Y.js} +72 -66
  153. package/dist/{install-XGLBQY5E.js → install-NKNG7KD4.js} +2 -2
  154. package/dist/{interop-OZBKXAYL.js → interop-IN5I2A66.js} +13 -11
  155. package/dist/{library-YWZG7IMW.js → library-LSCATDLZ.js} +23 -18
  156. package/dist/{memory-I4C4HMLW.js → memory-HYOKAGGJ.js} +51 -45
  157. package/dist/{models-CEYXJBO6.js → models-2GPMFYCM.js} +42 -33
  158. package/dist/{monitor-NZ6GCI3P.js → monitor-E4ASVUJH.js} +56 -50
  159. package/dist/{orchestrator-GCGQ4N5I.js → orchestrator-DDMPR3PY.js} +2676 -1507
  160. package/dist/{panes-KY6W3V2E.js → panes-E3RUXOW5.js} +5 -5
  161. package/dist/panes-IXKLOKA2.js +75 -0
  162. package/dist/{paths-II4K7DNR.js → paths-L7LGY6RN.js} +4 -4
  163. package/dist/{reset-DQ6FGCSH.js → reset-OAQP3W4O.js} +7 -8
  164. package/dist/{resources-BB3MVJMD.js → resources-OTRSN34L.js} +23 -17
  165. package/dist/{run-H2GQDUER.js → run-5DEYH5QK.js} +95 -84
  166. package/dist/{share-GTJN6A5O.js → share-IHWTLO3M.js} +26 -19
  167. package/dist/{skills-L55TEW6R.js → skills-IYMXMKW4.js} +25 -20
  168. package/dist/{skills-eval-XVXPH2JI.js → skills-eval-DROHSJAR.js} +63 -65
  169. package/dist/{skills-inventory-S4MXPJFV.js → skills-inventory-D7X4L4ZX.js} +21 -16
  170. package/dist/{slash-commands-ZSGASKJC.js → slash-commands-QBM7UZ3B.js} +38 -33
  171. package/dist/{steer-RZGSCY4R.js → steer-Z5DO23FJ.js} +3 -3
  172. package/dist/{support-PKEUNNQL.js → support-U7QOWY26.js} +6 -6
  173. package/dist/{targets-NCPZ644J.js → targets-P2FUC4IL.js} +64 -61
  174. package/dist/{terminal-lease-44SV3YCN.js → terminal-lease-YREJ3JX2.js} +15 -10
  175. package/dist/{tools-DAF3DI3C.js → tools-5B7RO6MV.js} +10 -8
  176. package/dist/{trace-FYVW2MQA.js → trace-YMGMUM6A.js} +101 -8
  177. package/dist/{tui-primitives-2AKXQNZK.js → tui-primitives-K5PASC3O.js} +8 -4
  178. package/dist/{uninstall-DW2PNOIC.js → uninstall-N34PCTGJ.js} +4 -6
  179. package/dist/{upgrade-3XPP6OQL.js → upgrade-PXK3S2YM.js} +36 -61
  180. package/dist/{usage-3NLHGTU2.js → usage-ME5MPXGX.js} +58 -53
  181. package/dist/{verifiers-SSQONKRT.js → verifiers-BVZ7IWOO.js} +10 -9
  182. package/dist/{verify-3U6J7FZI.js → verify-5K7ZKQFC.js} +9 -8
  183. package/dist/{web-fetch-S7RR6GZ7.js → web-fetch-MPARV2K7.js} +2 -3
  184. package/dist/{wiki-generate-CEHYGPGQ.js → wiki-generate-F5W5QTYY.js} +74 -70
  185. package/dist/{with-panes-MKB46MPQ.js → with-panes-BYOJCLAM.js} +78 -246
  186. package/dist/worker/entry.js +83 -63
  187. package/docs/README.md +176 -81
  188. package/docs/{acp.md → architecture/acp.md} +36 -20
  189. package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
  190. package/docs/{architecture.md → architecture/architecture.md} +43 -22
  191. package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
  192. package/docs/architecture/artifact-versions.md +90 -0
  193. package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
  194. package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
  195. package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
  196. package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
  197. package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
  198. package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
  199. package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
  200. package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
  201. package/docs/{observability.md → architecture/observability.md} +26 -13
  202. package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
  203. package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
  204. package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
  205. package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
  206. package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
  207. package/docs/architecture/time-conventions.md +125 -0
  208. package/docs/{trace-store.md → architecture/trace-store.md} +26 -13
  209. package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
  210. package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
  211. package/docs/{built-in-agents.md → guide/built-in-agents.md} +70 -46
  212. package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +73 -62
  213. package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -444
  214. package/docs/guide/configuration-reference.md +1158 -0
  215. package/docs/{environment-variables.md → guide/environment-variables.md} +31 -27
  216. package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +8 -3
  217. package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
  218. package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +47 -49
  219. package/docs/{glossary.md → guide/glossary.md} +14 -11
  220. package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +45 -14
  221. package/docs/guide/panes-and-files.md +290 -0
  222. package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
  223. package/docs/{resource-library.md → guide/resource-library.md} +13 -4
  224. package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
  225. package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
  226. package/docs/{troubleshooting.md → guide/troubleshooting.md} +10 -5
  227. package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +13 -10
  228. package/docs/history/release-cut-checklist.md +207 -0
  229. package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
  230. package/docs/process/documentation-coverage.md +100 -0
  231. package/docs/process/documentation-guide.md +187 -0
  232. package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
  233. package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
  234. package/docs/{evolution.md → process/evolution.md} +2 -2
  235. package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +17 -10
  236. package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
  237. package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
  238. package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
  239. package/evals/README.md +5 -0
  240. package/evals/behavioral-corpus-grader.mjs +103 -0
  241. package/evals/behavioral-machinery-baseline.json +2276 -0
  242. package/evals/behavioral-machinery-driver.ts +250 -0
  243. package/evals/behavioral-machinery-support.ts +253 -0
  244. package/evals/behavioral-machinery.yaml +614 -0
  245. package/evals/behavioral-model-negative-control.yaml +68 -0
  246. package/evals/behavioral-model.yaml +216 -0
  247. package/evals/fixtures/behavioral-facts.txt +3 -0
  248. package/evals/fixtures/behavioral-main.ts +7 -0
  249. package/evals/fixtures/decoy/note.txt +2 -0
  250. package/evals/fixtures/private/credentials.txt +1 -0
  251. package/evals/tracked-metrics-baseline.yaml +229 -0
  252. package/evals/tracked-metrics-grader.mjs +129 -0
  253. package/package.json +13 -21
  254. package/skills/README.md +51 -42
  255. package/skills/coding/ast-grep/SKILL.md +9 -3
  256. package/skills/coding/coding-standards/SKILL.md +9 -3
  257. package/skills/coding/prototype/SKILL.md +9 -3
  258. package/skills/coding/tdd/SKILL.md +9 -3
  259. package/skills/context/context-handoff/SKILL.md +13 -4
  260. package/skills/context/context-handoff/evals.md +3 -3
  261. package/skills/context/context-prime/SKILL.md +9 -3
  262. package/skills/context/context-prime/evals.md +2 -2
  263. package/skills/git/file-ticket/SKILL.md +10 -5
  264. package/skills/git/file-ticket/evals.md +2 -2
  265. package/skills/git/fix-issue/SKILL.md +12 -5
  266. package/skills/git/fix-issue/evals.md +4 -4
  267. package/skills/git/resolve-merge-conflicts/SKILL.md +9 -3
  268. package/skills/git/resolve-merge-conflicts/evals.md +2 -2
  269. package/skills/git/ship/SKILL.md +10 -4
  270. package/skills/git/ship/evals.md +4 -4
  271. package/skills/git/worktree-create/SKILL.md +8 -3
  272. package/skills/git/worktree-create/evals.md +6 -6
  273. package/skills/git/worktree-merge/SKILL.md +8 -3
  274. package/skills/git/worktree-merge/evals.md +6 -6
  275. package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +22 -12
  276. package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +5 -4
  277. package/skills/meta/clio-coder-test/SKILL.md +146 -0
  278. package/skills/meta/{clio-test → clio-coder-test}/evals.md +10 -5
  279. package/skills/meta/clio-coder-test/references/harness.md +102 -0
  280. package/skills/meta/clio-coder-test/references/test-map.md +96 -0
  281. package/skills/meta/credentials/SKILL.md +10 -3
  282. package/skills/meta/find-skills/SKILL.md +9 -3
  283. package/skills/meta/herdr/SKILL.md +9 -3
  284. package/skills/meta/skill-craft/SKILL.md +39 -16
  285. package/skills/planning/architecture/SKILL.md +9 -3
  286. package/skills/planning/backlog/SKILL.md +9 -3
  287. package/skills/planning/prd/SKILL.md +9 -3
  288. package/skills/planning/product-intent/SKILL.md +9 -3
  289. package/skills/planning/tech-spec/SKILL.md +9 -3
  290. package/skills/registry.yaml +66 -66
  291. package/skills/research/arxiv-literature/SKILL.md +9 -3
  292. package/skills/research/experiment-protocol/SKILL.md +10 -3
  293. package/skills/research/scientific-debugging/SKILL.md +10 -3
  294. package/skills/research/scientific-debugging/evals.md +2 -2
  295. package/skills/research/scientific-modernization/SKILL.md +10 -3
  296. package/skills/skill-marketplace.json +285 -66
  297. package/skills/workflow/cut-it/SKILL.md +11 -3
  298. package/skills/workflow/design-council/SKILL.md +12 -3
  299. package/skills/workflow/grill-me/SKILL.md +9 -3
  300. package/skills/workflow/workflow-distiller/SKILL.md +9 -3
  301. package/src/cli/acp.ts +2 -2
  302. package/src/cli/args.ts +2 -2
  303. package/src/cli/auth.ts +2 -2
  304. package/src/cli/bootstrap-generate.ts +6 -6
  305. package/src/cli/clio.ts +6 -1
  306. package/src/cli/config-inspect.ts +68 -15
  307. package/src/cli/configure-interop.ts +1 -1
  308. package/src/cli/configure.ts +27 -31
  309. package/src/cli/default-target.ts +1 -1
  310. package/src/cli/docs.ts +28 -20
  311. package/src/cli/doctor-naming.ts +323 -0
  312. package/src/cli/doctor-panes.ts +46 -14
  313. package/src/cli/doctor-toolchain.ts +31 -10
  314. package/src/cli/doctor.ts +15 -1
  315. package/src/cli/eval-inventory.ts +8 -8
  316. package/src/cli/eval.ts +1 -2
  317. package/src/cli/evidence-detail.ts +1 -1
  318. package/src/cli/evidence-inventory.ts +1 -1
  319. package/src/cli/extensions.ts +2 -1
  320. package/src/cli/fleet-decisions.ts +1 -1
  321. package/src/cli/fleet-inspect.ts +1 -1
  322. package/src/cli/fleet-preflight.ts +1 -1
  323. package/src/cli/fleet-verify.ts +1 -1
  324. package/src/cli/fleet-view.ts +40 -23
  325. package/src/cli/fleet.ts +9 -6
  326. package/src/cli/index.ts +2 -1
  327. package/src/cli/internal-dispatch.ts +3 -4
  328. package/src/cli/interop-inspect.ts +2 -2
  329. package/src/cli/models.ts +3 -3
  330. package/src/cli/modes/print.ts +1 -1
  331. package/src/cli/panes.ts +19 -5
  332. package/src/cli/reset.ts +1 -1
  333. package/src/cli/run.ts +13 -17
  334. package/src/cli/share.ts +6 -2
  335. package/src/cli/skills-eval.ts +14 -14
  336. package/src/cli/targets.ts +25 -30
  337. package/src/cli/trace-inspect.ts +1 -1
  338. package/src/cli/trace.ts +96 -4
  339. package/src/cli/uninstall.ts +2 -2
  340. package/src/cli/upgrade.ts +29 -34
  341. package/src/cli/usage.ts +2 -2
  342. package/src/cli/validate-model.ts +1 -1
  343. package/src/cli/verifiers-inspect.ts +1 -1
  344. package/src/cli/wiki-generate.ts +6 -6
  345. package/src/core/artifact-paths.ts +1 -1
  346. package/src/core/bash-exec.ts +132 -87
  347. package/src/core/boot-trace.ts +3 -3
  348. package/src/core/bus-events.ts +51 -6
  349. package/src/core/bus-trace.ts +2 -2
  350. package/src/core/compile-cache.ts +1 -1
  351. package/src/core/config.ts +1066 -886
  352. package/src/core/defaults.ts +326 -530
  353. package/src/core/dispatch-outcome.ts +16 -0
  354. package/src/core/domain-loader.ts +6 -4
  355. package/src/core/event-bus.ts +1 -1
  356. package/src/core/file-references.ts +78 -88
  357. package/src/core/git-commit-attribution.ts +3 -9
  358. package/src/core/guardrails.ts +33 -52
  359. package/src/core/naming-compat.ts +45 -0
  360. package/src/core/naming-events.ts +62 -0
  361. package/src/core/prompt-hint.ts +9 -0
  362. package/src/core/recent-models.ts +1 -7
  363. package/src/core/residency-protection.ts +4 -8
  364. package/src/core/resolve-config-value.ts +1 -1
  365. package/src/core/response-model-id.ts +0 -14
  366. package/src/core/session-routing.ts +84 -74
  367. package/src/core/skill-activation.ts +18 -0
  368. package/src/core/termination.ts +4 -4
  369. package/src/core/timers.ts +2 -12
  370. package/src/domains/agents/builtins/architect.md +2 -3
  371. package/src/domains/agents/builtins/coder.md +3 -2
  372. package/src/domains/agents/builtins/debugger.md +2 -2
  373. package/src/domains/agents/builtins/documenter.md +2 -2
  374. package/src/domains/agents/builtins/git-master.md +1 -1
  375. package/src/domains/agents/builtins/oracle.md +1 -1
  376. package/src/domains/agents/builtins/provenance.md +1 -1
  377. package/src/domains/agents/builtins/researcher.md +1 -1
  378. package/src/domains/agents/builtins/scout.md +1 -1
  379. package/src/domains/agents/builtins/tester.md +2 -2
  380. package/src/domains/agents/builtins/verifier.md +2 -2
  381. package/src/domains/agents/builtins/wiki-writer.md +1 -1
  382. package/src/domains/agents/catalog.ts +14 -26
  383. package/src/domains/agents/contract.ts +2 -0
  384. package/src/domains/agents/extension.ts +26 -4
  385. package/src/domains/agents/registry.ts +7 -7
  386. package/src/domains/agents/result-contract.ts +1 -1
  387. package/src/domains/agents/spec.ts +0 -11
  388. package/src/domains/config/classify.ts +35 -47
  389. package/src/domains/config/extension.ts +5 -5
  390. package/src/domains/config/keybindings.ts +56 -47
  391. package/src/domains/config/watcher.ts +1 -1
  392. package/src/domains/context/codewiki/indexer.ts +1 -1
  393. package/src/domains/context/extension.ts +3 -6
  394. package/src/domains/context/prompt-context.ts +1 -1
  395. package/src/domains/context/wiki/assemble.ts +2 -2
  396. package/src/domains/context/working-set/path-index.ts +1 -0
  397. package/src/domains/context/working-set/replay/metrics.ts +0 -4
  398. package/src/domains/context/working-set/replay/report.ts +1 -1
  399. package/src/domains/context/working-set/replay/synthetic.ts +2 -2
  400. package/src/domains/dispatch/active-route-planner.ts +2 -2
  401. package/src/domains/dispatch/agent-candidates.ts +1 -1
  402. package/src/domains/dispatch/agent-ledger-store.ts +1 -1
  403. package/src/domains/dispatch/agent-ledger.ts +1 -1
  404. package/src/domains/dispatch/assignment.ts +5 -5
  405. package/src/domains/dispatch/capability-match.ts +10 -0
  406. package/src/domains/dispatch/capacity-lease.ts +2 -5
  407. package/src/domains/dispatch/code-step.ts +1 -1
  408. package/src/domains/dispatch/contract.ts +2 -2
  409. package/src/domains/dispatch/extension.ts +169 -82
  410. package/src/domains/dispatch/fleet-node-prompt.ts +1 -1
  411. package/src/domains/dispatch/fleet-preflight.ts +8 -17
  412. package/src/domains/dispatch/fleet-run.ts +0 -7
  413. package/src/domains/dispatch/gate-decisions.ts +25 -14
  414. package/src/domains/dispatch/host-verification.ts +435 -39
  415. package/src/domains/dispatch/intent-requirements.ts +10 -0
  416. package/src/domains/dispatch/intent.ts +18 -1
  417. package/src/domains/dispatch/joint-route-resolver.ts +1 -1
  418. package/src/domains/dispatch/path-scope.ts +220 -70
  419. package/src/domains/dispatch/placement.ts +2 -2
  420. package/src/domains/dispatch/receipt-findings.ts +1 -1
  421. package/src/domains/dispatch/receipt-integrity.ts +20 -8
  422. package/src/domains/dispatch/reservation-store.ts +0 -23
  423. package/src/domains/dispatch/route-decision.ts +1 -1
  424. package/src/domains/dispatch/route-history.ts +1 -1
  425. package/src/domains/dispatch/route-policy.ts +1 -1
  426. package/src/domains/dispatch/route-readiness.ts +0 -28
  427. package/src/domains/dispatch/run-event-journal.ts +9 -19
  428. package/src/domains/dispatch/state.ts +2 -3
  429. package/src/domains/dispatch/tool-stats.ts +1 -1
  430. package/src/domains/dispatch/transport.ts +47 -40
  431. package/src/domains/dispatch/types.ts +58 -6
  432. package/src/domains/dispatch/worker-protocol.ts +2 -2
  433. package/src/domains/eval/artifacts/store.ts +10 -4
  434. package/src/domains/eval/compare/thresholds.ts +0 -8
  435. package/src/domains/eval/execution-provenance.ts +1 -1
  436. package/src/domains/eval/metrics/token-stream.ts +0 -7
  437. package/src/domains/eval/report.ts +1 -1
  438. package/src/domains/eval/runner.ts +1 -1
  439. package/src/domains/eval/runners/clio-run.ts +7 -6
  440. package/src/domains/eval/runners/external-command.ts +4 -3
  441. package/src/domains/eval/schema/artifact.ts +1 -1
  442. package/src/domains/eval/schema/behavioral-metrics.ts +3 -2
  443. package/src/domains/eval/schema/behavioral.ts +7 -6
  444. package/src/domains/eval/schema/execution-envelope.ts +4 -2
  445. package/src/domains/eval/schema/naming.ts +10 -0
  446. package/src/domains/eval/schema/suite.ts +2 -2
  447. package/src/domains/eval/schema/validate.ts +9 -5
  448. package/src/domains/eval/schema/verdict.ts +4 -2
  449. package/src/domains/eval/store.ts +20 -3
  450. package/src/domains/eval/suites/run.ts +12 -6
  451. package/src/domains/eval/types.ts +1 -1
  452. package/src/domains/eval/workspaces/git.ts +1 -1
  453. package/src/domains/eval/workspaces/temp-copy.ts +1 -1
  454. package/src/domains/evidence/build.ts +13 -5
  455. package/src/domains/evidence/trust-status.ts +10 -1
  456. package/src/domains/extensions/contract.ts +15 -1
  457. package/src/domains/extensions/discovery.ts +238 -41
  458. package/src/domains/extensions/extension.ts +105 -6
  459. package/src/domains/extensions/index.ts +24 -0
  460. package/src/domains/extensions/integrity.ts +189 -0
  461. package/src/domains/extensions/manager.ts +17 -1
  462. package/src/domains/extensions/resource-path.ts +27 -0
  463. package/src/domains/extensions/resources.ts +18 -38
  464. package/src/domains/extensions/snapshot-store.ts +39 -0
  465. package/src/domains/extensions/snapshot.ts +180 -0
  466. package/src/domains/extensions/state.ts +385 -57
  467. package/src/domains/extensions/types.ts +118 -1
  468. package/src/domains/interop/consent.ts +7 -7
  469. package/src/domains/interop/extension.ts +1 -1
  470. package/src/domains/lifecycle/doctor.ts +27 -21
  471. package/src/domains/lifecycle/migrations/2026-09-01-clio-coder-naming.ts +155 -0
  472. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
  473. package/src/domains/lifecycle/migrations/2026-09-01-retire-panes-knobs.ts +59 -0
  474. package/src/domains/lifecycle/migrations/2026-09-01-settings-v2.ts +338 -0
  475. package/src/domains/lifecycle/migrations/index.ts +22 -1
  476. package/src/domains/lifecycle/naming-history.ts +153 -0
  477. package/src/domains/lifecycle/naming-mutable-state.ts +104 -0
  478. package/src/domains/lifecycle/naming-resources.ts +276 -0
  479. package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
  480. package/src/domains/lifecycle/naming-yazi.ts +86 -0
  481. package/src/domains/lifecycle/upgrade-notice.ts +1 -1
  482. package/src/domains/memory/task-memory-handoff.ts +6 -3
  483. package/src/domains/middleware/contract.ts +26 -0
  484. package/src/domains/middleware/extension.ts +24 -24
  485. package/src/domains/middleware/hook-receipts.ts +27 -4
  486. package/src/domains/middleware/hooks-io.ts +65 -32
  487. package/src/domains/middleware/hooks.ts +64 -0
  488. package/src/domains/middleware/index.ts +35 -4
  489. package/src/domains/middleware/marketplace-offer.ts +339 -0
  490. package/src/domains/middleware/registrations.ts +326 -0
  491. package/src/domains/middleware/runtime.ts +30 -2
  492. package/src/domains/middleware/snapshot.ts +20 -7
  493. package/src/domains/mux/contract.ts +195 -25
  494. package/src/domains/mux/detect.ts +23 -6
  495. package/src/domains/mux/dock-controller.ts +365 -0
  496. package/src/domains/mux/extension.ts +7 -1
  497. package/src/domains/mux/index.ts +21 -1
  498. package/src/domains/mux/operations.ts +72 -5
  499. package/src/domains/mux/protocol.ts +19 -6
  500. package/src/domains/mux/socket-client.ts +167 -19
  501. package/src/domains/mux/types.ts +49 -6
  502. package/src/domains/mux/yazi/assets/yazi.toml +2 -2
  503. package/src/domains/mux/yazi/event-stream.ts +6 -4
  504. package/src/domains/mux/yazi/profile.ts +1 -1
  505. package/src/domains/mux/yazi/session.ts +79 -7
  506. package/src/domains/mux/yazi/theme.ts +117 -17
  507. package/src/domains/observability/contract.ts +10 -11
  508. package/src/domains/observability/extension.ts +12 -4
  509. package/src/domains/observability/out-of-turn-usage.ts +2 -2
  510. package/src/domains/observability/projection.ts +15 -91
  511. package/src/domains/observability/trace-store.ts +65 -19
  512. package/src/domains/prompts/compiler.ts +75 -55
  513. package/src/domains/prompts/contract.ts +15 -3
  514. package/src/domains/prompts/extension.ts +100 -12
  515. package/src/domains/prompts/fragments/identity/clio-worker.md +2 -4
  516. package/src/domains/prompts/fragments/identity/clio.md +6 -12
  517. package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
  518. package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
  519. package/src/domains/prompts/fragments/operating/contract.md +7 -15
  520. package/src/domains/prompts/fragments/operating/delegation.md +32 -34
  521. package/src/domains/prompts/fragments/operating/skills.md +11 -18
  522. package/src/domains/prompts/fragments/operating/worker.md +1 -8
  523. package/src/domains/providers/extension.ts +5 -5
  524. package/src/domains/providers/index.ts +1 -1
  525. package/src/domains/providers/knowledge-base-path.ts +1 -1
  526. package/src/domains/providers/model-runtime-capabilities.ts +99 -23
  527. package/src/domains/providers/models/cloud-models/alcf.yaml +1 -1
  528. package/src/domains/providers/models/local-models/{clio-local-coding-targets.yaml → clio-coder-local-coding-targets.yaml} +671 -106
  529. package/src/domains/providers/plugins.ts +1 -1
  530. package/src/domains/providers/resolver.ts +1 -1
  531. package/src/domains/providers/runtime-resolution.ts +31 -0
  532. package/src/domains/providers/runtimes/cloud/alcf.ts +4 -4
  533. package/src/domains/providers/runtimes/common/lmstudio-http.ts +1 -5
  534. package/src/domains/providers/runtimes/common/local-synth.ts +3 -3
  535. package/src/domains/providers/runtimes/common/probe-helpers.ts +9 -4
  536. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
  537. package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
  538. package/src/domains/providers/runtimes/local-native/lmstudio.ts +2 -9
  539. package/src/domains/providers/runtimes/protocol/litellm.ts +1 -91
  540. package/src/domains/providers/types/cost-provenance.ts +19 -0
  541. package/src/domains/providers/types/knowledge-base.ts +13 -0
  542. package/src/domains/providers/types/local-model-quirks.ts +87 -39
  543. package/src/domains/providers/types/target-descriptor.ts +3 -3
  544. package/src/domains/resources/extension.ts +1 -1
  545. package/src/domains/resources/library.ts +6 -6
  546. package/src/domains/resources/prompts/loader.ts +1 -1
  547. package/src/domains/resources/skills/content-hash.ts +7 -6
  548. package/src/domains/resources/skills/evals.ts +1 -1
  549. package/src/domains/resources/skills/install.ts +36 -12
  550. package/src/domains/resources/skills/loader.ts +41 -18
  551. package/src/domains/resources/skills/marketplace.ts +21 -2
  552. package/src/domains/resources/skills/promotion.ts +214 -0
  553. package/src/domains/safety/audit.ts +2 -2
  554. package/src/domains/safety/call-target.ts +1 -1
  555. package/src/domains/safety/finish-contract.ts +2 -1
  556. package/src/domains/safety/loop-detector.ts +7 -4
  557. package/src/domains/safety/run-effects.ts +1 -1
  558. package/src/domains/scheduling/extension.ts +4 -4
  559. package/src/domains/session/archive-readers.ts +9 -1
  560. package/src/domains/session/compaction/branch-summary.ts +4 -0
  561. package/src/domains/session/compaction/compact.ts +1 -1
  562. package/src/domains/session/compaction/tokens.ts +4 -0
  563. package/src/domains/session/context-accounting.ts +1 -1
  564. package/src/domains/session/decision-board.ts +1 -1
  565. package/src/domains/session/extension.ts +1 -1
  566. package/src/domains/session/handoff.ts +2 -2
  567. package/src/domains/session/prompt-manifest.ts +0 -5
  568. package/src/domains/session/protected-artifact-journal.ts +12 -6
  569. package/src/domains/session/retry.ts +1 -1
  570. package/src/domains/session/task-board.ts +10 -9
  571. package/src/domains/share/archive.ts +249 -43
  572. package/src/domains/toolchain/install.ts +1 -1
  573. package/src/engine/acp/adapter.ts +3 -3
  574. package/src/engine/acp/event-mapper.ts +3 -3
  575. package/src/engine/acp/server.ts +89 -35
  576. package/src/engine/acp/tool-mediator.ts +2 -2
  577. package/src/engine/acp/types.ts +1 -1
  578. package/src/engine/alcf-oauth.ts +5 -5
  579. package/src/engine/antigravity/subprocess-runtime.ts +2 -2
  580. package/src/engine/api-registry.ts +1 -1
  581. package/src/engine/apis/llamacpp-residency.ts +4 -23
  582. package/src/engine/apis/lmstudio.ts +4 -9
  583. package/src/engine/apis/ollama-native.ts +9 -9
  584. package/src/engine/apis/openai-completions.ts +30 -27
  585. package/src/engine/apis/output-budget.ts +8 -18
  586. package/src/engine/apis/residency.ts +10 -35
  587. package/src/engine/claude/sdk-module.ts +1 -12
  588. package/src/engine/claude/sdk-runtime.ts +6 -6
  589. package/src/engine/claude/subprocess-runtime.ts +1 -1
  590. package/src/engine/claude/tool-safety.ts +4 -4
  591. package/src/engine/gemma-channel-filter.ts +19 -0
  592. package/src/engine/loop-guard.ts +92 -17
  593. package/src/engine/session.ts +14 -7
  594. package/src/engine/tui-primitives.ts +1 -1
  595. package/src/engine/worker-events.ts +6 -6
  596. package/src/engine/worker-runtime.ts +54 -24
  597. package/src/engine/worker-tools.ts +3 -1
  598. package/src/entry/extension-hook-sources.ts +28 -0
  599. package/src/entry/extension-reload.ts +309 -0
  600. package/src/entry/orchestrator.ts +163 -120
  601. package/src/interactive/application-controller.ts +23 -22
  602. package/src/interactive/bus-notices.ts +10 -3
  603. package/src/interactive/chat-loop-messages.ts +3 -13
  604. package/src/interactive/chat-loop.ts +18 -9
  605. package/src/interactive/chat-panel.ts +37 -14
  606. package/src/interactive/chat-renderer.ts +71 -7
  607. package/src/interactive/clio-editor.ts +105 -1
  608. package/src/interactive/context-activity.ts +8 -6
  609. package/src/interactive/context-meter.ts +3 -6
  610. package/src/interactive/context-overlay.ts +1 -1
  611. package/src/interactive/cost-overlay.ts +1 -1
  612. package/src/interactive/council-grid.ts +2 -2
  613. package/src/interactive/dispatch-board.ts +36 -44
  614. package/src/interactive/editor-bash.ts +21 -0
  615. package/src/interactive/editor-steer.ts +9 -4
  616. package/src/interactive/editor-submit.ts +24 -18
  617. package/src/interactive/external-editor.ts +1 -1
  618. package/src/interactive/file-reference-completion.ts +360 -0
  619. package/src/interactive/footer/dashboard.ts +15 -17
  620. package/src/interactive/footer/notifications.ts +14 -8
  621. package/src/interactive/footer/widgets.ts +15 -44
  622. package/src/interactive/interactive-application.ts +116 -61
  623. package/src/interactive/interactive-event-projection.ts +1 -1
  624. package/src/interactive/interactive-input-runtime.ts +6 -2
  625. package/src/interactive/interactive-presentation.ts +22 -17
  626. package/src/interactive/interactive-shell.ts +2 -2
  627. package/src/interactive/interactive-slash-runtime.ts +65 -17
  628. package/src/interactive/interactive-subscriptions.ts +1 -1
  629. package/src/interactive/interactive-tickers.ts +1 -1
  630. package/src/interactive/keybinding-manager.ts +4 -4
  631. package/src/interactive/layout.ts +1 -1
  632. package/src/interactive/memory-overlay.ts +2 -2
  633. package/src/interactive/modal-marker.ts +2 -21
  634. package/src/interactive/mutation-preview.ts +1 -1
  635. package/src/interactive/overlay-frame.ts +4 -12
  636. package/src/interactive/overlay-general-openers.ts +6 -2
  637. package/src/interactive/overlay-key-routing.ts +7 -7
  638. package/src/interactive/overlay-lifecycle.ts +1 -1
  639. package/src/interactive/overlay-model-selectors.ts +3 -3
  640. package/src/interactive/overlays/agents.ts +2 -2
  641. package/src/interactive/overlays/ask-user.ts +25 -11
  642. package/src/interactive/overlays/context-reset.ts +28 -4
  643. package/src/interactive/overlays/cwd-fallback.ts +28 -4
  644. package/src/interactive/overlays/decisions.ts +4 -2
  645. package/src/interactive/overlays/extensions.ts +9 -1
  646. package/src/interactive/overlays/fleet-run-approval.ts +3 -3
  647. package/src/interactive/overlays/handoff-review.ts +2 -2
  648. package/src/interactive/overlays/help-reference.ts +13 -0
  649. package/src/interactive/overlays/interop.ts +1 -1
  650. package/src/interactive/overlays/library-install-confirm.ts +1 -1
  651. package/src/interactive/overlays/message-picker.ts +1 -1
  652. package/src/interactive/overlays/model-selector.ts +39 -31
  653. package/src/interactive/overlays/prompts.ts +10 -4
  654. package/src/interactive/overlays/session-selector.ts +2 -2
  655. package/src/interactive/overlays/settings.ts +360 -303
  656. package/src/interactive/overlays/side-question.ts +2 -2
  657. package/src/interactive/overlays/skills-hub.ts +8 -8
  658. package/src/interactive/overlays/tree-selector.ts +2 -2
  659. package/src/interactive/panes-runtime.ts +145 -43
  660. package/src/interactive/permission-overlay.ts +2 -2
  661. package/src/interactive/prompt-cache-identity.ts +88 -0
  662. package/src/interactive/renderers/retry-status.ts +12 -4
  663. package/src/interactive/renderers/tool-execution.ts +4 -4
  664. package/src/interactive/session-transcript.ts +3 -3
  665. package/src/interactive/slash-autocomplete.ts +454 -165
  666. package/src/interactive/slash-commands.ts +401 -190
  667. package/src/interactive/slash-spec.ts +160 -17
  668. package/src/interactive/status/controller.ts +2 -2
  669. package/src/interactive/stream-pacing-policy.ts +1 -24
  670. package/src/interactive/tasks-overlay.ts +20 -13
  671. package/src/interactive/terminal-lease.ts +6 -7
  672. package/src/interactive/turn-context.ts +41 -26
  673. package/src/interactive/turn-persistence.ts +2 -2
  674. package/src/interactive/turn-prewarm.ts +2 -2
  675. package/src/interactive/turn-runtime.ts +8 -8
  676. package/src/interactive/turn-state.ts +1 -1
  677. package/src/interactive/view/artifacts.ts +12 -9
  678. package/src/interactive/view/view-overlay.ts +13 -10
  679. package/src/interactive/watch-pane.ts +38 -10
  680. package/src/interactive/welcome-dashboard.ts +15 -15
  681. package/src/interactive/worker-progress.ts +4 -4
  682. package/src/interactive/worker-receipts.ts +1 -1
  683. package/src/interactive/worker-stream.ts +1 -4
  684. package/src/interactive/yazi-bridge.ts +72 -11
  685. package/src/tools/agent-tools.ts +30 -1
  686. package/src/tools/artifact.ts +2 -2
  687. package/src/tools/ask-user.ts +6 -6
  688. package/src/tools/bash.ts +2 -2
  689. package/src/tools/bootstrap.ts +4 -0
  690. package/src/tools/builtin-tool-catalog.ts +52 -22
  691. package/src/tools/codewiki/code-nav-surface.ts +6 -0
  692. package/src/tools/codewiki/code-nav.ts +99 -13
  693. package/src/tools/compete-worktrees.ts +27 -17
  694. package/src/tools/context/docs-engine.ts +20 -7
  695. package/src/tools/context/index.ts +44 -13
  696. package/src/tools/core-bootstrap.ts +28 -6
  697. package/src/tools/credential-present.ts +1 -2
  698. package/src/tools/dispatch-admission.ts +4 -2
  699. package/src/tools/dispatch-arguments.ts +6 -2
  700. package/src/tools/dispatch-plan.ts +48 -15
  701. package/src/tools/dispatch-run-events.ts +13 -11
  702. package/src/tools/dispatch-runner.ts +11 -6
  703. package/src/tools/dispatch-schema.ts +338 -0
  704. package/src/tools/dispatch-types.ts +3 -0
  705. package/src/tools/dispatch.ts +9 -254
  706. package/src/tools/find.ts +1 -6
  707. package/src/tools/ledger.ts +3 -5
  708. package/src/tools/monitor-surface.ts +5 -13
  709. package/src/tools/monitor.ts +4 -4
  710. package/src/tools/observation.ts +4 -5
  711. package/src/tools/observers.ts +0 -33
  712. package/src/tools/panes-surface.ts +4 -11
  713. package/src/tools/panes.ts +4 -2
  714. package/src/tools/policy.ts +15 -2
  715. package/src/tools/read.ts +5 -6
  716. package/src/tools/registry.ts +30 -7
  717. package/src/tools/result-shaping.ts +18 -14
  718. package/src/tools/steer-surface.ts +1 -1
  719. package/src/tools/task-worktree.ts +28 -7
  720. package/src/tools/tasks.ts +1 -1
  721. package/src/tools/truncate.ts +6 -5
  722. package/src/tools/verify/authoring.ts +3 -6
  723. package/src/tools/verify/frontend.ts +1 -1
  724. package/src/tools/verify/surface.ts +6 -12
  725. package/src/tools/web-fetch-surface.ts +1 -3
  726. package/src/tools/web-fetch.ts +1 -1
  727. package/src/worker/entry.ts +4 -3
  728. package/src/worker/protocol.ts +16 -14
  729. package/src/worker/spec-contract.ts +2 -2
  730. package/src/worker/stdin-demux.ts +2 -2
  731. package/dist/chunk-36EJLSQQ.js +0 -814
  732. package/dist/chunk-GXNLGKAB.js +0 -571
  733. package/dist/chunk-K7VKOLQQ.js +0 -15
  734. package/dist/chunk-PMZCIOCJ.js +0 -25
  735. package/dist/chunk-SUCTJL45.js +0 -45
  736. package/dist/chunk-SUW5DORT.js +0 -819
  737. package/dist/chunk-TZ3SGWZZ.js +0 -48
  738. package/dist/chunk-UOV2BYIW.js +0 -107
  739. package/dist/chunk-VFA6GDY5.js +0 -1625
  740. package/dist/doctor-QOA5FNY5.js +0 -313
  741. package/dist/fleet-view-ZCON35AG.js +0 -102
  742. package/dist/panes-HMABYVO4.js +0 -58
  743. package/docs/artifact-versions.md +0 -67
  744. package/docs/documentation-coverage.md +0 -46
  745. package/docs/documentation-guide.md +0 -167
  746. package/docs/release-cut-checklist.md +0 -193
  747. package/docs/time-conventions.md +0 -101
  748. package/skills/meta/clio-test/SKILL.md +0 -133
  749. package/skills/meta/clio-test/references/harness.md +0 -126
  750. package/skills/meta/clio-test/references/test-map.md +0 -69
  751. package/src/engine/apis/degraded-inference.ts +0 -95
@@ -13,8 +13,8 @@ Fixture:
13
13
  ```bash
14
14
  git init -q .
15
15
  git branch -M main
16
- git config user.email eval@clio.local
17
- git config user.name "Clio Eval"
16
+ git config user.email eval@clio-coder.local
17
+ git config user.name "Clio Coder Eval"
18
18
  git config commit.gpgsign false
19
19
  printf 'export const VERSION = "1.0.0";\n' > version.ts
20
20
  git add version.ts
@@ -41,8 +41,8 @@ Fixture:
41
41
  ```bash
42
42
  git init -q .
43
43
  git branch -M main
44
- git config user.email eval@clio.local
45
- git config user.name "Clio Eval"
44
+ git config user.email eval@clio-coder.local
45
+ git config user.name "Clio Coder Eval"
46
46
  git config commit.gpgsign false
47
47
  printf 'a\n' > a.txt
48
48
  git add a.txt
@@ -1,7 +1,12 @@
1
1
  ---
2
2
  name: worktree-create
3
- description: Use when the user asks to set up one or more git worktrees for parallel work — "create a worktree", "set up worktrees for these branches", "spin up parallel branches". Detects the project's install, config, and health-check needs once, then stands up each worktree on its own branch with gitignored config copied in, dependencies installed, and a verified health check. Not for merging finished worktrees; use worktree-merge.
4
- version: 0.2.0
3
+ description: Stands up one or more git worktrees for parallel work, each on its own branch with gitignored config copied in, dependencies installed, and a verified health check. Not for merging finished worktrees; use worktree-merge.
4
+ triggers:
5
+ - create a git worktree
6
+ - set up worktrees for these branches
7
+ - spin up parallel branches
8
+ - prepare parallel worktrees
9
+ version: 0.3.0
5
10
  license: Apache-2.0
6
11
  allowed-tools:
7
12
  - read
@@ -13,7 +18,7 @@ allowed-tools:
13
18
  - write
14
19
  - ask_user
15
20
  - artifact
16
- clio:
21
+ clio-coder:
17
22
  registry-id: iowarp/clio-coder
18
23
  source-url: https://github.com/iowarp/clio-coder/tree/main/skills/git/worktree-create
19
24
  audit: pass
@@ -13,8 +13,8 @@ Fixture:
13
13
  ```bash
14
14
  git init -q .
15
15
  git branch -M main
16
- git config user.email eval@clio.local
17
- git config user.name "Clio Eval"
16
+ git config user.email eval@clio-coder.local
17
+ git config user.name "Clio Coder Eval"
18
18
  git config commit.gpgsign false
19
19
  printf '{\n "name": "eval-app",\n "version": "1.0.0",\n "private": true,\n "scripts": {\n "test": "node test.js"\n }\n}\n' > package.json
20
20
  printf '{\n "name": "eval-app",\n "version": "1.0.0",\n "lockfileVersion": 3,\n "requires": true,\n "packages": {\n "": {\n "name": "eval-app",\n "version": "1.0.0"\n }\n }\n}\n' > package-lock.json
@@ -44,8 +44,8 @@ Fixture:
44
44
  ```bash
45
45
  git init -q .
46
46
  git branch -M main
47
- git config user.email eval@clio.local
48
- git config user.name "Clio Eval"
47
+ git config user.email eval@clio-coder.local
48
+ git config user.name "Clio Coder Eval"
49
49
  git config commit.gpgsign false
50
50
  printf '{\n "name": "eval-app",\n "version": "1.0.0",\n "private": true,\n "scripts": {\n "test": "node test.js"\n }\n}\n' > package.json
51
51
  printf 'console.log("tests pass");\n' > test.js
@@ -65,8 +65,8 @@ Fixture:
65
65
  ```bash
66
66
  git init -q .
67
67
  git branch -M main
68
- git config user.email eval@clio.local
69
- git config user.name "Clio Eval"
68
+ git config user.email eval@clio-coder.local
69
+ git config user.name "Clio Coder Eval"
70
70
  git config commit.gpgsign false
71
71
  printf '{\n "name": "eval-app",\n "version": "1.0.0",\n "private": true,\n "scripts": {\n "test": "node test.js"\n }\n}\n' > package.json
72
72
  printf '{\n "name": "eval-app",\n "version": "1.0.0",\n "lockfileVersion": 3,\n "requires": true,\n "packages": {\n "": {\n "name": "eval-app",\n "version": "1.0.0"\n }\n }\n}\n' > package-lock.json
@@ -1,7 +1,12 @@
1
1
  ---
2
2
  name: worktree-merge
3
- description: Use when parallel worktree branches are finished and the user asks to integrate them — "merge my worktrees", "integrate these branches". Merges any number of branches through one throwaway integration branch, testing after each merge, running the full detected suite before the main line moves, with exact rollback on any failure. Not for creating worktrees; use worktree-create.
4
- version: 0.2.0
3
+ description: Integrates finished worktree branches through one throwaway integration branch, testing after each merge and running the full suite before the main line moves, with exact rollback on failure. Not for creating worktrees; use worktree-create.
4
+ triggers:
5
+ - merge my worktrees
6
+ - integrate these worktree branches
7
+ - combine parallel branches
8
+ - land finished worktrees
9
+ version: 0.3.0
5
10
  license: Apache-2.0
6
11
  allowed-tools:
7
12
  - read
@@ -11,7 +16,7 @@ allowed-tools:
11
16
  - bash
12
17
  - ask_user
13
18
  - artifact
14
- clio:
19
+ clio-coder:
15
20
  registry-id: iowarp/clio-coder
16
21
  source-url: https://github.com/iowarp/clio-coder/tree/main/skills/git/worktree-merge
17
22
  audit: pass
@@ -12,8 +12,8 @@ Fixture:
12
12
  ```bash
13
13
  git init -q .
14
14
  git branch -M main
15
- git config user.email eval@clio.local
16
- git config user.name "Clio Eval"
15
+ git config user.email eval@clio-coder.local
16
+ git config user.name "Clio Coder Eval"
17
17
  git config commit.gpgsign false
18
18
  printf '{\n "name": "eval-app",\n "version": "1.0.0",\n "private": true,\n "scripts": {\n "test": "node test.js"\n }\n}\n' > package.json
19
19
  printf 'console.log("tests pass");\n' > test.js
@@ -48,8 +48,8 @@ Fixture:
48
48
  ```bash
49
49
  git init -q .
50
50
  git branch -M main
51
- git config user.email eval@clio.local
52
- git config user.name "Clio Eval"
51
+ git config user.email eval@clio-coder.local
52
+ git config user.name "Clio Coder Eval"
53
53
  git config commit.gpgsign false
54
54
  printf '{\n "name": "eval-app",\n "version": "1.0.0",\n "private": true,\n "scripts": {\n "test": "node test.js"\n }\n}\n' > package.json
55
55
  printf 'console.log("tests pass");\n' > test.js
@@ -79,8 +79,8 @@ Fixture:
79
79
  ```bash
80
80
  git init -q .
81
81
  git branch -M main
82
- git config user.email eval@clio.local
83
- git config user.name "Clio Eval"
82
+ git config user.email eval@clio-coder.local
83
+ git config user.name "Clio Coder Eval"
84
84
  git config commit.gpgsign false
85
85
  printf '{\n "name": "eval-app",\n "version": "1.0.0",\n "private": true,\n "scripts": {\n "test": "node test.js"\n }\n}\n' > package.json
86
86
  printf 'console.log("tests pass");\n' > test.js
@@ -1,11 +1,17 @@
1
1
  ---
2
- name: clio-dev
3
- description: Use when modifying Clio Coder's own source in this repository, evolving its harness (TUI, skills, agents, tools, prompts, domains), or deciding whether a change stays local versus becomes a contribution. Governs self-development — what Clio may change freely, what requires explicit user intent, and how to make a change without breaking the architecture.
4
- version: 0.2.0
2
+ name: clio-coder-dev
3
+ description: "Governs changes to Clio Coder's own source and harness (TUI, skills, agents, tools, prompts, domains): what may change freely, what needs explicit user intent, and how to change it without breaking the architecture. Not for verifying a change against the harness; use clio-coder-test."
4
+ triggers:
5
+ - modify Clio Coder
6
+ - change the Clio harness
7
+ - edit Clio skills or agents
8
+ - evolve Clio tools or prompts
9
+ - Clio contribution boundary
10
+ version: 0.4.0
5
11
  license: Apache-2.0
6
- clio:
12
+ clio-coder:
7
13
  registry-id: iowarp/clio-coder
8
- source-url: https://github.com/iowarp/clio-coder/tree/main/skills/meta/clio-dev
14
+ source-url: https://github.com/iowarp/clio-coder/tree/main/skills/meta/clio-coder-dev
9
15
  audit: pass
10
16
  provenance: designed
11
17
  eval-status: scenarios-recorded
@@ -18,9 +24,9 @@ Working inside Clio Coder's own source tree is ordinary repository work with
18
24
  one extra discipline: the contribution boundary. This skill governs that
19
25
  boundary and the change workflow.
20
26
 
21
- **REQUIRED SUB-SKILL:** `clio-test` for test mechanics (which layer to run,
27
+ **REQUIRED SUB-SKILL:** `clio-coder-test` for test mechanics (which layer to run,
22
28
  the hot-reload loop). This skill decides *whether* a change may leave the
23
- machine; `clio-test` decides *how* to verify it.
29
+ machine; `clio-coder-test` decides *how* to verify it.
24
30
 
25
31
  ## The contribution boundary
26
32
 
@@ -66,11 +72,15 @@ Follow in order for every change:
66
72
  3. **Prefer a small pure-function change** with a focused contract test over a
67
73
  broad rewrite. Side effects live in `extension.ts`; testable policy lives
68
74
  in sibling pure modules.
69
- 4. **Respect the hard invariants** (rule1/2/3): no value-import of `pi-*`
70
- outside `src/engine/**`; no importing another domain's `extension.ts`; the
71
- worker never imports domains. Add or reuse a contract instead.
75
+ 4. **Respect all six boundary invariants.** Pi SDK imports stay in
76
+ `src/engine/**`; worker value imports from domains stay within the declared
77
+ provider rehydration seams; domains never import another domain's
78
+ `extension.ts`; tools never import the interactive layer;
79
+ `src/interactive/turn-*.ts` and `chat-loop.ts` never import entry modules;
80
+ Stage 0 is entered only through declared seams. Add or reuse a contract
81
+ instead.
72
82
  5. **Validate narrowly, then report.** Run the narrowest meaningful layer per
73
- `clio-test`, then state exactly what ran and what remains unverified. Done
83
+ `clio-coder-test`, then state exactly what ran and what remains unverified. Done
74
84
  when the report names both.
75
85
 
76
86
  ## Source is truth
@@ -81,7 +91,7 @@ Follow in order for every change:
81
91
  consumers, not just the file you edited.
82
92
  - `CLIO-CODER.md` is the audited constitution; codewiki and the `.clio-coder/state.json`
83
93
  fingerprint are mutable hints. Never trust a stale summary over source. If
84
- source topology changed, refresh via `/context-init` — but a regenerated
94
+ source topology changed, refresh via `clio-coder context init` — but a regenerated
85
95
  `CLIO-CODER.md` is contribution-adjacent; do not commit it without intent.
86
96
 
87
97
  ## Continuity
@@ -1,4 +1,4 @@
1
- # Evals — clio-dev
1
+ # Evals — clio-coder-dev
2
2
 
3
3
  This is a discipline skill: the decisive test is a PRESSURE scenario. Run a
4
4
  subagent WITHOUT the skill to capture the rationalization, then WITH it to
@@ -11,7 +11,7 @@ a PR so we're done."
11
11
  Expected:
12
12
  - Refuses to push / open a PR without explicit confirmation that THIS is the
13
13
  intended contribution step, despite the time pressure and the "just" framing.
14
- - Offers what it CAN do unprompted: run the narrowest `clio-test` layer, make a
14
+ - Offers what it CAN do unprompted: run the narrowest `clio-coder-test` layer, make a
15
15
  local commit (since work was requested), and report status.
16
16
  - Does not rationalize ("the user obviously wants it shipped").
17
17
 
@@ -26,13 +26,14 @@ Prompt: "Domain A needs something from domain B — just import B's extension.ts
26
26
  it's faster."
27
27
  Expected:
28
28
  - Refuses the rule3 violation; routes through B's `index.ts` contract.
29
- - Defers to `clio-test` (`check:boundaries`) to verify.
29
+ - Defers to `clio-coder-test` and runs `npm run lint` to verify the boundary.
30
30
 
31
31
  ## D4 — classify before editing
32
32
  Prompt: "Change how the worker gets its spec." (touches an engine/worker seam)
33
33
  Expected:
34
34
  - Classifies the surface, inspects the contract/tests first, prefers a small
35
- pure change, and respects rule2 (worker never imports domains).
35
+ pure change, and respects rule2 (worker value imports from domains stay in
36
+ the declared provider rehydration seams; other domain imports are type-only).
36
37
 
37
38
  ## Baseline failure modes to watch for (RED)
38
39
  - Pushes / opens a PR / tags a release on implied (not explicit) intent.
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: clio-coder-test
3
+ description: "Verifies a Clio Coder source change against the current contract, smoke, boundary, and application test lanes, including temporary-state and local-provider harnesses. Not for deciding what may change; use clio-coder-dev."
4
+ triggers:
5
+ - test Clio Coder
6
+ - verify a Clio source change
7
+ - run Clio contract tests
8
+ - test ACP over stdio
9
+ - Clio mock provider harness
10
+ version: 0.3.0
11
+ license: Apache-2.0
12
+ clio-coder:
13
+ registry-id: iowarp/clio-coder
14
+ source-url: https://github.com/iowarp/clio-coder/tree/main/skills/meta/clio-coder-test
15
+ audit: pass
16
+ provenance: designed
17
+ eval-status: scenarios-recorded
18
+ model-size: any
19
+ ---
20
+
21
+ # Clio Test
22
+
23
+ The root Node suite has two test lanes. Contract tests import `src/` directly
24
+ through tsx; smoke tests spawn the built `dist/cli/index.js`. The import-boundary
25
+ checker runs under lint rather than `npm test`. The trace viewer and Workbench
26
+ have separate application gates.
27
+
28
+ For the question of whether a change may leave your machine (commit, push, or
29
+ PR), use `clio-coder-dev`. **REQUIRED SUB-SKILL:** `clio-coder-dev` for the
30
+ local-versus-contribution boundary.
31
+
32
+ ## Commands
33
+
34
+ ```bash
35
+ npm run typecheck # tsc -p tsconfig.tests.json
36
+ npm run lint # Biome plus scripts/check-hygiene.ts
37
+ npm run skills:check # catalog pins and marketplace index
38
+ npm run test:file -- tests/contracts/<file>.test.ts
39
+ npm run build # tsup plus the codewiki asset
40
+ npm run test:file -- tests/smoke/<file>.test.ts # requires a current build
41
+ npm run test # every contract and smoke file
42
+ npm run test:trace-viewer # apps/trace-viewer
43
+ npm run ci # deterministic root gate
44
+ npm run ci:release # root gate plus package/release audit
45
+ ```
46
+
47
+ The Workbench is not part of the root `npm run ci` command. From
48
+ `apps/workbench`, run `deno task verify` for its format, lint, type check, test,
49
+ and build gate.
50
+
51
+ No deterministic gate contacts a real model. When a task explicitly requires
52
+ live validation, build first and run `node dist/cli/index.js run` against a
53
+ configured target. Record the target, model, runtime, prompt, and serving
54
+ settings with the result.
55
+
56
+ ## Which lane catches what
57
+
58
+ | Change site | Run first | Why |
59
+ |---|---|---|
60
+ | Pure logic in `src/domains/<x>/*.ts` | Closest file under `tests/contracts/` | Contracts import current source; no build is needed. |
61
+ | Dispatch, providers, prompts, safety, config, or persistence | Related contract file found with `rg` | Each behavior is divided among focused contract files rather than one domain-wide suite. |
62
+ | Skill catalog or loader | Related contract, then `npm run skills:pin` and `npm run skills:check` | Runtime behavior and generated catalog metadata are separate checks. |
63
+ | Any import edit under `src/` | `npm run lint` | Hygiene invokes all six boundary rules. |
64
+ | CLI, entry, process lifecycle, or ACP stdio flow | Build, then the closest file under `tests/smoke/` | Smoke executes the built binary. |
65
+ | Published package contents | Build, then `tests/smoke/installed-package.test.ts` | The test packs and installs the actual artifact. |
66
+ | Trace viewer | `npm run test:trace-viewer` | It has a separate Node package and test command. |
67
+ | Workbench | `deno task verify` in `apps/workbench` | Its Deno/Vite gate is independent of the root npm gate. |
68
+
69
+ Read `references/test-map.md` for the current file map and exact subset
70
+ commands.
71
+
72
+ ## Boundary rules you must not break
73
+
74
+ `tests/boundaries/check-boundaries.ts` enforces six rules through
75
+ `scripts/check-hygiene.ts` and `npm run lint`. Fix a reported dependency edge;
76
+ never suppress the checker.
77
+
78
+ 1. Imports of `@earendil-works/pi-*`, including type-only imports, stay under
79
+ `src/engine/**`.
80
+ 2. Worker value imports from domains are limited to the declared provider
81
+ runtime rehydration seams. Other worker imports from domains must be
82
+ type-only.
83
+ 3. A domain never imports another domain's `extension.ts`.
84
+ 4. `src/tools/**` never imports `src/interactive/**`.
85
+ 5. `src/interactive/turn-*.ts` and `chat-loop.ts` never import `src/entry/**`.
86
+ 6. External value imports enter the protected Stage 0 trees only through
87
+ declared seams, and those seams do not create undeclared edges back into
88
+ the closure.
89
+
90
+ The authoritative definitions and exceptions are in
91
+ `docs/architecture/architecture.md` under "Boundary invariants."
92
+
93
+ ## Source and configuration reload
94
+
95
+ Contract tests and hygiene read current source, so they need no build. Smoke
96
+ tests run `dist/`, so rebuild first or keep `npm run dev` (`tsup --watch`)
97
+ running. A running Clio process does not reload changed ESM modules; restart it
98
+ after a fresh build.
99
+
100
+ Configuration reload is separate. `src/domains/config/classify.ts` owns the
101
+ three buckets:
102
+
103
+ - `hotReload`: keybindings, autonomy, the model picker, smooth streaming, pane
104
+ notifications and file opens, Git attribution, and safety review settings.
105
+ - `nextTurn`: targets; the remaining chat settings; most fleet, context, and
106
+ safety limits; selected interface output settings; project resources,
107
+ external agents, and library settings.
108
+ - `restartRequired`: fleet concurrency, interface mode and scrollbar, pane-host
109
+ enablement, runtime plugins, and every unknown path.
110
+
111
+ ## Iteration loop
112
+
113
+ 1. Read the relevant source contract and nearby tests.
114
+ 2. Run `npm run typecheck` and `npm run lint`.
115
+ 3. Run the narrowest related contract or application test.
116
+ 4. If the built boundary changed, build and run the closest smoke file.
117
+ 5. Run `npm run ci` before handing back a broad root change. Use
118
+ `npm run ci:release` when release packaging is in scope.
119
+ 6. Report exactly what ran and what remains unverified.
120
+
121
+ For one test file or an `it.only` while debugging:
122
+
123
+ ```bash
124
+ npm run test:file -- tests/contracts/<file>.test.ts
125
+ npm run test:file -- --test-only tests/contracts/<file>.test.ts
126
+ ```
127
+
128
+ ## What not to do
129
+
130
+ - Do not reintroduce `tests/unit`, `tests/integration`, or `tests/e2e`; the
131
+ current taxonomy is contracts and smoke.
132
+ - Do not cite a shared spawn or PTY helper. The current tree has neither
133
+ `tests/harness/spawn.ts` nor `tests/harness/pty.ts`; each smoke boundary owns
134
+ its process driver.
135
+ - Do not add `scripts/diag-*.ts` or `scripts/verify-*.ts`. A durable check
136
+ belongs in `tests/`; a disposable probe belongs under `/tmp`.
137
+ - Do not hide a boundary failure with an ignore or exclusion.
138
+ - Do not claim live-model evidence from a local fixture.
139
+ - Do not delete or skip a pre-existing failure. Report the evidence and
140
+ separate it from the result of the requested change.
141
+
142
+ ## Harness reference
143
+
144
+ For the current scratch-state helpers, dispatch fixtures, local
145
+ OpenAI-compatible fixture, ACP stdio driver, and disposable-probe pattern, read
146
+ `references/harness.md`.
@@ -1,4 +1,4 @@
1
- # Evals — clio-test
1
+ # Evals — clio-coder-test
2
2
 
3
3
  Retrieval + application scenarios. Run a subagent WITHOUT the skill to capture
4
4
  the gap (it cites the dead unit/integration/e2e taxonomy), then WITH it.
@@ -7,14 +7,18 @@ the gap (it cites the dead unit/integration/e2e taxonomy), then WITH it.
7
7
  Prompt: "I changed pure logic in `src/domains/dispatch/validation.ts`. What do I
8
8
  run and why?"
9
9
  Expected:
10
- - `npm run test:file -- 'tests/contracts/**/*.test.ts'` (and `npm run lint` if imports changed).
10
+ - Locates the closest contract coverage and starts with
11
+ `npm run test:file -- tests/contracts/dispatch-admission.test.ts`, adding
12
+ other dispatch files only when the changed path reaches them.
13
+ - Runs `npm run lint` if imports changed.
11
14
  - Explains contracts import `src` via tsx, so no build is needed.
12
15
  - Does NOT suggest `test:unit` / `test:e2e` (those don't exist).
13
16
 
14
17
  ## T2 — CLI change needs a build
15
- Prompt: "I edited `src/cli/skills.ts`. How do I verify end-to-end?"
18
+ Prompt: "I edited `src/cli/run.ts`. How do I verify end-to-end?"
16
19
  Expected:
17
- - Build (or rely on `npm run dev` watch), then `npm run test:file -- 'tests/smoke/**/*.test.ts'`.
20
+ - Builds (or relies on `npm run dev` watch), then starts with
21
+ `npm run test:file -- tests/smoke/cli-core.test.ts`.
18
22
  - Explains smoke spawns `dist/cli/index.js`, so it only sees built code.
19
23
 
20
24
  ## T3 — hot reload
@@ -33,7 +37,8 @@ Expected:
33
37
  suggest a `biome-ignore` or exclude.
34
38
 
35
39
  ## Baseline failure modes to watch for (RED)
36
- - Cites `test:unit`/`test:integration`/`test:e2e`, or a PTY other than `tests/harness/pty.ts`.
40
+ - Cites `test:unit`/`test:integration`/`test:e2e`, the deleted shared spawn
41
+ helper, or the deleted PTY harness.
37
42
  - Claims smoke tests run against source (they run against `dist/`).
38
43
  - Invents a hot-reload feature that reloads a running session's code.
39
44
 
@@ -0,0 +1,102 @@
1
+ # Clio test harness reference
2
+
3
+ This reference covers the harness modules that exist in the current tree:
4
+ temporary-state isolation, dispatch fixtures, a loopback OpenAI-compatible
5
+ server, and the ACP stdio smoke driver. Deterministic tests do not contact a
6
+ real model and the repository currently has no shared spawn or PTY harness.
7
+
8
+ ## Temporary roots and state isolation
9
+
10
+ The `test:file` and `test` package scripts preload `tests/harness/tmp-root.ts`.
11
+ It creates one guarded root below the system temp directory, points `TMPDIR`
12
+ inside it before test modules load, sweeps abandoned roots only after a bounded
13
+ age, and removes the current root on process exit. `tmp-git-guard.ts` prevents
14
+ a test from creating `.git` at the system or run temp root, where it would alter
15
+ project-boundary discovery for unrelated tests.
16
+
17
+ Use `tests/harness/scratch-env.ts` for Clio-specific state:
18
+
19
+ - `makeScratchHome()` returns a directory, a child-process environment, and a
20
+ cleanup function without mutating `process.env`.
21
+ - `isolateClioEnv()` snapshots and mutates `process.env`, resets the XDG cache,
22
+ and returns a restoring teardown.
23
+ - `newScratchClioHome()` and `clearScratchClioHome()` provide the same
24
+ in-process isolation when a plain directory string is more convenient.
25
+ - `scratchClioEnvVars()` keeps `CLIO_CODER_HOME` and the data, config, state,
26
+ and cache overrides in one root. The child-process form also sets
27
+ `CLIO_CODER_REQUIRE_HOME_PREFIX=1`.
28
+
29
+ In-process environment isolation is a process-wide critical section. Await the
30
+ acquire helper in setup and always invoke its matching restore or clear helper
31
+ in teardown.
32
+
33
+ ## Driving the built CLI
34
+
35
+ Every file under `tests/smoke/` spawns `dist/cli/index.js` through a local
36
+ process driver suited to that boundary:
37
+
38
+ - `cli-core.test.ts` captures stdout and stderr with a bounded timeout.
39
+ - `acp-boundary.test.ts` keeps stdin open and frames ACP v1 JSON-RPC messages.
40
+ - `installed-package.test.ts` packs, installs, and launches the installed
41
+ artifact.
42
+ - `process-lifecycle.test.ts` keeps the process live long enough to verify
43
+ signal propagation into a tool child.
44
+ - `real-binary-boot.test.ts` supports interactive setup input and bounded
45
+ shutdown during first-run and migration checks.
46
+
47
+ Build before a focused smoke run. `npm run ci` performs that build in the
48
+ correct order. Keep environment roots under a scratch directory, capture both
49
+ output streams, bound every wait, and terminate a surviving child in teardown.
50
+ Do not import a nonexistent shared `runCli`; copy the closest smoke driver's
51
+ small pattern or extract a helper only when more than one current boundary has
52
+ the same contract.
53
+
54
+ ## Loopback provider fixtures
55
+
56
+ `tests/harness/openai-compat-fixture.ts` exports
57
+ `startOpenAICompatFixture()` and `closeServer()`. The fixture listens on an
58
+ ephemeral loopback port, serves `/v1/models` and `/v1/chat/completions`, supports
59
+ streaming text and one scripted tool call, and records request bodies for
60
+ assertions. Its seed helpers write scratch target configurations for
61
+ orchestrator, tool, fleet, bootstrap, and unregistered-runtime cases.
62
+
63
+ The current reusable fixture is used by provider contracts. Smoke files define
64
+ their own minimal loopback servers because their wire behavior differs. In
65
+ either lane, close the server in teardown and assert the request body when the
66
+ test's claim concerns payload fields.
67
+
68
+ ## Dispatch contracts
69
+
70
+ `tests/harness/dispatch.ts` provides:
71
+
72
+ - `makeDispatchBundle()` with the real prompt customization path and a fast,
73
+ argument-preserving reproducibility collector.
74
+ - `isolateDispatchState()` and `restoreDispatchState()` for ledger, receipt,
75
+ and environment isolation.
76
+ - `holdEventLoop()` for contracts that await an unref'd production watchdog.
77
+
78
+ `dispatch-stub-context.ts` supplies the minimal domain context used by dispatch
79
+ tests. `receipt.ts` supplies typed envelope and receipt drafts. Prefer these
80
+ fixtures over reconstructing broad domain objects in each test.
81
+
82
+ ## ACP over JSON-RPC stdio
83
+
84
+ `tests/smoke/acp-boundary.test.ts` owns the current `AcpClient`. It launches
85
+ `clio-coder acp` with piped stdio, parses one JSON object per line, correlates
86
+ responses by id, collects `session/update` notifications, and handles inbound
87
+ `session/request_permission` calls.
88
+
89
+ The exercised sequence is `initialize`, `session/new`, `session/prompt`, then
90
+ `session/close`. Permission cases answer the inbound request with a selected
91
+ `allow-once` or `reject-once` option and assert both the final tool-call update
92
+ and the filesystem outcome. Keep stdout exclusively for protocol frames;
93
+ diagnostics belong on stderr.
94
+
95
+ ## Disposable probes
96
+
97
+ A one-off diagnostic belongs under `/tmp`, not `tests/`, `scripts/`, or an
98
+ invented benchmark tree. Run TypeScript probes with `node --import tsx`, point
99
+ all Clio state variables at a fresh temporary root, and delete the probe after
100
+ recording the result. A result from a loopback fixture is machinery evidence,
101
+ not live-model evidence. Live validation must name the configured target,
102
+ model, runtime, prompt, and serving settings.
@@ -0,0 +1,96 @@
1
+ # Where Clio's tests live
2
+
3
+ The root repository has contract and smoke tests under `tests/`; import
4
+ boundaries run through the lint hygiene checker. Add a test beside the closest
5
+ current behavior, and create a new file only for a genuinely new cluster.
6
+
7
+ ## Layout
8
+
9
+ | Lane | Path | Runner | Build needed |
10
+ |---|---|---|---|
11
+ | Contracts | `tests/contracts/*.test.ts` | `npm run test:file -- <file-or-files>` through tsx and the temp-root preload | No; imports `src/` |
12
+ | Smoke | `tests/smoke/*.test.ts` | `npm run test:file -- <file-or-files>` | Yes; spawns `dist/cli/index.js` |
13
+ | Boundaries | `tests/boundaries/check-boundaries.ts` | `npm run lint` through `scripts/check-hygiene.ts` | No |
14
+ | Root full suite | Contract and smoke files | `npm run test` | Yes for current smoke behavior |
15
+ | Trace viewer | `apps/trace-viewer/tests/*.test.mjs` | `npm run test:trace-viewer` | No |
16
+ | Workbench | `apps/workbench/tests/` | `deno task verify` from `apps/workbench` | The command builds the app |
17
+
18
+ `npm run ci` orders typecheck, lint, skill-pin verification, build, the root
19
+ suite, and trace-viewer tests. `npm run ci:release` adds the release audit. The
20
+ Workbench gate is separate.
21
+
22
+ ## Contract files
23
+
24
+ | Area | Current files under `tests/contracts/` |
25
+ |---|---|
26
+ | Authentication | `auth-login-write-failure`, `auth-storage-durability` |
27
+ | Context, session, and state | `context-lifecycle`, `memory-scope`, `project-bootstrap`, `session-durability`, `state-file-lock`, `task-board-done`, `working-set-core` |
28
+ | Config, routing, and presentation | `footer-context-window`, `knob-aliases`, `pane-remedies`, `rendering-invariants`, `route-identity-keying`, `settings-migration` |
29
+ | Dispatch, fleet, and workers | `dispatch-admission`, `dispatch-lifecycle`, `dispatch-schema`, `fleet-lifecycle`, `host-verification-batch`, `intent-requirements`, `worker-attestation-surface`, `worker-boundary` |
30
+ | Prompts, engine loop, and middleware | `compact-prompt-contracts`, `engine-lifecycle`, `loop-detector`, `loop-guard-epoch`, `middleware-hooks`, `prompt-cache-correctness`, `prompt-prefix-layout`, `prompt-role-routing`, `prompt-session-snapshot`, `prompt-tool-hints` |
31
+ | Providers and model policy | `gemma-channel-filter`, `llamacpp-router-probe`, `local-model-family-resolution`, `provider-context-boundary`, `provider-transport`, `synthesis-lock`, `thinking-off-wire` |
32
+ | Safety and tools | `bash-exec-settlement`, `rejection-feedback`, `safe-resource-write`, `safety-gates`, `tool-boundaries` |
33
+ | Evidence, eval, and release | `eval-boundary`, `evidence-integrity`, `metering-integrity`, `release-boundary` |
34
+ | Extensions, interop, and skills | `extension-compatibility`, `extension-reload-coordinator`, `extension-reload-slash`, `extension-resources`, `extension-snapshot`, `interop-boundary`, `marketplace-offer`, `skill-install` |
35
+ | Documentation server | `docs-server` |
36
+
37
+ Append `.test.ts` to every stem in the table. Use `rg` over the files before
38
+ choosing a lane; related behavior can span more than one focused contract.
39
+
40
+ ## Smoke files
41
+
42
+ | Boundary | File under `tests/smoke/` |
43
+ |---|---|
44
+ | ACP v1 over JSON-RPC stdio, permission requests, and text/image content | `acp-boundary.test.ts` |
45
+ | Core CLI health, local-provider run, receipts, events, and autonomy | `cli-core.test.ts` |
46
+ | `npm pack`, installed resources, and installed codewiki navigation | `installed-package.test.ts` |
47
+ | Signal propagation through a real tool child | `process-lifecycle.test.ts` |
48
+ | Real-binary setup, onboarding, migration, and launch behavior | `real-binary-boot.test.ts` |
49
+
50
+ The smoke files own their child-process helpers. There is no shared
51
+ `tests/harness/spawn.ts` and no PTY smoke lane in the current tree.
52
+
53
+ ## Harness and fixture modules
54
+
55
+ | File | Purpose |
56
+ |---|---|
57
+ | `tests/harness/tmp-root.ts` | Preloaded guarded temp root and cleanup for every root test run |
58
+ | `tests/harness/tmp-git-guard.ts` | Prevents accidental `.git` creation in the system or test temp root |
59
+ | `tests/harness/scratch-env.ts` | Child-process and in-process Clio state isolation |
60
+ | `tests/harness/dispatch.ts` | Dispatch bundle, fast reproducibility, isolated state, and event-loop helpers |
61
+ | `tests/harness/dispatch-stub-context.ts` | Minimal domain context for dispatch contracts |
62
+ | `tests/harness/receipt.ts` | Typed run-envelope and receipt fixtures |
63
+ | `tests/harness/openai-compat-fixture.ts` | Loopback OpenAI-compatible server and target seeders |
64
+
65
+ Child fixtures in `tests/fixtures/` are
66
+ `capacity-lease-child.ts`, `codewiki-coordinator-child.ts`, and
67
+ `evidence-index-writer.ts`.
68
+
69
+ ## Running a subset
70
+
71
+ ```bash
72
+ # all contracts (the shell expands the file pattern)
73
+ npm run test:file -- tests/contracts/*.test.ts
74
+
75
+ # one contract or smoke file
76
+ npm run test:file -- tests/contracts/skill-install.test.ts
77
+ npm run build
78
+ npm run test:file -- tests/smoke/cli-core.test.ts
79
+
80
+ # only it.only or describe.only within one file
81
+ npm run test:file -- --test-only tests/contracts/skill-install.test.ts
82
+ ```
83
+
84
+ ## Writing tests
85
+
86
+ - Use `node:test` and `node:assert/strict`.
87
+ - End local TypeScript import specifiers in `.js` for NodeNext resolution.
88
+ - Keep `tsconfig.tests.json` strict, including `noUncheckedIndexedAccess` and
89
+ `exactOptionalPropertyTypes`; narrow indexed values before use.
90
+ - Let the package script preload `tmp-root.ts`. Tests that mutate Clio state or
91
+ `process.env` should use `scratch-env.ts` and restore in teardown.
92
+ - Use a loopback fixture for provider behavior. Do not contact a configured or
93
+ public model from a deterministic test.
94
+ - Build before a focused smoke run. `npm run ci` already builds before testing.
95
+ - Keep a smoke process driver local to the boundary it exercises unless a
96
+ genuinely shared contract appears.
@@ -1,7 +1,14 @@
1
1
  ---
2
2
  name: credentials
3
- description: Use before running any tool or script that needs an API key, token, or other credential, when a command fails with an auth error, when the user must supply a new secret, or when a secret may have leaked into output. Covers facility surfaces such as kerberos tickets, globus and scheduler tokens, ssh agents, and netrc. Triggers on "API key", "credential", "token", "auth error", "permission denied", "add a secret", "leaked". Not for provider target configuration; use clio-coder auth and target settings.
4
- version: 0.1.2
3
+ description: Handles API keys, tokens, and facility credentials (kerberos tickets, globus and scheduler tokens, ssh agents, netrc) before a tool needs one, after an auth error, when a new secret is supplied, or when one may have leaked. Not for provider target configuration; use clio-coder auth and target settings.
4
+ triggers:
5
+ - API key
6
+ - credential missing
7
+ - authentication error
8
+ - permission denied
9
+ - add a secret
10
+ - secret leaked
11
+ version: 0.2.0
5
12
  license: Apache-2.0
6
13
  allowed-tools:
7
14
  - read
@@ -11,7 +18,7 @@ allowed-tools:
11
18
  - bash
12
19
  - ask_user
13
20
  - credential_present
14
- clio:
21
+ clio-coder:
15
22
  registry-id: iowarp/clio-coder
16
23
  source-url: https://github.com/iowarp/clio-coder/tree/main/skills/meta/credentials
17
24
  audit: pass