@iowarp/clio-coder 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +98 -0
- package/CONTRIBUTING.md +86 -19
- package/README.md +35 -6
- package/dist/{acp-TMDQZDIG.js → acp-WNAYYF4F.js} +12 -13
- package/dist/{agents-5N5NG3XG.js → agents-3OKXHLOI.js} +60 -57
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-Z5CCBXKQ.js → auth-VKNNMGPU.js} +21 -19
- package/dist/{builtins-K6TNDT24.js → builtins-WGALA46I.js} +9 -4
- package/dist/{chunk-XE3PCIXH.js → chunk-23L32XTI.js} +12 -9
- package/dist/{chunk-I64IFBLB.js → chunk-25QBEXRS.js} +18 -11
- package/dist/{chunk-CDNVLKUX.js → chunk-26QSH3EJ.js} +13 -7
- package/dist/{chunk-QQLGQY2A.js → chunk-2ASED4PZ.js} +22 -22
- package/dist/{chunk-MCEPRMZW.js → chunk-2CU2H6KE.js} +2 -2
- package/dist/chunk-2DSOYNFC.js +108 -0
- package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
- package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
- package/dist/{chunk-O3YUNJZ2.js → chunk-2ZSONWVL.js} +82 -25
- package/dist/{chunk-2NHR3NAY.js → chunk-36CT5VVL.js} +331 -42
- package/dist/{chunk-2X4RYJTJ.js → chunk-3GY4F45V.js} +3 -3
- package/dist/{chunk-ZW55JB7N.js → chunk-3ODX73FK.js} +4 -6
- package/dist/{chunk-PBP4B7XR.js → chunk-3UNOLWNZ.js} +3 -3
- package/dist/{chunk-4JDLP6ZS.js → chunk-3UUXNFEX.js} +14 -10
- package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
- package/dist/{chunk-ZW4HH5JJ.js → chunk-4M6Z5QVF.js} +6 -6
- package/dist/{chunk-K6BSR66V.js → chunk-4NSRCOYP.js} +4 -1
- package/dist/{chunk-M2DAX4F6.js → chunk-4WR7VSYB.js} +2 -2
- package/dist/{chunk-FSP7CMNU.js → chunk-54X7T7DK.js} +61 -6
- package/dist/{chunk-54ODD65L.js → chunk-5636DCO5.js} +4 -4
- package/dist/chunk-57XXR6DR.js +3763 -0
- package/dist/{chunk-3KIPBMUA.js → chunk-5ICU3EUH.js} +2 -2
- package/dist/{chunk-77QIVUZB.js → chunk-5MEZN6CB.js} +4 -4
- package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
- package/dist/{chunk-YJISEZKC.js → chunk-5TUB6SLS.js} +6 -6
- package/dist/{chunk-IMXMHHMQ.js → chunk-6OSVSQL5.js} +341 -57
- package/dist/{chunk-Q4XWMHX6.js → chunk-6PAZTBPA.js} +14 -2
- package/dist/{chunk-FVDGR2ZL.js → chunk-6Q3CYFD3.js} +112 -39
- package/dist/{chunk-IDNA72AH.js → chunk-6QOTUPRG.js} +155 -36
- package/dist/{chunk-X7IARSHT.js → chunk-6UINWWS6.js} +16 -10
- package/dist/{chunk-CYZW7JHJ.js → chunk-72YIHOZQ.js} +9 -9
- package/dist/{chunk-IKSLQ4XV.js → chunk-75W7L2E2.js} +752 -861
- package/dist/{chunk-CRFOIAX3.js → chunk-7UGL4MB5.js} +6 -6
- package/dist/{chunk-HIICAHCJ.js → chunk-AUPNRN7C.js} +2 -2
- package/dist/{chunk-7BHIY2MW.js → chunk-BJVFZO5U.js} +8 -50
- package/dist/{chunk-B74PXLU7.js → chunk-CUSRQKPU.js} +65 -3
- package/dist/chunk-DQOVN6KV.js +386 -0
- package/dist/{chunk-E7GT7O5N.js → chunk-DT3LWJOB.js} +7 -4
- package/dist/chunk-DXKJURES.js +671 -0
- package/dist/{chunk-JBCS7CRR.js → chunk-EL24TAU4.js} +10 -10
- package/dist/{chunk-TPEQIQIE.js → chunk-ELWDPP3Y.js} +8 -8
- package/dist/{chunk-NDINPTJ4.js → chunk-ELZVTCGV.js} +5 -4
- package/dist/chunk-EXLD33WO.js +381 -0
- package/dist/chunk-FEAXX7B6.js +101 -0
- package/dist/{chunk-RLYRBIYQ.js → chunk-FFUPXJC4.js} +90 -331
- package/dist/{chunk-5PFYMY2V.js → chunk-FTMGRKEF.js} +2 -2
- package/dist/{chunk-34BHNEE3.js → chunk-GHS5EBTQ.js} +58 -7
- package/dist/{chunk-DYHAXKHD.js → chunk-GWZNEVM2.js} +12 -8
- package/dist/chunk-GX5WYQO4.js +59 -0
- package/dist/chunk-GYV6VZOC.js +26 -0
- package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
- package/dist/chunk-I2DWJ4GM.js +390 -0
- package/dist/{chunk-TXOTCRLG.js → chunk-I5FWO7L5.js} +5 -5
- package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
- package/dist/{chunk-XQRY4DTA.js → chunk-IGLP3ODT.js} +10 -10
- package/dist/chunk-IRXAATOX.js +539 -0
- package/dist/chunk-IXIY2H4R.js +44 -0
- package/dist/{chunk-SSEYRH53.js → chunk-IZXGRF7P.js} +92 -147
- package/dist/{chunk-5TSRNF4G.js → chunk-JCI2ROMZ.js} +164 -6
- package/dist/{chunk-JWJGP5DQ.js → chunk-JEIYHLOR.js} +7 -7
- package/dist/{chunk-F2I26BDK.js → chunk-JQLNNIKT.js} +4 -4
- package/dist/{chunk-BYMNWQ7O.js → chunk-JSD46VO2.js} +315 -63
- package/dist/{chunk-AK5XEFVZ.js → chunk-JT2RFCC5.js} +64 -14
- package/dist/{chunk-MCMZMDAC.js → chunk-K6T2ZAMZ.js} +168 -6
- package/dist/{chunk-PGF63K6I.js → chunk-KFV5L5SK.js} +73 -4
- package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
- package/dist/{chunk-PJX3WQUQ.js → chunk-LLXSDWXS.js} +3 -3
- package/dist/{chunk-DZAW46HP.js → chunk-LTIKRKFL.js} +3 -3
- package/dist/{chunk-DZEK6CJN.js → chunk-N56KALIC.js} +21 -21
- package/dist/{chunk-B7HM5Z7T.js → chunk-NAI6ZFCY.js} +9 -5
- package/dist/{chunk-I66ZTYNP.js → chunk-NRO2BJRH.js} +2656 -2213
- package/dist/{chunk-ZGNYYXQ6.js → chunk-NXIMQY5W.js} +3 -3
- package/dist/{chunk-IKOZFYBN.js → chunk-NXYCB2VD.js} +149 -106
- package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
- package/dist/{chunk-462T4EGZ.js → chunk-O5CVSAG5.js} +2 -2
- package/dist/chunk-ODGTEFFI.js +50 -0
- package/dist/{chunk-3F7VUY77.js → chunk-OEJSLEPW.js} +2 -2
- package/dist/{chunk-KKOJXO6R.js → chunk-OMQNJVKW.js} +4 -2
- package/dist/{chunk-5KW52TEP.js → chunk-Q4WO54TA.js} +132 -77
- package/dist/{chunk-W6NIE6OW.js → chunk-QUFRYSWI.js} +13 -7
- package/dist/{chunk-42FMPA75.js → chunk-QZWQA4DE.js} +2 -2
- package/dist/chunk-R6Q67RJH.js +134 -0
- package/dist/{chunk-W4YEMFBX.js → chunk-RAY4OVGZ.js} +3 -3
- package/dist/{chunk-ZNT2M6TG.js → chunk-RQCKCSRL.js} +17 -17
- package/dist/{chunk-LJID3DYZ.js → chunk-RXTN6AKH.js} +3 -3
- package/dist/{chunk-P75RZCJW.js → chunk-RZDWV63N.js} +3 -3
- package/dist/{chunk-UH632ZYL.js → chunk-S6PYF2XF.js} +2 -2
- package/dist/{chunk-HJWWJ6IL.js → chunk-TOIVGRUX.js} +17 -5
- package/dist/{chunk-HLAFFSEK.js → chunk-TQAHXW6Y.js} +2 -2
- package/dist/{chunk-JIEGK6UF.js → chunk-U6TMQNSI.js} +48 -4
- package/dist/{chunk-2HFQNRV3.js → chunk-UEPWCCTY.js} +12 -12
- package/dist/chunk-UOIZ7DA4.js +41 -0
- package/dist/{chunk-UH347SHR.js → chunk-USR47QNF.js} +11 -11
- package/dist/{chunk-AZ4WMN4W.js → chunk-V6HJFQZE.js} +2 -2
- package/dist/chunk-V76WTFTW.js +318 -0
- package/dist/{chunk-NMJXSHBJ.js → chunk-W54I7H25.js} +2 -2
- package/dist/{chunk-KPXDY6QF.js → chunk-XRZT5WY5.js} +2 -2
- package/dist/{chunk-UBRFI4HS.js → chunk-XULDXHTN.js} +142 -50
- package/dist/chunk-XXYSBZIQ.js +283 -0
- package/dist/{chunk-HKMD33FO.js → chunk-Y55JBDO5.js} +405 -122
- package/dist/{chunk-XOXV5GKE.js → chunk-YD5GIKET.js} +17 -8
- package/dist/{chunk-XGDPUNND.js → chunk-YECAMM3D.js} +2 -2
- package/dist/{chunk-BO7Y52RY.js → chunk-YNFKXPEC.js} +7 -7
- package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
- package/dist/{chunk-M2WXEHER.js → chunk-ZA4VCIGV.js} +2 -2
- package/dist/cli/index.js +42 -40
- package/dist/{clio-7VB377CC.js → clio-QLICPCF5.js} +7 -7
- package/dist/{code-nav-YVLCYA7V.js → code-nav-IJR2DBPR.js} +9 -9
- package/dist/{components-UBWCQSRW.js → components-2TGAI2RC.js} +5 -6
- package/dist/{config-4HVOS65E.js → config-IUA6OYNS.js} +88 -81
- package/dist/{configure-PIWO7B24.js → configure-VEPX4NMX.js} +26 -25
- package/dist/{context-KQYIWPWT.js → context-2DKHWH2T.js} +60 -45
- package/dist/{context-IYEHL3WQ.js → context-4MPR7WKB.js} +78 -69
- package/dist/{context-N6ZE3LGJ.js → context-BOYF5EJM.js} +15 -11
- package/dist/{context-clear-G4OGZJDS.js → context-clear-S4ZJCQUX.js} +73 -65
- package/dist/context-map-COB37XXN.js +505 -0
- package/dist/{context-working-set-BWLF6LJP.js → context-working-set-3I3FYX6Y.js} +18 -17
- package/dist/detail-A7JAVSIG.js +98 -0
- package/dist/{dispatch-runner-2QQAITS3.js → dispatch-runner-RJ5I2F2O.js} +99 -75
- package/dist/{docs-PD3EXDKU.js → docs-SPOV3BAN.js} +3 -5
- package/dist/{doctor-LHBD36VU.js → doctor-DKICC2SN.js} +71 -48
- package/dist/{eval-C45FYRJ6.js → eval-OQOQUDHK.js} +308 -146
- package/dist/{eval-inventory-6DEJPLBF.js → eval-inventory-Y6QRFOH5.js} +4 -4
- package/dist/{evidence-6SHONYAF.js → evidence-4DQ25GUQ.js} +79 -175
- package/dist/evidence-4F5USFKH.js +208 -0
- package/dist/{evolve-KRKMV72X.js → evolve-GSS52E5J.js} +71 -67
- package/dist/{extensions-KPZ2UHBB.js → extensions-G7MFLYHT.js} +8 -9
- package/dist/{fleet-IVTCKDHT.js → fleet-Q37YHHAQ.js} +126 -118
- package/dist/{fleet-commands-EDWL3IT7.js → fleet-commands-G7E4N7SM.js} +16 -13
- package/dist/{fleet-decisions-YP3YEFGK.js → fleet-decisions-O7M6QBA2.js} +9 -8
- package/dist/{fleet-graph-ZFWKHY2M.js → fleet-graph-TOUBW6OW.js} +21 -20
- package/dist/{fleet-inspect-FVUNCBML.js → fleet-inspect-SW33JJNI.js} +65 -60
- package/dist/{fleet-preflight-UN5XED4R.js → fleet-preflight-CV2655TW.js} +4 -5
- package/dist/{fleet-validate-XOWC4HSX.js → fleet-validate-KESZX2YH.js} +25 -24
- package/dist/{fleet-verify-UN3SODEL.js → fleet-verify-UQPMTVE3.js} +66 -61
- package/dist/{fleet-view-TWHJKCN6.js → fleet-view-MN2VG4MR.js} +65 -60
- package/dist/{init-T2QORQ3Y.js → init-PXEXQSBF.js} +90 -82
- package/dist/{interop-IN5I2A66.js → interop-ZG5T62U3.js} +12 -13
- package/dist/inventory-C26CFDRR.js +101 -0
- package/dist/{library-LSCATDLZ.js → library-B2W4N74O.js} +29 -29
- package/dist/{memory-HYOKAGGJ.js → memory-YCANYS5A.js} +73 -69
- package/dist/{models-2GPMFYCM.js → models-GERTU3YI.js} +51 -47
- package/dist/{monitor-E4ASVUJH.js → monitor-CPNIUULB.js} +74 -67
- package/dist/{orchestrator-DDMPR3PY.js → orchestrator-J4BSH4WQ.js} +1288 -1606
- package/dist/{panes-E3RUXOW5.js → panes-BOHAEGYC.js} +4 -4
- package/dist/{panes-IXKLOKA2.js → panes-NXSLDQZ2.js} +10 -11
- package/dist/{paths-L7LGY6RN.js → paths-VSUWNC22.js} +6 -7
- package/dist/reset-TNWTB5LU.js +343 -0
- package/dist/{resources-OTRSN34L.js → resources-4PXNMD5G.js} +29 -22
- package/dist/{run-5DEYH5QK.js → run-D6XJ34CN.js} +132 -132
- package/dist/{share-IHWTLO3M.js → share-2NWMJJEE.js} +27 -27
- package/dist/{skills-IYMXMKW4.js → skills-KR7WON5G.js} +40 -33
- package/dist/{skills-eval-DROHSJAR.js → skills-eval-O2ZNOLDS.js} +81 -77
- package/dist/{skills-inventory-D7X4L4ZX.js → skills-inventory-ZZOUBK7O.js} +23 -22
- package/dist/{slash-commands-QBM7UZ3B.js → slash-commands-ZXPJD64J.js} +47 -37
- package/dist/{steer-Z5DO23FJ.js → steer-XA25PSCS.js} +4 -4
- package/dist/{support-U7QOWY26.js → support-7EMVWYG2.js} +6 -6
- package/dist/{targets-P2FUC4IL.js → targets-OMH2XCSN.js} +50 -49
- package/dist/tasks-IPAGMEIX.js +36 -0
- package/dist/{terminal-lease-YREJ3JX2.js → terminal-lease-C2J3JYRE.js} +4 -4
- package/dist/{tools-5B7RO6MV.js → tools-EFFEAIDP.js} +8 -9
- package/dist/{trace-YMGMUM6A.js → trace-FXMXUZUF.js} +7 -7
- package/dist/uninstall-HALS6BLF.js +407 -0
- package/dist/upgrade-MS72RJEP.js +306 -0
- package/dist/{usage-ME5MPXGX.js → usage-NHG6MCJM.js} +162 -108
- package/dist/{verifiers-BVZ7IWOO.js → verifiers-7AUNVXDY.js} +155 -22
- package/dist/{verify-5K7ZKQFC.js → verify-FWYGPKMR.js} +14 -12
- package/dist/{web-fetch-MPARV2K7.js → web-fetch-V4FKSDAV.js} +4 -4
- package/dist/{wiki-generate-F5W5QTYY.js → wiki-generate-743CIGJW.js} +99 -90
- package/dist/{with-panes-BYOJCLAM.js → with-panes-BDQEWBRT.js} +10 -10
- package/dist/worker/entry.js +72 -68
- package/docs/README.md +3 -2
- package/docs/architecture/acp.md +17 -0
- package/docs/architecture/artifact-placement.md +1 -0
- package/docs/architecture/artifact-versions.md +2 -2
- package/docs/architecture/context-engine.md +4 -0
- package/docs/architecture/dispatch-typed-intent.md +1 -1
- package/docs/architecture/evidence-and-memory.md +1 -1
- package/docs/architecture/middleware-and-components.md +1 -1
- package/docs/architecture/model-catalog.md +21 -10
- package/docs/architecture/observability.md +19 -2
- package/docs/architecture/prompt-envelope-and-tools.md +17 -5
- package/docs/architecture/provider-adapter-cookbook.md +63 -0
- package/docs/architecture/safety-model.md +25 -22
- package/docs/architecture/tui-design.md +1 -1
- package/docs/guide/built-in-agents.md +25 -11
- package/docs/guide/commands-and-modes.md +18 -3
- package/docs/guide/configuration-and-targets.md +100 -10
- package/docs/guide/configuration-reference.md +17 -7
- package/docs/guide/environment-variables.md +4 -2
- package/docs/guide/installation-and-lifecycle.md +37 -4
- package/docs/guide/proactive-memory.md +66 -55
- package/docs/guide/skills-marketplace.md +18 -0
- package/docs/guide/tool-usage.md +78 -3
- package/docs/history/config-knobs-audit.md +2 -2
- package/docs/process/development-pipeline.md +40 -2
- package/docs/process/eval-runner.md +67 -3
- package/docs/process/git-commit-provenance.md +15 -0
- package/docs/process/release-cut-checklist.md +207 -0
- package/docs/process/scientific-validation.md +18 -17
- package/evals/behavioral-machinery-support.ts +1 -0
- package/evals/behavioral-machinery.yaml +1 -1
- package/evals/behavioral-model.yaml +3 -2
- package/package.json +2 -2
- package/skills/README.md +7 -5
- package/skills/coding/ast-grep/SKILL.md +101 -30
- package/skills/coding/ast-grep/evals.md +26 -0
- package/skills/coding/coding-standards/SKILL.md +47 -2
- package/skills/coding/coding-standards/evals.md +23 -0
- package/skills/coding/prototype/SKILL.md +87 -28
- package/skills/coding/prototype/evals.md +19 -0
- package/skills/coding/tdd/SKILL.md +80 -53
- package/skills/coding/tdd/evals.md +20 -0
- package/skills/context/context-handoff/SKILL.md +43 -2
- package/skills/context/context-handoff/evals.md +44 -0
- package/skills/context/context-prime/SKILL.md +45 -15
- package/skills/context/context-prime/evals.md +45 -0
- package/skills/git/branch-closeout/SKILL.md +132 -0
- package/skills/git/branch-closeout/evals.md +133 -0
- package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
- package/skills/git/file-ticket/SKILL.md +77 -63
- package/skills/git/file-ticket/assets/issue-template.md +22 -0
- package/skills/git/file-ticket/evals.md +31 -26
- package/skills/git/file-ticket/references/issue-discovery.md +49 -0
- package/skills/git/fix-issue/SKILL.md +87 -64
- package/skills/git/fix-issue/evals.md +35 -31
- package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
- package/skills/git/resolve-merge-conflicts/SKILL.md +100 -51
- package/skills/git/resolve-merge-conflicts/evals.md +52 -25
- package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
- package/skills/git/ship/SKILL.md +103 -67
- package/skills/git/ship/assets/pr-template.md +21 -0
- package/skills/git/ship/evals.md +44 -28
- package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
- package/skills/git/worktree-create/SKILL.md +80 -50
- package/skills/git/worktree-create/evals.md +40 -33
- package/skills/git/worktree-create/references/worktree-setup.md +62 -66
- package/skills/git/worktree-merge/SKILL.md +112 -65
- package/skills/git/worktree-merge/evals.md +42 -34
- package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
- package/skills/planning/archify/SKILL.md +196 -0
- package/skills/planning/archify/evals.md +65 -0
- package/skills/planning/architecture/SKILL.md +61 -12
- package/skills/planning/architecture/evals.md +65 -0
- package/skills/planning/backlog/SKILL.md +130 -14
- package/skills/planning/backlog/evals.md +142 -0
- package/skills/planning/prd/SKILL.md +47 -6
- package/skills/planning/prd/evals.md +54 -0
- package/skills/planning/product-intent/SKILL.md +57 -2
- package/skills/planning/product-intent/evals.md +70 -0
- package/skills/planning/tech-spec/SKILL.md +53 -2
- package/skills/planning/tech-spec/evals.md +73 -0
- package/skills/registry.yaml +58 -50
- package/skills/remote.yaml +13 -0
- package/skills/research/arxiv-literature/SKILL.md +76 -18
- package/skills/research/arxiv-literature/evals.md +50 -0
- package/skills/research/experiment-protocol/SKILL.md +20 -1
- package/skills/research/experiment-protocol/evals.md +23 -0
- package/skills/research/scientific-debugging/SKILL.md +24 -1
- package/skills/research/scientific-debugging/evals.md +18 -0
- package/skills/research/scientific-modernization/SKILL.md +26 -1
- package/skills/research/scientific-modernization/evals.md +27 -0
- package/skills/skill-marketplace.json +63 -28
- package/skills/workflow/cut-it/SKILL.md +64 -5
- package/skills/workflow/cut-it/evals.md +101 -0
- package/skills/workflow/design-council/SKILL.md +112 -27
- package/skills/workflow/design-council/evals.md +161 -0
- package/skills/workflow/grill-me/SKILL.md +85 -10
- package/skills/workflow/grill-me/evals.md +153 -0
- package/skills/workflow/workflow-distiller/SKILL.md +76 -17
- package/skills/workflow/workflow-distiller/evals.md +118 -0
- package/src/cli/args.ts +0 -8
- package/src/cli/configure-interop.ts +105 -13
- package/src/cli/configure-oauth.ts +57 -0
- package/src/cli/configure-onboarding.ts +980 -0
- package/src/cli/configure-target.ts +594 -0
- package/src/cli/configure.ts +1084 -529
- package/src/cli/context-map.ts +114 -0
- package/src/cli/context.ts +4 -0
- package/src/cli/doctor-state-size.ts +1 -12
- package/src/cli/doctor-validation-contract.ts +28 -0
- package/src/cli/doctor.ts +5 -0
- package/src/cli/evidence-detail.ts +1 -75
- package/src/cli/evidence-inventory.ts +1 -167
- package/src/cli/index.ts +3 -0
- package/src/cli/lifecycle-presenter.ts +436 -0
- package/src/cli/models.ts +10 -2
- package/src/cli/modes/print.ts +5 -1
- package/src/cli/reset.ts +228 -106
- package/src/cli/run.ts +7 -4
- package/src/cli/select.ts +664 -0
- package/src/cli/skills.ts +9 -2
- package/src/cli/targets.ts +3 -0
- package/src/cli/tasks.ts +84 -0
- package/src/cli/uninstall.ts +233 -165
- package/src/cli/upgrade.ts +210 -150
- package/src/cli/usage.ts +92 -27
- package/src/cli/validate-model.ts +3 -3
- package/src/cli/verifiers.ts +147 -1
- package/src/cli/wiki-generate.ts +1 -0
- package/src/core/commit-attribution.ts +41 -1
- package/src/core/config.ts +56 -0
- package/src/core/external-diagnostic.ts +44 -0
- package/src/core/gateway-routing.ts +157 -0
- package/src/core/git-commit-attribution.ts +46 -3
- package/src/core/run-overrides.ts +0 -5
- package/src/core/safe-exec.ts +17 -2
- package/src/core/skill-activation.ts +92 -2
- package/src/core/tool-names.ts +5 -2
- package/src/domains/agents/builtins/architect.md +1 -1
- package/src/domains/agents/builtins/coder.md +1 -1
- package/src/domains/agents/builtins/documenter.md +1 -1
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/provenance.md +7 -7
- package/src/domains/agents/builtins/tester.md +1 -1
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +4 -3
- package/src/domains/agents/builtins/world-knowledge.md +31 -0
- package/src/domains/agents/catalog.ts +1 -1
- package/src/domains/agents/result-contract.ts +70 -0
- package/src/domains/context/extension.ts +31 -7
- package/src/domains/context/refresh.ts +3 -0
- package/src/domains/context/wiki/frontmatter.ts +5 -2
- package/src/domains/context/wiki/generate.ts +6 -0
- package/src/domains/context/wiki/map-seed.ts +589 -0
- package/src/domains/context/wiki/plan.ts +2 -2
- package/src/domains/context/wiki/prompts.ts +43 -0
- package/src/domains/dispatch/active-route-planner.ts +4 -0
- package/src/domains/dispatch/admission.ts +29 -0
- package/src/domains/dispatch/agent-candidates.ts +10 -0
- package/src/domains/dispatch/budget-envelope.ts +86 -1
- package/src/domains/dispatch/capability-match.ts +1 -0
- package/src/domains/dispatch/capacity-lease.ts +17 -0
- package/src/domains/dispatch/code-step.ts +11 -4
- package/src/domains/dispatch/contract.ts +42 -8
- package/src/domains/dispatch/execution-scheduler.ts +2 -0
- package/src/domains/dispatch/extension.ts +184 -56
- package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
- package/src/domains/dispatch/fleet-run.ts +1 -0
- package/src/domains/dispatch/host-verification.ts +114 -13
- package/src/domains/dispatch/intent.ts +28 -18
- package/src/domains/dispatch/orphan-recovery.ts +2 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/reservation-store.ts +5 -3
- package/src/domains/dispatch/state.ts +15 -2
- package/src/domains/dispatch/types.ts +20 -2
- package/src/domains/dispatch/worker-model-metadata.ts +38 -0
- package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
- package/src/domains/eval/metrics/token-stream.ts +201 -31
- package/src/domains/eval/metrics/tracked.ts +40 -4
- package/src/domains/eval/runners/clio-run.ts +17 -11
- package/src/domains/eval/runners/context-index.ts +2 -7
- package/src/domains/eval/runners/context-init.ts +3 -6
- package/src/domains/eval/runners/external-command.ts +29 -11
- package/src/domains/eval/schema/suite.ts +28 -0
- package/src/domains/eval/schema/verdict.ts +2 -2
- package/src/domains/eval/suites/resolve.ts +13 -1
- package/src/domains/eval/suites/run.ts +24 -3
- package/src/domains/evidence/build.ts +102 -15
- package/src/domains/evidence/detail.ts +69 -0
- package/src/domains/evidence/eval.ts +13 -1
- package/src/domains/evidence/finish-contract-map.ts +5 -1
- package/src/domains/evidence/inventory.ts +167 -0
- package/src/domains/evidence/store.ts +16 -0
- package/src/domains/evidence/types.ts +12 -0
- package/src/domains/extensions/resources.ts +7 -0
- package/src/domains/interop/registry.ts +6 -2
- package/src/domains/interop/types.ts +4 -0
- package/src/domains/lifecycle/migrations/index.ts +4 -0
- package/src/domains/memory/task-memory-policy.ts +70 -26
- package/src/domains/memory/task-memory-telemetry.ts +1 -0
- package/src/domains/middleware/index.ts +0 -1
- package/src/domains/middleware/marketplace-offer.ts +22 -35
- package/src/domains/middleware/memory-intervention.ts +127 -32
- package/src/domains/middleware/memory-step-endpoint.ts +3 -2
- package/src/domains/middleware/runtime.ts +7 -3
- package/src/domains/middleware/skills-reminder.ts +31 -2
- package/src/domains/mux/detect.ts +3 -6
- package/src/domains/observability/accountability.ts +15 -1
- package/src/domains/observability/compaction-usage.ts +118 -0
- package/src/domains/observability/contract.ts +52 -7
- package/src/domains/observability/cost.ts +1 -1
- package/src/domains/observability/evidence-index.ts +10 -0
- package/src/domains/observability/extension.ts +15 -6
- package/src/domains/observability/out-of-turn-usage.ts +52 -21
- package/src/domains/observability/projection.ts +394 -45
- package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
- package/src/domains/prompts/fragments/operating/contract.md +2 -0
- package/src/domains/prompts/fragments/wiki/page.md +8 -0
- package/src/domains/providers/contract.ts +4 -1
- package/src/domains/providers/extension.ts +40 -9
- package/src/domains/providers/model-capabilities.ts +9 -0
- package/src/domains/providers/model-discovery.ts +3 -4
- package/src/domains/providers/model-runtime-capabilities.ts +15 -5
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +48 -26
- package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
- package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
- package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
- package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
- package/src/domains/providers/support.ts +11 -5
- package/src/domains/providers/target-model-cache.ts +25 -2
- package/src/domains/providers/types/capability-flags.ts +2 -0
- package/src/domains/providers/types/runtime-descriptor.ts +20 -1
- package/src/domains/providers/types/target-descriptor.ts +19 -0
- package/src/domains/resources/index.ts +3 -0
- package/src/domains/resources/skills/install.ts +72 -7
- package/src/domains/resources/skills/loader.ts +7 -0
- package/src/domains/resources/skills/marketplace.ts +63 -11
- package/src/domains/safety/action-classifier.ts +7 -0
- package/src/domains/safety/autonomy.ts +15 -0
- package/src/domains/safety/default-path-policy.ts +2 -0
- package/src/domains/safety/finish-contract-registration.ts +29 -14
- package/src/domains/safety/finish-contract.ts +252 -40
- package/src/domains/safety/index.ts +21 -1
- package/src/domains/safety/path-policy.ts +1 -1
- package/src/domains/safety/policy-engine.ts +60 -17
- package/src/domains/safety/protected-artifacts.ts +191 -88
- package/src/domains/safety/rigor.ts +53 -39
- package/src/domains/safety/run-effects.ts +2 -22
- package/src/domains/safety/skill-authority.ts +55 -0
- package/src/domains/safety/validation-contract.ts +388 -0
- package/src/domains/session/archive-readers.ts +10 -1
- package/src/domains/session/compaction/compact.ts +72 -22
- package/src/domains/session/decision-board.ts +101 -2
- package/src/domains/session/entries.ts +50 -7
- package/src/domains/session/extension.ts +4 -4
- package/src/domains/session/handoff.ts +2 -1
- package/src/domains/session/manager.ts +2 -3
- package/src/domains/session/task-board.ts +14 -1
- package/src/domains/session/tree/fork.ts +1 -2
- package/src/domains/session/tree/navigator.ts +1 -1
- package/src/domains/session/usage.ts +3 -3
- package/src/domains/user-tasks/acceptance.ts +56 -0
- package/src/domains/user-tasks/active-acceptance.ts +40 -0
- package/src/domains/user-tasks/store.ts +34 -3
- package/src/engine/acp/adapter.ts +24 -6
- package/src/engine/acp/server.ts +21 -4
- package/src/engine/acp/transport.ts +53 -8
- package/src/engine/acp/types.ts +4 -0
- package/src/engine/agent.ts +13 -3
- package/src/engine/ai.ts +26 -8
- package/src/engine/antigravity/subprocess-runtime.ts +386 -120
- package/src/engine/api-registry.ts +3 -0
- package/src/engine/apis/ollama-native.ts +15 -0
- package/src/engine/apis/openai-completions.ts +117 -14
- package/src/engine/claude/subprocess-runtime.ts +107 -60
- package/src/engine/external-subprocess.ts +122 -6
- package/src/entry/background-model-metadata.ts +18 -0
- package/src/entry/compaction-prompt.ts +57 -0
- package/src/entry/orchestrator.ts +416 -218
- package/src/entry/task-memory-lifecycle.ts +35 -0
- package/src/interactive/chat-loop-messages.ts +13 -4
- package/src/interactive/chat-loop.ts +65 -2
- package/src/interactive/chat-renderer.ts +1 -0
- package/src/interactive/cost-overlay.ts +26 -2
- package/src/interactive/dispatch-board.ts +46 -717
- package/src/interactive/fleet-run-preview.ts +2 -1
- package/src/interactive/interactive-application.ts +3 -2
- package/src/interactive/interactive-presentation.ts +55 -12
- package/src/interactive/interactive-slash-runtime.ts +4 -2
- package/src/interactive/oracle.ts +5 -2
- package/src/interactive/overlays/fleet-run-approval.ts +3 -2
- package/src/interactive/overlays/message-picker.ts +2 -2
- package/src/interactive/overlays/settings.ts +2 -2
- package/src/interactive/overlays/tree-selector.ts +2 -2
- package/src/interactive/renderers/branch-summary.ts +1 -1
- package/src/interactive/renderers/worker-entry.ts +32 -0
- package/src/interactive/slash-autocomplete.ts +4 -6
- package/src/interactive/slash-commands.ts +49 -45
- package/src/interactive/slash-spec.ts +28 -0
- package/src/interactive/theme/labels.ts +19 -13
- package/src/interactive/turn-context.ts +9 -5
- package/src/interactive/turn-recovery.ts +8 -0
- package/src/interactive/turn-runtime.ts +27 -11
- package/src/interactive/turn-state.ts +7 -0
- package/src/interactive/view/artifacts.ts +2 -0
- package/src/interactive/worker-receipts.ts +1 -0
- package/src/interactive/worker-stream.ts +13 -4
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +31 -0
- package/src/tools/compete-worktrees.ts +7 -1
- package/src/tools/context/index.ts +30 -9
- package/src/tools/core-bootstrap.ts +16 -0
- package/src/tools/decide.ts +136 -0
- package/src/tools/dispatch-admission.ts +21 -0
- package/src/tools/dispatch-arguments.ts +1 -0
- package/src/tools/dispatch-event-text.ts +10 -0
- package/src/tools/dispatch-plan.ts +6 -2
- package/src/tools/dispatch-runner.ts +27 -1
- package/src/tools/dispatch-types.ts +6 -0
- package/src/tools/evidence.ts +96 -0
- package/src/tools/limitation.ts +76 -0
- package/src/tools/policy.ts +9 -0
- package/src/tools/presentation.ts +3 -0
- package/src/tools/registry.ts +11 -5
- package/src/tools/result-shaping.ts +17 -5
- package/src/tools/task-worktree.ts +13 -3
- package/src/tools/tasks.ts +10 -1
- package/src/tools/verify/authoring.ts +170 -83
- package/src/tools/verify/catalog.ts +122 -5
- package/src/tools/verify/index.ts +2 -1
- package/src/tools/verify/numeric.ts +298 -0
- package/src/tools/verify/perf.ts +143 -0
- package/src/tools/verify/scripts.ts +229 -2
- package/src/tools/worker-evidence.ts +3 -1
- package/src/worker/spec-contract.ts +4 -0
- package/dist/chunk-2Z2IKEXI.js +0 -1554
- package/dist/chunk-RVG5JXAL.js +0 -41
- package/dist/chunk-T56WDKA5.js +0 -183
- package/dist/chunk-VN3SHNBN.js +0 -313
- package/dist/chunk-VPKWYKEY.js +0 -169
- package/dist/reset-OAQP3W4O.js +0 -230
- package/dist/uninstall-N34PCTGJ.js +0 -331
- package/dist/upgrade-PXK3S2YM.js +0 -325
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,104 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Clio Coder are documented in this file. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and versions follow Semantic Versioning; pre-1.0 minor releases may include incompatible changes.
|
|
4
4
|
|
|
5
|
+
## 0.4.4 - 2026-09-05
|
|
6
|
+
|
|
7
|
+
Trust spine: typed claims, executable validation, and decision provenance. Answers the NSF "Beyond Code" findings where the harness still trusted prose or sniffed files.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- A Deno test validates that class tokens used across Workbench components exist in the stylesheet (#311).
|
|
11
|
+
- Lint holds `docs/guide/configuration-reference.md` against `DEFAULT_SETTINGS`: the new `configuration-reference` hygiene check fails when a settings key has no row in the settings-key table or a row names a key path the defaults no longer carry.
|
|
12
|
+
- The `limitation` tool records what a turn could not verify and why. The finish contract settles on a successful `limitation` receipt inside the same window as the mutation scan; the seven prose patterns that used to satisfy it are gone, so wording alone can no longer pass the gate. The tool is on the six mutating recipes, and the operating contract tells the model to call it.
|
|
13
|
+
- One strict loader for the version-1 scientific validation contract (`src/domains/safety/validation-contract.ts`), shared by rigor, `verifiers author`, doctor, and the startup hint. Rigor rises to `high` only when the contract parses; an invalid contract is diagnosed with the field and cap named, and `VALIDATION.md` is advisory prose that never raises rigor on its own.
|
|
14
|
+
- The `decide` tool records a design choice with the alternatives the model rejected and why, as an `origin: "agent"` decision-ledger entry beside operator `ask_user` answers. A repeat key supersedes the earlier agent decision; an operator decision is never overwritten by the model. Dispatch seals every active decision ref onto the run request, envelope, and receipt under integrity coverage, and Clio-controlled commits carry one `Clio-Decision: <interviewId>/<key>` trailer per ref from the receipt or the live board.
|
|
15
|
+
- Recorded decisions reach the surfaces that cite them. Evidence resolves a sealed receipt's `decisionRefs` against the linked session's active path, records the resolved arguments in `overview.json`, and raises a resolved or missing-reference finding per ref in both readable documents. Handoff and oracle briefings carry each decision's alternatives and rationale, and wiki page writers receive up to twelve active decisions matching their page's sources and cite the refs in the body and optional `decisions` frontmatter.
|
|
16
|
+
- The read-only `evidence` tool shares the CLI inventory and trust projections, with overview, findings, and verified gate decisions for provenance inspections. Provenance requires this tool, and Verifier can use it. Accountability reports unverified successful runs and ungrounded validation claims in `/view`, `clio-coder usage`, and the observability contract. Historical index rows contribute zero to the new counters when the required fields are absent.
|
|
17
|
+
- Verifier catalog version 2 adds two executable check kinds beside `command`. `numeric-compare` runs the command, parses its stdout as a JSON object of numbers or number arrays, and judges it against a repository-relative reference file under `relative`, `absolute`, or `ulp` tolerances (every named bound must hold; missing keys, shape and length mismatches, `NaN`, and infinity fail), reporting each key's worst deviation and the tolerance it failed. `perf-budget` judges the measured wall time against `budget: {wallTimeMs, tolerance?}` or a baseline that `clio-coder verifiers baseline <id>` records, reporting measured time, effective budget, and ratio. The `verify` tool and dispatch host verification both run the judgement and seal the report (`report` on the host-verification check, under receipt integrity); a failing judgement is a check failure with the report in the detail. Version 1 catalogs still load with every check as `kind: command`. `verifiers add` and `edit` take `--kind`, `--reference`, `--tolerance`, `--budget-ms`, `--budget-relative`, and `--baseline`; `verifiers author` lists an incomplete `numeric-compare` check for every validation-contract artifact that declares `numerical_tolerances`, with the command left for the operator.
|
|
18
|
+
- Operator tasks carry optional acceptance through repeatable `--expect` and `--verify` flags in the CLI and `/tasks add`. Shared dispatch normalizers validate paths and bounded checks, pickup persists required board evidence, and high rigor requires a passing receipt or a limitation naming each acceptance check.
|
|
19
|
+
- An opt-in `--strict` switch for `scripts/smoke-real-home.sh` causes the real-home release smoke to fail when doctor exits 1 on failing rows, while default runs continue to tolerate operator fleet state (#293).
|
|
20
|
+
- A current release-cut checklist in `docs/process/release-cut-checklist.md` and paired blueprint for maintainers to verify and publish releases (#298).
|
|
21
|
+
- ACP registry submission assets including `assets/acp-registry/agent.json` and `assets/acp-registry/icon.svg` with submission documentation in `docs/architecture/acp.md` (#314).
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- Retry admission rebinds a held plan-reservation member under the async state-file lock, so a dispatch attempt waiting on the cross-process capacity lock yields the event loop instead of spinning in `Atomics.wait` (#319). Plan preparation still takes the synchronous lock because the tool registry's `prepareAdmissionArguments` hook cannot yield.
|
|
25
|
+
- Document that headless Antigravity reports permission_mode always-proceed under mode plan and sandbox, and that Clio grades enforcement as approximated (#281).
|
|
26
|
+
- The runs.json ledger carries version 1 on RunEnvelope records, treating legacy unversioned rows as version 1 and skipping records with any other version.
|
|
27
|
+
- Claude CLI workers now accept the built-in recipes. The `claude-code` runtime declares its external agent loop the way Antigravity does, so a recipe budget is admitted as `external-one-shot` with the per-tool count recorded as unobserved instead of refusing the dispatch. Claude Code CLI stays under Subscriptions in `configure --list` and keeps its `claude-cli` auth status; retries and orchestrator eligibility are unchanged (#280).
|
|
28
|
+
- The Claude Code CLI worker now uses the same hardened transport as the Antigravity worker. `claude` receives only the allowlisted environment instead of the whole process environment, so provider keys and Clio gates no longer reach it. The user turn travels on stdin rather than argv; system text remains in `--append-system-prompt`. The admitted `cwd` is honored and refused when it escapes the workspace root, stdout is read through the bounded line reader (1 MiB per line, 8 MiB total) and a violation ends the run as an error, and cancellation terminates the POSIX process group even when the immediate CLI exits before its descendants. Windows retains direct-child cancellation (#279).
|
|
29
|
+
- The dispatch board reads observability's run projection. One fold owns lifecycle events, worker progress, receipt trust, retries, cancellation, fleet positions, and evidence readiness; the board keeps ordering, selection, and rendering. Terminal status and accounting come from the same projection the observability contract publishes.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- ACP permission cancellation now aborts the active turn before releasing parked tools, preventing an extra provider request while Workbench settles an unanswered approval (#341).
|
|
33
|
+
- The deterministic behavioral machinery suite declares the `default` target used by its dispatch fixture, so all 26 cases produce an artifact that `eval report` and self-comparison can load with strict execution provenance validation (#342).
|
|
34
|
+
- Compete respects a candidate receipt's effective read-only autonomy when finalizing work. Generated `.clio-coder/codewiki.json` and `.clio-coder/state.json` are excluded from writer staging and judge branch diffs even when the caller's `.gitignore` update is uncommitted or the runtime files were already staged. Authored edits, including tracked Clio project configuration, still commit and apply; unrelated staged and unstaged caller changes remain intact (#347).
|
|
35
|
+
- Host verification memoization and batch deduplication now include the check identity, kind, execution timeout, numerical tolerances, performance bounds, and reference or baseline contents. Different judgments cannot inherit an earlier pass, while identical valid checks retain evidence reuse and provenance (#333).
|
|
36
|
+
- Host numerical verification now judges bounded command stdout, matching ordinary verify. JSON diagnostics on stderr cannot supply a missing measurement or invalidate valid stdout; stderr remains available in the command artifact (#334).
|
|
37
|
+
- High-rigor task acceptance now requires validation evidence from the owning workspace. Verifier receipts retain declaration source and execution details, so a passing same-named examples check cannot satisfy a root check. Intended package and catalog checks, exact root package commands, and scoped limitation receipts remain supported (#335).
|
|
38
|
+
- Skills with an allowed-tools list, including coding-standards and the related coding workflows, can record the finish contract's limitation receipt. Explicit tool denials and restrictions on unrelated actions remain enforced (#336).
|
|
39
|
+
- Slash argument completion now reads loaded agent recipes, configured targets and known models, installed skills, and session tasks from the interactive app contracts (#303).
|
|
40
|
+
- Workbench desktop notification mute preference now persists in local storage across page reloads (#322).
|
|
41
|
+
- ACP close and reopen starts a fresh conversation on the same child process, clearing provider history and turn ancestry while switching the task board to the new session. Explicit session loading still restores the saved conversation and tasks (#312).
|
|
42
|
+
- Sessions without interactive ask_user now receive one passive marketplace reminder per matching skill per session, including its installation command, without starting an interview or recording a decline (#317).
|
|
43
|
+
- Setting interface.panes.enabled=embedded refuses with a visible reason instead of silently degrading to guest detection (#294).
|
|
44
|
+
- ACP production stdout now uses the bounded queue through its output guard, waits for drain before sending more frames, and closes with a typed error when stalled output exceeds the existing 1 MiB UTF-8 byte budget, including the first frame that stalls the stream (#309).
|
|
45
|
+
- Dispatch to a subprocess worker no longer fails at prompt compilation when the recipe offers the canonical `context` tool. The Claude CLI declares tool support, so `context` survived tool narrowing while the compiler correctly treated the subprocess surface as unattached, and every built-in recipe that lists `context` (architect, scout, oracle, researcher, and others) was refused with a `hasCanonicalContext` mismatch. The attached-context fact is now derived from the runtime kind, and bound skills are neither promised in the prompt nor stamped on the worker spec for a runtime that never receives Clio's tools.
|
|
46
|
+
- Ollama eviction now releases only models this Clio process successfully pinned on the same server, preserving models loaded by operators or other clients (#313).
|
|
47
|
+
- Deprecation warnings for the legacy lmstudio-native runtime id now route through warnLegacyNaming, reporting the planned v0.7.0 removal and deduping per process.
|
|
48
|
+
- Fleet run preview diagnostics and approval overlays now format cost totals through the shared formatter so amounts at or above one cent render with two decimals instead of four.
|
|
49
|
+
- Default path policy now marks project and user skill roots read-only for workers and the orchestrator, alongside the existing skill-authority guard; operator installs continue through the CLI (#300).
|
|
50
|
+
- Scratch offload sweeps now report non-ENOENT filesystem errors in a skipped count instead of silently swallowing them.
|
|
51
|
+
- Model discovery no longer treats target status with an undefined model source as a live catalog.
|
|
52
|
+
- The upgrade command now gates test seams behind NODE_ENV=test so testing environment variables are ignored in production.
|
|
53
|
+
- Marketplace offer reminders now collapse catalog descriptions to one line, strip square-bracketed directive markers, and cap description text at 200 characters (#316).
|
|
54
|
+
- Damage-control no longer treats command quotations in `dispatch` and `tasks` prose as shell execution. Execute-class calls still use the same blocked command patterns (#286).
|
|
55
|
+
- Doctor state storage inspection now shares the lifecycle presenter byte formatting helper instead of keeping a private copy with differing units, printing consistent byte sizes across doctor, reset, and uninstall.
|
|
56
|
+
- The `coding-standards` skill (0.4.0) declares an `allowed-tools` surface again (`read`, `grep`, `find`, `ls`, `code_nav`, `bash`, `write`, `edit`) instead of no narrowing at all, so a solo run can both read and write code.
|
|
57
|
+
- ACP delegation usage now carries `totalTokens` and `costUsd`, merged with the same rule the ACP server uses: an explicit total or cost from the peer is taken as reported, otherwise the total is the sum of input, output, and cache tokens and the cost stays 0.
|
|
58
|
+
- The dispatch typed-intent reason-code table now documents `legacy_scope_inferred` as the warn that `path-scope.ts` emits when prose inference resolves a leading `../` run against the dispatch root, instead of calling it an unemitted compatibility id.
|
|
59
|
+
- The `muse-glimmer-30b` catalog notes, runtime preference, and guidance now say the reasoning strength dial is driven per request through `chatTemplateKwargs.byLevel` on llama.cpp and reported as undeliverable on LM Studio, instead of claiming no per-request field exists.
|
|
60
|
+
- `clio-coder eval run` spawns a `clio-coder-run` task as an argv instead of a `sh -c` line, so the task deadline reaches the Clio process itself and the exit code the runner reports is Clio's own. Through dash the shell stayed the parent: the deadline's SIGTERM stopped the shell while Clio finished the turn, wrote its report artifact, sealed a succeeded receipt with exit 0, and exited 0, and the item was recorded as `runner_failed` beside an ok receipt with `receipt.outcomeMatchesExit` false. A run the deadline reaches is now canceled, and its receipt records the cancellation with the exit status the runner reports. The SIGKILL grace after that SIGTERM is five seconds, long enough for Clio's coordinated shutdown to seal the interrupted run's receipt. The context-init and context-index eval runners now spawn through the same argv form. (#275)
|
|
61
|
+
|
|
62
|
+
### Removed
|
|
63
|
+
- Retired slash command hints for former command spellings are removed so unrecognized commands fall through to the standard unknown command error.
|
|
64
|
+
- The unused `--kv-cache-mode` command-line flag and its run override field are removed because no runtime reads them.
|
|
65
|
+
|
|
66
|
+
## 0.4.3 - 2026-09-05
|
|
67
|
+
|
|
68
|
+
This release adds Archify architecture maps and experimental Antigravity research delegation, and tightens thinking controls, session memory, compaction and execution evidence. Usage and cost reports retain explicit coverage limits; full evidence reconciliation is deferred to v0.4.5 or later.
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
- Remote marketplace entries. `skills/remote.yaml` lists skills whose content lives in another repository at a pinned ref; `npm run skills:pin` publishes each into `skills/skill-marketplace.json` with `origin: "remote"`, the upstream tree as `sourceUrl`, the catalog `overlay` package whose files land on top of the clone at install, and the upstream top-level members to `exclude`. The overlay `SKILL.md` is pinned in `skills/registry.yaml`, so `skills:check` fails on its drift. Install stages the fetched tree, applies the exclusions and the overlay, validates the shaped result, and swaps it in atomically; discovery lets an overlay-bearing index entry win over its own catalog folder, and `clio-coder skills update` re-applies the same shaping. Contract: `tests/contracts/skill-remote-entries.test.ts`.
|
|
72
|
+
- The `archify` skill (`skills/planning/archify/`), a remote entry pinned to `tt-a1i/archify` v2.16.0: validated interactive architecture, workflow, sequence, dataflow, and lifecycle diagrams as standalone HTML from a typed JSON spec. Clio ships only the wrapper `SKILL.md` and `evals.md`; the renderer, schemas, and brand-mark notices come from upstream at install time and never enter the npm tarball. The wrapper adds Clio's placement rule (`.clio-coder/artifacts/maps/`), the repository-evidence flow through `clio-coder context map`, and `verify(check="frontend")` after `deliver`, and omits upstream's update-awareness step because it performs a network request during a chat turn.
|
|
73
|
+
- `clio-coder context map [--out <path>] [--json]` writes an archify architecture seed from the codewiki index with no model call: components are the largest directory areas (capped at 12, plus at most three external packages), connections are import edges collapsed area to area, and `meta.repository` is recorded only for a GitHub origin at a full revision; only then do components carry `sources`, each citing an indexed file and its first symbol's line, since archify accepts citations only against a pinned revision. Placement is layered with explicit routes for archify's standard profile; composition warnings may still need operator edits. Pass `--repo-root .` when the seed carries pinned repository evidence. It refuses, naming `clio-coder context index`, when no index exists. Contract: `tests/contracts/context-map-seed.test.ts`.
|
|
74
|
+
- `.clio-coder/artifacts/maps/` is a placement class (human transient) in `docs/architecture/artifact-placement.md`; `docs/guide/skills-marketplace.md` documents remote entries and overlays with archify as the worked example, and `docs/architecture/context-engine.md` documents the seed's guarantees.
|
|
75
|
+
- A distinct, permanently read-only `world-knowledge` shadow agent handles current open-world discovery, ecosystem comparisons, broad external context, and advisory second opinions. Its compact result contract separates supported facts and source identifiers from synthesis, uncertainties, and follow-up verification, and it reports honestly when native discovery/search is unavailable instead of treating URL retrieval as search or fabricating citations.
|
|
76
|
+
- Reusable `branch-closeout` Git skill (`skills/git/branch-closeout/`) for proving merged work on canonical remotes, inspecting dirty or ignored worktree state, safely removing registered worktrees through Git, deleting local branches, optionally removing contributor fork branches, and auditing surviving repository references.
|
|
77
|
+
- The trace viewer shows each run's `source` (`dispatch` or `session`) as a small badge beside the run id on the run list and beside the status on the run page, matching the SOURCE column `clio-coder trace runs` already prints. The list filter matches the badge text, so typing `session` narrows the list to interactive turns. A mirror whose rows carry no `source` field renders no badge. Contract: `apps/trace-viewer/tests/client-smoke.test.mjs`. (#289)
|
|
78
|
+
|
|
79
|
+
### Changed
|
|
80
|
+
- The local and hosted CI gate checks skill pins once through lint, removing the duplicate explicit pass. The full contract/smoke, trace-viewer and release-package checks remain in place; contributor guidance distinguishes focused checks from the complete release gate.
|
|
81
|
+
- The existing `context.compaction.model` and `context.compaction.systemPrompt` overrides now take effect. An explicit model must uniquely resolve to an available, eligible summary route; invalid choices fail visibly instead of silently using chat. Custom UTF-8 prompt files are reread at compaction time, must be nonempty regular files of at most 65,536 bytes, and resolve relative paths against the session workspace. Unset controls retain the active chat route and built-in prompt; checkpoints record the selected usage route while older checkpoints remain readable (#324).
|
|
82
|
+
- Antigravity external delegation remains experimental and now uses a bounded external-agent subprocess boundary: it is dispatch-only, uses the operator's existing `agy` session, sends literal prompts over structured stdin, accepts only a valid one-terminal stream, bounds and redacts all external output, runs with an allowlisted environment, cancels the POSIX process group, and attributes receipts to external delegation rather than the Gemini API. Its non-generating live `{id,label}` catalog is authoritative and round-trips through the generic model snapshot; failures distinguish missing CLI, sign-in, required CLI update, unavailable catalog, and disappeared configured models. Clio records per-tool recipe budgets as unobserved/not enforced inside the external one-shot loop and never automatically retries a generating run.
|
|
83
|
+
- First-run onboarding can offer **Antigravity CLI — experimental local delegation** only after a valid primary target exists. The optional step never changes chat/background pointers or enables dangerous full access; it can create a `world-knowledge-external` fleet profile and bind `world-knowledge`. Noninteractive `configure` gains `--bind-agent <agentId>` alongside `--agent-profile`, and model/target listings preserve live labels and source/freshness.
|
|
84
|
+
- Hardened the entire Git skill suite under `skills/git/` (`file-ticket`, `fix-issue`, `ship`, `worktree-create`, `worktree-merge`, `resolve-merge-conflicts`). Added formal argument contracts with structural parsing; made workflow bodies project-agnostic without hardcoding repos, remotes, or branch names while preserving the canonical-main-only policy in `CONTRIBUTING.md`; required confirmation before every outward ticket action including duplicate issue comments; decoupled unsupported RCA automation claims from `fix-issue`; separated `ship` into explicit `commit`, `pr`, maintainer-local, and `closeout` modes; corrected rebase ours/theirs reversal semantics and added conflict matrices covering binary, rename, modify/delete, and lockfile conflicts; supported configurable roots, safe path derivation, and strategy controls in worktree operations; and expanded evals across all skills.
|
|
85
|
+
- Branch and worktree closeout is now an explicit final development step: prove the merged result, inspect local state, remove registered worktrees through Git, delete local scaffolding, and report every surviving branch, stash, local-only tag, and canonical remote head. The canonical repository keeps only `main`: maintainer topic and compact release-candidate branches such as `v043` stay local, contributors submit branches from their forks, and dotted names such as `v0.4.3` are reserved for immutable release tags.
|
|
86
|
+
- Every catalog SKILL.md that describes headless `ask_user` now states the same behavior the `clio-coder run` help text does: the tool is not registered, so any call is refused as an unregistered tool rather than answered. Fifteen skills take a patch bump for the correction.
|
|
87
|
+
|
|
88
|
+
### Fixed
|
|
89
|
+
- Dedicated memory, compaction and native worker admission now discover cold LiteLLM target metadata before resolving thinking controls; sharing a gateway URL with chat no longer hides a missing target probe. Memory keeps discovery within its existing cancellation/deadline boundary, rechecks known endpoint capacity at actual launch, and does not turn cancelled metadata into endpoint failure. Compaction now sends its intended thinking-off request through the simple stream API. Workers keep their approved route and reservation while discovery runs within the invocation's cancellation and admission deadline; late cancelled metadata cannot launch a worker. Unknown runtime declarations remain unguessed.
|
|
90
|
+
- Failed or empty compaction now retains known per-stream usage in the existing out-of-turn ledger, including a successful first stream before a failed or empty second split response. Rows retain the originating session and selected route, distinguish completed/error/aborted calls, and keep missing or ambiguous zero usage unknown. For completed compactions, the checkpoint remains the sole durable accounting source; checkpoint-write ambiguity fails visibly without speculative double counting. Usage reports expose known and errored subtotals with missing coverage, and live successful accounting follows the selected compaction route. Adapter prices remain estimates, and existing numeric cost ceilings bound known spending only. Usage reports read the retained failed-compaction records; eval totals and live /cost reseeding do not yet reconcile that out-of-turn store.
|
|
91
|
+
- Thinking controls now survive LiteLLM parameter filtering for declared upstream runtimes. Unanimous per-alias LM Studio metadata selects its explicit off effort, while llama.cpp keeps template controls; only a legitimately resolved effort is added to the gateway request allowance. Gateway routing, authentication and residency stay unchanged, unknown/mixed declarations are not guessed, and returned reasoning is not hidden. Qwen3.8 exposes off/low/medium/xhigh; released high/max choices normalize to xhigh without changing saved preferences or confusing the vendor template default with Clio defaults.
|
|
92
|
+
- Proactive memory prefers its dedicated configured route and can use the active chat model when that route is unavailable, including a shared reasoning model with thinking requested off. A dedicated client error permits one fallback within the original remaining deadline; cancellation, scope changes, timeouts and model output do not trigger retries. Known usage and telemetry remain separate for each attempted route. Memory now consults existing endpoint capacity evidence and observed foreground/dispatch occupancy instead of treating every shared URL as a busy one-slot server; LiteLLM retains gateway routing authority. Unset memory roles stay rules-only, and fallback selection does not change saved settings.
|
|
93
|
+
- Context map seeds now keep distinct directory areas, external packages, and connections identifiable when readable IDs collide. Collision suffixes preserve other existing readable IDs, and internal and external imports with matching names retain their own destinations and counts.
|
|
94
|
+
- Active project and user skill trees now remain operator-owned for both main-agent and worker tool admissions, including full-auto. Direct mutations, recognized shell mutation and Clio installation commands (including `skills sync` and confirmed `library add --yes` with skill dependencies), ancestor deletion, and current symlink aliases are refused even when general default path protections are disabled. Literal shell comments and redirection targets cannot masquerade as help/version arguments to bypass that guard. Quoted search patterns remain read-only, and literal operator filenames do not hide later mutation operands. Unconfirmed library plans remain available. Marketplace matches now require the existing bound operator answer before installation at every autonomy level; operator CLI, hub and slash installation/update workflows remain available. Draft skills outside active roots. Shell command inspection remains a bounded guard rather than an operating-system sandbox; arbitrary programs, dynamic expansions, aliases and concurrent filesystem changes still require supervision (#300).
|
|
95
|
+
- Native session and eval call timing now starts before each provider stream invocation, so TTFT and API duration include the request's wait for response headers and later tool-loop calls have their own clocks. Empty output does not manufacture TTFT. Historical timing values remain unchanged; stdout-only fallback timing still starts at the provider's message-start event and must not be compared as complete request latency.
|
|
96
|
+
- Eval now exposes observed provider terminal reasons, retry phases, and errored-call known usage subtotals for opt-in health gates (#278). Known failed-call spend stays in total accounting, and repeated retry countdown frames do not inflate attempt counts. Missing, partial, or ambiguous all-zero failed usage remains explicitly incomplete; stream cost can reflect adapter pricing and does not certify billing. Recovered tasks keep the existing default pass policy, and retries hidden inside a runtime remain unobserved. Reported failed reasoning remains separate from output/total tokens; an ambiguous adapter estimate is not promoted to provider-reported usage.
|
|
97
|
+
- Completed parallel dispatch receipts keep their sealed ledger status while finalization waits for durable persistence. Heartbeat reconciliation no longer regresses a finished run to running, stale, or dead during ledger lock contention; active workers still receive normal stall detection. Batch host checks and receipt digest verification retain their existing semantics.
|
|
98
|
+
- Eval first-call TTFT now reports `{ value: null, source: "estimated" }` when timing is absent, preserving a measured zero as `{ value: 0, source: "ledger" }`. The first call is selected by its recorded timestamp across session ledgers. Stream fallback measures only observed output after a call start and leaves missing timing absent. Verdict consumers must handle nullable TTFT; historical numeric artifacts remain readable without rewriting (#277).
|
|
99
|
+
- Headless runs that recover from a provider failure with a successful tool-only artifact completion no longer retain the earlier error and fail evaluation despite producing the required artifact. Terminal errors, failed artifacts, cancellation, and shutdown still fail truthfully; recovered runs retain their failure history and reported spend (#275).
|
|
100
|
+
- Transient task memory and its observer state now reset on explicit session and branch switches, including same-session `/tree` navigation. Late background completions cannot mutate the successor bank, deliver reminders, or propose durable memory. Reported usage keeps its originating session identity without inflating the successor's live cost. Ordinary forward turns and compaction retain continuity; abort-ignoring transports may still finish, but their stale content is discarded (#323).
|
|
101
|
+
- Eval tracked token and model-call totals no longer double-count assistant calls recorded by both the native runner's session ledger and stdout fold (#276). Tracked metrics prefer durable assistant-call facts, including timing and cache provenance, and fall back to stream calls when no durable calls exist; durable compaction and tool records remain included. Compaction usage intentionally makes tracked totals differ from stdout-only totals. Artifacts record source counts and warn when observed counts differ or an external runner mixes sources. Partial or mixed ledgers can still omit stream-only calls, and fork-inherited history is not reconciled: no shared call identity proves overlap or complete coverage, so these cases must not be treated as reconciled run totals. Full reconciliation across session, stdout, fork and out-of-turn evidence is deferred to v0.4.5 or later. This release exposes count-based diagnostics but does not automatically reject cost or efficiency comparisons on incomplete evidence.
|
|
102
|
+
|
|
5
103
|
## 0.4.2 - 2026-09-02
|
|
6
104
|
|
|
7
105
|
### Added
|
package/CONTRIBUTING.md
CHANGED
|
@@ -32,12 +32,21 @@ Local and GitHub PR gate (fast, deterministic):
|
|
|
32
32
|
npm run ci
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
+
This runs type checking, lint (including boundaries, documentation drift and
|
|
36
|
+
skill pins), one build, the contract/smoke suite, and the trace-viewer suite.
|
|
37
|
+
Use `npm run skills:check` when checking skill pins on their own; it is already
|
|
38
|
+
included in `lint` and `ci`.
|
|
39
|
+
|
|
35
40
|
Release gate (for maintainers before tags or release artifacts):
|
|
36
41
|
|
|
37
42
|
```bash
|
|
38
43
|
npm run ci:release
|
|
39
44
|
```
|
|
40
45
|
|
|
46
|
+
The release gate includes `ci` and adds the package audit. Running `ci` again
|
|
47
|
+
on the same unchanged tree is unnecessary. Run a focused regression while
|
|
48
|
+
developing a repair, then the full gate for the candidate being reviewed.
|
|
49
|
+
|
|
41
50
|
Live provider validation (manual/opt-in, after `npm run build`):
|
|
42
51
|
|
|
43
52
|
```bash
|
|
@@ -74,22 +83,34 @@ below together with `.github/workflows/release.yml` and
|
|
|
74
83
|
[v0.4.1 release-cut checklist](docs/history/release-cut-checklist.md) is a
|
|
75
84
|
historical record, not a reusable current checklist.
|
|
76
85
|
|
|
77
|
-
1. During development, keep the top changelog section at `## Unreleased
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
1. During development, keep the top changelog section at `## Unreleased`. A
|
|
87
|
+
maintainer collects release work on a **local-only** compact candidate
|
|
88
|
+
branch (`v043` for `v0.4.3`) and bumps `version` there. Never push this
|
|
89
|
+
candidate branch to the canonical repository. Before the cut, retitle the
|
|
90
|
+
changelog section `## <version> - YYYY-MM-DD`.
|
|
91
|
+
2. Run `npm run ci:release` on the exact candidate. It runs the full `ci` gate,
|
|
92
|
+
then `scripts/check-release.mjs`, which verifies the built `dist/` and
|
|
93
|
+
audits the exact npm package contents.
|
|
94
|
+
3. Fetch `origin`, require the fetched `origin/main` to be the candidate's
|
|
95
|
+
ancestor, then fast-forward local `main` with `git merge --ff-only v043`.
|
|
96
|
+
Re-run the release gate if the candidate changed and verify local `main`
|
|
97
|
+
equals the reviewed candidate SHA.
|
|
98
|
+
4. Fetch once more and stop on unexpected movement. With explicit maintainer
|
|
99
|
+
authorization, push only `refs/heads/main:refs/heads/main`; no topic or
|
|
100
|
+
release-candidate branch is pushed to canonical `origin`.
|
|
101
|
+
5. Require CI for that exact `main` SHA to pass. Create the annotated tag on
|
|
102
|
+
that commit and push only it: `git tag -a v0.4.3` followed by
|
|
103
|
+
`git push origin refs/tags/v0.4.3`. The tag must match `package.json`; the
|
|
104
|
+
release workflow refuses mismatches.
|
|
105
|
+
6. `.github/workflows/release.yml` verifies the tag against `package.json`,
|
|
106
|
+
runs `npm run ci:release` on the tagged tree, and creates the GitHub release
|
|
107
|
+
with the tarball attached and the version's `CHANGELOG.md` section as the
|
|
108
|
+
body. It does not publish to npm.
|
|
109
|
+
7. A maintainer publishes from the tagged commit with `npm publish`;
|
|
92
110
|
`prepublishOnly` runs the same `ci:release` gate in release mode first.
|
|
111
|
+
8. Verify the release and tag, then delete the local compact candidate branch.
|
|
112
|
+
The canonical remote returns to its steady state: `main` plus immutable
|
|
113
|
+
release tags and GitHub releases, with no release branch.
|
|
93
114
|
|
|
94
115
|
What `scripts/check-release.mjs` enforces, and how to respond when it fails:
|
|
95
116
|
|
|
@@ -105,7 +126,7 @@ What `scripts/check-release.mjs` enforces, and how to respond when it fails:
|
|
|
105
126
|
- Runtime resources must resolve from the installed package root: prompt
|
|
106
127
|
fragments, builtin agents, model catalogs, the Markdown guides in `docs/`, the 128px logo,
|
|
107
128
|
and `damage-control-rules.yaml`. A new runtime resource must be listed in
|
|
108
|
-
both package.json `files` and
|
|
129
|
+
both package.json `files` and `scripts/release-manifest.json`.
|
|
109
130
|
The double bookkeeping is deliberate: neither edit can silently drop a
|
|
110
131
|
resource the CLI needs at runtime.
|
|
111
132
|
- Size budgets: 10 MB tarball, 50 MB unpacked, set in `check-release.mjs`.
|
|
@@ -122,14 +143,22 @@ that needs them runs.
|
|
|
122
143
|
|
|
123
144
|
## Hard Rules
|
|
124
145
|
|
|
125
|
-
1.
|
|
126
|
-
|
|
127
|
-
|
|
146
|
+
1. The canonical repository's only branch is `main`. Maintainer topic,
|
|
147
|
+
integration, and release-candidate branches stay local and are never pushed
|
|
148
|
+
to canonical `origin`.
|
|
149
|
+
2. Contributors push topic branches to their own forks and open pull requests
|
|
150
|
+
from the fork into canonical `main`; they never push a topic branch to the
|
|
151
|
+
canonical repository.
|
|
152
|
+
3. A maintainer may update canonical `main` only by an explicitly authorized,
|
|
153
|
+
reviewed fast-forward from the exact locally gated candidate. Everyone else
|
|
154
|
+
changes `main` through a pull request reviewed by `@akougkas`.
|
|
128
155
|
4. Keep every PR focused. Split unrelated docs, runtime, CLI, and TUI work.
|
|
129
156
|
5. Update `CHANGELOG.md` for user-visible behavior, developer workflow, or
|
|
130
157
|
release status changes.
|
|
131
158
|
6. Run `npm run ci` before requesting review.
|
|
132
159
|
7. Do not commit secrets, local config, generated `dist/`, or scratch plans.
|
|
160
|
+
8. Push release tags as fully qualified `refs/tags/vX.Y.Z`; never push a
|
|
161
|
+
similarly named branch.
|
|
133
162
|
|
|
134
163
|
## Architecture Invariants
|
|
135
164
|
|
|
@@ -170,6 +199,44 @@ Examples:
|
|
|
170
199
|
- `fix/session-resume-replay`
|
|
171
200
|
- `docs/github-governance`
|
|
172
201
|
|
|
202
|
+
Maintainer branches are local-only. A temporary release candidate uses the
|
|
203
|
+
compact version spelling with no dots: `v043` for release tag `v0.4.3`. Never
|
|
204
|
+
create or push a branch named `v0.4.3`; dotted `vX.Y.Z` names belong exclusively
|
|
205
|
+
to immutable release tags. The compact branch is local scaffolding and is
|
|
206
|
+
deleted after its reviewed commit reaches `main` and the release succeeds.
|
|
207
|
+
|
|
208
|
+
Contributors use the same topic prefixes in their own forks. The pull request
|
|
209
|
+
head is `<contributor-fork>:<topic>` and its base is canonical `main`. Delete
|
|
210
|
+
the fork branch after merge so both the canonical repository and contributor
|
|
211
|
+
forks return to a small steady state.
|
|
212
|
+
|
|
213
|
+
### Branch closeout
|
|
214
|
+
|
|
215
|
+
Branch and worktree cleanup is part of finishing work, not optional future
|
|
216
|
+
housekeeping. Use `branch-closeout` (or `ship closeout`) to automate this
|
|
217
|
+
verification and teardown safely. After a PR is merged or a release is tagged:
|
|
218
|
+
|
|
219
|
+
1. Fetch and prune remote-tracking refs, then verify the PR is merged and its
|
|
220
|
+
result is represented on `origin/main`. An ancestry check is sufficient for
|
|
221
|
+
merge commits; squash and cherry-pick landings require the merged PR and
|
|
222
|
+
resulting commit as evidence rather than a matching subject alone.
|
|
223
|
+
2. Confirm the source worktree has no tracked or untracked work worth keeping.
|
|
224
|
+
Remove a registered worktree with `git worktree remove <path>`, never
|
|
225
|
+
`rm -rf`; use `--force` only after explicitly authorizing disposal of the
|
|
226
|
+
remaining local artifacts.
|
|
227
|
+
3. Delete the local topic or release branch. For a contributor PR, delete its
|
|
228
|
+
branch from the contributor's fork after merge. A topic branch must never be
|
|
229
|
+
created on canonical `origin`, and canonical `main` is never deleted.
|
|
230
|
+
4. Preserve unfinished experiments by filing their result and next decision in
|
|
231
|
+
an issue, not by accumulating anonymous `work/`, `wip/`, or `tmp` refs.
|
|
232
|
+
5. Report the remaining local branches, worktrees, stashes, local-only tags,
|
|
233
|
+
and canonical remote heads. The expected canonical head set is exactly
|
|
234
|
+
`refs/heads/main`; every additional head is a cleanup failure.
|
|
235
|
+
|
|
236
|
+
For a release, first verify `refs/tags/vX.Y.Z^{commit}` equals the reviewed
|
|
237
|
+
commit on `main`, then close the compact candidate branch such as `v043`.
|
|
238
|
+
Published tags are never deleted, moved, or recreated during cleanup.
|
|
239
|
+
|
|
173
240
|
## Commits
|
|
174
241
|
|
|
175
242
|
Use concise conventional subjects:
|
package/README.md
CHANGED
|
@@ -138,7 +138,13 @@ The complete interactive and CLI reference is
|
|
|
138
138
|
Clio stores each model connection as a named **target**: runtime, endpoint,
|
|
139
139
|
model, credentials, and any verified capability overrides. Interactive chat,
|
|
140
140
|
proactive memory, fleet defaults, and individual worker profiles can route
|
|
141
|
-
independently.
|
|
141
|
+
independently. A LiteLLM target keeps the gateway in charge of physical routing,
|
|
142
|
+
authentication, and backend residency; distinct model routes can share one URL.
|
|
143
|
+
Set `context.memory.target` and `context.memory.model` to opt into a dedicated
|
|
144
|
+
memory model. Unset memory roles remain rules-only; a configured route can fall
|
|
145
|
+
back to active chat when unavailable and request capacity permits.
|
|
146
|
+
`context.compaction.model` selects a dedicated summary model; leaving it unset
|
|
147
|
+
uses active chat. An invalid explicit compaction model fails visibly.
|
|
142
148
|
|
|
143
149
|
| Target family | Supported routes |
|
|
144
150
|
| --- | --- |
|
|
@@ -147,7 +153,7 @@ independently.
|
|
|
147
153
|
| Cloud APIs | OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, OpenRouter, Amazon Bedrock |
|
|
148
154
|
| Institutional gateways | Argonne ALCF Sophia and Metis over Globus OAuth |
|
|
149
155
|
| 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 |
|
|
156
|
+
| Worker integrations | Claude SDK, Claude Code, experimental Google Antigravity delegation, and configured ACP agents |
|
|
151
157
|
|
|
152
158
|
The interactive wizard is the easiest path:
|
|
153
159
|
|
|
@@ -222,11 +228,24 @@ directory. See [Context Engine](docs/architecture/context-engine.md),
|
|
|
222
228
|
[Proactive Memory](docs/guide/proactive-memory.md) for the detailed contracts.
|
|
223
229
|
|
|
224
230
|
The local skills marketplace may offer a matching shipped skill during a
|
|
225
|
-
request.
|
|
226
|
-
|
|
227
|
-
|
|
231
|
+
request. Every promotion install requires an explicit bound operator answer,
|
|
232
|
+
including in full-auto. Promotion installs retain their catalog source gate,
|
|
233
|
+
and installation does not activate the skill. Active
|
|
234
|
+
project and user skill trees are operator-owned: main and worker tool admissions
|
|
235
|
+
refuse direct and recognized shell mutations. Draft skill changes outside those
|
|
236
|
+
roots, then use the operator's installation or update workflow. This bounded
|
|
237
|
+
command inspection does not confine arbitrary programs or dynamic shell paths.
|
|
238
|
+
Manual installs remain available for a source you deliberately choose. See
|
|
228
239
|
[Skills Marketplace](docs/guide/skills-marketplace.md).
|
|
229
240
|
|
|
241
|
+
For a repository architecture map, run `clio-coder context index` followed by
|
|
242
|
+
`clio-coder context map`. The latter writes a deterministic JSON seed from the
|
|
243
|
+
index's directory areas and imports. The operator-installed `archify` remote
|
|
244
|
+
skill validates and delivers the interactive diagram; Clio ships its wrapper
|
|
245
|
+
and pinned install metadata, while the renderer comes from upstream. Source
|
|
246
|
+
citations require a pinned GitHub revision. Validation can still report
|
|
247
|
+
composition warnings that need human edits.
|
|
248
|
+
|
|
230
249
|
## Delegate with bounds
|
|
231
250
|
|
|
232
251
|
Clio's orchestrator can send focused assignments to worker agents instead of
|
|
@@ -289,6 +308,16 @@ clio-coder trace phases <run-id>
|
|
|
289
308
|
clio-coder trace tail <run-id>
|
|
290
309
|
```
|
|
291
310
|
|
|
311
|
+
`clio-coder usage report` preserves known failed-compaction spending and labels
|
|
312
|
+
missing coverage. Adapter prices are estimates, and numeric spending ceilings
|
|
313
|
+
bound the known sum; absent telemetry does not prove a call was free. Eval's
|
|
314
|
+
provider-health checks are opt-in and separate from task success. Partial or
|
|
315
|
+
mixed session/stdout evidence and inherited fork history are not reconciled;
|
|
316
|
+
full reconciliation is deferred to v0.4.5 or later, and 0.4.3 does not add an
|
|
317
|
+
automatic cost-comparison rejection. See the
|
|
318
|
+
[Eval Runner](docs/process/eval-runner.md#token-accounting--provenance) for source
|
|
319
|
+
and timing limits.
|
|
320
|
+
|
|
292
321
|
Evidence helps you audit a run; it does not prove that generated code is
|
|
293
322
|
scientifically correct. Domain validation, reference results, and human review
|
|
294
323
|
remain part of the job. The detailed boundaries are in
|
|
@@ -354,7 +383,7 @@ clio-coder --version
|
|
|
354
383
|
From source, pinned to this version:
|
|
355
384
|
|
|
356
385
|
```bash
|
|
357
|
-
git clone --branch v0.4.
|
|
386
|
+
git clone --branch v0.4.4 https://github.com/iowarp/clio-coder.git
|
|
358
387
|
cd clio-coder
|
|
359
388
|
npm ci
|
|
360
389
|
npm run install:local
|
|
@@ -6,32 +6,31 @@ import {
|
|
|
6
6
|
} from "./chunk-2VTFPG5O.js";
|
|
7
7
|
import {
|
|
8
8
|
runClioCommand
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-ZTJUVLTU.js";
|
|
9
|
+
} from "./chunk-UEPWCCTY.js";
|
|
10
|
+
import "./chunk-4WR7VSYB.js";
|
|
12
11
|
import "./chunk-I7XBWTYH.js";
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-3ODX73FK.js";
|
|
13
|
+
import "./chunk-ZTJUVLTU.js";
|
|
14
14
|
import {
|
|
15
15
|
printError
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-34BHNEE3.js";
|
|
16
|
+
} from "./chunk-JCI2ROMZ.js";
|
|
17
|
+
import "./chunk-GHS5EBTQ.js";
|
|
19
18
|
import "./chunk-D7E7WCDF.js";
|
|
20
|
-
import {
|
|
21
|
-
MAX_TIMER_DELAY_MS
|
|
22
|
-
} from "./chunk-EBY63B7G.js";
|
|
23
19
|
import "./chunk-IWHMRKLL.js";
|
|
24
20
|
import "./chunk-UXCU4E3T.js";
|
|
25
21
|
import "./chunk-LL4KHSZI.js";
|
|
26
22
|
import "./chunk-S66XZJOF.js";
|
|
27
|
-
import
|
|
23
|
+
import {
|
|
24
|
+
MAX_TIMER_DELAY_MS
|
|
25
|
+
} from "./chunk-EBY63B7G.js";
|
|
26
|
+
import "./chunk-ID64D7PE.js";
|
|
28
27
|
import "./chunk-336NSSKI.js";
|
|
29
28
|
import "./chunk-IKCO5N3L.js";
|
|
30
29
|
import "./chunk-3I7MS7N2.js";
|
|
31
30
|
import "./chunk-APJ265NV.js";
|
|
32
|
-
import "./chunk-BYP5D4HI.js";
|
|
33
31
|
import "./chunk-WEPFGWHJ.js";
|
|
34
32
|
import "./chunk-YXLYO42X.js";
|
|
33
|
+
import "./chunk-BYP5D4HI.js";
|
|
35
34
|
import {
|
|
36
35
|
init_esm_shims
|
|
37
36
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -127,4 +126,4 @@ async function runAcpCommand(args, options = {}) {
|
|
|
127
126
|
export {
|
|
128
127
|
runAcpCommand
|
|
129
128
|
};
|
|
130
|
-
//# sourceMappingURL=acp-
|
|
129
|
+
//# sourceMappingURL=acp-WNAYYF4F.js.map
|
|
@@ -1,87 +1,90 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import "./chunk-JQLNNIKT.js";
|
|
3
|
+
import "./chunk-GWZNEVM2.js";
|
|
4
|
+
import "./chunk-5ICU3EUH.js";
|
|
5
|
+
import {
|
|
6
|
+
ConfigDomainModule,
|
|
7
|
+
loadDomains
|
|
8
|
+
} from "./chunk-72YIHOZQ.js";
|
|
9
|
+
import "./chunk-4WR7VSYB.js";
|
|
2
10
|
import {
|
|
3
11
|
SafetyDomainModule
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-F2I26BDK.js";
|
|
6
|
-
import "./chunk-DYHAXKHD.js";
|
|
7
|
-
import "./chunk-QQLGQY2A.js";
|
|
12
|
+
} from "./chunk-5636DCO5.js";
|
|
8
13
|
import {
|
|
9
|
-
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
14
|
+
AgentsDomainModule
|
|
15
|
+
} from "./chunk-RZDWV63N.js";
|
|
16
|
+
import "./chunk-7UGL4MB5.js";
|
|
17
|
+
import "./chunk-DR52UMZW.js";
|
|
18
|
+
import "./chunk-ODGTEFFI.js";
|
|
19
|
+
import "./chunk-OEJSLEPW.js";
|
|
20
|
+
import "./chunk-RKKLTLYB.js";
|
|
21
|
+
import "./chunk-2ASED4PZ.js";
|
|
12
22
|
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} from "./chunk-CYZW7JHJ.js";
|
|
23
|
+
ensureClioState
|
|
24
|
+
} from "./chunk-IGLP3ODT.js";
|
|
16
25
|
import "./chunk-3M6DQK6S.js";
|
|
17
|
-
import "./chunk-M2DAX4F6.js";
|
|
18
|
-
import "./chunk-4O6MANBS.js";
|
|
19
26
|
import "./chunk-LCGCVYZ4.js";
|
|
20
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-2ZSONWVL.js";
|
|
28
|
+
import "./chunk-NDDGJUXD.js";
|
|
29
|
+
import "./chunk-YECAMM3D.js";
|
|
30
|
+
import "./chunk-V76WTFTW.js";
|
|
21
31
|
import "./chunk-3DPEIQKN.js";
|
|
32
|
+
import "./chunk-TQAHXW6Y.js";
|
|
33
|
+
import "./chunk-5MEZN6CB.js";
|
|
34
|
+
import "./chunk-NEKRRTYW.js";
|
|
35
|
+
import "./chunk-JEIYHLOR.js";
|
|
36
|
+
import "./chunk-I7XBWTYH.js";
|
|
37
|
+
import "./chunk-3ODX73FK.js";
|
|
38
|
+
import "./chunk-4O6MANBS.js";
|
|
22
39
|
import {
|
|
23
|
-
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-CRFOIAX3.js";
|
|
26
|
-
import "./chunk-DR52UMZW.js";
|
|
27
|
-
import "./chunk-O3YUNJZ2.js";
|
|
28
|
-
import "./chunk-NDDGJUXD.js";
|
|
29
|
-
import "./chunk-XGDPUNND.js";
|
|
30
|
-
import "./chunk-3F7VUY77.js";
|
|
31
|
-
import "./chunk-RKKLTLYB.js";
|
|
32
|
-
import "./chunk-HLAFFSEK.js";
|
|
33
|
-
import "./chunk-77QIVUZB.js";
|
|
40
|
+
printError
|
|
41
|
+
} from "./chunk-JCI2ROMZ.js";
|
|
34
42
|
import "./chunk-5PSMVOLM.js";
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-IDNA72AH.js";
|
|
38
|
-
import "./chunk-FVDGR2ZL.js";
|
|
39
|
-
import "./chunk-VN3SHNBN.js";
|
|
40
|
-
import "./chunk-FSP7CMNU.js";
|
|
41
|
-
import "./chunk-HHV2GANA.js";
|
|
43
|
+
import "./chunk-6QOTUPRG.js";
|
|
44
|
+
import "./chunk-6Q3CYFD3.js";
|
|
42
45
|
import {
|
|
43
46
|
isUserVisibleAgent
|
|
44
|
-
} from "./chunk-
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import "./chunk-UL3WSD3F.js";
|
|
47
|
+
} from "./chunk-KFV5L5SK.js";
|
|
48
|
+
import "./chunk-NXYCB2VD.js";
|
|
47
49
|
import "./chunk-ECH6PKUQ.js";
|
|
50
|
+
import "./chunk-DXKJURES.js";
|
|
51
|
+
import "./chunk-HHV2GANA.js";
|
|
52
|
+
import "./chunk-GYV6VZOC.js";
|
|
53
|
+
import "./chunk-UL3WSD3F.js";
|
|
48
54
|
import "./chunk-5B2AEOW5.js";
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-MQXIVJ35.js";
|
|
55
|
+
import "./chunk-QSNYB6ZV.js";
|
|
56
|
+
import "./chunk-54X7T7DK.js";
|
|
57
|
+
import "./chunk-I5FWO7L5.js";
|
|
58
|
+
import "./chunk-6XLNIQDB.js";
|
|
59
|
+
import "./chunk-4NSRCOYP.js";
|
|
60
|
+
import "./chunk-QDC3K2U3.js";
|
|
61
|
+
import "./chunk-2JH2WHGE.js";
|
|
62
|
+
import "./chunk-KXDSS5WJ.js";
|
|
63
|
+
import "./chunk-GHS5EBTQ.js";
|
|
64
|
+
import "./chunk-D7E7WCDF.js";
|
|
65
|
+
import "./chunk-HAXOFFRH.js";
|
|
61
66
|
import "./chunk-R346GLFC.js";
|
|
62
|
-
import "./chunk-PMZVFWSR.js";
|
|
63
67
|
import "./chunk-BTK3SSSK.js";
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-34BHNEE3.js";
|
|
66
|
-
import "./chunk-D7E7WCDF.js";
|
|
67
|
-
import "./chunk-HJWWJ6IL.js";
|
|
68
|
+
import "./chunk-PMZVFWSR.js";
|
|
68
69
|
import "./chunk-F4EKGO4N.js";
|
|
69
|
-
import "./chunk-
|
|
70
|
-
import "./chunk-EBY63B7G.js";
|
|
71
|
-
import "./chunk-6EJMN2Y3.js";
|
|
70
|
+
import "./chunk-XPLRXC72.js";
|
|
72
71
|
import "./chunk-IWHMRKLL.js";
|
|
73
72
|
import "./chunk-UXCU4E3T.js";
|
|
74
73
|
import "./chunk-LL4KHSZI.js";
|
|
75
74
|
import "./chunk-S66XZJOF.js";
|
|
76
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-TOIVGRUX.js";
|
|
76
|
+
import "./chunk-U6TMQNSI.js";
|
|
77
|
+
import "./chunk-EBY63B7G.js";
|
|
78
|
+
import "./chunk-6EJMN2Y3.js";
|
|
79
|
+
import "./chunk-ID64D7PE.js";
|
|
77
80
|
import "./chunk-336NSSKI.js";
|
|
78
81
|
import "./chunk-IKCO5N3L.js";
|
|
79
82
|
import "./chunk-3I7MS7N2.js";
|
|
80
83
|
import "./chunk-APJ265NV.js";
|
|
81
|
-
import "./chunk-BYP5D4HI.js";
|
|
82
84
|
import "./chunk-WEPFGWHJ.js";
|
|
83
85
|
import "./chunk-NUGM5KR6.js";
|
|
84
86
|
import "./chunk-YXLYO42X.js";
|
|
87
|
+
import "./chunk-BYP5D4HI.js";
|
|
85
88
|
import {
|
|
86
89
|
init_esm_shims
|
|
87
90
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -141,4 +144,4 @@ function renderLine(spec) {
|
|
|
141
144
|
export {
|
|
142
145
|
runAgentsCommand
|
|
143
146
|
};
|
|
144
|
-
//# sourceMappingURL=agents-
|
|
147
|
+
//# sourceMappingURL=agents-3OKXHLOI.js.map
|