@iowarp/clio-coder 0.4.1 → 0.4.2
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 +92 -0
- package/CONTRIBUTING.md +59 -36
- package/README.md +404 -472
- package/SECURITY.md +2 -1
- package/dist/{acp-ZILU3AUO.js → acp-TMDQZDIG.js} +7 -7
- package/dist/{agents-HYWGBGQR.js → agents-5N5NG3XG.js} +28 -28
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-N3QT7CBO.js → auth-Z5CCBXKQ.js} +8 -9
- package/dist/{builtins-UJLMOVOV.js → builtins-K6TNDT24.js} +4 -4
- package/dist/{chunk-GVQJ5CCZ.js → chunk-2HFQNRV3.js} +7 -7
- package/dist/{chunk-QMXC4JB7.js → chunk-2NHR3NAY.js} +163 -1401
- package/dist/chunk-2X4RYJTJ.js +39 -0
- package/dist/{chunk-Y45G3AXC.js → chunk-2Z2IKEXI.js} +6 -10
- package/dist/{chunk-EIMVLWB3.js → chunk-34BHNEE3.js} +7 -3
- package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
- package/dist/chunk-3EBYEESD.js +314 -0
- package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
- package/dist/{chunk-AP73CFDC.js → chunk-3KIPBMUA.js} +2 -2
- package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
- package/dist/{chunk-VEGN6WIQ.js → chunk-462T4EGZ.js} +2 -2
- package/dist/{chunk-AFKWHWXF.js → chunk-4JDLP6ZS.js} +33 -16
- package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
- package/dist/{chunk-AKB4GYDL.js → chunk-54ODD65L.js} +5 -5
- package/dist/{chunk-BBTJOK6Y.js → chunk-5KW52TEP.js} +3 -3
- package/dist/{chunk-6CCS4G3W.js → chunk-5PFYMY2V.js} +2 -2
- package/dist/chunk-77QIVUZB.js +1334 -0
- package/dist/{chunk-7OBGU7UB.js → chunk-7BHIY2MW.js} +7 -13
- package/dist/{chunk-3QSOM6PA.js → chunk-AZ4WMN4W.js} +2 -2
- package/dist/{chunk-6NJQITNH.js → chunk-B74PXLU7.js} +6 -3
- package/dist/{chunk-R23Z6K6I.js → chunk-B7HM5Z7T.js} +15 -15
- package/dist/{chunk-R32CLGZ6.js → chunk-BO7Y52RY.js} +81 -20
- package/dist/{chunk-UEDMSP56.js → chunk-BYMNWQ7O.js} +123 -148
- package/dist/{chunk-ZJLUDYFY.js → chunk-CRFOIAX3.js} +4 -4
- package/dist/{chunk-2NM363SV.js → chunk-CYZW7JHJ.js} +7 -7
- package/dist/{chunk-6HMJX2VU.js → chunk-DYHAXKHD.js} +38 -10
- package/dist/{chunk-THYWACCR.js → chunk-DZAW46HP.js} +3 -3
- package/dist/{chunk-FYUN5KZ3.js → chunk-DZEK6CJN.js} +17 -17
- package/dist/{chunk-3I5NY75V.js → chunk-E7GT7O5N.js} +5 -5
- package/dist/{chunk-VKFQTNDV.js → chunk-F2I26BDK.js} +4 -4
- package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
- package/dist/{chunk-IXJT6DCX.js → chunk-FVDGR2ZL.js} +3 -3
- package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
- package/dist/{chunk-7EPLI7VL.js → chunk-HIICAHCJ.js} +2 -2
- package/dist/{chunk-E67WX76H.js → chunk-HKMD33FO.js} +29 -80
- package/dist/chunk-HLAFFSEK.js +360 -0
- package/dist/{chunk-UAPGZHYC.js → chunk-I64IFBLB.js} +9 -2
- package/dist/{chunk-XKA2ICR3.js → chunk-I66ZTYNP.js} +440 -175
- package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
- package/dist/{chunk-PVAMAVBB.js → chunk-IDNA72AH.js} +102 -2
- package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
- package/dist/{chunk-2VG7KLYV.js → chunk-IKSLQ4XV.js} +5460 -3241
- package/dist/{chunk-QKIFBZKT.js → chunk-IMXMHHMQ.js} +166 -25
- package/dist/{chunk-74YWRRU5.js → chunk-JBCS7CRR.js} +2 -2
- package/dist/{chunk-BDPT6GTK.js → chunk-JWJGP5DQ.js} +2 -2
- package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
- package/dist/chunk-KPXDY6QF.js +47 -0
- package/dist/{chunk-ABLSQ6JX.js → chunk-LJID3DYZ.js} +7 -1
- package/dist/{chunk-VKRH2TCS.js → chunk-M2DAX4F6.js} +2 -2
- package/dist/{chunk-6I5ILFOF.js → chunk-M2WXEHER.js} +2 -2
- package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
- package/dist/{chunk-N5UK64DP.js → chunk-MCMZMDAC.js} +2 -2
- package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
- package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
- package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
- package/dist/{chunk-HUAS7ITX.js → chunk-O3YUNJZ2.js} +13 -21
- package/dist/{chunk-MA3H6DM5.js → chunk-P75RZCJW.js} +25 -3
- package/dist/{chunk-IG7BCQBA.js → chunk-PGF63K6I.js} +2 -2
- package/dist/chunk-PJX3WQUQ.js +42 -0
- package/dist/{chunk-6DWBAZ5U.js → chunk-Q4XWMHX6.js} +4 -6
- package/dist/{chunk-OJTRZGR3.js → chunk-QQLGQY2A.js} +8 -8
- package/dist/{chunk-J4HBWF6Y.js → chunk-RLYRBIYQ.js} +115 -20
- package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
- package/dist/{chunk-C537JADH.js → chunk-SSEYRH53.js} +6 -7
- package/dist/chunk-SZAA6XDG.js +30 -0
- package/dist/{chunk-MOPSG2X7.js → chunk-TPEQIQIE.js} +6 -6
- package/dist/{chunk-JA5QWE4Z.js → chunk-UBRFI4HS.js} +1879 -1650
- package/dist/{chunk-BTGG6BG2.js → chunk-UH347SHR.js} +154 -15
- package/dist/{chunk-5YHDIDBP.js → chunk-UH632ZYL.js} +2 -2
- package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
- package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
- package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
- package/dist/{chunk-UXN6JT4W.js → chunk-W4YEMFBX.js} +2 -2
- package/dist/{chunk-TD3PGPQA.js → chunk-W6NIE6OW.js} +2 -2
- package/dist/{chunk-TVH4ONAM.js → chunk-X7IARSHT.js} +3 -3
- package/dist/{chunk-PJJ6MY27.js → chunk-XE3PCIXH.js} +3 -3
- package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
- package/dist/{chunk-SCYB3HA4.js → chunk-XOXV5GKE.js} +51 -16
- package/dist/{chunk-QTFGO774.js → chunk-XQRY4DTA.js} +24 -11
- package/dist/{chunk-BJGUKIG4.js → chunk-YJISEZKC.js} +2 -2
- package/dist/{chunk-GPPB3JBE.js → chunk-ZGNYYXQ6.js} +2 -2
- package/dist/{chunk-SINK3QR6.js → chunk-ZNT2M6TG.js} +7 -7
- package/dist/{chunk-7RY5VZPH.js → chunk-ZW4HH5JJ.js} +6 -6
- package/dist/cli/index.js +33 -32
- package/dist/{clio-IT3G3VQH.js → clio-7VB377CC.js} +7 -7
- package/dist/{code-nav-RK6S7F6E.js → code-nav-YVLCYA7V.js} +85 -17
- package/dist/{config-3QZRWZJF.js → config-4HVOS65E.js} +88 -43
- package/dist/{configure-FL7Y3KJF.js → configure-PIWO7B24.js} +10 -10
- package/dist/{context-5HE7ODYK.js → context-IYEHL3WQ.js} +33 -31
- package/dist/{context-XNHL75JV.js → context-KQYIWPWT.js} +47 -34
- package/dist/{context-KYQFRVDC.js → context-N6ZE3LGJ.js} +11 -11
- package/dist/{context-clear-N545L53A.js → context-clear-G4OGZJDS.js} +33 -31
- package/dist/{context-working-set-QHKXSV2F.js → context-working-set-BWLF6LJP.js} +7 -7
- package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-2QQAITS3.js} +38 -38
- package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
- package/dist/{doctor-ZGPEGHIP.js → doctor-LHBD36VU.js} +23 -22
- package/dist/{eval-GXLL44RD.js → eval-C45FYRJ6.js} +21 -20
- package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-6DEJPLBF.js} +2 -2
- package/dist/{evidence-HWLBRH3Q.js → evidence-6SHONYAF.js} +30 -28
- package/dist/{evolve-FTZBMNVW.js → evolve-KRKMV72X.js} +30 -28
- package/dist/{extensions-VHRBEID7.js → extensions-KPZ2UHBB.js} +5 -3
- package/dist/{fleet-CKZHJWZJ.js → fleet-IVTCKDHT.js} +62 -61
- package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-EDWL3IT7.js} +5 -5
- package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-YP3YEFGK.js} +4 -4
- package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-ZFWKHY2M.js} +16 -14
- package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-FVUNCBML.js} +31 -29
- package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-UN5XED4R.js} +2 -2
- package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-XOWC4HSX.js} +17 -15
- package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-UN3SODEL.js} +30 -28
- package/dist/{fleet-view-WAMJYNDT.js → fleet-view-TWHJKCN6.js} +31 -29
- package/dist/{init-5XQRBOFV.js → init-T2QORQ3Y.js} +50 -49
- package/dist/{interop-34TVO25M.js → interop-IN5I2A66.js} +5 -5
- package/dist/{library-3QY6KF57.js → library-LSCATDLZ.js} +15 -13
- package/dist/{memory-L4UTIIIW.js → memory-HYOKAGGJ.js} +31 -29
- package/dist/{models-ZVX3QOWE.js → models-2GPMFYCM.js} +22 -21
- package/dist/{monitor-CEKVSYTS.js → monitor-E4ASVUJH.js} +34 -32
- package/dist/{orchestrator-77BAP6BC.js → orchestrator-DDMPR3PY.js} +984 -583
- package/dist/{panes-7STHOAUJ.js → panes-E3RUXOW5.js} +4 -4
- package/dist/{panes-SHAUIRXY.js → panes-IXKLOKA2.js} +23 -8
- package/dist/{reset-EOLM7GVE.js → reset-OAQP3W4O.js} +4 -4
- package/dist/{resources-74GKTLSF.js → resources-OTRSN34L.js} +15 -13
- package/dist/{run-HBAUJNNZ.js → run-5DEYH5QK.js} +60 -59
- package/dist/{share-G3APVLVP.js → share-IHWTLO3M.js} +19 -15
- package/dist/{skills-35HHUKCR.js → skills-IYMXMKW4.js} +17 -15
- package/dist/{skills-eval-QN4HSHDC.js → skills-eval-DROHSJAR.js} +36 -36
- package/dist/{skills-inventory-J357J34F.js → skills-inventory-D7X4L4ZX.js} +15 -13
- package/dist/{slash-commands-JZZCQA32.js → slash-commands-QBM7UZ3B.js} +21 -18
- package/dist/{steer-XAVHJM22.js → steer-Z5DO23FJ.js} +2 -2
- package/dist/{targets-DSM6CY3M.js → targets-P2FUC4IL.js} +25 -28
- package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-YREJ3JX2.js} +5 -5
- package/dist/{tools-MKNWVPBH.js → tools-5B7RO6MV.js} +4 -4
- package/dist/{trace-ECQ7TIYZ.js → trace-YMGMUM6A.js} +55 -7
- package/dist/{upgrade-H7TOM7YL.js → upgrade-PXK3S2YM.js} +11 -9
- package/dist/{usage-X52N3IDJ.js → usage-ME5MPXGX.js} +36 -34
- package/dist/{verifiers-EJTVVSMA.js → verifiers-BVZ7IWOO.js} +5 -5
- package/dist/{verify-YJL6XET2.js → verify-5K7ZKQFC.js} +4 -4
- package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
- package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-F5W5QTYY.js} +48 -47
- package/dist/{with-panes-OBOBFIIR.js → with-panes-BYOJCLAM.js} +51 -255
- package/dist/worker/entry.js +45 -30
- package/docs/README.md +176 -81
- package/docs/{acp.md → architecture/acp.md} +36 -20
- package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
- package/docs/{architecture.md → architecture/architecture.md} +43 -22
- package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
- package/docs/architecture/artifact-versions.md +90 -0
- package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
- package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
- package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
- package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
- package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
- package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
- package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
- package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
- package/docs/{observability.md → architecture/observability.md} +26 -13
- package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
- package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
- package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
- package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
- package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
- package/docs/architecture/time-conventions.md +125 -0
- package/docs/{trace-store.md → architecture/trace-store.md} +13 -5
- package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
- package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
- package/docs/{built-in-agents.md → guide/built-in-agents.md} +50 -34
- package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +65 -60
- package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +227 -289
- package/docs/guide/configuration-reference.md +1158 -0
- package/docs/{environment-variables.md → guide/environment-variables.md} +31 -28
- package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
- package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
- package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
- package/docs/{glossary.md → guide/glossary.md} +14 -11
- package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +44 -13
- package/docs/guide/panes-and-files.md +290 -0
- package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
- package/docs/{resource-library.md → guide/resource-library.md} +13 -4
- package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
- package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
- package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
- package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
- package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
- package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
- package/docs/process/documentation-coverage.md +100 -0
- package/docs/process/documentation-guide.md +187 -0
- package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
- package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
- package/docs/{evolution.md → process/evolution.md} +2 -2
- package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +11 -7
- package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
- package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
- package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
- package/evals/README.md +2 -2
- package/package.json +9 -7
- package/skills/README.md +46 -37
- package/skills/coding/ast-grep/SKILL.md +2 -2
- package/skills/coding/coding-standards/SKILL.md +2 -2
- package/skills/coding/prototype/SKILL.md +2 -2
- package/skills/coding/tdd/SKILL.md +2 -2
- package/skills/context/context-handoff/SKILL.md +2 -2
- package/skills/context/context-prime/SKILL.md +2 -2
- package/skills/git/file-ticket/SKILL.md +2 -2
- package/skills/git/fix-issue/SKILL.md +3 -3
- package/skills/git/resolve-merge-conflicts/SKILL.md +2 -2
- package/skills/git/ship/SKILL.md +2 -2
- package/skills/git/worktree-create/SKILL.md +2 -2
- package/skills/git/worktree-merge/SKILL.md +2 -2
- package/skills/meta/clio-coder-dev/SKILL.md +9 -5
- package/skills/meta/clio-coder-dev/evals.md +3 -2
- package/skills/meta/clio-coder-test/SKILL.md +102 -95
- package/skills/meta/clio-coder-test/evals.md +9 -4
- package/skills/meta/clio-coder-test/references/harness.md +100 -124
- package/skills/meta/clio-coder-test/references/test-map.md +77 -50
- package/skills/meta/credentials/SKILL.md +2 -2
- package/skills/meta/find-skills/SKILL.md +2 -2
- package/skills/meta/herdr/SKILL.md +2 -2
- package/skills/meta/skill-craft/SKILL.md +22 -16
- package/skills/planning/architecture/SKILL.md +2 -2
- package/skills/planning/backlog/SKILL.md +2 -2
- package/skills/planning/prd/SKILL.md +2 -2
- package/skills/planning/product-intent/SKILL.md +2 -2
- package/skills/planning/tech-spec/SKILL.md +2 -2
- package/skills/registry.yaml +62 -62
- package/skills/research/arxiv-literature/SKILL.md +2 -2
- package/skills/research/experiment-protocol/SKILL.md +2 -2
- package/skills/research/scientific-debugging/SKILL.md +2 -2
- package/skills/research/scientific-modernization/SKILL.md +2 -2
- package/skills/skill-marketplace.json +62 -62
- package/skills/workflow/cut-it/SKILL.md +2 -2
- package/skills/workflow/design-council/SKILL.md +2 -2
- package/skills/workflow/grill-me/SKILL.md +2 -2
- package/skills/workflow/workflow-distiller/SKILL.md +2 -2
- package/src/cli/args.ts +2 -2
- package/src/cli/bootstrap-generate.ts +1 -1
- package/src/cli/config-inspect.ts +65 -12
- package/src/cli/configure.ts +0 -4
- package/src/cli/docs.ts +22 -14
- package/src/cli/doctor-naming.ts +5 -5
- package/src/cli/doctor-toolchain.ts +3 -3
- package/src/cli/eval.ts +1 -2
- package/src/cli/extensions.ts +2 -1
- package/src/cli/fleet.ts +1 -1
- package/src/cli/index.ts +2 -1
- package/src/cli/internal-dispatch.ts +3 -4
- package/src/cli/panes.ts +19 -5
- package/src/cli/run.ts +2 -2
- package/src/cli/share.ts +5 -1
- package/src/cli/skills-eval.ts +3 -3
- package/src/cli/targets.ts +2 -6
- package/src/cli/trace.ts +55 -4
- package/src/cli/wiki-generate.ts +1 -1
- package/src/core/artifact-paths.ts +1 -1
- package/src/core/bash-exec.ts +131 -86
- package/src/core/bus-events.ts +51 -6
- package/src/core/config.ts +5 -1
- package/src/core/defaults.ts +7 -4
- package/src/core/dispatch-outcome.ts +16 -0
- package/src/core/guardrails.ts +10 -49
- package/src/core/prompt-hint.ts +9 -0
- package/src/domains/agents/builtins/architect.md +2 -3
- package/src/domains/agents/builtins/coder.md +3 -2
- package/src/domains/agents/builtins/debugger.md +2 -2
- package/src/domains/agents/builtins/documenter.md +2 -2
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/oracle.md +1 -1
- package/src/domains/agents/builtins/provenance.md +1 -1
- package/src/domains/agents/builtins/researcher.md +1 -1
- package/src/domains/agents/builtins/scout.md +1 -1
- package/src/domains/agents/builtins/tester.md +2 -2
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +1 -1
- package/src/domains/agents/catalog.ts +12 -14
- package/src/domains/agents/contract.ts +2 -0
- package/src/domains/agents/extension.ts +23 -1
- package/src/domains/config/keybindings.ts +8 -0
- package/src/domains/context/extension.ts +0 -3
- package/src/domains/context/working-set/path-index.ts +1 -0
- package/src/domains/dispatch/capability-match.ts +10 -0
- package/src/domains/dispatch/extension.ts +105 -22
- package/src/domains/dispatch/host-verification.ts +435 -39
- package/src/domains/dispatch/intent-requirements.ts +10 -0
- package/src/domains/dispatch/intent.ts +18 -1
- package/src/domains/dispatch/path-scope.ts +235 -24
- package/src/domains/dispatch/run-event-journal.ts +4 -15
- package/src/domains/dispatch/state.ts +2 -3
- package/src/domains/dispatch/transport.ts +45 -21
- package/src/domains/dispatch/types.ts +55 -3
- package/src/domains/eval/artifacts/store.ts +5 -0
- package/src/domains/eval/store.ts +8 -1
- package/src/domains/evidence/trust-status.ts +10 -1
- package/src/domains/extensions/contract.ts +15 -1
- package/src/domains/extensions/discovery.ts +238 -41
- package/src/domains/extensions/extension.ts +105 -6
- package/src/domains/extensions/index.ts +24 -0
- package/src/domains/extensions/integrity.ts +189 -0
- package/src/domains/extensions/manager.ts +17 -1
- package/src/domains/extensions/resource-path.ts +27 -0
- package/src/domains/extensions/resources.ts +18 -38
- package/src/domains/extensions/snapshot-store.ts +39 -0
- package/src/domains/extensions/snapshot.ts +180 -0
- package/src/domains/extensions/state.ts +385 -57
- package/src/domains/extensions/types.ts +118 -1
- package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
- package/src/domains/lifecycle/migrations/index.ts +2 -0
- package/src/domains/lifecycle/naming-resources.ts +19 -4
- package/src/domains/lifecycle/naming-yazi.ts +10 -5
- package/src/domains/middleware/contract.ts +26 -0
- package/src/domains/middleware/extension.ts +24 -24
- package/src/domains/middleware/hook-receipts.ts +27 -4
- package/src/domains/middleware/hooks-io.ts +65 -32
- package/src/domains/middleware/hooks.ts +64 -0
- package/src/domains/middleware/index.ts +28 -4
- package/src/domains/middleware/registrations.ts +326 -0
- package/src/domains/middleware/runtime.ts +28 -0
- package/src/domains/middleware/snapshot.ts +20 -7
- package/src/domains/mux/contract.ts +38 -0
- package/src/domains/mux/detect.ts +6 -13
- package/src/domains/mux/index.ts +1 -1
- package/src/domains/mux/operations.ts +44 -5
- package/src/domains/mux/yazi/assets/yazi.toml +2 -2
- package/src/domains/mux/yazi/session.ts +53 -4
- package/src/domains/mux/yazi/theme.ts +117 -17
- package/src/domains/observability/contract.ts +10 -11
- package/src/domains/observability/extension.ts +11 -3
- package/src/domains/observability/projection.ts +14 -90
- package/src/domains/observability/trace-store.ts +43 -7
- package/src/domains/prompts/compiler.ts +73 -53
- package/src/domains/prompts/contract.ts +15 -3
- package/src/domains/prompts/extension.ts +97 -9
- package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
- package/src/domains/prompts/fragments/identity/clio.md +6 -12
- package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
- package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
- package/src/domains/prompts/fragments/operating/contract.md +7 -15
- package/src/domains/prompts/fragments/operating/delegation.md +32 -34
- package/src/domains/prompts/fragments/operating/skills.md +10 -24
- package/src/domains/prompts/fragments/operating/worker.md +1 -8
- package/src/domains/providers/index.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +85 -21
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +669 -104
- package/src/domains/providers/runtime-resolution.ts +31 -0
- package/src/domains/providers/runtimes/common/probe-helpers.ts +7 -2
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
- package/src/domains/providers/types/cost-provenance.ts +19 -0
- package/src/domains/providers/types/local-model-quirks.ts +85 -37
- package/src/domains/resources/skills/loader.ts +16 -19
- package/src/domains/safety/call-target.ts +1 -1
- package/src/domains/safety/loop-detector.ts +7 -4
- package/src/domains/session/task-board.ts +10 -9
- package/src/domains/share/archive.ts +164 -7
- package/src/engine/acp/server.ts +62 -9
- package/src/engine/apis/llamacpp-residency.ts +3 -4
- package/src/engine/apis/lmstudio.ts +3 -3
- package/src/engine/apis/ollama-native.ts +6 -6
- package/src/engine/apis/openai-completions.ts +28 -25
- package/src/engine/apis/output-budget.ts +8 -18
- package/src/engine/apis/residency.ts +8 -27
- package/src/engine/gemma-channel-filter.ts +19 -0
- package/src/engine/loop-guard.ts +92 -12
- package/src/engine/worker-runtime.ts +40 -11
- package/src/engine/worker-tools.ts +3 -1
- package/src/entry/extension-hook-sources.ts +28 -0
- package/src/entry/extension-reload.ts +309 -0
- package/src/entry/orchestrator.ts +59 -35
- package/src/interactive/application-controller.ts +2 -1
- package/src/interactive/bus-notices.ts +8 -1
- package/src/interactive/chat-loop-messages.ts +3 -13
- package/src/interactive/chat-loop.ts +10 -1
- package/src/interactive/chat-panel.ts +36 -13
- package/src/interactive/chat-renderer.ts +71 -7
- package/src/interactive/dispatch-board.ts +6 -11
- package/src/interactive/footer/widgets.ts +13 -0
- package/src/interactive/interactive-application.ts +39 -4
- package/src/interactive/interactive-input-runtime.ts +4 -0
- package/src/interactive/interactive-presentation.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +2 -0
- package/src/interactive/overlays/extensions.ts +9 -1
- package/src/interactive/overlays/help-reference.ts +13 -0
- package/src/interactive/overlays/settings.ts +27 -16
- package/src/interactive/panes-runtime.ts +111 -35
- package/src/interactive/prompt-cache-identity.ts +88 -0
- package/src/interactive/slash-commands.ts +129 -14
- package/src/interactive/stream-pacing-policy.ts +0 -23
- package/src/interactive/turn-context.ts +30 -15
- package/src/interactive/yazi-bridge.ts +60 -6
- package/src/tools/agent-tools.ts +30 -1
- package/src/tools/artifact.ts +2 -2
- package/src/tools/ask-user.ts +3 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +52 -22
- package/src/tools/codewiki/code-nav-surface.ts +6 -0
- package/src/tools/codewiki/code-nav.ts +99 -13
- package/src/tools/context/docs-engine.ts +20 -7
- package/src/tools/context/index.ts +29 -12
- package/src/tools/core-bootstrap.ts +28 -6
- package/src/tools/credential-present.ts +1 -2
- package/src/tools/dispatch-arguments.ts +5 -1
- package/src/tools/dispatch-plan.ts +48 -4
- package/src/tools/dispatch-run-events.ts +1 -1
- package/src/tools/dispatch-schema.ts +338 -0
- package/src/tools/dispatch-types.ts +3 -0
- package/src/tools/dispatch.ts +9 -254
- package/src/tools/ledger.ts +3 -5
- package/src/tools/monitor-surface.ts +5 -13
- package/src/tools/observation.ts +4 -5
- package/src/tools/panes-surface.ts +4 -11
- package/src/tools/panes.ts +4 -2
- package/src/tools/policy.ts +15 -2
- package/src/tools/read.ts +5 -6
- package/src/tools/registry.ts +30 -7
- package/src/tools/result-shaping.ts +18 -14
- package/src/tools/steer-surface.ts +1 -1
- package/src/tools/tasks.ts +1 -1
- package/src/tools/truncate.ts +6 -5
- package/src/tools/verify/surface.ts +6 -12
- package/src/tools/web-fetch-surface.ts +1 -3
- package/dist/chunk-5QIAJV2D.js +0 -48
- package/dist/chunk-JZWT5J3Y.js +0 -814
- package/dist/chunk-K7VKOLQQ.js +0 -15
- package/dist/chunk-PMZCIOCJ.js +0 -25
- package/dist/chunk-SUW5DORT.js +0 -819
- package/dist/chunk-UOV2BYIW.js +0 -107
- package/dist/chunk-WR6U3OVP.js +0 -45
- package/docs/artifact-versions.md +0 -67
- package/docs/documentation-coverage.md +0 -46
- package/docs/documentation-guide.md +0 -167
- package/docs/time-conventions.md +0 -101
package/README.md
CHANGED
|
@@ -21,385 +21,362 @@
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
-
Clio Coder is
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
Clio Coder is an open-source terminal coding agent built with scientific and
|
|
25
|
+
high-performance computing software in mind. It is comfortable in the places
|
|
26
|
+
where research code actually lives: simulation kernels, numerical libraries,
|
|
27
|
+
data pipelines, mixed-language repositories, remote machines, and build or
|
|
28
|
+
test cycles that cannot be replaced by a toy example.
|
|
29
|
+
|
|
30
|
+
You choose the model and where it runs. Clio can use a local server on your own
|
|
31
|
+
GPU, a lab gateway, a cloud API, a supported subscription, or different targets
|
|
32
|
+
for interactive work and delegated jobs. Around that model it provides project
|
|
33
|
+
context, bounded tools, worker agents, durable sessions, safety controls, and
|
|
34
|
+
evidence you can inspect after the work is done.
|
|
34
35
|
|
|
35
36
|
CLIO stands for Context Layer for Input/Output. Clio Coder is the interactive
|
|
36
|
-
coding agent in IOWarp's ecosystem of agentic science,
|
|
37
|
-
|
|
37
|
+
coding agent in IOWarp's ecosystem of agentic science, developed by the Gnosis
|
|
38
|
+
Research Center at Illinois Tech and named for the Greek muse of history.
|
|
38
39
|
|
|
39
40
|
## Get started
|
|
40
41
|
|
|
41
42
|
```bash
|
|
42
43
|
npm install -g @iowarp/clio-coder
|
|
43
|
-
clio-coder configure
|
|
44
|
-
|
|
44
|
+
clio-coder configure
|
|
45
|
+
cd /path/to/your/project
|
|
46
|
+
clio-coder
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Clio requires Node.js `>=22.19.0`. The configuration wizard helps you choose a
|
|
50
|
+
provider or local inference server, verifies the connection, and saves the
|
|
51
|
+
target. Starting `clio-coder` with no usable target opens the same setup flow.
|
|
52
|
+
|
|
53
|
+
In your first session, describe what you want in plain language. Type `/help`
|
|
54
|
+
for the command palette, `/settings` to change the active model or operating
|
|
55
|
+
posture, and `/quit` when you are done. If anything about the installation
|
|
56
|
+
looks wrong, `clio-coder doctor` performs a read-only health check.
|
|
57
|
+
|
|
58
|
+
> [!NOTE]
|
|
59
|
+
> Add `--omit=optional` to the npm install to skip the Claude Agent SDK's large
|
|
60
|
+
> optional binary. Only the `claude-sdk` worker runtime needs it. See
|
|
61
|
+
> [Optional dependencies](docs/guide/installation-and-lifecycle.md#optional-dependency-the-claude-agent-sdk).
|
|
62
|
+
|
|
63
|
+
| If you are… | Continue with… |
|
|
64
|
+
| --- | --- |
|
|
65
|
+
| Trying Clio on a project | [A first session](#a-first-session) and [Choose where models run](#choose-where-models-run) |
|
|
66
|
+
| Responsible for sensitive or expensive work | [Safety and evidence](#safety-and-evidence) |
|
|
67
|
+
| Bringing Clio to a workstation or cluster | [Project context](#project-context-that-stays-with-the-project) and [Delegation](#delegate-with-bounds) |
|
|
68
|
+
| An agent entering this repository | [For agents working on Clio Coder](#for-agents-working-on-clio-coder) |
|
|
69
|
+
| Planning to contribute | [For contributors](#for-contributors) |
|
|
70
|
+
|
|
71
|
+
## Built for real research software
|
|
72
|
+
|
|
73
|
+
Clio is not limited to scientific repositories, but research software shapes
|
|
74
|
+
its priorities:
|
|
75
|
+
|
|
76
|
+
- **Bring your own inference.** Run locally with llama.cpp, LM Studio, Ollama,
|
|
77
|
+
vLLM, SGLang, or Lemonade; connect a compatible gateway or cloud provider;
|
|
78
|
+
or use supported ChatGPT and Claude subscription routes. Chat and worker
|
|
79
|
+
fleets can use different targets.
|
|
80
|
+
- **Understand before changing.** A project handbook and structural code index
|
|
81
|
+
give the model durable orientation without pouring the whole repository into
|
|
82
|
+
every prompt. Context use, compaction, and recall remain visible.
|
|
83
|
+
- **Delegate focused work.** Built-in worker recipes receive explicit tools,
|
|
84
|
+
limits, scopes, and result contracts. Fleet contracts can add review gates,
|
|
85
|
+
resumable steps, and placement across machines over SSH.
|
|
86
|
+
- **Keep authority with the operator.** Read-only, suggest, auto-edit, and
|
|
87
|
+
full-auto modes all pass through the same policy boundary. Bash is
|
|
88
|
+
default-deny, and project rules can narrow access further.
|
|
89
|
+
- **Leave evidence, not just prose.** Runs record tool activity, model usage,
|
|
90
|
+
routing, safety decisions, timing, and result conformance in receipts and
|
|
91
|
+
durable ledgers that can be inspected later.
|
|
92
|
+
- **Fit into existing tools.** Use the interactive terminal, one-shot headless
|
|
93
|
+
commands, JSONL event streams, or the Agent Client Protocol for editor hosts.
|
|
94
|
+
|
|
95
|
+
The goal is not to make a model infallible. It is to make useful work easier to
|
|
96
|
+
direct, easier to constrain, and easier to verify.
|
|
97
|
+
|
|
98
|
+
## A first session
|
|
99
|
+
|
|
100
|
+
Run Clio from the repository you want it to work on:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
cd /path/to/your/project
|
|
104
|
+
clio-coder
|
|
45
105
|
```
|
|
46
106
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- **Machine-facing names use the Clio Coder namespace.** New paths, schemas,
|
|
85
|
-
tags, environment variables, Git refs, and manifests use syntax-appropriate
|
|
86
|
-
`clio-coder`, `clio_coder`, or `CLIO_CODER` forms. Upgrade records one naming
|
|
87
|
-
migration, and readers retain the released legacy spellings through v0.5 and
|
|
88
|
-
v0.6. The Clio persona and operator-facing identity text are unchanged.
|
|
89
|
-
|
|
90
|
-
The release also hardens the surfaces that tend to fail outside unit tests:
|
|
91
|
-
plain `doctor` is read-only again, configure cancellation exits correctly,
|
|
92
|
-
trace empty states preserve their JSON contracts, fleet views wrap and honor
|
|
93
|
-
`NO_COLOR`, Settings and other interactive prose stop losing remedy text, and
|
|
94
|
-
the Workbench lifecycle closes its timing and recovery gaps.
|
|
95
|
-
|
|
96
|
-
| | You are | Start here |
|
|
97
|
-
| --- | --- | --- |
|
|
98
|
-
| 🔬 | A researcher or developer who wants to use it | [Your models](#your-models-your-choice) → [At the keyboard](#at-the-keyboard) → [Safety](#safety-you-can-read) |
|
|
99
|
-
| 🤖 | An AI agent that just landed in this repository | [For agents](#for-agents) |
|
|
100
|
-
| 🛠️ | A developer who wants to contribute | [For contributors](#for-contributors) |
|
|
101
|
-
|
|
102
|
-
## Why Clio
|
|
103
|
-
|
|
104
|
-
Most coding agents ask you to trust a remote model with a shell. Clio makes a
|
|
105
|
-
different bet: the harness should be strong enough that a 20B model on your own
|
|
106
|
-
GPU is genuinely useful, and honest enough that you can reconstruct every
|
|
107
|
-
decision afterward.
|
|
108
|
-
|
|
109
|
-
- **The model never gets a shell by default.** Twenty typed tools in seven
|
|
110
|
-
policy planes. Bash is default-deny behind
|
|
111
|
-
[damage-control rules](damage-control-rules.yaml) and per-project policy,
|
|
112
|
-
reads are bounded, writes are queued and reviewable, and every privileged
|
|
113
|
-
call passes through one admission path the model cannot talk its way around.
|
|
114
|
-
- **Local models are the design target, not a fallback.** Clio keeps the
|
|
115
|
-
compiled prompt and tool schemas byte-stable so a llama.cpp prefix cache
|
|
116
|
-
stays hot across turns and sessions, bounds every tool result so one `grep`
|
|
117
|
-
cannot blow the window, and records a per-call cache verdict in the ledger
|
|
118
|
-
so you can see when and why the cache went cold. It also sends that prefix
|
|
119
|
-
ahead of your first keystroke on a session start, a resume, or a compaction,
|
|
120
|
-
and counts request slots per inference endpoint rather than per node, so a
|
|
121
|
-
fleet cannot admit four workers onto a one-slot server the orchestrator is
|
|
122
|
-
already streaming against.
|
|
123
|
-
- **Work goes to bounded workers, not one long context.** The orchestrator
|
|
124
|
-
dispatches focused agents with explicit tool profiles, call budgets, cost
|
|
125
|
-
ceilings, and typed result contracts. A worker that cannot produce a
|
|
126
|
-
conforming answer fails loudly instead of returning confident prose.
|
|
127
|
-
- **Your cluster is the runtime.** Declare your nodes and the same worker
|
|
128
|
-
protocol tunnels over SSH with the same prompts, the same safety matrix, and
|
|
129
|
-
the same receipts. Placement is deterministic and pinnable; capacity is
|
|
130
|
-
governed by durable leases that survive process death.
|
|
131
|
-
- **Everything is auditable.** Every run seals a receipt covering tokens,
|
|
132
|
-
priced cost, tool activity, safety decisions, routing, worker attestation,
|
|
133
|
-
and result conformance. Default-on scientific commit provenance adds only
|
|
134
|
-
the assistance, testing, review, and contributor trailers that this evidence
|
|
135
|
-
justifies; it never replaces the human author. Nothing in the audit trail is
|
|
136
|
-
reconstructed from prose.
|
|
137
|
-
- **Science is a first-class domain.**
|
|
138
|
-
[clio-kit](https://github.com/iowarp/clio-kit) adds MCP servers for HDF5,
|
|
139
|
-
Slurm, ParaView, Pandas, NetCDF, FITS, Zarr, and ArXiv, and the shipped
|
|
140
|
-
skills catalog includes scientific debugging and experiment-protocol guides.
|
|
141
|
-
|
|
142
|
-
## Your models, your choice
|
|
143
|
-
|
|
144
|
-
Clio treats models as named **targets**: a runtime, an endpoint, a model, and
|
|
145
|
-
credentials. Interactive chat and fleet dispatch can route through different
|
|
146
|
-
targets independently, so a strong orchestrator can direct cheap local muscle,
|
|
147
|
-
or the reverse.
|
|
148
|
-
|
|
149
|
-
| Runtime id | Serves |
|
|
107
|
+
The header shows the workspace, active route, and project-context status. Tool
|
|
108
|
+
calls appear as they run, edits render as diffs, and the footer keeps context
|
|
109
|
+
and activity visible without taking over the terminal.
|
|
110
|
+
|
|
111
|
+
| You want to… | Use… |
|
|
112
|
+
| --- | --- |
|
|
113
|
+
| Change the chat model, fleet route, autonomy, or interface | `/settings` |
|
|
114
|
+
| Inspect context use or cost | `/context`, `/cost` |
|
|
115
|
+
| Reference a workspace file | Type `@` and choose a path |
|
|
116
|
+
| Run a shell command whose result may enter model context | `! command` |
|
|
117
|
+
| Run a private shell command that is never sent to the model | `!! command` |
|
|
118
|
+
| Ask a side question without changing the main session | `/btw <question>` |
|
|
119
|
+
| Request a read-only second opinion | `/oracle <question>` |
|
|
120
|
+
| Delegate a focused task | `/run coder "..."` |
|
|
121
|
+
| Inspect delegated work | `/tasks` or `Alt+W` |
|
|
122
|
+
| Branch or resume a conversation | `/tree`, `/fork`, `/resume`, `/new` |
|
|
123
|
+
| Carry current state into a fresh session | `/handoff <goal>` |
|
|
124
|
+
| Browse agents, prompts, fleets, extensions, and skills | `/resources` |
|
|
125
|
+
| Save a self-contained transcript | `/export` |
|
|
126
|
+
|
|
127
|
+
Pressing Enter while Clio is working steers the active turn; `Alt+Enter` queues
|
|
128
|
+
a follow-up; `Esc` cancels. Pasted or multiline text beginning with `!` or `!!`
|
|
129
|
+
is treated as prompt text, so a pasted command does not execute unexpectedly.
|
|
130
|
+
Private `!!` command and output bytes remain visible in your transcript but are
|
|
131
|
+
excluded from model replay, compaction, and context accounting.
|
|
132
|
+
|
|
133
|
+
The complete interactive and CLI reference is
|
|
134
|
+
[Commands and Modes](docs/guide/commands-and-modes.md).
|
|
135
|
+
|
|
136
|
+
## Choose where models run
|
|
137
|
+
|
|
138
|
+
Clio stores each model connection as a named **target**: runtime, endpoint,
|
|
139
|
+
model, credentials, and any verified capability overrides. Interactive chat,
|
|
140
|
+
proactive memory, fleet defaults, and individual worker profiles can route
|
|
141
|
+
independently.
|
|
142
|
+
|
|
143
|
+
| Target family | Supported routes |
|
|
150
144
|
| --- | --- |
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
|
|
|
156
|
-
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
| `alcf` | Argonne's Sophia and Metis gateways over Globus OAuth ([guide](docs/alcf-provider.md)) |
|
|
160
|
-
| `anthropic-max`, `openai-codex` | Your Claude Pro/Max or ChatGPT Plus/Pro subscription |
|
|
161
|
-
| `claude-sdk`, `claude-code`, `antigravity-code` | Claude Code and Google Antigravity as workers behind Clio's permission gate |
|
|
162
|
-
|
|
163
|
-
**One GPU with 24 GB or more?** Serve **Qwen3.8-27B** (the
|
|
164
|
-
`unsloth/Qwen3.8-27B-GGUF` quantizations) and point both the chat and fleet
|
|
165
|
-
targets at it. It is the model this release was hardened against on llama.cpp
|
|
166
|
-
and LM Studio: a 4-bit quantization at 131072 context fits in 24 GB with a
|
|
167
|
-
q8_0 KV cache, tool calls and reasoning parse cleanly on both runtimes, and
|
|
168
|
-
Clio's `thinkingLevel` drives the model's reasoning effort per request. Start
|
|
169
|
-
llama.cpp with `--jinja --reasoning on`; LM Studio needs nothing beyond loading
|
|
170
|
-
the model. Quantization and context-window details for this and other families
|
|
171
|
-
live in [docs/model-catalog.md](docs/model-catalog.md).
|
|
172
|
-
|
|
173
|
-
Scripting the same setup the wizard performs:
|
|
145
|
+
| Local inference | llama.cpp, LM Studio, Ollama, vLLM, SGLang, Lemonade |
|
|
146
|
+
| Compatible endpoints | OpenAI-compatible and Anthropic-compatible servers; LiteLLM gateways |
|
|
147
|
+
| Cloud APIs | OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, OpenRouter, Amazon Bedrock |
|
|
148
|
+
| Institutional gateways | Argonne ALCF Sophia and Metis over Globus OAuth |
|
|
149
|
+
| Subscriptions | ChatGPT Plus/Pro through `openai-codex`; Claude Pro/Max through `anthropic-max` |
|
|
150
|
+
| Worker integrations | Claude SDK, Claude Code, Google Antigravity, and configured ACP agents |
|
|
151
|
+
|
|
152
|
+
The interactive wizard is the easiest path:
|
|
174
153
|
|
|
175
154
|
```bash
|
|
176
|
-
clio-coder configure
|
|
177
|
-
--url http://localhost:1234 --model qwen3.8-27b \
|
|
178
|
-
--set-orchestrator --set-fleet-default
|
|
155
|
+
clio-coder configure
|
|
179
156
|
clio-coder targets --probe
|
|
157
|
+
```
|
|
180
158
|
|
|
181
|
-
|
|
182
|
-
|
|
159
|
+
The same setup can be scripted. The model id must match what the server
|
|
160
|
+
advertises unless you deliberately pass `--force`:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
clio-coder configure \
|
|
164
|
+
--id local-lmstudio \
|
|
165
|
+
--runtime lmstudio \
|
|
166
|
+
--url http://127.0.0.1:1234 \
|
|
167
|
+
--model your-model-id \
|
|
168
|
+
--set-orchestrator \
|
|
169
|
+
--set-fleet-default
|
|
170
|
+
|
|
171
|
+
clio-coder targets use local-lmstudio
|
|
172
|
+
clio-coder targets --probe
|
|
183
173
|
```
|
|
184
174
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
175
|
+
Local hardware, quantization, context windows, tool calling, and reasoning
|
|
176
|
+
behavior vary substantially by model and serving runtime. Clio records what it
|
|
177
|
+
can probe, but it does not turn one successful configuration into a universal
|
|
178
|
+
claim. Start with the measured field notes in the
|
|
179
|
+
[Model Catalog](docs/architecture/model-catalog.md), then keep the serving configuration with
|
|
180
|
+
your own results.
|
|
189
181
|
|
|
190
182
|
> [!NOTE]
|
|
191
|
-
>
|
|
192
|
-
>
|
|
193
|
-
>
|
|
194
|
-
> discretion.
|
|
183
|
+
> Subscription OAuth routes use the vendors' existing coding-agent credential
|
|
184
|
+
> paths. Whether a subscription may be used outside a vendor's first-party
|
|
185
|
+
> application depends on that vendor's current terms. Enable those routes at
|
|
186
|
+
> your discretion.
|
|
187
|
+
|
|
188
|
+
The full target, auth, profile, and routing reference is
|
|
189
|
+
[Configuration and Targets](docs/guide/configuration-and-targets.md). The ALCF route
|
|
190
|
+
has a separate [setup guide](docs/architecture/alcf-provider.md).
|
|
191
|
+
|
|
192
|
+
## Project context that stays with the project
|
|
193
|
+
|
|
194
|
+
Clio uses several layers of context, each with a different job:
|
|
195
|
+
|
|
196
|
+
- **`CLIO-CODER.md`** is the human-owned project handbook loaded for each
|
|
197
|
+
session. `clio-coder context init` can draft it from the repository and adopt
|
|
198
|
+
existing `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, Cursor, or Copilot guidance
|
|
199
|
+
with provenance. You can edit and version it like any other project file.
|
|
200
|
+
- **The codewiki** is a structural index produced by
|
|
201
|
+
`clio-coder context index`. It lets `code_nav` locate files and symbols
|
|
202
|
+
without broad, expensive reads.
|
|
203
|
+
- **The working set** keeps durable tool results in the session ledger while
|
|
204
|
+
controlling which bodies remain in the model window. Evicted content can be
|
|
205
|
+
recalled by reference; history is not silently rewritten.
|
|
206
|
+
- **Skills** are focused `SKILL.md` procedures loaded when needed. The shipped
|
|
207
|
+
catalog pins content hashes, and `clio-coder skills eval <name>` can run a
|
|
208
|
+
skill's executable checks.
|
|
209
|
+
- **Task memory** surfaces bounded reminders during long work and keeps durable
|
|
210
|
+
lessons behind explicit review and approval.
|
|
211
|
+
|
|
212
|
+
Start with:
|
|
195
213
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
214
|
+
```bash
|
|
215
|
+
clio-coder context init
|
|
216
|
+
clio-coder context
|
|
217
|
+
```
|
|
199
218
|
|
|
200
|
-
|
|
219
|
+
Project-generated runtime state lives under the gitignored `.clio-coder/`
|
|
220
|
+
directory. See [Context Engine](docs/architecture/context-engine.md),
|
|
221
|
+
[Working Set](docs/architecture/context-working-set.md), and
|
|
222
|
+
[Proactive Memory](docs/guide/proactive-memory.md) for the detailed contracts.
|
|
201
223
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
same transcript.
|
|
224
|
+
The local skills marketplace may offer a matching shipped skill during a
|
|
225
|
+
request. Promotion installs are restricted to Clio's own catalog or this
|
|
226
|
+
repository and do not activate the skill automatically. Manual installs remain
|
|
227
|
+
available for a source you deliberately choose. See
|
|
228
|
+
[Skills Marketplace](docs/guide/skills-marketplace.md).
|
|
208
229
|
|
|
209
|
-
|
|
210
|
-
| --- | --- |
|
|
211
|
-
| Change model, target, thinking level, autonomy, or terminal options | `/settings [chat\|fleet\|targets\|context\|safety\|interface\|integrations]`, `/model`, `/thinking` |
|
|
212
|
-
| See what is in the context window and what it costs | `/context`, `/cost` |
|
|
213
|
-
| Branch, revisit, or pick up a session | `/tree`, `/fork`, `/resume`, `/new` |
|
|
214
|
-
| Delegate to a fleet agent and watch it work | `/run coder "..."`, `/tasks`, `Alt+W` |
|
|
215
|
-
| Load a skill or bootstrap project context | `/skill <name>`, `/context init` |
|
|
216
|
-
| Ask a side question without touching the session, or get a read-only second opinion | `/btw <question>`, `/oracle <question>` |
|
|
217
|
-
| Put the same question to several models at once and read one synthesis | `/council --synthesis vote "..."` |
|
|
218
|
-
| Preview and run a multi-step fleet contract, resumable from the CLI | `/fleet run <name>` |
|
|
219
|
-
| Browse or install agents, prompts, fleets, extensions, and skills | `/resources`, `/resources library agent` |
|
|
220
|
-
| Carry the working state into a fresh session | `/handoff <goal>` |
|
|
221
|
-
| Save a self-contained HTML transcript | `/export` (an explicit `.md` path keeps Markdown) |
|
|
222
|
-
| Everything else | `/help` |
|
|
223
|
-
|
|
224
|
-
Enter while Clio is running steers the current turn; `Alt+Enter` queues a
|
|
225
|
-
follow-up; `Esc` cancels. `/settings interface` opens the Terminal options,
|
|
226
|
-
including an opt-in fullscreen mode with a sticky composer beneath an
|
|
227
|
-
independently scrollable transcript; regular terminal scrollback is the
|
|
228
|
-
default. The complete command and keybinding reference is
|
|
229
|
-
[docs/commands-and-modes.md](docs/commands-and-modes.md).
|
|
230
|
-
|
|
231
|
-
### Settings v2 and the seven areas
|
|
232
|
-
|
|
233
|
-
The user config is a strict `version: 2` YAML document. Its seven top-level
|
|
234
|
-
areas match the seven arguments accepted by `/settings`. Those arguments are
|
|
235
|
-
stable deep links into the current Settings Center; the overlay still divides
|
|
236
|
-
the detailed editor into its existing subsections, while the durable paths on
|
|
237
|
-
disk use the seven-area vocabulary below.
|
|
238
|
-
|
|
239
|
-
| Area | What it owns |
|
|
240
|
-
| --- | --- |
|
|
241
|
-
| `chat` | Active target and model, thinking, model-picker state, output limits, prewarm, and interactive retry |
|
|
242
|
-
| `fleet` | Worker defaults and profiles, rosters, agent bindings, routing, nodes, permissions, limits, retry, and run history |
|
|
243
|
-
| `targets` | Provider/runtime connections, advertised models, capabilities, and routing roles |
|
|
244
|
-
| `context` | Working-set eviction, compaction, and proactive task memory |
|
|
245
|
-
| `safety` | Autonomy, cost/tool/read ceilings, and the review watchdog |
|
|
246
|
-
| `interface` | Output detail, terminal mode, streaming, notifications, and keybindings |
|
|
247
|
-
| `integrations` | Project resource trust, external agents, runtime plugins, resource libraries, and Git attribution |
|
|
248
|
-
|
|
249
|
-
When upgrading an existing install, run `clio-coder upgrade`. The v1-to-v2
|
|
250
|
-
migration runs before strict v2 consumers load, records its migration id so it
|
|
251
|
-
does not run twice, writes through an atomic rename, and leaves the byte-exact
|
|
252
|
-
v1 file beside the result as `settings.yaml.v1.bak`. If old and new paths
|
|
253
|
-
collide, it refuses the migration and leaves the original untouched instead of
|
|
254
|
-
guessing which value should win.
|
|
255
|
-
|
|
256
|
-
The removed slash spellings are non-executing tombstones with exact remedies:
|
|
257
|
-
`/targets` points to `/settings targets`, `/scoped-models` points to
|
|
258
|
-
`/settings chat model-picker`, and `/library`, `/prompts`, and `/extensions`
|
|
259
|
-
point to their `/resources` equivalents. The `clio-coder targets`,
|
|
260
|
-
`clio-coder skills`, and other CLI command families remain available; this
|
|
261
|
-
cleanup applies to slash commands inside the interactive session.
|
|
262
|
-
|
|
263
|
-
### The operator family today
|
|
264
|
-
|
|
265
|
-
| Operator | Behavior |
|
|
266
|
-
| --- | --- |
|
|
267
|
-
| `@` | Opens the workspace-aware picker. A bare `@` starts at the workspace root, a name fuzzily searches visible paths, and directory prefixes drill into the tree. Selecting a file inserts a reference that is expanded into the request when submitted. |
|
|
268
|
-
| `! command` | Runs one shell command in the interactive working directory. The durable transcript entry, command, and output are available to model replay and compaction. |
|
|
269
|
-
| `!! command` | Runs the same shell path and keeps the result visible and durable, but marks both command and output `not sent to model`; replay, compaction, and context accounting all exclude it. |
|
|
230
|
+
## Delegate with bounds
|
|
270
231
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
232
|
+
Clio's orchestrator can send focused assignments to worker agents instead of
|
|
233
|
+
stretching one conversation across every task. A worker receives a declared
|
|
234
|
+
role, tool profile, scope, budget, target, and typed result contract. Reviewers
|
|
235
|
+
and judges remain read-only.
|
|
274
236
|
|
|
275
|
-
|
|
237
|
+
On one machine:
|
|
238
|
+
|
|
239
|
+
```text
|
|
240
|
+
/run tester "Run the focused tests for the parser and explain any failure."
|
|
241
|
+
/tasks
|
|
242
|
+
```
|
|
276
243
|
|
|
277
|
-
|
|
244
|
+
For repeatable workflows, fleet contracts describe steps, dependencies,
|
|
245
|
+
writers, and review gates:
|
|
278
246
|
|
|
279
247
|
```bash
|
|
280
|
-
clio-coder
|
|
281
|
-
clio-coder
|
|
282
|
-
clio-coder
|
|
283
|
-
clio-coder
|
|
248
|
+
clio-coder fleet new validation-pass --from build-test
|
|
249
|
+
clio-coder fleet validate validation-pass
|
|
250
|
+
clio-coder fleet graph validation-pass
|
|
251
|
+
clio-coder fleet run validation-pass
|
|
284
252
|
```
|
|
285
253
|
|
|
286
|
-
|
|
254
|
+
The same worker protocol can run over SSH on declared nodes. Placement and
|
|
255
|
+
capacity are explicit, a node can be drained without killing active work, and
|
|
256
|
+
completed steps can be resumed from durable evidence. Shared workspaces must
|
|
257
|
+
appear at the same absolute path on every node, and `localhost` always means
|
|
258
|
+
the node where that worker runs.
|
|
287
259
|
|
|
288
|
-
|
|
289
|
-
|
|
260
|
+
Read [Fleet Dispatch](docs/guide/fleet-dispatch.md) for configuration and invariants,
|
|
261
|
+
or follow the [Fleet Demo Runbook](docs/process/fleet-demo-runbook.md) for an end-to-end
|
|
262
|
+
example.
|
|
290
263
|
|
|
291
|
-
|
|
264
|
+
## Safety and evidence
|
|
265
|
+
|
|
266
|
+
Clio has one tool-admission path and four operator-visible autonomy levels:
|
|
267
|
+
|
|
268
|
+
| Level | What Clio may do |
|
|
292
269
|
| --- | --- |
|
|
293
|
-
| `read-only` |
|
|
294
|
-
| `suggest` |
|
|
295
|
-
| `auto-edit` |
|
|
296
|
-
| `full-auto` |
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
fleet:
|
|
314
|
-
nodes:
|
|
315
|
-
- id: node-a
|
|
316
|
-
host: node-a.example.net
|
|
317
|
-
maxWorkers: 2
|
|
318
|
-
- id: node-b
|
|
319
|
-
host: node-b.example.net
|
|
320
|
-
maxWorkers: 1
|
|
270
|
+
| `read-only` | Inspect only; execution and mutation are denied. |
|
|
271
|
+
| `suggest` | Prepare mutations and wait for approval. |
|
|
272
|
+
| `auto-edit` | Apply file edits; execution and dispatch still pass their gates. |
|
|
273
|
+
| `full-auto` | Run approved action classes unattended, still inside safety-net and project-policy limits. |
|
|
274
|
+
|
|
275
|
+
The safety net applies at every level. Bash starts from a default-deny rule
|
|
276
|
+
pack; reads and observations are bounded; writes are serialized; protected
|
|
277
|
+
paths and project policy can narrow authority further. A worker can never gain
|
|
278
|
+
more authority than the process that dispatched it.
|
|
279
|
+
|
|
280
|
+
Every completed run seals a receipt over the facts Clio actually observed:
|
|
281
|
+
routing, model usage, priced cost where known, tool calls, safety decisions,
|
|
282
|
+
worker identity, timing, and result conformance. Inspect the same evidence from
|
|
283
|
+
the CLI or TUI:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
clio-coder evidence list
|
|
287
|
+
clio-coder evidence inspect <evidence-id>
|
|
288
|
+
clio-coder trace phases <run-id>
|
|
289
|
+
clio-coder trace tail <run-id>
|
|
321
290
|
```
|
|
322
291
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
never receive offers, and only the operator activates a skill with `/skill`.
|
|
367
|
-
Manual `clio-coder skills install <path|github-url>` remains available for a
|
|
368
|
-
source you deliberately choose; the own-marketplace guarantee governs what
|
|
369
|
-
Clio installs on its own initiative.
|
|
370
|
-
|
|
371
|
-
**Task memory** keeps long runs from drifting: a rules-only tier with no model
|
|
372
|
-
calls watches tool and lifecycle hooks and surfaces advisory reminders at the
|
|
373
|
-
right boundaries, `/memory` inspects it, and durable lessons are reviewed with
|
|
374
|
-
`clio-coder memory list|propose|approve|reject|prune`. Design notes:
|
|
375
|
-
[docs/proactive-memory.md](docs/proactive-memory.md).
|
|
292
|
+
Evidence helps you audit a run; it does not prove that generated code is
|
|
293
|
+
scientifically correct. Domain validation, reference results, and human review
|
|
294
|
+
remain part of the job. The detailed boundaries are in
|
|
295
|
+
[Safety Model](docs/architecture/safety-model.md), [Observability](docs/architecture/observability.md),
|
|
296
|
+
and [Scientific Validation](docs/process/scientific-validation.md).
|
|
297
|
+
|
|
298
|
+
## Headless and editor use
|
|
299
|
+
|
|
300
|
+
The interactive TUI and automation surfaces use the same engine:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
clio-coder run "Summarize this repository's entry points."
|
|
304
|
+
clio-coder run "<task>" --json
|
|
305
|
+
clio-coder run "<task>" --agent coder
|
|
306
|
+
clio-coder acp
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Text mode reserves stdout for the final answer. `--json` emits JSONL events for
|
|
310
|
+
scripts, and `acp` serves Clio over stdio to Agent Client Protocol hosts. Exit
|
|
311
|
+
codes and output guarantees are documented in
|
|
312
|
+
[Exit Codes and Output](docs/guide/exit-codes-and-output.md) and
|
|
313
|
+
[ACP](docs/architecture/acp.md).
|
|
314
|
+
|
|
315
|
+
## Settings and local state
|
|
316
|
+
|
|
317
|
+
User configuration is a strict `version: 2` YAML document organized into seven
|
|
318
|
+
durable areas: `chat`, `fleet`, `targets`, `context`, `safety`, `interface`, and
|
|
319
|
+
`integrations`. The same names are accepted as `/settings` deep links. Use the
|
|
320
|
+
Settings Center for ordinary changes; use the YAML inventory when you need a
|
|
321
|
+
reviewable lab or fleet configuration.
|
|
322
|
+
|
|
323
|
+
`clio-coder upgrade` migrates older settings before strict readers load them,
|
|
324
|
+
writes the result atomically, and keeps the original `settings.yaml.v1.bak`.
|
|
325
|
+
Conflicting old and new paths stop the migration instead of guessing.
|
|
326
|
+
|
|
327
|
+
Experimental pane, dock, and files-pane integrations are opt-in and off by default;
|
|
328
|
+
Clio does not start or download them unless you explicitly enable
|
|
329
|
+
`interface.panes`.
|
|
330
|
+
|
|
331
|
+
Use `clio-coder paths --json` to locate configuration, durable data, state, and
|
|
332
|
+
cache on the current machine. See the complete
|
|
333
|
+
[Settings Inventory](docs/guide/configuration-and-targets.md#settings-inventory) and
|
|
334
|
+
[Artifact Placement](docs/architecture/artifact-placement.md).
|
|
376
335
|
|
|
377
336
|
## Install
|
|
378
337
|
|
|
338
|
+
Requirements:
|
|
339
|
+
|
|
379
340
|
- Node.js `>=22.19.0` and npm
|
|
380
|
-
- Linux or macOS
|
|
381
|
-
- At least one
|
|
341
|
+
- Linux or macOS; Windows support is currently best effort
|
|
342
|
+
- At least one local, institutional, subscription, or cloud model target
|
|
343
|
+
|
|
344
|
+
### Install from npm
|
|
345
|
+
|
|
346
|
+
```bash
|
|
347
|
+
npm install -g @iowarp/clio-coder
|
|
348
|
+
clio-coder configure
|
|
349
|
+
clio-coder --version
|
|
350
|
+
```
|
|
382
351
|
|
|
383
|
-
|
|
384
|
-
moves an existing install to the latest release; `--channel=beta` follows a
|
|
385
|
-
dist-tag instead.
|
|
352
|
+
### Install from source
|
|
386
353
|
|
|
387
|
-
From source, pinned to this
|
|
354
|
+
From source, pinned to this version:
|
|
388
355
|
|
|
389
356
|
```bash
|
|
390
|
-
git clone --branch v0.4.
|
|
357
|
+
git clone --branch v0.4.2 https://github.com/iowarp/clio-coder.git
|
|
391
358
|
cd clio-coder
|
|
359
|
+
npm ci
|
|
392
360
|
npm run install:local
|
|
393
361
|
export PATH="$HOME/.local/bin:$PATH"
|
|
394
362
|
hash -r
|
|
395
363
|
"$HOME/.local/bin/clio-coder" --version
|
|
396
364
|
```
|
|
397
365
|
|
|
398
|
-
`npm run install:local` builds
|
|
399
|
-
`${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}/clio-coder
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
366
|
+
`npm run install:local` builds and links the launcher at
|
|
367
|
+
`${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}/clio-coder`. Run
|
|
368
|
+
`command -v clio-coder` to see which installation the bare command reaches;
|
|
369
|
+
your shell may otherwise keep resolving an older launcher earlier on `PATH`.
|
|
370
|
+
Clone the default branch instead only when you deliberately want the current
|
|
371
|
+
development tree.
|
|
372
|
+
|
|
373
|
+
Upgrade and diagnose without deleting state:
|
|
374
|
+
|
|
375
|
+
```bash
|
|
376
|
+
clio-coder upgrade
|
|
377
|
+
clio-coder doctor
|
|
378
|
+
clio-coder doctor --fix
|
|
379
|
+
```
|
|
403
380
|
|
|
404
381
|
To remove it, preview first:
|
|
405
382
|
|
|
@@ -408,180 +385,135 @@ clio-coder uninstall --dry-run
|
|
|
408
385
|
clio-coder uninstall --remove-binary --force
|
|
409
386
|
```
|
|
410
387
|
|
|
411
|
-
|
|
412
|
-
[
|
|
388
|
+
The full directory, permission, reset, migration, and uninstall behavior is in
|
|
389
|
+
[Installation and Lifecycle](docs/guide/installation-and-lifecycle.md).
|
|
413
390
|
|
|
414
|
-
##
|
|
391
|
+
## Project status
|
|
415
392
|
|
|
416
|
-
The
|
|
417
|
-
[`@iowarp/clio-coder`](https://www.npmjs.com/package/@iowarp/clio-coder)
|
|
418
|
-
from
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
393
|
+
The latest release is available from npm as
|
|
394
|
+
[`@iowarp/clio-coder`](https://www.npmjs.com/package/@iowarp/clio-coder) and
|
|
395
|
+
from [GitHub Releases](https://github.com/iowarp/clio-coder/releases/latest).
|
|
396
|
+
The exact release history belongs in the [CHANGELOG](CHANGELOG.md).
|
|
397
|
+
|
|
398
|
+
Clio Coder is still experimental. Interfaces may change between minor
|
|
399
|
+
versions, and model behavior varies by target and serving configuration. Keep
|
|
400
|
+
important work under version control, review proposed changes, and treat
|
|
401
|
+
model-dependent results as measurements rather than promises.
|
|
423
402
|
|
|
424
403
|
### Troubleshooting
|
|
425
404
|
|
|
426
|
-
| Problem |
|
|
405
|
+
| Problem | First check |
|
|
427
406
|
| --- | --- |
|
|
428
|
-
| `clio-coder: command not found` | Run `
|
|
429
|
-
| No model target
|
|
430
|
-
|
|
|
431
|
-
| Cloud
|
|
432
|
-
| A fleet node
|
|
433
|
-
|
|
|
434
|
-
|
|
435
|
-
When
|
|
436
|
-
`clio-coder doctor`, and `clio-coder targets`. Redact
|
|
437
|
-
|
|
438
|
-
is keyed
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
`
|
|
450
|
-
`src/
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
|
462
|
-
|
|
|
463
|
-
|
|
|
464
|
-
|
|
|
465
|
-
|
|
|
466
|
-
|
|
|
467
|
-
|
|
|
468
|
-
|
|
|
469
|
-
| ARTIFACT | `artifact` | Plans, reviews, and reports as durable artifacts |
|
|
470
|
-
|
|
471
|
-
Every observation carries a truncation envelope with offload paths and next
|
|
472
|
-
hints, so a large result is bounded rather than silently cut. Parameters and
|
|
473
|
-
payloads: [docs/tool-usage.md](docs/tool-usage.md).
|
|
474
|
-
|
|
475
|
-
**Dispatch** goes through one tool, one admission chain, and one autonomy
|
|
476
|
-
matrix. `task` runs one assignment; `tasks: [...]` fans out; `mode:
|
|
477
|
-
"sequential"` and `mode: "pipeline"` chain steps; `detach: true` returns ids to
|
|
478
|
-
collect later with `monitor` in `collect` mode; `review: {...}` adds a
|
|
479
|
-
read-only verifier gate; `mode: "compete"` runs two to four candidates in
|
|
480
|
-
scratch worktrees behind a read-only judge. Every dispatch carries a typed
|
|
481
|
-
`ExecutionRole` and answers a typed result contract; a cited line in a
|
|
482
|
-
`scout-report` must fall inside a span the run actually read. The built-in
|
|
483
|
-
fleet is `architect`, `coder`, `tester`, `verifier`, `debugger`, `documenter`,
|
|
484
|
-
`scout`, `researcher`, `provenance`, and `git-master`
|
|
485
|
-
([docs/built-in-agents.md](docs/built-in-agents.md)); pin an id from it, since
|
|
486
|
-
`agent: "auto"` is a fallback, not a router.
|
|
487
|
-
|
|
488
|
-
**Every run seals a receipt** covering routing intent, the resolved route,
|
|
489
|
-
worker attestation, priced cost, phase timing, tool activity, safety decisions,
|
|
490
|
-
and result conformance. `clio-coder evidence inspect` and `/view verify <runId>`
|
|
491
|
-
check them; `clio-coder trace` reads the same store.
|
|
492
|
-
[docs/observability.md](docs/observability.md) has the shapes.
|
|
493
|
-
|
|
494
|
-
```bash
|
|
495
|
-
clio-coder run "<task>" --json # one headless turn, JSONL events
|
|
496
|
-
clio-coder acp # ACP v1 over stdio
|
|
497
|
-
clio-coder fleet run <contract> # run a fleet DAG contract
|
|
498
|
-
clio-coder evidence build|inspect|list # deterministic evidence artifacts
|
|
499
|
-
clio-coder eval validate|run|report|compare|gate
|
|
500
|
-
```
|
|
501
|
-
|
|
502
|
-
---
|
|
407
|
+
| `clio-coder: command not found` | Run `command -v clio-coder`; make sure the npm global bin or `${CLIO_CODER_BIN_DIR:-$HOME/.local/bin}` is on `PATH`, then run `hash -r`. |
|
|
408
|
+
| No usable model target | Run `clio-coder configure`, then `clio-coder targets --probe`. |
|
|
409
|
+
| A local server does not answer | Verify the server process, URL, advertised model id, and `clio-coder targets` health row. |
|
|
410
|
+
| Cloud or subscription authentication fails | Run `clio-coder auth status <target-or-runtime>` and repeat the appropriate login flow. |
|
|
411
|
+
| A fleet node receives no work | Run `clio-coder doctor`; inspect node preflight, shared path, target reachability, and drain status. |
|
|
412
|
+
| Local state appears damaged | Run read-only `clio-coder doctor` first; use `doctor --fix` only for the repairs it offers. |
|
|
413
|
+
|
|
414
|
+
When reporting a problem, include `clio-coder --version`, `node --version`,
|
|
415
|
+
`clio-coder doctor`, and `clio-coder targets`. Redact credentials, private
|
|
416
|
+
prompts, proprietary code, and sensitive logs. The
|
|
417
|
+
[Troubleshooting Guide](docs/guide/troubleshooting.md) is keyed to user-facing errors.
|
|
418
|
+
|
|
419
|
+
## For agents working on Clio Coder
|
|
420
|
+
|
|
421
|
+
If you are an AI agent entering this repository, orient narrowly before making
|
|
422
|
+
changes:
|
|
423
|
+
|
|
424
|
+
1. Read [CONTRIBUTING.md](CONTRIBUTING.md), then the guide for the subsystem you
|
|
425
|
+
will touch in the [documentation index](docs/README.md). If a local
|
|
426
|
+
`CLIO-CODER.md` exists, read it for checkout-specific instructions.
|
|
427
|
+
2. Start at the owning entry point. The main source roots are `src/cli/`,
|
|
428
|
+
`src/core/`, `src/domains/`, `src/engine/`, `src/entry/`,
|
|
429
|
+
`src/interactive/`, `src/tools/`, and `src/worker/`.
|
|
430
|
+
3. Use `rg` and focused reads. Do not infer current behavior from release notes
|
|
431
|
+
or a similarly named legacy path.
|
|
432
|
+
4. Treat source, schema validation, and contract tests as authoritative when a
|
|
433
|
+
document disagrees. Fix the document in the same change.
|
|
434
|
+
5. Run the narrowest relevant test while iterating, then the repository gate
|
|
435
|
+
before handing work back.
|
|
436
|
+
|
|
437
|
+
Useful orientation:
|
|
438
|
+
|
|
439
|
+
| Concern | Start here |
|
|
440
|
+
| --- | --- |
|
|
441
|
+
| Source layout and domain boundaries | [Architecture](docs/architecture/architecture.md) |
|
|
442
|
+
| CLI and slash-command contracts | [Commands and Modes](docs/guide/commands-and-modes.md) |
|
|
443
|
+
| Tool schemas and bounded results | [Tool Usage](docs/guide/tool-usage.md) |
|
|
444
|
+
| Dispatch admission and worker mechanics | [Fleet Dispatch](docs/guide/fleet-dispatch.md), [Worker Dispatch](docs/architecture/worker-dispatch-mechanics.md) |
|
|
445
|
+
| Configuration schema and target resolution | [Configuration and Targets](docs/guide/configuration-and-targets.md) |
|
|
446
|
+
| Sessions, context, and persistence | [Session Lifecycle](docs/architecture/session-lifecycle.md), [Context Engine](docs/architecture/context-engine.md) |
|
|
447
|
+
| Safety and evidence | [Safety Model](docs/architecture/safety-model.md), [Observability](docs/architecture/observability.md) |
|
|
503
448
|
|
|
504
|
-
|
|
449
|
+
## For contributors
|
|
505
450
|
|
|
506
|
-
The
|
|
507
|
-
research
|
|
508
|
-
|
|
509
|
-
|
|
451
|
+
The most valuable contributions often begin with a real obstacle in your own
|
|
452
|
+
research or software work. [CONTRIBUTING.md](CONTRIBUTING.md) covers setup,
|
|
453
|
+
architecture boundaries, commit conventions, and review expectations. Report
|
|
454
|
+
security issues through [SECURITY.md](SECURITY.md), not a public issue.
|
|
510
455
|
|
|
511
456
|
```bash
|
|
512
457
|
npm ci
|
|
513
|
-
npm run dev #
|
|
514
|
-
npm run ci #
|
|
515
|
-
npm run ci:release #
|
|
458
|
+
npm run dev # rebuild on source changes
|
|
459
|
+
npm run ci # types, hygiene, build, deterministic tests
|
|
460
|
+
npm run ci:release # CI plus distribution and package audit
|
|
516
461
|
```
|
|
517
462
|
|
|
518
463
|
| Check | Command |
|
|
519
464
|
| --- | --- |
|
|
520
465
|
| Types | `npm run typecheck` |
|
|
521
|
-
|
|
|
522
|
-
| One
|
|
523
|
-
|
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
tests use `node:test`,
|
|
527
|
-
boundaries
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
(`npm run live:smoke -- --target <id>`) and the runnable reference suites under
|
|
531
|
-
`evals/` are explicit, opt-in measurements. Neither runs in CI or the release
|
|
532
|
-
gate, because no deterministic suite can promise that every local model
|
|
533
|
-
behaves identically.
|
|
466
|
+
| Formatting, lint, and architecture hygiene | `npm run lint` |
|
|
467
|
+
| One contract file | `npm run test:file -- tests/contracts/<name>.test.ts` |
|
|
468
|
+
| Deterministic suite | `npm test` |
|
|
469
|
+
| Distribution package | `node scripts/check-release.mjs` |
|
|
470
|
+
|
|
471
|
+
Local imports end in `.js`, tests use `node:test`, and compile-time domain
|
|
472
|
+
boundaries are enforced by repository hygiene checks. Live target measurements
|
|
473
|
+
and the reference suites under `evals/` are explicit operator runs; they are
|
|
474
|
+
not hidden inside deterministic CI.
|
|
534
475
|
|
|
535
476
|
## Documentation
|
|
536
477
|
|
|
537
|
-
The
|
|
538
|
-
`clio-coder docs` serves
|
|
539
|
-
|
|
478
|
+
The [documentation index](docs/README.md) groups guides for users, operators,
|
|
479
|
+
researchers, and contributors. From a source checkout, `clio-coder docs` serves
|
|
480
|
+
the interactive blueprints locally. Frequently used pages:
|
|
540
481
|
|
|
541
482
|
| Topic | Guide |
|
|
542
483
|
| --- | --- |
|
|
543
|
-
|
|
|
544
|
-
| Targets,
|
|
545
|
-
|
|
|
546
|
-
|
|
|
547
|
-
|
|
|
548
|
-
|
|
|
549
|
-
|
|
|
550
|
-
|
|
|
551
|
-
| Receipts, evidence, and `clio-coder trace` | [observability.md](docs/observability.md) |
|
|
552
|
-
| The twenty tools, parameter by parameter | [tool-usage.md](docs/tool-usage.md) |
|
|
553
|
-
| Exit codes, `--help`, and `--json` contracts | [exit-codes-and-output.md](docs/exit-codes-and-output.md) |
|
|
554
|
-
| Install, upgrade, reset, uninstall | [installation-and-lifecycle.md](docs/installation-and-lifecycle.md) |
|
|
555
|
-
| Adding a runtime or inference server | [provider-adapter-cookbook.md](docs/provider-adapter-cookbook.md) |
|
|
556
|
-
| Source layout and domain boundaries | [architecture.md](docs/architecture.md) |
|
|
484
|
+
| Install, upgrade, reset, uninstall | [Installation and Lifecycle](docs/guide/installation-and-lifecycle.md) |
|
|
485
|
+
| Targets, auth, settings, fleet profiles | [Configuration and Targets](docs/guide/configuration-and-targets.md) |
|
|
486
|
+
| Commands, keybindings, and modes | [Commands and Modes](docs/guide/commands-and-modes.md) |
|
|
487
|
+
| Project context and context windows | [Context Engine](docs/architecture/context-engine.md) |
|
|
488
|
+
| Safety rules and autonomy | [Safety Model](docs/architecture/safety-model.md) |
|
|
489
|
+
| Fleet and multi-node execution | [Fleet Dispatch](docs/guide/fleet-dispatch.md) |
|
|
490
|
+
| Receipts, traces, and evidence | [Observability](docs/architecture/observability.md) |
|
|
491
|
+
| Exact CLI output contracts | [Exit Codes and Output](docs/guide/exit-codes-and-output.md) |
|
|
557
492
|
|
|
558
493
|
## Heritage
|
|
559
494
|
|
|
560
|
-
Clio Coder is developed by the
|
|
561
|
-
|
|
562
|
-
|
|
495
|
+
Clio Coder is developed by the
|
|
496
|
+
[Gnosis Research Center](https://grc.iit.edu) at the
|
|
497
|
+
[Illinois Institute of Technology](https://www.iit.edu) in collaboration with
|
|
498
|
+
the University of Utah. IOWarp and the CLIO architecture are funded by the
|
|
563
499
|
National Science Foundation under
|
|
564
500
|
[Award #2411318](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2411318) for
|
|
565
501
|
2024 through 2029. Principal Investigator: Dr. Xian-He Sun. Co-Principal
|
|
566
502
|
Investigators: Dr. Anthony Kougkas, Dr. Jake Hochhalter, and Dr. Vivek
|
|
567
503
|
Srikumar.
|
|
568
504
|
|
|
569
|
-
Clio Coder is
|
|
505
|
+
Clio Coder is one part of a larger ecosystem:
|
|
570
506
|
[clio-core](https://github.com/iowarp/clio-core) is the tiered data and context
|
|
571
|
-
storage layer, and [clio-kit](https://github.com/iowarp/clio-kit)
|
|
572
|
-
[Model Context Protocol](https://modelcontextprotocol.io) servers
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
It
|
|
576
|
-
[Earendil Works](https://github.com/earendil-works)
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
Client Protocol** for editor frontends, and **Globus Auth** for ALCF's inference
|
|
582
|
-
gateways. Subagents and prompt techniques are evaluated against
|
|
583
|
-
[SWE-bench](https://www.swebench.com) and SciCode, with structured execution
|
|
584
|
-
evidence matched against baselines to catch silent regressions.
|
|
507
|
+
storage layer, and [clio-kit](https://github.com/iowarp/clio-kit) provides
|
|
508
|
+
[Model Context Protocol](https://modelcontextprotocol.io) servers for
|
|
509
|
+
scientific data and computing tools.
|
|
510
|
+
|
|
511
|
+
It builds on the **Pi Agent Framework** from
|
|
512
|
+
[Earendil Works](https://github.com/earendil-works), the **Anthropic Claude
|
|
513
|
+
Agent SDK** for supported Claude worker runs, the **Agent Client Protocol** for
|
|
514
|
+
editor frontends, and **Globus Auth** for ALCF inference gateways. The repository
|
|
515
|
+
also ships a local eval engine and reviewable reference suites under `evals/`
|
|
516
|
+
for reproducible, operator-run measurements.
|
|
585
517
|
|
|
586
518
|
---
|
|
587
519
|
|