@iowarp/clio-coder 0.4.0 → 0.4.1

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 (581) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +116 -16
  3. package/dist/{acp-G5WJBNCT.js → acp-ZILU3AUO.js} +14 -14
  4. package/dist/{agents-FMV2Q5G4.js → agents-HYWGBGQR.js} +40 -29
  5. package/dist/assets/codewiki.json +1 -1
  6. package/dist/{auth-3IDSJEIK.js → auth-N3QT7CBO.js} +21 -19
  7. package/dist/{builtins-XCZWXSC7.js → builtins-UJLMOVOV.js} +6 -6
  8. package/dist/{chunk-PQEFIJ36.js → chunk-2LEAKD4C.js} +1 -2
  9. package/dist/{chunk-3BT2XMV4.js → chunk-2NM363SV.js} +50 -57
  10. package/dist/{chunk-J4W7KFM7.js → chunk-2VG7KLYV.js} +24 -279
  11. package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
  12. package/dist/{chunk-K5C3NCBD.js → chunk-3I5NY75V.js} +5 -5
  13. package/dist/{chunk-VAZSBTKF.js → chunk-3QSOM6PA.js} +2 -2
  14. package/dist/{chunk-TZ3SGWZZ.js → chunk-5QIAJV2D.js} +2 -2
  15. package/dist/{chunk-OQBA45DZ.js → chunk-5YHDIDBP.js} +2 -2
  16. package/dist/{chunk-NHLBIGRH.js → chunk-6CCS4G3W.js} +40 -17
  17. package/dist/{chunk-2JDWVJND.js → chunk-6DWBAZ5U.js} +2 -2
  18. package/dist/{chunk-LDQ2ZF2M.js → chunk-6FN3E6KX.js} +5 -5
  19. package/dist/{chunk-X3YGUTOB.js → chunk-6HMJX2VU.js} +59 -59
  20. package/dist/{chunk-VEO4AP2K.js → chunk-6I5ILFOF.js} +3 -2
  21. package/dist/{chunk-B7OBL7PK.js → chunk-6NJQITNH.js} +18 -11
  22. package/dist/{chunk-IQ7KR472.js → chunk-6VC4OV3Z.js} +6 -3
  23. package/dist/{chunk-P3FOHJT4.js → chunk-72GZI5EV.js} +2 -2
  24. package/dist/{chunk-AB44T6BB.js → chunk-74YWRRU5.js} +8 -7
  25. package/dist/{chunk-SJ5ZKQ4S.js → chunk-7EPLI7VL.js} +2 -2
  26. package/dist/{chunk-HWHKMHUA.js → chunk-7OBGU7UB.js} +3 -3
  27. package/dist/{chunk-2OQE55CK.js → chunk-7PWAODYW.js} +2 -2
  28. package/dist/{chunk-IBEBSCYA.js → chunk-7RY5VZPH.js} +42 -33
  29. package/dist/{chunk-LQ3DZAMX.js → chunk-ABLSQ6JX.js} +2 -2
  30. package/dist/{chunk-QLFS5GO2.js → chunk-AFKWHWXF.js} +12 -22
  31. package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
  32. package/dist/{chunk-O6TL7WWY.js → chunk-AKB4GYDL.js} +4 -4
  33. package/dist/chunk-AP73CFDC.js +308 -0
  34. package/dist/{chunk-JDG2WCRO.js → chunk-BBTJOK6Y.js} +5 -5
  35. package/dist/{chunk-SP2RXXYO.js → chunk-BDPT6GTK.js} +10 -10
  36. package/dist/{chunk-NQQH3YT7.js → chunk-BJGUKIG4.js} +3 -3
  37. package/dist/{chunk-O4XIVISU.js → chunk-BTGG6BG2.js} +79 -38
  38. package/dist/chunk-BTK3SSSK.js +67 -0
  39. package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
  40. package/dist/chunk-BWW4HLO4.js +301 -0
  41. package/dist/{chunk-I5VEOC6I.js → chunk-C537JADH.js} +10 -10
  42. package/dist/{chunk-HI63TFOG.js → chunk-CDNVLKUX.js} +3 -3
  43. package/dist/{chunk-UM7N4G5A.js → chunk-CWVRRIEI.js} +2 -2
  44. package/dist/{chunk-BKFM6EJV.js → chunk-D4CJV46V.js} +2 -2
  45. package/dist/chunk-D7E7WCDF.js +27 -0
  46. package/dist/{chunk-WZR7K7ZX.js → chunk-E67WX76H.js} +6 -6
  47. package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
  48. package/dist/chunk-EIMVLWB3.js +1842 -0
  49. package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
  50. package/dist/{chunk-MLKNTWH2.js → chunk-FYUN5KZ3.js} +21 -21
  51. package/dist/{chunk-YJX4SHTD.js → chunk-GIZNH63R.js} +1 -1
  52. package/dist/{chunk-X75E3D2N.js → chunk-GPPB3JBE.js} +18 -16
  53. package/dist/{chunk-GR5G2PVF.js → chunk-GVQJ5CCZ.js} +15 -10
  54. package/dist/chunk-HJWWJ6IL.js +184 -0
  55. package/dist/{chunk-VO67MWHC.js → chunk-HRQMFLJP.js} +3 -3
  56. package/dist/{chunk-VYMXRQI6.js → chunk-HUAS7ITX.js} +89 -93
  57. package/dist/{chunk-BKFJHQCA.js → chunk-I66EAJFY.js} +2 -2
  58. package/dist/{chunk-DYJP44XW.js → chunk-IG7BCQBA.js} +1 -1
  59. package/dist/{chunk-32KWKNSF.js → chunk-IXJT6DCX.js} +3 -3
  60. package/dist/{chunk-C2LTL2W6.js → chunk-J4HBWF6Y.js} +360 -172
  61. package/dist/chunk-J5LZHVIT.js +284 -0
  62. package/dist/{chunk-QLL7ILRG.js → chunk-JA5QWE4Z.js} +510 -202
  63. package/dist/{chunk-BBVJUZHB.js → chunk-JIEGK6UF.js} +5 -173
  64. package/dist/{chunk-36EJLSQQ.js → chunk-JZWT5J3Y.js} +4 -4
  65. package/dist/{chunk-HZHHCK24.js → chunk-K6BF4U2H.js} +476 -322
  66. package/dist/{chunk-Z2RR6MAK.js → chunk-MA3H6DM5.js} +6 -6
  67. package/dist/{chunk-CODPRO7Q.js → chunk-MOPSG2X7.js} +6 -6
  68. package/dist/{chunk-76ONBSIA.js → chunk-MQXIVJ35.js} +14 -5
  69. package/dist/{chunk-YDFRH54B.js → chunk-N5UK64DP.js} +4 -4
  70. package/dist/chunk-NDDGJUXD.js +81 -0
  71. package/dist/{chunk-4ZG3XFUR.js → chunk-NLFAQR7Z.js} +12 -1
  72. package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
  73. package/dist/{chunk-W5VSYASO.js → chunk-OJTRZGR3.js} +46 -87
  74. package/dist/{chunk-NHCZP4K7.js → chunk-PBP4B7XR.js} +2 -2
  75. package/dist/{chunk-3URVFKWK.js → chunk-PJJ6MY27.js} +5 -5
  76. package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
  77. package/dist/{chunk-GKF55TAZ.js → chunk-PVAMAVBB.js} +3 -2
  78. package/dist/{chunk-6DB53AJS.js → chunk-QKIFBZKT.js} +7 -7
  79. package/dist/{chunk-HJJTYUHX.js → chunk-QMXC4JB7.js} +20 -20
  80. package/dist/chunk-QTFGO774.js +644 -0
  81. package/dist/{chunk-CY6FY24N.js → chunk-R23Z6K6I.js} +2 -2
  82. package/dist/{chunk-ULC6OTWO.js → chunk-R32CLGZ6.js} +13 -13
  83. package/dist/{chunk-KMVISBZR.js → chunk-RKSR6VSF.js} +1 -1
  84. package/dist/{chunk-F4CKPOEQ.js → chunk-SCYB3HA4.js} +72 -26
  85. package/dist/{chunk-LY4S7GJC.js → chunk-SINK3QR6.js} +18 -16
  86. package/dist/{chunk-U77AMWDL.js → chunk-TD3PGPQA.js} +43 -22
  87. package/dist/{chunk-QBJA7R7N.js → chunk-THYWACCR.js} +2 -2
  88. package/dist/{chunk-QREDIESB.js → chunk-TVH4ONAM.js} +14 -8
  89. package/dist/chunk-U2WB7TZS.js +271 -0
  90. package/dist/{chunk-KFZI4NIL.js → chunk-UAPGZHYC.js} +145 -31
  91. package/dist/{chunk-DQITNCXG.js → chunk-UEDMSP56.js} +29 -14
  92. package/dist/{chunk-3XML7CDN.js → chunk-UXN6JT4W.js} +2 -2
  93. package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
  94. package/dist/{chunk-BPKCPIL7.js → chunk-VEGN6WIQ.js} +2 -2
  95. package/dist/chunk-VKFQTNDV.js +66 -0
  96. package/dist/{chunk-7MCTRUCE.js → chunk-VKRH2TCS.js} +2 -2
  97. package/dist/{chunk-5LXZXPKX.js → chunk-VN3SHNBN.js} +2 -2
  98. package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
  99. package/dist/{chunk-BBVYXMFO.js → chunk-WNP7O5WZ.js} +2 -2
  100. package/dist/{chunk-SUCTJL45.js → chunk-WR6U3OVP.js} +3 -3
  101. package/dist/{chunk-BUMFYQFY.js → chunk-XKA2ICR3.js} +124 -113
  102. package/dist/{chunk-UXMFQ54G.js → chunk-Y45G3AXC.js} +39 -39
  103. package/dist/{chunk-J5Q24KAG.js → chunk-Y4CAGMM6.js} +2 -2
  104. package/dist/{chunk-NYS75XW5.js → chunk-YAKGTXEV.js} +5 -3
  105. package/dist/{chunk-V5DHCITQ.js → chunk-ZAZB4JMW.js} +23 -12
  106. package/dist/{chunk-Z4TXYIEG.js → chunk-ZJLUDYFY.js} +9 -9
  107. package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
  108. package/dist/{chunk-2ANTL7MR.js → chunk-ZW55JB7N.js} +2 -2
  109. package/dist/cli/index.js +36 -36
  110. package/dist/{clio-2JXHBBY5.js → clio-IT3G3VQH.js} +12 -13
  111. package/dist/{code-nav-3YYRMYNF.js → code-nav-RK6S7F6E.js} +5 -5
  112. package/dist/codewiki/build-worker.js +1 -1
  113. package/dist/{compile-cache-7FPE6PS3.js → compile-cache-OQAVB7Y5.js} +2 -4
  114. package/dist/{components-RYZV4JGP.js → components-UBWCQSRW.js} +4 -4
  115. package/dist/{config-QZPCMYSO.js → config-3QZRWZJF.js} +53 -49
  116. package/dist/{configure-TEGEBYCA.js → configure-FL7Y3KJF.js} +25 -22
  117. package/dist/{context-E6H5RNMC.js → context-5HE7ODYK.js} +47 -43
  118. package/dist/{context-AV7OEZ4D.js → context-KYQFRVDC.js} +11 -11
  119. package/dist/{context-GSXUE4CT.js → context-XNHL75JV.js} +32 -19
  120. package/dist/{context-clear-SHIBYK6T.js → context-clear-N545L53A.js} +47 -43
  121. package/dist/{context-working-set-5ZGKPGZQ.js → context-working-set-QHKXSV2F.js} +10 -9
  122. package/dist/{dispatch-runner-EFMJT4LD.js → dispatch-runner-RGIE5PCT.js} +56 -47
  123. package/dist/{docs-23KQS3XK.js → docs-5NAF6AU7.js} +5 -11
  124. package/dist/doctor-ZGPEGHIP.js +772 -0
  125. package/dist/{eval-TFBYQH4H.js → eval-GXLL44RD.js} +63 -45
  126. package/dist/{eval-inventory-SXH7PDKX.js → eval-inventory-HBWSWQOK.js} +7 -8
  127. package/dist/{evidence-ERGESKGN.js → evidence-HWLBRH3Q.js} +44 -40
  128. package/dist/{evolve-VDXTSYCJ.js → evolve-FTZBMNVW.js} +43 -39
  129. package/dist/{extensions-7BGBHN57.js → extensions-VHRBEID7.js} +4 -4
  130. package/dist/{fleet-2RRVDF2V.js → fleet-CKZHJWZJ.js} +86 -73
  131. package/dist/{fleet-commands-VJ726XIA.js → fleet-commands-EXDXBMV6.js} +10 -9
  132. package/dist/{fleet-decisions-EPAPM3XJ.js → fleet-decisions-OTHB6KRL.js} +5 -5
  133. package/dist/{fleet-graph-JF5QOATM.js → fleet-graph-YTEZUCUT.js} +13 -11
  134. package/dist/{fleet-inspect-VLY4S7QM.js → fleet-inspect-SS6YMDCK.js} +44 -41
  135. package/dist/{fleet-preflight-AIZUEJOY.js → fleet-preflight-PBY4VYOM.js} +5 -9
  136. package/dist/{fleet-validate-AJRPDMDV.js → fleet-validate-KMEM5L3S.js} +16 -13
  137. package/dist/{fleet-verify-JFEL2L3H.js → fleet-verify-QD5M7E7Q.js} +42 -39
  138. package/dist/{fleet-view-ZCON35AG.js → fleet-view-WAMJYNDT.js} +44 -52
  139. package/dist/{init-DN2WWLFE.js → init-5XQRBOFV.js} +63 -58
  140. package/dist/{install-XGLBQY5E.js → install-NKNG7KD4.js} +2 -2
  141. package/dist/{interop-OZBKXAYL.js → interop-34TVO25M.js} +13 -11
  142. package/dist/{library-YWZG7IMW.js → library-3QY6KF57.js} +17 -14
  143. package/dist/{memory-I4C4HMLW.js → memory-L4UTIIIW.js} +45 -41
  144. package/dist/{models-CEYXJBO6.js → models-ZVX3QOWE.js} +39 -31
  145. package/dist/{monitor-NZ6GCI3P.js → monitor-CEKVSYTS.js} +50 -46
  146. package/dist/{orchestrator-GCGQ4N5I.js → orchestrator-77BAP6BC.js} +1807 -1039
  147. package/dist/{panes-KY6W3V2E.js → panes-7STHOAUJ.js} +4 -4
  148. package/dist/{panes-HMABYVO4.js → panes-SHAUIRXY.js} +10 -8
  149. package/dist/{paths-II4K7DNR.js → paths-L7LGY6RN.js} +4 -4
  150. package/dist/{reset-DQ6FGCSH.js → reset-EOLM7GVE.js} +7 -8
  151. package/dist/{resources-BB3MVJMD.js → resources-74GKTLSF.js} +17 -13
  152. package/dist/{run-H2GQDUER.js → run-HBAUJNNZ.js} +86 -76
  153. package/dist/{share-GTJN6A5O.js → share-G3APVLVP.js} +17 -14
  154. package/dist/{skills-L55TEW6R.js → skills-35HHUKCR.js} +19 -16
  155. package/dist/{skills-eval-XVXPH2JI.js → skills-eval-QN4HSHDC.js} +55 -57
  156. package/dist/{skills-inventory-S4MXPJFV.js → skills-inventory-J357J34F.js} +15 -12
  157. package/dist/{slash-commands-ZSGASKJC.js → slash-commands-JZZCQA32.js} +31 -29
  158. package/dist/{steer-RZGSCY4R.js → steer-XAVHJM22.js} +3 -3
  159. package/dist/{support-PKEUNNQL.js → support-U7QOWY26.js} +6 -6
  160. package/dist/{targets-NCPZ644J.js → targets-DSM6CY3M.js} +59 -53
  161. package/dist/{terminal-lease-44SV3YCN.js → terminal-lease-JOPFUVEM.js} +14 -9
  162. package/dist/{tools-DAF3DI3C.js → tools-MKNWVPBH.js} +10 -8
  163. package/dist/{trace-FYVW2MQA.js → trace-ECQ7TIYZ.js} +48 -3
  164. package/dist/{tui-primitives-2AKXQNZK.js → tui-primitives-K5PASC3O.js} +8 -4
  165. package/dist/{uninstall-DW2PNOIC.js → uninstall-N34PCTGJ.js} +4 -6
  166. package/dist/{upgrade-3XPP6OQL.js → upgrade-H7TOM7YL.js} +35 -62
  167. package/dist/{usage-3NLHGTU2.js → usage-X52N3IDJ.js} +51 -48
  168. package/dist/{verifiers-SSQONKRT.js → verifiers-EJTVVSMA.js} +10 -9
  169. package/dist/{verify-3U6J7FZI.js → verify-YJL6XET2.js} +9 -8
  170. package/dist/{web-fetch-S7RR6GZ7.js → web-fetch-MPIFL3LL.js} +1 -2
  171. package/dist/{wiki-generate-CEHYGPGQ.js → wiki-generate-4NDZTQ4B.js} +66 -63
  172. package/dist/{with-panes-MKB46MPQ.js → with-panes-OBOBFIIR.js} +62 -26
  173. package/dist/worker/entry.js +57 -52
  174. package/docs/acp.md +1 -1
  175. package/docs/built-in-agents.md +40 -32
  176. package/docs/commands-and-modes.md +9 -3
  177. package/docs/config-knobs-audit.md +3 -0
  178. package/docs/configuration-and-targets.md +105 -164
  179. package/docs/environment-variables.md +2 -1
  180. package/docs/exit-codes-and-output.md +2 -0
  181. package/docs/fleet-demo-runbook.md +6 -3
  182. package/docs/fleet-dispatch.md +8 -6
  183. package/docs/installation-and-lifecycle.md +1 -1
  184. package/docs/release-cut-checklist.md +164 -177
  185. package/docs/trace-store.md +15 -10
  186. package/docs/troubleshooting.md +1 -1
  187. package/evals/README.md +5 -0
  188. package/evals/behavioral-corpus-grader.mjs +103 -0
  189. package/evals/behavioral-machinery-baseline.json +2276 -0
  190. package/evals/behavioral-machinery-driver.ts +250 -0
  191. package/evals/behavioral-machinery-support.ts +253 -0
  192. package/evals/behavioral-machinery.yaml +614 -0
  193. package/evals/behavioral-model-negative-control.yaml +68 -0
  194. package/evals/behavioral-model.yaml +216 -0
  195. package/evals/fixtures/behavioral-facts.txt +3 -0
  196. package/evals/fixtures/behavioral-main.ts +7 -0
  197. package/evals/fixtures/decoy/note.txt +2 -0
  198. package/evals/fixtures/private/credentials.txt +1 -0
  199. package/evals/tracked-metrics-baseline.yaml +229 -0
  200. package/evals/tracked-metrics-grader.mjs +129 -0
  201. package/package.json +5 -15
  202. package/skills/README.md +6 -6
  203. package/skills/coding/ast-grep/SKILL.md +8 -2
  204. package/skills/coding/coding-standards/SKILL.md +8 -2
  205. package/skills/coding/prototype/SKILL.md +8 -2
  206. package/skills/coding/tdd/SKILL.md +8 -2
  207. package/skills/context/context-handoff/SKILL.md +12 -3
  208. package/skills/context/context-handoff/evals.md +3 -3
  209. package/skills/context/context-prime/SKILL.md +8 -2
  210. package/skills/context/context-prime/evals.md +2 -2
  211. package/skills/git/file-ticket/SKILL.md +9 -4
  212. package/skills/git/file-ticket/evals.md +2 -2
  213. package/skills/git/fix-issue/SKILL.md +12 -5
  214. package/skills/git/fix-issue/evals.md +4 -4
  215. package/skills/git/resolve-merge-conflicts/SKILL.md +8 -2
  216. package/skills/git/resolve-merge-conflicts/evals.md +2 -2
  217. package/skills/git/ship/SKILL.md +9 -3
  218. package/skills/git/ship/evals.md +4 -4
  219. package/skills/git/worktree-create/SKILL.md +7 -2
  220. package/skills/git/worktree-create/evals.md +6 -6
  221. package/skills/git/worktree-merge/SKILL.md +7 -2
  222. package/skills/git/worktree-merge/evals.md +6 -6
  223. package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +14 -8
  224. package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +3 -3
  225. package/skills/meta/{clio-test → clio-coder-test}/SKILL.md +11 -5
  226. package/skills/meta/{clio-test → clio-coder-test}/evals.md +1 -1
  227. package/skills/meta/credentials/SKILL.md +9 -2
  228. package/skills/meta/find-skills/SKILL.md +8 -2
  229. package/skills/meta/herdr/SKILL.md +8 -2
  230. package/skills/meta/skill-craft/SKILL.md +21 -4
  231. package/skills/planning/architecture/SKILL.md +9 -3
  232. package/skills/planning/backlog/SKILL.md +8 -2
  233. package/skills/planning/prd/SKILL.md +8 -2
  234. package/skills/planning/product-intent/SKILL.md +8 -2
  235. package/skills/planning/tech-spec/SKILL.md +9 -3
  236. package/skills/registry.yaml +66 -66
  237. package/skills/research/arxiv-literature/SKILL.md +8 -2
  238. package/skills/research/experiment-protocol/SKILL.md +9 -2
  239. package/skills/research/scientific-debugging/SKILL.md +9 -2
  240. package/skills/research/scientific-debugging/evals.md +2 -2
  241. package/skills/research/scientific-modernization/SKILL.md +9 -2
  242. package/skills/skill-marketplace.json +257 -38
  243. package/skills/workflow/cut-it/SKILL.md +10 -2
  244. package/skills/workflow/design-council/SKILL.md +11 -2
  245. package/skills/workflow/grill-me/SKILL.md +8 -2
  246. package/skills/workflow/workflow-distiller/SKILL.md +8 -2
  247. package/src/cli/acp.ts +2 -2
  248. package/src/cli/auth.ts +2 -2
  249. package/src/cli/bootstrap-generate.ts +5 -5
  250. package/src/cli/clio.ts +6 -1
  251. package/src/cli/config-inspect.ts +3 -3
  252. package/src/cli/configure-interop.ts +1 -1
  253. package/src/cli/configure.ts +27 -27
  254. package/src/cli/default-target.ts +1 -1
  255. package/src/cli/docs.ts +6 -6
  256. package/src/cli/doctor-naming.ts +323 -0
  257. package/src/cli/doctor-panes.ts +46 -14
  258. package/src/cli/doctor-toolchain.ts +29 -8
  259. package/src/cli/doctor.ts +15 -1
  260. package/src/cli/eval-inventory.ts +8 -8
  261. package/src/cli/evidence-detail.ts +1 -1
  262. package/src/cli/evidence-inventory.ts +1 -1
  263. package/src/cli/fleet-decisions.ts +1 -1
  264. package/src/cli/fleet-inspect.ts +1 -1
  265. package/src/cli/fleet-preflight.ts +1 -1
  266. package/src/cli/fleet-verify.ts +1 -1
  267. package/src/cli/fleet-view.ts +40 -23
  268. package/src/cli/fleet.ts +8 -5
  269. package/src/cli/interop-inspect.ts +2 -2
  270. package/src/cli/models.ts +3 -3
  271. package/src/cli/modes/print.ts +1 -1
  272. package/src/cli/reset.ts +1 -1
  273. package/src/cli/run.ts +11 -15
  274. package/src/cli/share.ts +1 -1
  275. package/src/cli/skills-eval.ts +11 -11
  276. package/src/cli/targets.ts +23 -24
  277. package/src/cli/trace-inspect.ts +1 -1
  278. package/src/cli/trace.ts +41 -0
  279. package/src/cli/uninstall.ts +2 -2
  280. package/src/cli/upgrade.ts +29 -34
  281. package/src/cli/usage.ts +2 -2
  282. package/src/cli/validate-model.ts +1 -1
  283. package/src/cli/verifiers-inspect.ts +1 -1
  284. package/src/cli/wiki-generate.ts +5 -5
  285. package/src/core/bash-exec.ts +1 -1
  286. package/src/core/boot-trace.ts +3 -3
  287. package/src/core/bus-trace.ts +2 -2
  288. package/src/core/compile-cache.ts +1 -1
  289. package/src/core/config.ts +1062 -886
  290. package/src/core/defaults.ts +321 -528
  291. package/src/core/domain-loader.ts +6 -4
  292. package/src/core/event-bus.ts +1 -1
  293. package/src/core/file-references.ts +78 -88
  294. package/src/core/git-commit-attribution.ts +3 -9
  295. package/src/core/guardrails.ts +24 -4
  296. package/src/core/naming-compat.ts +45 -0
  297. package/src/core/naming-events.ts +62 -0
  298. package/src/core/recent-models.ts +1 -7
  299. package/src/core/residency-protection.ts +4 -8
  300. package/src/core/resolve-config-value.ts +1 -1
  301. package/src/core/response-model-id.ts +0 -14
  302. package/src/core/session-routing.ts +84 -74
  303. package/src/core/skill-activation.ts +18 -0
  304. package/src/core/termination.ts +4 -4
  305. package/src/core/timers.ts +2 -12
  306. package/src/domains/agents/catalog.ts +2 -12
  307. package/src/domains/agents/extension.ts +3 -3
  308. package/src/domains/agents/registry.ts +7 -7
  309. package/src/domains/agents/result-contract.ts +1 -1
  310. package/src/domains/agents/spec.ts +0 -11
  311. package/src/domains/config/classify.ts +35 -47
  312. package/src/domains/config/extension.ts +5 -5
  313. package/src/domains/config/keybindings.ts +48 -47
  314. package/src/domains/config/watcher.ts +1 -1
  315. package/src/domains/context/codewiki/indexer.ts +1 -1
  316. package/src/domains/context/extension.ts +3 -3
  317. package/src/domains/context/prompt-context.ts +1 -1
  318. package/src/domains/context/wiki/assemble.ts +2 -2
  319. package/src/domains/context/working-set/replay/metrics.ts +0 -4
  320. package/src/domains/context/working-set/replay/report.ts +1 -1
  321. package/src/domains/context/working-set/replay/synthetic.ts +2 -2
  322. package/src/domains/dispatch/active-route-planner.ts +2 -2
  323. package/src/domains/dispatch/agent-candidates.ts +1 -1
  324. package/src/domains/dispatch/agent-ledger-store.ts +1 -1
  325. package/src/domains/dispatch/agent-ledger.ts +1 -1
  326. package/src/domains/dispatch/assignment.ts +5 -5
  327. package/src/domains/dispatch/capacity-lease.ts +2 -5
  328. package/src/domains/dispatch/code-step.ts +1 -1
  329. package/src/domains/dispatch/contract.ts +2 -2
  330. package/src/domains/dispatch/extension.ts +65 -61
  331. package/src/domains/dispatch/fleet-node-prompt.ts +1 -1
  332. package/src/domains/dispatch/fleet-preflight.ts +8 -17
  333. package/src/domains/dispatch/fleet-run.ts +0 -7
  334. package/src/domains/dispatch/gate-decisions.ts +25 -14
  335. package/src/domains/dispatch/joint-route-resolver.ts +1 -1
  336. package/src/domains/dispatch/path-scope.ts +0 -61
  337. package/src/domains/dispatch/placement.ts +2 -2
  338. package/src/domains/dispatch/receipt-findings.ts +1 -1
  339. package/src/domains/dispatch/receipt-integrity.ts +20 -8
  340. package/src/domains/dispatch/reservation-store.ts +0 -23
  341. package/src/domains/dispatch/route-decision.ts +1 -1
  342. package/src/domains/dispatch/route-history.ts +1 -1
  343. package/src/domains/dispatch/route-policy.ts +1 -1
  344. package/src/domains/dispatch/route-readiness.ts +0 -28
  345. package/src/domains/dispatch/run-event-journal.ts +6 -5
  346. package/src/domains/dispatch/tool-stats.ts +1 -1
  347. package/src/domains/dispatch/transport.ts +2 -19
  348. package/src/domains/dispatch/types.ts +3 -3
  349. package/src/domains/dispatch/worker-protocol.ts +2 -2
  350. package/src/domains/eval/artifacts/store.ts +5 -4
  351. package/src/domains/eval/compare/thresholds.ts +0 -8
  352. package/src/domains/eval/execution-provenance.ts +1 -1
  353. package/src/domains/eval/metrics/token-stream.ts +0 -7
  354. package/src/domains/eval/report.ts +1 -1
  355. package/src/domains/eval/runner.ts +1 -1
  356. package/src/domains/eval/runners/clio-run.ts +7 -6
  357. package/src/domains/eval/runners/external-command.ts +4 -3
  358. package/src/domains/eval/schema/artifact.ts +1 -1
  359. package/src/domains/eval/schema/behavioral-metrics.ts +3 -2
  360. package/src/domains/eval/schema/behavioral.ts +7 -6
  361. package/src/domains/eval/schema/execution-envelope.ts +4 -2
  362. package/src/domains/eval/schema/naming.ts +10 -0
  363. package/src/domains/eval/schema/suite.ts +2 -2
  364. package/src/domains/eval/schema/validate.ts +9 -5
  365. package/src/domains/eval/schema/verdict.ts +4 -2
  366. package/src/domains/eval/store.ts +12 -2
  367. package/src/domains/eval/suites/run.ts +12 -6
  368. package/src/domains/eval/types.ts +1 -1
  369. package/src/domains/eval/workspaces/git.ts +1 -1
  370. package/src/domains/eval/workspaces/temp-copy.ts +1 -1
  371. package/src/domains/evidence/build.ts +13 -5
  372. package/src/domains/interop/consent.ts +7 -7
  373. package/src/domains/interop/extension.ts +1 -1
  374. package/src/domains/lifecycle/doctor.ts +27 -21
  375. package/src/domains/lifecycle/migrations/2026-09-01-clio-coder-naming.ts +155 -0
  376. package/src/domains/lifecycle/migrations/2026-09-01-retire-panes-knobs.ts +59 -0
  377. package/src/domains/lifecycle/migrations/2026-09-01-settings-v2.ts +338 -0
  378. package/src/domains/lifecycle/migrations/index.ts +20 -1
  379. package/src/domains/lifecycle/naming-history.ts +153 -0
  380. package/src/domains/lifecycle/naming-mutable-state.ts +104 -0
  381. package/src/domains/lifecycle/naming-resources.ts +261 -0
  382. package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
  383. package/src/domains/lifecycle/naming-yazi.ts +81 -0
  384. package/src/domains/lifecycle/upgrade-notice.ts +1 -1
  385. package/src/domains/memory/task-memory-handoff.ts +6 -3
  386. package/src/domains/middleware/index.ts +7 -0
  387. package/src/domains/middleware/marketplace-offer.ts +339 -0
  388. package/src/domains/middleware/runtime.ts +2 -2
  389. package/src/domains/mux/contract.ts +157 -25
  390. package/src/domains/mux/detect.ts +29 -5
  391. package/src/domains/mux/dock-controller.ts +365 -0
  392. package/src/domains/mux/extension.ts +7 -1
  393. package/src/domains/mux/index.ts +20 -0
  394. package/src/domains/mux/operations.ts +28 -0
  395. package/src/domains/mux/protocol.ts +19 -6
  396. package/src/domains/mux/socket-client.ts +167 -19
  397. package/src/domains/mux/types.ts +49 -6
  398. package/src/domains/mux/yazi/event-stream.ts +6 -4
  399. package/src/domains/mux/yazi/profile.ts +1 -1
  400. package/src/domains/mux/yazi/session.ts +26 -3
  401. package/src/domains/observability/extension.ts +1 -1
  402. package/src/domains/observability/out-of-turn-usage.ts +2 -2
  403. package/src/domains/observability/projection.ts +1 -1
  404. package/src/domains/observability/trace-store.ts +22 -12
  405. package/src/domains/prompts/compiler.ts +2 -2
  406. package/src/domains/prompts/extension.ts +3 -3
  407. package/src/domains/prompts/fragments/identity/clio-worker.md +1 -1
  408. package/src/domains/prompts/fragments/operating/skills.md +25 -18
  409. package/src/domains/providers/extension.ts +5 -5
  410. package/src/domains/providers/knowledge-base-path.ts +1 -1
  411. package/src/domains/providers/model-runtime-capabilities.ts +14 -2
  412. package/src/domains/providers/models/cloud-models/alcf.yaml +1 -1
  413. package/src/domains/providers/models/local-models/{clio-local-coding-targets.yaml → clio-coder-local-coding-targets.yaml} +4 -4
  414. package/src/domains/providers/plugins.ts +1 -1
  415. package/src/domains/providers/resolver.ts +1 -1
  416. package/src/domains/providers/runtimes/cloud/alcf.ts +4 -4
  417. package/src/domains/providers/runtimes/common/lmstudio-http.ts +1 -5
  418. package/src/domains/providers/runtimes/common/local-synth.ts +3 -3
  419. package/src/domains/providers/runtimes/common/probe-helpers.ts +2 -2
  420. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
  421. package/src/domains/providers/runtimes/local-native/lmstudio.ts +2 -9
  422. package/src/domains/providers/runtimes/protocol/litellm.ts +1 -91
  423. package/src/domains/providers/types/knowledge-base.ts +13 -0
  424. package/src/domains/providers/types/local-model-quirks.ts +2 -2
  425. package/src/domains/providers/types/target-descriptor.ts +3 -3
  426. package/src/domains/resources/extension.ts +1 -1
  427. package/src/domains/resources/library.ts +6 -6
  428. package/src/domains/resources/prompts/loader.ts +1 -1
  429. package/src/domains/resources/skills/content-hash.ts +7 -6
  430. package/src/domains/resources/skills/evals.ts +1 -1
  431. package/src/domains/resources/skills/install.ts +36 -12
  432. package/src/domains/resources/skills/loader.ts +39 -13
  433. package/src/domains/resources/skills/marketplace.ts +21 -2
  434. package/src/domains/resources/skills/promotion.ts +214 -0
  435. package/src/domains/safety/audit.ts +2 -2
  436. package/src/domains/safety/finish-contract.ts +2 -1
  437. package/src/domains/safety/run-effects.ts +1 -1
  438. package/src/domains/scheduling/extension.ts +4 -4
  439. package/src/domains/session/archive-readers.ts +9 -1
  440. package/src/domains/session/compaction/branch-summary.ts +4 -0
  441. package/src/domains/session/compaction/compact.ts +1 -1
  442. package/src/domains/session/compaction/tokens.ts +4 -0
  443. package/src/domains/session/context-accounting.ts +1 -1
  444. package/src/domains/session/decision-board.ts +1 -1
  445. package/src/domains/session/extension.ts +1 -1
  446. package/src/domains/session/handoff.ts +2 -2
  447. package/src/domains/session/prompt-manifest.ts +0 -5
  448. package/src/domains/session/protected-artifact-journal.ts +12 -6
  449. package/src/domains/session/retry.ts +1 -1
  450. package/src/domains/share/archive.ts +85 -36
  451. package/src/domains/toolchain/install.ts +1 -1
  452. package/src/engine/acp/adapter.ts +3 -3
  453. package/src/engine/acp/event-mapper.ts +3 -3
  454. package/src/engine/acp/server.ts +27 -26
  455. package/src/engine/acp/tool-mediator.ts +2 -2
  456. package/src/engine/acp/types.ts +1 -1
  457. package/src/engine/alcf-oauth.ts +5 -5
  458. package/src/engine/antigravity/subprocess-runtime.ts +2 -2
  459. package/src/engine/api-registry.ts +1 -1
  460. package/src/engine/apis/llamacpp-residency.ts +1 -19
  461. package/src/engine/apis/lmstudio.ts +1 -6
  462. package/src/engine/apis/ollama-native.ts +3 -3
  463. package/src/engine/apis/openai-completions.ts +2 -2
  464. package/src/engine/apis/residency.ts +3 -9
  465. package/src/engine/claude/sdk-module.ts +1 -12
  466. package/src/engine/claude/sdk-runtime.ts +6 -6
  467. package/src/engine/claude/subprocess-runtime.ts +1 -1
  468. package/src/engine/claude/tool-safety.ts +4 -4
  469. package/src/engine/loop-guard.ts +0 -5
  470. package/src/engine/session.ts +14 -7
  471. package/src/engine/tui-primitives.ts +1 -1
  472. package/src/engine/worker-events.ts +6 -6
  473. package/src/engine/worker-runtime.ts +14 -13
  474. package/src/entry/orchestrator.ts +107 -88
  475. package/src/interactive/application-controller.ts +21 -21
  476. package/src/interactive/bus-notices.ts +2 -2
  477. package/src/interactive/chat-loop.ts +8 -8
  478. package/src/interactive/chat-panel.ts +1 -1
  479. package/src/interactive/clio-editor.ts +105 -1
  480. package/src/interactive/context-activity.ts +8 -6
  481. package/src/interactive/context-meter.ts +3 -6
  482. package/src/interactive/context-overlay.ts +1 -1
  483. package/src/interactive/cost-overlay.ts +1 -1
  484. package/src/interactive/council-grid.ts +2 -2
  485. package/src/interactive/dispatch-board.ts +30 -33
  486. package/src/interactive/editor-bash.ts +21 -0
  487. package/src/interactive/editor-steer.ts +9 -4
  488. package/src/interactive/editor-submit.ts +24 -18
  489. package/src/interactive/external-editor.ts +1 -1
  490. package/src/interactive/file-reference-completion.ts +360 -0
  491. package/src/interactive/footer/dashboard.ts +15 -17
  492. package/src/interactive/footer/notifications.ts +14 -8
  493. package/src/interactive/footer/widgets.ts +2 -44
  494. package/src/interactive/interactive-application.ts +79 -59
  495. package/src/interactive/interactive-event-projection.ts +1 -1
  496. package/src/interactive/interactive-input-runtime.ts +2 -2
  497. package/src/interactive/interactive-presentation.ts +21 -16
  498. package/src/interactive/interactive-shell.ts +2 -2
  499. package/src/interactive/interactive-slash-runtime.ts +63 -17
  500. package/src/interactive/interactive-subscriptions.ts +1 -1
  501. package/src/interactive/interactive-tickers.ts +1 -1
  502. package/src/interactive/keybinding-manager.ts +4 -4
  503. package/src/interactive/layout.ts +1 -1
  504. package/src/interactive/memory-overlay.ts +2 -2
  505. package/src/interactive/modal-marker.ts +2 -21
  506. package/src/interactive/mutation-preview.ts +1 -1
  507. package/src/interactive/overlay-frame.ts +4 -12
  508. package/src/interactive/overlay-general-openers.ts +6 -2
  509. package/src/interactive/overlay-key-routing.ts +7 -7
  510. package/src/interactive/overlay-lifecycle.ts +1 -1
  511. package/src/interactive/overlay-model-selectors.ts +3 -3
  512. package/src/interactive/overlays/agents.ts +2 -2
  513. package/src/interactive/overlays/ask-user.ts +25 -11
  514. package/src/interactive/overlays/context-reset.ts +28 -4
  515. package/src/interactive/overlays/cwd-fallback.ts +28 -4
  516. package/src/interactive/overlays/decisions.ts +4 -2
  517. package/src/interactive/overlays/fleet-run-approval.ts +3 -3
  518. package/src/interactive/overlays/handoff-review.ts +2 -2
  519. package/src/interactive/overlays/interop.ts +1 -1
  520. package/src/interactive/overlays/library-install-confirm.ts +1 -1
  521. package/src/interactive/overlays/message-picker.ts +1 -1
  522. package/src/interactive/overlays/model-selector.ts +39 -31
  523. package/src/interactive/overlays/prompts.ts +10 -4
  524. package/src/interactive/overlays/session-selector.ts +2 -2
  525. package/src/interactive/overlays/settings.ts +339 -293
  526. package/src/interactive/overlays/side-question.ts +2 -2
  527. package/src/interactive/overlays/skills-hub.ts +8 -8
  528. package/src/interactive/overlays/tree-selector.ts +2 -2
  529. package/src/interactive/panes-runtime.ts +36 -10
  530. package/src/interactive/permission-overlay.ts +2 -2
  531. package/src/interactive/renderers/retry-status.ts +12 -4
  532. package/src/interactive/renderers/tool-execution.ts +4 -4
  533. package/src/interactive/session-transcript.ts +3 -3
  534. package/src/interactive/slash-autocomplete.ts +454 -165
  535. package/src/interactive/slash-commands.ts +279 -183
  536. package/src/interactive/slash-spec.ts +160 -17
  537. package/src/interactive/status/controller.ts +2 -2
  538. package/src/interactive/stream-pacing-policy.ts +1 -1
  539. package/src/interactive/tasks-overlay.ts +20 -13
  540. package/src/interactive/terminal-lease.ts +6 -7
  541. package/src/interactive/turn-context.ts +11 -11
  542. package/src/interactive/turn-persistence.ts +2 -2
  543. package/src/interactive/turn-prewarm.ts +2 -2
  544. package/src/interactive/turn-runtime.ts +8 -8
  545. package/src/interactive/turn-state.ts +1 -1
  546. package/src/interactive/view/artifacts.ts +12 -9
  547. package/src/interactive/view/view-overlay.ts +13 -10
  548. package/src/interactive/watch-pane.ts +38 -10
  549. package/src/interactive/welcome-dashboard.ts +15 -15
  550. package/src/interactive/worker-progress.ts +4 -4
  551. package/src/interactive/worker-receipts.ts +1 -1
  552. package/src/interactive/worker-stream.ts +1 -4
  553. package/src/interactive/yazi-bridge.ts +12 -5
  554. package/src/tools/ask-user.ts +3 -3
  555. package/src/tools/bash.ts +1 -1
  556. package/src/tools/builtin-tool-catalog.ts +1 -1
  557. package/src/tools/compete-worktrees.ts +27 -17
  558. package/src/tools/context/index.ts +15 -1
  559. package/src/tools/dispatch-admission.ts +4 -2
  560. package/src/tools/dispatch-arguments.ts +1 -1
  561. package/src/tools/dispatch-plan.ts +0 -11
  562. package/src/tools/dispatch-run-events.ts +12 -10
  563. package/src/tools/dispatch-runner.ts +11 -6
  564. package/src/tools/dispatch.ts +1 -1
  565. package/src/tools/find.ts +1 -6
  566. package/src/tools/monitor.ts +4 -4
  567. package/src/tools/observers.ts +0 -33
  568. package/src/tools/task-worktree.ts +28 -7
  569. package/src/tools/verify/authoring.ts +3 -6
  570. package/src/tools/verify/frontend.ts +1 -1
  571. package/src/tools/web-fetch.ts +1 -1
  572. package/src/worker/entry.ts +4 -3
  573. package/src/worker/protocol.ts +16 -14
  574. package/src/worker/spec-contract.ts +2 -2
  575. package/src/worker/stdin-demux.ts +2 -2
  576. package/dist/chunk-GXNLGKAB.js +0 -571
  577. package/dist/chunk-VFA6GDY5.js +0 -1625
  578. package/dist/doctor-QOA5FNY5.js +0 -313
  579. package/src/engine/apis/degraded-inference.ts +0 -95
  580. /package/skills/meta/{clio-test → clio-coder-test}/references/harness.md +0 -0
  581. /package/skills/meta/{clio-test → clio-coder-test}/references/test-map.md +0 -0
@@ -7,6 +7,10 @@ import {
7
7
  init_esm_shims();
8
8
  var SKILL_SUGGESTION_ANCHOR = "Suggested skill: /skill <name>";
9
9
  var SKILL_SUGGESTION_PREFIX = SKILL_SUGGESTION_ANCHOR.slice(0, SKILL_SUGGESTION_ANCHOR.indexOf("<name>"));
10
+ var SKILL_INSTALL_OFFER_OPTION_PROJECT = "Install for this project";
11
+ var SKILL_INSTALL_OFFER_OPTION_USER = "Install globally";
12
+ var SKILL_INSTALL_OFFER_OPTION_NOT_NOW = "Not now";
13
+ var SKILL_INSTALL_OFFER_OPTION_NEVER = "Never offer this skill";
10
14
  var SKILL_SURFACE_EXEMPT_TOOLS = /* @__PURE__ */ new Set(["context", "ask_user"]);
11
15
  function evaluateSkillToolSurface(policy, tool) {
12
16
  if (!policy || policy.loadedSkillPolicies.size === 0) return null;
@@ -315,6 +319,10 @@ function isSessionEntry(value) {
315
319
  export {
316
320
  SKILL_SUGGESTION_ANCHOR,
317
321
  SKILL_SUGGESTION_PREFIX,
322
+ SKILL_INSTALL_OFFER_OPTION_PROJECT,
323
+ SKILL_INSTALL_OFFER_OPTION_USER,
324
+ SKILL_INSTALL_OFFER_OPTION_NOT_NOW,
325
+ SKILL_INSTALL_OFFER_OPTION_NEVER,
318
326
  evaluateSkillToolSurface,
319
327
  agentSkillToolPolicy,
320
328
  skillActivationFromToolDetails,
@@ -329,4 +337,4 @@ export {
329
337
  isSessionHeader,
330
338
  isSessionEntry
331
339
  };
332
- //# sourceMappingURL=chunk-RAPCMZL4.js.map
340
+ //# sourceMappingURL=chunk-FSP7CMNU.js.map
@@ -1,52 +1,52 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  armInternalDispatchDeadline
4
- } from "./chunk-J5Q24KAG.js";
4
+ } from "./chunk-Y4CAGMM6.js";
5
5
  import {
6
6
  SchedulingDomainModule,
7
7
  createPromptsDomainModule
8
- } from "./chunk-ULC6OTWO.js";
8
+ } from "./chunk-R32CLGZ6.js";
9
9
  import {
10
10
  SafetyDomainModule
11
- } from "./chunk-O6TL7WWY.js";
11
+ } from "./chunk-AKB4GYDL.js";
12
12
  import {
13
13
  ConfigDomainModule,
14
14
  loadDomains
15
- } from "./chunk-3BT2XMV4.js";
15
+ } from "./chunk-2NM363SV.js";
16
16
  import {
17
17
  createObservabilityDomainModule
18
- } from "./chunk-WZR7K7ZX.js";
18
+ } from "./chunk-E67WX76H.js";
19
19
  import {
20
20
  fallbackBootstrapOutput
21
- } from "./chunk-I5VEOC6I.js";
21
+ } from "./chunk-C537JADH.js";
22
22
  import {
23
23
  renderCodewikiDigest
24
- } from "./chunk-VAZSBTKF.js";
24
+ } from "./chunk-3QSOM6PA.js";
25
25
  import {
26
26
  DispatchDomainModule
27
- } from "./chunk-BUMFYQFY.js";
27
+ } from "./chunk-XKA2ICR3.js";
28
28
  import {
29
29
  SessionDomainModule
30
- } from "./chunk-QREDIESB.js";
30
+ } from "./chunk-TVH4ONAM.js";
31
31
  import {
32
32
  ResourcesDomainModule
33
- } from "./chunk-LY4S7GJC.js";
33
+ } from "./chunk-SINK3QR6.js";
34
34
  import {
35
35
  AgentsDomainModule
36
- } from "./chunk-Z2RR6MAK.js";
36
+ } from "./chunk-MA3H6DM5.js";
37
37
  import {
38
38
  MiddlewareDomainModule
39
- } from "./chunk-QLL7ILRG.js";
39
+ } from "./chunk-JA5QWE4Z.js";
40
40
  import {
41
41
  UnsupportedResponseSchemaError,
42
42
  isResponseSchemaRejection
43
- } from "./chunk-J4W7KFM7.js";
43
+ } from "./chunk-2VG7KLYV.js";
44
44
  import {
45
45
  parseJsonObjectPayload
46
- } from "./chunk-DYJP44XW.js";
46
+ } from "./chunk-IG7BCQBA.js";
47
47
  import {
48
48
  ProvidersDomainModule
49
- } from "./chunk-DQITNCXG.js";
49
+ } from "./chunk-UEDMSP56.js";
50
50
  import {
51
51
  init_esm_shims
52
52
  } from "./chunk-3R73A4XB.js";
@@ -291,9 +291,9 @@ var BOOTSTRAP_MAX_OUTPUT_BYTES = 256 * 1024;
291
291
  var CONTEXT_BOOTSTRAP_AGENT_ID = "context-bootstrap";
292
292
  function resolveBootstrapRoute(settings) {
293
293
  for (const agentId of [CONTEXT_BOOTSTRAP_AGENT_ID, "scout"]) {
294
- const profileName = settings.workers.agentBindings[agentId];
294
+ const profileName = settings.fleet.agentProfiles[agentId];
295
295
  if (!profileName) continue;
296
- const profile = settings.workers.profiles[profileName];
296
+ const profile = settings.fleet.profiles[profileName];
297
297
  if (!profile) throw new Error(`bootstrap profile '${profileName}' is not configured (bound to '${agentId}')`);
298
298
  if (!profile.target) throw new Error(`bootstrap profile '${profileName}' has no target (bound to '${agentId}')`);
299
299
  return {
@@ -302,7 +302,7 @@ function resolveBootstrapRoute(settings) {
302
302
  ...profile.thinkingLevel ? { thinkingLevel: profile.thinkingLevel } : {}
303
303
  };
304
304
  }
305
- const fallback = settings.workers.default;
305
+ const fallback = settings.fleet.default;
306
306
  if (!fallback?.target) {
307
307
  throw new Error(
308
308
  `bootstrap has no route: workers.agentBindings.${CONTEXT_BOOTSTRAP_AGENT_ID} is unbound and workers.default has no target; bind a profile with 'clio-coder targets profile bind ${CONTEXT_BOOTSTRAP_AGENT_ID} <profile>' or set workers.default.target`
@@ -418,7 +418,7 @@ async function collectDispatchAssistantText(events, input) {
418
418
  message: "bootstrap agent started repository exploration"
419
419
  });
420
420
  }
421
- if (isRecord(event) && event.type === "clio_tool_start") {
421
+ if (isRecord(event) && event.type === "clio_coder_tool_start") {
422
422
  const tool = toolNameFromEvent(event);
423
423
  if (tool) {
424
424
  input.progress?.({
@@ -429,7 +429,7 @@ async function collectDispatchAssistantText(events, input) {
429
429
  });
430
430
  }
431
431
  }
432
- if (isRecord(event) && event.type === "clio_tool_finish") {
432
+ if (isRecord(event) && event.type === "clio_coder_tool_finish") {
433
433
  const tool = toolNameFromEvent(event);
434
434
  const outcome = toolOutcomeFromEvent(event) ?? "done";
435
435
  if (tool) {
@@ -675,4 +675,4 @@ export {
675
675
  validateInitOptions,
676
676
  bootstrapInputFromInitOptions
677
677
  };
678
- //# sourceMappingURL=chunk-MLKNTWH2.js.map
678
+ //# sourceMappingURL=chunk-FYUN5KZ3.js.map
@@ -37,4 +37,4 @@ export {
37
37
  PANES_PRESET_IDS,
38
38
  isPanesPresetId
39
39
  };
40
- //# sourceMappingURL=chunk-YJX4SHTD.js.map
40
+ //# sourceMappingURL=chunk-GIZNH63R.js.map
@@ -2,10 +2,10 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  parseJsonObjectPayload,
4
4
  parseVerifierResult
5
- } from "./chunk-DYJP44XW.js";
5
+ } from "./chunk-IG7BCQBA.js";
6
6
  import {
7
7
  atomicWrite
8
- } from "./chunk-76ONBSIA.js";
8
+ } from "./chunk-MQXIVJ35.js";
9
9
  import {
10
10
  clioStateDir
11
11
  } from "./chunk-BYP5D4HI.js";
@@ -143,7 +143,7 @@ function semanticError(value) {
143
143
  }
144
144
  const needsWinner = value.outcome === "winner" || value.outcome === "operator-confirmed" || value.outcome === "full-auto-applied";
145
145
  if (needsWinner) {
146
- if (!isRecord(value.winner) || typeof value.winner.index !== "number" || !Number.isInteger(value.winner.index) || value.winner.index < 1 || !isSubjectRef(value.winner.subject) || typeof value.winner.branch !== "string" || value.winner.branch !== `clio/compete/${value.group}/${value.winner.index}`) {
146
+ if (!isRecord(value.winner) || typeof value.winner.index !== "number" || !Number.isInteger(value.winner.index) || value.winner.index < 1 || !isSubjectRef(value.winner.subject) || typeof value.winner.branch !== "string" || value.winner.branch !== `clio-coder/compete/${value.group}/${value.winner.index}` && value.winner.branch !== `clio/compete/${value.group}/${value.winner.index}`) {
147
147
  return "gate decision winner invalid";
148
148
  }
149
149
  const winnerSubject = value.winner.subject;
@@ -180,9 +180,9 @@ function decisionArtifactPath(id, stateDir = clioStateDir()) {
180
180
  function pendingDecisionPath(id, stateDir = clioStateDir()) {
181
181
  return join(pendingDecisionsDirectory(stateDir), `${id}.json`);
182
182
  }
183
- function decisionPayload(decision) {
183
+ function decisionPayload(decision, legacyNaming = false) {
184
184
  return {
185
- contract: "clio.gateDecision.integrity",
185
+ contract: legacyNaming ? "clio.gateDecision.integrity" : "clio-coder.gateDecision.integrity",
186
186
  version: decision.version,
187
187
  id: decision.id,
188
188
  group: decision.group,
@@ -207,8 +207,8 @@ function decisionPayload(decision) {
207
207
  createdAt: decision.createdAt
208
208
  };
209
209
  }
210
- function decisionDigest(decision) {
211
- return createHash("sha256").update(JSON.stringify(decisionPayload(decision)), "utf8").digest("hex");
210
+ function decisionDigest(decision, legacyNaming = false) {
211
+ return createHash("sha256").update(JSON.stringify(decisionPayload(decision, legacyNaming)), "utf8").digest("hex");
212
212
  }
213
213
  function artifactWithoutIntegrity(artifact) {
214
214
  const result = {
@@ -238,7 +238,8 @@ function verifyGateDecisionArtifact(artifact) {
238
238
  const invalid = semanticError(artifact);
239
239
  if (invalid !== null) return { ok: false, reason: invalid };
240
240
  if (!/^[0-9a-f]{64}$/.test(artifact.integrity.digest)) return { ok: false, reason: "gate decision integrity invalid" };
241
- return decisionDigest(artifactWithoutIntegrity(artifact)) === artifact.integrity.digest ? { ok: true } : { ok: false, reason: "gate decision integrity mismatch" };
241
+ const withoutIntegrity = artifactWithoutIntegrity(artifact);
242
+ return decisionDigest(withoutIntegrity) === artifact.integrity.digest || decisionDigest(withoutIntegrity, true) === artifact.integrity.digest ? { ok: true } : { ok: false, reason: "gate decision integrity mismatch" };
242
243
  }
243
244
  function buildGateDecisionArtifact(draft, id = newDecisionId(draft.group), createdAt = draft.createdAt ?? (/* @__PURE__ */ new Date()).toISOString()) {
244
245
  if (draft.group.trim().length === 0) throw new Error("gate decision group is required");
@@ -310,10 +311,10 @@ function cloneGateDecisionArtifact(artifact) {
310
311
  integrity: { ...artifact.integrity }
311
312
  };
312
313
  }
313
- function pendingRecordPayload(record) {
314
+ function pendingRecordPayload(record, legacyNaming = false) {
314
315
  if (record.kind === "output") {
315
316
  return {
316
- contract: "clio.gateDecision.pending",
317
+ contract: legacyNaming ? "clio.gateDecision.pending" : "clio-coder.gateDecision.pending",
317
318
  version: record.version,
318
319
  kind: record.kind,
319
320
  id: record.id,
@@ -330,12 +331,12 @@ function pendingRecordPayload(record) {
330
331
  }
331
332
  const decisionWithoutIntegrity = artifactWithoutIntegrity(record.decision);
332
333
  return {
333
- contract: "clio.gateDecision.pending",
334
+ contract: legacyNaming ? "clio.gateDecision.pending" : "clio-coder.gateDecision.pending",
334
335
  version: record.version,
335
336
  kind: record.kind,
336
337
  id: record.id,
337
338
  decision: {
338
- ...decisionPayload(decisionWithoutIntegrity),
339
+ ...decisionPayload(decisionWithoutIntegrity, legacyNaming),
339
340
  integrity: { ...record.decision.integrity }
340
341
  },
341
342
  ...record.finalOutput !== void 0 ? { finalOutput: record.finalOutput } : {},
@@ -343,8 +344,8 @@ function pendingRecordPayload(record) {
343
344
  createdAt: record.createdAt
344
345
  };
345
346
  }
346
- function pendingRecordDigest(record) {
347
- return createHash("sha256").update(JSON.stringify(pendingRecordPayload(record)), "utf8").digest("hex");
347
+ function pendingRecordDigest(record, legacyNaming = false) {
348
+ return createHash("sha256").update(JSON.stringify(pendingRecordPayload(record, legacyNaming)), "utf8").digest("hex");
348
349
  }
349
350
  function pendingRecordWithoutIntegrity(record) {
350
351
  if (record.kind === "output") {
@@ -425,7 +426,8 @@ function pendingSemanticError(value) {
425
426
  function verifyPendingGateDecisionRecord(record) {
426
427
  const invalid = pendingSemanticError(record);
427
428
  if (invalid !== null) return { ok: false, reason: invalid };
428
- return pendingRecordDigest(pendingRecordWithoutIntegrity(record)) === record.integrity.digest ? { ok: true } : { ok: false, reason: "pending gate decision integrity mismatch" };
429
+ const withoutIntegrity = pendingRecordWithoutIntegrity(record);
430
+ return pendingRecordDigest(withoutIntegrity) === record.integrity.digest || pendingRecordDigest(withoutIntegrity, true) === record.integrity.digest ? { ok: true } : { ok: false, reason: "pending gate decision integrity mismatch" };
429
431
  }
430
432
  function clonePendingGateDecisionRecord(record) {
431
433
  const without = pendingRecordWithoutIntegrity(record);
@@ -683,4 +685,4 @@ export {
683
685
  readGateDecisionArtifacts,
684
686
  readGateDecisionArtifactsForRunIds
685
687
  };
686
- //# sourceMappingURL=chunk-X75E3D2N.js.map
688
+ //# sourceMappingURL=chunk-GPPB3JBE.js.map
@@ -2,16 +2,16 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  readLayeredSettings,
4
4
  readStrictLayeredSettings
5
- } from "./chunk-7MCTRUCE.js";
5
+ } from "./chunk-VKRH2TCS.js";
6
6
  import {
7
7
  formatBootTrace
8
- } from "./chunk-HKIYEGME.js";
8
+ } from "./chunk-ZTJUVLTU.js";
9
9
  import {
10
10
  initializeClioHome
11
- } from "./chunk-2OQE55CK.js";
11
+ } from "./chunk-7PWAODYW.js";
12
12
  import {
13
13
  readSettings
14
- } from "./chunk-VFA6GDY5.js";
14
+ } from "./chunk-EIMVLWB3.js";
15
15
  import {
16
16
  require_dist
17
17
  } from "./chunk-APJ265NV.js";
@@ -114,7 +114,7 @@ function findBuiltinRuntimeBootMetadata(id) {
114
114
 
115
115
  // src/cli/default-target.ts
116
116
  function classifyDefaultTarget(settings = readSettings()) {
117
- const targetId = settings.orchestrator.target;
117
+ const targetId = settings.chat.target;
118
118
  if (!targetId) return { kind: "no-target" };
119
119
  const target = settings.targets.find((entry) => entry.id === targetId);
120
120
  if (!target) return { kind: "no-target" };
@@ -159,16 +159,22 @@ Run \`clio-coder auth login ${verdict.store}\` if the endpoint requires one; loc
159
159
  } else if (verdict.kind !== "usable") {
160
160
  process.stdout.write(`${describeVerdict(verdict)} Starting \`clio-coder configure\`.
161
161
  `);
162
- const { runConfigureCommand } = await import("./configure-TEGEBYCA.js");
162
+ const { runConfigureCommand } = await import("./configure-FL7Y3KJF.js");
163
163
  const configured = await runConfigureCommand([]);
164
164
  if (configured !== 0) return configured;
165
165
  startupSettings = readStrictLayeredSettings(process.cwd()).settings;
166
+ const configuredVerdict = classifyDefaultTarget(startupSettings);
167
+ if (configuredVerdict.kind !== "usable" && configuredVerdict.kind !== "missing-credential") {
168
+ process.stderr.write(`${describeVerdict(configuredVerdict)} Configuration did not complete; startup cancelled.
169
+ `);
170
+ return 2;
171
+ }
166
172
  }
167
173
  }
168
174
  let terminalLease;
169
175
  try {
170
176
  if (terminalLeaseEligible(options)) {
171
- const { createProcessTerminalLease, instantShellEnabled } = await import("./terminal-lease-44SV3YCN.js");
177
+ const { createProcessTerminalLease, instantShellEnabled } = await import("./terminal-lease-JOPFUVEM.js");
172
178
  if (instantShellEnabled()) {
173
179
  let stage0FrameId = null;
174
180
  terminalLease = createProcessTerminalLease({
@@ -191,7 +197,7 @@ Run \`clio-coder auth login ${verdict.store}\` if the endpoint requires one; loc
191
197
  throw new Error("injected Stage 1 hydration failure");
192
198
  }
193
199
  }
194
- const { bootOrchestrator } = await import("./orchestrator-GCGQ4N5I.js");
200
+ const { bootOrchestrator } = await import("./orchestrator-77BAP6BC.js");
195
201
  const result = await bootOrchestrator({
196
202
  ...options,
197
203
  ...startupSettings ? { startupSettings } : {},
@@ -212,7 +218,6 @@ Run \`clio-coder auth login ${verdict.store}\` if the endpoint requires one; loc
212
218
  }
213
219
 
214
220
  export {
215
- terminalLeaseEligible,
216
221
  runClioCommand
217
222
  };
218
- //# sourceMappingURL=chunk-GR5G2PVF.js.map
223
+ //# sourceMappingURL=chunk-GVQJ5CCZ.js.map
@@ -0,0 +1,184 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ gitCommitAttributionEnabled,
4
+ reportCommitAttributionDiagnostic,
5
+ withManagedGitCommitAttributionEnvironment
6
+ } from "./chunk-JIEGK6UF.js";
7
+ import {
8
+ clampTimerDelayMs
9
+ } from "./chunk-EBY63B7G.js";
10
+ import {
11
+ AI_AGENT_NAME
12
+ } from "./chunk-6EJMN2Y3.js";
13
+ import {
14
+ init_esm_shims
15
+ } from "./chunk-3R73A4XB.js";
16
+
17
+ // src/core/safe-exec.ts
18
+ init_esm_shims();
19
+ import { spawn } from "node:child_process";
20
+ import path from "node:path";
21
+ import { performance } from "node:perf_hooks";
22
+ var SAFE_EXEC_DEFAULT_TIMEOUT_MS = 12e4;
23
+ var SAFE_EXEC_DEFAULT_MAX_OUTPUT_BYTES = 6e5;
24
+ var ENV_ALLOWLIST = [
25
+ "PATH",
26
+ "HOME",
27
+ "USER",
28
+ "LOGNAME",
29
+ "LANG",
30
+ "LC_ALL",
31
+ "TMPDIR",
32
+ "TEMP",
33
+ "TMP",
34
+ "CI",
35
+ "NO_COLOR"
36
+ ];
37
+ function buildSafeToolEnv(extra = {}) {
38
+ const env = {};
39
+ for (const key of ENV_ALLOWLIST) {
40
+ const value = process.env[key];
41
+ if (value !== void 0) env[key] = value;
42
+ }
43
+ for (const [key, value] of Object.entries(extra)) {
44
+ if (!/^[A-Z_][A-Z0-9_]*$/i.test(key)) continue;
45
+ env[key] = value;
46
+ }
47
+ env.AI_AGENT = AI_AGENT_NAME;
48
+ return env;
49
+ }
50
+ function resolveSafeCwd(cwd, workspaceRoot = process.cwd()) {
51
+ const root = path.resolve(workspaceRoot);
52
+ const resolved = cwd === void 0 ? root : path.isAbsolute(cwd) ? path.resolve(cwd) : path.resolve(root, cwd);
53
+ const rel = path.relative(root, resolved);
54
+ if (rel === "" || !rel.startsWith("..") && !path.isAbsolute(rel)) return resolved;
55
+ throw new Error(`cwd escapes workspace root: ${resolved}`);
56
+ }
57
+ function runCommandVector(file, args, options = {}) {
58
+ return new Promise((resolve) => {
59
+ const startedAt = performance.now();
60
+ const cwd = resolveSafeCwd(options.cwd, options.workspaceRoot);
61
+ const timeoutMs = clampTimerDelayMs(options.timeoutMs ?? SAFE_EXEC_DEFAULT_TIMEOUT_MS);
62
+ const maxOutputBytes = options.maxOutputBytes ?? SAFE_EXEC_DEFAULT_MAX_OUTPUT_BYTES;
63
+ const attribution = withManagedGitCommitAttributionEnvironment(buildSafeToolEnv(options.env), {
64
+ cwd,
65
+ enabled: gitCommitAttributionEnabled(process.env)
66
+ });
67
+ reportCommitAttributionDiagnostic(attribution.diagnostic);
68
+ let aborted = false;
69
+ let timedOut = false;
70
+ let outputCapped = false;
71
+ let outputBytes = 0;
72
+ let stdout = "";
73
+ let stderr = "";
74
+ let settled = false;
75
+ let killSent = false;
76
+ let timeoutId = null;
77
+ let killGraceTimer = null;
78
+ const child = spawn(file, [...args], {
79
+ cwd,
80
+ env: attribution.env,
81
+ detached: process.platform !== "win32",
82
+ stdio: ["ignore", "pipe", "pipe"]
83
+ });
84
+ const clearKillGraceTimer = () => {
85
+ if (killGraceTimer) clearTimeout(killGraceTimer);
86
+ killGraceTimer = null;
87
+ };
88
+ const sendSignal = (signalName) => {
89
+ const pid = child.pid;
90
+ if (pid && process.platform !== "win32") {
91
+ try {
92
+ process.kill(-pid, signalName);
93
+ return;
94
+ } catch {
95
+ }
96
+ }
97
+ child.kill(signalName);
98
+ };
99
+ const killChild = () => {
100
+ if (killSent) return;
101
+ killSent = true;
102
+ sendSignal("SIGTERM");
103
+ killGraceTimer = setTimeout(() => sendSignal("SIGKILL"), 3e3);
104
+ };
105
+ const onAbort = () => {
106
+ aborted = true;
107
+ killChild();
108
+ };
109
+ if (timeoutMs > 0) {
110
+ timeoutId = setTimeout(() => {
111
+ timedOut = true;
112
+ killChild();
113
+ }, timeoutMs);
114
+ }
115
+ if (options.signal?.aborted) onAbort();
116
+ else options.signal?.addEventListener("abort", onAbort, { once: true });
117
+ const appendChunk = (target, chunk) => {
118
+ outputBytes += chunk.byteLength;
119
+ if (outputBytes > maxOutputBytes) {
120
+ outputCapped = true;
121
+ killChild();
122
+ return;
123
+ }
124
+ if (target === "stdout") stdout += chunk.toString("utf8");
125
+ else stderr += chunk.toString("utf8");
126
+ };
127
+ child.stdout?.on("data", (chunk) => appendChunk("stdout", chunk));
128
+ child.stderr?.on("data", (chunk) => appendChunk("stderr", chunk));
129
+ child.on("error", (error) => {
130
+ if (settled) return;
131
+ settled = true;
132
+ if (timeoutId) clearTimeout(timeoutId);
133
+ clearKillGraceTimer();
134
+ options.signal?.removeEventListener("abort", onAbort);
135
+ resolve({
136
+ file,
137
+ args: [...args],
138
+ cwd,
139
+ stdout,
140
+ stderr: stderr.length > 0 ? stderr : error.message,
141
+ exitCode: null,
142
+ signal: null,
143
+ aborted,
144
+ timedOut,
145
+ outputCapped,
146
+ durationMs: Math.round(performance.now() - startedAt)
147
+ });
148
+ });
149
+ child.on("close", (code, signalName) => {
150
+ if (settled) return;
151
+ settled = true;
152
+ if (timeoutId) clearTimeout(timeoutId);
153
+ clearKillGraceTimer();
154
+ options.signal?.removeEventListener("abort", onAbort);
155
+ resolve({
156
+ file,
157
+ args: [...args],
158
+ cwd,
159
+ stdout,
160
+ stderr,
161
+ exitCode: code,
162
+ signal: signalName,
163
+ aborted,
164
+ timedOut,
165
+ outputCapped,
166
+ durationMs: Math.round(performance.now() - startedAt)
167
+ });
168
+ });
169
+ });
170
+ }
171
+ function combineSafeOutput(result) {
172
+ const { stdout, stderr } = result;
173
+ return stderr.length > 0 ? `${stdout}${stdout.endsWith("\n") || stdout.length === 0 ? "" : "\n"}${stderr}` : stdout;
174
+ }
175
+
176
+ export {
177
+ SAFE_EXEC_DEFAULT_TIMEOUT_MS,
178
+ SAFE_EXEC_DEFAULT_MAX_OUTPUT_BYTES,
179
+ buildSafeToolEnv,
180
+ resolveSafeCwd,
181
+ runCommandVector,
182
+ combineSafeOutput
183
+ };
184
+ //# sourceMappingURL=chunk-HJWWJ6IL.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  removeTool
4
- } from "./chunk-BKFM6EJV.js";
4
+ } from "./chunk-D4CJV46V.js";
5
5
  import {
6
6
  resolveToolBinary,
7
7
  toolStatus,
@@ -44,7 +44,7 @@ function createToolchainBundle(_context) {
44
44
  return toolStatuses();
45
45
  },
46
46
  async install(id, options = {}) {
47
- const { installTool: installTool2 } = await import("./install-XGLBQY5E.js");
47
+ const { installTool: installTool2 } = await import("./install-NKNG7KD4.js");
48
48
  return installTool2(id, options);
49
49
  },
50
50
  remove(id, options = {}) {
@@ -72,4 +72,4 @@ var ToolchainDomainModule = {
72
72
  export {
73
73
  ToolchainDomainModule
74
74
  };
75
- //# sourceMappingURL=chunk-VO67MWHC.js.map
75
+ //# sourceMappingURL=chunk-HRQMFLJP.js.map