@iowarp/clio-coder 0.3.3 → 0.3.6

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 (370) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/CONTRIBUTING.md +7 -7
  3. package/README.md +3 -3
  4. package/dist/{acp-P2AQILE2.js → acp-2BEHC4DL.js} +9 -8
  5. package/dist/{agents-72W3BI7I.js → agents-LNNFTM53.js} +29 -24
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-5TWEIYDN.js → auth-KXXFI2VS.js} +14 -10
  8. package/dist/{chunk-GGXXDWE4.js → chunk-22NAGB7X.js} +2 -2
  9. package/dist/{chunk-YCWGATWI.js → chunk-24I7BN55.js} +2 -2
  10. package/dist/{chunk-EKMEHE4H.js → chunk-33YXPOE3.js} +2 -3
  11. package/dist/chunk-3BPUFZDL.js +37 -0
  12. package/dist/chunk-43AOLP7E.js +375 -0
  13. package/dist/{chunk-ZDOOVTXZ.js → chunk-4OC57DA6.js} +27 -4
  14. package/dist/{chunk-6SGHMWE3.js → chunk-5JGRAMKL.js} +5 -5
  15. package/dist/{chunk-V6RTAOC2.js → chunk-6US73PDB.js} +572 -51
  16. package/dist/{chunk-5UFT4SUX.js → chunk-6XXKFVSN.js} +3 -3
  17. package/dist/{chunk-A3CYT5EX.js → chunk-AD2SYQYC.js} +55 -2
  18. package/dist/chunk-AOCYTWAV.js +449 -0
  19. package/dist/chunk-CFGTUFWB.js +67 -0
  20. package/dist/chunk-CJUB2JJ2.js +1478 -0
  21. package/dist/{chunk-FNTMWMX5.js → chunk-CKXWIANG.js} +14 -12
  22. package/dist/{chunk-PIWWS5BL.js → chunk-CYQKWTG3.js} +63 -78
  23. package/dist/{chunk-LZSJBIVT.js → chunk-DJVECN66.js} +271 -762
  24. package/dist/{chunk-CBCAPZAA.js → chunk-E25LMLRW.js} +2 -2
  25. package/dist/{chunk-ZWMF7253.js → chunk-E2ER4LJF.js} +304 -9
  26. package/dist/{chunk-STBPMHSX.js → chunk-EKY57CSP.js} +51 -84
  27. package/dist/{chunk-DUYJ5IO6.js → chunk-EYPA3EGJ.js} +12 -4
  28. package/dist/{chunk-M6SHUN7Q.js → chunk-FO5ZOVUY.js} +2 -2
  29. package/dist/chunk-FYYLNIL5.js +313 -0
  30. package/dist/{chunk-OQ33BKR3.js → chunk-G7MUEIGA.js} +3 -60
  31. package/dist/chunk-GEYXPTRF.js +613 -0
  32. package/dist/chunk-GOXNB3AO.js +261 -0
  33. package/dist/{chunk-G4BMMOKF.js → chunk-HVDIIIQW.js} +2 -2
  34. package/dist/chunk-HWUFFB6L.js +83 -0
  35. package/dist/{chunk-4XUGQOHA.js → chunk-K7T3E2SR.js} +15 -8
  36. package/dist/chunk-K7VKOLQQ.js +15 -0
  37. package/dist/{chunk-UFIIWP2H.js → chunk-KHSFENX2.js} +8 -8
  38. package/dist/{chunk-BMEMKKIT.js → chunk-KOHPCX4K.js} +2 -2
  39. package/dist/chunk-LCGCVYZ4.js +57 -0
  40. package/dist/chunk-LL4KHSZI.js +22 -0
  41. package/dist/{chunk-PAJK6MAQ.js → chunk-LYF7OHWH.js} +42 -15
  42. package/dist/{chunk-POHLU5DW.js → chunk-M6L6IDJG.js} +3 -3
  43. package/dist/{chunk-5UUP6MWO.js → chunk-MV3K5QF2.js} +5 -436
  44. package/dist/{chunk-X4RCMKVQ.js → chunk-NDINPTJ4.js} +2 -2
  45. package/dist/{chunk-TZK7PACC.js → chunk-NILBFAPG.js} +14 -8
  46. package/dist/chunk-ODFEOB4F.js +1082 -0
  47. package/dist/{chunk-AGYYIBLL.js → chunk-OH3TOQTB.js} +6 -2
  48. package/dist/chunk-OZNBF4L3.js +23 -0
  49. package/dist/{chunk-DSELYM6W.js → chunk-PBTHKCPN.js} +30 -10
  50. package/dist/{verify-375KUB3Y.js → chunk-PCZJO5TI.js} +127 -42
  51. package/dist/{chunk-ED4KHGC3.js → chunk-PPAMZ32Z.js} +9 -2
  52. package/dist/{chunk-SRDMMSEP.js → chunk-QM3F2GKX.js} +1063 -1645
  53. package/dist/{chunk-X6IAEBZR.js → chunk-QNQHSOLF.js} +7 -7
  54. package/dist/{chunk-OC7FIQPC.js → chunk-R46L2BIR.js} +10 -7
  55. package/dist/{chunk-2TLUCQVG.js → chunk-RD5U66HV.js} +3 -3
  56. package/dist/{chunk-6N5PTWMY.js → chunk-RY3LY4J5.js} +50 -13
  57. package/dist/{chunk-OKGUZO2U.js → chunk-SPULKLCF.js} +4 -3
  58. package/dist/{chunk-OOJYHWRB.js → chunk-TSHXZTOQ.js} +6 -5
  59. package/dist/chunk-TZSKNMZG.js +434 -0
  60. package/dist/{chunk-7MNJORFF.js → chunk-UL3WSD3F.js} +6 -1
  61. package/dist/{chunk-VJWL6YS5.js → chunk-UUVG37B4.js} +2 -2
  62. package/dist/{chunk-COU2UHX6.js → chunk-VEZEGCGW.js} +170 -2
  63. package/dist/chunk-W6GROXXM.js +69 -0
  64. package/dist/{chunk-OAO4GE4M.js → chunk-WHGPSPT5.js} +2 -2
  65. package/dist/chunk-WHJYKASB.js +677 -0
  66. package/dist/{chunk-ORBHGJC5.js → chunk-WR67VIZY.js} +3 -3
  67. package/dist/{chunk-YHZX5GEU.js → chunk-XAKHZX5N.js} +2 -2
  68. package/dist/{chunk-TZTZS7QK.js → chunk-XE2VEJHX.js} +5 -3
  69. package/dist/{chunk-LM5TQCJZ.js → chunk-XF5N4U5A.js} +8 -7
  70. package/dist/{chunk-LWLEKMDQ.js → chunk-XXQNGV4M.js} +1073 -552
  71. package/dist/{chunk-KZWTDYJF.js → chunk-XYDYPRZI.js} +7 -7
  72. package/dist/chunk-ZGVHUX3M.js +66 -0
  73. package/dist/{chunk-LW6DSM3M.js → chunk-ZRGEBJ4T.js} +1192 -1119
  74. package/dist/{chunk-2DJ2KNFG.js → chunk-ZXF4XRKW.js} +202 -40
  75. package/dist/chunk-ZZMN5OM4.js +122 -0
  76. package/dist/cli/index.js +34 -30
  77. package/dist/{clio-JOU4FXVA.js → clio-M2KGYUFZ.js} +7 -6
  78. package/dist/{code-nav-7AX6FYE6.js → code-nav-GQNL7XA6.js} +8 -6
  79. package/dist/codewiki/build-worker.js +4 -4
  80. package/dist/{components-KELWS457.js → components-5TTYYX6G.js} +3 -3
  81. package/dist/{config-XCDVKR23.js → config-XUUYQIWO.js} +47 -35
  82. package/dist/{configure-4GAP54ZW.js → configure-IHJ7YOMV.js} +18 -15
  83. package/dist/{context-77FM5DV5.js → context-74JLXAWD.js} +18 -10
  84. package/dist/{context-4UOGGLQ5.js → context-75MIWW3U.js} +41 -29
  85. package/dist/{context-5VKGUVJJ.js → context-ZQ7SIFJV.js} +85 -9
  86. package/dist/{context-clear-XXJRLCJJ.js → context-clear-GYKWNUML.js} +41 -29
  87. package/dist/{context-index-BZ4UYMTC.js → context-index-SSR5ECNE.js} +3 -3
  88. package/dist/context-working-set-UX5KEP4J.js +1553 -0
  89. package/dist/{dispatch-runner-QPRDDBDX.js → dispatch-runner-GIJBHNFL.js} +47 -32
  90. package/dist/{docs-2C2LTVT2.js → docs-6FZSCG5B.js} +3 -3
  91. package/dist/{doctor-HR46URBJ.js → doctor-SVJ5BZCW.js} +12 -12
  92. package/dist/{eval-XSSNATB4.js → eval-CG6LLBLD.js} +54 -238
  93. package/dist/{evidence-6HG2PY2B.js → evidence-ZYFIEN42.js} +57 -28
  94. package/dist/{evolve-K7YU3NCY.js → evolve-QGEXEMDW.js} +36 -25
  95. package/dist/{extensions-QVDOHDGJ.js → extensions-ADGNCJJD.js} +3 -3
  96. package/dist/{fleet-VY3HHKN6.js → fleet-S5R4ZOQY.js} +73 -44
  97. package/dist/{fleet-preflight-DDN536IT.js → fleet-preflight-BHSNPBMH.js} +3 -3
  98. package/dist/{init-JYGXI3FK.js → init-5DRU55YR.js} +49 -37
  99. package/dist/memory-7YKKR6UC.js +467 -0
  100. package/dist/{models-I5QWSEOM.js → models-ZPOLRU2C.js} +24 -21
  101. package/dist/{monitor-GE4ID3IA.js → monitor-US5F5YGZ.js} +73 -46
  102. package/dist/{orchestrator-EM5MC3HM.js → orchestrator-E2AL4T5N.js} +1624 -1007
  103. package/dist/{paths-UXLN5YYZ.js → paths-E7KYAQWE.js} +3 -3
  104. package/dist/{reset-L2FQEE3E.js → reset-KZ652EK6.js} +6 -5
  105. package/dist/{run-ZU3QMZPZ.js → run-SRNBKDWD.js} +76 -54
  106. package/dist/{share-S5BZQC5I.js → share-CGZE33UP.js} +7 -6
  107. package/dist/{skills-X5VXCRNQ.js → skills-S2X4DLY5.js} +4 -4
  108. package/dist/{skills-eval-WKIHWTHR.js → skills-eval-W2GGIC4R.js} +40 -29
  109. package/dist/{targets-SNCPI2NR.js → targets-54SWINWB.js} +28 -23
  110. package/dist/{terminal-lease-BNAHVHBS.js → terminal-lease-SAIF2OGY.js} +6 -4
  111. package/dist/{uninstall-FZCQCDKC.js → uninstall-BVLWXKBT.js} +3 -3
  112. package/dist/{upgrade-JQHHPQ4K.js → upgrade-JKAR27XC.js} +20 -19
  113. package/dist/{usage-OR4O5SMZ.js → usage-MSAWCLX4.js} +79 -36
  114. package/dist/verifiers-NCBTHHN2.js +1220 -0
  115. package/dist/verify-X5HDROLA.js +25 -0
  116. package/dist/{wiki-generate-UEXP2ARI.js → wiki-generate-GUSOQ6ZP.js} +50 -37
  117. package/dist/worker/entry.js +90 -70
  118. package/dist/{workspace-G4ZWUIPR.js → workspace-ZJ6BFM3Q.js} +4 -4
  119. package/docs/README.md +8 -7
  120. package/docs/acp.md +1 -1
  121. package/docs/alcf-provider.md +1 -1
  122. package/docs/architecture.md +2 -2
  123. package/docs/artifact-placement.md +1 -2
  124. package/docs/artifact-versions.md +1 -1
  125. package/docs/built-in-agents.md +1 -1
  126. package/docs/capacity-and-scheduling.md +1 -1
  127. package/docs/commands-and-modes.md +60 -26
  128. package/docs/config-knobs-audit.md +1 -2
  129. package/docs/configuration-and-targets.md +26 -1
  130. package/docs/context-engine.md +67 -13
  131. package/docs/context-working-set.md +194 -0
  132. package/docs/development-pipeline.md +1 -1
  133. package/docs/documentation-coverage.md +6 -6
  134. package/docs/documentation-guide.md +7 -6
  135. package/docs/environment-variables.md +2 -1
  136. package/docs/eval-runner.md +1 -1
  137. package/docs/evals-internal.md +4 -32
  138. package/docs/evidence-and-memory.md +139 -7
  139. package/docs/evolution.md +1 -1
  140. package/docs/exit-codes-and-output.md +1 -1
  141. package/docs/extensions-and-sharing.md +2 -2
  142. package/docs/fleet-dispatch.md +49 -8
  143. package/docs/glossary.md +21 -1
  144. package/docs/installation-and-lifecycle.md +2 -2
  145. package/docs/middleware-and-components.md +19 -2
  146. package/docs/model-catalog.md +7 -9
  147. package/docs/observability.md +4 -4
  148. package/docs/proactive-memory.md +26 -16
  149. package/docs/prompt-envelope-and-tools.md +7 -5
  150. package/docs/provider-adapter-cookbook.md +1 -1
  151. package/docs/release-cut-checklist.md +43 -40
  152. package/docs/safety-model.md +49 -8
  153. package/docs/scientific-validation.md +21 -3
  154. package/docs/session-lifecycle.md +3 -3
  155. package/docs/skills-marketplace.md +1 -1
  156. package/docs/tool-usage.md +79 -12
  157. package/docs/trace-store.md +1 -1
  158. package/docs/troubleshooting.md +1 -1
  159. package/docs/tui-design.md +38 -4
  160. package/docs/worker-dispatch-mechanics.md +11 -1
  161. package/package.json +13 -13
  162. package/skills/meta/clio-test/SKILL.md +20 -17
  163. package/skills/meta/clio-test/evals.md +3 -3
  164. package/skills/meta/clio-test/references/harness.md +35 -6
  165. package/skills/meta/clio-test/references/test-map.md +20 -10
  166. package/skills/registry.yaml +2 -2
  167. package/skills/skill-marketplace.json +1 -1
  168. package/src/cli/agents.ts +2 -3
  169. package/src/cli/argv.ts +14 -1
  170. package/src/cli/context-working-set.ts +513 -0
  171. package/src/cli/context.ts +8 -0
  172. package/src/cli/evidence.ts +20 -2
  173. package/src/cli/fleet.ts +15 -0
  174. package/src/cli/index.ts +5 -1
  175. package/src/cli/memory.ts +272 -10
  176. package/src/cli/modes/json-stream.ts +2 -2
  177. package/src/cli/modes/print.ts +12 -1
  178. package/src/cli/run.ts +22 -2
  179. package/src/cli/targets.ts +12 -3
  180. package/src/cli/usage.ts +55 -7
  181. package/src/cli/verifiers.ts +325 -0
  182. package/src/core/bash-exec.ts +39 -14
  183. package/src/core/bus-events.ts +22 -4
  184. package/src/core/config.ts +54 -0
  185. package/src/core/defaults.ts +50 -3
  186. package/src/core/response-model-id.ts +134 -0
  187. package/src/core/toml.ts +62 -0
  188. package/src/core/verification-scripts.ts +6 -0
  189. package/src/core/workspace-files.ts +0 -1
  190. package/src/domains/agents/builtins/architect.md +1 -1
  191. package/src/domains/agents/builtins/verifier.md +3 -0
  192. package/src/domains/agents/catalog.ts +5 -4
  193. package/src/domains/agents/recipe.ts +54 -14
  194. package/src/domains/agents/result-contract.ts +7 -4
  195. package/src/domains/config/classify.ts +1 -0
  196. package/src/domains/context/bootstrap.ts +36 -27
  197. package/src/domains/context/project-metadata.ts +19 -63
  198. package/src/domains/context/prompt-context.ts +8 -0
  199. package/src/domains/context/working-set/contract.ts +161 -0
  200. package/src/domains/context/working-set/defaults.ts +28 -0
  201. package/src/domains/context/working-set/engine.ts +203 -0
  202. package/src/domains/context/working-set/fold.ts +62 -0
  203. package/src/domains/context/working-set/horizon.ts +38 -0
  204. package/src/domains/context/working-set/marker.ts +103 -0
  205. package/src/domains/context/working-set/path-index.ts +436 -0
  206. package/src/domains/context/working-set/payload.ts +152 -0
  207. package/src/domains/context/working-set/policies/age-horizon.ts +55 -0
  208. package/src/domains/context/working-set/policies/index.ts +20 -0
  209. package/src/domains/context/working-set/policies/structural.ts +160 -0
  210. package/src/domains/context/working-set/project.ts +132 -0
  211. package/src/domains/context/working-set/protect.ts +109 -0
  212. package/src/domains/context/working-set/recall.ts +177 -0
  213. package/src/domains/context/working-set/replay/controls.ts +112 -0
  214. package/src/domains/context/working-set/replay/load-clio.ts +199 -0
  215. package/src/domains/context/working-set/replay/metrics.ts +185 -0
  216. package/src/domains/context/working-set/replay/reference-graph.ts +79 -0
  217. package/src/domains/context/working-set/replay/report.ts +139 -0
  218. package/src/domains/context/working-set/replay/runner.ts +325 -0
  219. package/src/domains/context/working-set/replay/synthetic.ts +422 -0
  220. package/src/domains/context/working-set/replay/trace.ts +21 -0
  221. package/src/domains/context/working-set/visible.ts +54 -0
  222. package/src/domains/dispatch/budget-envelope.ts +396 -0
  223. package/src/domains/dispatch/contract.ts +2 -0
  224. package/src/domains/dispatch/extension.ts +81 -27
  225. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  226. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  227. package/src/domains/dispatch/state.ts +1 -0
  228. package/src/domains/dispatch/types.ts +10 -3
  229. package/src/domains/dispatch/validation.ts +14 -0
  230. package/src/domains/dispatch/worker-spawn.ts +14 -3
  231. package/src/domains/eval/metrics/evidence.ts +0 -116
  232. package/src/domains/eval/metrics/invariants.ts +1 -1
  233. package/src/domains/eval/runners/clio-run.ts +1 -10
  234. package/src/domains/eval/runners/external-command.ts +2 -29
  235. package/src/domains/eval/schema/suite.ts +0 -7
  236. package/src/domains/eval/suites/run.ts +1 -7
  237. package/src/domains/evidence/build.ts +112 -45
  238. package/src/domains/evidence/eval.ts +24 -7
  239. package/src/domains/evidence/index.ts +53 -0
  240. package/src/domains/evidence/ordering.ts +12 -0
  241. package/src/domains/evidence/run-trust.ts +221 -0
  242. package/src/domains/evidence/store.ts +46 -6
  243. package/src/domains/evidence/trust-status.ts +854 -0
  244. package/src/domains/evidence/types.ts +26 -0
  245. package/src/domains/memory/index.ts +22 -0
  246. package/src/domains/memory/operations.ts +58 -1
  247. package/src/domains/memory/promotion.ts +281 -0
  248. package/src/domains/memory/prompt-section.ts +25 -5
  249. package/src/domains/memory/proposal.ts +51 -7
  250. package/src/domains/memory/task-bank.ts +3 -2
  251. package/src/domains/memory/task-memory-handoff.ts +181 -24
  252. package/src/domains/memory/task-memory-policy.ts +3 -1
  253. package/src/domains/memory/types.ts +37 -0
  254. package/src/domains/memory/validate.ts +178 -0
  255. package/src/domains/middleware/memory-intervention.ts +38 -25
  256. package/src/domains/middleware/runtime.ts +6 -0
  257. package/src/domains/middleware/skills-reminder.ts +19 -4
  258. package/src/domains/middleware/stalled-turn.ts +208 -5
  259. package/src/domains/middleware/types.ts +10 -0
  260. package/src/domains/observability/contract.ts +6 -1
  261. package/src/domains/observability/cost.ts +20 -4
  262. package/src/domains/observability/extension.ts +2 -2
  263. package/src/domains/providers/index.ts +3 -0
  264. package/src/domains/providers/model-discovery.ts +9 -0
  265. package/src/domains/providers/runtime-resolution.ts +38 -1
  266. package/src/domains/providers/runtimes/common/probe-helpers.ts +97 -16
  267. package/src/domains/providers/types/context-window-slots.ts +18 -0
  268. package/src/domains/providers/types/runtime-descriptor.ts +3 -1
  269. package/src/domains/safety/autonomy.ts +1 -1
  270. package/src/domains/safety/call-target.ts +211 -14
  271. package/src/domains/safety/decision-presentation.ts +268 -0
  272. package/src/domains/safety/default-path-policy.ts +8 -0
  273. package/src/domains/safety/finish-contract.ts +4 -3
  274. package/src/domains/safety/policy-engine.ts +48 -6
  275. package/src/domains/safety/redaction.ts +73 -0
  276. package/src/domains/session/compaction/compact.ts +23 -1
  277. package/src/domains/session/compaction/cut-point.ts +2 -0
  278. package/src/domains/session/compaction/tokens.ts +16 -1
  279. package/src/domains/session/context-ledger.ts +12 -1
  280. package/src/domains/session/decision-board.ts +4 -0
  281. package/src/domains/session/entries.ts +110 -1
  282. package/src/domains/session/history.ts +68 -19
  283. package/src/domains/session/manager.ts +9 -2
  284. package/src/domains/session/migrations/index.ts +22 -3
  285. package/src/domains/session/usage.ts +24 -7
  286. package/src/engine/acp/event-mapper.ts +7 -0
  287. package/src/engine/acp/server.ts +32 -2
  288. package/src/engine/agent.ts +18 -1
  289. package/src/engine/apis/lmstudio.ts +25 -4
  290. package/src/engine/apis/openai-completions.ts +147 -22
  291. package/src/engine/claude/sdk-runtime.ts +8 -2
  292. package/src/engine/claude/tool-safety.ts +13 -0
  293. package/src/engine/loop-guard.ts +27 -3
  294. package/src/engine/session.ts +9 -3
  295. package/src/engine/worker-events.ts +4 -3
  296. package/src/engine/worker-runtime.ts +59 -54
  297. package/src/entry/orchestrator.ts +34 -5
  298. package/src/interactive/chat-loop-messages.ts +40 -6
  299. package/src/interactive/chat-loop.ts +13 -0
  300. package/src/interactive/chat-panel.ts +17 -1
  301. package/src/interactive/chat-renderer.ts +49 -24
  302. package/src/interactive/clio-editor.ts +44 -7
  303. package/src/interactive/context-meter.ts +10 -0
  304. package/src/interactive/context-overlay.ts +120 -7
  305. package/src/interactive/context-recall-command.ts +110 -0
  306. package/src/interactive/cost-overlay.ts +39 -8
  307. package/src/interactive/dispatch-board.ts +212 -35
  308. package/src/interactive/footer/widgets.ts +13 -0
  309. package/src/interactive/interactive-application.ts +6 -1
  310. package/src/interactive/interactive-input-runtime.ts +11 -1
  311. package/src/interactive/interactive-presentation.ts +11 -1
  312. package/src/interactive/interactive-slash-runtime.ts +37 -1
  313. package/src/interactive/memory-overlay.ts +89 -4
  314. package/src/interactive/model-session-replay.ts +21 -0
  315. package/src/interactive/overlay-ask-user-lifecycle.ts +1 -1
  316. package/src/interactive/overlay-frame.ts +5 -2
  317. package/src/interactive/overlay-general-openers.ts +46 -1
  318. package/src/interactive/overlay-key-routing.ts +41 -1
  319. package/src/interactive/overlay-lifecycle.ts +11 -4
  320. package/src/interactive/overlay-permission-lifecycle.ts +23 -8
  321. package/src/interactive/overlay-session-lifecycle.ts +8 -4
  322. package/src/interactive/overlay-transitions.ts +11 -0
  323. package/src/interactive/overlays/ask-user.ts +74 -30
  324. package/src/interactive/overlays/decisions.ts +3 -1
  325. package/src/interactive/permission-hint.ts +35 -0
  326. package/src/interactive/permission-overlay.ts +95 -45
  327. package/src/interactive/renderers/tool-execution.ts +37 -51
  328. package/src/interactive/session-last-turn.ts +8 -1
  329. package/src/interactive/session-transcript.ts +2 -2
  330. package/src/interactive/session-usage-reseed.ts +36 -10
  331. package/src/interactive/slash-commands.ts +31 -4
  332. package/src/interactive/status/summary.ts +5 -0
  333. package/src/interactive/status/types.ts +5 -0
  334. package/src/interactive/terminal-lease.ts +1 -0
  335. package/src/interactive/turn-context.ts +333 -110
  336. package/src/interactive/turn-middleware.ts +7 -6
  337. package/src/interactive/turn-runtime.ts +37 -8
  338. package/src/interactive/turn-state.ts +3 -0
  339. package/src/interactive/worker-progress.ts +440 -0
  340. package/src/interactive/worker-stream.ts +51 -110
  341. package/src/tools/agent-tools.ts +39 -7
  342. package/src/tools/ask-user.ts +21 -1
  343. package/src/tools/bash.ts +144 -82
  344. package/src/tools/builtin-tool-catalog.ts +11 -5
  345. package/src/tools/context/index.ts +107 -5
  346. package/src/tools/context/surface.ts +3 -2
  347. package/src/tools/core-bootstrap.ts +21 -0
  348. package/src/tools/dispatch-arguments.ts +8 -0
  349. package/src/tools/dispatch-event-text.ts +19 -0
  350. package/src/tools/dispatch-runner.ts +9 -7
  351. package/src/tools/dispatch.ts +24 -1
  352. package/src/tools/monitor.ts +43 -20
  353. package/src/tools/registry.ts +72 -10
  354. package/src/tools/result-disposition.ts +706 -0
  355. package/src/tools/result-shaping.ts +321 -20
  356. package/src/tools/safe-exec.ts +2 -0
  357. package/src/tools/verify/authoring.ts +1120 -0
  358. package/src/tools/verify/catalog.ts +346 -0
  359. package/src/tools/verify/index.ts +13 -3
  360. package/src/tools/verify/scripts.ts +135 -37
  361. package/src/tools/verify/surface.ts +9 -5
  362. package/src/tools/worker-evidence.ts +54 -12
  363. package/src/worker/spec-contract.ts +43 -3
  364. package/dist/chunk-J7CWMCQD.js +0 -255
  365. package/dist/chunk-T6YILFSB.js +0 -80
  366. package/dist/chunk-VAKQQHWR.js +0 -434
  367. package/dist/chunk-VPAYEGVX.js +0 -184
  368. package/dist/chunk-XBXAASKX.js +0 -18
  369. package/dist/memory-WFZMGYHX.js +0 -236
  370. package/src/domains/eval/metrics/chaos-stream.ts +0 -93
@@ -7,10 +7,10 @@ import {
7
7
  fingerprintNativeRuntime,
8
8
  interopProposals,
9
9
  renderProposalEntry
10
- } from "./chunk-2TLUCQVG.js";
10
+ } from "./chunk-RD5U66HV.js";
11
11
  import {
12
12
  initializeClioHome
13
- } from "./chunk-BMEMKKIT.js";
13
+ } from "./chunk-KOHPCX4K.js";
14
14
  import {
15
15
  createDelayedManualCodeInput,
16
16
  promptOAuthSelection
@@ -25,11 +25,11 @@ import {
25
25
  import {
26
26
  credentialWriteFailed,
27
27
  printPlaintextCredentialWarning
28
- } from "./chunk-YCWGATWI.js";
28
+ } from "./chunk-24I7BN55.js";
29
29
  import {
30
30
  printError,
31
31
  printOk
32
- } from "./chunk-ED4KHGC3.js";
32
+ } from "./chunk-PPAMZ32Z.js";
33
33
  import {
34
34
  buildProviderSupportEntry,
35
35
  configuredTargetsForRuntime,
@@ -44,13 +44,13 @@ import {
44
44
  probeCapabilitiesForModel,
45
45
  registerBuiltinRuntimes,
46
46
  supportGroupLabel
47
- } from "./chunk-LZSJBIVT.js";
47
+ } from "./chunk-DJVECN66.js";
48
48
  import {
49
49
  readSettings,
50
50
  removeTargetFromSettings,
51
51
  settingsPath,
52
52
  updateSettings
53
- } from "./chunk-A3CYT5EX.js";
53
+ } from "./chunk-AD2SYQYC.js";
54
54
  import {
55
55
  openAuthStorage,
56
56
  registerClioOAuthProviders,
@@ -1489,4 +1489,4 @@ export {
1489
1489
  runTargetRename,
1490
1490
  runConfigureCommand
1491
1491
  };
1492
- //# sourceMappingURL=chunk-X6IAEBZR.js.map
1492
+ //# sourceMappingURL=chunk-QNQHSOLF.js.map
@@ -2,23 +2,25 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  readStrictLayeredSettings,
4
4
  updateLayeredSettings
5
- } from "./chunk-CBCAPZAA.js";
5
+ } from "./chunk-E25LMLRW.js";
6
6
  import {
7
7
  formatSettingsFailure,
8
8
  settingsPath
9
- } from "./chunk-A3CYT5EX.js";
9
+ } from "./chunk-AD2SYQYC.js";
10
10
  import {
11
11
  setGitCommitAttributionEnabled
12
- } from "./chunk-COU2UHX6.js";
12
+ } from "./chunk-VEZEGCGW.js";
13
13
  import {
14
14
  resolveShutdownHookBudgetMs,
15
15
  runWithBudget,
16
16
  writeShutdownNotice
17
- } from "./chunk-TZTZS7QK.js";
17
+ } from "./chunk-XE2VEJHX.js";
18
18
  import {
19
- BusChannels,
20
19
  getSharedBus
21
- } from "./chunk-OQ33BKR3.js";
20
+ } from "./chunk-ZGVHUX3M.js";
21
+ import {
22
+ BusChannels
23
+ } from "./chunk-G7MUEIGA.js";
22
24
  import {
23
25
  init_esm_shims
24
26
  } from "./chunk-3R73A4XB.js";
@@ -184,6 +186,7 @@ var NEXT_TURN_FIELDS = /* @__PURE__ */ new Set([
184
186
  "skills",
185
187
  "delegation",
186
188
  "compaction",
189
+ "context",
187
190
  "retry"
188
191
  ]);
189
192
  var RESTART_REQUIRED_FIELDS = /* @__PURE__ */ new Set([
@@ -381,4 +384,4 @@ export {
381
384
  ConfigDomainModule,
382
385
  createConfigDomainModule
383
386
  };
384
- //# sourceMappingURL=chunk-OC7FIQPC.js.map
387
+ //# sourceMappingURL=chunk-R46L2BIR.js.map
@@ -2,10 +2,10 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  readSettings,
4
4
  updateSettings
5
- } from "./chunk-A3CYT5EX.js";
5
+ } from "./chunk-AD2SYQYC.js";
6
6
  import {
7
7
  runCommandVector
8
- } from "./chunk-VPAYEGVX.js";
8
+ } from "./chunk-VEZEGCGW.js";
9
9
  import {
10
10
  withStateFileLockSync
11
11
  } from "./chunk-IKCO5N3L.js";
@@ -478,4 +478,4 @@ export {
478
478
  detectInteropAgents,
479
479
  InteropDomainModule
480
480
  };
481
- //# sourceMappingURL=chunk-2TLUCQVG.js.map
481
+ //# sourceMappingURL=chunk-RD5U66HV.js.map
@@ -1,4 +1,16 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ receiptResponseModelIdObservationLabel
4
+ } from "./chunk-3BPUFZDL.js";
5
+ import {
6
+ adaptRunReceiptTrustStatus
7
+ } from "./chunk-QM3F2GKX.js";
8
+ import {
9
+ formatBudgetPolicy,
10
+ formatBudgetReasons,
11
+ formatBudgetRequest,
12
+ formatEffectiveBudget
13
+ } from "./chunk-XXQNGV4M.js";
2
14
  import {
3
15
  mentionsWorkerToolCallCap
4
16
  } from "./chunk-4ZG3XFUR.js";
@@ -22,8 +34,8 @@ function hasSourceCitation(text) {
22
34
  return sourceCitations(text).length > 0;
23
35
  }
24
36
  var SPOT_CHECK_GUIDANCE = 'Spot-check delegated claims before repeating them: re-read any cited file:line location, and re-run or inspect the named validation before repeating a "tests pass" claim.';
25
- function isMutationClassRun(receipt, verification) {
26
- if (verification.state === "not_applicable") return false;
37
+ function isMutationClassRun(receipt, status) {
38
+ if (status.validationGrounding.state === "not_applicable") return false;
27
39
  if (receipt.executionRole === "builder" || receipt.executionRole === "recovery") return true;
28
40
  return receipt.quality?.resultContract?.sourceId?.startsWith("agent-result-contract:mutation-report") === true;
29
41
  }
@@ -43,14 +55,14 @@ function receiptAdmissionLabels(receipt) {
43
55
  }
44
56
  return labels;
45
57
  }
46
- function receiptActivityLabels(receipt, verification) {
58
+ function receiptActivityLabels(receipt, status) {
47
59
  const labels = [];
48
60
  const activity = receipt.toolActivity;
49
61
  if (activity !== void 0) {
50
62
  labels.push(
51
63
  `work=calls:${activity.calls} ok:${activity.succeeded} failed:${activity.failed} blocked:${activity.blocked} mutations:${activity.mutatingSucceeded ? "yes" : "no"}`
52
64
  );
53
- if (!activity.mutatingSucceeded && isMutationClassRun(receipt, verification)) labels.push("mutation_effect=none");
65
+ if (!activity.mutatingSucceeded && isMutationClassRun(receipt, status)) labels.push("mutation_effect=none");
54
66
  }
55
67
  const findings = receipt.findingsSummary;
56
68
  if (findings !== void 0) {
@@ -60,25 +72,50 @@ function receiptActivityLabels(receipt, verification) {
60
72
  return labels;
61
73
  }
62
74
  function receiptEvidenceLabels(receipt, verification, integrity) {
63
- if (!integrity.ok) return [`receipt_integrity=FAILED reason=${JSON.stringify(integrity.reason)}`];
75
+ const status = adaptRunReceiptTrustStatus({ ...receipt, verification }, { integrity });
76
+ const canonical = canonicalTrustLabel(status);
77
+ if (!integrity.ok) {
78
+ return [canonical, `receipt_integrity=FAILED reason=${JSON.stringify(integrity.reason)}`];
79
+ }
64
80
  const briefing = receipt.briefing === void 0 ? "briefing=none" : `briefing=bytes:${receipt.briefing.bytes} sha256:${receipt.briefing.contentHash}`;
65
81
  let projectContext = "project_context=absent";
66
82
  if (receipt.projectContext !== void 0) {
67
83
  const sections = receipt.projectContext.sections ?? [];
68
84
  projectContext = `project_context=${receipt.projectContext.tier} chars:${receipt.projectContext.chars ?? 0}${sections.length > 0 ? ` sections:${[...sections].sort().join(",")}` : ""}${receipt.projectContext.contentHash !== void 0 ? ` sha256:${receipt.projectContext.contentHash}` : ""}`;
69
85
  }
86
+ const responseModelIdObservation = receiptResponseModelIdObservationLabel(receipt);
87
+ const budget = receipt.budget === void 0 ? [] : [
88
+ `budget_recipe_policy=${JSON.stringify(formatBudgetPolicy(receipt.budget))}`,
89
+ `budget_requested=${JSON.stringify(formatBudgetRequest(receipt.budget))}`,
90
+ `budget_effective=${JSON.stringify(formatEffectiveBudget(receipt.budget))}`,
91
+ `budget_reason=${JSON.stringify(formatBudgetReasons(receipt.budget))}`
92
+ ];
70
93
  return [
94
+ canonical,
71
95
  `receipt_integrity=verified/v${receipt.integrity.version}/${receipt.integrity.algorithm}`,
72
96
  `evidence_verification=${verification.state}/${verification.basis}`,
97
+ ...responseModelIdObservation ? [responseModelIdObservation] : [],
98
+ ...budget,
73
99
  ...receiptAdmissionLabels(receipt),
74
- ...receiptActivityLabels(receipt, verification),
100
+ ...receiptActivityLabels(receipt, status),
75
101
  briefing,
76
102
  projectContext
77
103
  ];
78
104
  }
79
- function workerTextLabel(verification) {
80
- switch (verification.state) {
81
- case "verified":
105
+ function canonicalTrustLabel(status) {
106
+ return [
107
+ `trust_status=v${status.version}`,
108
+ `artifactIntegrity:${status.artifactIntegrity.state}`,
109
+ `validationGrounding:${status.validationGrounding.state}`,
110
+ `independentReview:${status.independentReview.state}`,
111
+ `contextProvenance:${status.contextProvenance.state}`,
112
+ `autonomyEnforcement:${status.autonomyEnforcement.state}`,
113
+ `completionEvidence:${status.completionEvidence.state}`
114
+ ].join(" ");
115
+ }
116
+ function workerTextLabel(status) {
117
+ switch (status.validationGrounding.state) {
118
+ case "validated":
82
119
  return "worker output (tool-verified):";
83
120
  case "not_applicable":
84
121
  return "reconnaissance output (advisory leads, not validation evidence):";
@@ -88,7 +125,7 @@ function workerTextLabel(verification) {
88
125
  return "worker claims (unverified prose):";
89
126
  }
90
127
  }
91
- function workerTextNonEvidenceNotices(receipt, verification, answerText) {
128
+ function workerTextNonEvidenceNotices(receipt, status, answerText) {
92
129
  const notices = [];
93
130
  const failedRun = receipt.exitCode !== 0 || receipt.outcome !== void 0 && receipt.outcome !== "succeeded";
94
131
  if (mentionsWorkerToolCallCap(receipt.failureMessage) || mentionsWorkerToolCallCap(receipt.outcomeDetail)) {
@@ -102,7 +139,7 @@ function workerTextNonEvidenceNotices(receipt, verification, answerText) {
102
139
  }
103
140
  if (receipt.toolActivity !== void 0 && receipt.toolActivity.succeeded === 0) {
104
141
  notices.push("non-evidence: no tool call succeeded in this run; the text above was written without observed work.");
105
- } else if (receipt.toolActivity?.mutatingSucceeded === false && isMutationClassRun(receipt, verification)) {
142
+ } else if (receipt.toolActivity?.mutatingSucceeded === false && isMutationClassRun(receipt, status)) {
106
143
  notices.push(
107
144
  "non-evidence: this run was dispatched as work that changes the tree, but no mutating tool call succeeded. Nothing was written. Confirm with a diff before repeating any claim that something was fixed."
108
145
  );
@@ -119,7 +156,7 @@ function workerTextNonEvidenceNotices(receipt, verification, answerText) {
119
156
  `non-evidence: '${receipt.capabilityMismatch.agentId}' is a ${receipt.capabilityMismatch.capabilityClass} recipe and cannot write to the workspace, but this task classified as ${receipt.capabilityMismatch.taskType}. Nothing it reports as changed can have been changed by it.`
120
157
  );
121
158
  }
122
- if (!failedRun && verification.state === "not_applicable" && answerText.length > 0 && !hasSourceCitation(answerText)) {
159
+ if (!failedRun && status.validationGrounding.state === "not_applicable" && answerText.length > 0 && !hasSourceCitation(answerText)) {
123
160
  notices.push(
124
161
  "non-evidence: this reconnaissance answer cites no file:line locations; treat its leads as unconfirmed."
125
162
  );
@@ -133,4 +170,4 @@ export {
133
170
  workerTextLabel,
134
171
  workerTextNonEvidenceNotices
135
172
  };
136
- //# sourceMappingURL=chunk-6N5PTWMY.js.map
173
+ //# sourceMappingURL=chunk-RY3LY4J5.js.map
@@ -16,12 +16,13 @@ import {
16
16
  init_esm_shims();
17
17
  var contextToolSurface = {
18
18
  name: ToolNames.Context,
19
- description: "Environment context: scope=workspace returns the git/project snapshot, scope=docs searches Clio's bundled documentation (omit query to list the corpus), scope=skills lists installed and marketplace skills or loads an installed one by name. For repository code and the repo's generated wiki use code_nav (mode=wiki).",
19
+ description: "Environment context: scope=workspace returns the git/project snapshot, scope=docs searches Clio's bundled documentation (omit query to list the corpus), scope=skills lists installed and marketplace skills or loads an installed one by name, scope=recall returns the exact body of an evicted tool result by ref (the turnId named in an [evicted ...] marker). For repository code and the repo's generated wiki use code_nav (mode=wiki).",
20
20
  parameters: typebox_exports.Object({
21
- scope: StringEnum(["workspace", "docs", "skills"], { description: "Context source." }),
21
+ scope: StringEnum(["workspace", "docs", "skills", "recall"], { description: "Context source." }),
22
22
  query: typebox_exports.Optional(typebox_exports.String({ description: "scope=docs: question or terms; omit to list the corpus." })),
23
23
  name: typebox_exports.Optional(typebox_exports.String({ description: "scope=skills: skill name to load; omit to list." })),
24
24
  limit: typebox_exports.Optional(typebox_exports.Number({ description: "scope=docs: max sections (default 5, max 12)." })),
25
+ ref: typebox_exports.Optional(typebox_exports.String({ description: "scope=recall: ref of the evicted item, as named in its marker." })),
25
26
  include_tree: typebox_exports.Optional(typebox_exports.Boolean({ description: "scope=skills: list files under the skill base_dir." }))
26
27
  }),
27
28
  baseActionClass: "read",
@@ -31,4 +32,4 @@ var contextToolSurface = {
31
32
  export {
32
33
  contextToolSurface
33
34
  };
34
- //# sourceMappingURL=chunk-OKGUZO2U.js.map
35
+ //# sourceMappingURL=chunk-SPULKLCF.js.map
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-I4HZDVNP.js";
23
23
  import {
24
24
  atomicWrite
25
- } from "./chunk-M6SHUN7Q.js";
25
+ } from "./chunk-FO5ZOVUY.js";
26
26
  import {
27
27
  clioStateDir
28
28
  } from "./chunk-BNAZZHFG.js";
@@ -299,6 +299,7 @@ function signalProcessGroup(child, signal) {
299
299
  function spawnWorkerProcess(command, args, spec, opts) {
300
300
  const shutdownGraceMs = opts?.shutdownGraceMs ?? DEFAULT_SHUTDOWN_GRACE_MS;
301
301
  const attestationGraceMs = opts?.attestationGraceMs ?? DEFAULT_ATTESTATION_GRACE_MS;
302
+ const now = opts?.now ?? Date.now;
302
303
  const approved = opts?.approvedIdentity ?? approvedIdentityForSpec(spec);
303
304
  const child = spawn(command, [...args], {
304
305
  stdio: ["pipe", "pipe", "pipe"],
@@ -309,7 +310,7 @@ function spawnWorkerProcess(command, args, spec, opts) {
309
310
  detached: true
310
311
  });
311
312
  const pid = child.pid ?? null;
312
- const heartbeatAt = { current: Date.now() };
313
+ const heartbeatAt = { current: now() };
313
314
  const queue = createBoundedEventQueue();
314
315
  const waiters = [];
315
316
  let finished = false;
@@ -334,7 +335,7 @@ function spawnWorkerProcess(command, args, spec, opts) {
334
335
  };
335
336
  }
336
337
  function push(value) {
337
- heartbeatAt.current = Date.now();
338
+ heartbeatAt.current = now();
338
339
  const w = waiters.shift();
339
340
  if (w) {
340
341
  w({ value, done: false });
@@ -444,7 +445,7 @@ function spawnWorkerProcess(command, args, spec, opts) {
444
445
  if (!announceAccepted) failAttestation(`Invalid worker attestation: ${frame.reason}`);
445
446
  return;
446
447
  }
447
- heartbeatAt.current = Date.now();
448
+ heartbeatAt.current = now();
448
449
  if (frame.value.kind === "announce") {
449
450
  if (announceAccepted || announceFailed) return;
450
451
  const verdict = verifyWorkerAttestation(frame.value.attestation, approved);
@@ -920,4 +921,4 @@ export {
920
921
  routeFactVerdict,
921
922
  runFleetNodePreflight
922
923
  };
923
- //# sourceMappingURL=chunk-OOJYHWRB.js.map
924
+ //# sourceMappingURL=chunk-TSHXZTOQ.js.map