@iowarp/clio-coder 0.4.0 → 0.4.1
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 +39 -0
- package/README.md +116 -16
- package/dist/{acp-G5WJBNCT.js → acp-ZILU3AUO.js} +14 -14
- package/dist/{agents-FMV2Q5G4.js → agents-HYWGBGQR.js} +40 -29
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-3IDSJEIK.js → auth-N3QT7CBO.js} +21 -19
- package/dist/{builtins-XCZWXSC7.js → builtins-UJLMOVOV.js} +6 -6
- package/dist/{chunk-PQEFIJ36.js → chunk-2LEAKD4C.js} +1 -2
- package/dist/{chunk-3BT2XMV4.js → chunk-2NM363SV.js} +50 -57
- package/dist/{chunk-J4W7KFM7.js → chunk-2VG7KLYV.js} +24 -279
- package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
- package/dist/{chunk-K5C3NCBD.js → chunk-3I5NY75V.js} +5 -5
- package/dist/{chunk-VAZSBTKF.js → chunk-3QSOM6PA.js} +2 -2
- package/dist/{chunk-TZ3SGWZZ.js → chunk-5QIAJV2D.js} +2 -2
- package/dist/{chunk-OQBA45DZ.js → chunk-5YHDIDBP.js} +2 -2
- package/dist/{chunk-NHLBIGRH.js → chunk-6CCS4G3W.js} +40 -17
- package/dist/{chunk-2JDWVJND.js → chunk-6DWBAZ5U.js} +2 -2
- package/dist/{chunk-LDQ2ZF2M.js → chunk-6FN3E6KX.js} +5 -5
- package/dist/{chunk-X3YGUTOB.js → chunk-6HMJX2VU.js} +59 -59
- package/dist/{chunk-VEO4AP2K.js → chunk-6I5ILFOF.js} +3 -2
- package/dist/{chunk-B7OBL7PK.js → chunk-6NJQITNH.js} +18 -11
- package/dist/{chunk-IQ7KR472.js → chunk-6VC4OV3Z.js} +6 -3
- package/dist/{chunk-P3FOHJT4.js → chunk-72GZI5EV.js} +2 -2
- package/dist/{chunk-AB44T6BB.js → chunk-74YWRRU5.js} +8 -7
- package/dist/{chunk-SJ5ZKQ4S.js → chunk-7EPLI7VL.js} +2 -2
- package/dist/{chunk-HWHKMHUA.js → chunk-7OBGU7UB.js} +3 -3
- package/dist/{chunk-2OQE55CK.js → chunk-7PWAODYW.js} +2 -2
- package/dist/{chunk-IBEBSCYA.js → chunk-7RY5VZPH.js} +42 -33
- package/dist/{chunk-LQ3DZAMX.js → chunk-ABLSQ6JX.js} +2 -2
- package/dist/{chunk-QLFS5GO2.js → chunk-AFKWHWXF.js} +12 -22
- package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
- package/dist/{chunk-O6TL7WWY.js → chunk-AKB4GYDL.js} +4 -4
- package/dist/chunk-AP73CFDC.js +308 -0
- package/dist/{chunk-JDG2WCRO.js → chunk-BBTJOK6Y.js} +5 -5
- package/dist/{chunk-SP2RXXYO.js → chunk-BDPT6GTK.js} +10 -10
- package/dist/{chunk-NQQH3YT7.js → chunk-BJGUKIG4.js} +3 -3
- package/dist/{chunk-O4XIVISU.js → chunk-BTGG6BG2.js} +79 -38
- package/dist/chunk-BTK3SSSK.js +67 -0
- package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
- package/dist/chunk-BWW4HLO4.js +301 -0
- package/dist/{chunk-I5VEOC6I.js → chunk-C537JADH.js} +10 -10
- package/dist/{chunk-HI63TFOG.js → chunk-CDNVLKUX.js} +3 -3
- package/dist/{chunk-UM7N4G5A.js → chunk-CWVRRIEI.js} +2 -2
- package/dist/{chunk-BKFM6EJV.js → chunk-D4CJV46V.js} +2 -2
- package/dist/chunk-D7E7WCDF.js +27 -0
- package/dist/{chunk-WZR7K7ZX.js → chunk-E67WX76H.js} +6 -6
- package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
- package/dist/chunk-EIMVLWB3.js +1842 -0
- package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
- package/dist/{chunk-MLKNTWH2.js → chunk-FYUN5KZ3.js} +21 -21
- package/dist/{chunk-YJX4SHTD.js → chunk-GIZNH63R.js} +1 -1
- package/dist/{chunk-X75E3D2N.js → chunk-GPPB3JBE.js} +18 -16
- package/dist/{chunk-GR5G2PVF.js → chunk-GVQJ5CCZ.js} +15 -10
- package/dist/chunk-HJWWJ6IL.js +184 -0
- package/dist/{chunk-VO67MWHC.js → chunk-HRQMFLJP.js} +3 -3
- package/dist/{chunk-VYMXRQI6.js → chunk-HUAS7ITX.js} +89 -93
- package/dist/{chunk-BKFJHQCA.js → chunk-I66EAJFY.js} +2 -2
- package/dist/{chunk-DYJP44XW.js → chunk-IG7BCQBA.js} +1 -1
- package/dist/{chunk-32KWKNSF.js → chunk-IXJT6DCX.js} +3 -3
- package/dist/{chunk-C2LTL2W6.js → chunk-J4HBWF6Y.js} +360 -172
- package/dist/chunk-J5LZHVIT.js +284 -0
- package/dist/{chunk-QLL7ILRG.js → chunk-JA5QWE4Z.js} +510 -202
- package/dist/{chunk-BBVJUZHB.js → chunk-JIEGK6UF.js} +5 -173
- package/dist/{chunk-36EJLSQQ.js → chunk-JZWT5J3Y.js} +4 -4
- package/dist/{chunk-HZHHCK24.js → chunk-K6BF4U2H.js} +476 -322
- package/dist/{chunk-Z2RR6MAK.js → chunk-MA3H6DM5.js} +6 -6
- package/dist/{chunk-CODPRO7Q.js → chunk-MOPSG2X7.js} +6 -6
- package/dist/{chunk-76ONBSIA.js → chunk-MQXIVJ35.js} +14 -5
- package/dist/{chunk-YDFRH54B.js → chunk-N5UK64DP.js} +4 -4
- package/dist/chunk-NDDGJUXD.js +81 -0
- package/dist/{chunk-4ZG3XFUR.js → chunk-NLFAQR7Z.js} +12 -1
- package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
- package/dist/{chunk-W5VSYASO.js → chunk-OJTRZGR3.js} +46 -87
- package/dist/{chunk-NHCZP4K7.js → chunk-PBP4B7XR.js} +2 -2
- package/dist/{chunk-3URVFKWK.js → chunk-PJJ6MY27.js} +5 -5
- package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
- package/dist/{chunk-GKF55TAZ.js → chunk-PVAMAVBB.js} +3 -2
- package/dist/{chunk-6DB53AJS.js → chunk-QKIFBZKT.js} +7 -7
- package/dist/{chunk-HJJTYUHX.js → chunk-QMXC4JB7.js} +20 -20
- package/dist/chunk-QTFGO774.js +644 -0
- package/dist/{chunk-CY6FY24N.js → chunk-R23Z6K6I.js} +2 -2
- package/dist/{chunk-ULC6OTWO.js → chunk-R32CLGZ6.js} +13 -13
- package/dist/{chunk-KMVISBZR.js → chunk-RKSR6VSF.js} +1 -1
- package/dist/{chunk-F4CKPOEQ.js → chunk-SCYB3HA4.js} +72 -26
- package/dist/{chunk-LY4S7GJC.js → chunk-SINK3QR6.js} +18 -16
- package/dist/{chunk-U77AMWDL.js → chunk-TD3PGPQA.js} +43 -22
- package/dist/{chunk-QBJA7R7N.js → chunk-THYWACCR.js} +2 -2
- package/dist/{chunk-QREDIESB.js → chunk-TVH4ONAM.js} +14 -8
- package/dist/chunk-U2WB7TZS.js +271 -0
- package/dist/{chunk-KFZI4NIL.js → chunk-UAPGZHYC.js} +145 -31
- package/dist/{chunk-DQITNCXG.js → chunk-UEDMSP56.js} +29 -14
- package/dist/{chunk-3XML7CDN.js → chunk-UXN6JT4W.js} +2 -2
- package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
- package/dist/{chunk-BPKCPIL7.js → chunk-VEGN6WIQ.js} +2 -2
- package/dist/chunk-VKFQTNDV.js +66 -0
- package/dist/{chunk-7MCTRUCE.js → chunk-VKRH2TCS.js} +2 -2
- package/dist/{chunk-5LXZXPKX.js → chunk-VN3SHNBN.js} +2 -2
- package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
- package/dist/{chunk-BBVYXMFO.js → chunk-WNP7O5WZ.js} +2 -2
- package/dist/{chunk-SUCTJL45.js → chunk-WR6U3OVP.js} +3 -3
- package/dist/{chunk-BUMFYQFY.js → chunk-XKA2ICR3.js} +124 -113
- package/dist/{chunk-UXMFQ54G.js → chunk-Y45G3AXC.js} +39 -39
- package/dist/{chunk-J5Q24KAG.js → chunk-Y4CAGMM6.js} +2 -2
- package/dist/{chunk-NYS75XW5.js → chunk-YAKGTXEV.js} +5 -3
- package/dist/{chunk-V5DHCITQ.js → chunk-ZAZB4JMW.js} +23 -12
- package/dist/{chunk-Z4TXYIEG.js → chunk-ZJLUDYFY.js} +9 -9
- package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
- package/dist/{chunk-2ANTL7MR.js → chunk-ZW55JB7N.js} +2 -2
- package/dist/cli/index.js +36 -36
- package/dist/{clio-2JXHBBY5.js → clio-IT3G3VQH.js} +12 -13
- package/dist/{code-nav-3YYRMYNF.js → code-nav-RK6S7F6E.js} +5 -5
- package/dist/codewiki/build-worker.js +1 -1
- package/dist/{compile-cache-7FPE6PS3.js → compile-cache-OQAVB7Y5.js} +2 -4
- package/dist/{components-RYZV4JGP.js → components-UBWCQSRW.js} +4 -4
- package/dist/{config-QZPCMYSO.js → config-3QZRWZJF.js} +53 -49
- package/dist/{configure-TEGEBYCA.js → configure-FL7Y3KJF.js} +25 -22
- package/dist/{context-E6H5RNMC.js → context-5HE7ODYK.js} +47 -43
- package/dist/{context-AV7OEZ4D.js → context-KYQFRVDC.js} +11 -11
- package/dist/{context-GSXUE4CT.js → context-XNHL75JV.js} +32 -19
- package/dist/{context-clear-SHIBYK6T.js → context-clear-N545L53A.js} +47 -43
- package/dist/{context-working-set-5ZGKPGZQ.js → context-working-set-QHKXSV2F.js} +10 -9
- package/dist/{dispatch-runner-EFMJT4LD.js → dispatch-runner-RGIE5PCT.js} +56 -47
- package/dist/{docs-23KQS3XK.js → docs-5NAF6AU7.js} +5 -11
- package/dist/doctor-ZGPEGHIP.js +772 -0
- package/dist/{eval-TFBYQH4H.js → eval-GXLL44RD.js} +63 -45
- package/dist/{eval-inventory-SXH7PDKX.js → eval-inventory-HBWSWQOK.js} +7 -8
- package/dist/{evidence-ERGESKGN.js → evidence-HWLBRH3Q.js} +44 -40
- package/dist/{evolve-VDXTSYCJ.js → evolve-FTZBMNVW.js} +43 -39
- package/dist/{extensions-7BGBHN57.js → extensions-VHRBEID7.js} +4 -4
- package/dist/{fleet-2RRVDF2V.js → fleet-CKZHJWZJ.js} +86 -73
- package/dist/{fleet-commands-VJ726XIA.js → fleet-commands-EXDXBMV6.js} +10 -9
- package/dist/{fleet-decisions-EPAPM3XJ.js → fleet-decisions-OTHB6KRL.js} +5 -5
- package/dist/{fleet-graph-JF5QOATM.js → fleet-graph-YTEZUCUT.js} +13 -11
- package/dist/{fleet-inspect-VLY4S7QM.js → fleet-inspect-SS6YMDCK.js} +44 -41
- package/dist/{fleet-preflight-AIZUEJOY.js → fleet-preflight-PBY4VYOM.js} +5 -9
- package/dist/{fleet-validate-AJRPDMDV.js → fleet-validate-KMEM5L3S.js} +16 -13
- package/dist/{fleet-verify-JFEL2L3H.js → fleet-verify-QD5M7E7Q.js} +42 -39
- package/dist/{fleet-view-ZCON35AG.js → fleet-view-WAMJYNDT.js} +44 -52
- package/dist/{init-DN2WWLFE.js → init-5XQRBOFV.js} +63 -58
- package/dist/{install-XGLBQY5E.js → install-NKNG7KD4.js} +2 -2
- package/dist/{interop-OZBKXAYL.js → interop-34TVO25M.js} +13 -11
- package/dist/{library-YWZG7IMW.js → library-3QY6KF57.js} +17 -14
- package/dist/{memory-I4C4HMLW.js → memory-L4UTIIIW.js} +45 -41
- package/dist/{models-CEYXJBO6.js → models-ZVX3QOWE.js} +39 -31
- package/dist/{monitor-NZ6GCI3P.js → monitor-CEKVSYTS.js} +50 -46
- package/dist/{orchestrator-GCGQ4N5I.js → orchestrator-77BAP6BC.js} +1807 -1039
- package/dist/{panes-KY6W3V2E.js → panes-7STHOAUJ.js} +4 -4
- package/dist/{panes-HMABYVO4.js → panes-SHAUIRXY.js} +10 -8
- package/dist/{paths-II4K7DNR.js → paths-L7LGY6RN.js} +4 -4
- package/dist/{reset-DQ6FGCSH.js → reset-EOLM7GVE.js} +7 -8
- package/dist/{resources-BB3MVJMD.js → resources-74GKTLSF.js} +17 -13
- package/dist/{run-H2GQDUER.js → run-HBAUJNNZ.js} +86 -76
- package/dist/{share-GTJN6A5O.js → share-G3APVLVP.js} +17 -14
- package/dist/{skills-L55TEW6R.js → skills-35HHUKCR.js} +19 -16
- package/dist/{skills-eval-XVXPH2JI.js → skills-eval-QN4HSHDC.js} +55 -57
- package/dist/{skills-inventory-S4MXPJFV.js → skills-inventory-J357J34F.js} +15 -12
- package/dist/{slash-commands-ZSGASKJC.js → slash-commands-JZZCQA32.js} +31 -29
- package/dist/{steer-RZGSCY4R.js → steer-XAVHJM22.js} +3 -3
- package/dist/{support-PKEUNNQL.js → support-U7QOWY26.js} +6 -6
- package/dist/{targets-NCPZ644J.js → targets-DSM6CY3M.js} +59 -53
- package/dist/{terminal-lease-44SV3YCN.js → terminal-lease-JOPFUVEM.js} +14 -9
- package/dist/{tools-DAF3DI3C.js → tools-MKNWVPBH.js} +10 -8
- package/dist/{trace-FYVW2MQA.js → trace-ECQ7TIYZ.js} +48 -3
- package/dist/{tui-primitives-2AKXQNZK.js → tui-primitives-K5PASC3O.js} +8 -4
- package/dist/{uninstall-DW2PNOIC.js → uninstall-N34PCTGJ.js} +4 -6
- package/dist/{upgrade-3XPP6OQL.js → upgrade-H7TOM7YL.js} +35 -62
- package/dist/{usage-3NLHGTU2.js → usage-X52N3IDJ.js} +51 -48
- package/dist/{verifiers-SSQONKRT.js → verifiers-EJTVVSMA.js} +10 -9
- package/dist/{verify-3U6J7FZI.js → verify-YJL6XET2.js} +9 -8
- package/dist/{web-fetch-S7RR6GZ7.js → web-fetch-MPIFL3LL.js} +1 -2
- package/dist/{wiki-generate-CEHYGPGQ.js → wiki-generate-4NDZTQ4B.js} +66 -63
- package/dist/{with-panes-MKB46MPQ.js → with-panes-OBOBFIIR.js} +62 -26
- package/dist/worker/entry.js +57 -52
- package/docs/acp.md +1 -1
- package/docs/built-in-agents.md +40 -32
- package/docs/commands-and-modes.md +9 -3
- package/docs/config-knobs-audit.md +3 -0
- package/docs/configuration-and-targets.md +105 -164
- package/docs/environment-variables.md +2 -1
- package/docs/exit-codes-and-output.md +2 -0
- package/docs/fleet-demo-runbook.md +6 -3
- package/docs/fleet-dispatch.md +8 -6
- package/docs/installation-and-lifecycle.md +1 -1
- package/docs/release-cut-checklist.md +164 -177
- package/docs/trace-store.md +15 -10
- package/docs/troubleshooting.md +1 -1
- package/evals/README.md +5 -0
- package/evals/behavioral-corpus-grader.mjs +103 -0
- package/evals/behavioral-machinery-baseline.json +2276 -0
- package/evals/behavioral-machinery-driver.ts +250 -0
- package/evals/behavioral-machinery-support.ts +253 -0
- package/evals/behavioral-machinery.yaml +614 -0
- package/evals/behavioral-model-negative-control.yaml +68 -0
- package/evals/behavioral-model.yaml +216 -0
- package/evals/fixtures/behavioral-facts.txt +3 -0
- package/evals/fixtures/behavioral-main.ts +7 -0
- package/evals/fixtures/decoy/note.txt +2 -0
- package/evals/fixtures/private/credentials.txt +1 -0
- package/evals/tracked-metrics-baseline.yaml +229 -0
- package/evals/tracked-metrics-grader.mjs +129 -0
- package/package.json +5 -15
- package/skills/README.md +6 -6
- package/skills/coding/ast-grep/SKILL.md +8 -2
- package/skills/coding/coding-standards/SKILL.md +8 -2
- package/skills/coding/prototype/SKILL.md +8 -2
- package/skills/coding/tdd/SKILL.md +8 -2
- package/skills/context/context-handoff/SKILL.md +12 -3
- package/skills/context/context-handoff/evals.md +3 -3
- package/skills/context/context-prime/SKILL.md +8 -2
- package/skills/context/context-prime/evals.md +2 -2
- package/skills/git/file-ticket/SKILL.md +9 -4
- package/skills/git/file-ticket/evals.md +2 -2
- package/skills/git/fix-issue/SKILL.md +12 -5
- package/skills/git/fix-issue/evals.md +4 -4
- package/skills/git/resolve-merge-conflicts/SKILL.md +8 -2
- package/skills/git/resolve-merge-conflicts/evals.md +2 -2
- package/skills/git/ship/SKILL.md +9 -3
- package/skills/git/ship/evals.md +4 -4
- package/skills/git/worktree-create/SKILL.md +7 -2
- package/skills/git/worktree-create/evals.md +6 -6
- package/skills/git/worktree-merge/SKILL.md +7 -2
- package/skills/git/worktree-merge/evals.md +6 -6
- package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +14 -8
- package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +3 -3
- package/skills/meta/{clio-test → clio-coder-test}/SKILL.md +11 -5
- package/skills/meta/{clio-test → clio-coder-test}/evals.md +1 -1
- package/skills/meta/credentials/SKILL.md +9 -2
- package/skills/meta/find-skills/SKILL.md +8 -2
- package/skills/meta/herdr/SKILL.md +8 -2
- package/skills/meta/skill-craft/SKILL.md +21 -4
- package/skills/planning/architecture/SKILL.md +9 -3
- package/skills/planning/backlog/SKILL.md +8 -2
- package/skills/planning/prd/SKILL.md +8 -2
- package/skills/planning/product-intent/SKILL.md +8 -2
- package/skills/planning/tech-spec/SKILL.md +9 -3
- package/skills/registry.yaml +66 -66
- package/skills/research/arxiv-literature/SKILL.md +8 -2
- package/skills/research/experiment-protocol/SKILL.md +9 -2
- package/skills/research/scientific-debugging/SKILL.md +9 -2
- package/skills/research/scientific-debugging/evals.md +2 -2
- package/skills/research/scientific-modernization/SKILL.md +9 -2
- package/skills/skill-marketplace.json +257 -38
- package/skills/workflow/cut-it/SKILL.md +10 -2
- package/skills/workflow/design-council/SKILL.md +11 -2
- package/skills/workflow/grill-me/SKILL.md +8 -2
- package/skills/workflow/workflow-distiller/SKILL.md +8 -2
- package/src/cli/acp.ts +2 -2
- package/src/cli/auth.ts +2 -2
- package/src/cli/bootstrap-generate.ts +5 -5
- package/src/cli/clio.ts +6 -1
- package/src/cli/config-inspect.ts +3 -3
- package/src/cli/configure-interop.ts +1 -1
- package/src/cli/configure.ts +27 -27
- package/src/cli/default-target.ts +1 -1
- package/src/cli/docs.ts +6 -6
- package/src/cli/doctor-naming.ts +323 -0
- package/src/cli/doctor-panes.ts +46 -14
- package/src/cli/doctor-toolchain.ts +29 -8
- package/src/cli/doctor.ts +15 -1
- package/src/cli/eval-inventory.ts +8 -8
- package/src/cli/evidence-detail.ts +1 -1
- package/src/cli/evidence-inventory.ts +1 -1
- package/src/cli/fleet-decisions.ts +1 -1
- package/src/cli/fleet-inspect.ts +1 -1
- package/src/cli/fleet-preflight.ts +1 -1
- package/src/cli/fleet-verify.ts +1 -1
- package/src/cli/fleet-view.ts +40 -23
- package/src/cli/fleet.ts +8 -5
- package/src/cli/interop-inspect.ts +2 -2
- package/src/cli/models.ts +3 -3
- package/src/cli/modes/print.ts +1 -1
- package/src/cli/reset.ts +1 -1
- package/src/cli/run.ts +11 -15
- package/src/cli/share.ts +1 -1
- package/src/cli/skills-eval.ts +11 -11
- package/src/cli/targets.ts +23 -24
- package/src/cli/trace-inspect.ts +1 -1
- package/src/cli/trace.ts +41 -0
- package/src/cli/uninstall.ts +2 -2
- package/src/cli/upgrade.ts +29 -34
- package/src/cli/usage.ts +2 -2
- package/src/cli/validate-model.ts +1 -1
- package/src/cli/verifiers-inspect.ts +1 -1
- package/src/cli/wiki-generate.ts +5 -5
- package/src/core/bash-exec.ts +1 -1
- package/src/core/boot-trace.ts +3 -3
- package/src/core/bus-trace.ts +2 -2
- package/src/core/compile-cache.ts +1 -1
- package/src/core/config.ts +1062 -886
- package/src/core/defaults.ts +321 -528
- package/src/core/domain-loader.ts +6 -4
- package/src/core/event-bus.ts +1 -1
- package/src/core/file-references.ts +78 -88
- package/src/core/git-commit-attribution.ts +3 -9
- package/src/core/guardrails.ts +24 -4
- package/src/core/naming-compat.ts +45 -0
- package/src/core/naming-events.ts +62 -0
- package/src/core/recent-models.ts +1 -7
- package/src/core/residency-protection.ts +4 -8
- package/src/core/resolve-config-value.ts +1 -1
- package/src/core/response-model-id.ts +0 -14
- package/src/core/session-routing.ts +84 -74
- package/src/core/skill-activation.ts +18 -0
- package/src/core/termination.ts +4 -4
- package/src/core/timers.ts +2 -12
- package/src/domains/agents/catalog.ts +2 -12
- package/src/domains/agents/extension.ts +3 -3
- package/src/domains/agents/registry.ts +7 -7
- package/src/domains/agents/result-contract.ts +1 -1
- package/src/domains/agents/spec.ts +0 -11
- package/src/domains/config/classify.ts +35 -47
- package/src/domains/config/extension.ts +5 -5
- package/src/domains/config/keybindings.ts +48 -47
- package/src/domains/config/watcher.ts +1 -1
- package/src/domains/context/codewiki/indexer.ts +1 -1
- package/src/domains/context/extension.ts +3 -3
- package/src/domains/context/prompt-context.ts +1 -1
- package/src/domains/context/wiki/assemble.ts +2 -2
- package/src/domains/context/working-set/replay/metrics.ts +0 -4
- package/src/domains/context/working-set/replay/report.ts +1 -1
- package/src/domains/context/working-set/replay/synthetic.ts +2 -2
- package/src/domains/dispatch/active-route-planner.ts +2 -2
- package/src/domains/dispatch/agent-candidates.ts +1 -1
- package/src/domains/dispatch/agent-ledger-store.ts +1 -1
- package/src/domains/dispatch/agent-ledger.ts +1 -1
- package/src/domains/dispatch/assignment.ts +5 -5
- package/src/domains/dispatch/capacity-lease.ts +2 -5
- package/src/domains/dispatch/code-step.ts +1 -1
- package/src/domains/dispatch/contract.ts +2 -2
- package/src/domains/dispatch/extension.ts +65 -61
- package/src/domains/dispatch/fleet-node-prompt.ts +1 -1
- package/src/domains/dispatch/fleet-preflight.ts +8 -17
- package/src/domains/dispatch/fleet-run.ts +0 -7
- package/src/domains/dispatch/gate-decisions.ts +25 -14
- package/src/domains/dispatch/joint-route-resolver.ts +1 -1
- package/src/domains/dispatch/path-scope.ts +0 -61
- package/src/domains/dispatch/placement.ts +2 -2
- package/src/domains/dispatch/receipt-findings.ts +1 -1
- package/src/domains/dispatch/receipt-integrity.ts +20 -8
- package/src/domains/dispatch/reservation-store.ts +0 -23
- package/src/domains/dispatch/route-decision.ts +1 -1
- package/src/domains/dispatch/route-history.ts +1 -1
- package/src/domains/dispatch/route-policy.ts +1 -1
- package/src/domains/dispatch/route-readiness.ts +0 -28
- package/src/domains/dispatch/run-event-journal.ts +6 -5
- package/src/domains/dispatch/tool-stats.ts +1 -1
- package/src/domains/dispatch/transport.ts +2 -19
- package/src/domains/dispatch/types.ts +3 -3
- package/src/domains/dispatch/worker-protocol.ts +2 -2
- package/src/domains/eval/artifacts/store.ts +5 -4
- package/src/domains/eval/compare/thresholds.ts +0 -8
- package/src/domains/eval/execution-provenance.ts +1 -1
- package/src/domains/eval/metrics/token-stream.ts +0 -7
- package/src/domains/eval/report.ts +1 -1
- package/src/domains/eval/runner.ts +1 -1
- package/src/domains/eval/runners/clio-run.ts +7 -6
- package/src/domains/eval/runners/external-command.ts +4 -3
- package/src/domains/eval/schema/artifact.ts +1 -1
- package/src/domains/eval/schema/behavioral-metrics.ts +3 -2
- package/src/domains/eval/schema/behavioral.ts +7 -6
- package/src/domains/eval/schema/execution-envelope.ts +4 -2
- package/src/domains/eval/schema/naming.ts +10 -0
- package/src/domains/eval/schema/suite.ts +2 -2
- package/src/domains/eval/schema/validate.ts +9 -5
- package/src/domains/eval/schema/verdict.ts +4 -2
- package/src/domains/eval/store.ts +12 -2
- package/src/domains/eval/suites/run.ts +12 -6
- package/src/domains/eval/types.ts +1 -1
- package/src/domains/eval/workspaces/git.ts +1 -1
- package/src/domains/eval/workspaces/temp-copy.ts +1 -1
- package/src/domains/evidence/build.ts +13 -5
- package/src/domains/interop/consent.ts +7 -7
- package/src/domains/interop/extension.ts +1 -1
- package/src/domains/lifecycle/doctor.ts +27 -21
- package/src/domains/lifecycle/migrations/2026-09-01-clio-coder-naming.ts +155 -0
- package/src/domains/lifecycle/migrations/2026-09-01-retire-panes-knobs.ts +59 -0
- package/src/domains/lifecycle/migrations/2026-09-01-settings-v2.ts +338 -0
- package/src/domains/lifecycle/migrations/index.ts +20 -1
- package/src/domains/lifecycle/naming-history.ts +153 -0
- package/src/domains/lifecycle/naming-mutable-state.ts +104 -0
- package/src/domains/lifecycle/naming-resources.ts +261 -0
- package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
- package/src/domains/lifecycle/naming-yazi.ts +81 -0
- package/src/domains/lifecycle/upgrade-notice.ts +1 -1
- package/src/domains/memory/task-memory-handoff.ts +6 -3
- package/src/domains/middleware/index.ts +7 -0
- package/src/domains/middleware/marketplace-offer.ts +339 -0
- package/src/domains/middleware/runtime.ts +2 -2
- package/src/domains/mux/contract.ts +157 -25
- package/src/domains/mux/detect.ts +29 -5
- package/src/domains/mux/dock-controller.ts +365 -0
- package/src/domains/mux/extension.ts +7 -1
- package/src/domains/mux/index.ts +20 -0
- package/src/domains/mux/operations.ts +28 -0
- package/src/domains/mux/protocol.ts +19 -6
- package/src/domains/mux/socket-client.ts +167 -19
- package/src/domains/mux/types.ts +49 -6
- package/src/domains/mux/yazi/event-stream.ts +6 -4
- package/src/domains/mux/yazi/profile.ts +1 -1
- package/src/domains/mux/yazi/session.ts +26 -3
- package/src/domains/observability/extension.ts +1 -1
- package/src/domains/observability/out-of-turn-usage.ts +2 -2
- package/src/domains/observability/projection.ts +1 -1
- package/src/domains/observability/trace-store.ts +22 -12
- package/src/domains/prompts/compiler.ts +2 -2
- package/src/domains/prompts/extension.ts +3 -3
- package/src/domains/prompts/fragments/identity/clio-worker.md +1 -1
- package/src/domains/prompts/fragments/operating/skills.md +25 -18
- package/src/domains/providers/extension.ts +5 -5
- package/src/domains/providers/knowledge-base-path.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +14 -2
- package/src/domains/providers/models/cloud-models/alcf.yaml +1 -1
- package/src/domains/providers/models/local-models/{clio-local-coding-targets.yaml → clio-coder-local-coding-targets.yaml} +4 -4
- package/src/domains/providers/plugins.ts +1 -1
- package/src/domains/providers/resolver.ts +1 -1
- package/src/domains/providers/runtimes/cloud/alcf.ts +4 -4
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +1 -5
- package/src/domains/providers/runtimes/common/local-synth.ts +3 -3
- package/src/domains/providers/runtimes/common/probe-helpers.ts +2 -2
- package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
- package/src/domains/providers/runtimes/local-native/lmstudio.ts +2 -9
- package/src/domains/providers/runtimes/protocol/litellm.ts +1 -91
- package/src/domains/providers/types/knowledge-base.ts +13 -0
- package/src/domains/providers/types/local-model-quirks.ts +2 -2
- package/src/domains/providers/types/target-descriptor.ts +3 -3
- package/src/domains/resources/extension.ts +1 -1
- package/src/domains/resources/library.ts +6 -6
- package/src/domains/resources/prompts/loader.ts +1 -1
- package/src/domains/resources/skills/content-hash.ts +7 -6
- package/src/domains/resources/skills/evals.ts +1 -1
- package/src/domains/resources/skills/install.ts +36 -12
- package/src/domains/resources/skills/loader.ts +39 -13
- package/src/domains/resources/skills/marketplace.ts +21 -2
- package/src/domains/resources/skills/promotion.ts +214 -0
- package/src/domains/safety/audit.ts +2 -2
- package/src/domains/safety/finish-contract.ts +2 -1
- package/src/domains/safety/run-effects.ts +1 -1
- package/src/domains/scheduling/extension.ts +4 -4
- package/src/domains/session/archive-readers.ts +9 -1
- package/src/domains/session/compaction/branch-summary.ts +4 -0
- package/src/domains/session/compaction/compact.ts +1 -1
- package/src/domains/session/compaction/tokens.ts +4 -0
- package/src/domains/session/context-accounting.ts +1 -1
- package/src/domains/session/decision-board.ts +1 -1
- package/src/domains/session/extension.ts +1 -1
- package/src/domains/session/handoff.ts +2 -2
- package/src/domains/session/prompt-manifest.ts +0 -5
- package/src/domains/session/protected-artifact-journal.ts +12 -6
- package/src/domains/session/retry.ts +1 -1
- package/src/domains/share/archive.ts +85 -36
- package/src/domains/toolchain/install.ts +1 -1
- package/src/engine/acp/adapter.ts +3 -3
- package/src/engine/acp/event-mapper.ts +3 -3
- package/src/engine/acp/server.ts +27 -26
- package/src/engine/acp/tool-mediator.ts +2 -2
- package/src/engine/acp/types.ts +1 -1
- package/src/engine/alcf-oauth.ts +5 -5
- package/src/engine/antigravity/subprocess-runtime.ts +2 -2
- package/src/engine/api-registry.ts +1 -1
- package/src/engine/apis/llamacpp-residency.ts +1 -19
- package/src/engine/apis/lmstudio.ts +1 -6
- package/src/engine/apis/ollama-native.ts +3 -3
- package/src/engine/apis/openai-completions.ts +2 -2
- package/src/engine/apis/residency.ts +3 -9
- package/src/engine/claude/sdk-module.ts +1 -12
- package/src/engine/claude/sdk-runtime.ts +6 -6
- package/src/engine/claude/subprocess-runtime.ts +1 -1
- package/src/engine/claude/tool-safety.ts +4 -4
- package/src/engine/loop-guard.ts +0 -5
- package/src/engine/session.ts +14 -7
- package/src/engine/tui-primitives.ts +1 -1
- package/src/engine/worker-events.ts +6 -6
- package/src/engine/worker-runtime.ts +14 -13
- package/src/entry/orchestrator.ts +107 -88
- package/src/interactive/application-controller.ts +21 -21
- package/src/interactive/bus-notices.ts +2 -2
- package/src/interactive/chat-loop.ts +8 -8
- package/src/interactive/chat-panel.ts +1 -1
- package/src/interactive/clio-editor.ts +105 -1
- package/src/interactive/context-activity.ts +8 -6
- package/src/interactive/context-meter.ts +3 -6
- package/src/interactive/context-overlay.ts +1 -1
- package/src/interactive/cost-overlay.ts +1 -1
- package/src/interactive/council-grid.ts +2 -2
- package/src/interactive/dispatch-board.ts +30 -33
- package/src/interactive/editor-bash.ts +21 -0
- package/src/interactive/editor-steer.ts +9 -4
- package/src/interactive/editor-submit.ts +24 -18
- package/src/interactive/external-editor.ts +1 -1
- package/src/interactive/file-reference-completion.ts +360 -0
- package/src/interactive/footer/dashboard.ts +15 -17
- package/src/interactive/footer/notifications.ts +14 -8
- package/src/interactive/footer/widgets.ts +2 -44
- package/src/interactive/interactive-application.ts +79 -59
- package/src/interactive/interactive-event-projection.ts +1 -1
- package/src/interactive/interactive-input-runtime.ts +2 -2
- package/src/interactive/interactive-presentation.ts +21 -16
- package/src/interactive/interactive-shell.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +63 -17
- package/src/interactive/interactive-subscriptions.ts +1 -1
- package/src/interactive/interactive-tickers.ts +1 -1
- package/src/interactive/keybinding-manager.ts +4 -4
- package/src/interactive/layout.ts +1 -1
- package/src/interactive/memory-overlay.ts +2 -2
- package/src/interactive/modal-marker.ts +2 -21
- package/src/interactive/mutation-preview.ts +1 -1
- package/src/interactive/overlay-frame.ts +4 -12
- package/src/interactive/overlay-general-openers.ts +6 -2
- package/src/interactive/overlay-key-routing.ts +7 -7
- package/src/interactive/overlay-lifecycle.ts +1 -1
- package/src/interactive/overlay-model-selectors.ts +3 -3
- package/src/interactive/overlays/agents.ts +2 -2
- package/src/interactive/overlays/ask-user.ts +25 -11
- package/src/interactive/overlays/context-reset.ts +28 -4
- package/src/interactive/overlays/cwd-fallback.ts +28 -4
- package/src/interactive/overlays/decisions.ts +4 -2
- package/src/interactive/overlays/fleet-run-approval.ts +3 -3
- package/src/interactive/overlays/handoff-review.ts +2 -2
- package/src/interactive/overlays/interop.ts +1 -1
- package/src/interactive/overlays/library-install-confirm.ts +1 -1
- package/src/interactive/overlays/message-picker.ts +1 -1
- package/src/interactive/overlays/model-selector.ts +39 -31
- package/src/interactive/overlays/prompts.ts +10 -4
- package/src/interactive/overlays/session-selector.ts +2 -2
- package/src/interactive/overlays/settings.ts +339 -293
- package/src/interactive/overlays/side-question.ts +2 -2
- package/src/interactive/overlays/skills-hub.ts +8 -8
- package/src/interactive/overlays/tree-selector.ts +2 -2
- package/src/interactive/panes-runtime.ts +36 -10
- package/src/interactive/permission-overlay.ts +2 -2
- package/src/interactive/renderers/retry-status.ts +12 -4
- package/src/interactive/renderers/tool-execution.ts +4 -4
- package/src/interactive/session-transcript.ts +3 -3
- package/src/interactive/slash-autocomplete.ts +454 -165
- package/src/interactive/slash-commands.ts +279 -183
- package/src/interactive/slash-spec.ts +160 -17
- package/src/interactive/status/controller.ts +2 -2
- package/src/interactive/stream-pacing-policy.ts +1 -1
- package/src/interactive/tasks-overlay.ts +20 -13
- package/src/interactive/terminal-lease.ts +6 -7
- package/src/interactive/turn-context.ts +11 -11
- package/src/interactive/turn-persistence.ts +2 -2
- package/src/interactive/turn-prewarm.ts +2 -2
- package/src/interactive/turn-runtime.ts +8 -8
- package/src/interactive/turn-state.ts +1 -1
- package/src/interactive/view/artifacts.ts +12 -9
- package/src/interactive/view/view-overlay.ts +13 -10
- package/src/interactive/watch-pane.ts +38 -10
- package/src/interactive/welcome-dashboard.ts +15 -15
- package/src/interactive/worker-progress.ts +4 -4
- package/src/interactive/worker-receipts.ts +1 -1
- package/src/interactive/worker-stream.ts +1 -4
- package/src/interactive/yazi-bridge.ts +12 -5
- package/src/tools/ask-user.ts +3 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/builtin-tool-catalog.ts +1 -1
- package/src/tools/compete-worktrees.ts +27 -17
- package/src/tools/context/index.ts +15 -1
- package/src/tools/dispatch-admission.ts +4 -2
- package/src/tools/dispatch-arguments.ts +1 -1
- package/src/tools/dispatch-plan.ts +0 -11
- package/src/tools/dispatch-run-events.ts +12 -10
- package/src/tools/dispatch-runner.ts +11 -6
- package/src/tools/dispatch.ts +1 -1
- package/src/tools/find.ts +1 -6
- package/src/tools/monitor.ts +4 -4
- package/src/tools/observers.ts +0 -33
- package/src/tools/task-worktree.ts +28 -7
- package/src/tools/verify/authoring.ts +3 -6
- package/src/tools/verify/frontend.ts +1 -1
- package/src/tools/web-fetch.ts +1 -1
- package/src/worker/entry.ts +4 -3
- package/src/worker/protocol.ts +16 -14
- package/src/worker/spec-contract.ts +2 -2
- package/src/worker/stdin-demux.ts +2 -2
- package/dist/chunk-GXNLGKAB.js +0 -571
- package/dist/chunk-VFA6GDY5.js +0 -1625
- package/dist/doctor-QOA5FNY5.js +0 -313
- package/src/engine/apis/degraded-inference.ts +0 -95
- /package/skills/meta/{clio-test → clio-coder-test}/references/harness.md +0 -0
- /package/skills/meta/{clio-test → clio-coder-test}/references/test-map.md +0 -0
package/src/core/defaults.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { DEFAULT_WORKING_SET_SETTINGS } from "../domains/context/working-set/defaults.js";
|
|
10
10
|
import type { TargetDescriptor } from "../domains/providers/types/target-descriptor.js";
|
|
11
11
|
import type { AutonomyLevel } from "../domains/safety/autonomy.js";
|
|
12
|
-
import { GUARDRAIL_DEFAULTS
|
|
12
|
+
import { GUARDRAIL_DEFAULTS } from "./guardrails.js";
|
|
13
13
|
|
|
14
14
|
export type { TargetDescriptor } from "../domains/providers/types/target-descriptor.js";
|
|
15
15
|
export type { AutonomyLevel } from "../domains/safety/autonomy.js";
|
|
@@ -55,12 +55,12 @@ export interface WorkerRosterMember {
|
|
|
55
55
|
label: string;
|
|
56
56
|
target: string;
|
|
57
57
|
model?: string;
|
|
58
|
-
|
|
58
|
+
thinkingLevel?: ThinkingLevel;
|
|
59
59
|
color?: ThemeNamedColor | string;
|
|
60
60
|
}
|
|
61
61
|
export type WorkerRosters = Record<string, { members: WorkerRosterMember[] }>;
|
|
62
|
-
/** Map of agent id ->
|
|
63
|
-
export type
|
|
62
|
+
/** Map of native agent id -> fleet.profiles key. Empty means no agent is pinned to a profile. */
|
|
63
|
+
export type FleetAgentProfiles = Record<string, string>;
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* Non-stall posture for dispatched native workers. A worker tool call that
|
|
@@ -80,22 +80,31 @@ export interface WorkerEscalationSettings {
|
|
|
80
80
|
fallback: "deny" | "fail";
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
export interface
|
|
83
|
+
export interface FleetPermissionsSettings {
|
|
84
|
+
mode: WorkerPermissionMode;
|
|
85
|
+
escalation: WorkerEscalationSettings;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export interface FleetRetrySettings {
|
|
89
|
+
maxRetries: number;
|
|
90
|
+
routeCooldownMs: number;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface FleetLimitsSettings {
|
|
94
|
+
toolCallsPerRun: number;
|
|
95
|
+
internalRunTimeoutMs: number;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export interface FleetHistorySettings {
|
|
99
|
+
maxRuns: number;
|
|
100
|
+
journal: boolean;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface FleetRouteSettings {
|
|
84
104
|
default: WorkerTarget;
|
|
85
105
|
profiles: WorkerProfiles;
|
|
86
106
|
rosters: WorkerRosters;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Bounded automatic retries for a dispatched worker run whose outcome is
|
|
90
|
-
* retryable. 0 disables. This is the sole governor of a dispatch assignment's
|
|
91
|
-
* retry chain; the unrelated top-level `retry` block governs the interactive
|
|
92
|
-
* session's own provider calls.
|
|
93
|
-
*/
|
|
94
|
-
maxRetries: number;
|
|
95
|
-
onPermission: WorkerPermissionMode;
|
|
96
|
-
/** Escalate-posture bounds; defaults 120000 ms with a deny fallback. */
|
|
97
|
-
escalation?: WorkerEscalationSettings;
|
|
98
|
-
resilienceCooldownMs?: number;
|
|
107
|
+
agentProfiles: FleetAgentProfiles;
|
|
99
108
|
}
|
|
100
109
|
|
|
101
110
|
/**
|
|
@@ -111,11 +120,9 @@ export interface WorkersSettings {
|
|
|
111
120
|
* - threshold: context pressure (estimated_tokens / context_window, 0..1)
|
|
112
121
|
* at which compaction acts: stale observations are masked first, and a
|
|
113
122
|
* full LLM summary runs if pressure stays above the threshold.
|
|
114
|
-
* - excludeLastTurns: number of recent user turns protected from
|
|
115
|
-
* observation masking.
|
|
116
123
|
* - model: optional pattern (e.g. "provider/summary-model-id") used to
|
|
117
|
-
* resolve a dedicated summarization model. Falls back to the
|
|
118
|
-
*
|
|
124
|
+
* resolve a dedicated summarization model. Falls back to the Chat target
|
|
125
|
+
* when absent.
|
|
119
126
|
* - systemPrompt: optional path to a prompt-override file; resolved to
|
|
120
127
|
* text at call time, not at settings load.
|
|
121
128
|
*/
|
|
@@ -127,6 +134,9 @@ export interface CompactionSettings {
|
|
|
127
134
|
systemPrompt?: string;
|
|
128
135
|
}
|
|
129
136
|
|
|
137
|
+
/** Durable v2 compaction settings. The legacy mask keeps its own compiled recent-turn fallback. */
|
|
138
|
+
export type DurableCompactionSettings = Omit<CompactionSettings, "excludeLastTurns">;
|
|
139
|
+
|
|
130
140
|
/**
|
|
131
141
|
* Working-set layer settings (`context.workingSet`). The layer decides which
|
|
132
142
|
* tool-result bodies and thinking blocks leave the model's working set when
|
|
@@ -154,29 +164,16 @@ export interface WorkingSetSettings {
|
|
|
154
164
|
}
|
|
155
165
|
|
|
156
166
|
/**
|
|
157
|
-
* Prompt pre-warm
|
|
167
|
+
* Prompt pre-warm (`chat.prewarm`). On a local server prefill is the cost,
|
|
158
168
|
* and the prefix the next turn will send is fully known before the operator
|
|
159
169
|
* types anything: at session start, after a resume rebuilds the message array,
|
|
160
170
|
* and after a compaction settles. Clio sends that prefix to the backend right
|
|
161
171
|
* then so the slot's prefix cache already holds it when the real turn arrives.
|
|
162
172
|
*
|
|
163
|
-
*
|
|
173
|
+
* The boolean is the master switch. The feature is off on every tier but
|
|
164
174
|
* `local-native` whatever this says, and off for workers and headless runs,
|
|
165
175
|
* because it buys latency for an operator watching a local server.
|
|
166
176
|
*/
|
|
167
|
-
export interface PrewarmSettings {
|
|
168
|
-
enabled: boolean;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* The pane layer's settings block.
|
|
173
|
-
*
|
|
174
|
-
* `journal` is the durable half: the run event journal, which every other pane
|
|
175
|
-
* surface reads and which the standalone run viewer needs whether or not a pane
|
|
176
|
-
* host is installed. The run-view settings govern the live projection. The
|
|
177
|
-
* Yazi chooser remains useful without a pane host because it can borrow the
|
|
178
|
-
* terminal for one selection.
|
|
179
|
-
*/
|
|
180
177
|
export interface PanesSettings {
|
|
181
178
|
/**
|
|
182
179
|
* Capability rung the pane layer may reach. `auto` takes guest mode when a
|
|
@@ -186,20 +183,32 @@ export interface PanesSettings {
|
|
|
186
183
|
enabled: "auto" | "embedded" | "off";
|
|
187
184
|
/** Which terminal run states raise a pane-host toast. */
|
|
188
185
|
notifications: "failures" | "all" | "off";
|
|
189
|
-
|
|
186
|
+
/**
|
|
187
|
+
* What composes itself at interactive boot in guest mode. `off` opens
|
|
188
|
+
* nothing (docks still open on demand); `workers` opens the workers dock;
|
|
189
|
+
* `cockpit` opens workers and files both.
|
|
190
|
+
*/
|
|
191
|
+
layout: "off" | "workers" | "cockpit";
|
|
192
|
+
/** Workers dock: the live run viewer split right of the Clio pane. */
|
|
193
|
+
workers: {
|
|
194
|
+
/** Share of the width the dock takes, clamped to at most half. */
|
|
195
|
+
ratio: number;
|
|
196
|
+
};
|
|
190
197
|
/** File-pane round-trip settings read live for each explicit open. */
|
|
191
|
-
|
|
198
|
+
files: {
|
|
192
199
|
enabled: boolean;
|
|
193
200
|
mode: "companion" | "chooser";
|
|
194
201
|
profile: "managed" | "user";
|
|
195
202
|
followCwd: boolean;
|
|
203
|
+
/** Share of the height the files dock takes, clamped to at most half. */
|
|
204
|
+
ratio: number;
|
|
196
205
|
};
|
|
197
206
|
}
|
|
198
207
|
|
|
199
208
|
/**
|
|
200
209
|
* Transient provider retry controls for the interactive chat loop. These are
|
|
201
210
|
* intentionally small and mirror the session retry helper defaults. Dispatched
|
|
202
|
-
* worker runs are governed by `
|
|
211
|
+
* worker runs are governed by `fleet.retry.maxRetries` instead; the two never meet.
|
|
203
212
|
*/
|
|
204
213
|
export interface RetrySettings {
|
|
205
214
|
enabled: boolean;
|
|
@@ -215,12 +224,12 @@ export type TuiMode = "regular" | "fullscreen";
|
|
|
215
224
|
export type FullscreenScrollbar = "hidden" | "auto" | "always";
|
|
216
225
|
export type SmoothStreaming = "off" | "auto" | "on";
|
|
217
226
|
|
|
218
|
-
export interface
|
|
219
|
-
|
|
227
|
+
export interface InterfaceSettings {
|
|
228
|
+
terminalProgress: boolean;
|
|
220
229
|
/** Transcript detail: collapsed, balanced, or fully transparent. */
|
|
221
|
-
|
|
230
|
+
outputDetail: OutputVerbosity;
|
|
222
231
|
/** Regular scrollback-preserving renderer or alternate-screen sticky layout. */
|
|
223
|
-
|
|
232
|
+
mode: TuiMode;
|
|
224
233
|
/** Fullscreen transcript scrollbar visibility. */
|
|
225
234
|
fullscreenScrollbar: FullscreenScrollbar;
|
|
226
235
|
/** Presentation-only pacing for streamed assistant text and thinking. */
|
|
@@ -230,7 +239,9 @@ export interface TerminalSettings {
|
|
|
230
239
|
* and a parked approval. Interactive TTY runs only; headless, ACP, and
|
|
231
240
|
* non-TTY runs never emit one.
|
|
232
241
|
*/
|
|
233
|
-
|
|
242
|
+
desktopNotifications: boolean;
|
|
243
|
+
panes: PanesSettings;
|
|
244
|
+
keybindings: Record<string, string | string[]>;
|
|
234
245
|
}
|
|
235
246
|
|
|
236
247
|
/**
|
|
@@ -241,7 +252,7 @@ export interface TerminalSettings {
|
|
|
241
252
|
* additionally fires the watchdog every N tool calls inside a turn, which is
|
|
242
253
|
* how mid-turn scope drift becomes visible before the turn ends.
|
|
243
254
|
*/
|
|
244
|
-
export interface
|
|
255
|
+
export interface ReviewSettings {
|
|
245
256
|
enabled: boolean;
|
|
246
257
|
/** Target id the watchdog run is dispatched to; the session's active target when unset. */
|
|
247
258
|
target?: string;
|
|
@@ -250,22 +261,24 @@ export interface WatchdogSettings {
|
|
|
250
261
|
}
|
|
251
262
|
|
|
252
263
|
export interface ModelSelectorSettings {
|
|
264
|
+
/** Exact target/model refs cycled by Alt+J/Alt+K. */
|
|
265
|
+
cycleSet: string[];
|
|
253
266
|
/** Exact target/model refs shown in the focused model picker. */
|
|
254
267
|
favorites: string[];
|
|
255
268
|
/** Maximum number of recently selected target/model refs to retain. */
|
|
256
269
|
recentLimit: number;
|
|
257
270
|
}
|
|
258
271
|
|
|
259
|
-
export interface
|
|
260
|
-
|
|
272
|
+
export interface ProjectResourcesSettings {
|
|
273
|
+
trustProjectImports: boolean;
|
|
261
274
|
}
|
|
262
275
|
|
|
263
|
-
export interface
|
|
276
|
+
export interface GitIntegrationSettings {
|
|
264
277
|
/** Evidence-aware role trailers on commits created through Clio. */
|
|
265
|
-
|
|
278
|
+
commitAttribution: boolean;
|
|
266
279
|
}
|
|
267
280
|
|
|
268
|
-
export type DelegationToolGovernance = "clio-policy" | "agent-managed" | "deny-all";
|
|
281
|
+
export type DelegationToolGovernance = "clio-coder-policy" | "agent-managed" | "deny-all";
|
|
269
282
|
|
|
270
283
|
/**
|
|
271
284
|
* Application-level ACP request bounds. Unlike the separate stall watchdog,
|
|
@@ -310,8 +323,8 @@ export interface DelegationDefaults {
|
|
|
310
323
|
toolGovernance: DelegationToolGovernance;
|
|
311
324
|
}
|
|
312
325
|
|
|
313
|
-
export interface
|
|
314
|
-
|
|
326
|
+
export interface ExternalAgentsSettings {
|
|
327
|
+
entries: DelegationAgentConfig[];
|
|
315
328
|
defaults: DelegationDefaults;
|
|
316
329
|
}
|
|
317
330
|
|
|
@@ -345,8 +358,14 @@ export interface FleetNodeSettings {
|
|
|
345
358
|
residency?: FleetNodeResidency;
|
|
346
359
|
}
|
|
347
360
|
|
|
348
|
-
export interface FleetSettings {
|
|
361
|
+
export interface FleetSettings extends FleetRouteSettings {
|
|
349
362
|
nodes: FleetNodeSettings[];
|
|
363
|
+
adaptiveRouting: AdaptiveRoutingSettings;
|
|
364
|
+
permissions: FleetPermissionsSettings;
|
|
365
|
+
concurrency: "auto" | number;
|
|
366
|
+
retry: FleetRetrySettings;
|
|
367
|
+
limits: FleetLimitsSettings;
|
|
368
|
+
history: FleetHistorySettings;
|
|
350
369
|
}
|
|
351
370
|
|
|
352
371
|
/** Roles whose authority is narrow enough for Slice 9 active joint routing. */
|
|
@@ -365,57 +384,86 @@ export interface ActiveAgentRole {
|
|
|
365
384
|
executionRole: ActiveAgentAutomationRole;
|
|
366
385
|
}
|
|
367
386
|
|
|
368
|
-
export interface
|
|
387
|
+
export interface AdaptiveRoutingSettings {
|
|
388
|
+
roles: ActiveRoutingRole[];
|
|
389
|
+
postures: ActiveRoutingPosture[];
|
|
369
390
|
/** Exact pairs only; independent agent and role lists would authorize their cross-product. */
|
|
370
|
-
|
|
391
|
+
agentRoles: ActiveAgentRole[];
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/** Compatibility type name for the dispatch planner; its fields are the canonical v2 fields. */
|
|
395
|
+
export type RoutingActivationSettings = AdaptiveRoutingSettings;
|
|
396
|
+
|
|
397
|
+
export interface ChatSettings extends WorkerTarget {
|
|
398
|
+
modelPicker: ModelSelectorSettings;
|
|
399
|
+
maxOutputTokens: number;
|
|
400
|
+
prewarm: boolean;
|
|
401
|
+
retry: RetrySettings;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
export interface MemorySettings {
|
|
405
|
+
enabled: boolean;
|
|
406
|
+
target: string | null;
|
|
407
|
+
model: string | null;
|
|
408
|
+
cadenceToolCalls: number;
|
|
409
|
+
trajectorySteps: number;
|
|
410
|
+
maxOutputTokens: number;
|
|
411
|
+
timeoutMs: number;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
export interface ContextSettings {
|
|
415
|
+
workingSet: WorkingSetSettings;
|
|
416
|
+
compaction: DurableCompactionSettings;
|
|
417
|
+
memory: MemorySettings;
|
|
371
418
|
}
|
|
372
419
|
|
|
373
|
-
export interface
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
420
|
+
export interface SafetySettings {
|
|
421
|
+
autonomy: AutonomyLevel;
|
|
422
|
+
limits: {
|
|
423
|
+
sessionCostUsd: number;
|
|
424
|
+
chatToolCallsPerTurn: number;
|
|
425
|
+
readBytesPerCall: number;
|
|
426
|
+
observationBytesPerTurn: number;
|
|
427
|
+
};
|
|
428
|
+
review: ReviewSettings;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
export interface IntegrationsSettings {
|
|
432
|
+
projectResources: ProjectResourcesSettings;
|
|
433
|
+
externalAgents: ExternalAgentsSettings;
|
|
434
|
+
runtimePlugins: string[];
|
|
435
|
+
library: {
|
|
436
|
+
catalog: string | null;
|
|
437
|
+
remote: string | null;
|
|
438
|
+
confirmedRemote: string | null;
|
|
439
|
+
sync: boolean;
|
|
440
|
+
};
|
|
441
|
+
git: GitIntegrationSettings;
|
|
377
442
|
}
|
|
378
443
|
|
|
379
444
|
export const DEFAULT_SETTINGS = {
|
|
380
|
-
version:
|
|
381
|
-
autonomy: "auto-edit" as AutonomyLevel,
|
|
445
|
+
version: 2 as const,
|
|
382
446
|
targets: [] as TargetDescriptor[],
|
|
383
|
-
|
|
384
|
-
orchestrator: {
|
|
447
|
+
chat: {
|
|
385
448
|
target: null as string | null,
|
|
386
449
|
model: null as string | null,
|
|
387
450
|
thinkingLevel: "off" as ThinkingLevel,
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
memory: {
|
|
397
|
-
intervention: {
|
|
451
|
+
modelPicker: {
|
|
452
|
+
cycleSet: [] as string[],
|
|
453
|
+
favorites: [] as string[],
|
|
454
|
+
recentLimit: 12,
|
|
455
|
+
} as ModelSelectorSettings,
|
|
456
|
+
maxOutputTokens: 32768,
|
|
457
|
+
prewarm: true,
|
|
458
|
+
retry: {
|
|
398
459
|
enabled: true,
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
// A memory step runs detached from the turn that triggered it, but it
|
|
407
|
-
// runs on a real inference endpoint that the operator's own turns and
|
|
408
|
-
// dispatched workers also queue against. The operator's ledger over 14
|
|
409
|
-
// days recorded 60 llm-tier steps spending 1,666 seconds of model time
|
|
410
|
-
// for 6 injections, with one step holding a local server for 102.5
|
|
411
|
-
// seconds to answer nothing. A viable output budget earns one minute,
|
|
412
|
-
// while consecutive timeouts degrade the plane to its free rules tier
|
|
413
|
-
// instead of repeatedly occupying the endpoint for that full minute.
|
|
414
|
-
timeoutMs: 60_000,
|
|
415
|
-
},
|
|
416
|
-
},
|
|
417
|
-
watchdog: { enabled: false } as WatchdogSettings,
|
|
418
|
-
workers: {
|
|
460
|
+
maxRetries: 3,
|
|
461
|
+
baseDelayMs: 2000,
|
|
462
|
+
maxDelayMs: 60000,
|
|
463
|
+
streamStallMs: 180000,
|
|
464
|
+
} as RetrySettings,
|
|
465
|
+
} as ChatSettings,
|
|
466
|
+
fleet: {
|
|
419
467
|
default: {
|
|
420
468
|
target: null as string | null,
|
|
421
469
|
model: null as string | null,
|
|
@@ -423,410 +471,160 @@ export const DEFAULT_SETTINGS = {
|
|
|
423
471
|
} as WorkerTarget,
|
|
424
472
|
profiles: {} as WorkerProfiles,
|
|
425
473
|
rosters: {} as WorkerRosters,
|
|
426
|
-
|
|
427
|
-
maxRetries: 2,
|
|
428
|
-
onPermission: "deny" as WorkerPermissionMode,
|
|
429
|
-
escalation: { timeoutMs: 120000, fallback: "deny" } as WorkerEscalationSettings,
|
|
430
|
-
resilienceCooldownMs: 15000,
|
|
431
|
-
} as WorkersSettings,
|
|
432
|
-
fleet: {
|
|
474
|
+
agentProfiles: {} as FleetAgentProfiles,
|
|
433
475
|
nodes: [] as FleetNodeSettings[],
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
recentLimit: 12,
|
|
444
|
-
} as ModelSelectorSettings,
|
|
445
|
-
budget: {
|
|
446
|
-
sessionCeilingUsd: 5,
|
|
476
|
+
adaptiveRouting: {
|
|
477
|
+
roles: [] as ActiveRoutingRole[],
|
|
478
|
+
postures: [] as ActiveRoutingPosture[],
|
|
479
|
+
agentRoles: [] as ActiveAgentRole[],
|
|
480
|
+
} as AdaptiveRoutingSettings,
|
|
481
|
+
permissions: {
|
|
482
|
+
mode: "deny" as WorkerPermissionMode,
|
|
483
|
+
escalation: { timeoutMs: 120000, fallback: "deny" } as WorkerEscalationSettings,
|
|
484
|
+
},
|
|
447
485
|
concurrency: "auto" as "auto" | number,
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
// remaining context window at request time, so a model that supports less
|
|
453
|
-
// automatically gets less. 0 disables the global default and falls back to
|
|
454
|
-
// per-model caps only.
|
|
455
|
-
maxTokens: 32768,
|
|
456
|
-
},
|
|
457
|
-
theme: "default",
|
|
458
|
-
terminal: {
|
|
459
|
-
showTerminalProgress: false,
|
|
460
|
-
outputVerbosity: "default",
|
|
461
|
-
tuiMode: "regular",
|
|
462
|
-
fullscreenScrollbar: "auto",
|
|
463
|
-
smoothStreaming: "off",
|
|
464
|
-
notify: false,
|
|
465
|
-
} as TerminalSettings,
|
|
466
|
-
skills: {
|
|
467
|
-
trustProjectCompatRoots: false,
|
|
468
|
-
} as SkillsSettings,
|
|
469
|
-
library: {
|
|
470
|
-
catalog: null as string | null,
|
|
471
|
-
remote: null as string | null,
|
|
472
|
-
confirmedRemote: null as string | null,
|
|
473
|
-
sync: false,
|
|
474
|
-
},
|
|
475
|
-
attribution: {
|
|
476
|
-
gitCommits: true,
|
|
477
|
-
} as AttributionSettings,
|
|
478
|
-
delegation: {
|
|
479
|
-
agents: [] as DelegationAgentConfig[],
|
|
480
|
-
defaults: {
|
|
481
|
-
connectTimeoutMs: DEFAULT_DELEGATION_CONNECT_TIMEOUT_MS,
|
|
482
|
-
turnTimeoutMs: DEFAULT_DELEGATION_TURN_TIMEOUT_MS,
|
|
483
|
-
permissionTimeoutMs: DEFAULT_DELEGATION_PERMISSION_TIMEOUT_MS,
|
|
484
|
-
toolGovernance: "clio-policy" as DelegationToolGovernance,
|
|
486
|
+
retry: { maxRetries: 2, routeCooldownMs: 15000 },
|
|
487
|
+
limits: {
|
|
488
|
+
toolCallsPerRun: GUARDRAIL_DEFAULTS.workerToolCallCap,
|
|
489
|
+
internalRunTimeoutMs: GUARDRAIL_DEFAULTS.internalDispatchTimeoutMs,
|
|
485
490
|
},
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
// list of KeyIds. The interactive keybinding manager reads this table
|
|
489
|
-
// and layers it on top of CLIO_KEYBINDINGS defaults (src/domains/config/
|
|
490
|
-
// keybindings.ts).
|
|
491
|
-
keybindings: {} as Record<string, string | string[]>,
|
|
492
|
-
compaction: {
|
|
493
|
-
auto: true,
|
|
494
|
-
threshold: 0.8,
|
|
495
|
-
excludeLastTurns: 6,
|
|
496
|
-
} as CompactionSettings,
|
|
491
|
+
history: { maxRuns: GUARDRAIL_DEFAULTS.maxDispatchRuns, journal: true },
|
|
492
|
+
} as FleetSettings,
|
|
497
493
|
context: {
|
|
498
494
|
workingSet: DEFAULT_WORKING_SET_SETTINGS,
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
/**
|
|
505
|
-
* Off: a plain `clio-coder` performs zero pane-host work, and none of the
|
|
506
|
-
* mux domain even loads. The extension is activated per session with
|
|
507
|
-
* `clio-coder --with-panes`, or durably by setting this to `auto` (guest
|
|
508
|
-
* mode when a pane host is detected). The flag beats the setting in both
|
|
509
|
-
* directions.
|
|
510
|
-
*/
|
|
511
|
-
enabled: "off",
|
|
512
|
-
/** A toast per finished run is noise; a toast per failure is the signal. */
|
|
513
|
-
notifications: "failures",
|
|
514
|
-
/**
|
|
515
|
-
* Tee every dispatched run's display event tail to
|
|
516
|
-
* `<state>/runs/<runId>/events.ndjson`. The live tail is otherwise
|
|
517
|
-
* in-process only, so this is what lets `clio-coder fleet view` follow a
|
|
518
|
-
* run from a second terminal. Written regardless of any pane host being
|
|
519
|
-
* present; turning it off costs the viewer its transcript and nothing else.
|
|
520
|
-
*/
|
|
521
|
-
journal: true,
|
|
522
|
-
yazi: {
|
|
495
|
+
compaction: {
|
|
496
|
+
auto: true,
|
|
497
|
+
threshold: 0.8,
|
|
498
|
+
} as DurableCompactionSettings,
|
|
499
|
+
memory: {
|
|
523
500
|
enabled: true,
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
501
|
+
target: null as string | null,
|
|
502
|
+
model: null as string | null,
|
|
503
|
+
cadenceToolCalls: 10,
|
|
504
|
+
trajectorySteps: 8,
|
|
505
|
+
maxOutputTokens: 2000,
|
|
506
|
+
timeoutMs: 60_000,
|
|
507
|
+
} as MemorySettings,
|
|
508
|
+
} as ContextSettings,
|
|
509
|
+
safety: {
|
|
510
|
+
autonomy: "auto-edit" as AutonomyLevel,
|
|
511
|
+
limits: {
|
|
512
|
+
sessionCostUsd: 5,
|
|
513
|
+
chatToolCallsPerTurn: GUARDRAIL_DEFAULTS.turnToolCallBudget,
|
|
514
|
+
readBytesPerCall: GUARDRAIL_DEFAULTS.readMaxBytes,
|
|
515
|
+
observationBytesPerTurn: GUARDRAIL_DEFAULTS.observationTurnBudgetBytes,
|
|
516
|
+
},
|
|
517
|
+
review: { enabled: false } as ReviewSettings,
|
|
518
|
+
} as SafetySettings,
|
|
519
|
+
interface: {
|
|
520
|
+
terminalProgress: false,
|
|
521
|
+
outputDetail: "default",
|
|
522
|
+
mode: "regular",
|
|
523
|
+
fullscreenScrollbar: "auto",
|
|
524
|
+
smoothStreaming: "off",
|
|
525
|
+
desktopNotifications: false,
|
|
526
|
+
panes: {
|
|
527
|
+
enabled: "off",
|
|
528
|
+
notifications: "failures",
|
|
529
|
+
layout: "off",
|
|
530
|
+
workers: { ratio: 0.34 },
|
|
531
|
+
files: {
|
|
532
|
+
enabled: false,
|
|
533
|
+
mode: "companion",
|
|
534
|
+
profile: "managed",
|
|
535
|
+
followCwd: true,
|
|
536
|
+
ratio: 0.3,
|
|
537
|
+
},
|
|
538
|
+
} as PanesSettings,
|
|
539
|
+
keybindings: {} as Record<string, string | string[]>,
|
|
540
|
+
} as InterfaceSettings,
|
|
541
|
+
integrations: {
|
|
542
|
+
projectResources: { trustProjectImports: false },
|
|
543
|
+
externalAgents: {
|
|
544
|
+
entries: [] as DelegationAgentConfig[],
|
|
545
|
+
defaults: {
|
|
546
|
+
connectTimeoutMs: DEFAULT_DELEGATION_CONNECT_TIMEOUT_MS,
|
|
547
|
+
turnTimeoutMs: DEFAULT_DELEGATION_TURN_TIMEOUT_MS,
|
|
548
|
+
permissionTimeoutMs: DEFAULT_DELEGATION_PERMISSION_TIMEOUT_MS,
|
|
549
|
+
toolGovernance: "clio-coder-policy" as DelegationToolGovernance,
|
|
550
|
+
},
|
|
551
|
+
} as ExternalAgentsSettings,
|
|
552
|
+
runtimePlugins: [] as string[],
|
|
553
|
+
library: {
|
|
554
|
+
catalog: null as string | null,
|
|
555
|
+
remote: null as string | null,
|
|
556
|
+
confirmedRemote: null as string | null,
|
|
557
|
+
sync: false,
|
|
527
558
|
},
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
enabled: true,
|
|
531
|
-
maxRetries: 3,
|
|
532
|
-
baseDelayMs: 2000,
|
|
533
|
-
maxDelayMs: 60000,
|
|
534
|
-
streamStallMs: 180000,
|
|
535
|
-
} as RetrySettings,
|
|
536
|
-
// Numeric backstops that bound runaway agent behavior. Settings are the
|
|
537
|
-
// primary home; each value also has a per-process env override for CI and
|
|
538
|
-
// one-off experiments (core/guardrails.ts documents both).
|
|
539
|
-
guardrails: { ...GUARDRAIL_DEFAULTS } as GuardrailValues,
|
|
559
|
+
git: { commitAttribution: true },
|
|
560
|
+
} as IntegrationsSettings,
|
|
540
561
|
};
|
|
541
562
|
|
|
542
563
|
export type DefaultSettings = typeof DEFAULT_SETTINGS;
|
|
543
564
|
|
|
544
565
|
/**
|
|
545
566
|
* Raw YAML document written to the resolved config directory's settings.yaml on
|
|
546
|
-
* first install. Mirrors every field of DEFAULT_SETTINGS at the same key path
|
|
547
|
-
* and carries fully commented example target blocks that a new user can
|
|
548
|
-
* uncomment to point Clio Coder at a local llama-server or LM Studio.
|
|
567
|
+
* first install. Mirrors every field of DEFAULT_SETTINGS at the same key path.
|
|
549
568
|
*
|
|
550
569
|
* The settings file is machine-owned after this first write: programmatic
|
|
551
570
|
* writers serialize the schema directly, and comments do not survive the
|
|
552
571
|
* first programmatic write.
|
|
553
572
|
*/
|
|
554
573
|
export const DEFAULT_SETTINGS_YAML = `# Clio Coder settings. Written once on first install.
|
|
555
|
-
#
|
|
556
|
-
# rewrite it whole, and comments (including these) do not survive that write.
|
|
574
|
+
# This file uses the version-2 human information architecture.
|
|
557
575
|
# Docs: https://github.com/iowarp/clio-coder
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
#
|
|
562
|
-
# Windows: %APPDATA%/clio-coder/config/settings.yaml
|
|
563
|
-
# Set CLIO_CODER_HOME for a single-tree install, or CLIO_CODER_CONFIG_DIR / CLIO_CODER_DATA_DIR /
|
|
564
|
-
# CLIO_CODER_STATE_DIR / CLIO_CODER_CACHE_DIR to override each directory separately.
|
|
565
|
-
#
|
|
566
|
-
# Common first run after installation:
|
|
567
|
-
# 1. Repair/create local state: clio-coder doctor --fix
|
|
568
|
-
# 2. List runtimes: clio-coder configure --list
|
|
569
|
-
# 3. Configure one target with your runtime/model (examples below).
|
|
570
|
-
# 4. Select and probe it: clio-coder targets use <id> && clio-coder targets --probe
|
|
571
|
-
# 5. Launch: clio-coder
|
|
572
|
-
|
|
573
|
-
version: 1
|
|
574
|
-
autonomy: auto-edit # read-only | suggest | auto-edit | full-auto
|
|
575
|
-
|
|
576
|
-
# Inference targets. Each entry becomes selectable for chat and workers.
|
|
577
|
-
# Add entries via \`clio-coder configure\` or \`clio-coder targets add\`
|
|
578
|
-
# or hand-edit. \`runtime\` must match an id registered in the runtime registry
|
|
579
|
-
# (cloud APIs, local HTTP engines, or third-party plugins in the \`runtimes/\`
|
|
580
|
-
# directory next to this file).
|
|
576
|
+
|
|
577
|
+
version: 2
|
|
578
|
+
|
|
579
|
+
# Configured inference endpoints. Target descriptor leaves are unchanged in v2.
|
|
581
580
|
targets: []
|
|
582
|
-
# Local runtime examples (uncomment/adapt one; replace your-model-id):
|
|
583
|
-
# clio-coder configure --id local-lmstudio --runtime lmstudio --url http://localhost:1234 --model your-model-id --set-orchestrator --set-fleet-default
|
|
584
|
-
# clio-coder configure --id local-ollama --runtime ollama-native --url http://localhost:11434 --model your-model-id --set-orchestrator --set-fleet-default
|
|
585
|
-
# clio-coder configure --id local-llamacpp --runtime llamacpp --url http://127.0.0.1:8080 --model your-model-id --set-orchestrator --set-fleet-default
|
|
586
|
-
# clio-coder configure --id local-vllm --runtime vllm --url http://localhost:8000 --model your-model-id --set-orchestrator --set-fleet-default
|
|
587
|
-
# clio-coder configure --id local-sglang --runtime sglang --url http://localhost:30000 --model your-model-id --set-orchestrator --set-fleet-default
|
|
588
|
-
# Add --context-window <tokens>, --max-tokens <tokens>, or --reasoning true
|
|
589
|
-
# only when you have runtime/model-specific values to override probe results.
|
|
590
|
-
#
|
|
591
|
-
# Example target block equivalent to one configured local runtime:
|
|
592
|
-
# targets:
|
|
593
|
-
# - id: local-lmstudio
|
|
594
|
-
# runtime: lmstudio
|
|
595
|
-
# url: http://localhost:1234
|
|
596
|
-
# defaultModel: your-model-id
|
|
597
|
-
# capabilities:
|
|
598
|
-
# reasoning: true
|
|
599
|
-
|
|
600
|
-
# Optional npm packages that export clioRuntimes: RuntimeDescriptor[].
|
|
601
|
-
runtimePlugins: []
|
|
602
|
-
|
|
603
|
-
# Orchestrator target for the interactive loop. \`target\` refers to
|
|
604
|
-
# targets[].id; \`model\` is the wire model id to request.
|
|
605
|
-
# Keep thinkingLevel off unless a target/model supports explicit reasoning levels.
|
|
606
|
-
orchestrator:
|
|
607
|
-
target: null
|
|
608
|
-
model: null
|
|
609
|
-
thinkingLevel: off
|
|
610
581
|
|
|
611
|
-
|
|
612
|
-
# zero-cost rules-only tier; setting it opts this session into LLM memory steps.
|
|
613
|
-
background:
|
|
582
|
+
chat:
|
|
614
583
|
target: null
|
|
615
584
|
model: null
|
|
616
585
|
thinkingLevel: off
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
586
|
+
modelPicker:
|
|
587
|
+
cycleSet: []
|
|
588
|
+
favorites: []
|
|
589
|
+
recentLimit: 12
|
|
590
|
+
maxOutputTokens: 32768
|
|
591
|
+
prewarm: true
|
|
592
|
+
retry:
|
|
620
593
|
enabled: true
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
maxTokens: 2000
|
|
626
|
-
timeoutMs: 60000
|
|
594
|
+
maxRetries: 3
|
|
595
|
+
baseDelayMs: 2000
|
|
596
|
+
maxDelayMs: 60000
|
|
597
|
+
streamStallMs: 180000
|
|
627
598
|
|
|
628
|
-
|
|
629
|
-
# reviewed by one read-only verifier run briefed with the turn's coalesced diff
|
|
630
|
-
# and the task board's current scope; its blockers become one transcript notice
|
|
631
|
-
# and nothing else. Set target to route the run at a cheap local model. Set
|
|
632
|
-
# cadenceToolCalls to also fire every N tool calls inside a turn. Headless and
|
|
633
|
-
# ACP runs never fire it.
|
|
634
|
-
watchdog:
|
|
635
|
-
enabled: false
|
|
636
|
-
# target: local-lmstudio
|
|
637
|
-
# cadenceToolCalls: 20
|
|
638
|
-
|
|
639
|
-
# Worker targets for dispatch. \`default\` preserves the legacy behavior when a
|
|
640
|
-
# recipe or request does not specify an override. \`profiles\` are named
|
|
641
|
-
# target/model/thinking choices. \`agentBindings\` pins native Clio agents,
|
|
642
|
-
# including shadow agents such as scout/researcher/provenance, to a profile.
|
|
643
|
-
workers:
|
|
599
|
+
fleet:
|
|
644
600
|
default:
|
|
645
601
|
target: null
|
|
646
602
|
model: null
|
|
647
603
|
thinkingLevel: off
|
|
648
604
|
profiles: {}
|
|
649
605
|
rosters: {}
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
# thinkingLevel: off
|
|
656
|
-
# agentBindings maps agent id -> profiles key, e.g. scout: fast-local.
|
|
657
|
-
agentBindings: {}
|
|
658
|
-
maxRetries: 2
|
|
659
|
-
# onPermission: what a worker does when a tool call needs interactive
|
|
660
|
-
# permission. "deny" turns it into a structured tool denial and the run
|
|
661
|
-
# continues; "fail" finalizes the run as failed/permission_required;
|
|
662
|
-
# "escalate" hands the ask to the interactive operator (timeout fallback
|
|
663
|
-
# below keeps the run non-stall).
|
|
664
|
-
onPermission: deny
|
|
665
|
-
# escalation: bounds for the escalate posture. A parked ask with no operator
|
|
666
|
-
# decision within timeoutMs applies the fallback deny/fail.
|
|
667
|
-
escalation:
|
|
668
|
-
timeoutMs: 120000
|
|
669
|
-
fallback: deny
|
|
670
|
-
resilienceCooldownMs: 15000
|
|
671
|
-
|
|
672
|
-
# Fleet worker nodes reachable over SSH. The implicit \`local\` node always
|
|
673
|
-
# exists and is never declared. A node becomes dispatch-eligible only after
|
|
674
|
-
# \`clio-coder doctor\` verifies SSH reachability, a version-matched clio-coder, path
|
|
675
|
-
# parity for the project root (shared filesystem), and a writable state dir.
|
|
676
|
-
# residency defaults to observe: remote workers never evict models resident
|
|
677
|
-
# on their node (set manage per node to opt into the reconciler).
|
|
678
|
-
fleet:
|
|
606
|
+
agentProfiles: {}
|
|
607
|
+
adaptiveRouting:
|
|
608
|
+
roles: []
|
|
609
|
+
postures: []
|
|
610
|
+
agentRoles: []
|
|
679
611
|
nodes: []
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
# Agent changes remain advisory unless the concrete agent/role pair appears
|
|
697
|
-
# here. Exact pairs avoid implicitly approving an agents × roles cross-product.
|
|
698
|
-
agentAutomation:
|
|
699
|
-
activeAgentRoles: []
|
|
700
|
-
|
|
701
|
-
# Alt+J / Alt+K cycling order: plain target ids or "target/model" refs.
|
|
702
|
-
scope: []
|
|
703
|
-
|
|
704
|
-
# /model focused picker. Favorites are exact "target/model" refs shown before
|
|
705
|
-
# the full search catalog. Recently selected models are runtime state and live
|
|
706
|
-
# in the state dir (recent-models.json), not in this file.
|
|
707
|
-
modelSelector:
|
|
708
|
-
favorites: []
|
|
709
|
-
recentLimit: 12
|
|
710
|
-
|
|
711
|
-
# Session budget guardrails.
|
|
712
|
-
budget:
|
|
713
|
-
sessionCeilingUsd: 5
|
|
714
|
-
concurrency: auto # auto or a positive integer
|
|
715
|
-
|
|
716
|
-
# Global request defaults applied to every target.
|
|
717
|
-
# maxTokens output tokens requested per turn. Always clamped down to the
|
|
718
|
-
# model's known max-output cap and the remaining context window,
|
|
719
|
-
# so models that support less automatically get less. Set 0 to
|
|
720
|
-
# fall back to per-model caps only.
|
|
721
|
-
defaults:
|
|
722
|
-
maxTokens: 32768
|
|
723
|
-
|
|
724
|
-
theme: default
|
|
725
|
-
terminal:
|
|
726
|
-
# OSC 9;4 terminal progress badges are opt-in; some terminals surface these
|
|
727
|
-
# in taskbars/tabs and keep them visible for long-running agent work.
|
|
728
|
-
showTerminalProgress: false
|
|
729
|
-
# Transcript detail: minimal, default, or verbose. Also changeable with /output.
|
|
730
|
-
outputVerbosity: default
|
|
731
|
-
# regular preserves terminal scrollback; fullscreen keeps the editor/footer
|
|
732
|
-
# sticky above an independently scrollable alternate-screen transcript.
|
|
733
|
-
tuiMode: regular
|
|
734
|
-
# hidden, auto (visible while scrolling), or always in fullscreen mode.
|
|
735
|
-
fullscreenScrollbar: auto
|
|
736
|
-
# off preserves immediate 16ms coalescing; auto paces only on a capable,
|
|
737
|
-
# accessibility-safe local TTY; on requests pacing but still honors stdout
|
|
738
|
-
# backpressure. CLIO_CODER_SMOOTH_STREAM overrides this for one process.
|
|
739
|
-
smoothStreaming: off
|
|
740
|
-
# Content-free desktop notification (OSC 777, or OSC 9 on iTerm2, Windows
|
|
741
|
-
# Terminal, and ConEmu) when a turn ends, a detached batch settles, or an
|
|
742
|
-
# approval parks. Interactive TTY runs only; the body never carries prompt
|
|
743
|
-
# text, file paths, or model output.
|
|
744
|
-
notify: false
|
|
745
|
-
|
|
746
|
-
# Skills are local prompt resources. Project-local compatibility roots such as
|
|
747
|
-
# .agents/skills, .claude/skills, .codex/skills, .github/skills, and
|
|
748
|
-
# .opencode/skills stay hidden from model invocation unless this is true or
|
|
749
|
-
# CLIO_CODER_TRUST_PROJECT_SKILLS=1 is set for the process.
|
|
750
|
-
skills:
|
|
751
|
-
trustProjectCompatRoots: false
|
|
752
|
-
|
|
753
|
-
# The private resource catalog stays local unless sync is explicitly enabled.
|
|
754
|
-
library:
|
|
755
|
-
catalog: null
|
|
756
|
-
remote: null
|
|
757
|
-
confirmedRemote: null
|
|
758
|
-
sync: false
|
|
759
|
-
|
|
760
|
-
# Evidence-aware Git commit provenance. The identity and trailer semantics are
|
|
761
|
-
# compiled into Clio; this switch only enables or disables attribution.
|
|
762
|
-
attribution:
|
|
763
|
-
gitCommits: true
|
|
764
|
-
|
|
765
|
-
# External coding agents that speak Agent Client Protocol v1 over stdio.
|
|
766
|
-
# These are delegated harnesses, not model targets, so they stay outside
|
|
767
|
-
# targets[], orchestrator, workers, and model pickers.
|
|
768
|
-
delegation:
|
|
769
|
-
defaults:
|
|
770
|
-
connectTimeoutMs: ${DEFAULT_DELEGATION_CONNECT_TIMEOUT_MS}
|
|
771
|
-
turnTimeoutMs: ${DEFAULT_DELEGATION_TURN_TIMEOUT_MS}
|
|
772
|
-
permissionTimeoutMs: ${DEFAULT_DELEGATION_PERMISSION_TIMEOUT_MS}
|
|
773
|
-
toolGovernance: clio-policy # clio-policy | agent-managed | deny-all
|
|
774
|
-
agents: []
|
|
775
|
-
# OpenCode native ACP:
|
|
776
|
-
# - id: opencode
|
|
777
|
-
# command: opencode
|
|
778
|
-
# args: [acp, --cwd, .]
|
|
779
|
-
# toolGovernance: clio-policy
|
|
780
|
-
# labels:
|
|
781
|
-
# specialty: coding
|
|
782
|
-
#
|
|
783
|
-
# Codex via an ACP adapter:
|
|
784
|
-
# - id: codex
|
|
785
|
-
# command: npx
|
|
786
|
-
# args: [-y, "@agentclientprotocol/codex-acp"]
|
|
787
|
-
# toolGovernance: clio-policy
|
|
788
|
-
# labels:
|
|
789
|
-
# specialty: coding
|
|
790
|
-
#
|
|
791
|
-
# Claude Code via its ACP adapter (runs on your Claude Pro/Max subscription;
|
|
792
|
-
# the claude CLI has no ACP of its own, so this adapter bridges the Claude
|
|
793
|
-
# Code SDK). Tool calls are gated by Clio safety under clio-policy; switch to
|
|
794
|
-
# agent-managed to let Claude Code govern its own tools.
|
|
795
|
-
# - id: claude-code
|
|
796
|
-
# command: npx
|
|
797
|
-
# args: [-y, "@zed-industries/claude-code-acp"]
|
|
798
|
-
# toolGovernance: clio-policy
|
|
799
|
-
# labels:
|
|
800
|
-
# specialty: coding
|
|
801
|
-
|
|
802
|
-
keybindings: {}
|
|
803
|
-
|
|
804
|
-
# Context compaction controls.
|
|
805
|
-
# auto master switch for the pre-request compaction trigger.
|
|
806
|
-
# Manual /context compact always runs the LLM summary.
|
|
807
|
-
# threshold pressure = estimated_tokens / context_window. Crossing
|
|
808
|
-
# it evicts from the working set first, then runs a full
|
|
809
|
-
# LLM summary if pressure stays above the threshold.
|
|
810
|
-
# excludeLastTurns recent turns protected only by the temporary legacy mask.
|
|
811
|
-
# model optional pattern (e.g. provider/summary-model-id) for a
|
|
812
|
-
# dedicated summarization model. Absent ⇒ orchestrator target.
|
|
813
|
-
# systemPrompt optional path to a prompt-override file.
|
|
814
|
-
compaction:
|
|
815
|
-
auto: true
|
|
816
|
-
threshold: 0.8
|
|
817
|
-
excludeLastTurns: 6
|
|
818
|
-
# model: provider/summary-model-id
|
|
819
|
-
# systemPrompt: ~/.config/clio-coder/prompts/compaction.md
|
|
820
|
-
|
|
821
|
-
# Non-destructive working-set eviction before summary compaction.
|
|
822
|
-
# enabled false skips eviction and goes directly to the summary stage.
|
|
823
|
-
# policy structural-v1 evicts by what the session did since
|
|
824
|
-
# (re-reads, edits, resolved failures, consumed listings)
|
|
825
|
-
# and falls back to age only under pressure;
|
|
826
|
-
# age-horizon is the previous age-based selection.
|
|
827
|
-
# target pressure ratio an applied eviction batches down to.
|
|
828
|
-
# protectLastTurns recent user turns whose observations remain in the working set.
|
|
829
|
-
# minEvictableTokens entries below this estimate remain in the working set.
|
|
612
|
+
permissions:
|
|
613
|
+
mode: deny
|
|
614
|
+
escalation:
|
|
615
|
+
timeoutMs: 120000
|
|
616
|
+
fallback: deny
|
|
617
|
+
concurrency: auto
|
|
618
|
+
retry:
|
|
619
|
+
maxRetries: 2
|
|
620
|
+
routeCooldownMs: 15000
|
|
621
|
+
limits:
|
|
622
|
+
toolCallsPerRun: 150
|
|
623
|
+
internalRunTimeoutMs: 900000
|
|
624
|
+
history:
|
|
625
|
+
maxRuns: 1000
|
|
626
|
+
journal: true
|
|
627
|
+
|
|
830
628
|
context:
|
|
831
629
|
workingSet:
|
|
832
630
|
enabled: true
|
|
@@ -834,70 +632,65 @@ context:
|
|
|
834
632
|
target: 0.6
|
|
835
633
|
protectLastTurns: 6
|
|
836
634
|
minEvictableTokens: 200
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
# Enter. Local-native targets only, interactive sessions only, and never while a
|
|
842
|
-
# turn or a dispatch is running.
|
|
843
|
-
prewarm:
|
|
844
|
-
enabled: true
|
|
845
|
-
|
|
846
|
-
# The pane layer. Off by default: plain \`clio-coder\` does no pane-host work at
|
|
847
|
-
# all. Start \`clio-coder --with-panes\` to activate the extension for one
|
|
848
|
-
# session, or set enabled: auto to activate it whenever a pane host is
|
|
849
|
-
# detected (embedded, a Clio-owned private session, is not implemented yet).
|
|
850
|
-
# The command-line flag beats this setting in both directions. notifications
|
|
851
|
-
# picks which terminal run states raise a toast. journal tees every dispatched
|
|
852
|
-
# run's event tail to <state>/runs/<runId>/events.ndjson so
|
|
853
|
-
# \`clio-coder fleet view <runId> --follow\` can watch a run from a second
|
|
854
|
-
# terminal; it is written regardless of any pane host being present. Journal
|
|
855
|
-
# directories are removed when their run leaves the run ledger ring, and
|
|
856
|
-
# \`clio-coder reset --state\` clears them with the rest of the state root.
|
|
857
|
-
panes:
|
|
858
|
-
enabled: off
|
|
859
|
-
notifications: failures
|
|
860
|
-
journal: true
|
|
861
|
-
# The files pane uses a managed, reproducible Yazi profile by default.
|
|
862
|
-
# profile: user preserves the operator's Yazi configuration and therefore
|
|
863
|
-
# forces one-shot chooser mode, since that profile has no Clio pick chord.
|
|
864
|
-
yazi:
|
|
635
|
+
compaction:
|
|
636
|
+
auto: true
|
|
637
|
+
threshold: 0.8
|
|
638
|
+
memory:
|
|
865
639
|
enabled: true
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
640
|
+
target: null
|
|
641
|
+
model: null
|
|
642
|
+
cadenceToolCalls: 10
|
|
643
|
+
trajectorySteps: 8
|
|
644
|
+
maxOutputTokens: 2000
|
|
645
|
+
timeoutMs: 60000
|
|
646
|
+
|
|
647
|
+
safety:
|
|
648
|
+
autonomy: auto-edit
|
|
649
|
+
limits:
|
|
650
|
+
sessionCostUsd: 5
|
|
651
|
+
chatToolCallsPerTurn: 60
|
|
652
|
+
readBytesPerCall: 51200
|
|
653
|
+
observationBytesPerTurn: 196608
|
|
654
|
+
review:
|
|
655
|
+
enabled: false
|
|
656
|
+
|
|
657
|
+
interface:
|
|
658
|
+
outputDetail: default
|
|
659
|
+
smoothStreaming: off
|
|
660
|
+
mode: regular
|
|
661
|
+
fullscreenScrollbar: auto
|
|
662
|
+
terminalProgress: false
|
|
663
|
+
desktopNotifications: false
|
|
664
|
+
panes:
|
|
665
|
+
enabled: off
|
|
666
|
+
notifications: failures
|
|
667
|
+
layout: off
|
|
668
|
+
workers:
|
|
669
|
+
ratio: 0.34
|
|
670
|
+
files:
|
|
671
|
+
enabled: false
|
|
672
|
+
mode: companion
|
|
673
|
+
profile: managed
|
|
674
|
+
followCwd: true
|
|
675
|
+
ratio: 0.3
|
|
676
|
+
keybindings: {}
|
|
677
|
+
|
|
678
|
+
integrations:
|
|
679
|
+
projectResources:
|
|
680
|
+
trustProjectImports: false
|
|
681
|
+
externalAgents:
|
|
682
|
+
entries: []
|
|
683
|
+
defaults:
|
|
684
|
+
connectTimeoutMs: 30000
|
|
685
|
+
turnTimeoutMs: 300000
|
|
686
|
+
permissionTimeoutMs: 120000
|
|
687
|
+
toolGovernance: clio-coder-policy
|
|
688
|
+
runtimePlugins: []
|
|
689
|
+
library:
|
|
690
|
+
catalog: null
|
|
691
|
+
remote: null
|
|
692
|
+
confirmedRemote: null
|
|
693
|
+
sync: false
|
|
694
|
+
git:
|
|
695
|
+
commitAttribution: true
|
|
903
696
|
`;
|