@iowarp/clio-coder 0.4.2 → 0.4.4

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 (523) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/CONTRIBUTING.md +86 -19
  3. package/README.md +35 -6
  4. package/dist/{acp-TMDQZDIG.js → acp-WNAYYF4F.js} +12 -13
  5. package/dist/{agents-5N5NG3XG.js → agents-3OKXHLOI.js} +60 -57
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-Z5CCBXKQ.js → auth-VKNNMGPU.js} +21 -19
  8. package/dist/{builtins-K6TNDT24.js → builtins-WGALA46I.js} +9 -4
  9. package/dist/{chunk-XE3PCIXH.js → chunk-23L32XTI.js} +12 -9
  10. package/dist/{chunk-I64IFBLB.js → chunk-25QBEXRS.js} +18 -11
  11. package/dist/{chunk-CDNVLKUX.js → chunk-26QSH3EJ.js} +13 -7
  12. package/dist/{chunk-QQLGQY2A.js → chunk-2ASED4PZ.js} +22 -22
  13. package/dist/{chunk-MCEPRMZW.js → chunk-2CU2H6KE.js} +2 -2
  14. package/dist/chunk-2DSOYNFC.js +108 -0
  15. package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
  16. package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
  17. package/dist/{chunk-O3YUNJZ2.js → chunk-2ZSONWVL.js} +82 -25
  18. package/dist/{chunk-2NHR3NAY.js → chunk-36CT5VVL.js} +331 -42
  19. package/dist/{chunk-2X4RYJTJ.js → chunk-3GY4F45V.js} +3 -3
  20. package/dist/{chunk-ZW55JB7N.js → chunk-3ODX73FK.js} +4 -6
  21. package/dist/{chunk-PBP4B7XR.js → chunk-3UNOLWNZ.js} +3 -3
  22. package/dist/{chunk-4JDLP6ZS.js → chunk-3UUXNFEX.js} +14 -10
  23. package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
  24. package/dist/{chunk-ZW4HH5JJ.js → chunk-4M6Z5QVF.js} +6 -6
  25. package/dist/{chunk-K6BSR66V.js → chunk-4NSRCOYP.js} +4 -1
  26. package/dist/{chunk-M2DAX4F6.js → chunk-4WR7VSYB.js} +2 -2
  27. package/dist/{chunk-FSP7CMNU.js → chunk-54X7T7DK.js} +61 -6
  28. package/dist/{chunk-54ODD65L.js → chunk-5636DCO5.js} +4 -4
  29. package/dist/chunk-57XXR6DR.js +3763 -0
  30. package/dist/{chunk-3KIPBMUA.js → chunk-5ICU3EUH.js} +2 -2
  31. package/dist/{chunk-77QIVUZB.js → chunk-5MEZN6CB.js} +4 -4
  32. package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
  33. package/dist/{chunk-YJISEZKC.js → chunk-5TUB6SLS.js} +6 -6
  34. package/dist/{chunk-IMXMHHMQ.js → chunk-6OSVSQL5.js} +341 -57
  35. package/dist/{chunk-Q4XWMHX6.js → chunk-6PAZTBPA.js} +14 -2
  36. package/dist/{chunk-FVDGR2ZL.js → chunk-6Q3CYFD3.js} +112 -39
  37. package/dist/{chunk-IDNA72AH.js → chunk-6QOTUPRG.js} +155 -36
  38. package/dist/{chunk-X7IARSHT.js → chunk-6UINWWS6.js} +16 -10
  39. package/dist/{chunk-CYZW7JHJ.js → chunk-72YIHOZQ.js} +9 -9
  40. package/dist/{chunk-IKSLQ4XV.js → chunk-75W7L2E2.js} +752 -861
  41. package/dist/{chunk-CRFOIAX3.js → chunk-7UGL4MB5.js} +6 -6
  42. package/dist/{chunk-HIICAHCJ.js → chunk-AUPNRN7C.js} +2 -2
  43. package/dist/{chunk-7BHIY2MW.js → chunk-BJVFZO5U.js} +8 -50
  44. package/dist/{chunk-B74PXLU7.js → chunk-CUSRQKPU.js} +65 -3
  45. package/dist/chunk-DQOVN6KV.js +386 -0
  46. package/dist/{chunk-E7GT7O5N.js → chunk-DT3LWJOB.js} +7 -4
  47. package/dist/chunk-DXKJURES.js +671 -0
  48. package/dist/{chunk-JBCS7CRR.js → chunk-EL24TAU4.js} +10 -10
  49. package/dist/{chunk-TPEQIQIE.js → chunk-ELWDPP3Y.js} +8 -8
  50. package/dist/{chunk-NDINPTJ4.js → chunk-ELZVTCGV.js} +5 -4
  51. package/dist/chunk-EXLD33WO.js +381 -0
  52. package/dist/chunk-FEAXX7B6.js +101 -0
  53. package/dist/{chunk-RLYRBIYQ.js → chunk-FFUPXJC4.js} +90 -331
  54. package/dist/{chunk-5PFYMY2V.js → chunk-FTMGRKEF.js} +2 -2
  55. package/dist/{chunk-34BHNEE3.js → chunk-GHS5EBTQ.js} +58 -7
  56. package/dist/{chunk-DYHAXKHD.js → chunk-GWZNEVM2.js} +12 -8
  57. package/dist/chunk-GX5WYQO4.js +59 -0
  58. package/dist/chunk-GYV6VZOC.js +26 -0
  59. package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
  60. package/dist/chunk-I2DWJ4GM.js +390 -0
  61. package/dist/{chunk-TXOTCRLG.js → chunk-I5FWO7L5.js} +5 -5
  62. package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
  63. package/dist/{chunk-XQRY4DTA.js → chunk-IGLP3ODT.js} +10 -10
  64. package/dist/chunk-IRXAATOX.js +539 -0
  65. package/dist/chunk-IXIY2H4R.js +44 -0
  66. package/dist/{chunk-SSEYRH53.js → chunk-IZXGRF7P.js} +92 -147
  67. package/dist/{chunk-5TSRNF4G.js → chunk-JCI2ROMZ.js} +164 -6
  68. package/dist/{chunk-JWJGP5DQ.js → chunk-JEIYHLOR.js} +7 -7
  69. package/dist/{chunk-F2I26BDK.js → chunk-JQLNNIKT.js} +4 -4
  70. package/dist/{chunk-BYMNWQ7O.js → chunk-JSD46VO2.js} +315 -63
  71. package/dist/{chunk-AK5XEFVZ.js → chunk-JT2RFCC5.js} +64 -14
  72. package/dist/{chunk-MCMZMDAC.js → chunk-K6T2ZAMZ.js} +168 -6
  73. package/dist/{chunk-PGF63K6I.js → chunk-KFV5L5SK.js} +73 -4
  74. package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
  75. package/dist/{chunk-PJX3WQUQ.js → chunk-LLXSDWXS.js} +3 -3
  76. package/dist/{chunk-DZAW46HP.js → chunk-LTIKRKFL.js} +3 -3
  77. package/dist/{chunk-DZEK6CJN.js → chunk-N56KALIC.js} +21 -21
  78. package/dist/{chunk-B7HM5Z7T.js → chunk-NAI6ZFCY.js} +9 -5
  79. package/dist/{chunk-I66ZTYNP.js → chunk-NRO2BJRH.js} +2656 -2213
  80. package/dist/{chunk-ZGNYYXQ6.js → chunk-NXIMQY5W.js} +3 -3
  81. package/dist/{chunk-IKOZFYBN.js → chunk-NXYCB2VD.js} +149 -106
  82. package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
  83. package/dist/{chunk-462T4EGZ.js → chunk-O5CVSAG5.js} +2 -2
  84. package/dist/chunk-ODGTEFFI.js +50 -0
  85. package/dist/{chunk-3F7VUY77.js → chunk-OEJSLEPW.js} +2 -2
  86. package/dist/{chunk-KKOJXO6R.js → chunk-OMQNJVKW.js} +4 -2
  87. package/dist/{chunk-5KW52TEP.js → chunk-Q4WO54TA.js} +132 -77
  88. package/dist/{chunk-W6NIE6OW.js → chunk-QUFRYSWI.js} +13 -7
  89. package/dist/{chunk-42FMPA75.js → chunk-QZWQA4DE.js} +2 -2
  90. package/dist/chunk-R6Q67RJH.js +134 -0
  91. package/dist/{chunk-W4YEMFBX.js → chunk-RAY4OVGZ.js} +3 -3
  92. package/dist/{chunk-ZNT2M6TG.js → chunk-RQCKCSRL.js} +17 -17
  93. package/dist/{chunk-LJID3DYZ.js → chunk-RXTN6AKH.js} +3 -3
  94. package/dist/{chunk-P75RZCJW.js → chunk-RZDWV63N.js} +3 -3
  95. package/dist/{chunk-UH632ZYL.js → chunk-S6PYF2XF.js} +2 -2
  96. package/dist/{chunk-HJWWJ6IL.js → chunk-TOIVGRUX.js} +17 -5
  97. package/dist/{chunk-HLAFFSEK.js → chunk-TQAHXW6Y.js} +2 -2
  98. package/dist/{chunk-JIEGK6UF.js → chunk-U6TMQNSI.js} +48 -4
  99. package/dist/{chunk-2HFQNRV3.js → chunk-UEPWCCTY.js} +12 -12
  100. package/dist/chunk-UOIZ7DA4.js +41 -0
  101. package/dist/{chunk-UH347SHR.js → chunk-USR47QNF.js} +11 -11
  102. package/dist/{chunk-AZ4WMN4W.js → chunk-V6HJFQZE.js} +2 -2
  103. package/dist/chunk-V76WTFTW.js +318 -0
  104. package/dist/{chunk-NMJXSHBJ.js → chunk-W54I7H25.js} +2 -2
  105. package/dist/{chunk-KPXDY6QF.js → chunk-XRZT5WY5.js} +2 -2
  106. package/dist/{chunk-UBRFI4HS.js → chunk-XULDXHTN.js} +142 -50
  107. package/dist/chunk-XXYSBZIQ.js +283 -0
  108. package/dist/{chunk-HKMD33FO.js → chunk-Y55JBDO5.js} +405 -122
  109. package/dist/{chunk-XOXV5GKE.js → chunk-YD5GIKET.js} +17 -8
  110. package/dist/{chunk-XGDPUNND.js → chunk-YECAMM3D.js} +2 -2
  111. package/dist/{chunk-BO7Y52RY.js → chunk-YNFKXPEC.js} +7 -7
  112. package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
  113. package/dist/{chunk-M2WXEHER.js → chunk-ZA4VCIGV.js} +2 -2
  114. package/dist/cli/index.js +42 -40
  115. package/dist/{clio-7VB377CC.js → clio-QLICPCF5.js} +7 -7
  116. package/dist/{code-nav-YVLCYA7V.js → code-nav-IJR2DBPR.js} +9 -9
  117. package/dist/{components-UBWCQSRW.js → components-2TGAI2RC.js} +5 -6
  118. package/dist/{config-4HVOS65E.js → config-IUA6OYNS.js} +88 -81
  119. package/dist/{configure-PIWO7B24.js → configure-VEPX4NMX.js} +26 -25
  120. package/dist/{context-KQYIWPWT.js → context-2DKHWH2T.js} +60 -45
  121. package/dist/{context-IYEHL3WQ.js → context-4MPR7WKB.js} +78 -69
  122. package/dist/{context-N6ZE3LGJ.js → context-BOYF5EJM.js} +15 -11
  123. package/dist/{context-clear-G4OGZJDS.js → context-clear-S4ZJCQUX.js} +73 -65
  124. package/dist/context-map-COB37XXN.js +505 -0
  125. package/dist/{context-working-set-BWLF6LJP.js → context-working-set-3I3FYX6Y.js} +18 -17
  126. package/dist/detail-A7JAVSIG.js +98 -0
  127. package/dist/{dispatch-runner-2QQAITS3.js → dispatch-runner-RJ5I2F2O.js} +99 -75
  128. package/dist/{docs-PD3EXDKU.js → docs-SPOV3BAN.js} +3 -5
  129. package/dist/{doctor-LHBD36VU.js → doctor-DKICC2SN.js} +71 -48
  130. package/dist/{eval-C45FYRJ6.js → eval-OQOQUDHK.js} +308 -146
  131. package/dist/{eval-inventory-6DEJPLBF.js → eval-inventory-Y6QRFOH5.js} +4 -4
  132. package/dist/{evidence-6SHONYAF.js → evidence-4DQ25GUQ.js} +79 -175
  133. package/dist/evidence-4F5USFKH.js +208 -0
  134. package/dist/{evolve-KRKMV72X.js → evolve-GSS52E5J.js} +71 -67
  135. package/dist/{extensions-KPZ2UHBB.js → extensions-G7MFLYHT.js} +8 -9
  136. package/dist/{fleet-IVTCKDHT.js → fleet-Q37YHHAQ.js} +126 -118
  137. package/dist/{fleet-commands-EDWL3IT7.js → fleet-commands-G7E4N7SM.js} +16 -13
  138. package/dist/{fleet-decisions-YP3YEFGK.js → fleet-decisions-O7M6QBA2.js} +9 -8
  139. package/dist/{fleet-graph-ZFWKHY2M.js → fleet-graph-TOUBW6OW.js} +21 -20
  140. package/dist/{fleet-inspect-FVUNCBML.js → fleet-inspect-SW33JJNI.js} +65 -60
  141. package/dist/{fleet-preflight-UN5XED4R.js → fleet-preflight-CV2655TW.js} +4 -5
  142. package/dist/{fleet-validate-XOWC4HSX.js → fleet-validate-KESZX2YH.js} +25 -24
  143. package/dist/{fleet-verify-UN3SODEL.js → fleet-verify-UQPMTVE3.js} +66 -61
  144. package/dist/{fleet-view-TWHJKCN6.js → fleet-view-MN2VG4MR.js} +65 -60
  145. package/dist/{init-T2QORQ3Y.js → init-PXEXQSBF.js} +90 -82
  146. package/dist/{interop-IN5I2A66.js → interop-ZG5T62U3.js} +12 -13
  147. package/dist/inventory-C26CFDRR.js +101 -0
  148. package/dist/{library-LSCATDLZ.js → library-B2W4N74O.js} +29 -29
  149. package/dist/{memory-HYOKAGGJ.js → memory-YCANYS5A.js} +73 -69
  150. package/dist/{models-2GPMFYCM.js → models-GERTU3YI.js} +51 -47
  151. package/dist/{monitor-E4ASVUJH.js → monitor-CPNIUULB.js} +74 -67
  152. package/dist/{orchestrator-DDMPR3PY.js → orchestrator-J4BSH4WQ.js} +1288 -1606
  153. package/dist/{panes-E3RUXOW5.js → panes-BOHAEGYC.js} +4 -4
  154. package/dist/{panes-IXKLOKA2.js → panes-NXSLDQZ2.js} +10 -11
  155. package/dist/{paths-L7LGY6RN.js → paths-VSUWNC22.js} +6 -7
  156. package/dist/reset-TNWTB5LU.js +343 -0
  157. package/dist/{resources-OTRSN34L.js → resources-4PXNMD5G.js} +29 -22
  158. package/dist/{run-5DEYH5QK.js → run-D6XJ34CN.js} +132 -132
  159. package/dist/{share-IHWTLO3M.js → share-2NWMJJEE.js} +27 -27
  160. package/dist/{skills-IYMXMKW4.js → skills-KR7WON5G.js} +40 -33
  161. package/dist/{skills-eval-DROHSJAR.js → skills-eval-O2ZNOLDS.js} +81 -77
  162. package/dist/{skills-inventory-D7X4L4ZX.js → skills-inventory-ZZOUBK7O.js} +23 -22
  163. package/dist/{slash-commands-QBM7UZ3B.js → slash-commands-ZXPJD64J.js} +47 -37
  164. package/dist/{steer-Z5DO23FJ.js → steer-XA25PSCS.js} +4 -4
  165. package/dist/{support-U7QOWY26.js → support-7EMVWYG2.js} +6 -6
  166. package/dist/{targets-P2FUC4IL.js → targets-OMH2XCSN.js} +50 -49
  167. package/dist/tasks-IPAGMEIX.js +36 -0
  168. package/dist/{terminal-lease-YREJ3JX2.js → terminal-lease-C2J3JYRE.js} +4 -4
  169. package/dist/{tools-5B7RO6MV.js → tools-EFFEAIDP.js} +8 -9
  170. package/dist/{trace-YMGMUM6A.js → trace-FXMXUZUF.js} +7 -7
  171. package/dist/uninstall-HALS6BLF.js +407 -0
  172. package/dist/upgrade-MS72RJEP.js +306 -0
  173. package/dist/{usage-ME5MPXGX.js → usage-NHG6MCJM.js} +162 -108
  174. package/dist/{verifiers-BVZ7IWOO.js → verifiers-7AUNVXDY.js} +155 -22
  175. package/dist/{verify-5K7ZKQFC.js → verify-FWYGPKMR.js} +14 -12
  176. package/dist/{web-fetch-MPARV2K7.js → web-fetch-V4FKSDAV.js} +4 -4
  177. package/dist/{wiki-generate-F5W5QTYY.js → wiki-generate-743CIGJW.js} +99 -90
  178. package/dist/{with-panes-BYOJCLAM.js → with-panes-BDQEWBRT.js} +10 -10
  179. package/dist/worker/entry.js +72 -68
  180. package/docs/README.md +3 -2
  181. package/docs/architecture/acp.md +17 -0
  182. package/docs/architecture/artifact-placement.md +1 -0
  183. package/docs/architecture/artifact-versions.md +2 -2
  184. package/docs/architecture/context-engine.md +4 -0
  185. package/docs/architecture/dispatch-typed-intent.md +1 -1
  186. package/docs/architecture/evidence-and-memory.md +1 -1
  187. package/docs/architecture/middleware-and-components.md +1 -1
  188. package/docs/architecture/model-catalog.md +21 -10
  189. package/docs/architecture/observability.md +19 -2
  190. package/docs/architecture/prompt-envelope-and-tools.md +17 -5
  191. package/docs/architecture/provider-adapter-cookbook.md +63 -0
  192. package/docs/architecture/safety-model.md +25 -22
  193. package/docs/architecture/tui-design.md +1 -1
  194. package/docs/guide/built-in-agents.md +25 -11
  195. package/docs/guide/commands-and-modes.md +18 -3
  196. package/docs/guide/configuration-and-targets.md +100 -10
  197. package/docs/guide/configuration-reference.md +17 -7
  198. package/docs/guide/environment-variables.md +4 -2
  199. package/docs/guide/installation-and-lifecycle.md +37 -4
  200. package/docs/guide/proactive-memory.md +66 -55
  201. package/docs/guide/skills-marketplace.md +18 -0
  202. package/docs/guide/tool-usage.md +78 -3
  203. package/docs/history/config-knobs-audit.md +2 -2
  204. package/docs/process/development-pipeline.md +40 -2
  205. package/docs/process/eval-runner.md +67 -3
  206. package/docs/process/git-commit-provenance.md +15 -0
  207. package/docs/process/release-cut-checklist.md +207 -0
  208. package/docs/process/scientific-validation.md +18 -17
  209. package/evals/behavioral-machinery-support.ts +1 -0
  210. package/evals/behavioral-machinery.yaml +1 -1
  211. package/evals/behavioral-model.yaml +3 -2
  212. package/package.json +2 -2
  213. package/skills/README.md +7 -5
  214. package/skills/coding/ast-grep/SKILL.md +101 -30
  215. package/skills/coding/ast-grep/evals.md +26 -0
  216. package/skills/coding/coding-standards/SKILL.md +47 -2
  217. package/skills/coding/coding-standards/evals.md +23 -0
  218. package/skills/coding/prototype/SKILL.md +87 -28
  219. package/skills/coding/prototype/evals.md +19 -0
  220. package/skills/coding/tdd/SKILL.md +80 -53
  221. package/skills/coding/tdd/evals.md +20 -0
  222. package/skills/context/context-handoff/SKILL.md +43 -2
  223. package/skills/context/context-handoff/evals.md +44 -0
  224. package/skills/context/context-prime/SKILL.md +45 -15
  225. package/skills/context/context-prime/evals.md +45 -0
  226. package/skills/git/branch-closeout/SKILL.md +132 -0
  227. package/skills/git/branch-closeout/evals.md +133 -0
  228. package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
  229. package/skills/git/file-ticket/SKILL.md +77 -63
  230. package/skills/git/file-ticket/assets/issue-template.md +22 -0
  231. package/skills/git/file-ticket/evals.md +31 -26
  232. package/skills/git/file-ticket/references/issue-discovery.md +49 -0
  233. package/skills/git/fix-issue/SKILL.md +87 -64
  234. package/skills/git/fix-issue/evals.md +35 -31
  235. package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
  236. package/skills/git/resolve-merge-conflicts/SKILL.md +100 -51
  237. package/skills/git/resolve-merge-conflicts/evals.md +52 -25
  238. package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
  239. package/skills/git/ship/SKILL.md +103 -67
  240. package/skills/git/ship/assets/pr-template.md +21 -0
  241. package/skills/git/ship/evals.md +44 -28
  242. package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
  243. package/skills/git/worktree-create/SKILL.md +80 -50
  244. package/skills/git/worktree-create/evals.md +40 -33
  245. package/skills/git/worktree-create/references/worktree-setup.md +62 -66
  246. package/skills/git/worktree-merge/SKILL.md +112 -65
  247. package/skills/git/worktree-merge/evals.md +42 -34
  248. package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
  249. package/skills/planning/archify/SKILL.md +196 -0
  250. package/skills/planning/archify/evals.md +65 -0
  251. package/skills/planning/architecture/SKILL.md +61 -12
  252. package/skills/planning/architecture/evals.md +65 -0
  253. package/skills/planning/backlog/SKILL.md +130 -14
  254. package/skills/planning/backlog/evals.md +142 -0
  255. package/skills/planning/prd/SKILL.md +47 -6
  256. package/skills/planning/prd/evals.md +54 -0
  257. package/skills/planning/product-intent/SKILL.md +57 -2
  258. package/skills/planning/product-intent/evals.md +70 -0
  259. package/skills/planning/tech-spec/SKILL.md +53 -2
  260. package/skills/planning/tech-spec/evals.md +73 -0
  261. package/skills/registry.yaml +58 -50
  262. package/skills/remote.yaml +13 -0
  263. package/skills/research/arxiv-literature/SKILL.md +76 -18
  264. package/skills/research/arxiv-literature/evals.md +50 -0
  265. package/skills/research/experiment-protocol/SKILL.md +20 -1
  266. package/skills/research/experiment-protocol/evals.md +23 -0
  267. package/skills/research/scientific-debugging/SKILL.md +24 -1
  268. package/skills/research/scientific-debugging/evals.md +18 -0
  269. package/skills/research/scientific-modernization/SKILL.md +26 -1
  270. package/skills/research/scientific-modernization/evals.md +27 -0
  271. package/skills/skill-marketplace.json +63 -28
  272. package/skills/workflow/cut-it/SKILL.md +64 -5
  273. package/skills/workflow/cut-it/evals.md +101 -0
  274. package/skills/workflow/design-council/SKILL.md +112 -27
  275. package/skills/workflow/design-council/evals.md +161 -0
  276. package/skills/workflow/grill-me/SKILL.md +85 -10
  277. package/skills/workflow/grill-me/evals.md +153 -0
  278. package/skills/workflow/workflow-distiller/SKILL.md +76 -17
  279. package/skills/workflow/workflow-distiller/evals.md +118 -0
  280. package/src/cli/args.ts +0 -8
  281. package/src/cli/configure-interop.ts +105 -13
  282. package/src/cli/configure-oauth.ts +57 -0
  283. package/src/cli/configure-onboarding.ts +980 -0
  284. package/src/cli/configure-target.ts +594 -0
  285. package/src/cli/configure.ts +1084 -529
  286. package/src/cli/context-map.ts +114 -0
  287. package/src/cli/context.ts +4 -0
  288. package/src/cli/doctor-state-size.ts +1 -12
  289. package/src/cli/doctor-validation-contract.ts +28 -0
  290. package/src/cli/doctor.ts +5 -0
  291. package/src/cli/evidence-detail.ts +1 -75
  292. package/src/cli/evidence-inventory.ts +1 -167
  293. package/src/cli/index.ts +3 -0
  294. package/src/cli/lifecycle-presenter.ts +436 -0
  295. package/src/cli/models.ts +10 -2
  296. package/src/cli/modes/print.ts +5 -1
  297. package/src/cli/reset.ts +228 -106
  298. package/src/cli/run.ts +7 -4
  299. package/src/cli/select.ts +664 -0
  300. package/src/cli/skills.ts +9 -2
  301. package/src/cli/targets.ts +3 -0
  302. package/src/cli/tasks.ts +84 -0
  303. package/src/cli/uninstall.ts +233 -165
  304. package/src/cli/upgrade.ts +210 -150
  305. package/src/cli/usage.ts +92 -27
  306. package/src/cli/validate-model.ts +3 -3
  307. package/src/cli/verifiers.ts +147 -1
  308. package/src/cli/wiki-generate.ts +1 -0
  309. package/src/core/commit-attribution.ts +41 -1
  310. package/src/core/config.ts +56 -0
  311. package/src/core/external-diagnostic.ts +44 -0
  312. package/src/core/gateway-routing.ts +157 -0
  313. package/src/core/git-commit-attribution.ts +46 -3
  314. package/src/core/run-overrides.ts +0 -5
  315. package/src/core/safe-exec.ts +17 -2
  316. package/src/core/skill-activation.ts +92 -2
  317. package/src/core/tool-names.ts +5 -2
  318. package/src/domains/agents/builtins/architect.md +1 -1
  319. package/src/domains/agents/builtins/coder.md +1 -1
  320. package/src/domains/agents/builtins/documenter.md +1 -1
  321. package/src/domains/agents/builtins/git-master.md +1 -1
  322. package/src/domains/agents/builtins/provenance.md +7 -7
  323. package/src/domains/agents/builtins/tester.md +1 -1
  324. package/src/domains/agents/builtins/verifier.md +2 -2
  325. package/src/domains/agents/builtins/wiki-writer.md +4 -3
  326. package/src/domains/agents/builtins/world-knowledge.md +31 -0
  327. package/src/domains/agents/catalog.ts +1 -1
  328. package/src/domains/agents/result-contract.ts +70 -0
  329. package/src/domains/context/extension.ts +31 -7
  330. package/src/domains/context/refresh.ts +3 -0
  331. package/src/domains/context/wiki/frontmatter.ts +5 -2
  332. package/src/domains/context/wiki/generate.ts +6 -0
  333. package/src/domains/context/wiki/map-seed.ts +589 -0
  334. package/src/domains/context/wiki/plan.ts +2 -2
  335. package/src/domains/context/wiki/prompts.ts +43 -0
  336. package/src/domains/dispatch/active-route-planner.ts +4 -0
  337. package/src/domains/dispatch/admission.ts +29 -0
  338. package/src/domains/dispatch/agent-candidates.ts +10 -0
  339. package/src/domains/dispatch/budget-envelope.ts +86 -1
  340. package/src/domains/dispatch/capability-match.ts +1 -0
  341. package/src/domains/dispatch/capacity-lease.ts +17 -0
  342. package/src/domains/dispatch/code-step.ts +11 -4
  343. package/src/domains/dispatch/contract.ts +42 -8
  344. package/src/domains/dispatch/execution-scheduler.ts +2 -0
  345. package/src/domains/dispatch/extension.ts +184 -56
  346. package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
  347. package/src/domains/dispatch/fleet-run.ts +1 -0
  348. package/src/domains/dispatch/host-verification.ts +114 -13
  349. package/src/domains/dispatch/intent.ts +28 -18
  350. package/src/domains/dispatch/orphan-recovery.ts +2 -0
  351. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  352. package/src/domains/dispatch/reservation-store.ts +5 -3
  353. package/src/domains/dispatch/state.ts +15 -2
  354. package/src/domains/dispatch/types.ts +20 -2
  355. package/src/domains/dispatch/worker-model-metadata.ts +38 -0
  356. package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
  357. package/src/domains/eval/metrics/token-stream.ts +201 -31
  358. package/src/domains/eval/metrics/tracked.ts +40 -4
  359. package/src/domains/eval/runners/clio-run.ts +17 -11
  360. package/src/domains/eval/runners/context-index.ts +2 -7
  361. package/src/domains/eval/runners/context-init.ts +3 -6
  362. package/src/domains/eval/runners/external-command.ts +29 -11
  363. package/src/domains/eval/schema/suite.ts +28 -0
  364. package/src/domains/eval/schema/verdict.ts +2 -2
  365. package/src/domains/eval/suites/resolve.ts +13 -1
  366. package/src/domains/eval/suites/run.ts +24 -3
  367. package/src/domains/evidence/build.ts +102 -15
  368. package/src/domains/evidence/detail.ts +69 -0
  369. package/src/domains/evidence/eval.ts +13 -1
  370. package/src/domains/evidence/finish-contract-map.ts +5 -1
  371. package/src/domains/evidence/inventory.ts +167 -0
  372. package/src/domains/evidence/store.ts +16 -0
  373. package/src/domains/evidence/types.ts +12 -0
  374. package/src/domains/extensions/resources.ts +7 -0
  375. package/src/domains/interop/registry.ts +6 -2
  376. package/src/domains/interop/types.ts +4 -0
  377. package/src/domains/lifecycle/migrations/index.ts +4 -0
  378. package/src/domains/memory/task-memory-policy.ts +70 -26
  379. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  380. package/src/domains/middleware/index.ts +0 -1
  381. package/src/domains/middleware/marketplace-offer.ts +22 -35
  382. package/src/domains/middleware/memory-intervention.ts +127 -32
  383. package/src/domains/middleware/memory-step-endpoint.ts +3 -2
  384. package/src/domains/middleware/runtime.ts +7 -3
  385. package/src/domains/middleware/skills-reminder.ts +31 -2
  386. package/src/domains/mux/detect.ts +3 -6
  387. package/src/domains/observability/accountability.ts +15 -1
  388. package/src/domains/observability/compaction-usage.ts +118 -0
  389. package/src/domains/observability/contract.ts +52 -7
  390. package/src/domains/observability/cost.ts +1 -1
  391. package/src/domains/observability/evidence-index.ts +10 -0
  392. package/src/domains/observability/extension.ts +15 -6
  393. package/src/domains/observability/out-of-turn-usage.ts +52 -21
  394. package/src/domains/observability/projection.ts +394 -45
  395. package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
  396. package/src/domains/prompts/fragments/operating/contract.md +2 -0
  397. package/src/domains/prompts/fragments/wiki/page.md +8 -0
  398. package/src/domains/providers/contract.ts +4 -1
  399. package/src/domains/providers/extension.ts +40 -9
  400. package/src/domains/providers/model-capabilities.ts +9 -0
  401. package/src/domains/providers/model-discovery.ts +3 -4
  402. package/src/domains/providers/model-runtime-capabilities.ts +15 -5
  403. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +48 -26
  404. package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
  405. package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
  406. package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
  407. package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
  408. package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
  409. package/src/domains/providers/support.ts +11 -5
  410. package/src/domains/providers/target-model-cache.ts +25 -2
  411. package/src/domains/providers/types/capability-flags.ts +2 -0
  412. package/src/domains/providers/types/runtime-descriptor.ts +20 -1
  413. package/src/domains/providers/types/target-descriptor.ts +19 -0
  414. package/src/domains/resources/index.ts +3 -0
  415. package/src/domains/resources/skills/install.ts +72 -7
  416. package/src/domains/resources/skills/loader.ts +7 -0
  417. package/src/domains/resources/skills/marketplace.ts +63 -11
  418. package/src/domains/safety/action-classifier.ts +7 -0
  419. package/src/domains/safety/autonomy.ts +15 -0
  420. package/src/domains/safety/default-path-policy.ts +2 -0
  421. package/src/domains/safety/finish-contract-registration.ts +29 -14
  422. package/src/domains/safety/finish-contract.ts +252 -40
  423. package/src/domains/safety/index.ts +21 -1
  424. package/src/domains/safety/path-policy.ts +1 -1
  425. package/src/domains/safety/policy-engine.ts +60 -17
  426. package/src/domains/safety/protected-artifacts.ts +191 -88
  427. package/src/domains/safety/rigor.ts +53 -39
  428. package/src/domains/safety/run-effects.ts +2 -22
  429. package/src/domains/safety/skill-authority.ts +55 -0
  430. package/src/domains/safety/validation-contract.ts +388 -0
  431. package/src/domains/session/archive-readers.ts +10 -1
  432. package/src/domains/session/compaction/compact.ts +72 -22
  433. package/src/domains/session/decision-board.ts +101 -2
  434. package/src/domains/session/entries.ts +50 -7
  435. package/src/domains/session/extension.ts +4 -4
  436. package/src/domains/session/handoff.ts +2 -1
  437. package/src/domains/session/manager.ts +2 -3
  438. package/src/domains/session/task-board.ts +14 -1
  439. package/src/domains/session/tree/fork.ts +1 -2
  440. package/src/domains/session/tree/navigator.ts +1 -1
  441. package/src/domains/session/usage.ts +3 -3
  442. package/src/domains/user-tasks/acceptance.ts +56 -0
  443. package/src/domains/user-tasks/active-acceptance.ts +40 -0
  444. package/src/domains/user-tasks/store.ts +34 -3
  445. package/src/engine/acp/adapter.ts +24 -6
  446. package/src/engine/acp/server.ts +21 -4
  447. package/src/engine/acp/transport.ts +53 -8
  448. package/src/engine/acp/types.ts +4 -0
  449. package/src/engine/agent.ts +13 -3
  450. package/src/engine/ai.ts +26 -8
  451. package/src/engine/antigravity/subprocess-runtime.ts +386 -120
  452. package/src/engine/api-registry.ts +3 -0
  453. package/src/engine/apis/ollama-native.ts +15 -0
  454. package/src/engine/apis/openai-completions.ts +117 -14
  455. package/src/engine/claude/subprocess-runtime.ts +107 -60
  456. package/src/engine/external-subprocess.ts +122 -6
  457. package/src/entry/background-model-metadata.ts +18 -0
  458. package/src/entry/compaction-prompt.ts +57 -0
  459. package/src/entry/orchestrator.ts +416 -218
  460. package/src/entry/task-memory-lifecycle.ts +35 -0
  461. package/src/interactive/chat-loop-messages.ts +13 -4
  462. package/src/interactive/chat-loop.ts +65 -2
  463. package/src/interactive/chat-renderer.ts +1 -0
  464. package/src/interactive/cost-overlay.ts +26 -2
  465. package/src/interactive/dispatch-board.ts +46 -717
  466. package/src/interactive/fleet-run-preview.ts +2 -1
  467. package/src/interactive/interactive-application.ts +3 -2
  468. package/src/interactive/interactive-presentation.ts +55 -12
  469. package/src/interactive/interactive-slash-runtime.ts +4 -2
  470. package/src/interactive/oracle.ts +5 -2
  471. package/src/interactive/overlays/fleet-run-approval.ts +3 -2
  472. package/src/interactive/overlays/message-picker.ts +2 -2
  473. package/src/interactive/overlays/settings.ts +2 -2
  474. package/src/interactive/overlays/tree-selector.ts +2 -2
  475. package/src/interactive/renderers/branch-summary.ts +1 -1
  476. package/src/interactive/renderers/worker-entry.ts +32 -0
  477. package/src/interactive/slash-autocomplete.ts +4 -6
  478. package/src/interactive/slash-commands.ts +49 -45
  479. package/src/interactive/slash-spec.ts +28 -0
  480. package/src/interactive/theme/labels.ts +19 -13
  481. package/src/interactive/turn-context.ts +9 -5
  482. package/src/interactive/turn-recovery.ts +8 -0
  483. package/src/interactive/turn-runtime.ts +27 -11
  484. package/src/interactive/turn-state.ts +7 -0
  485. package/src/interactive/view/artifacts.ts +2 -0
  486. package/src/interactive/worker-receipts.ts +1 -0
  487. package/src/interactive/worker-stream.ts +13 -4
  488. package/src/tools/bootstrap.ts +4 -0
  489. package/src/tools/builtin-tool-catalog.ts +31 -0
  490. package/src/tools/compete-worktrees.ts +7 -1
  491. package/src/tools/context/index.ts +30 -9
  492. package/src/tools/core-bootstrap.ts +16 -0
  493. package/src/tools/decide.ts +136 -0
  494. package/src/tools/dispatch-admission.ts +21 -0
  495. package/src/tools/dispatch-arguments.ts +1 -0
  496. package/src/tools/dispatch-event-text.ts +10 -0
  497. package/src/tools/dispatch-plan.ts +6 -2
  498. package/src/tools/dispatch-runner.ts +27 -1
  499. package/src/tools/dispatch-types.ts +6 -0
  500. package/src/tools/evidence.ts +96 -0
  501. package/src/tools/limitation.ts +76 -0
  502. package/src/tools/policy.ts +9 -0
  503. package/src/tools/presentation.ts +3 -0
  504. package/src/tools/registry.ts +11 -5
  505. package/src/tools/result-shaping.ts +17 -5
  506. package/src/tools/task-worktree.ts +13 -3
  507. package/src/tools/tasks.ts +10 -1
  508. package/src/tools/verify/authoring.ts +170 -83
  509. package/src/tools/verify/catalog.ts +122 -5
  510. package/src/tools/verify/index.ts +2 -1
  511. package/src/tools/verify/numeric.ts +298 -0
  512. package/src/tools/verify/perf.ts +143 -0
  513. package/src/tools/verify/scripts.ts +229 -2
  514. package/src/tools/worker-evidence.ts +3 -1
  515. package/src/worker/spec-contract.ts +4 -0
  516. package/dist/chunk-2Z2IKEXI.js +0 -1554
  517. package/dist/chunk-RVG5JXAL.js +0 -41
  518. package/dist/chunk-T56WDKA5.js +0 -183
  519. package/dist/chunk-VN3SHNBN.js +0 -313
  520. package/dist/chunk-VPKWYKEY.js +0 -169
  521. package/dist/reset-OAQP3W4O.js +0 -230
  522. package/dist/uninstall-N34PCTGJ.js +0 -331
  523. package/dist/upgrade-PXK3S2YM.js +0 -325
@@ -12,7 +12,7 @@
12
12
  "grep returns too much noise"
13
13
  ],
14
14
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/coding/ast-grep",
15
- "version": "0.2.0",
15
+ "version": "0.3.0",
16
16
  "audit": "pass",
17
17
  "category": "coding"
18
18
  },
@@ -27,7 +27,7 @@
27
27
  "functional core imperative shell"
28
28
  ],
29
29
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/coding/coding-standards",
30
- "version": "0.2.0",
30
+ "version": "0.4.0",
31
31
  "audit": "pass",
32
32
  "category": "coding"
33
33
  },
@@ -42,7 +42,7 @@
42
42
  "what should this UI look like"
43
43
  ],
44
44
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/coding/prototype",
45
- "version": "0.3.0",
45
+ "version": "0.4.0",
46
46
  "audit": "pass",
47
47
  "category": "coding"
48
48
  },
@@ -57,7 +57,7 @@
57
57
  "reproduce the bug with a test"
58
58
  ],
59
59
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/coding/tdd",
60
- "version": "0.3.0",
60
+ "version": "0.4.0",
61
61
  "audit": "pass",
62
62
  "category": "coding"
63
63
  },
@@ -72,7 +72,7 @@
72
72
  "write a continuation brief"
73
73
  ],
74
74
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/context/context-handoff",
75
- "version": "0.4.0",
75
+ "version": "0.5.1",
76
76
  "audit": "pass",
77
77
  "category": "context"
78
78
  },
@@ -87,10 +87,25 @@
87
87
  "resume repository work after a break"
88
88
  ],
89
89
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/context/context-prime",
90
- "version": "0.3.0",
90
+ "version": "0.4.1",
91
91
  "audit": "pass",
92
92
  "category": "context"
93
93
  },
94
+ {
95
+ "name": "branch-closeout",
96
+ "description": "Proves merged work on the canonical base, inspects and removes associated worktrees through Git, deletes local branches safely, and audits surviving repository refs. Not for creating worktrees; use worktree-create. Not for integrating branches; use worktree-merge.",
97
+ "triggers": [
98
+ "close out this branch",
99
+ "clean up merged branch",
100
+ "remove merged worktree",
101
+ "closeout branch",
102
+ "branch-closeout"
103
+ ],
104
+ "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/branch-closeout",
105
+ "version": "0.1.0",
106
+ "audit": "pass",
107
+ "category": "git"
108
+ },
94
109
  {
95
110
  "name": "file-ticket",
96
111
  "description": "Turns something noticed mid-session into a tracker issue: captures evidence, dedups against existing issues, composes a labeled issue with acceptance criteria, confirms, and creates it via gh. Not for batch ticket creation from a PRD; use backlog. Not for diagnosing an existing issue; use fix-issue.",
@@ -102,7 +117,7 @@
102
117
  "create a tracker issue"
103
118
  ],
104
119
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/file-ticket",
105
- "version": "0.2.0",
120
+ "version": "0.3.0",
106
121
  "audit": "pass",
107
122
  "category": "git"
108
123
  },
@@ -117,7 +132,7 @@
117
132
  "fix a GitHub issue end to end"
118
133
  ],
119
134
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/fix-issue",
120
- "version": "0.2.0",
135
+ "version": "0.3.0",
121
136
  "audit": "pass",
122
137
  "category": "git"
123
138
  },
@@ -132,13 +147,13 @@
132
147
  "resolve conflict markers"
133
148
  ],
134
149
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/resolve-merge-conflicts",
135
- "version": "0.3.0",
150
+ "version": "0.4.0",
136
151
  "audit": "pass",
137
152
  "category": "git"
138
153
  },
139
154
  {
140
155
  "name": "ship",
141
- "description": "Ships finished work: stages reviewed paths, writes one atomic conventional commit referencing the issue, then pushes and opens the PR only on explicit intent. Not for producing the change; use fix-issue.",
156
+ "description": "Ships finished work: writes one reviewed atomic commit, keeps maintainer branches local, or pushes a contributor branch to their fork and opens a PR only on explicit intent. Not for producing the change; use fix-issue.",
142
157
  "triggers": [
143
158
  "ship this",
144
159
  "commit this",
@@ -147,13 +162,13 @@
147
162
  "get this up for review"
148
163
  ],
149
164
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/ship",
150
- "version": "0.2.0",
165
+ "version": "0.5.0",
151
166
  "audit": "pass",
152
167
  "category": "git"
153
168
  },
154
169
  {
155
170
  "name": "worktree-create",
156
- "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.",
171
+ "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. Not for closeout; use branch-closeout.",
157
172
  "triggers": [
158
173
  "create a git worktree",
159
174
  "set up worktrees for these branches",
@@ -161,13 +176,13 @@
161
176
  "prepare parallel worktrees"
162
177
  ],
163
178
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/worktree-create",
164
- "version": "0.3.0",
179
+ "version": "0.6.0",
165
180
  "audit": "pass",
166
181
  "category": "git"
167
182
  },
168
183
  {
169
184
  "name": "worktree-merge",
170
- "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.",
185
+ "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. Not for closeout; use branch-closeout.",
171
186
  "triggers": [
172
187
  "merge my worktrees",
173
188
  "integrate these worktree branches",
@@ -175,7 +190,7 @@
175
190
  "land finished worktrees"
176
191
  ],
177
192
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/worktree-merge",
178
- "version": "0.3.0",
193
+ "version": "0.6.0",
179
194
  "audit": "pass",
180
195
  "category": "git"
181
196
  },
@@ -270,6 +285,26 @@
270
285
  "audit": "pass",
271
286
  "category": "meta"
272
287
  },
288
+ {
289
+ "name": "archify",
290
+ "description": "Validated interactive system maps and diagrams as standalone HTML from a typed JSON spec, for one of five diagram types (architecture, workflow, sequence, dataflow, lifecycle). Use when the user asks to visualize architecture, a workflow, a call sequence, a data pipeline, or a state machine, or to map this repository. Not for ad hoc drawings or slide art, and not for Mermaid output; use the artifact tool for plain Markdown.",
291
+ "triggers": [
292
+ "architecture diagram",
293
+ "system map",
294
+ "map this repository",
295
+ "sequence diagram",
296
+ "data flow diagram",
297
+ "state machine diagram",
298
+ "visualize the architecture"
299
+ ],
300
+ "sourceUrl": "https://github.com/tt-a1i/archify/tree/v2.16.0/archify",
301
+ "version": "0.1.0",
302
+ "audit": "pass",
303
+ "category": "planning",
304
+ "origin": "remote",
305
+ "overlay": "skills/planning/archify",
306
+ "exclude": ["test", "package-lock.json"]
307
+ },
273
308
  {
274
309
  "name": "architecture",
275
310
  "description": "Decides the engineering approach for an intent in an interactive session: investigates, proposes two or three genuinely different approaches with trade-offs, recommends, lets the user decide, and writes the decision doc. Not a task-by-task plan; use cut-it. Not a multi-perspective debate; use design-council. Not product intent; use product-intent. Not a typed implementation handoff; use tech-spec.",
@@ -281,7 +316,7 @@
281
316
  "compare architecture options"
282
317
  ],
283
318
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/planning/architecture",
284
- "version": "0.3.0",
319
+ "version": "0.4.1",
285
320
  "audit": "pass",
286
321
  "category": "planning"
287
322
  },
@@ -296,7 +331,7 @@
296
331
  "create GitHub issues from this architecture"
297
332
  ],
298
333
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/planning/backlog",
299
- "version": "0.3.0",
334
+ "version": "0.4.1",
300
335
  "audit": "pass",
301
336
  "category": "planning"
302
337
  },
@@ -311,7 +346,7 @@
311
346
  "create milestone prompts"
312
347
  ],
313
348
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/planning/prd",
314
- "version": "0.3.0",
349
+ "version": "0.4.1",
315
350
  "audit": "pass",
316
351
  "category": "planning"
317
352
  },
@@ -326,7 +361,7 @@
326
361
  "greenfield product intent"
327
362
  ],
328
363
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/planning/product-intent",
329
- "version": "0.3.0",
364
+ "version": "0.4.1",
330
365
  "audit": "pass",
331
366
  "category": "planning"
332
367
  },
@@ -341,7 +376,7 @@
341
376
  "specify execution flows"
342
377
  ],
343
378
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/planning/tech-spec",
344
- "version": "0.2.0",
379
+ "version": "0.3.1",
345
380
  "audit": "pass",
346
381
  "category": "planning"
347
382
  },
@@ -356,7 +391,7 @@
356
391
  "build a literature survey"
357
392
  ],
358
393
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/research/arxiv-literature",
359
- "version": "0.4.0",
394
+ "version": "0.5.1",
360
395
  "audit": "pass",
361
396
  "category": "research"
362
397
  },
@@ -372,7 +407,7 @@
372
407
  "compare solver accuracy"
373
408
  ],
374
409
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/research/experiment-protocol",
375
- "version": "0.2.0",
410
+ "version": "0.3.1",
376
411
  "audit": "pass",
377
412
  "category": "research"
378
413
  },
@@ -388,7 +423,7 @@
388
423
  "scientific root cause"
389
424
  ],
390
425
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/research/scientific-debugging",
391
- "version": "0.2.0",
426
+ "version": "0.3.1",
392
427
  "audit": "pass",
393
428
  "category": "research"
394
429
  },
@@ -404,7 +439,7 @@
404
439
  "preserve scientific parity"
405
440
  ],
406
441
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/research/scientific-modernization",
407
- "version": "0.3.0",
442
+ "version": "0.4.1",
408
443
  "audit": "pass",
409
444
  "category": "research"
410
445
  },
@@ -419,7 +454,7 @@
419
454
  "write dependency-ordered vertical slices"
420
455
  ],
421
456
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/workflow/cut-it",
422
- "version": "0.3.0",
457
+ "version": "0.4.1",
423
458
  "audit": "pass",
424
459
  "category": "workflow"
425
460
  },
@@ -434,7 +469,7 @@
434
469
  "what would experts say"
435
470
  ],
436
471
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/workflow/design-council",
437
- "version": "0.4.0",
472
+ "version": "0.6.0",
438
473
  "audit": "pass",
439
474
  "category": "workflow"
440
475
  },
@@ -449,7 +484,7 @@
449
484
  "clarify this plan one question at a time"
450
485
  ],
451
486
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/workflow/grill-me",
452
- "version": "0.4.0",
487
+ "version": "0.5.1",
453
488
  "audit": "pass",
454
489
  "category": "workflow"
455
490
  },
@@ -464,7 +499,7 @@
464
499
  "create a skill from this session"
465
500
  ],
466
501
  "sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/workflow/workflow-distiller",
467
- "version": "0.3.0",
502
+ "version": "0.4.1",
468
503
  "audit": "pass",
469
504
  "category": "workflow"
470
505
  }
@@ -7,7 +7,7 @@ triggers:
7
7
  - make this plan executable
8
8
  - turn this milestone into a sprint
9
9
  - write dependency-ordered vertical slices
10
- version: 0.3.0
10
+ version: 0.4.1
11
11
  license: Apache-2.0
12
12
  allowed-tools:
13
13
  - read
@@ -18,7 +18,6 @@ allowed-tools:
18
18
  - context
19
19
  - code_nav
20
20
  - write
21
- - artifact
22
21
  - ask_user
23
22
  clio-coder:
24
23
  registry-id: iowarp/clio-coder
@@ -39,6 +38,42 @@ can run one at a time, leaving the build green after every slice. The output
39
38
  is a `SPRINT.md` another agent can execute cold — no conversation context
40
39
  required.
41
40
 
41
+ ## Arguments
42
+
43
+ ```text
44
+ cut it [<path to plan>]
45
+ ```
46
+
47
+ There is no flag syntax; the trigger is conversational — "cut it", "slice
48
+ this plan", "turn this milestone into a sprint". A path the user names in
49
+ the same request (a specific `PLAN.md`, `PRD.md`, or `milestones/*/prompt.md`)
50
+ is the plan to slice; a path with no plan words near it, or a bare
51
+ destination like "write it to docs/SPRINT.md", is Step 3's output location,
52
+ not the input. When neither is named, Step 1 finds the plan and Step 3
53
+ writes to the repo-root default.
54
+
55
+ This run has no back-and-forth. `ask_user` is not registered in a headless
56
+ run, so any call is refused as an unregistered tool rather than answered.
57
+ The happy path here rarely needs a question at all — Step 1's "stop and say
58
+ so" for a missing or vague plan is already headless-safe, and Step 3's output
59
+ path defaults without asking. If several plans or milestones are plausible
60
+ candidates and the choice matters, do not stop on an open question: pick the
61
+ most recently modified or most specifically named one, state that choice and
62
+ the alternative you set aside, mark it `assumed — confirm`, and keep going in
63
+ the same turn. Do not end a turn on an unanswered question in `ask_user` or
64
+ in plain text.
65
+
66
+ The steps below are the plan; do not open a task list for them. This skill's
67
+ tool surface is exactly `read`, `grep`, `ls`, `find`, `git`, `context`,
68
+ `code_nav`, `write`, and `ask_user` (`context` and `ask_user` are always
69
+ available regardless). `tasks` and `bash` both sit outside it and any call to
70
+ either is refused — track progress by walking the steps below, not a task
71
+ board; check for a build/test/lint setup (a `package.json`, a Makefile, a
72
+ node/toolchain version) with `find`, `ls`, and `read`, not `bash node
73
+ --version` or `bash find`. The read-only `git` tool (`status`, `log`) is
74
+ useful in Step 1 when locating the plan benefits from recent history or
75
+ uncommitted changes.
76
+
42
77
  ## Step 1 — Locate the plan
43
78
 
44
79
  In priority order: a file the user names, a plan in the conversation,
@@ -60,10 +95,14 @@ slicing of a vague plan hides gaps; flagging them is the deliverable.
60
95
  - **Self-contained.** Real file paths, real commands, concrete steps. A reader
61
96
  with zero conversation context can execute it.
62
97
 
63
- ## Step 3 — Write the artifact
98
+ ## Step 3 — Write SPRINT.md
64
99
 
65
- Default output is `SPRINT.md` at the repo root (honor a caller-supplied path).
66
- Format:
100
+ Use the `write` tool. `SPRINT.md` is a plain file in the working tree, not a
101
+ generated report — do not call a tool literally named `artifact` for this;
102
+ that tool is not on this skill's surface and, in this harness, is a
103
+ terminal call that ends the run the instant it is invoked, before you can
104
+ report back. Default output path is `SPRINT.md` at the repo root; honor a
105
+ caller-supplied path from Arguments instead. Format:
67
106
 
68
107
  ```markdown
69
108
  # Sprint: <name>
@@ -86,9 +125,29 @@ Format:
86
125
  "Done when" is the contract, not decoration. If you cannot write a testable
87
126
  done-when for a slice, the slice is not ready to cut — go back to the plan.
88
127
 
128
+ ## Step 4 — Report back
129
+
130
+ End the turn with a short final reply, not silence after the write: the path
131
+ you wrote (`SPRINT.md` or the caller-supplied path), the number of slices,
132
+ and a one-line summary of the battle order. This is the only confirmation
133
+ the caller gets that the write actually happened.
134
+
89
135
  ## Red flags (you are doing it wrong)
90
136
 
91
137
  - A slice whose steps say "and related changes" or "etc."
92
138
  - Done-when criteria that restate the goal instead of naming a check.
93
139
  - A slice that only compiles when a later slice lands.
94
140
  - Slicing a plan you had to invent on the spot.
141
+ - Calling a tool literally named `artifact` because Step 3 talks about "the
142
+ artifact" — that word here means "the deliverable document," not the
143
+ `artifact` tool. That tool is off this skill's surface and, in this
144
+ harness, terminates the run on the spot, writes to
145
+ `.clio-coder/artifacts/` instead of `SPRINT.md`, and skips Step 4 entirely.
146
+ Use `write`.
147
+ - Ending the run right after the write with no final reply — Step 4 is not
148
+ optional.
149
+ - Opening a `tasks` list for the steps above; `tasks` is refused.
150
+ - Reaching for `bash` (`node --version`, `find`, `ls -la`, ...) to check the
151
+ repo's toolchain or structure; `bash` is refused, use `find`/`ls`/`read`.
152
+ - Stopping to wait for an `ask_user` reply that headless runs never send;
153
+ see Arguments.
@@ -40,3 +40,104 @@ Expected:
40
40
 
41
41
  One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
42
42
  (30B local, llamacpp on mini), full-auto sandbox. PASS. Sliced the seeded PLAN.md; judge 4/4.
43
+
44
+ ## Battletest record (2026-09-03)
45
+
46
+ Fixture: `/home/akougkas/eval-temp/harness/test_cutit.py`. S1 reuses this
47
+ evals.md's own fixture text verbatim (`src/todos.js` stub + a concrete
48
+ three-feature `PLAN.md`); S2 is an empty repo with only a `README.md`; S3 is
49
+ a `PLAN.md` that says only "improve performance and clean up the code."
50
+ S1 is the primary grading fixture, scored on 12 checks against the raw
51
+ JSONL's tool-call/safety-block stream, the actual `SPRINT.md` written to
52
+ disk, and the reconstructed final assistant text: zero safety blocks, zero
53
+ real `artifact` tool calls, zero `tasks` calls, `SPRINT.md` exists with a
54
+ `## Battle order` and 2+ numbered slices, every slice carries all six
55
+ required fields (Goal/Depends on/Files/Steps/Done when/Out of scope), no
56
+ horizontal-layering red-flag language, slices trace to the plan's concrete
57
+ features, done-when blocks are command-shaped and testable, and the final
58
+ reply names the path and slice count. S2/S3 are graded on 5 checks each
59
+ (zero safety blocks, zero `artifact` calls, no `SPRINT.md` fabricated,
60
+ correctly flags the gap, recommends a next step). Primary model
61
+ `qwen3.8-27b` on `dynamo` (LM Studio); cross-model confirm on
62
+ `ornith1.5-35b-moe` on `mini` (llama.cpp), run against S1 and S2 both.
63
+
64
+ **The bug found reading the source, confirmed empirically first**: the
65
+ frozen skill (0.3.0) had `artifact` in `allowed-tools` and titled Step 3
66
+ "Write the artifact." `src/tools/artifact.ts` sets `terminate: true` on
67
+ every successful call — the run ends the instant the tool executes, with
68
+ no further LLM turn to confirm what happened. v1's run called `artifact`
69
+ with `kind: "plan"` and, by luck, an explicit `path: "SPRINT.md"` (the
70
+ model inferred this from "honor a caller-supplied path" even though no
71
+ caller supplied one) — so the file landed in the right place this time, but
72
+ the run still ended mid-sentence ("Writing the sprint:") with no
73
+ confirmation reply, and a separate `tasks` call (also off-surface) drew a
74
+ real safety block. Score 8/12: missing `reply_mentions_sprint_path`, one
75
+ real safety block. Had the model not guessed an explicit path, the default
76
+ would have been `.clio-coder/artifacts/PLAN.md` (kind defaults to `plan`,
77
+ see `core/artifact-paths.ts`) — wrong file, wrong location, same silent
78
+ termination. This is exactly the failure mode the planning category's
79
+ tech-spec baseline hit ("called `artifact` for an early exit... instead of
80
+ a spec").
81
+
82
+ | run | model | wall | turns | in / out tokens | safety blocks | score | outcome |
83
+ |---|---|---|---|---|---|---|---|
84
+ | baseline (no skill) | qwen3.8-27b | 76s | 7 | 73.8k / 7.1k | 5 (repeated `ls ".cl"` truncated-path retries, benign) | 5/12 | never invoked `/skill cut-it`; read the plan and module correctly, reasoned to genuinely good vertical slices with real done-when checks in its head, then hit a tool-call loop guard and delivered the entire sprint as **prose in the reply, never wrote `SPRINT.md`** — the exact gap this skill exists to close |
85
+ | v1 (frozen 0.3.0) | qwen3.8-27b | 115s | 6 | 68.6k / 11.3k | 1 real (`tasks` refused) | 8/12 | called the real `artifact` tool for Step 3 as titled; terminated the turn immediately after writing, mid-sentence, with no confirmation reply — the artifact-tool bug, confirmed |
86
+ | v2 (first hardened cut, 0.4.0) | qwen3.8-27b | 70s | 6 | 72.4k / 6.5k | 0 | 11/12 (12/12 after a grading-regex fix, see below) | used `write` correctly, used the `git` tool in Step 1, reported the path and slice count in the final reply; the one score miss was a test-harness regex that didn't handle a `**Done when** (fresh state...):` label followed by bulleted checks on the next lines — the actual done-when content was already command-shaped and testable, fixed in the harness, not the skill |
87
+ | v3 (bash-reflex found) | qwen3.8-27b | — | — | — | 2 (1 benign ENOENT, 1 real: `bash` refused) | 11/12 | reached for `bash` (`node --version`, `find`, `ls -la` chained with `&&`) to survey the toolchain even though `bash` was never in `allowed-tools` and nothing in the body named it explicitly — added the same explicit `bash`-refusal line the `tasks` refusal already had, plus a Red flags entry |
88
+ | v4 (final, stable) | qwen3.8-27b | 60s | 6 | 71.4k / 5.6k | 0 | **12/12** | clean run: `context` → `read`/`ls` → `git status` → `write`, self-contained final reply naming path, slice count, and battle order |
89
+ | final-s2 (no plan) | qwen3.8-27b | 26s | 4 | 43.2k / 2.0k | 0 | **5/5** | checked all three plan locations plus `git log`/`status`, correctly stopped with no `SPRINT.md` written, cited the skill's own red-flag language, recommended `grill-me` |
90
+ | final-s3 (vague plan) | qwen3.8-27b | 28s | 5 | 56.2k / 2.5k | 0 | **5/5** | read the one-line `PLAN.md`, explicitly invoked "the skill's own test" (a testable done-when), listed three concrete missing pieces (object/baseline/target for "performance", a definition of "clean", the absent codebase), stopped without writing `SPRINT.md` |
91
+ | final-mini (cross-model, S1) | ornith1.5-35b-moe (mini) | 42s | 6 | 10.8k / 3.2k | 0 | **12/12** | same clean shape on the second model family: `context` → `ls`/`read` → `write`, self-contained final reply |
92
+ | final-mini-s2 (cross-model, S2) | ornith1.5-35b-moe (mini) | 19s | 6 | 4.0k / 1.1k | 0 | **5/5** | correctly found nothing to slice, recommended `grill-me`, offered to slice immediately if pointed at a plan |
93
+
94
+ **Changes** (0.3.0 -> 0.4.0):
95
+
96
+ 1. **`artifact` removed from `allowed-tools`.** cut-it never needs the real
97
+ `artifact` tool — `SPRINT.md` is a plain file, always written with
98
+ `write`. This is the fix for the bug above.
99
+ 2. **Step 3 retitled** "Write SPRINT.md" (was "Write the artifact") and its
100
+ body now says explicitly "use the `write` tool" and names the
101
+ `artifact`-tool confusion directly, including what it actually does
102
+ wrong (terminal call, wrong default path under `.clio-coder/artifacts/`,
103
+ skips the report-back step).
104
+ 3. **New Step 4 — Report back**, an explicit final-reply requirement (path
105
+ written, slice count, one-line battle-order summary). Nothing in the
106
+ frozen skill told the model to confirm after writing; every hardened run
107
+ now does.
108
+ 4. **`## Arguments` contract**, the section the frozen skill never had:
109
+ conversational trigger syntax, how a named path splits between "the plan
110
+ to slice" and "where to write `SPRINT.md`", the no-operator/`ask_user`-
111
+ auto-cancels rule (adapted from `grill-me` 0.5.0's "this run has no
112
+ back-and-forth" framing — stated as a fact about the run, not gated on a
113
+ cancellation response), and — since cut-it's happy path rarely needs a
114
+ question at all — explicit guidance for the one place it plausibly might
115
+ (choosing among several candidate plans/milestones): pick the best one,
116
+ state the alternative, mark `assumed — confirm`, keep going.
117
+ 5. **`tasks` and `bash` explicitly named as refused**, in Arguments and Red
118
+ Flags, both found empirically: v1's `tasks` call (tracking its own
119
+ steps) and v3's `bash` call (`node --version`, `find`, `ls -la` chained
120
+ with `&&`, to survey the toolchain) were both real safety blocks despite
121
+ neither tool ever having been in `allowed-tools`.
122
+ 6. Three new Red Flags entries for the concrete failures observed: the
123
+ `artifact`-tool confusion, ending the run with no final reply, and the
124
+ `bash` reflex (`tasks` already had informal coverage, now explicit too).
125
+
126
+ **Still weak**: `code_nav` (in `allowed-tools`) was never exercised — this
127
+ fixture's grounding fit entirely in one small stub file, so `read`/`grep`
128
+ sufficed; a plan referencing a larger call graph might exercise it, none
129
+ was built here. The `ask_user`-unavailable path and the "several candidate
130
+ plans" disambiguation guidance in Arguments are reasoned prose, not
131
+ empirically run — no fixture here seeds multiple plausible plan files or a
132
+ scenario where the model actually reaches for `ask_user`; every hardened
133
+ run reasoned straight to the assumed-confirm default or never needed a
134
+ question at all. S3's "flag as vague" grading is phrase-matching against a
135
+ fixed term list (`vague`, `underspecified`, `insufficient`, ...) — a run
136
+ that flags the same gap in different words would under-score on a
137
+ technicality, though neither observed run did. The v2 grading-regex miss
138
+ (`done_when_testable`, fixed in the harness before v4) is a reminder that
139
+ this fixture's automated score can undercount a genuinely correct skill
140
+ output; the raw `SPRINT.md` files are worth spot-reading, not just the
141
+ score column. No timing was captured for v3 (an incremental re-run to
142
+ confirm the `bash` finding, superseded immediately by v4) — not a gap in
143
+ the skill's coverage, just an artifact of the iteration order.