@iowarp/clio-coder 0.4.3 → 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 (340) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +1 -1
  3. package/dist/{acp-H2NGRPWO.js → acp-WNAYYF4F.js} +4 -5
  4. package/dist/{agents-TL5LLUQP.js → agents-3OKXHLOI.js} +33 -31
  5. package/dist/assets/codewiki.json +1 -1
  6. package/dist/{auth-E5SW4HMS.js → auth-VKNNMGPU.js} +10 -11
  7. package/dist/{builtins-IA7V7FUC.js → builtins-WGALA46I.js} +4 -4
  8. package/dist/{chunk-F5JHEYZM.js → chunk-23L32XTI.js} +10 -7
  9. package/dist/{chunk-DWUOQKRU.js → chunk-25QBEXRS.js} +2 -2
  10. package/dist/{chunk-LLDJM5XK.js → chunk-26QSH3EJ.js} +2 -2
  11. package/dist/{chunk-N2Z7HLVY.js → chunk-2ASED4PZ.js} +10 -10
  12. package/dist/{chunk-MCEPRMZW.js → chunk-2CU2H6KE.js} +2 -2
  13. package/dist/chunk-2DSOYNFC.js +108 -0
  14. package/dist/{chunk-LDJG7DW3.js → chunk-2ZSONWVL.js} +4 -4
  15. package/dist/{chunk-GI7YYQ3F.js → chunk-36CT5VVL.js} +324 -41
  16. package/dist/{chunk-4UVU7BJ5.js → chunk-3GY4F45V.js} +2 -2
  17. package/dist/{chunk-PUVDKJ2Y.js → chunk-3ODX73FK.js} +3 -5
  18. package/dist/{chunk-IUE3Y34X.js → chunk-3UNOLWNZ.js} +2 -2
  19. package/dist/{chunk-6PTFB5VS.js → chunk-3UUXNFEX.js} +8 -4
  20. package/dist/{chunk-2APPQIER.js → chunk-4M6Z5QVF.js} +4 -4
  21. package/dist/{chunk-K6BSR66V.js → chunk-4NSRCOYP.js} +4 -1
  22. package/dist/{chunk-JGRC33J2.js → chunk-54X7T7DK.js} +12 -3
  23. package/dist/{chunk-YQWYVTMC.js → chunk-5636DCO5.js} +4 -4
  24. package/dist/{chunk-7E7I3WLS.js → chunk-57XXR6DR.js} +23 -22
  25. package/dist/{chunk-7ZYNNDKC.js → chunk-5TUB6SLS.js} +2 -2
  26. package/dist/{chunk-VW6DOEDG.js → chunk-6OSVSQL5.js} +11 -2
  27. package/dist/{chunk-L47TF46W.js → chunk-6PAZTBPA.js} +14 -2
  28. package/dist/{chunk-XIVNBFZS.js → chunk-6Q3CYFD3.js} +34 -16
  29. package/dist/{chunk-RSJ25QSL.js → chunk-6QOTUPRG.js} +155 -36
  30. package/dist/{chunk-JKKCYP3C.js → chunk-6UINWWS6.js} +10 -4
  31. package/dist/{chunk-WBKFA554.js → chunk-72YIHOZQ.js} +2 -2
  32. package/dist/{chunk-PAJQJ7BS.js → chunk-75W7L2E2.js} +246 -697
  33. package/dist/{chunk-RRNP2ANY.js → chunk-7UGL4MB5.js} +4 -4
  34. package/dist/{chunk-EKCHAPYA.js → chunk-AUPNRN7C.js} +2 -2
  35. package/dist/{chunk-ZDN3Y73Y.js → chunk-BJVFZO5U.js} +6 -48
  36. package/dist/{chunk-IWT4SF4R.js → chunk-CUSRQKPU.js} +64 -2
  37. package/dist/{chunk-SKHCAU7K.js → chunk-DQOVN6KV.js} +3 -2
  38. package/dist/{chunk-ZWPRK62N.js → chunk-DT3LWJOB.js} +4 -4
  39. package/dist/chunk-DXKJURES.js +671 -0
  40. package/dist/{chunk-BEPZRGGU.js → chunk-EL24TAU4.js} +2 -2
  41. package/dist/{chunk-OML5D5V5.js → chunk-ELWDPP3Y.js} +5 -5
  42. package/dist/{chunk-NDINPTJ4.js → chunk-ELZVTCGV.js} +5 -4
  43. package/dist/chunk-EXLD33WO.js +381 -0
  44. package/dist/{chunk-IJNZMHLA.js → chunk-FEAXX7B6.js} +2 -2
  45. package/dist/{chunk-TM6LQDI3.js → chunk-FFUPXJC4.js} +74 -323
  46. package/dist/chunk-GX5WYQO4.js +59 -0
  47. package/dist/chunk-I2DWJ4GM.js +390 -0
  48. package/dist/{chunk-TXOTCRLG.js → chunk-I5FWO7L5.js} +5 -5
  49. package/dist/chunk-IRXAATOX.js +539 -0
  50. package/dist/chunk-IXIY2H4R.js +44 -0
  51. package/dist/{chunk-KK4JZPBQ.js → chunk-IZXGRF7P.js} +76 -10
  52. package/dist/{chunk-5TSRNF4G.js → chunk-JCI2ROMZ.js} +164 -6
  53. package/dist/{chunk-INY6HTFL.js → chunk-JEIYHLOR.js} +2 -2
  54. package/dist/{chunk-MUW2BDDH.js → chunk-JQLNNIKT.js} +2 -2
  55. package/dist/{chunk-XPWWI35G.js → chunk-JSD46VO2.js} +19 -8
  56. package/dist/{chunk-VA5FNYMT.js → chunk-JT2RFCC5.js} +39 -2
  57. package/dist/{chunk-V2ANDPVT.js → chunk-K6T2ZAMZ.js} +168 -6
  58. package/dist/{chunk-B4OAX3SI.js → chunk-KFV5L5SK.js} +13 -6
  59. package/dist/{chunk-JEQ3XTHC.js → chunk-LLXSDWXS.js} +2 -2
  60. package/dist/{chunk-E3TPLWFX.js → chunk-LTIKRKFL.js} +3 -3
  61. package/dist/{chunk-NIQJ66N4.js → chunk-N56KALIC.js} +17 -17
  62. package/dist/{chunk-JDAY6FIL.js → chunk-NAI6ZFCY.js} +13 -9
  63. package/dist/{chunk-AF4YM7Z4.js → chunk-NRO2BJRH.js} +2490 -2182
  64. package/dist/{chunk-WRBAGUNF.js → chunk-NXIMQY5W.js} +2 -2
  65. package/dist/{chunk-I7ZPNEJM.js → chunk-NXYCB2VD.js} +5 -5
  66. package/dist/chunk-ODGTEFFI.js +50 -0
  67. package/dist/{chunk-2VIKGWFZ.js → chunk-OEJSLEPW.js} +2 -2
  68. package/dist/{chunk-KKOJXO6R.js → chunk-OMQNJVKW.js} +4 -2
  69. package/dist/{chunk-54CBCGIR.js → chunk-Q4WO54TA.js} +132 -77
  70. package/dist/{chunk-B4VEBZKF.js → chunk-QUFRYSWI.js} +12 -6
  71. package/dist/{chunk-42FMPA75.js → chunk-QZWQA4DE.js} +2 -2
  72. package/dist/{chunk-HEQY7ZFI.js → chunk-RAY4OVGZ.js} +2 -2
  73. package/dist/{chunk-G76U63X4.js → chunk-RQCKCSRL.js} +7 -7
  74. package/dist/{chunk-64I3JVYM.js → chunk-RXTN6AKH.js} +2 -2
  75. package/dist/{chunk-UPZU6GE4.js → chunk-RZDWV63N.js} +3 -3
  76. package/dist/{chunk-2UH2KFUP.js → chunk-S6PYF2XF.js} +2 -2
  77. package/dist/{chunk-JSC3U7TI.js → chunk-TOIVGRUX.js} +2 -2
  78. package/dist/{chunk-7DRAWPTZ.js → chunk-TQAHXW6Y.js} +1 -1
  79. package/dist/{chunk-JIEGK6UF.js → chunk-U6TMQNSI.js} +48 -4
  80. package/dist/{chunk-AX2THNSA.js → chunk-UEPWCCTY.js} +4 -4
  81. package/dist/{chunk-QWGDJJYJ.js → chunk-USR47QNF.js} +4 -4
  82. package/dist/{chunk-Y3CBHOR6.js → chunk-V6HJFQZE.js} +2 -2
  83. package/dist/chunk-V76WTFTW.js +318 -0
  84. package/dist/{chunk-NMJXSHBJ.js → chunk-W54I7H25.js} +2 -2
  85. package/dist/{chunk-2UG5F4C5.js → chunk-XULDXHTN.js} +24 -12
  86. package/dist/chunk-XXYSBZIQ.js +283 -0
  87. package/dist/{chunk-MWUZBSAQ.js → chunk-Y55JBDO5.js} +331 -51
  88. package/dist/{chunk-W6RRQCPQ.js → chunk-YD5GIKET.js} +4 -4
  89. package/dist/{chunk-CE5AX47J.js → chunk-YECAMM3D.js} +2 -2
  90. package/dist/{chunk-WCXUNS7U.js → chunk-YNFKXPEC.js} +6 -6
  91. package/dist/cli/index.js +36 -35
  92. package/dist/{clio-CMMK4KRR.js → clio-QLICPCF5.js} +2 -2
  93. package/dist/{code-nav-MDZNQS33.js → code-nav-IJR2DBPR.js} +6 -6
  94. package/dist/{components-UCUQ4QXW.js → components-2TGAI2RC.js} +3 -4
  95. package/dist/{config-SVM5P5YI.js → config-IUA6OYNS.js} +52 -47
  96. package/dist/{configure-LE3IK2TJ.js → configure-VEPX4NMX.js} +14 -15
  97. package/dist/{context-VNCR7KAG.js → context-2DKHWH2T.js} +23 -23
  98. package/dist/{context-2OHRKS42.js → context-4MPR7WKB.js} +48 -42
  99. package/dist/{context-E3VC7RX5.js → context-BOYF5EJM.js} +11 -11
  100. package/dist/{context-clear-BW4O37TG.js → context-clear-S4ZJCQUX.js} +48 -42
  101. package/dist/{context-working-set-VDS25HXZ.js → context-working-set-3I3FYX6Y.js} +8 -8
  102. package/dist/detail-A7JAVSIG.js +98 -0
  103. package/dist/{dispatch-runner-5AHT53RF.js → dispatch-runner-RJ5I2F2O.js} +71 -58
  104. package/dist/{docs-PD3EXDKU.js → docs-SPOV3BAN.js} +3 -5
  105. package/dist/{doctor-WNNVO6FY.js → doctor-DKICC2SN.js} +54 -31
  106. package/dist/{eval-7G7SGAYO.js → eval-OQOQUDHK.js} +47 -56
  107. package/dist/{evidence-VD6736FQ.js → evidence-4DQ25GUQ.js} +53 -150
  108. package/dist/evidence-4F5USFKH.js +208 -0
  109. package/dist/{evolve-AL3NGVRL.js → evolve-GSS52E5J.js} +44 -41
  110. package/dist/{extensions-MOVJ32NM.js → extensions-G7MFLYHT.js} +4 -5
  111. package/dist/{fleet-QZHUMAGI.js → fleet-Q37YHHAQ.js} +74 -68
  112. package/dist/{fleet-commands-BAYT5FJZ.js → fleet-commands-G7E4N7SM.js} +14 -11
  113. package/dist/{fleet-decisions-IREVMRU4.js → fleet-decisions-O7M6QBA2.js} +6 -6
  114. package/dist/{fleet-graph-YCTT3HTI.js → fleet-graph-TOUBW6OW.js} +13 -13
  115. package/dist/{fleet-inspect-QVJTDAVB.js → fleet-inspect-SW33JJNI.js} +43 -39
  116. package/dist/{fleet-preflight-25QAFPK4.js → fleet-preflight-CV2655TW.js} +2 -3
  117. package/dist/{fleet-validate-5O57AAJ7.js → fleet-validate-KESZX2YH.js} +16 -16
  118. package/dist/{fleet-verify-CPH2W2T6.js → fleet-verify-UQPMTVE3.js} +42 -38
  119. package/dist/{fleet-view-SWBR3VGQ.js → fleet-view-MN2VG4MR.js} +43 -39
  120. package/dist/{init-J477LKZH.js → init-PXEXQSBF.js} +60 -54
  121. package/dist/{interop-3FCM6XLG.js → interop-ZG5T62U3.js} +6 -7
  122. package/dist/inventory-C26CFDRR.js +101 -0
  123. package/dist/{library-QUQEIUG6.js → library-B2W4N74O.js} +16 -17
  124. package/dist/{memory-SGGSEP65.js → memory-YCANYS5A.js} +45 -42
  125. package/dist/{models-HEKUAXXK.js → models-GERTU3YI.js} +20 -22
  126. package/dist/{monitor-HKU57TYQ.js → monitor-CPNIUULB.js} +50 -44
  127. package/dist/{orchestrator-VDFAEFAI.js → orchestrator-J4BSH4WQ.js} +491 -1182
  128. package/dist/{panes-DN2SSFOH.js → panes-BOHAEGYC.js} +3 -3
  129. package/dist/{panes-TALGNPZT.js → panes-NXSLDQZ2.js} +5 -6
  130. package/dist/{paths-NBMFAIEZ.js → paths-VSUWNC22.js} +3 -4
  131. package/dist/{reset-EAJFFJVB.js → reset-TNWTB5LU.js} +5 -6
  132. package/dist/{resources-OVKSEFVE.js → resources-4PXNMD5G.js} +14 -14
  133. package/dist/{run-7DP7ZF2J.js → run-D6XJ34CN.js} +79 -83
  134. package/dist/{share-WML67FT3.js → share-2NWMJJEE.js} +14 -15
  135. package/dist/{skills-SG662R2K.js → skills-KR7WON5G.js} +18 -19
  136. package/dist/{skills-eval-VVZEUU46.js → skills-eval-O2ZNOLDS.js} +49 -46
  137. package/dist/{skills-inventory-I2E23GET.js → skills-inventory-ZZOUBK7O.js} +14 -14
  138. package/dist/{slash-commands-S7MBJDQK.js → slash-commands-ZXPJD64J.js} +32 -23
  139. package/dist/{steer-2LQOMCPB.js → steer-XA25PSCS.js} +3 -3
  140. package/dist/{support-CC2UJBJ6.js → support-7EMVWYG2.js} +2 -2
  141. package/dist/{targets-4QC3HIEW.js → targets-OMH2XCSN.js} +25 -27
  142. package/dist/tasks-IPAGMEIX.js +36 -0
  143. package/dist/{terminal-lease-TUHIJ6Y2.js → terminal-lease-C2J3JYRE.js} +4 -4
  144. package/dist/{tools-TFGJICCU.js → tools-EFFEAIDP.js} +5 -6
  145. package/dist/{uninstall-5PEVOE5B.js → uninstall-HALS6BLF.js} +7 -8
  146. package/dist/{upgrade-M4WXY6KN.js → upgrade-MS72RJEP.js} +14 -11
  147. package/dist/{usage-N7ZNVLEM.js → usage-NHG6MCJM.js} +60 -51
  148. package/dist/{verifiers-DJTP4XX6.js → verifiers-7AUNVXDY.js} +150 -17
  149. package/dist/{verify-RWE4PPEK.js → verify-FWYGPKMR.js} +12 -10
  150. package/dist/{web-fetch-MPARV2K7.js → web-fetch-V4FKSDAV.js} +4 -4
  151. package/dist/{wiki-generate-C7IQOXSP.js → wiki-generate-743CIGJW.js} +63 -56
  152. package/dist/{with-panes-4GCGSL7J.js → with-panes-BDQEWBRT.js} +2 -2
  153. package/dist/worker/entry.js +36 -33
  154. package/docs/README.md +3 -2
  155. package/docs/architecture/acp.md +17 -0
  156. package/docs/architecture/artifact-versions.md +1 -1
  157. package/docs/architecture/dispatch-typed-intent.md +1 -1
  158. package/docs/architecture/evidence-and-memory.md +1 -1
  159. package/docs/architecture/observability.md +7 -1
  160. package/docs/architecture/prompt-envelope-and-tools.md +15 -5
  161. package/docs/architecture/safety-model.md +10 -17
  162. package/docs/architecture/tui-design.md +1 -1
  163. package/docs/guide/built-in-agents.md +8 -8
  164. package/docs/guide/commands-and-modes.md +17 -2
  165. package/docs/guide/configuration-and-targets.md +3 -1
  166. package/docs/guide/configuration-reference.md +10 -5
  167. package/docs/guide/environment-variables.md +2 -2
  168. package/docs/guide/tool-usage.md +78 -3
  169. package/docs/history/config-knobs-audit.md +2 -2
  170. package/docs/process/development-pipeline.md +6 -1
  171. package/docs/process/git-commit-provenance.md +15 -0
  172. package/docs/process/release-cut-checklist.md +207 -0
  173. package/docs/process/scientific-validation.md +18 -17
  174. package/evals/behavioral-machinery-support.ts +1 -0
  175. package/evals/behavioral-machinery.yaml +1 -1
  176. package/package.json +1 -1
  177. package/skills/coding/coding-standards/SKILL.md +14 -4
  178. package/skills/context/context-handoff/SKILL.md +3 -3
  179. package/skills/context/context-prime/SKILL.md +3 -3
  180. package/skills/planning/architecture/SKILL.md +5 -5
  181. package/skills/planning/backlog/SKILL.md +4 -4
  182. package/skills/planning/prd/SKILL.md +4 -3
  183. package/skills/planning/product-intent/SKILL.md +8 -8
  184. package/skills/planning/tech-spec/SKILL.md +4 -4
  185. package/skills/registry.yaml +32 -32
  186. package/skills/research/arxiv-literature/SKILL.md +3 -3
  187. package/skills/research/experiment-protocol/SKILL.md +3 -3
  188. package/skills/research/scientific-debugging/SKILL.md +3 -2
  189. package/skills/research/scientific-modernization/SKILL.md +3 -3
  190. package/skills/skill-marketplace.json +16 -16
  191. package/skills/workflow/cut-it/SKILL.md +3 -4
  192. package/skills/workflow/design-council/SKILL.md +5 -10
  193. package/skills/workflow/grill-me/SKILL.md +14 -15
  194. package/skills/workflow/workflow-distiller/SKILL.md +4 -4
  195. package/src/cli/args.ts +0 -8
  196. package/src/cli/configure.ts +2 -1
  197. package/src/cli/doctor-state-size.ts +1 -12
  198. package/src/cli/doctor-validation-contract.ts +28 -0
  199. package/src/cli/doctor.ts +5 -0
  200. package/src/cli/evidence-detail.ts +1 -75
  201. package/src/cli/evidence-inventory.ts +1 -167
  202. package/src/cli/index.ts +2 -0
  203. package/src/cli/run.ts +0 -2
  204. package/src/cli/targets.ts +1 -1
  205. package/src/cli/tasks.ts +84 -0
  206. package/src/cli/upgrade.ts +10 -5
  207. package/src/cli/usage.ts +6 -0
  208. package/src/cli/verifiers.ts +147 -1
  209. package/src/cli/wiki-generate.ts +1 -0
  210. package/src/core/commit-attribution.ts +41 -1
  211. package/src/core/git-commit-attribution.ts +46 -3
  212. package/src/core/run-overrides.ts +0 -5
  213. package/src/core/skill-activation.ts +3 -0
  214. package/src/core/tool-names.ts +5 -2
  215. package/src/domains/agents/builtins/architect.md +1 -1
  216. package/src/domains/agents/builtins/coder.md +1 -1
  217. package/src/domains/agents/builtins/documenter.md +1 -1
  218. package/src/domains/agents/builtins/git-master.md +1 -1
  219. package/src/domains/agents/builtins/provenance.md +7 -7
  220. package/src/domains/agents/builtins/tester.md +1 -1
  221. package/src/domains/agents/builtins/verifier.md +2 -2
  222. package/src/domains/agents/builtins/wiki-writer.md +4 -3
  223. package/src/domains/context/extension.ts +31 -7
  224. package/src/domains/context/refresh.ts +3 -0
  225. package/src/domains/context/wiki/frontmatter.ts +5 -2
  226. package/src/domains/context/wiki/generate.ts +6 -0
  227. package/src/domains/context/wiki/prompts.ts +43 -0
  228. package/src/domains/dispatch/active-route-planner.ts +4 -0
  229. package/src/domains/dispatch/code-step.ts +11 -4
  230. package/src/domains/dispatch/contract.ts +31 -7
  231. package/src/domains/dispatch/execution-scheduler.ts +2 -0
  232. package/src/domains/dispatch/extension.ts +50 -27
  233. package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
  234. package/src/domains/dispatch/fleet-run.ts +1 -0
  235. package/src/domains/dispatch/host-verification.ts +114 -13
  236. package/src/domains/dispatch/intent.ts +28 -18
  237. package/src/domains/dispatch/orphan-recovery.ts +2 -0
  238. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  239. package/src/domains/dispatch/reservation-store.ts +5 -3
  240. package/src/domains/dispatch/state.ts +15 -2
  241. package/src/domains/dispatch/types.ts +17 -2
  242. package/src/domains/eval/runners/clio-run.ts +12 -9
  243. package/src/domains/eval/runners/context-index.ts +2 -7
  244. package/src/domains/eval/runners/context-init.ts +3 -6
  245. package/src/domains/eval/runners/external-command.ts +29 -11
  246. package/src/domains/evidence/build.ts +102 -15
  247. package/src/domains/evidence/detail.ts +69 -0
  248. package/src/domains/evidence/eval.ts +13 -1
  249. package/src/domains/evidence/finish-contract-map.ts +5 -1
  250. package/src/domains/evidence/inventory.ts +167 -0
  251. package/src/domains/evidence/store.ts +16 -0
  252. package/src/domains/evidence/types.ts +12 -0
  253. package/src/domains/extensions/resources.ts +7 -0
  254. package/src/domains/middleware/marketplace-offer.ts +20 -1
  255. package/src/domains/middleware/runtime.ts +7 -3
  256. package/src/domains/mux/detect.ts +3 -6
  257. package/src/domains/observability/accountability.ts +15 -1
  258. package/src/domains/observability/contract.ts +52 -7
  259. package/src/domains/observability/evidence-index.ts +10 -0
  260. package/src/domains/observability/extension.ts +9 -5
  261. package/src/domains/observability/projection.ts +394 -45
  262. package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
  263. package/src/domains/prompts/fragments/operating/contract.md +2 -0
  264. package/src/domains/prompts/fragments/wiki/page.md +8 -0
  265. package/src/domains/providers/model-discovery.ts +1 -4
  266. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +16 -14
  267. package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
  268. package/src/domains/providers/support.ts +1 -1
  269. package/src/domains/providers/types/runtime-descriptor.ts +1 -1
  270. package/src/domains/safety/action-classifier.ts +7 -0
  271. package/src/domains/safety/default-path-policy.ts +2 -0
  272. package/src/domains/safety/finish-contract-registration.ts +29 -14
  273. package/src/domains/safety/finish-contract.ts +252 -40
  274. package/src/domains/safety/index.ts +20 -1
  275. package/src/domains/safety/policy-engine.ts +26 -6
  276. package/src/domains/safety/rigor.ts +53 -39
  277. package/src/domains/safety/validation-contract.ts +388 -0
  278. package/src/domains/session/archive-readers.ts +10 -1
  279. package/src/domains/session/decision-board.ts +101 -2
  280. package/src/domains/session/entries.ts +44 -7
  281. package/src/domains/session/extension.ts +4 -4
  282. package/src/domains/session/handoff.ts +2 -1
  283. package/src/domains/session/manager.ts +2 -3
  284. package/src/domains/session/task-board.ts +14 -1
  285. package/src/domains/session/tree/fork.ts +1 -2
  286. package/src/domains/session/tree/navigator.ts +1 -1
  287. package/src/domains/user-tasks/acceptance.ts +56 -0
  288. package/src/domains/user-tasks/active-acceptance.ts +40 -0
  289. package/src/domains/user-tasks/store.ts +34 -3
  290. package/src/engine/acp/adapter.ts +24 -6
  291. package/src/engine/acp/server.ts +21 -4
  292. package/src/engine/acp/transport.ts +53 -8
  293. package/src/engine/acp/types.ts +4 -0
  294. package/src/engine/apis/ollama-native.ts +15 -0
  295. package/src/engine/claude/subprocess-runtime.ts +107 -60
  296. package/src/engine/external-subprocess.ts +12 -4
  297. package/src/entry/orchestrator.ts +11 -2
  298. package/src/interactive/dispatch-board.ts +46 -717
  299. package/src/interactive/fleet-run-preview.ts +2 -1
  300. package/src/interactive/interactive-application.ts +3 -2
  301. package/src/interactive/interactive-presentation.ts +55 -12
  302. package/src/interactive/interactive-slash-runtime.ts +2 -1
  303. package/src/interactive/oracle.ts +5 -2
  304. package/src/interactive/overlays/fleet-run-approval.ts +3 -2
  305. package/src/interactive/overlays/message-picker.ts +2 -2
  306. package/src/interactive/overlays/settings.ts +2 -2
  307. package/src/interactive/overlays/tree-selector.ts +2 -2
  308. package/src/interactive/renderers/branch-summary.ts +1 -1
  309. package/src/interactive/slash-autocomplete.ts +4 -6
  310. package/src/interactive/slash-commands.ts +25 -39
  311. package/src/interactive/slash-spec.ts +28 -0
  312. package/src/interactive/view/artifacts.ts +2 -0
  313. package/src/interactive/worker-stream.ts +7 -3
  314. package/src/tools/bootstrap.ts +4 -0
  315. package/src/tools/builtin-tool-catalog.ts +31 -0
  316. package/src/tools/compete-worktrees.ts +7 -1
  317. package/src/tools/core-bootstrap.ts +16 -0
  318. package/src/tools/decide.ts +136 -0
  319. package/src/tools/dispatch-admission.ts +21 -0
  320. package/src/tools/dispatch-plan.ts +5 -2
  321. package/src/tools/dispatch-runner.ts +15 -1
  322. package/src/tools/dispatch-types.ts +6 -0
  323. package/src/tools/evidence.ts +96 -0
  324. package/src/tools/limitation.ts +76 -0
  325. package/src/tools/policy.ts +9 -0
  326. package/src/tools/presentation.ts +3 -0
  327. package/src/tools/registry.ts +1 -1
  328. package/src/tools/result-shaping.ts +17 -5
  329. package/src/tools/task-worktree.ts +13 -3
  330. package/src/tools/tasks.ts +10 -1
  331. package/src/tools/verify/authoring.ts +170 -83
  332. package/src/tools/verify/catalog.ts +122 -5
  333. package/src/tools/verify/index.ts +2 -1
  334. package/src/tools/verify/numeric.ts +298 -0
  335. package/src/tools/verify/perf.ts +143 -0
  336. package/src/tools/verify/scripts.ts +229 -2
  337. package/dist/chunk-7DICMOS6.js +0 -313
  338. package/dist/chunk-RVG5JXAL.js +0 -41
  339. package/dist/chunk-T56WDKA5.js +0 -183
  340. package/dist/chunk-VPKWYKEY.js +0 -169
@@ -5,119 +5,125 @@ import {
5
5
  import {
6
6
  SchedulingDomainModule,
7
7
  createPromptsDomainModule
8
- } from "./chunk-WCXUNS7U.js";
9
- import {
10
- SafetyDomainModule
11
- } from "./chunk-YQWYVTMC.js";
8
+ } from "./chunk-YNFKXPEC.js";
12
9
  import {
13
10
  ConfigDomainModule,
14
11
  loadDomains
15
- } from "./chunk-WBKFA554.js";
12
+ } from "./chunk-72YIHOZQ.js";
13
+ import "./chunk-4WR7VSYB.js";
16
14
  import {
17
15
  createObservabilityDomainModule
18
- } from "./chunk-MWUZBSAQ.js";
19
- import "./chunk-VA5FNYMT.js";
20
- import "./chunk-4WR7VSYB.js";
16
+ } from "./chunk-Y55JBDO5.js";
17
+ import "./chunk-JT2RFCC5.js";
21
18
  import {
22
19
  ContextDomainModule,
23
20
  buildWikiPagePrompt,
24
21
  buildWikiPlanPrompt
25
- } from "./chunk-KK4JZPBQ.js";
22
+ } from "./chunk-IZXGRF7P.js";
26
23
  import "./chunk-R6Q67RJH.js";
27
- import "./chunk-Y3CBHOR6.js";
28
- import "./chunk-BEPZRGGU.js";
24
+ import {
25
+ SafetyDomainModule
26
+ } from "./chunk-5636DCO5.js";
27
+ import "./chunk-V6HJFQZE.js";
28
+ import "./chunk-EL24TAU4.js";
29
29
  import {
30
30
  MAX_PAGE_ATTEMPTS,
31
31
  pendingPages,
32
32
  readAuthoredWikiPlan,
33
33
  writeWikiPlanFile
34
- } from "./chunk-NDINPTJ4.js";
34
+ } from "./chunk-ELZVTCGV.js";
35
35
  import "./chunk-MXHC5QYU.js";
36
+ import "./chunk-XXYSBZIQ.js";
36
37
  import {
37
38
  ResourcesDomainModule
38
- } from "./chunk-G76U63X4.js";
39
+ } from "./chunk-RQCKCSRL.js";
39
40
  import {
40
41
  AgentsDomainModule
41
- } from "./chunk-UPZU6GE4.js";
42
- import "./chunk-RRNP2ANY.js";
42
+ } from "./chunk-RZDWV63N.js";
43
+ import "./chunk-7UGL4MB5.js";
43
44
  import "./chunk-DR52UMZW.js";
45
+ import "./chunk-YAKGTXEV.js";
44
46
  import {
45
47
  DispatchDomainModule
46
- } from "./chunk-AF4YM7Z4.js";
47
- import "./chunk-B4VEBZKF.js";
48
- import "./chunk-E3TPLWFX.js";
49
- import "./chunk-WRBAGUNF.js";
50
- import "./chunk-IWT4SF4R.js";
48
+ } from "./chunk-NRO2BJRH.js";
49
+ import "./chunk-NXIMQY5W.js";
50
+ import "./chunk-XRZT5WY5.js";
51
+ import "./chunk-QUFRYSWI.js";
52
+ import "./chunk-LTIKRKFL.js";
53
+ import "./chunk-ODGTEFFI.js";
54
+ import "./chunk-CUSRQKPU.js";
51
55
  import {
52
56
  SessionDomainModule
53
- } from "./chunk-JKKCYP3C.js";
57
+ } from "./chunk-6UINWWS6.js";
54
58
  import "./chunk-FTMGRKEF.js";
55
- import "./chunk-XRZT5WY5.js";
56
- import "./chunk-RVG5JXAL.js";
57
59
  import "./chunk-VIA6RFQZ.js";
58
- import "./chunk-T56WDKA5.js";
59
60
  import "./chunk-W6GROXXM.js";
60
- import "./chunk-2VIKGWFZ.js";
61
+ import "./chunk-I2DWJ4GM.js";
62
+ import "./chunk-OEJSLEPW.js";
61
63
  import "./chunk-RKKLTLYB.js";
62
- import "./chunk-6PTFB5VS.js";
63
- import "./chunk-TXOTCRLG.js";
64
+ import "./chunk-K6T2ZAMZ.js";
65
+ import "./chunk-3UUXNFEX.js";
64
66
  import "./chunk-VKPAQYEB.js";
65
67
  import "./chunk-LCGCVYZ4.js";
66
- import "./chunk-LDJG7DW3.js";
68
+ import "./chunk-2ZSONWVL.js";
67
69
  import "./chunk-NDDGJUXD.js";
68
- import "./chunk-CE5AX47J.js";
70
+ import "./chunk-YECAMM3D.js";
71
+ import "./chunk-V76WTFTW.js";
69
72
  import "./chunk-3DPEIQKN.js";
70
- import "./chunk-7DRAWPTZ.js";
73
+ import "./chunk-TQAHXW6Y.js";
71
74
  import "./chunk-5MEZN6CB.js";
72
75
  import "./chunk-4O6MANBS.js";
73
76
  import "./chunk-JVCV3ICN.js";
74
77
  import "./chunk-HVDIIIQW.js";
75
78
  import {
76
79
  MiddlewareDomainModule
77
- } from "./chunk-2UG5F4C5.js";
80
+ } from "./chunk-XULDXHTN.js";
78
81
  import "./chunk-5PSMVOLM.js";
79
82
  import "./chunk-2WZ546HR.js";
80
83
  import "./chunk-VG7TBQIY.js";
81
- import "./chunk-PAJQJ7BS.js";
82
- import "./chunk-EKCHAPYA.js";
83
- import "./chunk-L47TF46W.js";
84
- import "./chunk-RSJ25QSL.js";
85
- import "./chunk-XIVNBFZS.js";
84
+ import "./chunk-75W7L2E2.js";
85
+ import "./chunk-6QOTUPRG.js";
86
+ import "./chunk-AUPNRN7C.js";
87
+ import "./chunk-6PAZTBPA.js";
88
+ import "./chunk-6Q3CYFD3.js";
86
89
  import "./chunk-NEDJ26B5.js";
87
- import "./chunk-42FMPA75.js";
88
- import "./chunk-H7IXIC72.js";
89
- import "./chunk-7DICMOS6.js";
90
90
  import "./chunk-OQE5J4C6.js";
91
+ import "./chunk-NAI6ZFCY.js";
92
+ import "./chunk-OZNBF4L3.js";
93
+ import "./chunk-QZWQA4DE.js";
94
+ import "./chunk-H7IXIC72.js";
95
+ import "./chunk-KFV5L5SK.js";
96
+ import "./chunk-NXYCB2VD.js";
97
+ import "./chunk-ECH6PKUQ.js";
98
+ import "./chunk-IRXAATOX.js";
99
+ import "./chunk-BJVFZO5U.js";
100
+ import "./chunk-DXKJURES.js";
91
101
  import "./chunk-HHV2GANA.js";
92
- import "./chunk-B4OAX3SI.js";
93
- import "./chunk-I7ZPNEJM.js";
94
102
  import "./chunk-GYV6VZOC.js";
95
103
  import "./chunk-UL3WSD3F.js";
96
- import "./chunk-JDAY6FIL.js";
97
- import "./chunk-OZNBF4L3.js";
98
- import "./chunk-ECH6PKUQ.js";
99
- import "./chunk-6XLNIQDB.js";
100
104
  import "./chunk-5B2AEOW5.js";
101
105
  import "./chunk-VAVR4IJY.js";
102
- import "./chunk-JGRC33J2.js";
103
106
  import "./chunk-4BJ5BYCE.js";
107
+ import "./chunk-54X7T7DK.js";
108
+ import "./chunk-I5FWO7L5.js";
109
+ import "./chunk-6XLNIQDB.js";
104
110
  import {
105
111
  ToolNames
106
- } from "./chunk-K6BSR66V.js";
112
+ } from "./chunk-4NSRCOYP.js";
107
113
  import {
108
114
  ProvidersDomainModule,
109
115
  canonicalizeWireModelId
110
- } from "./chunk-XPWWI35G.js";
116
+ } from "./chunk-JSD46VO2.js";
111
117
  import "./chunk-CFGTUFWB.js";
112
118
  import "./chunk-NZMNUPZZ.js";
113
119
  import "./chunk-2JH2WHGE.js";
114
- import "./chunk-HAXOFFRH.js";
115
- import "./chunk-R346GLFC.js";
116
120
  import "./chunk-KXDSS5WJ.js";
117
121
  import "./chunk-GHS5EBTQ.js";
118
122
  import "./chunk-D7E7WCDF.js";
123
+ import "./chunk-HAXOFFRH.js";
124
+ import "./chunk-R346GLFC.js";
119
125
  import "./chunk-BTK3SSSK.js";
120
- import "./chunk-NMJXSHBJ.js";
126
+ import "./chunk-W54I7H25.js";
121
127
  import "./chunk-PMZVFWSR.js";
122
128
  import "./chunk-F4EKGO4N.js";
123
129
  import "./chunk-BWH6N36D.js";
@@ -128,15 +134,15 @@ import "./chunk-33YXPOE3.js";
128
134
  import "./chunk-7CR24IG7.js";
129
135
  import "./chunk-XPLRXC72.js";
130
136
  import "./chunk-IWHMRKLL.js";
131
- import "./chunk-VW6DOEDG.js";
137
+ import "./chunk-6OSVSQL5.js";
132
138
  import "./chunk-UXCU4E3T.js";
133
139
  import "./chunk-LL4KHSZI.js";
134
- import "./chunk-JSC3U7TI.js";
135
140
  import "./chunk-S66XZJOF.js";
136
- import "./chunk-JIEGK6UF.js";
141
+ import "./chunk-TOIVGRUX.js";
142
+ import "./chunk-U6TMQNSI.js";
137
143
  import "./chunk-EBY63B7G.js";
138
144
  import "./chunk-6EJMN2Y3.js";
139
- import "./chunk-LLDJM5XK.js";
145
+ import "./chunk-26QSH3EJ.js";
140
146
  import "./chunk-ID64D7PE.js";
141
147
  import "./chunk-336NSSKI.js";
142
148
  import "./chunk-IKCO5N3L.js";
@@ -328,6 +334,7 @@ async function runPagePhase(dispatch, input, plan, page, route, position) {
328
334
  codewiki: input.codewiki,
329
335
  page,
330
336
  siblings: plan.pages,
337
+ ...input.decisions ? { decisions: input.decisions } : {},
331
338
  outputDir: input.outputDir,
332
339
  seeded
333
340
  }),
@@ -466,4 +473,4 @@ export {
466
473
  modelWikiGenerate,
467
474
  resolveDocumenterModelId
468
475
  };
469
- //# sourceMappingURL=wiki-generate-C7IQOXSP.js.map
476
+ //# sourceMappingURL=wiki-generate-743CIGJW.js.map
@@ -9,7 +9,7 @@ import {
9
9
  createYaziSession,
10
10
  resolveYaziBinaries,
11
11
  watchViewerCommand
12
- } from "./chunk-KKOJXO6R.js";
12
+ } from "./chunk-OMQNJVKW.js";
13
13
  import {
14
14
  ensureYaziProfile,
15
15
  yaziProfileDir
@@ -611,4 +611,4 @@ export {
611
611
  createWatchPaneController,
612
612
  createYaziBridge
613
613
  };
614
- //# sourceMappingURL=with-panes-4GCGSL7J.js.map
614
+ //# sourceMappingURL=with-panes-BDQEWBRT.js.map
@@ -17,25 +17,25 @@ import {
17
17
  resolveDeliveryTools,
18
18
  sanitizeLockedSynthesisMessage,
19
19
  workerLoopBlockBudget
20
- } from "../chunk-GI7YYQ3F.js";
20
+ } from "../chunk-36CT5VVL.js";
21
+ import "../chunk-BMS5RKQY.js";
21
22
  import {
22
23
  createMiddlewareContractFromSnapshot,
23
24
  createMiddlewareToolChoiceControl,
24
25
  shouldRequestStalledTurnContinuation
25
- } from "../chunk-2UG5F4C5.js";
26
+ } from "../chunk-XULDXHTN.js";
27
+ import "../chunk-2CU2H6KE.js";
28
+ import "../chunk-GX5WYQO4.js";
29
+ import "../chunk-RXTN6AKH.js";
30
+ import "../chunk-3UNOLWNZ.js";
26
31
  import {
27
32
  CONFIRMED_SCOPE,
28
33
  READONLY_SCOPE,
29
34
  WORKSPACE_SCOPE,
30
35
  isSubset
31
36
  } from "../chunk-5PSMVOLM.js";
32
- import "../chunk-BMS5RKQY.js";
33
37
  import "../chunk-2WZ546HR.js";
34
- import "../chunk-MCEPRMZW.js";
35
- import "../chunk-ZDN3Y73Y.js";
36
- import "../chunk-64I3JVYM.js";
37
38
  import "../chunk-VG7TBQIY.js";
38
- import "../chunk-IUE3Y34X.js";
39
39
  import {
40
40
  DEFAULT_ESCALATION_FALLBACK,
41
41
  DEFAULT_ESCALATION_TIMEOUT_MS,
@@ -52,40 +52,41 @@ import {
52
52
  startAntigravityWorkerRun,
53
53
  startClaudeCodeWorkerRun,
54
54
  validateRehydratedWorkerRuntime
55
- } from "../chunk-PAJQJ7BS.js";
56
- import "../chunk-EKCHAPYA.js";
57
- import "../chunk-L47TF46W.js";
55
+ } from "../chunk-75W7L2E2.js";
58
56
  import {
59
57
  createLoopState,
60
58
  observe
61
- } from "../chunk-RSJ25QSL.js";
59
+ } from "../chunk-6QOTUPRG.js";
60
+ import "../chunk-AUPNRN7C.js";
61
+ import "../chunk-6PAZTBPA.js";
62
62
  import {
63
63
  createSafetyPolicyEngine
64
- } from "../chunk-XIVNBFZS.js";
64
+ } from "../chunk-6Q3CYFD3.js";
65
65
  import {
66
66
  describeCallTarget
67
67
  } from "../chunk-NEDJ26B5.js";
68
- import "../chunk-42FMPA75.js";
69
- import "../chunk-H7IXIC72.js";
70
- import "../chunk-7DICMOS6.js";
71
68
  import "../chunk-OQE5J4C6.js";
72
- import "../chunk-HHV2GANA.js";
69
+ import "../chunk-NAI6ZFCY.js";
70
+ import "../chunk-OZNBF4L3.js";
71
+ import "../chunk-QZWQA4DE.js";
72
+ import "../chunk-H7IXIC72.js";
73
73
  import {
74
74
  RESULT_CONTRACT_REPAIR_LIMIT,
75
75
  classify,
76
76
  parseWorkerResultContract,
77
77
  resultContractRepairMessages,
78
78
  validateResultContract
79
- } from "../chunk-B4OAX3SI.js";
79
+ } from "../chunk-KFV5L5SK.js";
80
80
  import {
81
81
  protectedArtifactMutationBlockReason
82
- } from "../chunk-I7ZPNEJM.js";
82
+ } from "../chunk-NXYCB2VD.js";
83
+ import "../chunk-ECH6PKUQ.js";
84
+ import "../chunk-IRXAATOX.js";
85
+ import "../chunk-BJVFZO5U.js";
86
+ import "../chunk-DXKJURES.js";
87
+ import "../chunk-HHV2GANA.js";
83
88
  import "../chunk-GYV6VZOC.js";
84
89
  import "../chunk-UL3WSD3F.js";
85
- import "../chunk-JDAY6FIL.js";
86
- import "../chunk-OZNBF4L3.js";
87
- import "../chunk-ECH6PKUQ.js";
88
- import "../chunk-6XLNIQDB.js";
89
90
  import "../chunk-5B2AEOW5.js";
90
91
  import {
91
92
  UNKNOWN_RESOURCE,
@@ -103,14 +104,16 @@ import {
103
104
  workerSpecDigest
104
105
  } from "../chunk-VAVR4IJY.js";
105
106
  import "../chunk-QSNYB6ZV.js";
107
+ import "../chunk-4BJ5BYCE.js";
106
108
  import {
107
109
  DEFAULT_AUTONOMY_LEVEL,
108
110
  agentSkillToolPolicy
109
- } from "../chunk-JGRC33J2.js";
110
- import "../chunk-4BJ5BYCE.js";
111
+ } from "../chunk-54X7T7DK.js";
112
+ import "../chunk-I5FWO7L5.js";
113
+ import "../chunk-6XLNIQDB.js";
111
114
  import {
112
115
  ToolNames
113
- } from "../chunk-K6BSR66V.js";
116
+ } from "../chunk-4NSRCOYP.js";
114
117
  import "../chunk-QDC3K2U3.js";
115
118
  import {
116
119
  FileKnowledgeBase,
@@ -122,20 +125,20 @@ import {
122
125
  setGlobalDefaultMaxOutputTokens,
123
126
  setProtectedModelsProvider,
124
127
  setResidencyNoticeSink
125
- } from "../chunk-XPWWI35G.js";
128
+ } from "../chunk-JSD46VO2.js";
126
129
  import "../chunk-CFGTUFWB.js";
127
130
  import "../chunk-NZMNUPZZ.js";
128
131
  import "../chunk-2JH2WHGE.js";
129
- import "../chunk-HAXOFFRH.js";
130
- import "../chunk-R346GLFC.js";
131
132
  import "../chunk-KXDSS5WJ.js";
132
133
  import {
133
134
  readSettings,
134
135
  validateSettingsFile
135
136
  } from "../chunk-GHS5EBTQ.js";
136
137
  import "../chunk-D7E7WCDF.js";
138
+ import "../chunk-HAXOFFRH.js";
139
+ import "../chunk-R346GLFC.js";
137
140
  import "../chunk-BTK3SSSK.js";
138
- import "../chunk-NMJXSHBJ.js";
141
+ import "../chunk-W54I7H25.js";
139
142
  import "../chunk-PMZVFWSR.js";
140
143
  import "../chunk-F4EKGO4N.js";
141
144
  import "../chunk-65DEGPJ6.js";
@@ -144,25 +147,25 @@ import {
144
147
  } from "../chunk-IWHMRKLL.js";
145
148
  import {
146
149
  registerBuiltinRuntimes
147
- } from "../chunk-VW6DOEDG.js";
150
+ } from "../chunk-6OSVSQL5.js";
148
151
  import "../chunk-UXCU4E3T.js";
149
152
  import "../chunk-LL4KHSZI.js";
150
- import "../chunk-JSC3U7TI.js";
151
153
  import {
152
154
  configureGuardrails,
153
155
  guardrailValuesFromSettings,
154
156
  isWorkerToolCallCapExceededReason,
155
157
  isWorkerToolCallCapSynthesisReason
156
158
  } from "../chunk-S66XZJOF.js";
159
+ import "../chunk-TOIVGRUX.js";
157
160
  import {
158
161
  setGitCommitAttributionEnabled,
159
162
  withManagedGitCommitAttributionEnvironment
160
- } from "../chunk-JIEGK6UF.js";
163
+ } from "../chunk-U6TMQNSI.js";
161
164
  import "../chunk-EBY63B7G.js";
162
165
  import {
163
166
  AI_AGENT_NAME
164
167
  } from "../chunk-6EJMN2Y3.js";
165
- import "../chunk-LLDJM5XK.js";
168
+ import "../chunk-26QSH3EJ.js";
166
169
  import "../chunk-ID64D7PE.js";
167
170
  import "../chunk-336NSSKI.js";
168
171
  import "../chunk-IKCO5N3L.js";
package/docs/README.md CHANGED
@@ -135,8 +135,9 @@ repository.
135
135
 
136
136
  The [configuration-knob audit](history/config-knobs-audit.md) is a dated historical
137
137
  inventory, not the current settings reference. The
138
- [v0.4.1 release-cut checklist](history/release-cut-checklist.md) is retained as release
139
- engineering history and must not be reused unchanged for a future release.
138
+ [release-cut checklist](process/release-cut-checklist.md) is the current release
139
+ procedure; the earlier [v0.4.1 release-cut checklist](history/release-cut-checklist.md)
140
+ is retained as release engineering history.
140
141
 
141
142
  ## Developer quick start
142
143
 
@@ -330,3 +330,20 @@ export class AcpProcessError extends AcpError {
330
330
  }
331
331
  }
332
332
  ```
333
+
334
+ ---
335
+
336
+ ## 9. Registry Submission
337
+
338
+ To list Clio Coder in the upstream Agent Client Protocol registry (such as the registry used by the Zed editor), repository submission assets are maintained under `assets/acp-registry/`:
339
+
340
+ - `assets/acp-registry/agent.json`: Agent registry manifest containing the agent identifier, display name, release version, description, repository URLs, and distribution specification launching `clio-coder acp`.
341
+ - `assets/acp-registry/icon.svg`: A 16x16 monochrome icon using `currentColor` stroke and fill derived from the Clio logo.
342
+
343
+ The submission procedure follows these steps:
344
+
345
+ 1. Fork the upstream registry repository at `https://github.com/agentclientprotocol/registry`.
346
+ 2. Create an entry directory matching the agent identifier: `mkdir clio-coder`.
347
+ 3. Copy `assets/acp-registry/agent.json` and `assets/acp-registry/icon.svg` into that directory.
348
+ 4. Verify that `agent.json` adheres to the registry schema and that `icon.svg` remains monochrome with viewBox `0 0 16 16`.
349
+ 5. Submit a pull request to the upstream registry repository. Once merged, clients that consume the ACP registry discover and install Clio Coder automatically.
@@ -43,7 +43,7 @@ normalization.
43
43
  | **Capacity State File** | `2` | `version: 2` in `interface CapacityStateFile`<br>`src/domains/dispatch/capacity-lease.ts:56` | `<stateDir>/dispatch-admission.json` | Active capacity leases, drain status, and whole-plan reservations. The cross-process advisory lock lives in a separate `.lock` file. | Corrupted or unparseable state file causes admission to fail closed. |
44
44
  | **Protected Artifact Journal** | `1` | `version: 1` in `interface PendingProtectedArtifactRecord`<br>`src/domains/session/protected-artifact-journal.ts:21` | `<stateDir>/protected-artifact-pending/<key>/<id>.json` | Write-ahead durability records for pending protected artifacts. | Leftover records reconciled during session initialization. |
45
45
  | **Fleet Run Record** | `1` | `version: 1` in `interface FleetRunRecord`<br>`src/domains/dispatch/state.ts` | `<stateDir>/fleet-runs/<runId>.json` | Durable record of one fleet run: contract name, plan hash, static step ids and steps, `--var` values, replayed and settled step results, and the delegation plan hash a `kind: plan` step produced. Read by `fleet run --resume`. | Resume refuses a changed plan hash with a per-step diff and refuses differing `--var` values. |
46
- | **Dispatch Run Ledger** | unversioned JSON array | `RunEnvelope`<br>`src/domains/dispatch/state.ts` | `<stateDir>/runs.json` | In-memory mirror of recent dispatch runs (id, agent, target, model, runtime, status, timing, receipt path, budget/briefing/steering provenance), newest-first, persisted as a settings-bounded ring (default 1000 runs). Read by the eval, evidence, CLI (`usage`), and TUI (Dispatch Board) domains, among others. | A missing file reads as empty; a non-array top-level JSON value reads as empty; malformed JSON throws. There is no per-record version field to check or reject on, since `RunEnvelope` carries none. |
46
+ | **Dispatch Run Ledger** | `1` | `version: 1` in `interface RunEnvelope`<br>`src/domains/dispatch/state.ts` | `<stateDir>/runs.json` | In-memory mirror of recent dispatch runs (id, agent, target, model, runtime, status, timing, receipt path, budget/briefing/steering provenance), newest-first, persisted as a settings-bounded ring (default 1000 runs). Read by the eval, evidence, CLI (`usage`), and TUI (Dispatch Board) domains, among others. | A missing file reads as empty; a non-array top-level JSON value reads as empty; malformed JSON throws. A missing record version is treated as 1; records with any other version are skipped. |
47
47
  | **Durable Assignment Store** | `1` | `version: 1` in `interface AssignmentStoreFile`<br>`DurableAssignmentRecord`<br>`src/domains/dispatch/assignment-store.ts` | `<stateDir>/assignments.json` | Machine-wide logical-dispatch records: assignment id, attempt ids, terminal run id, status, optional fleet verdict owner, and—while running—`processOwner {pid, processBirthToken, acquiredAt}`. The owner is cleared on a true terminal transition. | A live sibling owner keeps the row running; a genuinely dead or legacy ownerless row is reconciled. An unsupported or unreadable store is treated as empty, and malformed records are ignored. |
48
48
  | **Checkout Writer Lease** | `1` | `version: 1` in `interface CheckoutWriterLeaseRecord`<br>`src/domains/dispatch/checkout-writer-lease.ts` | `<stateDir>/checkout-writer-leases/<key>.json` (key derived from the canonical checkout path) | Cross-process single-writer lease: checkout path, pid, process birth token, acquisition time. | A live sibling holder is refused with `checkout_writer_lease_held`; a dead owner is reclaimed; a malformed or unreadable record throws and fails admission closed. |
49
49
  | **Out-of-turn Usage Ledger** | unversioned JSONL | `OutOfTurnUsageRow`<br>`src/domains/observability/out-of-turn-usage.ts` | `<stateDir>/usage/out-of-turn.jsonl` | One row per recorded side question, handoff, prompt prewarm, background-memory call, or summary stream in an unsuccessful compaction. Labels are `side-question`, `handoff`, `prewarm`, `background-memory`, and `failed-compaction`; rows retain session/repository identity, timestamp, selected target/model, and observed usage. New failed-compaction rows add `callOutcome`, nullable unknown usage fields, and estimated/unknown cost provenance; legacy numeric rows remain readable. Successful compactions keep usage on their checkpoint. The ledger is a bounded ring of `MAX_OUT_OF_TURN_USAGE_ROWS = 1000`, rewritten atomically under the state-file lock. | Unparseable rows are skipped and counted by `usage report`; the session ledger is never affected. |
@@ -250,7 +250,7 @@ producer.
250
250
  | `intent_absent_legacy_inference` | classifier-only warn | No typed intent; scope came from legacy inference. Production admission does not emit it. |
251
251
  | `intent_partial_verification_absent` | classifier-only warn | Declares tree-changing work with no verification requirement. Production admission does not emit it. |
252
252
  | `typed_scope_replaced_inferred_paths` | warn | Typed intent was declared, so prose-only paths took no part in scope. |
253
- | `legacy_scope_inferred` | retained compatibility id | Accepted by the event projection for older producers; no current source emits it. |
253
+ | `legacy_scope_inferred` | warn | Emitted by `path-scope.ts` when prose inference resolves a leading `../` run against the dispatch root. The detail lists each token as `<raw token> -> <path or dropped>`. |
254
254
  | `legacy_scope_empty` | retained compatibility id | Accepted by the event projection for older producers; no current source emits it. |
255
255
  | `intent_version_unsupported` | refuse | `intent.version` names a version this build does not speak. |
256
256
  | `intent_malformed` | refuse | Not a normalized intent for a reason other than its version. |
@@ -86,7 +86,7 @@ When a run was chained (pipeline), composed with a persona override, or escalate
86
86
 
87
87
  ### Task and decision provenance
88
88
 
89
- Session evidence retains the two operator-facing bookkeeping ledgers instead of flattening them into prose. A `taskLedger` projection names the stable board id, goal counts, active runs, required evidence, and bounded task rows with status, origin, `userTaskId`, reason, and evidence. This keeps an operator task traceable from the project inbox correlation through agent pickup and completion. A `decisionLedger` projection names the active-path anchor, interview identity and status, timing, round count, summary, and every settled or superseded decision. Operator revisions are explicit through `revisedAt`, `revisionSource=operator`, and the recorded correction text. Both kinds remain session facts in `trace.raw.jsonl`, `trace.cleaned.jsonl`, and the readable transcript; evidence does not reinterpret them as validation results.
89
+ Session evidence retains the two operator-facing bookkeeping ledgers instead of flattening them into prose. A `taskLedger` projection names the stable board id, goal counts, active runs, required evidence, and bounded task rows with status, origin, `userTaskId`, reason, and evidence. This keeps an operator task traceable from the project inbox correlation through agent pickup and completion. A `decisionLedger` projection names the active-path anchor, interview identity and status, timing, round count, summary, and every settled or superseded decision. Operator revisions are explicit through `revisedAt`, `revisionSource=operator`, and the recorded correction text. Both kinds remain session facts in `trace.raw.jsonl`, `trace.cleaned.jsonl`, and the readable transcript; evidence does not reinterpret them as validation results. Authenticated receipt `decisionRefs` link runs to recorded arguments on the session's active path, with resolved records in `overview.json` and resolved or missing-reference findings in both readable evidence documents. Wiki page writers receive up to twelve active decisions matching their source paths or symbols and cite those refs in the body and optional `decisions` frontmatter instead of inferring rationale.
90
90
 
91
91
  ---
92
92
 
@@ -172,7 +172,7 @@ Clio resolves directories under platform-specific XDG defaults (on Linux, these
172
172
 
173
173
  | Category | Description | Backing Path |
174
174
  | --- | --- | --- |
175
- | **Accountability** | Rolling first-pass-success rate and failure-cause histogram. | `<stateDir>/evidence-index.json` |
175
+ | **Accountability** | Rolling first-pass-success rate, unverified successes, ungrounded claims, and failure-cause histogram. | `<stateDir>/evidence-index.json` |
176
176
  | **Evidence bundles** | Deterministic run or session overviews, findings, totals, and linked files. | `<dataDir>/evidence/<evidenceId>/` |
177
177
  | **Receipts** | Durable run receipts verified by SHA-256 integrity digests. | `<stateDir>/receipts/<runId>.json` |
178
178
  | **Dispatch outputs** | Logs and ledger records detailing worker execution. | `<stateDir>/runs.json` and `<stateDir>/receipts/<runId>.json` |
@@ -201,6 +201,12 @@ A run is marked as a first-pass success when:
201
201
  The TUI displays this rate as:
202
202
  `first-pass success: <succeeded-attempts>/<total-attempts> (<pct>%)`
203
203
 
204
+ ### Unverified Successes and Ungrounded Claims
205
+ Two counters sit beside the rate in `/view`, `clio-coder usage`, and the observability contract. An unverified success is a run whose terminal outcome succeeded while its bundle carries the `no-validation` or `proxy-validation` tag or a warning-level `completion-evidence` finding. Ungrounded claims are the sum, over integrity-verified receipts, of validation claims with no matching command (`validationGrounding.claimed` minus `grounded`). Both fold only the fields an index row holds: a historical row without `succeeded`, `completionEvidenceWarning`, or `ungroundedClaims` contributes zero.
206
+
207
+ The TUI displays them as:
208
+ `unverified successes: <count>` and `ungrounded claims: <count>`
209
+
204
210
  ### Failure-Cause Histogram
205
211
  The TUI lists the top failure causes sorted by frequency (descending), then by tag name (ascending). The histogram filters out provenance and quality tags (such as `audit-linked`, `session-linked`, and `no-validation`) and displays only real failure causes:
206
212
  - `timeout`
@@ -81,9 +81,9 @@ The compiler runs after target capability and tool-profile admission. Its canoni
81
81
 
82
82
  Project context, memory, bounded dispatch briefing, pipeline input, the assigned task, and the per-run safety-posture reminder remain dynamic user messages. A briefing is a separately delimited message labeled as untrusted task context/data; it is never concatenated into the task or stable system prompt. Dynamic ordering is project, safety, memory, briefing, then pipeline input, with pipeline input last. These messages do not affect the stable composition hash. Persona, effective autonomy, target tool capability, or final toolkit changes do affect it.
83
83
 
84
- ## Seven planes, twenty-one tools
84
+ ## Seven planes, twenty-four tools
85
85
 
86
- The canonical builtin catalog contains 21 tools organized in seven planes. A
86
+ The canonical builtin catalog contains 24 tools organized in seven planes. A
87
87
  particular session or worker receives the subset whose dependencies and policy
88
88
  allow it to register. Each plane is one policy unit: its tools share an action
89
89
  class, a size posture, a details schema, and a concurrency rule.
@@ -95,6 +95,7 @@ engine assumes.
95
95
  | Plane | Tools | Action class | Concurrency |
96
96
  | --- | --- | --- | --- |
97
97
  | OBSERVE | `read`, `grep`, `find`, `ls`, `code_nav`, `context`, `credential_present` | read | parallel |
98
+ | OBSERVE | `evidence` | read | sequential |
98
99
  | MUTATE | `write`, `edit` | write | sequential |
99
100
  | EXECUTE | `bash`, `verify` | execute | sequential |
100
101
  | EXECUTE | `git` | read | parallel |
@@ -103,6 +104,8 @@ engine assumes.
103
104
  | ORCHESTRATE | `tasks` | read | sequential |
104
105
  | ORCHESTRATE | `ledger` | read | sequential |
105
106
  | ORCHESTRATE | `panes` | read | sequential |
107
+ | ORCHESTRATE | `limitation` | read | parallel |
108
+ | ORCHESTRATE | `decide` | read | sequential |
106
109
  | RETRIEVE | `web_fetch` | read | parallel |
107
110
  | INTERACT | `ask_user` | read | sequential |
108
111
  | ARTIFACT | `artifact` | write | sequential |
@@ -120,7 +123,14 @@ and a read answers from a local mirror, so it touches no workspace and stays
120
123
  read class, and reviewers and judges are pinned to read-only autonomy where a
121
124
  write class would block the peer review the board exists for. `panes` controls
122
125
  only Clio-owned terminal panes through the live mux; it stays read class but is
123
- sequential so two operations cannot race the same pane registry.
126
+ sequential so two operations cannot race the same pane registry. `evidence` sits in the OBSERVE plane
127
+ because it only reads canonical evidence, trust status, gate decisions, and
128
+ findings, but it is sequential because `run` mode may materialize a bundle
129
+ under Clio's data directory. `limitation` and `decide` sit in the ORCHESTRATE
130
+ plane as read class: each appends one typed receipt or decision-board entry
131
+ to the session ledger and touches nothing else. `limitation` is parallel
132
+ because the call is pure; `decide` is sequential so two decisions in one batch
133
+ cannot race the supersede lookup.
124
134
 
125
135
  Registration is conditional on wiring: `context` gains its workspace scope only
126
136
  when a session contract is bound, `dispatch`/`monitor`/`steer` register only
@@ -154,7 +164,7 @@ Several tools absorb what used to be separate tools:
154
164
 
155
165
  ## The observation envelope
156
166
 
157
- The six content-returning OBSERVE tools (`read`, `grep`, `find`, `ls`, `code_nav`, `context`) close every result through one shared envelope in `src/tools/observation.ts`. `credential_present` sits in the OBSERVE plane but returns a typed boolean and carries no envelope cap. The envelope owns four guarantees.
167
+ The six content-returning OBSERVE tools (`read`, `grep`, `find`, `ls`, `code_nav`, `context`) close every result through one shared envelope in `src/tools/observation.ts`. `credential_present` sits in the OBSERVE plane but returns a typed boolean and carries no envelope cap, and `evidence` returns bounded JSON under its own 16KB summary policy. The envelope owns four guarantees.
158
168
 
159
169
  **One notice line, one format.** A truncated text result appends exactly one notice:
160
170
 
@@ -190,7 +200,7 @@ Tool descriptions are tiered by how much a wrong call costs. The hot tools the m
190
200
 
191
201
  Clio uses two context-protection mechanisms.
192
202
 
193
- 1. Tool results are capped at the source and again at the registry boundary. OBSERVE tools use the envelope caps above. Exact mutation tools (`write`, `edit`, `artifact`) use 8KB; `steer` and `credential_present` use 4KB; `ledger` uses 16KB; `panes` uses 8KB; and `ask_user` has a 20KB policy. Summary-kind tools (`bash`, `git`, `verify`, `dispatch`, `monitor`) use 16KB at the registry boundary. Bash also exposes the canonical per-call `output_policy`: omitted/`bounded` keeps its diagnostic tail, `summary` selects stable redacted head/error/tail evidence, `metadata-only` keeps facts and retrieval without stdout/stderr context, and `full` succeeds only inside the same hard result budget or records a typed downgrade. This model-context choice does not change the folded tail-biased operator presentation. `web_fetch` is bounded at 16KB after shaping and may read more before it: its `max_bytes` argument defaults to 600KB and is hard-capped at 5MB. Tools without an explicit result-size policy use an approximately 18KB generic backstop. Over-cap generic results are shown briefly and, when possible, saved under `<stateDir>/scratch/<sessionId>/<sha256 of the captured text>.txt` with an `offloadPath` detail and a 10MB scratch-file cap.
203
+ 1. Tool results are capped at the source and again at the registry boundary. OBSERVE tools use the envelope caps above. Exact mutation tools (`write`, `edit`, `artifact`) use 8KB; `steer` and `credential_present` use 4KB; `ledger` uses 16KB; `panes` uses 8KB; `limitation` and `decide` use 4KB; and `ask_user` has a 20KB policy. Summary-kind tools (`bash`, `git`, `verify`, `dispatch`, `monitor`, `evidence`) use 16KB at the registry boundary. Bash also exposes the canonical per-call `output_policy`: omitted/`bounded` keeps its diagnostic tail, `summary` selects stable redacted head/error/tail evidence, `metadata-only` keeps facts and retrieval without stdout/stderr context, and `full` succeeds only inside the same hard result budget or records a typed downgrade. This model-context choice does not change the folded tail-biased operator presentation. `web_fetch` is bounded at 16KB after shaping and may read more before it: its `max_bytes` argument defaults to 600KB and is hard-capped at 5MB. Tools without an explicit result-size policy use an approximately 18KB generic backstop. Over-cap generic results are shown briefly and, when possible, saved under `<stateDir>/scratch/<sessionId>/<sha256 of the captured text>.txt` with an `offloadPath` detail and a 10MB scratch-file cap.
194
204
  2. Auto-compaction uses one pressure threshold. The default threshold is 0.8. When pressure crosses the threshold, Clio first applies a non-destructive working-set eviction and records the evicted items in the session ledger. If pressure remains above the threshold, it runs the LLM summary compaction path and replays from the compacted session view. The older destructive observation/thinking mask is available only as a compatibility escape hatch when `CLIO_CODER_LEGACY_MASK=1`.
195
205
 
196
206
  Manual `/context compact`, `CLIO_CODER_FORCE_COMPACT=1`, and overflow recovery force the LLM summary path directly.