@iowarp/clio-coder 0.3.1 → 0.3.3
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.
- package/CHANGELOG.md +233 -373
- package/CONTRIBUTING.md +23 -23
- package/README.md +284 -613
- package/dist/{acp-FPR54DGL.js → acp-P2AQILE2.js} +43 -53
- package/dist/{agents-OGPIHPJH.js → agents-72W3BI7I.js} +43 -26
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-IC3K6NIZ.js → auth-5TWEIYDN.js} +20 -12
- package/dist/chunk-2DJ2KNFG.js +2095 -0
- package/dist/{chunk-IS3ONKU3.js → chunk-2IR2NMPA.js} +6 -4
- package/dist/chunk-2SFS6XQE.js +122 -0
- package/dist/{chunk-PV4JUBVJ.js → chunk-2TLUCQVG.js} +40 -21
- package/dist/chunk-2VTFPG5O.js +48 -0
- package/dist/chunk-4BJ5BYCE.js +61 -0
- package/dist/{chunk-474KN5II.js → chunk-4BPJXDWC.js} +111 -181
- package/dist/chunk-4VP4KH3K.js +962 -0
- package/dist/chunk-4XUGQOHA.js +797 -0
- package/dist/chunk-4ZG3XFUR.js +77 -0
- package/dist/chunk-5B2AEOW5.js +5407 -0
- package/dist/{chunk-K2ITRMHZ.js → chunk-5TSRNF4G.js} +6 -138
- package/dist/{chunk-4QKXUHSR.js → chunk-5UFT4SUX.js} +70 -20
- package/dist/{chunk-OLBBMFRD.js → chunk-5UUP6MWO.js} +24 -62
- package/dist/chunk-65DEGPJ6.js +52 -0
- package/dist/chunk-6EJMN2Y3.js +17 -0
- package/dist/chunk-6N5PTWMY.js +136 -0
- package/dist/chunk-6SGHMWE3.js +277 -0
- package/dist/chunk-6XLNIQDB.js +27 -0
- package/dist/chunk-7CR24IG7.js +242 -0
- package/dist/chunk-7MNJORFF.js +22 -0
- package/dist/{chunk-KY56HMHH.js → chunk-A3CYT5EX.js} +125 -31
- package/dist/chunk-AGYYIBLL.js +1069 -0
- package/dist/{chunk-GB6QRBXN.js → chunk-APJ265NV.js} +54 -1187
- package/dist/{chunk-673JJUWJ.js → chunk-BMEMKKIT.js} +2 -2
- package/dist/chunk-CBCAPZAA.js +229 -0
- package/dist/chunk-CMZWFGD2.js +352 -0
- package/dist/chunk-COU2UHX6.js +400 -0
- package/dist/chunk-DSELYM6W.js +1077 -0
- package/dist/chunk-DUYJ5IO6.js +644 -0
- package/dist/chunk-ECH6PKUQ.js +39 -0
- package/dist/chunk-ED4KHGC3.js +143 -0
- package/dist/chunk-EKMEHE4H.js +340 -0
- package/dist/chunk-FCSXB6T2.js +338 -0
- package/dist/chunk-FJ3H4MN5.js +48 -0
- package/dist/{chunk-RPTR2H26.js → chunk-FNTMWMX5.js} +21 -15
- package/dist/chunk-FQ4SKYE4.js +29 -0
- package/dist/chunk-G4BMMOKF.js +182 -0
- package/dist/{chunk-ZPY3JZ5E.js → chunk-GGXXDWE4.js} +183 -1233
- package/dist/chunk-HC4CLZ2Y.js +68 -0
- package/dist/{chunk-LU4TK2PR.js → chunk-HFSBBKSQ.js} +5 -56
- package/dist/{chunk-PIUMUEMV.js → chunk-HKIYEGME.js} +10 -6
- package/dist/chunk-I4HZDVNP.js +73 -0
- package/dist/chunk-IKCO5N3L.js +162 -0
- package/dist/chunk-IR4CFBFN.js +56 -0
- package/dist/{chunk-R5KLMSBV.js → chunk-J5Q24KAG.js} +2 -2
- package/dist/chunk-J7CWMCQD.js +255 -0
- package/dist/{chunk-K5XEMXTI.js → chunk-JVCV3ICN.js} +1 -1
- package/dist/chunk-KZWTDYJF.js +217 -0
- package/dist/chunk-LBMZMYH2.js +285 -0
- package/dist/{chunk-G34LV2PF.js → chunk-LM5TQCJZ.js} +84 -170
- package/dist/chunk-LW6DSM3M.js +5135 -0
- package/dist/chunk-LWLEKMDQ.js +3482 -0
- package/dist/{chunk-H6F6BYOH.js → chunk-LZSJBIVT.js} +7003 -7434
- package/dist/{chunk-HQQID6OA.js → chunk-M6SHUN7Q.js} +5 -5
- package/dist/{chunk-FST4FYJB.js → chunk-MFFY33HR.js} +99 -140
- package/dist/{chunk-BSU2YIWB.js → chunk-MVVUPGPW.js} +131 -136
- package/dist/chunk-OAO4GE4M.js +619 -0
- package/dist/{chunk-Q3RUPKEJ.js → chunk-OC7FIQPC.js} +58 -189
- package/dist/chunk-OKGUZO2U.js +34 -0
- package/dist/{chunk-GAEBEQVI.js → chunk-OOJYHWRB.js} +32 -346
- package/dist/{chunk-Q5WJOSJ7.js → chunk-OQ33BKR3.js} +2 -1
- package/dist/chunk-OQE5J4C6.js +73 -0
- package/dist/{chunk-KKNLWXI6.js → chunk-ORBHGJC5.js} +8 -8
- package/dist/{chunk-MAR7Y6HW.js → chunk-PAJK6MAQ.js} +23 -16
- package/dist/{chunk-M5T5VO65.js → chunk-PIWWS5BL.js} +837 -635
- package/dist/chunk-POHLU5DW.js +1186 -0
- package/dist/chunk-QKMUKYO7.js +4961 -0
- package/dist/chunk-SRDMMSEP.js +16405 -0
- package/dist/chunk-SST6Z5JA.js +80 -0
- package/dist/chunk-STBPMHSX.js +2456 -0
- package/dist/chunk-T6YILFSB.js +80 -0
- package/dist/chunk-TZK7PACC.js +174 -0
- package/dist/chunk-TZTZS7QK.js +227 -0
- package/dist/{chunk-ASND7OZK.js → chunk-UFIIWP2H.js} +13 -13
- package/dist/chunk-UOV2BYIW.js +107 -0
- package/dist/{chunk-PFEFKVGL.js → chunk-V6RTAOC2.js} +13 -11
- package/dist/chunk-VAKQQHWR.js +434 -0
- package/dist/chunk-VG7TBQIY.js +128 -0
- package/dist/chunk-VJWL6YS5.js +244 -0
- package/dist/{chunk-EYOKLTMF.js → chunk-VPAYEGVX.js} +17 -3
- package/dist/chunk-WEH5XRJQ.js +32 -0
- package/dist/chunk-X4RCMKVQ.js +641 -0
- package/dist/{chunk-TEKV33Q5.js → chunk-X6IAEBZR.js} +65 -33
- package/dist/chunk-XBXAASKX.js +18 -0
- package/dist/chunk-XN3L4EYL.js +46 -0
- package/dist/{chunk-RDLVBZEO.js → chunk-YCWGATWI.js} +6 -4
- package/dist/chunk-YHZX5GEU.js +193 -0
- package/dist/chunk-YXLYO42X.js +91 -0
- package/dist/{chunk-NMOX6HFD.js → chunk-ZDOOVTXZ.js} +29 -77
- package/dist/chunk-ZI647VB5.js +37 -0
- package/dist/{chunk-C4PTHK7P.js → chunk-ZWLZP4ZT.js} +5 -5
- package/dist/chunk-ZWMF7253.js +1882 -0
- package/dist/cli/index.js +62 -54
- package/dist/clio-JOU4FXVA.js +25 -0
- package/dist/code-nav-7AX6FYE6.js +600 -0
- package/dist/codewiki/build-worker.js +66 -0
- package/dist/compile-cache-CVJMMODC.js +18 -0
- package/dist/{components-DMAOEKFB.js → components-KELWS457.js} +11 -6
- package/dist/{config-IRUQ7SE4.js → config-XCDVKR23.js} +92 -55
- package/dist/configure-4GAP54ZW.js +42 -0
- package/dist/{context-5RADCKTR.js → context-4UOGGLQ5.js} +71 -35
- package/dist/context-5VKGUVJJ.js +866 -0
- package/dist/{context-3KWFLHJG.js → context-77FM5DV5.js} +15 -13
- package/dist/{context-clear-7TSNPAAI.js → context-clear-XXJRLCJJ.js} +54 -28
- package/dist/{context-index-W4RLWOQH.js → context-index-BZ4UYMTC.js} +30 -24
- package/dist/dispatch-runner-QPRDDBDX.js +1997 -0
- package/dist/{docs-5AWSPS37.js → docs-2C2LTVT2.js} +23 -10
- package/dist/{doctor-UC5NAJYQ.js → doctor-HR46URBJ.js} +27 -17
- package/dist/{eval-U6TJHRLX.js → eval-XSSNATB4.js} +29 -16
- package/dist/{evidence-YEGUW4L3.js → evidence-6HG2PY2B.js} +46 -26
- package/dist/{evolve-TXARCTPG.js → evolve-K7YU3NCY.js} +45 -25
- package/dist/{extensions-OZFJ3A3G.js → extensions-QVDOHDGJ.js} +16 -7
- package/dist/{fleet-6G3DHNYE.js → fleet-VY3HHKN6.js} +163 -54
- package/dist/{fleet-preflight-DSNT37JK.js → fleet-preflight-DDN536IT.js} +7 -4
- package/dist/{init-KZ5QTF6M.js → init-JYGXI3FK.js} +69 -32
- package/dist/{memory-73ESV5YC.js → memory-WFZMGYHX.js} +48 -27
- package/dist/{models-A4PVNWJK.js → models-I5QWSEOM.js} +39 -25
- package/dist/monitor-GE4ID3IA.js +661 -0
- package/dist/{chunk-FCIH3BIZ.js → orchestrator-EM5MC3HM.js} +15979 -12407
- package/dist/{paths-C4H6IV77.js → paths-UXLN5YYZ.js} +10 -5
- package/dist/{preload-6WVMHX3A.js → preload-P6DGH2PZ.js} +2 -2
- package/dist/{reset-BGW6OGMV.js → reset-L2FQEE3E.js} +16 -10
- package/dist/{run-YTPEYQOH.js → run-ZU3QMZPZ.js} +101 -61
- package/dist/{share-YIFFV4NQ.js → share-S5BZQC5I.js} +15 -8
- package/dist/{skills-2V6RA3OQ.js → skills-X5VXCRNQ.js} +34 -14
- package/dist/{skills-eval-S2TVJO4F.js → skills-eval-WKIHWTHR.js} +70 -34
- package/dist/steer-GGWFUJUD.js +77 -0
- package/dist/{targets-TYXLPB23.js → targets-SNCPI2NR.js} +43 -27
- package/dist/terminal-lease-BNAHVHBS.js +395 -0
- package/dist/{trace-GGOJ6Q6Z.js → trace-PNCASAXC.js} +41 -16
- package/dist/{chunk-N6F52NLF.js → tree-sitter-HGKH6LG4.js} +28 -2306
- package/dist/{uninstall-LLLT4F4W.js → uninstall-FZCQCDKC.js} +10 -5
- package/dist/{upgrade-33G2LMM5.js → upgrade-JQHHPQ4K.js} +45 -25
- package/dist/{usage-ZAFSXKKG.js → usage-OR4O5SMZ.js} +62 -31
- package/dist/verify-375KUB3Y.js +716 -0
- package/dist/web-fetch-2YHJ3KTG.js +638 -0
- package/dist/{wiki-generate-NUQCVOQ3.js → wiki-generate-UEXP2ARI.js} +74 -34
- package/dist/worker/entry.js +221 -36
- package/dist/workspace-G4ZWUIPR.js +22 -0
- package/docs/README.md +22 -17
- package/docs/acp.md +168 -16
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +136 -7
- package/docs/artifact-versions.md +1 -1
- package/docs/built-in-agents.md +1 -1
- package/docs/capacity-and-scheduling.md +1 -1
- package/docs/commands-and-modes.md +114 -71
- package/docs/config-knobs-audit.md +1 -3
- package/docs/configuration-and-targets.md +174 -46
- package/docs/context-engine.md +29 -6
- package/docs/development-pipeline.md +26 -1
- package/docs/dispatch-architecture-rationale.md +1 -1
- package/docs/documentation-coverage.md +2 -2
- package/docs/documentation-guide.md +1 -1
- package/docs/environment-variables.md +13 -5
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +1 -1
- package/docs/evidence-and-memory.md +6 -2
- package/docs/evolution.md +2 -2
- package/docs/exit-codes-and-output.md +15 -9
- package/docs/extensions-and-sharing.md +9 -9
- package/docs/fleet-dispatch.md +7 -5
- package/docs/git-commit-provenance.md +120 -0
- package/docs/glossary.md +1 -1
- package/docs/installation-and-lifecycle.md +34 -27
- package/docs/middleware-and-components.md +1 -1
- package/docs/model-catalog.md +45 -14
- package/docs/observability.md +8 -5
- package/docs/performance-methodology.md +491 -0
- package/docs/pi-boundary.md +72 -0
- package/docs/proactive-memory.md +3 -3
- package/docs/prompt-envelope-and-tools.md +24 -3
- package/docs/provider-adapter-cookbook.md +57 -4
- package/docs/release-cut-checklist.md +129 -115
- package/docs/safety-model.md +9 -5
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +55 -12
- package/docs/skills-marketplace.md +12 -8
- package/docs/time-conventions.md +1 -1
- package/docs/tool-usage.md +3 -3
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +10 -7
- package/docs/tui-design.md +47 -10
- package/docs/worker-dispatch-mechanics.md +1 -1
- package/package.json +19 -22
- package/skills/coding/ast-grep/SKILL.md +136 -0
- package/skills/coding/ast-grep/evals.md +56 -0
- package/skills/coding/ast-grep/references/rule_reference.md +297 -0
- package/skills/coding/coding-standards/SKILL.md +113 -0
- package/skills/coding/coding-standards/evals.md +34 -0
- package/skills/coding/prototype/SKILL.md +86 -0
- package/skills/coding/prototype/evals.md +42 -0
- package/skills/coding/prototype/references/LOGIC.md +67 -0
- package/skills/coding/prototype/references/UI.md +112 -0
- package/skills/coding/tdd/SKILL.md +101 -0
- package/skills/coding/tdd/evals.md +41 -0
- package/skills/coding/tdd/references/mocking.md +59 -0
- package/skills/coding/tdd/references/tests.md +77 -0
- package/skills/context/context-handoff/SKILL.md +126 -0
- package/skills/context/context-handoff/evals.md +57 -0
- package/skills/context/context-handoff/scripts/new-handoff.sh +26 -0
- package/skills/context/context-prime/SKILL.md +95 -0
- package/skills/context/context-prime/evals.md +54 -0
- package/skills/meta/clio-dev/SKILL.md +91 -0
- package/skills/meta/clio-dev/evals.md +45 -0
- package/skills/meta/clio-test/SKILL.md +130 -0
- package/skills/meta/clio-test/evals.md +43 -0
- package/skills/meta/clio-test/references/harness.md +97 -0
- package/skills/meta/clio-test/references/test-map.md +59 -0
- package/skills/meta/credentials/SKILL.md +125 -0
- package/skills/meta/credentials/evals.md +104 -0
- package/skills/meta/find-skills/SKILL.md +72 -0
- package/skills/meta/find-skills/evals.md +47 -0
- package/skills/meta/herdr/SKILL.md +127 -0
- package/skills/meta/herdr/evals.md +38 -0
- package/skills/meta/skill-craft/SKILL.md +102 -0
- package/skills/meta/skill-craft/evals.md +41 -0
- package/skills/planning/architecture/SKILL.md +129 -0
- package/skills/planning/architecture/evals.md +36 -0
- package/skills/planning/backlog/SKILL.md +90 -0
- package/skills/planning/backlog/evals.md +43 -0
- package/skills/planning/prd/SKILL.md +82 -0
- package/skills/planning/prd/evals.md +49 -0
- package/skills/planning/product-intent/SKILL.md +112 -0
- package/skills/planning/product-intent/evals.md +36 -0
- package/skills/planning/tech-spec/SKILL.md +115 -0
- package/skills/planning/tech-spec/evals.md +47 -0
- package/skills/registry.yaml +136 -0
- package/skills/research/arxiv-literature/SKILL.md +104 -0
- package/skills/research/arxiv-literature/evals.md +58 -0
- package/skills/research/experiment-protocol/SKILL.md +122 -0
- package/skills/research/experiment-protocol/evals.md +91 -0
- package/skills/research/scientific-debugging/SKILL.md +119 -0
- package/skills/research/scientific-debugging/evals.md +138 -0
- package/skills/research/scientific-modernization/SKILL.md +138 -0
- package/skills/research/scientific-modernization/evals.md +84 -0
- package/skills/workflow/design-council/SKILL.md +139 -0
- package/skills/workflow/design-council/evals.md +97 -0
- package/skills/workflow/grill-me/SKILL.md +186 -0
- package/skills/workflow/grill-me/evals.md +78 -0
- package/skills/workflow/workflow-distiller/SKILL.md +136 -0
- package/skills/workflow/workflow-distiller/evals.md +107 -0
- package/src/cli/acp.ts +31 -4
- package/src/cli/clio.ts +68 -6
- package/src/cli/config-inspect.ts +28 -22
- package/src/cli/configure.ts +47 -9
- package/src/cli/context-clear.ts +2 -2
- package/src/cli/context-index.ts +21 -23
- package/src/cli/context.ts +13 -8
- package/src/cli/default-target.ts +9 -17
- package/src/cli/docs.ts +11 -5
- package/src/cli/evidence.ts +4 -1
- package/src/cli/extensions.ts +10 -1
- package/src/cli/fleet.ts +47 -6
- package/src/cli/index.ts +55 -26
- package/src/cli/memory.ts +3 -1
- package/src/cli/models.ts +1 -1
- package/src/cli/modes/json-stream.ts +37 -1
- package/src/cli/modes/print.ts +24 -9
- package/src/cli/run.ts +2 -2
- package/src/cli/skills-eval.ts +23 -8
- package/src/cli/skills.ts +19 -4
- package/src/cli/targets.ts +4 -0
- package/src/cli/text-layout.ts +15 -5
- package/src/cli/trace.ts +62 -14
- package/src/cli/upgrade.ts +18 -2
- package/src/cli/usage.ts +10 -3
- package/src/cli/wiki-generate.ts +2 -1
- package/src/core/agent-environment.ts +7 -0
- package/src/core/bash-exec.ts +72 -1
- package/src/core/boot-trace.ts +9 -4
- package/src/core/bus-events.ts +20 -4
- package/src/core/commit-attribution.ts +157 -0
- package/src/core/compile-cache.ts +159 -0
- package/src/core/config.ts +131 -2
- package/src/core/defaults.ts +39 -5
- package/src/core/domain-loader.ts +12 -5
- package/src/core/git-commit-attribution.ts +387 -0
- package/src/core/incomplete-installation.ts +45 -0
- package/src/core/response-schema.ts +1 -1
- package/src/core/safe-exec.ts +13 -1
- package/src/core/settings-layers.ts +155 -21
- package/src/core/skill-activation.ts +1 -1
- package/src/core/startup-timer.ts +3 -3
- package/src/core/state-file-lock.ts +13 -1
- package/src/core/termination.ts +78 -5
- package/src/domains/config/classify.ts +15 -3
- package/src/domains/config/extension.ts +19 -13
- package/src/domains/config/index.ts +10 -0
- package/src/domains/config/keybindings.ts +45 -9
- package/src/domains/context/bootstrap-prompt.ts +1 -1
- package/src/domains/context/bootstrap.ts +111 -18
- package/src/domains/context/clear.ts +16 -11
- package/src/domains/context/clio-md.ts +111 -9
- package/src/domains/context/codewiki/artifact.ts +400 -0
- package/src/domains/context/codewiki/build-worker-protocol.ts +24 -0
- package/src/domains/context/codewiki/build-worker.ts +54 -0
- package/src/domains/context/codewiki/coordinator.ts +182 -0
- package/src/domains/context/codewiki/indexer.ts +59 -144
- package/src/domains/context/codewiki/paths.ts +67 -0
- package/src/domains/context/codewiki/schema.ts +80 -0
- package/src/domains/context/codewiki/tree-sitter.ts +1 -1
- package/src/domains/context/contract.ts +11 -5
- package/src/domains/context/extension.ts +94 -143
- package/src/domains/context/fingerprint.ts +3 -1
- package/src/domains/context/index.ts +12 -22
- package/src/domains/context/project-metadata.ts +19 -0
- package/src/domains/context/prompt-context.ts +9 -10
- package/src/domains/context/refresh.ts +29 -21
- package/src/domains/context/runtime.ts +17 -0
- package/src/domains/context/wiki/generate.ts +39 -34
- package/src/domains/context/wiki/plan.ts +1 -1
- package/src/domains/context/wiki/prompts.ts +21 -8
- package/src/domains/dispatch/code-step.ts +20 -1
- package/src/domains/dispatch/extension.ts +158 -21
- package/src/domains/dispatch/failure-classification.ts +6 -0
- package/src/domains/dispatch/fleet-commit-attribution.ts +56 -0
- package/src/domains/dispatch/orphan-recovery.ts +50 -8
- package/src/domains/dispatch/receipt-integrity.ts +5 -0
- package/src/domains/dispatch/state.ts +31 -6
- package/src/domains/dispatch/transport.ts +2 -1
- package/src/domains/dispatch/types.ts +14 -0
- package/src/domains/dispatch/worker-spawn.ts +21 -2
- package/src/domains/eval/metrics/context.ts +1 -1
- package/src/domains/eval/types.ts +0 -1
- package/src/domains/evidence/build.ts +41 -1
- package/src/domains/lifecycle/migrations/2026-08-18-lmstudio-runtime-id.ts +52 -0
- package/src/domains/lifecycle/migrations/index.ts +24 -4
- package/src/domains/middleware/hooks-io.ts +12 -0
- package/src/domains/middleware/skills-reminder.ts +30 -15
- package/src/domains/prompts/compiler.ts +142 -84
- package/src/domains/prompts/contract.ts +18 -2
- package/src/domains/prompts/extension.ts +39 -7
- package/src/domains/prompts/fragment-loader.ts +0 -1
- package/src/domains/prompts/fragments/identity/clio.md +2 -4
- package/src/domains/prompts/fragments/identity/docs-routing.md +10 -0
- package/src/domains/prompts/fragments/identity/self-awareness.md +1 -45
- package/src/domains/prompts/fragments/operating/contract.md +4 -50
- package/src/domains/prompts/fragments/operating/delegation.md +42 -0
- package/src/domains/prompts/fragments/operating/skills.md +26 -0
- package/src/domains/prompts/fragments/operating/worker.md +16 -0
- package/src/domains/prompts/fragments/safety/auto-edit.md +5 -5
- package/src/domains/prompts/fragments/safety/full-auto.md +3 -3
- package/src/domains/prompts/fragments/safety/read-only.md +4 -4
- package/src/domains/prompts/fragments/safety/suggest.md +2 -2
- package/src/domains/prompts/fragments/wiki/page.md +10 -0
- package/src/domains/prompts/fragments/wiki/plan.md +10 -0
- package/src/domains/prompts/preload.ts +3 -3
- package/src/domains/providers/auth/api-key.ts +1 -1
- package/src/domains/providers/auth/backend-file.ts +20 -10
- package/src/domains/providers/auth/backend-memory.ts +59 -4
- package/src/domains/providers/auth/boot-status.ts +65 -0
- package/src/domains/providers/auth/oauth.ts +2 -1
- package/src/domains/providers/auth/storage.ts +97 -38
- package/src/domains/providers/capabilities.ts +12 -4
- package/src/domains/providers/contract.ts +15 -4
- package/src/domains/providers/extension.ts +18 -6
- package/src/domains/providers/model-runtime-capabilities.ts +15 -4
- package/src/domains/providers/models/local-models/clio-local-coding-targets.yaml +118 -35
- package/src/domains/providers/plugins.ts +5 -3
- package/src/domains/providers/probe/fingerprint.ts +25 -5
- package/src/domains/providers/registry.ts +31 -10
- package/src/domains/providers/runtimes/boot-manifest.ts +55 -0
- package/src/domains/providers/runtimes/builtins.ts +2 -2
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +423 -0
- package/src/domains/providers/runtimes/common/local-synth.ts +6 -7
- package/src/domains/providers/runtimes/local-native/lmstudio.ts +241 -0
- package/src/domains/providers/support.ts +6 -3
- package/src/domains/providers/types/local-model-quirks.ts +7 -9
- package/src/domains/providers/types/runtime-descriptor.ts +12 -1
- package/src/domains/providers/types/target-descriptor.ts +22 -0
- package/src/domains/resources/contract.ts +0 -1
- package/src/domains/resources/extension.ts +1 -3
- package/src/domains/resources/loader.ts +3 -4
- package/src/domains/resources/prompts/loader.ts +16 -2
- package/src/domains/resources/prompts/substitute.ts +1 -65
- package/src/domains/resources/skills/content-hash.ts +2 -0
- package/src/domains/resources/skills/install.ts +17 -0
- package/src/domains/resources/skills/loader.ts +17 -10
- package/src/domains/resources/skills/marketplace.ts +55 -9
- package/src/domains/safety/action-classifier.ts +4 -2
- package/src/domains/safety/audit.ts +8 -2
- package/src/domains/safety/extension.ts +1 -1
- package/src/domains/session/compaction/branch-summary.ts +3 -2
- package/src/domains/session/compaction/cut-point.ts +2 -1
- package/src/domains/session/compaction/tokens.ts +2 -1
- package/src/domains/session/context-ledger.ts +14 -0
- package/src/domains/session/contract.ts +15 -0
- package/src/domains/session/decision-board.ts +190 -0
- package/src/domains/session/entries.ts +66 -3
- package/src/domains/session/extension.ts +93 -12
- package/src/domains/session/retry.ts +10 -18
- package/src/domains/session/session-artifacts.ts +107 -0
- package/src/domains/session/task-board.ts +207 -13
- package/src/domains/session/tree/active-path.ts +44 -5
- package/src/domains/session/tree/fork.ts +26 -27
- package/src/domains/session/tree/preview.ts +2 -2
- package/src/domains/session/workspace/git-probe.ts +17 -11
- package/src/domains/user-tasks/store.ts +297 -0
- package/src/engine/acp/errors.ts +96 -0
- package/src/engine/acp/server.ts +1728 -146
- package/src/engine/acp/transport.ts +135 -14
- package/src/engine/acp/types.ts +26 -0
- package/src/engine/agent.ts +3 -3
- package/src/engine/ai.ts +32 -27
- package/src/engine/alcf-oauth.ts +26 -19
- package/src/engine/api-registry.ts +223 -0
- package/src/engine/apis/index.ts +3 -7
- package/src/engine/apis/llamacpp-residency.ts +49 -9
- package/src/engine/apis/lmstudio-residency.ts +5 -21
- package/src/engine/apis/lmstudio.ts +243 -0
- package/src/engine/apis/ollama-native.ts +24 -3
- package/src/engine/apis/openai-completions.ts +170 -91
- package/src/engine/apis/residency.ts +139 -3
- package/src/engine/apis/types.ts +16 -0
- package/src/engine/env-api-keys.ts +98 -0
- package/src/engine/gemma-channel-filter.ts +223 -0
- package/src/engine/instrumented-tui.ts +192 -0
- package/src/engine/messages.ts +14 -0
- package/src/engine/models.ts +42 -0
- package/src/engine/oauth.ts +16 -12
- package/src/engine/prompt-templates.ts +1 -0
- package/src/engine/provider-payload.ts +16 -59
- package/src/engine/strip-tokenizer-sentinels.ts +1 -1
- package/src/engine/truncate.ts +9 -0
- package/src/engine/tui.ts +17 -9
- package/src/engine/types.ts +3 -6
- package/src/engine/worker-runtime-capabilities.ts +5 -0
- package/src/engine/worker-runtime.ts +1 -1
- package/src/engine/worker-tools.ts +9 -4
- package/src/entry/boot-options.ts +50 -0
- package/src/entry/orchestrator.ts +288 -150
- package/src/interactive/application-controller.ts +89 -2
- package/src/interactive/chat-loop.ts +266 -41
- package/src/interactive/chat-panel.ts +715 -278
- package/src/interactive/chat-renderer.ts +306 -85
- package/src/interactive/clio-editor.ts +3 -8
- package/src/interactive/command-fallbacks.ts +2 -2
- package/src/interactive/context-overlay.ts +27 -1
- package/src/interactive/editor-submit.ts +253 -24
- package/src/interactive/export-html/ansi-to-html.ts +161 -0
- package/src/interactive/export-html/index.ts +51 -0
- package/src/interactive/export-html/template.ts +45 -0
- package/src/interactive/export-html/tool-renderer.ts +54 -0
- package/src/interactive/footer/dashboard.ts +4 -0
- package/src/interactive/footer/notifications.ts +1 -1
- package/src/interactive/footer/widgets.ts +42 -22
- package/src/interactive/footer-panel.ts +8 -3
- package/src/interactive/format-time.ts +14 -2
- package/src/interactive/interactive-application.ts +203 -17
- package/src/interactive/interactive-event-projection.ts +18 -1
- package/src/interactive/interactive-input-runtime.ts +50 -4
- package/src/interactive/interactive-presentation.ts +151 -19
- package/src/interactive/interactive-shell.ts +268 -14
- package/src/interactive/interactive-slash-runtime.ts +184 -117
- package/src/interactive/interactive-tickers.ts +38 -7
- package/src/interactive/keybinding-manager.ts +1 -1
- package/src/interactive/layout.ts +40 -3
- package/src/interactive/overlay-frame.ts +1 -1
- package/src/interactive/overlay-general-openers.ts +58 -1
- package/src/interactive/overlay-key-routing.ts +3 -0
- package/src/interactive/overlay-lifecycle.ts +13 -0
- package/src/interactive/overlay-permission-lifecycle.ts +2 -1
- package/src/interactive/overlay-session-lifecycle.ts +69 -12
- package/src/interactive/overlays/ask-user.ts +146 -24
- package/src/interactive/overlays/decisions.ts +300 -0
- package/src/interactive/overlays/help-reference.ts +15 -10
- package/src/interactive/overlays/model-selector.ts +34 -16
- package/src/interactive/overlays/session-selector.ts +18 -0
- package/src/interactive/overlays/settings.ts +105 -17
- package/src/interactive/overlays/skills-hub.ts +4 -4
- package/src/interactive/overlays/tree-selector.ts +41 -6
- package/src/interactive/render-trace.ts +499 -90
- package/src/interactive/renderers/compaction-summary.ts +2 -2
- package/src/interactive/renderers/diff.ts +115 -104
- package/src/interactive/renderers/mermaid.ts +53 -0
- package/src/interactive/renderers/tool-execution.ts +516 -168
- package/src/interactive/renderers/worker-entry.ts +20 -4
- package/src/interactive/session-switch-settlement.ts +10 -0
- package/src/interactive/slash-autocomplete.ts +6 -114
- package/src/interactive/slash-commands.ts +135 -47
- package/src/interactive/slash-spec.ts +9 -38
- package/src/interactive/status/controller.ts +5 -1
- package/src/interactive/status/index.ts +12 -1
- package/src/interactive/status/reasoning.ts +87 -0
- package/src/interactive/status/summary.ts +13 -2
- package/src/interactive/stdout-backpressure.ts +99 -0
- package/src/interactive/stream-pacer.ts +530 -0
- package/src/interactive/stream-pacing-policy.ts +66 -0
- package/src/interactive/tasks-overlay.ts +368 -14
- package/src/interactive/terminal-lease.ts +485 -0
- package/src/interactive/theme/tokens.ts +1 -1
- package/src/interactive/transcript-detail.ts +120 -0
- package/src/interactive/turn-context.ts +4 -3
- package/src/interactive/turn-persistence.ts +30 -13
- package/src/interactive/turn-queues.ts +12 -0
- package/src/interactive/turn-recovery.ts +25 -8
- package/src/interactive/turn-runtime.ts +79 -12
- package/src/interactive/turn-state.ts +10 -0
- package/src/interactive/view/artifacts.ts +114 -4
- package/src/interactive/view/view-overlay.ts +3 -0
- package/src/interactive/welcome-dashboard.ts +17 -16
- package/src/interactive/worker-receipts.ts +52 -3
- package/src/interactive/worker-stream.ts +5 -1
- package/src/tools/agent-tools.ts +23 -3
- package/src/tools/artifact.ts +2 -2
- package/src/tools/ask-user.ts +23 -13
- package/src/tools/bash.ts +30 -2
- package/src/tools/bootstrap.ts +34 -431
- package/src/tools/builtin-tool-catalog.ts +271 -0
- package/src/tools/codewiki/code-nav-surface.ts +29 -0
- package/src/tools/codewiki/code-nav.ts +8 -22
- package/src/tools/codewiki/shared.ts +41 -38
- package/src/tools/context/docs-engine.ts +14 -3
- package/src/tools/context/index.ts +107 -28
- package/src/tools/context/surface.ts +19 -0
- package/src/tools/core-bootstrap.ts +168 -0
- package/src/tools/credential-present.ts +5 -5
- package/src/tools/dispatch-admission.ts +533 -0
- package/src/tools/dispatch-background.ts +54 -0
- package/src/tools/dispatch-event-text.ts +6 -0
- package/src/tools/dispatch-plan.ts +9 -4
- package/src/tools/dispatch-run-events.ts +238 -0
- package/src/tools/dispatch-runner.ts +2370 -0
- package/src/tools/dispatch-scout-admission.ts +295 -0
- package/src/tools/dispatch-types.ts +77 -0
- package/src/tools/dispatch.ts +67 -3161
- package/src/tools/find.ts +4 -2
- package/src/tools/grep.ts +2 -2
- package/src/tools/lazy-tool.ts +60 -0
- package/src/tools/ledger.ts +3 -3
- package/src/tools/monitor-surface.ts +36 -0
- package/src/tools/monitor.ts +2 -32
- package/src/tools/observers.ts +2 -2
- package/src/tools/presentation.ts +107 -0
- package/src/tools/registry.ts +45 -27
- package/src/tools/safe-exec.ts +2 -2
- package/src/tools/steer-surface.ts +17 -0
- package/src/tools/steer.ts +2 -13
- package/src/tools/tasks.ts +108 -11
- package/src/tools/truncate.ts +25 -184
- package/src/tools/verify/frontend.ts +3 -1
- package/src/tools/verify/index.ts +3 -38
- package/src/tools/verify/surface.ts +46 -0
- package/src/tools/web-fetch-surface.ts +23 -0
- package/src/tools/web-fetch.ts +2 -20
- package/src/tools/write.ts +7 -2
- package/src/worker/entry.ts +39 -2
- package/src/worker/spec-contract.ts +26 -5
- package/dist/chunk-7SS2CTV2.js +0 -61361
- package/dist/chunk-DKGKUHFA.js +0 -924
- package/dist/chunk-GEP36Y4X.js +0 -12796
- package/dist/chunk-XYWBQRDM.js +0 -137
- package/dist/clio-BZVGEUFJ.js +0 -58
- package/dist/configure-S7S6F6CL.js +0 -32
- package/docs/html/agents_blueprint.html +0 -936
- package/docs/html/alcf_blueprint.html +0 -324
- package/docs/html/architecture_blueprint.html +0 -850
- package/docs/html/commands_blueprint.html +0 -939
- package/docs/html/config_knobs_audit_blueprint.html +0 -178
- package/docs/html/configuration_blueprint.html +0 -1080
- package/docs/html/context_blueprint.html +0 -603
- package/docs/html/documentation_blueprint.html +0 -832
- package/docs/html/environment_blueprint.html +0 -404
- package/docs/html/eval_blueprint.html +0 -743
- package/docs/html/evals_internal_blueprint.html +0 -190
- package/docs/html/evolution_blueprint.html +0 -674
- package/docs/html/extensions_blueprint.html +0 -2065
- package/docs/html/fleet_dispatch_blueprint.html +0 -286
- package/docs/html/index.html +0 -919
- package/docs/html/lifecycle_blueprint.html +0 -723
- package/docs/html/memory_blueprint.html +0 -699
- package/docs/html/middleware_blueprint.html +0 -664
- package/docs/html/models_blueprint.html +0 -2366
- package/docs/html/observability_blueprint.html +0 -683
- package/docs/html/provider_adapter_blueprint.html +0 -245
- package/docs/html/safety_blueprint.html +0 -1386
- package/docs/html/shared.css +0 -571
- package/docs/html/shared.js +0 -143
- package/docs/html/skills_blueprint.html +0 -671
- package/docs/html/soak_blueprint.html +0 -182
- package/docs/html/tool_usage_blueprint.html +0 -350
- package/docs/html/tools_blueprint.html +0 -2249
- package/docs/html/trace_blueprint.html +0 -235
- package/docs/html/tui_design_blueprint.html +0 -374
- package/docs/html/validation_blueprint.html +0 -961
- package/docs/html/worker_dispatch_blueprint.html +0 -231
- package/src/core/release.ts +0 -2
- package/src/domains/providers/runtimes/common/lmstudio-logger.ts +0 -32
- package/src/domains/providers/runtimes/local-native/lmstudio-native.ts +0 -491
- package/src/engine/apis/lmstudio-native.ts +0 -1438
- package/src/engine/apis/thinking-replay.ts +0 -11
- package/src/tools/string-enum.ts +0 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,440 +1,300 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
All notable changes to Clio Coder are documented in this file. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and versions follow Semantic Versioning; pre-1.0 minor releases may include incompatible changes.
|
|
4
|
+
|
|
5
|
+
## 0.3.3 - 2026-08-21
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- Unified transcript detail under `/output minimal|default|verbose`, with consistent per-block and all-block tool/thinking overrides that reset when the output level is reapplied.
|
|
9
|
+
- Folded Bash execution bodies by default while retaining concise command, outcome, timing, size, and bounded failure evidence on the transcript row (#166, #177).
|
|
10
|
+
- Rendered reasoning as stream-ordered thinking segments and made interview prompts true fullscreen workspaces (#171).
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Preserved live, interrupted, and replayed reasoning order and token provenance, including provider-reported zero-output turns.
|
|
14
|
+
- Preserved complete replay bodies for HTML export and aggregated multi-call replay receipts.
|
|
15
|
+
- Kept failure excerpts and mutation diffs inside narrow terminal frames, including at 40 columns.
|
|
16
|
+
- Replaced internal tool-call labels such as `bash(...)` with operator-facing action descriptions in live, replayed, blocked, and exported transcript rows.
|
|
17
|
+
- Refreshed the footer immediately after `/output` changes and kept explicit fold choices scoped to the intended tool or thinking stretch.
|
|
18
|
+
- Rechecked commit-attribution repository state and repaired missing or damaged cached hook wrappers before reuse.
|
|
19
|
+
|
|
20
|
+
## 0.3.2 - 2026-08-20
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- Evidence-aware Git commit attribution, with an Advanced setting to disable it without changing commit messages.
|
|
24
|
+
- Fullscreen terminal mode, terminal-native Mermaid and LaTex rendering, smooth-streaming controls, instant-shell startup, prompt-history navigation, and improved model, settings, resume, task, decision, and workspace-output views.
|
|
25
|
+
- HTML transcript export (with Markdown export retained), live tool-progress and numbered edit/write diffs, and richer tool lifecycle details.
|
|
26
|
+
- Directory-scoped `CLIO-CODER.override.md` instructions, project-rule propagation to workers, an installed-skills marketplace, and source/codewiki assets in published packages.
|
|
27
|
+
- Compile-cache support for interactive, run, ACP, and worker boot paths; codewiki indexing and several tool implementations now load on demand.
|
|
28
|
+
- A Pi SDK boundary/upgrade checklist and declaration-surface checks; Pi SDK libraries are updated to 0.84.0.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
- Consolidated slash-command spelling and prompt-template argument handling; retired aliases now fail closed while preserving the editor draft.
|
|
32
|
+
- Replaced the LM Studio SDK path with an HTTP adapter. `lmstudio` is canonical; `lmstudio-native` remains a compatibility alias for persisted settings.
|
|
33
|
+
- Improved local-model selection, residency, context sizing, reasoning controls, retries, OpenAI-compatible streaming, and token accounting.
|
|
34
|
+
- Strengthened ACP v1 session, workspace, permission, output-bound, and error contracts for external clients.
|
|
35
|
+
- Improved terminal rendering, transcript streaming, timing, export, and session replay behavior.
|
|
36
|
+
- `docs/html` is no longer included in npm packages; Markdown guides remain available.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- Preserved prompt submission order during instant-shell startup and restored transcript rendering in fullscreen mode.
|
|
40
|
+
- Kept rejected slash-command drafts editable and aligned footer, receipt, and ledger usage for completed or cancelled turns.
|
|
41
|
+
- Prevented session switches during streaming from creating phantom entries; fixed task-board branch selection and persisted `/tree` pins.
|
|
42
|
+
- Prevented concurrent dispatch processes from overwriting run-ledger rows (#118), and hardened worker compile-cache isolation (#148).
|
|
43
|
+
- Fixed LM Studio duplicate-load behavior (#113), llama.cpp residency failures (#127, #134), runtime alias handling (#119), and probed context-window precedence (#129).
|
|
44
|
+
- Restored documented headless JSON/event output and CLI exit-code behavior (#122, #123); corrected thinking-level resolution (#128), stalled-stream reporting (#131), and reasoning-token estimates (#132).
|
|
45
|
+
- Isolated tests from user configuration (#110, #111), and corrected documentation claims (#117).
|
|
46
|
+
|
|
47
|
+
### Security
|
|
48
|
+
- Hardened worker and session safety-policy consistency, OAuth cancellation, workspace output reads, and ACP permission/cancellation handling.
|
|
49
|
+
- Added publish-time version-coherence checks (#124) and removed unsafe or misleading default behaviors in credentials migration and package serving.
|
|
11
50
|
|
|
12
51
|
## 0.3.1 - 2026-08-16
|
|
13
52
|
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
- Fixed
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
- Made a stalled stream abort and retry instead of waiting forever. `retry.streamStallMs` (default 180000, 0 disables) arms a deadline at `agent_start` that every engine event pushes out; when it passes with nothing from the stream the run is aborted through the same path Esc uses and walks the existing retry ladder, so a headless run, a fleet worker, or an ACP client no longer needs a human at the keyboard. Silence during tool execution does not count. The await-watchdog counts a worker's own stream as progress, so a dispatch that produced thousands of events is no longer reported as `no progress`.
|
|
35
|
-
- Fixed the result-contract repair round. The directive now rides as a tool result paired with a synthetic assistant call, which every served template treats as a history append instead of re-rendering the whole prompt (11,352 tokens reprocessed as a user turn against 407 as a tool result on a warmed 15k prefix), which OpenAI's and Anthropic's validators accept, and whose zero usage the context estimator skips; before that last change every dispatched worker died one round after its terminal message with `Cannot read properties of undefined (reading 'totalTokens')`. LM Studio no longer reports `cacheRead: 0` for a stat it does not have.
|
|
36
|
-
- Made LM Studio residency fit the context and keep one instance. A just-in-time load beside another resident model is capped at 131,072 tokens and the clamp is reported before the first turn, raised with `CLIO_CODER_LMSTUDIO_CORESIDENT_CONTEXT`; a model that is already resident is reused rather than loaded a second time; configured models carry the plane they serve so a forced eviction names its role; and a turn under 2 tok/s for 30 seconds emits a `degraded` notice listing the resident set. The planner budgets against the window the backend has actually loaded rather than a catalog maximum, so the 80% compaction trigger no longer sits above the limit a backend fails at.
|
|
37
|
-
- Added the outward exposure tier to `ask_user`. A skill marks a gate whose confirmation leaves the machine as `exposure: outward`, and that gate parks for the operator at both supervised levels instead of being auto-answered, so filing a public issue can no longer go through in 24ms without a human; `full-auto` is untouched and an unrecognised tier reads as outward. The read-only exploration nudge advises once per turn instead of forcing a second model round, and the footer tools row leads with the registered tool count so a session whose only call was a dispatch no longer reads `tools none`. A turn that claims worker results without a dispatch call to back them draws an honesty notice.
|
|
38
|
-
- Moved generated artifacts out of the working tree. The `artifact` tool's defaults resolve to `.clio-coder/artifacts/PLAN.md`, `REVIEW.md`, and `REPORT.md`, which is gitignored, so a report-writing turn no longer drops a root-level file into a repository a second agent is working in; an explicit `path` still writes exactly where it says. `docs/artifact-placement.md` states the contract.
|
|
39
|
-
- Made the package carry Clio's own source and code map. `files` gains `src/**` and the build ends by indexing exactly the packed file set into `dist/assets/codewiki.json`, so an installed Clio can read her own source and answer questions about herself; the twelve tree-sitter grammars are vendored into `dist/assets/grammars/` in place of two grammar packages costing ~72MB per install, and `chalk`, `diff`, `uuid`, `yaml`, `typebox`, and `undici` are bundled into `dist/` and moved to devDependencies. A pack-install smoke installs the tarball into a scratch prefix and proves `--version` and `context index` from there. The release workflow verifies artifacts and never publishes; `npm publish` is a manual maintainer step, and a contract test guards that no publish path is re-added.
|
|
40
|
-
- Collapsed the git skill pipeline to three stages, `file-ticket`, `fix-issue`, and `ship`, retiring `commit-crafting`, `create-pr`, `investigate-issue`, and `review-changes`; the coder and git-master builtins rebind to the survivors and the catalog is re-pinned.
|
|
41
|
-
- Fixed a pasted slash command with a trailing newline landing in the composer without running, shadow workers reading as `sh:`-prefixed agent names rather than as internal processes with their own footer rows and receipt ids, and evidence attribution claiming an overlapping sibling run's entry as its own; an entry inside two run windows now lists both candidates and appears in each bundle.
|
|
42
|
-
- Made `clio-coder doctor` treat a home Clio has never written to as not set up rather than broken. It prints one `WARN installation not set up yet` row naming `clio-coder`, `clio-coder configure`, and `doctor --fix`, exits 0, and creates nothing, so the `--fix` that follows is stamped as an install rather than a repair; once any root exists the per-row report and exit 1 are unchanged.
|
|
43
|
-
- Made an upgrade say so. `install.json` records `upgradedFrom` when the version changes, `clio-coder doctor` shows `upgraded <when> from <version>`, and the first interactive launch on the new version shows one footer notice naming the transition, the commands and skills that moved, and the CHANGELOG section, then records `noticedVersion` so it never repeats; headless and ACP boots stay silent. `clio-coder upgrade --dry-run` names the recorded and current versions it would move between and says plainly when no migrations are registered, and the post-install and local paths report `0.3.0 -> 0.3.1` rather than the binary's own version twice. Nothing about the 0.3.0 to 0.3.1 upgrade needs a hand step: `identity:` still loads and is ignored, `clioEntry` and `CLIO_CODER_MAX_RUNS` still read.
|
|
53
|
+
### Added
|
|
54
|
+
- Live worker transcript blocks, receipts, sharing, folding, and durable replay for `/run` and `/delegate`.
|
|
55
|
+
- Interoperability discovery and opt-in configuration for compatible coding agents, with protected foreign-agent directories and prompt roots.
|
|
56
|
+
- An agent-ledger surface for coordinated worker findings and a transactional Settings Center for routing, runtime, and experience settings.
|
|
57
|
+
- Stream-stall retries, authoritative timing/timezone handling, packaged source/code maps, improved trace viewing, and clearer upgrade notices.
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
- Reworked the TUI around adaptive launch, composer, transcript, footer, permission, and narrow-terminal layouts.
|
|
61
|
+
- Improved fleet admission, result contracts, benchmark adapters, local-model residency, artifacts, and release packaging.
|
|
62
|
+
- Renamed remaining user-facing runtime identifiers to `clio-coder`; legacy settings and environment spellings remain readable where noted.
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
- Restored TUI prompt-template invocation and implemented documented ACP `--cwd` and `--permission-timeout` options.
|
|
66
|
+
- Preserved synthesis-locked worker answers, prevented unsafe llama.cpp model overrides, and corrected tool durations (#82).
|
|
67
|
+
- Fixed handbook grounding, reachability diagnostics, JSON result parsing, pasted slash commands, and resumed/forked prompt display.
|
|
68
|
+
- Fixed cancelled-turn replay/accounting, credentials corruption safeguards, doctor diagnostics, configuration layout, and missing-artifact errors.
|
|
69
|
+
|
|
70
|
+
### Security
|
|
71
|
+
- Remembered identical per-run escalation decisions without widening different requests.
|
|
72
|
+
- Added outward-exposure confirmation, safer artifact defaults, protected foreign-agent paths, and stricter credential, URL-opening, and permission behavior.
|
|
44
73
|
|
|
45
74
|
## 0.3.0 - 2026-08-14
|
|
46
75
|
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
- Updated the Pi engine dependencies to 0.83.0. `src/engine/` is now the one place pi types enter the codebase; no file outside it imports `@earendil-works/*`, type-only included.
|
|
69
|
-
- Made the default `clio-coder --help` describe the command surface a person needs to read while preserving the complete surface for scripts and agents. Harness-oriented commands are grouped under `clio-coder dev`, `clio-coder --help --all` reveals both sets, and the former top-level command forms continue to resolve unchanged.
|
|
70
|
-
- Reorganized the interactive application into focused controller, presentation, input, event-projection, process-shell, transcript, ticker, editor, slash-command, and overlay lifecycle modules. The TUI's public behavior and command surface are unchanged; the decomposition gives lifecycle, input, overlay, and rendering contracts independent test seams instead of concentrating them in a 3,600-line entrypoint.
|
|
71
|
-
- Fixed direct shell interpolation while opening provider URLs on macOS and Linux. Interactive OAuth authorization, device-code, and console URLs once entered an `exec()` command after only double-quote escaping, so backticks or command substitutions in provider-supplied text could execute before the browser opened; `open` and `xdg-open` now receive the URL as a distinct `spawn()` argument. Windows still starts its browser through `cmd /c start`, so this change removes the original `exec()` construction there but does not claim a shell-free Windows launch.
|
|
72
|
-
- Made retries distinguish a self-hosted model that is loading from an ordinary rate limit. Unloaded or loading-model errors now qualify for retry with a 15-second minimum delay that still honors the configured maximum, so disk and VRAM loading does not spend the usual short backoff sequence before the target can serve a request.
|
|
73
|
-
- Corrected damage-control matching so it evaluates commands that will execute rather than prose a file will contain. Writing documentation that quotes `rm -rf /`, a migration that contains `DROP TABLE`, or a classifier fixture no longer trips a command-pattern block; the same destructive command remains subject to policy when passed to a command-bearing tool, and destination paths still receive path-based checks.
|
|
74
|
-
- Reworked project-context bootstrap around the dedicated `context-bootstrap` agent and a generated local handbook. `CLIO-CODER.md` is a gitignored runtime artifact rather than this repository's canonical instructions; the agent uses ordinary binding and default route resolution while honoring a legacy Scout binding, an existing handbook informs generation rather than silently cancelling it, and default initialization preserves it until an explicit `--apply` or `--rewrite` action. Bootstrap retains the previous handbook provenance when a run generates nothing and reads project identity from the manifests, build files, citation records, and README forms each ecosystem uses instead of assuming a Node package.
|
|
75
|
-
- Made `clio-coder context refresh` update only the existing handbook sections the rebuilt codewiki owns, leaving model- and human-authored prose stable, and made context status name a partial generated wiki as incomplete rather than presenting it as coverage it has not earned. Context reset preserves the wiki by default and its help names that exception, so a destructive action is not hidden behind a generic reset.
|
|
76
|
-
- Rebuilt generated wikis around a depth-scaled, index-derived page plan and isolated page writers. A bounded planner may refine the deterministic candidate, but each `wiki-writer` dispatch is confined to staging, receives a bounded source set and no Git tool, checkpoints one page at a time, and promotes the coherent pages it wrote while recording the rest for `clio-coder context wiki --update`. Deterministic assembly regenerates navigation from pages on disk, drops empty pages so they remain owed, and records unresolved links and citations for the next update rather than fabricating complete coverage.
|
|
77
|
-
- Hardened the skill substrate from discovery through evaluation. A `SKILL.md` must be bounded valid UTF-8 text and a discovered root must contain the content it advertises; scalar or sequence tool declarations resolve to Clio's actual tool surface and warn on unenforceable names. `clio-coder skills eval` now measures the precedence-winning copy activation would load and reports its origin and hash, while install and update constrain GitHub paths to the cloned repository, validate a staged replacement before an atomic swap, preserve the installed copy on failure, and detect post-install drift against the recorded or catalog-pinned normalized hash.
|
|
78
|
-
- Fixed worker budgets so late-run guardrails preserve the artifact a worker was admitted to produce. The reserve and soft limit now end broad discovery rather than read, write, edit, or the closed `orientation` product's `code_nav` delivery surface; executed calls remain bounded by the lifetime cap, refused calls do not spend it, free refusals carry their own bounded backstop, and loop escalation scales with the worker's admitted budget instead of the interactive threshold.
|
|
79
|
-
- Made provider thinking controls and usage accounting describe what actually reached a model. `thinking: off` now sends an explicitly mapped off effort for supported effort-level families, while families with no such mapping continue to omit the field and LM Studio native reports its transport cannot send template thinking controls. Reasoning tokens remain accounted even when Clio suppresses the thought text, so an incorrect reasoning-never classification cannot make the server's observed usage disappear.
|
|
80
|
-
- Made the npm release contract follow the runtime resources an installed CLI actually resolves. One shared release manifest now drives the package gate and tests, source analysis checks literal package-root paths against the allowlist, bundled HTML remains present for `clio-coder docs`, and generated repository-local handbooks cannot leak from a release checkout into the tarball.
|
|
81
|
-
- Changed how the TUI treats a slash command it does not recognize. A command-shaped token now fails with `/<token> is not a command. Type /help for the list.` instead of being sent to the model as ordinary chat. This removes the fall-through that previously let four renamed spellings, `/status`, `/hotkeys`, `/skills`, `/connect`, `/disconnect`, `/receipts`, and every typo reach the model as a question about itself. The accepted cost is that one command-shaped word followed by prose now resolves as a command, so `/tmp is full` fails; the escape is a leading backslash, and `\/tmp is full` reaches the model unchanged.
|
|
82
|
-
- Fixed `clio-coder uninstall --remove-binary` reporting that it removed a dangling launcher symlink while leaving it in place, which left a broken `clio-coder` on `PATH` after an uninstall that exited zero. Launcher ownership is now the resolved identity of this installation's own entry, so a link into a different clio-coder installation and a symlink whose target is a directory are both preserved with an actionable warning, and only a link that resolves to this installation, or a dangling link naming a clio-coder entry, is removed.
|
|
83
|
-
- Fixed `clio-coder reset` and `clio-coder uninstall` reporting global success after a partial delete. Both now attempt every selected root, collect per-path failures instead of throwing the first one, rebuild the skeleton, name each surviving path with its reason, and exit 1 with the exact invocation to rerun.
|
|
84
|
-
- Fixed `clio-coder trace --help` failing with `unknown trace flag: --help` and exiting 2 while every other subcommand answered on stdout with status 0. `clio-coder trace` usage also now says that `clio-coder trace ui` needs a source checkout, which is where the viewer ships; from an installed package the other trace subcommands read the same database.
|
|
85
|
-
- Fixed `clio-coder configure --list` and the first-run runtime menu writing fixed-width rows sized for roughly 88 columns, which ran model hints to 141 columns on an 80-column terminal. The plain-stdout configure surfaces now measure the terminal and degrade by restacking rather than by dropping information.
|
|
86
|
-
- Fixed error messages that named a command which could not change the outcome. An invalid `settings.yaml` now names the file, the keys, and `clio-coder reset --config --force` rather than `clio-coder doctor --fix`, which by design never rewrites settings content; an interrupted install that leaves a missing chunk reports reinstall instructions; and `clio-coder run --no-context-files` explains that global options precede the subcommand instead of reporting an unknown option.
|
|
87
|
-
- Fixed a cancelled turn poisoning every later turn in the same session. The durable closing turn a cancel writes carries no provider `usage`, because no model call produced it, and it was recorded `stopReason: "stop"`, which walked it past the context estimator's aborted-or-error guard. The next turn then failed in roughly 30 ms with `Cannot read properties of undefined (reading 'totalTokens')` and no network call, and kept failing for the life of the session, because the process that wrote the record never re-read it and every later read did. The closing turn is now recorded `aborted`, which is what happened. Replay learned the same distinction: an aborted turn that carries its own text and no provider `errorMessage` is a notice Clio wrote itself and renders as that text alone, while a genuine mid-stream abort keeps its error line.
|
|
88
|
-
- Fixed `clio-coder auth login` destroying the credentials it could not parse. Every write to `credentials.yaml` is a whole-file rewrite of the parsed view with no backup, and the parser answered a YAML error by returning an empty store, so a single login serialized that emptiness over the secrets and took the file from 211 bytes to 112. What made it likely rather than obscure is that `clio-coder doctor` called the file OK and `clio-coder auth list` showed every provider `disconnected`, the same word it uses for a provider you never logged into, so the operator is told they are logged out and then does the one thing that looks like recovery. Reading now reports what was lost on the way in, a write over invalid YAML or an unreadable shape refuses and names the file and the reason with a non-zero exit, the in-memory view is no longer updated ahead of the disk write, and `auth list` and `auth status` warn instead of understating. The refusal is bounded so a first login still works: absent, empty, comment-only, and empty-mapping files are clean rather than damaged, and only a non-empty mapping in neither known shape is refused.
|
|
89
|
-
- Fixed `clio-coder doctor` reporting a root it cannot use as a healthy directory. The four root rows tested existence, which is true for a regular file and for a mode-000 directory, so doctor exited 0 and `clio-coder doctor --fix` one command later died on `Expected directory` and printed no report at all. Each root is now checked for being a directory that is readable, writable, and traversable, and the row names which of those failed; a `--fix` that throws records a `repair` row and still prints the rest of the report; and the metadata row no longer calls an `install.json` that is present and merely unreadable missing.
|
|
90
|
-
- Added `[s] stop turn` at the permission prompt, which previously offered no exit from a repeating approval loop. `s` denies the call and ends the run through the same path the loop guard uses, closing the turn with a durable notice naming the tool, answering every call the turn had parked, and suppressing the re-notify that would otherwise open the next one. Escape is unchanged and still answers exactly one call.
|
|
91
|
-
- Fixed `/cost` and the footer usage line rendering one process-lifetime accumulator that only a new session ever reset, so a resumed session showed the previous session's totals under the resumed session's id, and a process that resumed and sent nothing reported zero for a session holding tens of thousands of tokens on disk. Resume, `/tree` switch, and `/fork` reseed those totals from the session's own ledger, skipping turns marked aborted or error along with the all-zero usage block a cancelled partial persists.
|
|
92
|
-
- Made `clio-coder doctor` report the session and credential damage its own loaders already see. A `session store` row fails when `state/sessions` is gone while state metadata remains, which previously left doctor byte-identical to a healthy run in both text and `--json`; damaged ledgers are parsed with the reader `clio-coder run --continue` uses and the row names up to three `path:line` damage points before summarizing the rest. The credentials row consults the same damage reason the storage layer reports, so an unparseable store fails the row with the YAML reason and an unreadable one names the path and the remedy rather than a raw `EACCES` string. The `invalid JSON skipped` line prints once per damaged line per process instead of six times.
|
|
93
|
-
- Made `clio-coder usage report` distinguish a missing store from zero activity, and gave it the token and cost facts it never carried. Text names `session store missing at <path>` and `receipt store missing at <path>`, the opportunities section says the inputs are absent rather than concluding `none`, and `--json` emits `session-store-missing` and `receipt-store-missing` facts. Token and cost rows are folded from the same per-call ledger fold `/cost` reads, which now lives in `src/domains/session/usage.ts` and is imported by both surfaces, so the headless report and the TUI cannot drift into two answers for one ledger.
|
|
94
|
-
- Fixed writers recreating state the operator had just removed. `clio-coder uninstall` reported `removed Clio Coder state` and then a live process resurrected `runs.json` from memory on quit, holding runs whose receipts no longer existed, so `clio-coder fleet status` billed them while `clio-coder usage report` said zero for the same week. One shared guard in `src/core/xdg.ts` now covers the session shutdown checkpoint, tree and meta persistence, the audit log, recent-models, and the dispatch ledger. It reads the resolved XDG cache rather than probing the path, because a bare existence check cannot tell a removed root from a first run that has not created one yet, and a probe-based guard would have silently disabled the audit writer on fresh installs. Separately, `clio-coder uninstall --dry-run` no longer leaves npm debug logs in `$HOME/.npm/_logs`, which the documented side-effect-free preview wrote on every invocation.
|
|
95
|
-
- Fixed `clio-coder auth login` printing its success line and exiting 0 after a write the storage layer had refused, which reported a stored credential that was never written. Every credential-writing CLI path now consults the storage damage reason after the write and reports the refusal with a non-zero exit, and the interactive auth overlay consults the same reason instead of claiming success on the refused write.
|
|
96
|
-
- Made `clio-coder reset` and `clio-coder uninstall` say what they are about to destroy and what survives. The reset preview lists each root's real children with counts and gives every scope a note, and the help defers to that listing rather than describing it. Uninstall enumerates the per-project `.clio-coder/` directories recorded in session metadata and names `clio-coder context reset --all` before the roots and the launcher are touched, because the record it reads lives inside a root it is about to remove and the cleaner is a subcommand of the binary `--remove-binary` is about to delete. Per-project directories are still not removed by uninstall; this makes the ordering visible rather than closing the gap.
|
|
97
|
-
- Made a failed settings reload render as one width-clamped notice from the shared settings formatter instead of an inspect dump and a stack trace that corrupted the frame. Read, parse, and schema failures are distinguished, the remedy matches the kind and leads the detail so frame clamping cuts context rather than the fix, the raw YAML source fragment is gone, and the previous good configuration stays active. Doctor's settings row and the thrown error use the same helpers.
|
|
98
|
-
- Fixed `clio-coder targets --probe` writing fixed-width rows that ignored the terminal. The id column never truncates, url and model truncate with an ellipsis, `--json` stays untruncated, and surplus width goes to url and model before the tier column, which had let four distinct hosts render identically at 120 columns while the group header already carried the tier.
|
|
99
|
-
- Added slash aliases for the spellings people actually type: `/exit` resolves to `/quit`, `/config` to `/settings`, and `/compact` to `/context compact`, with aliases offered in tab completion ranked below their canonical commands. A rejected unknown command now clears the composer rather than leaving the text to concatenate with the next keystrokes into a message to the model.
|
|
100
|
-
- Made the TUI tell the truth about a denied tool call and about usage the ledger was hiding. A denial renders as the dialog outcome and status alone, the collapsed row reads `bash(id) ✗ blocked` instead of claiming the call `ran`, and no parked-approval line survives the decision. `/context compact` persists its summarization usage on the compaction entry and moves `/cost` immediately, so a real model call stops being invisible to every usage surface. A cancelled turn now persists estimated usage marked `estimated: true` in the shape a completed turn uses, rather than the all-zero block the cancel path used to write beside real streamed text, and `/cost` readers skip it. `/tree` shows the fork parent and the compaction and branch nodes, and replay no longer dumps `custom:promptRecompiled` JSON into the transcript. The stop-turn notice no longer doubles the usage line onto the empty assistant entry it splits open, and a settled entry holding nothing renders nothing instead of an empty bubble.
|
|
101
|
-
- Made overlay footers say what Esc will do from where the overlay is right now. The verb was derived from whether an overlay committed anything, which produced `cancel` on half of them and `close` on the other half while neither word described the key: a list overlay clears a typed filter on the first Esc and closes on the second, and the footer said `close` through both. The caller names the action now, out of a fixed vocabulary of `close`, `clear filter`, and `back`, and `/models` and `/resume`, which close on the first Esc, say so instead of advertising a filter they do not clear. Every overlay uses one filter vocabulary.
|
|
102
|
-
- Fixed a repair masquerading as an install. `initializeClioHome` stamped `installedAt` when it had only repaired an existing home, so the install date moved every time doctor rebuilt the skeleton. A repair writes `repairedAt`, `install.json` accepts either stamp, and doctor prints whichever exist. The doctor damage row groups identical messages instead of repeating one error three times.
|
|
103
|
-
- Made every cost surface claim only what something measured. The cost aggregate could not tell nothing-priced from priced-at-zero, so the footer asserted `$0.00` before any turn had run while `/cost` on the same session said no usage was recorded, and after a real turn against a target that publishes no pricing both printed the literal words `cost unknown` where a number belongs. The aggregate carries its call count, one formatter answers every surface, and a surface with no priced call shows no cost field at all. Usage and cost are separate claims: the tokens were counted whatever the pricing did, so the session total stays on screen and only the cost field disappears. A fixed-width cell that owns a cost column cannot drop the field, so it says `not measured` in words rather than inventing a number.
|
|
104
|
-
- Made the footer describe the branch on screen rather than the whole ledger file. `current.jsonl` is append-only, so after a `/tree` switch the abandoned sibling turns are still in the file: the transcript stopped showing them while the session total, `/cost`, and the last-turn status line kept counting and describing them. All three now fold through the same active-path lineage the transcript replays, on `/tree`, `/resume`, and `/fork`. The footer's chip strip also ranks its chips, so the chip budget and the width budget both shed per-turn detail first and the session total last; it used to slice whatever sat at the end of the list, which cost an 80-column terminal both the total and the cost chip while spending the whole budget on per-turn detail. Two fields the ledger does not record are left neutral on a rescoped line rather than reconstructed: the watchdog peak, and reasoning tokens no provider reported.
|
|
105
|
-
- Made the installer and uninstaller describe one `PATH` the same way. `scripts/install-local.sh` compared the resolved `clio-coder` against its own link path as raw strings, only when the bin directory was already on `PATH`, and never on a dry run, which is why a shadowing install could go unreported in exactly the case where the other `clio-coder` is the only one a bare name reaches. Both sides are resolved through their symlinks before they are compared, and the installer prints the same `another clio-coder is on your PATH at <path>` warning and check command that `clio-coder uninstall` prints. The README install block clones the release ref, carries verbatim the `export PATH` line the installer prints when the bin directory is not on `PATH`, verifies with the launcher's resolved path, and asks `command -v clio-coder` rather than comparing `--version` output, because two installs of the same release report the same version while the bare name still resolves to the other one. The warning names the divergence; it does not reorder anyone's `PATH`.
|
|
106
|
-
- Added a reserved `clio:` frontmatter block so a Clio skill stays a portable skill. Catalog skills carried `registry-id`, `source-url`, and audit fields at the top level of their frontmatter, mixed in with the community-standard keys every agent loader reads. `name`, `description`, `version`, `license`, and `allowed-tools` now stay exactly as the wider ecosystem expects, and everything Clio-specific moves under one `clio:` mapping extended with provenance, origin, eval status, model size, and agent bindings. A Clio skill dropped into any `.claude/skills` directory loads unchanged with the block ignored, and loaded by Clio Coder it carries its full marketplace metadata. The loader reads the nested block first and falls back to the flat keys for already-installed copies, install writes the nested form, and the pinned content hash covers it.
|
|
107
|
-
- Added sixteen ported skills and a `git-master` builtin agent, taking the catalog from sixteen skills to thirty-two. Every port was rewritten to the catalog bar rather than copied, with provenance and origin recorded in its `clio` block and eval status honest at `untested` for the ports that have not been evaluated. `git-master` owns bounded git operations end to end and binds the six rewritten git skills, while `coder` binds only commit-crafting and review-changes on role fit, because binding injects skill names as guidance and the rest would misdirect an implementation loop. Two limits are recorded rather than papered over: `ast-grep` is bound to the main agent only, because the scout role's read-only tool class cannot admit an execute-class tool and the clean path is a typed read-only tool that does not exist yet, and `worktree-create` stays sequential because no worker recipe carries bash. `coding-standards` and `tech-spec` enter as provisional under a documented trial field.
|
|
108
|
-
- Reorganized the thirty-two skill catalog into seven category folders, `research`, `coding`, `git`, `planning`, `context`, `workflow`, and `meta`, and renamed the skills to carry their job instead of their source repository's branding. The `piv-` prefix is gone in favor of `commit-crafting`, `review-changes`, `investigate-issue`, and `create-pr`, `plan-create-prd` becomes `product-requirements`, `plan-architecture` becomes `architecture`, and `plan-create-stories` becomes `backlog`, with titles, descriptions, eval headers, cross-references, source URLs, and the builtin agent bindings all moving together. The pin script discovers packages recursively and renders `registry.yaml` grouped by category, and marketplace discovery probes one category level down. The move also surfaced a packaging defect it fixes: the release manifest shipped only `cut-it`, so an installed package could not have resolved `git-master`'s bound skills, and it now ships `workflow/cut-it` and the whole `git` category.
|
|
109
|
-
- Smoke-checked the entire skill catalog against a 30B local model through the real eval harness, one transcript-verified scenario per skill. The campaign surfaced a judge that scored instruction prose instead of transcripts and a permission gate that blocked every git call headless, so the git scenarios gained seeded repository fixtures and the expected results were rephrased to observable behavior. Five skill bodies were corrected from what the runs showed, each skill records a dated smoke result, and `smoke-checked` is a documented eval status; skills the cutoff reached first remain honestly at `scenarios-recorded`.
|
|
110
|
-
- Added `queued_user_turn` to the `--json` wire protocol. A steer or follow-up typed while a turn is still running used to enter the run with nothing on the stream to mark it, so a `--json` consumer saw the model react to text it had never been told about. The frame is emitted at injection time, when the queued text actually enters the run rather than when it was typed, and it carries the same text the model receives. It is a new frame on a public wire, so consumers that switch on frame kind should expect it.
|
|
111
|
-
- Removed the four-second freeze on opening a workspace and took the redraw cost off the transcript's length. Codewiki startup ran a synchronous `statSync` sweep that blocked the event loop for 3342 ms on this repository and now costs 12 ms. TUI dirty-frame render fell from 10 ms to roughly 0.14 ms at 400 turns, because the frames above the viewport are a frozen prefix that is composed once instead of re-rendered every keystroke. Workspace enumeration no longer holds the loop for a 34 ms floor; a cooperative async walk yields between batches, and the worst block observed under validation is 9 ms to 15 ms.
|
|
112
|
-
- Made the settings center's three-column layout start at a real 120-column terminal. The description earned its own column at a threshold of 116, but two nested frames sit above that body and each costs a border and a pad, so a 120-column terminal only ever presents 112 columns and the layout never appeared outside a 124-column window. The floor is 112, and the contract test pins both sides of the boundary at the body widths a 120- and a 119-column terminal actually produce.
|
|
113
|
-
- Added a fleet roster to the compiled session prompt, so the orchestrator can see the agents it may dispatch instead of guessing. `agent: "auto"` now baselines from task shape, sending code work to `coder`, tests to `tester`, docs to `documenter`, review to `verifier`, and research to `researcher`, where it previously resolved to the read-only `scout` for everything.
|
|
114
|
-
- Replaced the delegation incentive with a rule the model can evaluate: two or more independent file-scoped subtasks, or any broad exploration, goes to workers, while synthesis, validation, and a single narrow change stay with the orchestrator. A file handed to a worker is not the orchestrator's to edit, and an admission refusal is reported rather than silently worked around.
|
|
115
|
-
- Made the run summary the orchestrator reads carry what the worker did. A mutation-class run whose mutating calls all failed now reports that nothing was written instead of a bare successful exit.
|
|
116
|
-
- Made sealed results measurable against the run's own tool events. A reported changed path the run wrote verifies, one whose only write was refused fails, one that exists but was never touched seals quality unmeasured, and one that exists nowhere fails outright. A passing validation claim that no executed command supports downgrades to unmeasured with the claim named, while a check the recognizer cannot tie to a claim is reported unmatched rather than called fabricated.
|
|
117
|
-
- Added capability-mismatch refusal at dispatch admission. Pointing a read-only recipe at mutation work is rejected before a worker exists, and only when the caller pinned the id, the task classifies as mutation, and the recipe's postcondition is a report. Anything short of that admits with a flag on the receipt, and `agent: auto` never refuses.
|
|
118
|
-
- Gave workers the workspace root and a bounded top-level listing on every dispatch, closing the case of a worker spending a fifth of its call budget locating the repository.
|
|
119
|
-
- Added operator-initiated backgrounding. `Alt+S` converts a running attached dispatch into a detached batch, the runs continue, and collection is unchanged. Review gates, compete, pipelines, Scout fleet plans, and time-boxed calls refuse the conversion and say why.
|
|
120
|
-
- Added `monitor` with `mode="tools"`, which reports what a run executed from the event tail and the receipt's integrity-checked totals.
|
|
121
|
-
- Made scratch directories under `/var` write like `/tmp`. `/var` stays protected with `/var/tmp` and `/var/folders` carved out, `/run` joins the protected list, and a pathless `artifact` call no longer writes into a system root without confirmation.
|
|
122
|
-
- Made compound bash earn recognition. A `&&` chain is evaluated at its most restrictive recognized member and refused as a whole if any member is unrecognized, and an `sh -c` wrapper is read through to its inner command rather than around it.
|
|
123
|
-
- Made a headless denial name the form that would have been recognized. A headless run cannot answer a permission prompt, so an agent that hit the wall used to retry variants until the loop guard ended the turn.
|
|
124
|
-
- Fixed project-context bootstrap being dead on llama.cpp. That server refuses any request carrying both a response schema and tools, and every bootstrap dispatch carries tools; the conflict is now refused at admission and the run goes straight to the prompt-parser fallback. A failed bootstrap reports the real error instead of "did not return an assistant response", and a `--rewrite` that fell back to the existing handbook says so and exits 1.
|
|
125
|
-
- Made interactive turns visible to `clio-coder trace`, recorded as runs under a `session` assignment id with one event per tool call. A missing database now reads as an empty state naming its path rather than raw sqlite text, and the `node:sqlite` experimental warning is gone from trace commands unless `--trace-warnings` is passed.
|
|
126
|
-
- Made the TUI read the tool verdict the registry issues instead of pattern-matching output text, which had rendered a failing test whose output contained the word "cancelled" as a policy block. The verdict persists through `/export` and `/resume`.
|
|
127
|
-
- Fixed a headless run whose turn ends on a terminating artifact printing nothing and exiting 0. The artifact content is the answer and now reaches stdout.
|
|
128
|
-
- Made `clio-coder skills eval` measure the skill instead of the harness. Arms are hermetic and run at full-auto in disposable workspaces, so an exec-class call is no longer scored as a skill failure; `--allow-network` opts back into network tools. The judge scores transcript evidence only, and an unparseable judge verdict is `unmeasured` at exit 3 rather than a verdict.
|
|
129
|
-
- Published `skills/skill-marketplace.json` beside the pinned registry, so an install can point `CLIO_CODER_SKILL_MARKETPLACE_INDEX` at it and resolve bare names. `clio-coder skills install` takes several names and `--category`, `search` matches that same category vocabulary, and `inspect` on a marketplace name says the skill is not installed rather than denying it exists.
|
|
130
|
-
- Fixed the Skills Hub listing fifteen installable-looking rows in an environment with no marketplace configured. The rows came from a third source nothing else consulted; the hub now builds from the same discovery the installer uses, and a fresh environment gets an empty state naming the two real ways to get a skill.
|
|
131
|
-
- Fixed `--help` executing, rejecting, or being swallowed across the `targets`, `context`, `fleet`, and `auth` subcommands. Every one answers with usage on stdout at exit 0 and executes nothing.
|
|
132
|
-
- Gave the artifact loaders one not-found voice. `clio-coder eval report`, `clio-coder evidence inspect`, `clio-coder evolve manifest validate`, and `clio-coder components diff` named raw filesystem errors; they now name the id or path that was missing, and `clio-coder docs` prints its absolute served directory from any working directory.
|
|
133
|
-
- Reconciled the `clio-coder auth login` and `clio-coder configure --list` runtime inventories, which drew from one source and looked like two products. Each screen now says what it shows and names the command that shows the rest.
|
|
134
|
-
- Fixed builtin fleet contracts listing as invalid on a fresh checkout, where a missing command registry is setup and not corruption. Those entries render as setup with the exact file and keys to create, while a registry that binds wrong ids stays invalid.
|
|
135
|
-
- Stopped `clio-coder configure` presenting two alphabetically-first catalog ids as recommendations and seeding `defaultModel: gpt-4` when none was given. A catalog-backed runtime reports its catalog size and requires `--model`.
|
|
136
|
-
- Made overlays respect the width they are given. The permission overlay wraps its safety text and keeps `[s] stop` at every width, hints elide by priority rather than position, and `/view` drops to one pane rather than squeezing two into noise. Verified at 40, 80, and 120 columns.
|
|
137
|
-
- Made `thinking: max` reachable. Dispatch validation rejected it and route selection threw on it mid-run, so the level was unreachable through the dispatch tool, `clio-coder run`, and the CLI; the level list now has one source and a drift test fails any file that respells it.
|
|
76
|
+
### Added
|
|
77
|
+
- The first npm-published `clio-coder` command and namespace: binary, XDG roots, project directory, handbook, environment variables, and extension manifests use `clio-coder` naming.
|
|
78
|
+
- Agent ledgers, intentional compete stances, durable dispatch capacity leases, deterministic execution plans, typed worker contracts, and transactional worker attempts.
|
|
79
|
+
- Soak and invariant evaluation suites, receipt-derived accounting, per-step write-boundary checks, bounded check/repair loops, deterministic fleet code steps, and headless session continuation.
|
|
80
|
+
- Improved context bootstrap/refresh and generated-wiki workflows, hardened skill discovery/install/evaluation, and updated Pi engine dependencies to 0.83.0.
|
|
81
|
+
|
|
82
|
+
### Changed
|
|
83
|
+
- `clio-coder --help` now emphasizes the human-facing command surface; `--help --all` retains the full scripting and harness surface.
|
|
84
|
+
- Reorganized TUI internals without changing its public command surface, and made context budgeting favor target-reported limits.
|
|
85
|
+
- Unknown slash commands now fail closed; use a leading backslash for command-shaped prose.
|
|
86
|
+
|
|
87
|
+
### Fixed
|
|
88
|
+
- Preserved active session branches across compaction and replay, made startup option parsing strict, and bounded ACP deadlines.
|
|
89
|
+
- Stopped automatic retries after potentially state-changing tool calls.
|
|
90
|
+
- Fixed JSON transcript duplication, evaluation threshold enforcement, cancellation recovery, usage totals, uninstall/reset reporting, and narrow-terminal configuration output.
|
|
91
|
+
- Corrected provider URL launching, damage-control matching, credentials handling, doctor reporting, and trace help behavior.
|
|
92
|
+
|
|
93
|
+
### Security
|
|
94
|
+
- Replaced shell interpolation when opening provider URLs on macOS/Linux with argument-safe process spawning.
|
|
95
|
+
- Made dispatch plans immutable and receipt-backed, enforced worker attestation and write-boundary recovery, and fail-closed on malformed durable contracts, unknown skills, and unsafe retries.
|
|
96
|
+
|
|
138
97
|
## 0.2.9 - 2026-08-05
|
|
139
98
|
|
|
140
|
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
-
|
|
152
|
-
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
-
|
|
156
|
-
- Made iterative compaction cumulative, surfaced compaction failures distinctly from legitimate no-ops, and isolated repository-scoped memory by canonical repository identity in interactive and headless agent prompts.
|
|
157
|
-
- Made compete worktree ownership transactional and segment-safe, with all admitted workers settled before cleanup, durable coordinator/worker process leases, PID-reuse-resistant termination of hard-crash orphans at orchestrator startup, and restart preservation of a pending or recovered winner while losers are removed.
|
|
158
|
-
- Made broad repository exploration model-authored: the chat harness and middleware no longer force Scout routing or block direct reads, while the operating contract, Scout catalog description, and an advisory after 9 or more manual read-only calls steer delegation. Dispatched Scout workers retain the 18-call exploration-to-synthesis guardrail, and the task-aware Fleet Runs UI exposes live tools, tokens, priced cost, retries, steering acknowledgements, and per-run cancellation.
|
|
159
|
-
- Added strict versioned agent recipes and typed terminal result contracts. Malformed custom recipes are quarantined, built-in schema failures stop startup, Scout citations must be grounded in the worker's own live reads, and a postcondition that was never reached is recorded as `not-reached` rather than fabricated as a quality failure.
|
|
160
|
-
- Added one deterministic `ExecutionPlan` v2 DAG with whole-plan preflight, capacity-bounded waves, authenticated handoffs, requested/approved authority on every task, and a strict resolved-plan v3 boundary with explicit deadlines. Older or partial durable forms are rejected rather than migrated or accepted through aliases.
|
|
161
|
-
- Added process-safe global and per-node admission with durable expiring leases, deterministic priority/FIFO queues, finite deadlines, retry reservation rebinding, TTL-bounded operator drain, and cross-process owner-liveness checks. Placement spreads by durable lease usage, but leases remain the authority under the state lock.
|
|
162
|
-
- Added a two-lane worker protocol and pre-call attestation of protocol, process group, host, settings and WorkerSpec digests, runtime, target, endpoint, model, tool surface, and resource facts. Local and remote aborts terminate the whole process group; display backpressure cannot delay heartbeats, acknowledgements, or receipt-bearing frames.
|
|
163
|
-
- Added measured joint route resolution across agent, target, model, runtime, and node. Hard constraints eliminate before deterministic Pareto ranking; route history v3 aggregates only compatible capability evidence, retires older files, and invalidates buckets on tool-surface or endpoint drift.
|
|
164
|
-
- Added operator-scoped active routing for read-only-capability work in researcher, verifier, reviewer, and judge roles. Shadow remains the default; activation requires named role/posture settings and exact-route readiness evidence, and no-ready-candidate, manual pin, and `failover: none` paths fail closed.
|
|
165
|
-
- Added bounded `agent: auto` evaluation and typed Scout phase escalation. Agent authority, tools, skills, result contract, locality, and governance remain hard filters; authority-changing transitions require an authenticated plan approval or existing full-auto authority, and agent automation stays shadow by default with per-agent/per-role readiness.
|
|
166
|
-
- Added transactional attempt isolation for editing work. Every assignment owns baseline-pinned attempt worktrees, winning changes are checked for outcome, receipt integrity, result conformance, quality gate, protected artifacts, ancestry, and destination cleanliness before apply, and a refused winner is preserved with recovery instructions.
|
|
167
|
-
- Advanced receipt integrity to strict v15, route policy to v4, route history to v3, ExecutionPlan to v2, and resolved dispatch plans to v3. Current readers accept only the current format for each boundary; earlier forms are rejected or explicitly retired.
|
|
168
|
-
- Clarified the compact main and worker harness prompts with an explicit direct-tool inventory and a strict distinction between tools, fleet agents, and operator-activated skills, preventing capability questions from triggering irrelevant fleet queries.
|
|
169
|
-
- Grounded generated wikis in detected repository instructions and their declared source-of-truth documents, added dirty-working-tree evidence and source-tree freshness metadata, tightened capability-claim guidance, let the bound documenter worker profile control its thinking level, and raised the local tool-bearing turn ceiling to the configured 32K default so long-context documenters are not artificially constrained to 16K.
|
|
99
|
+
### Added
|
|
100
|
+
- Deterministic fleet code steps, bounded check/repair loops, shipped SDLC fleets, and a durable trace store with read-only trace commands and viewer.
|
|
101
|
+
- Per-step write-boundary verification, typed worker result contracts, strict worker attestation, and process-safe capacity/routing leases.
|
|
102
|
+
- One compiled worker harness with explicit tool/budget profiles, model-facing dispatch/collect provenance, and transactional editing attempts.
|
|
103
|
+
|
|
104
|
+
### Changed
|
|
105
|
+
- Added first-class singular dispatch while retaining batch dispatch, and unified synchronous and detached run monitoring.
|
|
106
|
+
- Updated Pi engine dependencies to 0.80.6 and advanced receipt, route, plan, and policy formats to their strict current versions.
|
|
107
|
+
- Broadened model-authored repository exploration while retaining bounded Scout guidance and Fleet Runs visibility.
|
|
108
|
+
|
|
109
|
+
### Fixed
|
|
110
|
+
- Made successful native and ACP delegation require receipt-sealed final output, and made protected-artifact recovery durable across restart and worktrees.
|
|
111
|
+
- Improved compaction, context provenance, routing, external-agent cancellation, and generated-wiki grounding.
|
|
112
|
+
|
|
113
|
+
### Security
|
|
114
|
+
- Enforced immutable approved dispatch plans, strict external-agent policy checks, bounded worker protocol frames, and fail-closed handling of older or partial durable formats.
|
|
170
115
|
|
|
171
116
|
## 0.2.8 - 2026-07-07
|
|
172
117
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
-
|
|
185
|
-
argument completion, a `/context` hub, clearer permission queues, and better
|
|
186
|
-
skill-loading guidance.
|
|
187
|
-
- Fixed safety and autonomy edge cases around approval denials, symlink path
|
|
188
|
-
checks, loop-guard recovery, external worker tool profiles, reasoning-off
|
|
189
|
-
models, and source-tree awareness in nested repositories.
|
|
190
|
-
- Reworked local model residency: local inference targets are treated as
|
|
191
|
-
multi-model servers with finite VRAM, one shared reconciler drives llama.cpp
|
|
192
|
-
routers, LM Studio, and Ollama, co-resident models such as a scout beside
|
|
193
|
-
the main coder are protected symmetrically, residency mutations against one
|
|
194
|
-
server are serialized across processes, and the `CLIO_RESIDENCY=observe`
|
|
195
|
-
and `lifecycle: user-managed` opt-outs now work on every runtime path.
|
|
196
|
-
- Added native shadow-agent fleet routing: `/agents` lists shadow agents and
|
|
197
|
-
`/fleet` binds native agents to target/model worker profiles, including
|
|
198
|
-
changing a bound profile's model from the bindings tab.
|
|
199
|
-
- Enforced loop-guard synthesis lockouts mechanically for the main agent and
|
|
200
|
-
dispatched workers: locked turns can only answer (request-level
|
|
201
|
-
`tool_choice: none`), dead tool-call markup is sanitized out of locked
|
|
202
|
-
answers, and a result-stagnation detector blocks byte-identical retry
|
|
203
|
-
escalations that evaded the verbatim detector.
|
|
204
|
-
- Conditioned the harness for local models with measured fixes: a
|
|
205
|
-
deterministic tool-routing order in the system prompt, task-board reminders
|
|
206
|
-
on enumerated multi-step requests, a validation nudge on successful edits,
|
|
207
|
-
recovery guidance with sanctioned pivots on blocked calls and denials,
|
|
208
|
-
ask_user gated to genuine decisions, bundled-docs retrieval repairs, and
|
|
209
|
-
observation-budget stubs that end retry traps.
|
|
210
|
-
- Made the TUI truthful under pressure: context meters draw the autocompact
|
|
211
|
-
reserve with its own glyph, the dispatch board renders at the terminal's
|
|
212
|
-
real width, overflowing rows drop whole facts behind an ellipsis instead of
|
|
213
|
-
clipping mid-number, permission overlays show the parked call's target
|
|
214
|
-
(including worker escalations, sanitized at the trust boundary), and
|
|
215
|
-
blocked or aborted tool calls settle instead of spinning forever.
|
|
216
|
-
- Fixed accounting: aborted turns keep their real token usage, headless run
|
|
217
|
-
receipts sum usage across all agent segments, guard blocks are recorded as
|
|
218
|
-
blocked safety decisions, and worker tool-call caps count blocked attempts.
|
|
219
|
-
- Fixed session integrity across `/tree`, `/fork`, resume, and compaction so
|
|
220
|
-
abandoned sibling turns are never replayed, copied, or summarized.
|
|
221
|
-
- Hardened worker IPC: subprocesses drain stdout before exit, streaming no
|
|
222
|
-
longer amplifies quadratically, and internal generator dispatches (wiki
|
|
223
|
-
update, context bootstrap) get a wall-clock deadline with progress output.
|
|
224
|
-
- Fixed deadline timers that could silently never fire in a quiet process:
|
|
225
|
-
ACP request timeouts, dispatch and internal-generator deadlines, the
|
|
226
|
-
dispatch drain grace, and worker escalation timeouts now hold the event
|
|
227
|
-
loop until they fire or are cleared.
|
|
228
|
-
- Updated the model catalog: the Qwopus3.6 Coder entries carry the upstream
|
|
229
|
-
presence-penalty sampler default, and reasoning-never model families no
|
|
230
|
-
longer receive or replay thinking fields.
|
|
231
|
-
- Aligned the documentation corpus with v0.2.8, added worker-dispatch and
|
|
232
|
-
provider-adapter guides, and refreshed the HTML docs viewer with new
|
|
233
|
-
interactive blueprints.
|
|
234
|
-
- Breaking: legacy tool names such as `glob`, `workspace_context`,
|
|
235
|
-
`docs_search`, `run_task`, `validate_frontend`, `write_plan`,
|
|
236
|
-
`write_review`, `create_skill`, and `dispatch_batch` were removed in favor of
|
|
237
|
-
the consolidated tool surface.
|
|
118
|
+
### Added
|
|
119
|
+
- A consolidated seven-plane tool surface, task tracking, richer dispatch monitoring/steering, codewiki v4, exports, and improved interactive command hubs.
|
|
120
|
+
- Multi-model local residency management and native shadow-agent fleet routing.
|
|
121
|
+
|
|
122
|
+
### Changed
|
|
123
|
+
- Improved local-model prompting, TUI pressure handling, accounting, worker IPC, deadlines, model catalog metadata, and documentation.
|
|
124
|
+
|
|
125
|
+
### Fixed
|
|
126
|
+
- Corrected approval, symlink, loop-guard, worker-profile, reasoning, session-branch, and timeout edge cases.
|
|
127
|
+
|
|
128
|
+
### Removed
|
|
129
|
+
- Legacy tools including `glob`, `workspace_context`, `docs_search`, `run_task`, `validate_frontend`, `write_plan`, `write_review`, `create_skill`, and `dispatch_batch`; use the consolidated tool surface.
|
|
238
130
|
|
|
239
131
|
## 0.2.7 - 2026-07-02
|
|
240
132
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
reliability issues.
|
|
133
|
+
### Added
|
|
134
|
+
- Reviewed marketplace skills, executable skill evaluations, enforced skill tool surfaces, and registry integrity pins.
|
|
135
|
+
- Credential damage control, usage reports, headless receipts, dispatch evidence bundles, and high-rigor validation support.
|
|
136
|
+
|
|
137
|
+
### Changed
|
|
138
|
+
- Reduced package size and refreshed release and documentation workflows.
|
|
139
|
+
|
|
140
|
+
### Fixed
|
|
141
|
+
- Improved dispatch, lifecycle, skill, and loop-guard reliability.
|
|
142
|
+
|
|
143
|
+
### Security
|
|
144
|
+
- Added zero-access credential storage and secret redaction in evidence bundles.
|
|
254
145
|
|
|
255
146
|
## 0.2.6 - 2026-06-24
|
|
256
147
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
-
|
|
262
|
-
viewer.
|
|
263
|
-
- Added SciCode benchmark support, coverage gates, deterministic repeat lanes,
|
|
264
|
-
and refreshed guides and HTML blueprints.
|
|
265
|
-
- Fixed a dispatched-run residency gap that could leave Ollama models resident
|
|
266
|
-
and overflow VRAM.
|
|
148
|
+
### Added
|
|
149
|
+
- VRAM-aware local-model residency, layered settings, path-scoped rules, operator profiles, hooks, configuration inspection, docs search/viewing, and SciCode benchmark support.
|
|
150
|
+
|
|
151
|
+
### Fixed
|
|
152
|
+
- Prevented dispatched Ollama work from leaving models resident and overflowing VRAM.
|
|
267
153
|
|
|
268
154
|
## 0.2.5 - 2026-06-23
|
|
269
155
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
-
|
|
275
|
-
strict reasoning-payload behavior.
|
|
156
|
+
### Added
|
|
157
|
+
- The `alcf` runtime for Argonne ALCF Sophia/Metis targets, including Globus OAuth, discovery, metadata, and gateway documentation.
|
|
158
|
+
|
|
159
|
+
### Fixed
|
|
160
|
+
- Enforced strict OpenAI-compatible reasoning payloads for ALCF targets.
|
|
276
161
|
|
|
277
162
|
## 0.2.4 - 2026-06-23
|
|
278
163
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
-
|
|
284
|
-
|
|
285
|
-
|
|
164
|
+
### Added
|
|
165
|
+
- Fleet management with agent/profile bindings, fault-tolerant dispatch, and a `/fleet` overlay.
|
|
166
|
+
|
|
167
|
+
### Changed
|
|
168
|
+
- Refreshed Pi, Claude, Anthropic, Biome, TypeBox, Undici, UUID, and TSX dependencies.
|
|
169
|
+
|
|
170
|
+
### Fixed
|
|
171
|
+
- Isolated dispatch tests and made receipt digests deterministic across hosts.
|
|
286
172
|
|
|
287
173
|
## 0.2.3 - 2026-06-17
|
|
288
174
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
workers.
|
|
298
|
-
- Added `clio context-index`, deterministic multi-language codewiki indexing,
|
|
299
|
-
`code_nav`, scratch offloading for large tool results, middleware hooks, live
|
|
300
|
-
agent steering, and richer receipt tool activity.
|
|
301
|
-
- Reworked Clio's on-disk roots, settings ownership, lifecycle commands,
|
|
302
|
-
model-target vocabulary, and observability workflows.
|
|
303
|
-
- Removed several legacy slash commands; their workflows moved into `/skill`,
|
|
304
|
-
`/targets`, `/help`, `/view`, and related hubs.
|
|
175
|
+
### Added
|
|
176
|
+
- Declarative slash commands and full-screen hubs; enforced autonomy and safety notices; additional subscription/delegation runtimes; codewiki indexing, middleware, live steering, and richer receipts.
|
|
177
|
+
|
|
178
|
+
### Changed
|
|
179
|
+
- Reworked on-disk roots, settings ownership, lifecycle commands, model-target vocabulary, and observability.
|
|
180
|
+
|
|
181
|
+
### Removed
|
|
182
|
+
- Retired legacy slash commands; their workflows moved to `/skill`, `/targets`, `/help`, `/view`, and related hubs.
|
|
305
183
|
|
|
306
184
|
## 0.2.2 - 2026-06-11
|
|
307
185
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
- Improved prompt-prefix stability,
|
|
317
|
-
overlays, and release verification.
|
|
186
|
+
### Added
|
|
187
|
+
- Context engine, compaction, bounded tool results, prompt-cache telemetry, ACP support, a curated skills marketplace, and local install/uninstall scripts.
|
|
188
|
+
- A richer `CLIO.md` project rulebook and source-tree awareness.
|
|
189
|
+
|
|
190
|
+
### Changed
|
|
191
|
+
- Replaced built-in CLI-subprocess runtimes with direct HTTP/native/Pi targets and ACP delegation.
|
|
192
|
+
|
|
193
|
+
### Fixed
|
|
194
|
+
- Improved prompt-prefix stability, ledger appends, permission overlays, and release verification.
|
|
318
195
|
|
|
319
196
|
## 0.2.1 - 2026-06-05
|
|
320
197
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
198
|
+
### Added
|
|
199
|
+
- Live token-throughput telemetry, prompt-envelope hashes, and `clio run --json` prompt diagnostics.
|
|
200
|
+
|
|
201
|
+
### Changed
|
|
202
|
+
- Reduced context pressure through narrower tool exposure and bounded output; improved the footer for smaller terminals.
|
|
203
|
+
|
|
204
|
+
### Fixed
|
|
205
|
+
- Corrected headless run arguments, unknown-agent handling, dashboard layout, and prompt-diagnostic visibility.
|
|
329
206
|
|
|
330
207
|
## 0.2.0 - 2026-06-03
|
|
331
208
|
|
|
332
|
-
|
|
333
|
-
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
-
|
|
337
|
-
coverage, expanded user docs, and a portable `Ctrl+G` leader-key fallback.
|
|
338
|
-
- Hardened path policy handling, headless `clio run`, prompt cache boundaries,
|
|
339
|
-
overlay rendering, session persistence, fork replay, and TUI startup.
|
|
209
|
+
### Added
|
|
210
|
+
- First community alpha for source-checkout users, with JIT skills, stronger compaction, project-instruction adoption, runtime resolution, diagnostics, durable sessions, and expanded documentation.
|
|
211
|
+
|
|
212
|
+
### Fixed
|
|
213
|
+
- Hardened path policy, headless runs, prompt-cache boundaries, overlays, session replay, and TUI startup.
|
|
340
214
|
|
|
341
215
|
## 0.1.9 - 2026-05-17
|
|
342
216
|
|
|
343
|
-
|
|
344
|
-
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
- Fixed reasoning replay, Harmony stream parsing, OpenAI Codex file-tool
|
|
349
|
-
schema aliases, lifecycle metadata repair, and duplicate model-capability
|
|
350
|
-
paths.
|
|
217
|
+
### Added
|
|
218
|
+
- First-class fleet `dispatch`, frontend artifact validation, typed finish evidence, and local-model capability improvements.
|
|
219
|
+
|
|
220
|
+
### Fixed
|
|
221
|
+
- Corrected reasoning replay, Harmony parsing, Codex file-tool aliases, lifecycle metadata repair, and model-capability duplication.
|
|
351
222
|
|
|
352
223
|
## 0.1.8 - 2026-05-11
|
|
353
224
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
- Fixed Gemini CLI token accounting and expanded tests for extensions, share
|
|
360
|
-
archives, configure validation, and supervised SDK decisions.
|
|
225
|
+
### Added
|
|
226
|
+
- Extensions, share archives, associated CLI/TUI workflows, a redesigned welcome dashboard, configure validation, and a Claude Code SDK safety bridge.
|
|
227
|
+
|
|
228
|
+
### Fixed
|
|
229
|
+
- Corrected Gemini CLI token accounting and expanded extension, sharing, configuration, and supervised-SDK coverage.
|
|
361
230
|
|
|
362
231
|
## 0.1.7 - 2026-05-11
|
|
363
232
|
|
|
364
|
-
|
|
365
|
-
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
233
|
+
### Added
|
|
234
|
+
- A shared safety-policy engine, strict project command policies, typed execution tools, and receipt safety summaries.
|
|
235
|
+
|
|
236
|
+
### Changed
|
|
237
|
+
- Default Bash now denies ordinary execution unless allowed by curated commands or project policy.
|
|
238
|
+
|
|
239
|
+
### Fixed
|
|
240
|
+
- Hardened dispatch scope, external-runtime permissions, audit rows, and worker safety parity.
|
|
371
241
|
|
|
372
242
|
## 0.1.6 - 2026-05-04
|
|
373
243
|
|
|
374
|
-
|
|
375
|
-
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
244
|
+
### Added
|
|
245
|
+
- `clio --print` / `clio -p` for one non-interactive turn, with stdin/argv composition and stdout safeguards.
|
|
246
|
+
|
|
247
|
+
### Changed
|
|
248
|
+
- Reserved future JSON/RPC modes behind explicit errors.
|
|
379
249
|
|
|
380
250
|
## 0.1.5 - 2026-05-03
|
|
381
251
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
-
|
|
385
|
-
agents, persistent sessions, project context, receipts, audit logs, evidence,
|
|
386
|
-
evals, memory, and safety modes as an integrated product surface.
|
|
387
|
-
- Added `clio init`, CLIO.md parsing, codewiki indexing, clearer `/cost`
|
|
388
|
-
accounting, a redesigned `/model` popup, and CLIO-branded popup frames.
|
|
389
|
-
- Documented alpha limits: source install remained the supported path, model
|
|
390
|
-
behavior varied by target, and operators were expected to review privileged
|
|
391
|
-
actions.
|
|
252
|
+
### Added
|
|
253
|
+
- Public alpha for source-install developers and research-software teams: interactive TUI, target-first configuration, coding agents, sessions, project context, receipts, audits, evidence, evaluations, memory, and safety modes.
|
|
254
|
+
- `clio init`, CLIO.md parsing, codewiki indexing, improved cost/model UI, and documented alpha operating limits.
|
|
392
255
|
|
|
393
256
|
## 0.1.4 - 2026-04-30
|
|
394
257
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
- Unified llama.cpp runtime handling, improved the TUI, expanded compaction and
|
|
401
|
-
context accounting, and hardened protected-artifact behavior.
|
|
258
|
+
### Added
|
|
259
|
+
- Evolution tooling for inventories, change manifests, evidence, evaluations, memory, middleware, protected artifacts, finish checks, workspace orientation, specialist recipes, and scientific validation.
|
|
260
|
+
|
|
261
|
+
### Changed
|
|
262
|
+
- Unified llama.cpp handling and improved TUI, compaction, context accounting, and protected-artifact behavior.
|
|
402
263
|
|
|
403
264
|
## 0.1.3 - 2026-04-27
|
|
404
265
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
266
|
+
### Added
|
|
267
|
+
- Live tool output, Bash echo, thinking expansion, and a Git-branch footer slot.
|
|
268
|
+
|
|
269
|
+
### Changed
|
|
270
|
+
- Made `CLIO.md` the canonical project instruction file and improved LM Studio/Ollama detection.
|
|
271
|
+
|
|
272
|
+
### Fixed
|
|
273
|
+
- Corrected Debian/Ubuntu slash autocomplete, doctor/targets JSON envelopes, and partial tool-output rendering.
|
|
413
274
|
|
|
414
275
|
## 0.1.2 - 2026-04-25
|
|
415
276
|
|
|
416
|
-
|
|
417
|
-
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
277
|
+
### Added
|
|
278
|
+
- Visible retries for transient provider and stream failures.
|
|
279
|
+
|
|
280
|
+
### Changed
|
|
281
|
+
- Improved interactive tool, Bash, dashboard, hotkey, resume, prompt, receipt, compaction, audit, and abort behavior.
|
|
282
|
+
|
|
283
|
+
### Fixed
|
|
284
|
+
- Corrected retry duplication, cancellation races, oversized Bash output, active-run session operations, provider hot-swaps, and local OpenAI-compatible reasoning/tool schemas.
|
|
422
285
|
|
|
423
286
|
## 0.1.1 - 2026-04-24
|
|
424
287
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
-
|
|
430
|
-
receipt verification, dispatch heartbeat state, and the documented boundary
|
|
431
|
-
check command.
|
|
288
|
+
### Added
|
|
289
|
+
- Deterministic loading of project context files from the working directory upward.
|
|
290
|
+
|
|
291
|
+
### Fixed
|
|
292
|
+
- Corrected rich session replay, subprocess dispatch, out-of-tree SDK rehydration, receipt verification, dispatch heartbeats, and boundary-check documentation.
|
|
432
293
|
|
|
433
294
|
## 0.1.0-exp - 2026-04-24
|
|
434
295
|
|
|
435
|
-
|
|
436
|
-
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
-
|
|
440
|
-
surfaces were scaffolded but not yet admitted by dispatch.
|
|
296
|
+
### Added
|
|
297
|
+
- Initial experimental public release with interactive TUI, lifecycle CLI, target-first configuration, runtime support, built-in agents, dispatch workers, receipts, audit logs, safety modes, and XDG-aware state.
|
|
298
|
+
|
|
299
|
+
### Security
|
|
300
|
+
- Windows support was best effort; remote fan-out and MCP surfaces were scaffolded but not admitted by dispatch.
|