@iowarp/clio-coder 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -0
- package/CONTRIBUTING.md +59 -36
- package/README.md +407 -375
- package/SECURITY.md +2 -1
- package/dist/{acp-G5WJBNCT.js → acp-TMDQZDIG.js} +14 -14
- package/dist/{agents-FMV2Q5G4.js → agents-5N5NG3XG.js} +45 -34
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-3IDSJEIK.js → auth-Z5CCBXKQ.js} +22 -21
- package/dist/{builtins-XCZWXSC7.js → builtins-K6TNDT24.js} +6 -6
- package/dist/{chunk-GR5G2PVF.js → chunk-2HFQNRV3.js} +15 -10
- package/dist/{chunk-PQEFIJ36.js → chunk-2LEAKD4C.js} +1 -2
- package/dist/{chunk-HJJTYUHX.js → chunk-2NHR3NAY.js} +168 -1406
- package/dist/chunk-2X4RYJTJ.js +39 -0
- package/dist/{chunk-UXMFQ54G.js → chunk-2Z2IKEXI.js} +39 -43
- package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
- package/dist/chunk-34BHNEE3.js +1846 -0
- package/dist/{chunk-YJX4SHTD.js → chunk-35MSIRKH.js} +9 -4
- package/dist/chunk-3EBYEESD.js +314 -0
- package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
- package/dist/chunk-3KIPBMUA.js +308 -0
- package/dist/chunk-3M6DQK6S.js +362 -0
- package/dist/{chunk-BPKCPIL7.js → chunk-462T4EGZ.js} +3 -3
- package/dist/{chunk-QLFS5GO2.js → chunk-4JDLP6ZS.js} +44 -37
- package/dist/{chunk-LDQ2ZF2M.js → chunk-4O6MANBS.js} +6 -6
- package/dist/{chunk-O6TL7WWY.js → chunk-54ODD65L.js} +6 -6
- package/dist/{chunk-JDG2WCRO.js → chunk-5KW52TEP.js} +5 -5
- package/dist/{chunk-NHLBIGRH.js → chunk-5PFYMY2V.js} +41 -18
- package/dist/{chunk-P3FOHJT4.js → chunk-72GZI5EV.js} +2 -2
- package/dist/chunk-77QIVUZB.js +1334 -0
- package/dist/{chunk-HWHKMHUA.js → chunk-7BHIY2MW.js} +9 -15
- package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
- package/dist/{chunk-VAZSBTKF.js → chunk-AZ4WMN4W.js} +2 -2
- package/dist/{chunk-B7OBL7PK.js → chunk-B74PXLU7.js} +21 -11
- package/dist/{chunk-CY6FY24N.js → chunk-B7HM5Z7T.js} +15 -15
- package/dist/{chunk-ULC6OTWO.js → chunk-BO7Y52RY.js} +88 -27
- package/dist/chunk-BTK3SSSK.js +67 -0
- package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
- package/dist/{chunk-DQITNCXG.js → chunk-BYMNWQ7O.js} +149 -159
- package/dist/{chunk-HI63TFOG.js → chunk-CDNVLKUX.js} +3 -3
- package/dist/{chunk-Z4TXYIEG.js → chunk-CRFOIAX3.js} +10 -10
- package/dist/{chunk-UM7N4G5A.js → chunk-CWVRRIEI.js} +2 -2
- package/dist/{chunk-3BT2XMV4.js → chunk-CYZW7JHJ.js} +53 -60
- package/dist/{chunk-BKFM6EJV.js → chunk-D4CJV46V.js} +2 -2
- package/dist/chunk-D7E7WCDF.js +27 -0
- package/dist/{chunk-X3YGUTOB.js → chunk-DYHAXKHD.js} +90 -62
- package/dist/{chunk-QBJA7R7N.js → chunk-DZAW46HP.js} +3 -3
- package/dist/{chunk-MLKNTWH2.js → chunk-DZEK6CJN.js} +22 -22
- package/dist/{chunk-K5C3NCBD.js → chunk-E7GT7O5N.js} +5 -5
- package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
- package/dist/chunk-F2I26BDK.js +66 -0
- package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
- package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
- package/dist/{chunk-32KWKNSF.js → chunk-FVDGR2ZL.js} +4 -4
- package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
- package/dist/{chunk-SJ5ZKQ4S.js → chunk-HIICAHCJ.js} +2 -2
- package/dist/chunk-HJWWJ6IL.js +184 -0
- package/dist/{chunk-WZR7K7ZX.js → chunk-HKMD33FO.js} +32 -83
- package/dist/chunk-HLAFFSEK.js +360 -0
- package/dist/{chunk-VO67MWHC.js → chunk-HRQMFLJP.js} +3 -3
- package/dist/{chunk-KFZI4NIL.js → chunk-I64IFBLB.js} +152 -31
- package/dist/{chunk-BKFJHQCA.js → chunk-I66EAJFY.js} +2 -2
- package/dist/{chunk-BUMFYQFY.js → chunk-I66ZTYNP.js} +543 -267
- package/dist/{chunk-2OQE55CK.js → chunk-I7XBWTYH.js} +2 -2
- package/dist/{chunk-GKF55TAZ.js → chunk-IDNA72AH.js} +104 -3
- package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
- package/dist/{chunk-J4W7KFM7.js → chunk-IKSLQ4XV.js} +5439 -3475
- package/dist/{chunk-6DB53AJS.js → chunk-IMXMHHMQ.js} +171 -30
- package/dist/{chunk-AB44T6BB.js → chunk-JBCS7CRR.js} +8 -7
- package/dist/{chunk-BBVJUZHB.js → chunk-JIEGK6UF.js} +5 -173
- package/dist/{chunk-SP2RXXYO.js → chunk-JWJGP5DQ.js} +10 -10
- package/dist/{chunk-HZHHCK24.js → chunk-KKOJXO6R.js} +527 -325
- package/dist/chunk-KPXDY6QF.js +47 -0
- package/dist/{chunk-LQ3DZAMX.js → chunk-LJID3DYZ.js} +8 -2
- package/dist/{chunk-7MCTRUCE.js → chunk-M2DAX4F6.js} +2 -2
- package/dist/{chunk-VEO4AP2K.js → chunk-M2WXEHER.js} +4 -3
- package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
- package/dist/{chunk-YDFRH54B.js → chunk-MCMZMDAC.js} +4 -4
- package/dist/{chunk-J5Q24KAG.js → chunk-MNJGS2IN.js} +5 -6
- package/dist/{chunk-76ONBSIA.js → chunk-MQXIVJ35.js} +14 -5
- package/dist/chunk-NDDGJUXD.js +81 -0
- package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
- package/dist/chunk-NMJXSHBJ.js +283 -0
- package/dist/{chunk-VYMXRQI6.js → chunk-O3YUNJZ2.js} +88 -100
- package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
- package/dist/{chunk-Z2RR6MAK.js → chunk-P75RZCJW.js} +28 -6
- package/dist/{chunk-NHCZP4K7.js → chunk-PBP4B7XR.js} +2 -2
- package/dist/{chunk-DYJP44XW.js → chunk-PGF63K6I.js} +2 -2
- package/dist/chunk-PJX3WQUQ.js +42 -0
- package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
- package/dist/{chunk-2JDWVJND.js → chunk-Q4XWMHX6.js} +5 -7
- package/dist/{chunk-W5VSYASO.js → chunk-QQLGQY2A.js} +46 -87
- package/dist/{chunk-KMVISBZR.js → chunk-RKSR6VSF.js} +1 -1
- package/dist/{chunk-C2LTL2W6.js → chunk-RLYRBIYQ.js} +463 -180
- package/dist/{chunk-4ZG3XFUR.js → chunk-S66XZJOF.js} +14 -23
- package/dist/{chunk-I5VEOC6I.js → chunk-SSEYRH53.js} +13 -14
- package/dist/chunk-SZAA6XDG.js +30 -0
- package/dist/{chunk-CODPRO7Q.js → chunk-TPEQIQIE.js} +7 -7
- package/dist/{chunk-QLL7ILRG.js → chunk-UBRFI4HS.js} +1151 -614
- package/dist/{chunk-O4XIVISU.js → chunk-UH347SHR.js} +227 -47
- package/dist/{chunk-OQBA45DZ.js → chunk-UH632ZYL.js} +2 -2
- package/dist/chunk-UXCU4E3T.js +303 -0
- package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
- package/dist/{chunk-IQ7KR472.js → chunk-VIA6RFQZ.js} +8 -13
- package/dist/{chunk-V5DHCITQ.js → chunk-VKPAQYEB.js} +49 -19
- package/dist/{chunk-5LXZXPKX.js → chunk-VN3SHNBN.js} +2 -2
- package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
- package/dist/{chunk-3XML7CDN.js → chunk-W4YEMFBX.js} +3 -3
- package/dist/{chunk-U77AMWDL.js → chunk-W6NIE6OW.js} +44 -23
- package/dist/{chunk-BBVYXMFO.js → chunk-WNP7O5WZ.js} +2 -2
- package/dist/{chunk-QREDIESB.js → chunk-X7IARSHT.js} +15 -9
- package/dist/{chunk-3URVFKWK.js → chunk-XE3PCIXH.js} +5 -5
- package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
- package/dist/{chunk-F4CKPOEQ.js → chunk-XOXV5GKE.js} +119 -38
- package/dist/chunk-XQRY4DTA.js +657 -0
- package/dist/{chunk-NYS75XW5.js → chunk-YAKGTXEV.js} +5 -3
- package/dist/{chunk-NQQH3YT7.js → chunk-YJISEZKC.js} +3 -3
- package/dist/{chunk-X75E3D2N.js → chunk-ZGNYYXQ6.js} +18 -16
- package/dist/{chunk-LY4S7GJC.js → chunk-ZNT2M6TG.js} +20 -18
- package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
- package/dist/{chunk-IBEBSCYA.js → chunk-ZW4HH5JJ.js} +43 -34
- package/dist/{chunk-2ANTL7MR.js → chunk-ZW55JB7N.js} +2 -2
- package/dist/cli/index.js +38 -37
- package/dist/{clio-2JXHBBY5.js → clio-7VB377CC.js} +12 -13
- package/dist/{code-nav-3YYRMYNF.js → code-nav-YVLCYA7V.js} +86 -18
- 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-4HVOS65E.js} +112 -63
- package/dist/{configure-TEGEBYCA.js → configure-PIWO7B24.js} +25 -22
- package/dist/{context-E6H5RNMC.js → context-IYEHL3WQ.js} +53 -47
- package/dist/{context-GSXUE4CT.js → context-KQYIWPWT.js} +68 -42
- package/dist/{context-AV7OEZ4D.js → context-N6ZE3LGJ.js} +11 -11
- package/dist/{context-clear-SHIBYK6T.js → context-clear-G4OGZJDS.js} +53 -47
- package/dist/{context-working-set-5ZGKPGZQ.js → context-working-set-BWLF6LJP.js} +12 -11
- package/dist/{dispatch-runner-EFMJT4LD.js → dispatch-runner-2QQAITS3.js} +67 -58
- package/dist/{docs-23KQS3XK.js → docs-PD3EXDKU.js} +20 -25
- package/dist/doctor-LHBD36VU.js +773 -0
- package/dist/{eval-TFBYQH4H.js → eval-C45FYRJ6.js} +68 -49
- package/dist/{eval-inventory-SXH7PDKX.js → eval-inventory-6DEJPLBF.js} +7 -8
- package/dist/{evidence-ERGESKGN.js → evidence-6SHONYAF.js} +50 -44
- package/dist/{evolve-VDXTSYCJ.js → evolve-KRKMV72X.js} +49 -43
- package/dist/{extensions-7BGBHN57.js → extensions-KPZ2UHBB.js} +8 -6
- package/dist/{fleet-2RRVDF2V.js → fleet-IVTCKDHT.js} +93 -79
- package/dist/{fleet-commands-VJ726XIA.js → fleet-commands-EDWL3IT7.js} +10 -9
- package/dist/{fleet-decisions-EPAPM3XJ.js → fleet-decisions-YP3YEFGK.js} +6 -6
- package/dist/{fleet-graph-JF5QOATM.js → fleet-graph-ZFWKHY2M.js} +19 -15
- package/dist/{fleet-inspect-VLY4S7QM.js → fleet-inspect-FVUNCBML.js} +50 -45
- package/dist/{fleet-preflight-AIZUEJOY.js → fleet-preflight-UN5XED4R.js} +5 -9
- package/dist/{fleet-validate-AJRPDMDV.js → fleet-validate-XOWC4HSX.js} +22 -17
- package/dist/{fleet-verify-JFEL2L3H.js → fleet-verify-UN3SODEL.js} +48 -43
- package/dist/fleet-view-TWHJKCN6.js +96 -0
- package/dist/{init-DN2WWLFE.js → init-T2QORQ3Y.js} +72 -66
- package/dist/{install-XGLBQY5E.js → install-NKNG7KD4.js} +2 -2
- package/dist/{interop-OZBKXAYL.js → interop-IN5I2A66.js} +13 -11
- package/dist/{library-YWZG7IMW.js → library-LSCATDLZ.js} +23 -18
- package/dist/{memory-I4C4HMLW.js → memory-HYOKAGGJ.js} +51 -45
- package/dist/{models-CEYXJBO6.js → models-2GPMFYCM.js} +42 -33
- package/dist/{monitor-NZ6GCI3P.js → monitor-E4ASVUJH.js} +56 -50
- package/dist/{orchestrator-GCGQ4N5I.js → orchestrator-DDMPR3PY.js} +2676 -1507
- package/dist/{panes-KY6W3V2E.js → panes-E3RUXOW5.js} +5 -5
- package/dist/panes-IXKLOKA2.js +75 -0
- package/dist/{paths-II4K7DNR.js → paths-L7LGY6RN.js} +4 -4
- package/dist/{reset-DQ6FGCSH.js → reset-OAQP3W4O.js} +7 -8
- package/dist/{resources-BB3MVJMD.js → resources-OTRSN34L.js} +23 -17
- package/dist/{run-H2GQDUER.js → run-5DEYH5QK.js} +95 -84
- package/dist/{share-GTJN6A5O.js → share-IHWTLO3M.js} +26 -19
- package/dist/{skills-L55TEW6R.js → skills-IYMXMKW4.js} +25 -20
- package/dist/{skills-eval-XVXPH2JI.js → skills-eval-DROHSJAR.js} +63 -65
- package/dist/{skills-inventory-S4MXPJFV.js → skills-inventory-D7X4L4ZX.js} +21 -16
- package/dist/{slash-commands-ZSGASKJC.js → slash-commands-QBM7UZ3B.js} +38 -33
- package/dist/{steer-RZGSCY4R.js → steer-Z5DO23FJ.js} +3 -3
- package/dist/{support-PKEUNNQL.js → support-U7QOWY26.js} +6 -6
- package/dist/{targets-NCPZ644J.js → targets-P2FUC4IL.js} +64 -61
- package/dist/{terminal-lease-44SV3YCN.js → terminal-lease-YREJ3JX2.js} +15 -10
- package/dist/{tools-DAF3DI3C.js → tools-5B7RO6MV.js} +10 -8
- package/dist/{trace-FYVW2MQA.js → trace-YMGMUM6A.js} +101 -8
- 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-PXK3S2YM.js} +36 -61
- package/dist/{usage-3NLHGTU2.js → usage-ME5MPXGX.js} +58 -53
- package/dist/{verifiers-SSQONKRT.js → verifiers-BVZ7IWOO.js} +10 -9
- package/dist/{verify-3U6J7FZI.js → verify-5K7ZKQFC.js} +9 -8
- package/dist/{web-fetch-S7RR6GZ7.js → web-fetch-MPARV2K7.js} +2 -3
- package/dist/{wiki-generate-CEHYGPGQ.js → wiki-generate-F5W5QTYY.js} +74 -70
- package/dist/{with-panes-MKB46MPQ.js → with-panes-BYOJCLAM.js} +78 -246
- package/dist/worker/entry.js +83 -63
- package/docs/README.md +176 -81
- package/docs/{acp.md → architecture/acp.md} +36 -20
- package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
- package/docs/{architecture.md → architecture/architecture.md} +43 -22
- package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
- package/docs/architecture/artifact-versions.md +90 -0
- package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
- package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
- package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
- package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
- package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
- package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
- package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
- package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
- package/docs/{observability.md → architecture/observability.md} +26 -13
- package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
- package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
- package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
- package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
- package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
- package/docs/architecture/time-conventions.md +125 -0
- package/docs/{trace-store.md → architecture/trace-store.md} +26 -13
- package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
- package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
- package/docs/{built-in-agents.md → guide/built-in-agents.md} +70 -46
- package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +73 -62
- package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -444
- package/docs/guide/configuration-reference.md +1158 -0
- package/docs/{environment-variables.md → guide/environment-variables.md} +31 -27
- package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +8 -3
- package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
- package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +47 -49
- package/docs/{glossary.md → guide/glossary.md} +14 -11
- package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +45 -14
- package/docs/guide/panes-and-files.md +290 -0
- package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
- package/docs/{resource-library.md → guide/resource-library.md} +13 -4
- package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
- package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
- package/docs/{troubleshooting.md → guide/troubleshooting.md} +10 -5
- package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +13 -10
- package/docs/history/release-cut-checklist.md +207 -0
- package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
- package/docs/process/documentation-coverage.md +100 -0
- package/docs/process/documentation-guide.md +187 -0
- package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
- package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
- package/docs/{evolution.md → process/evolution.md} +2 -2
- package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +17 -10
- package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
- package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
- package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
- package/evals/README.md +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 +13 -21
- package/skills/README.md +51 -42
- package/skills/coding/ast-grep/SKILL.md +9 -3
- package/skills/coding/coding-standards/SKILL.md +9 -3
- package/skills/coding/prototype/SKILL.md +9 -3
- package/skills/coding/tdd/SKILL.md +9 -3
- package/skills/context/context-handoff/SKILL.md +13 -4
- package/skills/context/context-handoff/evals.md +3 -3
- package/skills/context/context-prime/SKILL.md +9 -3
- package/skills/context/context-prime/evals.md +2 -2
- package/skills/git/file-ticket/SKILL.md +10 -5
- 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 +9 -3
- package/skills/git/resolve-merge-conflicts/evals.md +2 -2
- package/skills/git/ship/SKILL.md +10 -4
- package/skills/git/ship/evals.md +4 -4
- package/skills/git/worktree-create/SKILL.md +8 -3
- package/skills/git/worktree-create/evals.md +6 -6
- package/skills/git/worktree-merge/SKILL.md +8 -3
- package/skills/git/worktree-merge/evals.md +6 -6
- package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +22 -12
- package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +5 -4
- package/skills/meta/clio-coder-test/SKILL.md +146 -0
- package/skills/meta/{clio-test → clio-coder-test}/evals.md +10 -5
- package/skills/meta/clio-coder-test/references/harness.md +102 -0
- package/skills/meta/clio-coder-test/references/test-map.md +96 -0
- package/skills/meta/credentials/SKILL.md +10 -3
- package/skills/meta/find-skills/SKILL.md +9 -3
- package/skills/meta/herdr/SKILL.md +9 -3
- package/skills/meta/skill-craft/SKILL.md +39 -16
- package/skills/planning/architecture/SKILL.md +9 -3
- package/skills/planning/backlog/SKILL.md +9 -3
- package/skills/planning/prd/SKILL.md +9 -3
- package/skills/planning/product-intent/SKILL.md +9 -3
- package/skills/planning/tech-spec/SKILL.md +9 -3
- package/skills/registry.yaml +66 -66
- package/skills/research/arxiv-literature/SKILL.md +9 -3
- package/skills/research/experiment-protocol/SKILL.md +10 -3
- package/skills/research/scientific-debugging/SKILL.md +10 -3
- package/skills/research/scientific-debugging/evals.md +2 -2
- package/skills/research/scientific-modernization/SKILL.md +10 -3
- package/skills/skill-marketplace.json +285 -66
- package/skills/workflow/cut-it/SKILL.md +11 -3
- package/skills/workflow/design-council/SKILL.md +12 -3
- package/skills/workflow/grill-me/SKILL.md +9 -3
- package/skills/workflow/workflow-distiller/SKILL.md +9 -3
- package/src/cli/acp.ts +2 -2
- package/src/cli/args.ts +2 -2
- package/src/cli/auth.ts +2 -2
- package/src/cli/bootstrap-generate.ts +6 -6
- package/src/cli/clio.ts +6 -1
- package/src/cli/config-inspect.ts +68 -15
- package/src/cli/configure-interop.ts +1 -1
- package/src/cli/configure.ts +27 -31
- package/src/cli/default-target.ts +1 -1
- package/src/cli/docs.ts +28 -20
- package/src/cli/doctor-naming.ts +323 -0
- package/src/cli/doctor-panes.ts +46 -14
- package/src/cli/doctor-toolchain.ts +31 -10
- package/src/cli/doctor.ts +15 -1
- package/src/cli/eval-inventory.ts +8 -8
- package/src/cli/eval.ts +1 -2
- package/src/cli/evidence-detail.ts +1 -1
- package/src/cli/evidence-inventory.ts +1 -1
- package/src/cli/extensions.ts +2 -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 +9 -6
- package/src/cli/index.ts +2 -1
- package/src/cli/internal-dispatch.ts +3 -4
- 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/panes.ts +19 -5
- package/src/cli/reset.ts +1 -1
- package/src/cli/run.ts +13 -17
- package/src/cli/share.ts +6 -2
- package/src/cli/skills-eval.ts +14 -14
- package/src/cli/targets.ts +25 -30
- package/src/cli/trace-inspect.ts +1 -1
- package/src/cli/trace.ts +96 -4
- 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 +6 -6
- package/src/core/artifact-paths.ts +1 -1
- package/src/core/bash-exec.ts +132 -87
- package/src/core/boot-trace.ts +3 -3
- package/src/core/bus-events.ts +51 -6
- package/src/core/bus-trace.ts +2 -2
- package/src/core/compile-cache.ts +1 -1
- package/src/core/config.ts +1066 -886
- package/src/core/defaults.ts +326 -530
- package/src/core/dispatch-outcome.ts +16 -0
- 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 +33 -52
- package/src/core/naming-compat.ts +45 -0
- package/src/core/naming-events.ts +62 -0
- package/src/core/prompt-hint.ts +9 -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/builtins/architect.md +2 -3
- package/src/domains/agents/builtins/coder.md +3 -2
- package/src/domains/agents/builtins/debugger.md +2 -2
- package/src/domains/agents/builtins/documenter.md +2 -2
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/oracle.md +1 -1
- package/src/domains/agents/builtins/provenance.md +1 -1
- package/src/domains/agents/builtins/researcher.md +1 -1
- package/src/domains/agents/builtins/scout.md +1 -1
- package/src/domains/agents/builtins/tester.md +2 -2
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +1 -1
- package/src/domains/agents/catalog.ts +14 -26
- package/src/domains/agents/contract.ts +2 -0
- package/src/domains/agents/extension.ts +26 -4
- 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 +56 -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 -6
- package/src/domains/context/prompt-context.ts +1 -1
- package/src/domains/context/wiki/assemble.ts +2 -2
- package/src/domains/context/working-set/path-index.ts +1 -0
- 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/capability-match.ts +10 -0
- 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 +169 -82
- 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/host-verification.ts +435 -39
- package/src/domains/dispatch/intent-requirements.ts +10 -0
- package/src/domains/dispatch/intent.ts +18 -1
- package/src/domains/dispatch/joint-route-resolver.ts +1 -1
- package/src/domains/dispatch/path-scope.ts +220 -70
- 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 +9 -19
- package/src/domains/dispatch/state.ts +2 -3
- package/src/domains/dispatch/tool-stats.ts +1 -1
- package/src/domains/dispatch/transport.ts +47 -40
- package/src/domains/dispatch/types.ts +58 -6
- package/src/domains/dispatch/worker-protocol.ts +2 -2
- package/src/domains/eval/artifacts/store.ts +10 -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 +20 -3
- 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/evidence/trust-status.ts +10 -1
- package/src/domains/extensions/contract.ts +15 -1
- package/src/domains/extensions/discovery.ts +238 -41
- package/src/domains/extensions/extension.ts +105 -6
- package/src/domains/extensions/index.ts +24 -0
- package/src/domains/extensions/integrity.ts +189 -0
- package/src/domains/extensions/manager.ts +17 -1
- package/src/domains/extensions/resource-path.ts +27 -0
- package/src/domains/extensions/resources.ts +18 -38
- package/src/domains/extensions/snapshot-store.ts +39 -0
- package/src/domains/extensions/snapshot.ts +180 -0
- package/src/domains/extensions/state.ts +385 -57
- package/src/domains/extensions/types.ts +118 -1
- package/src/domains/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-extension-install-digests.ts +27 -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 +22 -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 +276 -0
- package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
- package/src/domains/lifecycle/naming-yazi.ts +86 -0
- package/src/domains/lifecycle/upgrade-notice.ts +1 -1
- package/src/domains/memory/task-memory-handoff.ts +6 -3
- package/src/domains/middleware/contract.ts +26 -0
- package/src/domains/middleware/extension.ts +24 -24
- package/src/domains/middleware/hook-receipts.ts +27 -4
- package/src/domains/middleware/hooks-io.ts +65 -32
- package/src/domains/middleware/hooks.ts +64 -0
- package/src/domains/middleware/index.ts +35 -4
- package/src/domains/middleware/marketplace-offer.ts +339 -0
- package/src/domains/middleware/registrations.ts +326 -0
- package/src/domains/middleware/runtime.ts +30 -2
- package/src/domains/middleware/snapshot.ts +20 -7
- package/src/domains/mux/contract.ts +195 -25
- package/src/domains/mux/detect.ts +23 -6
- package/src/domains/mux/dock-controller.ts +365 -0
- package/src/domains/mux/extension.ts +7 -1
- package/src/domains/mux/index.ts +21 -1
- package/src/domains/mux/operations.ts +72 -5
- 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/assets/yazi.toml +2 -2
- 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 +79 -7
- package/src/domains/mux/yazi/theme.ts +117 -17
- package/src/domains/observability/contract.ts +10 -11
- package/src/domains/observability/extension.ts +12 -4
- package/src/domains/observability/out-of-turn-usage.ts +2 -2
- package/src/domains/observability/projection.ts +15 -91
- package/src/domains/observability/trace-store.ts +65 -19
- package/src/domains/prompts/compiler.ts +75 -55
- package/src/domains/prompts/contract.ts +15 -3
- package/src/domains/prompts/extension.ts +100 -12
- package/src/domains/prompts/fragments/identity/clio-worker.md +2 -4
- package/src/domains/prompts/fragments/identity/clio.md +6 -12
- package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
- package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
- package/src/domains/prompts/fragments/operating/contract.md +7 -15
- package/src/domains/prompts/fragments/operating/delegation.md +32 -34
- package/src/domains/prompts/fragments/operating/skills.md +11 -18
- package/src/domains/prompts/fragments/operating/worker.md +1 -8
- package/src/domains/providers/extension.ts +5 -5
- package/src/domains/providers/index.ts +1 -1
- package/src/domains/providers/knowledge-base-path.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +99 -23
- 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} +671 -106
- package/src/domains/providers/plugins.ts +1 -1
- package/src/domains/providers/resolver.ts +1 -1
- package/src/domains/providers/runtime-resolution.ts +31 -0
- 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 +9 -4
- package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -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/cost-provenance.ts +19 -0
- package/src/domains/providers/types/knowledge-base.ts +13 -0
- package/src/domains/providers/types/local-model-quirks.ts +87 -39
- 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 +41 -18
- 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/call-target.ts +1 -1
- package/src/domains/safety/finish-contract.ts +2 -1
- package/src/domains/safety/loop-detector.ts +7 -4
- 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/session/task-board.ts +10 -9
- package/src/domains/share/archive.ts +249 -43
- 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 +89 -35
- 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 +4 -23
- package/src/engine/apis/lmstudio.ts +4 -9
- package/src/engine/apis/ollama-native.ts +9 -9
- package/src/engine/apis/openai-completions.ts +30 -27
- package/src/engine/apis/output-budget.ts +8 -18
- package/src/engine/apis/residency.ts +10 -35
- 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/gemma-channel-filter.ts +19 -0
- package/src/engine/loop-guard.ts +92 -17
- 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 +54 -24
- package/src/engine/worker-tools.ts +3 -1
- package/src/entry/extension-hook-sources.ts +28 -0
- package/src/entry/extension-reload.ts +309 -0
- package/src/entry/orchestrator.ts +163 -120
- package/src/interactive/application-controller.ts +23 -22
- package/src/interactive/bus-notices.ts +10 -3
- package/src/interactive/chat-loop-messages.ts +3 -13
- package/src/interactive/chat-loop.ts +18 -9
- package/src/interactive/chat-panel.ts +37 -14
- package/src/interactive/chat-renderer.ts +71 -7
- 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 +36 -44
- 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 +15 -44
- package/src/interactive/interactive-application.ts +116 -61
- package/src/interactive/interactive-event-projection.ts +1 -1
- package/src/interactive/interactive-input-runtime.ts +6 -2
- package/src/interactive/interactive-presentation.ts +22 -17
- package/src/interactive/interactive-shell.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +65 -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/extensions.ts +9 -1
- package/src/interactive/overlays/fleet-run-approval.ts +3 -3
- package/src/interactive/overlays/handoff-review.ts +2 -2
- package/src/interactive/overlays/help-reference.ts +13 -0
- 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 +360 -303
- 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 +145 -43
- package/src/interactive/permission-overlay.ts +2 -2
- package/src/interactive/prompt-cache-identity.ts +88 -0
- 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 +401 -190
- package/src/interactive/slash-spec.ts +160 -17
- package/src/interactive/status/controller.ts +2 -2
- package/src/interactive/stream-pacing-policy.ts +1 -24
- package/src/interactive/tasks-overlay.ts +20 -13
- package/src/interactive/terminal-lease.ts +6 -7
- package/src/interactive/turn-context.ts +41 -26
- 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 +72 -11
- package/src/tools/agent-tools.ts +30 -1
- package/src/tools/artifact.ts +2 -2
- package/src/tools/ask-user.ts +6 -6
- package/src/tools/bash.ts +2 -2
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +52 -22
- package/src/tools/codewiki/code-nav-surface.ts +6 -0
- package/src/tools/codewiki/code-nav.ts +99 -13
- package/src/tools/compete-worktrees.ts +27 -17
- package/src/tools/context/docs-engine.ts +20 -7
- package/src/tools/context/index.ts +44 -13
- package/src/tools/core-bootstrap.ts +28 -6
- package/src/tools/credential-present.ts +1 -2
- package/src/tools/dispatch-admission.ts +4 -2
- package/src/tools/dispatch-arguments.ts +6 -2
- package/src/tools/dispatch-plan.ts +48 -15
- package/src/tools/dispatch-run-events.ts +13 -11
- package/src/tools/dispatch-runner.ts +11 -6
- package/src/tools/dispatch-schema.ts +338 -0
- package/src/tools/dispatch-types.ts +3 -0
- package/src/tools/dispatch.ts +9 -254
- package/src/tools/find.ts +1 -6
- package/src/tools/ledger.ts +3 -5
- package/src/tools/monitor-surface.ts +5 -13
- package/src/tools/monitor.ts +4 -4
- package/src/tools/observation.ts +4 -5
- package/src/tools/observers.ts +0 -33
- package/src/tools/panes-surface.ts +4 -11
- package/src/tools/panes.ts +4 -2
- package/src/tools/policy.ts +15 -2
- package/src/tools/read.ts +5 -6
- package/src/tools/registry.ts +30 -7
- package/src/tools/result-shaping.ts +18 -14
- package/src/tools/steer-surface.ts +1 -1
- package/src/tools/task-worktree.ts +28 -7
- package/src/tools/tasks.ts +1 -1
- package/src/tools/truncate.ts +6 -5
- package/src/tools/verify/authoring.ts +3 -6
- package/src/tools/verify/frontend.ts +1 -1
- package/src/tools/verify/surface.ts +6 -12
- package/src/tools/web-fetch-surface.ts +1 -3
- 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-36EJLSQQ.js +0 -814
- package/dist/chunk-GXNLGKAB.js +0 -571
- package/dist/chunk-K7VKOLQQ.js +0 -15
- package/dist/chunk-PMZCIOCJ.js +0 -25
- package/dist/chunk-SUCTJL45.js +0 -45
- package/dist/chunk-SUW5DORT.js +0 -819
- package/dist/chunk-TZ3SGWZZ.js +0 -48
- package/dist/chunk-UOV2BYIW.js +0 -107
- package/dist/chunk-VFA6GDY5.js +0 -1625
- package/dist/doctor-QOA5FNY5.js +0 -313
- package/dist/fleet-view-ZCON35AG.js +0 -102
- package/dist/panes-HMABYVO4.js +0 -58
- package/docs/artifact-versions.md +0 -67
- package/docs/documentation-coverage.md +0 -46
- package/docs/documentation-guide.md +0 -167
- package/docs/release-cut-checklist.md +0 -193
- package/docs/time-conventions.md +0 -101
- package/skills/meta/clio-test/SKILL.md +0 -133
- package/skills/meta/clio-test/references/harness.md +0 -126
- package/skills/meta/clio-test/references/test-map.md +0 -69
- package/src/engine/apis/degraded-inference.ts +0 -95
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
SAFE_EXEC_DEFAULT_TIMEOUT_MS,
|
|
17
17
|
combineSafeOutput,
|
|
18
18
|
runCommandVector
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-HJWWJ6IL.js";
|
|
20
20
|
import {
|
|
21
21
|
StringEnum
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-VXMFAE2W.js";
|
|
23
23
|
import {
|
|
24
24
|
init_esm_shims
|
|
25
25
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -45,20 +45,14 @@ var verifyToolSurface = {
|
|
|
45
45
|
parameters: typebox_exports.Object({
|
|
46
46
|
check: typebox_exports.Optional(
|
|
47
47
|
typebox_exports.String({
|
|
48
|
-
description: `
|
|
48
|
+
description: `Check id, package script (${VERIFICATION_SCRIPT_FAMILY_HINT}), or "frontend"; omit to list.`
|
|
49
49
|
})
|
|
50
50
|
),
|
|
51
|
-
path: typebox_exports.Optional(typebox_exports.String({ description: "
|
|
52
|
-
args: typebox_exports.Optional(
|
|
53
|
-
|
|
54
|
-
),
|
|
55
|
-
|
|
56
|
-
StringEnum(BROWSER_MODES, { description: "check=frontend: headless browser mode (default auto)." })
|
|
57
|
-
),
|
|
58
|
-
cwd: typebox_exports.Optional(typebox_exports.String({ description: "Package-script working directory; ignored by project checks." })),
|
|
59
|
-
timeout_ms: typebox_exports.Optional(
|
|
60
|
-
typebox_exports.Number({ description: "Package/frontend timeout in ms; project checks use their declared timeoutMs." })
|
|
61
|
-
),
|
|
51
|
+
path: typebox_exports.Optional(typebox_exports.String({ description: "frontend: artifact file under the workspace root." })),
|
|
52
|
+
args: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(), { description: "Package scripts only: arguments after --." })),
|
|
53
|
+
browser: typebox_exports.Optional(StringEnum(BROWSER_MODES, { description: "frontend: headless browser mode (default auto)." })),
|
|
54
|
+
cwd: typebox_exports.Optional(typebox_exports.String({ description: "Package scripts only: working directory." })),
|
|
55
|
+
timeout_ms: typebox_exports.Optional(typebox_exports.Number({ description: "Package and frontend checks only: timeout in ms." })),
|
|
62
56
|
max_output_bytes: typebox_exports.Optional(typebox_exports.Number({ description: "Output cap in bytes (default 600000)." }))
|
|
63
57
|
}),
|
|
64
58
|
baseActionClass: "execute",
|
|
@@ -177,4 +171,4 @@ export {
|
|
|
177
171
|
prepareVerifyArguments,
|
|
178
172
|
verifyToolSurface
|
|
179
173
|
};
|
|
180
|
-
//# sourceMappingURL=chunk-
|
|
174
|
+
//# sourceMappingURL=chunk-7BHIY2MW.js.map
|
|
@@ -86,7 +86,7 @@ function appendOutOfTurnUsageRow(stateDir, row) {
|
|
|
86
86
|
closeSync(fd);
|
|
87
87
|
}
|
|
88
88
|
} catch (error) {
|
|
89
|
-
process.stderr.write(`[clio:usage] out-of-turn usage row not written: ${messageOf(error)}
|
|
89
|
+
process.stderr.write(`[clio-coder:usage] out-of-turn usage row not written: ${messageOf(error)}
|
|
90
90
|
`);
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
@@ -96,7 +96,7 @@ function appendOutOfTurnUsageRow(stateDir, row) {
|
|
|
96
96
|
try {
|
|
97
97
|
boundOutOfTurnUsageFile(path);
|
|
98
98
|
} catch (error) {
|
|
99
|
-
process.stderr.write(`[clio:usage] out-of-turn usage ring not bounded: ${messageOf(error)}
|
|
99
|
+
process.stderr.write(`[clio-coder:usage] out-of-turn usage ring not bounded: ${messageOf(error)}
|
|
100
100
|
`);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
@@ -213,4 +213,4 @@ export {
|
|
|
213
213
|
appendOutOfTurnUsageRow,
|
|
214
214
|
readOutOfTurnUsageRows
|
|
215
215
|
};
|
|
216
|
-
//# sourceMappingURL=chunk-
|
|
216
|
+
//# sourceMappingURL=chunk-AK5XEFVZ.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
sha256
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-B74PXLU7.js";
|
|
5
5
|
import {
|
|
6
6
|
resolvePackageRoot
|
|
7
7
|
} from "./chunk-IWHMRKLL.js";
|
|
@@ -225,4 +225,4 @@ export {
|
|
|
225
225
|
renderCodewikiDigest,
|
|
226
226
|
loadFragments
|
|
227
227
|
};
|
|
228
|
-
//# sourceMappingURL=chunk-
|
|
228
|
+
//# sourceMappingURL=chunk-AZ4WMN4W.js.map
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
ROUTE_POLICY_VERSION,
|
|
4
4
|
isRouteDecisionAgentSelection,
|
|
5
5
|
isRoutingIntent
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HIICAHCJ.js";
|
|
7
7
|
import {
|
|
8
8
|
isExecutionRole
|
|
9
9
|
} from "./chunk-H7IXIC72.js";
|
|
10
10
|
import {
|
|
11
11
|
readSettings
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-34BHNEE3.js";
|
|
13
13
|
import {
|
|
14
14
|
readClioVersion,
|
|
15
15
|
resolvePackageRoot
|
|
@@ -125,7 +125,7 @@ var RECEIPT_INTEGRITY_FIELD_COVERAGE = {
|
|
|
125
125
|
dynamicHash: true,
|
|
126
126
|
promptSignature: true,
|
|
127
127
|
toolSignature: true,
|
|
128
|
-
|
|
128
|
+
clioCoderVersion: true,
|
|
129
129
|
piMonoVersion: true,
|
|
130
130
|
platform: true,
|
|
131
131
|
nodeVersion: true,
|
|
@@ -168,8 +168,14 @@ function selectedReceiptFields(receipt, fields) {
|
|
|
168
168
|
}
|
|
169
169
|
return result;
|
|
170
170
|
}
|
|
171
|
-
function receiptDigestFields(receipt) {
|
|
171
|
+
function receiptDigestFields(receipt, legacyNaming = false) {
|
|
172
172
|
const result = selectedReceiptFields(receipt, RECEIPT_FIELDS);
|
|
173
|
+
if (legacyNaming) {
|
|
174
|
+
const source = receipt;
|
|
175
|
+
const version = source.clioVersion ?? source.clioCoderVersion;
|
|
176
|
+
delete result.clioCoderVersion;
|
|
177
|
+
if (version !== void 0) result.clioVersion = version;
|
|
178
|
+
}
|
|
173
179
|
result.briefing = receipt.briefing ?? null;
|
|
174
180
|
result.outcomeCode = receipt.outcomeCode ?? null;
|
|
175
181
|
result.steering = receipt.steering ?? null;
|
|
@@ -221,20 +227,20 @@ function ledgerDigestFields(envelope) {
|
|
|
221
227
|
steering: envelope.steering ?? null
|
|
222
228
|
};
|
|
223
229
|
}
|
|
224
|
-
function integrityPayload(receipt, envelope) {
|
|
230
|
+
function integrityPayload(receipt, envelope, legacyNaming = false) {
|
|
225
231
|
return {
|
|
226
|
-
contract: "clio.runReceipt.integrity",
|
|
232
|
+
contract: legacyNaming ? "clio.runReceipt.integrity" : "clio-coder.runReceipt.integrity",
|
|
227
233
|
version: RUN_RECEIPT_INTEGRITY_VERSION,
|
|
228
234
|
sources: ["receipt", "run-ledger"],
|
|
229
|
-
receipt: receiptDigestFields(receipt),
|
|
235
|
+
receipt: receiptDigestFields(receipt, legacyNaming),
|
|
230
236
|
ledger: ledgerDigestFields(envelope)
|
|
231
237
|
};
|
|
232
238
|
}
|
|
233
|
-
function computeReceiptIntegrity(receipt, envelope) {
|
|
239
|
+
function computeReceiptIntegrity(receipt, envelope, legacyNaming = false) {
|
|
234
240
|
return {
|
|
235
241
|
version: RUN_RECEIPT_INTEGRITY_VERSION,
|
|
236
242
|
algorithm: RUN_RECEIPT_INTEGRITY_ALGORITHM,
|
|
237
|
-
digest: sha256(canonicalJson(integrityPayload(receipt, envelope)))
|
|
243
|
+
digest: sha256(canonicalJson(integrityPayload(receipt, envelope, legacyNaming)))
|
|
238
244
|
};
|
|
239
245
|
}
|
|
240
246
|
function isReceiptQuality(value) {
|
|
@@ -330,7 +336,8 @@ function verifyReceiptIntegrity(receipt, envelope) {
|
|
|
330
336
|
return { ok: false, reason: `ledger mismatch: ${mismatch}` };
|
|
331
337
|
}
|
|
332
338
|
const expected = computeReceiptIntegrity(receipt, envelope);
|
|
333
|
-
|
|
339
|
+
const legacyExpected = computeReceiptIntegrity(receipt, envelope, true);
|
|
340
|
+
if (expected.digest !== receipt.integrity.digest && legacyExpected.digest !== receipt.integrity.digest) {
|
|
334
341
|
return { ok: false, reason: "integrity mismatch" };
|
|
335
342
|
}
|
|
336
343
|
return { ok: true };
|
|
@@ -670,6 +677,9 @@ function adaptRunReceiptValidationStatus(receipt) {
|
|
|
670
677
|
if (receipt.hostVerification?.status === "verified") {
|
|
671
678
|
return attributed("validated", receiptSource(receipt), { kind: "validator", id: "host-verification" }, artifacts);
|
|
672
679
|
}
|
|
680
|
+
if (receipt.hostVerification?.status === "not_implicated") {
|
|
681
|
+
return attributed("unknown", receiptSource(receipt), { kind: "validator", id: "host-verification" }, artifacts);
|
|
682
|
+
}
|
|
673
683
|
if (qualityHasFailure(receipt.quality)) {
|
|
674
684
|
return attributed("failed", receiptSource(receipt), { kind: "validator", id: "receipt-quality" }, artifacts);
|
|
675
685
|
}
|
|
@@ -1402,4 +1412,4 @@ export {
|
|
|
1402
1412
|
loadEvalTaskFile,
|
|
1403
1413
|
EvalTaskFileError
|
|
1404
1414
|
};
|
|
1405
|
-
//# sourceMappingURL=chunk-
|
|
1415
|
+
//# sourceMappingURL=chunk-B74PXLU7.js.map
|
|
@@ -14,9 +14,8 @@ import {
|
|
|
14
14
|
} from "./chunk-6XLNIQDB.js";
|
|
15
15
|
import {
|
|
16
16
|
GUARDRAIL_DEFAULTS,
|
|
17
|
-
GUARDRAIL_ENV_VARS,
|
|
18
17
|
resolveGuardrail
|
|
19
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-S66XZJOF.js";
|
|
20
19
|
import {
|
|
21
20
|
clioStateDir
|
|
22
21
|
} from "./chunk-BYP5D4HI.js";
|
|
@@ -27,7 +26,7 @@ import {
|
|
|
27
26
|
// src/tools/truncate.ts
|
|
28
27
|
init_esm_shims();
|
|
29
28
|
var DEFAULT_MAX_LINES = 2e3;
|
|
30
|
-
var DEFAULT_MAX_BYTES =
|
|
29
|
+
var DEFAULT_MAX_BYTES = 64 * 1024;
|
|
31
30
|
function splitLinesForCounting(content) {
|
|
32
31
|
if (content.length === 0) return [];
|
|
33
32
|
const lines = content.split("\n");
|
|
@@ -487,7 +486,7 @@ function toolResultPresentationPolicy(result) {
|
|
|
487
486
|
}
|
|
488
487
|
|
|
489
488
|
// src/tools/result-shaping.ts
|
|
490
|
-
var DEFAULT_TOOL_RESULT_MAX_BYTES = DEFAULT_MAX_BYTES
|
|
489
|
+
var DEFAULT_TOOL_RESULT_MAX_BYTES = DEFAULT_MAX_BYTES;
|
|
491
490
|
var RESULT_TRUNCATION_MARKER = "\n[tool result truncated]";
|
|
492
491
|
var RESULT_OFFLOAD_MAX_BYTES = 10 * 1024 * 1024;
|
|
493
492
|
var TAIL_NOTICE_RESERVE_BYTES = 512;
|
|
@@ -495,9 +494,11 @@ var TOOL_OFFLOAD_MAX_AGE_MS = 14 * 24 * 60 * 60 * 1e3;
|
|
|
495
494
|
function mergeDetails(details, resultSize) {
|
|
496
495
|
return { ...details ?? {}, resultSize };
|
|
497
496
|
}
|
|
498
|
-
function maxBytesFor(spec) {
|
|
497
|
+
function maxBytesFor(spec, context) {
|
|
499
498
|
const configured = spec.metadata?.resultSizePolicy?.maxBytes;
|
|
500
|
-
|
|
499
|
+
const policyMax = typeof configured === "number" && Number.isFinite(configured) && configured > 0 ? Math.floor(configured) : DEFAULT_TOOL_RESULT_MAX_BYTES;
|
|
500
|
+
const sessionMax = context?.toolResultMaxBytes;
|
|
501
|
+
return typeof sessionMax === "number" && Number.isFinite(sessionMax) && sessionMax > 0 ? Math.min(policyMax, Math.floor(sessionMax)) : policyMax;
|
|
501
502
|
}
|
|
502
503
|
function followUpHint(spec) {
|
|
503
504
|
return spec.metadata?.resultSizePolicy?.followUpHint ?? "Use a narrower query, offset/limit arguments, or a more specific tool call to inspect the omitted content.";
|
|
@@ -506,11 +507,11 @@ function offloadMaxBytesFor(spec) {
|
|
|
506
507
|
const configured = spec.metadata?.resultSizePolicy?.offloadMaxBytes;
|
|
507
508
|
return typeof configured === "number" && Number.isFinite(configured) && configured > 0 ? Math.floor(configured) : RESULT_OFFLOAD_MAX_BYTES;
|
|
508
509
|
}
|
|
509
|
-
function toolResultDigestFor(spec, result, requestedDisposition) {
|
|
510
|
+
function toolResultDigestFor(spec, result, requestedDisposition, context) {
|
|
510
511
|
const text = resultText(result);
|
|
511
|
-
const disposition = normalizeToolResultDisposition(spec, maxBytesFor(spec), requestedDisposition);
|
|
512
|
+
const disposition = normalizeToolResultDisposition(spec, maxBytesFor(spec, context), requestedDisposition);
|
|
512
513
|
if (disposition === null) {
|
|
513
|
-
const projected = shapeLegacyToolResult(spec, result);
|
|
514
|
+
const projected = shapeLegacyToolResult(spec, result, context);
|
|
514
515
|
return legacyToolResultDigest(resultText(projected), { outcome: result.kind });
|
|
515
516
|
}
|
|
516
517
|
const capturedBytes = capturedBytesFor(result, text);
|
|
@@ -654,7 +655,7 @@ ${note}`;
|
|
|
654
655
|
}
|
|
655
656
|
function shapeLegacyToolResult(spec, result, context, overflow = "head") {
|
|
656
657
|
if (existingOffloadPath(result.details) !== null) return result;
|
|
657
|
-
const maxBytes = maxBytesFor(spec);
|
|
658
|
+
const maxBytes = maxBytesFor(spec, context);
|
|
658
659
|
const offloadMaxBytes = offloadMaxBytesFor(spec);
|
|
659
660
|
const text = result.kind === "ok" ? result.output : result.message;
|
|
660
661
|
const bytes = byteLength(text);
|
|
@@ -741,7 +742,7 @@ function withOffloadMetadata(result, offloadPath, capturedBytes, displayedBytes,
|
|
|
741
742
|
}
|
|
742
743
|
function shapeToolResult(spec, result, context, requestedDisposition) {
|
|
743
744
|
if (existingDisposition(result.details) !== null) return result;
|
|
744
|
-
const hardMaxBytes = maxBytesFor(spec);
|
|
745
|
+
const hardMaxBytes = maxBytesFor(spec, context);
|
|
745
746
|
const disposition = normalizeToolResultDisposition(spec, hardMaxBytes, requestedDisposition);
|
|
746
747
|
if (disposition === null) return shapeLegacyToolResult(spec, result, context);
|
|
747
748
|
const capturedText = resultText(result);
|
|
@@ -837,7 +838,6 @@ var OBSERVE_SELF_CAPS = {
|
|
|
837
838
|
contextWorkspace: 50 * 1024
|
|
838
839
|
};
|
|
839
840
|
var DEFAULT_OBSERVATION_TURN_BUDGET_BYTES = GUARDRAIL_DEFAULTS.observationTurnBudgetBytes;
|
|
840
|
-
var OBSERVATION_TURN_BUDGET_ENV = GUARDRAIL_ENV_VARS.observationTurnBudgetBytes;
|
|
841
841
|
var MIN_BUDGET_SLICE_BYTES = 1024;
|
|
842
842
|
var BUDGET_TRACK_LIMIT = 256;
|
|
843
843
|
var MAX_EXHAUSTED_NOTICES_PER_TURN = 3;
|
|
@@ -847,8 +847,8 @@ function boundContinuation(next) {
|
|
|
847
847
|
if (next === void 0 || next.length <= MAX_CONTINUATION_CHARS) return next;
|
|
848
848
|
return `${Array.from(next).slice(0, MAX_CONTINUATION_CHARS).join("")}\u2026`;
|
|
849
849
|
}
|
|
850
|
-
function observationTurnBudgetLimit(
|
|
851
|
-
return Math.max(MIN_BUDGET_SLICE_BYTES, resolveGuardrail("observationTurnBudgetBytes"
|
|
850
|
+
function observationTurnBudgetLimit() {
|
|
851
|
+
return Math.max(MIN_BUDGET_SLICE_BYTES, resolveGuardrail("observationTurnBudgetBytes"));
|
|
852
852
|
}
|
|
853
853
|
function budgetKey(options) {
|
|
854
854
|
const turnId = options?.turnId?.trim();
|
|
@@ -1097,4 +1097,4 @@ export {
|
|
|
1097
1097
|
observationBudgetExhausted,
|
|
1098
1098
|
finalizeObservation
|
|
1099
1099
|
};
|
|
1100
|
-
//# sourceMappingURL=chunk-
|
|
1100
|
+
//# sourceMappingURL=chunk-B7HM5Z7T.js.map
|
|
@@ -4,26 +4,26 @@ import {
|
|
|
4
4
|
loadProjectRules,
|
|
5
5
|
renderOperatorProfile,
|
|
6
6
|
selectActiveRules
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-SSEYRH53.js";
|
|
8
8
|
import {
|
|
9
9
|
loadFragments
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-AZ4WMN4W.js";
|
|
11
11
|
import {
|
|
12
12
|
compile,
|
|
13
13
|
compileWorker
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-I66ZTYNP.js";
|
|
15
15
|
import {
|
|
16
16
|
sha256
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-B74PXLU7.js";
|
|
18
18
|
import {
|
|
19
19
|
classifyProjectPreload
|
|
20
20
|
} from "./chunk-JVCV3ICN.js";
|
|
21
21
|
import {
|
|
22
22
|
isUserVisibleAgent
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-PGF63K6I.js";
|
|
24
24
|
import {
|
|
25
25
|
BusChannels
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-F4EKGO4N.js";
|
|
27
27
|
import {
|
|
28
28
|
init_esm_shims
|
|
29
29
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -33,7 +33,6 @@ init_esm_shims();
|
|
|
33
33
|
var DEFAULT_DISPATCH_AGENT_ID = "coder";
|
|
34
34
|
var OPERATOR_ONLY_SHADOW_AGENT_IDS = /* @__PURE__ */ new Set(["oracle"]);
|
|
35
35
|
var FLEET_PROMPT_PURPOSE_MAX_CHARS = 64;
|
|
36
|
-
var FLEET_DELEGATION_RULE = "Delegate when the task has two or more independent file-scoped subtasks, or any broad exploration. You keep synthesis and validation; a single narrow change stays with you.";
|
|
37
36
|
var FLEET_HANDOFF_RULE = "A file you assigned to a worker is not yours to edit while its dispatch is pending or after it succeeds; if you already changed it, say so in your report.";
|
|
38
37
|
var FLEET_REFUSAL_DISCLOSURE = "When admission refuses a dispatch, report the refusal and the reason it gave; never substitute another agent without saying why.";
|
|
39
38
|
var FLEET_ANTI_CHURN_RULE = "A dispatch with the same target files and the same goal as one you already ran is a repeat however differently you word it: read that run's receipt, or run the check yourself, instead of dispatching again.";
|
|
@@ -62,11 +61,14 @@ function renderFleetPromptSection(input) {
|
|
|
62
61
|
if (publicSpecs.length === 0 && shadowSpecs.length === 0) return "";
|
|
63
62
|
const lines = [
|
|
64
63
|
"# Fleet",
|
|
65
|
-
FLEET_DELEGATION_RULE,
|
|
66
64
|
FLEET_HANDOFF_RULE,
|
|
67
65
|
FLEET_ANTI_CHURN_RULE,
|
|
68
66
|
FLEET_REFUSAL_DISCLOSURE,
|
|
69
|
-
`
|
|
67
|
+
// `agent:"auto"` baselines by task shape and can still land on a worker
|
|
68
|
+
// whose capability class is wrong for the job, so a pinned id is the
|
|
69
|
+
// reliable path; said here, next to the ids, rather than in the Tool
|
|
70
|
+
// Contract.
|
|
71
|
+
`Workers you reach with \`dispatch\` by \`agent\` id (default ${DEFAULT_DISPATCH_AGENT_ID}); agent:"auto" is a fallback, not a router. Capability class is what a worker may do: a read-only worker cannot edit.`,
|
|
70
72
|
FLEET_SPECIALIST_ROUTING
|
|
71
73
|
];
|
|
72
74
|
if (publicSpecs.length > 0) {
|
|
@@ -191,6 +193,9 @@ var CLIO_REPO_AWARENESS_ID = "context.clio-repo-awareness";
|
|
|
191
193
|
var WORKSPACE_ROOT_ID = "context.workspace-root";
|
|
192
194
|
function createPromptsBundle(context, options = {}) {
|
|
193
195
|
let table = null;
|
|
196
|
+
let fragmentEpoch = 0;
|
|
197
|
+
let sessionSourceEpoch = 0;
|
|
198
|
+
const sessionSourceSnapshots = /* @__PURE__ */ new Map();
|
|
194
199
|
const suppressContextFiles = options.noContextFiles === true;
|
|
195
200
|
function config() {
|
|
196
201
|
return context.getContract("config");
|
|
@@ -208,9 +213,10 @@ function createPromptsBundle(context, options = {}) {
|
|
|
208
213
|
function reload() {
|
|
209
214
|
try {
|
|
210
215
|
table = loadFragments();
|
|
216
|
+
fragmentEpoch += 1;
|
|
211
217
|
} catch (err) {
|
|
212
218
|
const msg = err instanceof Error ? err.message : String(err);
|
|
213
|
-
process.stderr.write(`[clio:prompts] reload failed: ${msg}
|
|
219
|
+
process.stderr.write(`[clio-coder:prompts] reload failed: ${msg}
|
|
214
220
|
`);
|
|
215
221
|
}
|
|
216
222
|
}
|
|
@@ -220,7 +226,39 @@ function createPromptsBundle(context, options = {}) {
|
|
|
220
226
|
}
|
|
221
227
|
return false;
|
|
222
228
|
}
|
|
229
|
+
function sessionSourceKey(sessionId, cwd) {
|
|
230
|
+
return `${sessionId}\0${cwd}`;
|
|
231
|
+
}
|
|
232
|
+
function captureSessionSourceSnapshot(cwd) {
|
|
233
|
+
let projectContext = null;
|
|
234
|
+
if (!suppressContextFiles) {
|
|
235
|
+
projectContext = contextDomain()?.renderPromptContext(cwd) ?? null;
|
|
236
|
+
for (const warning of projectContext?.warnings ?? []) process.stderr.write(`${warning}
|
|
237
|
+
`);
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
projectContext,
|
|
241
|
+
customization: captureCustomizationSources(cwd),
|
|
242
|
+
workspaceRoot: workspaceRootFragment(cwd),
|
|
243
|
+
clioRepoAwareness: clioRepoAwarenessFragments(cwd)
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
function sessionSourceSnapshot(sessionId, cwd) {
|
|
247
|
+
const key = sessionSourceKey(sessionId, cwd);
|
|
248
|
+
const existing = sessionSourceSnapshots.get(key);
|
|
249
|
+
if (existing) return existing;
|
|
250
|
+
const captured = captureSessionSourceSnapshot(cwd);
|
|
251
|
+
sessionSourceSnapshots.set(key, captured);
|
|
252
|
+
return captured;
|
|
253
|
+
}
|
|
254
|
+
function invalidateSessionSources() {
|
|
255
|
+
sessionSourceSnapshots.clear();
|
|
256
|
+
sessionSourceEpoch += 1;
|
|
257
|
+
}
|
|
223
258
|
const contract = {
|
|
259
|
+
inputEpoch() {
|
|
260
|
+
return `${fragmentEpoch}:${agentsDomain()?.revision() ?? 0}:${sessionSourceEpoch}`;
|
|
261
|
+
},
|
|
224
262
|
async compileSessionPrompt(input) {
|
|
225
263
|
if (!table) throw new Error("prompts domain not started");
|
|
226
264
|
if (table.byId.size === 0) {
|
|
@@ -228,13 +266,14 @@ function createPromptsBundle(context, options = {}) {
|
|
|
228
266
|
}
|
|
229
267
|
const configContract = config();
|
|
230
268
|
const settings = configContract?.get();
|
|
231
|
-
const safety = input.autonomy ?? settings?.autonomy ?? "auto-edit";
|
|
269
|
+
const safety = input.autonomy ?? settings?.safety.autonomy ?? "auto-edit";
|
|
232
270
|
const cwd = input.cwd ?? process.cwd();
|
|
271
|
+
const sources = sessionSourceSnapshot(input.sessionId, cwd);
|
|
233
272
|
let contextFiles = "";
|
|
234
273
|
let projectPreload = null;
|
|
235
274
|
let projectHandbookFiles = [];
|
|
236
275
|
if (!suppressContextFiles) {
|
|
237
|
-
const projectContext =
|
|
276
|
+
const projectContext = sources.projectContext;
|
|
238
277
|
contextFiles = projectContext ? selectProjectContext(projectContext, input.sessionInputs.providerSupportsTools ?? null) : "";
|
|
239
278
|
if (projectContext) {
|
|
240
279
|
projectPreload = classifyProjectPreload({
|
|
@@ -243,8 +282,6 @@ function createPromptsBundle(context, options = {}) {
|
|
|
243
282
|
});
|
|
244
283
|
projectHandbookFiles = projectContext.handbookFiles;
|
|
245
284
|
}
|
|
246
|
-
for (const warning of projectContext?.warnings ?? []) process.stderr.write(`${warning}
|
|
247
|
-
`);
|
|
248
285
|
}
|
|
249
286
|
const roster = fleetRoster();
|
|
250
287
|
const sessionInputs = {
|
|
@@ -258,9 +295,9 @@ function createPromptsBundle(context, options = {}) {
|
|
|
258
295
|
safety: `safety.${safety}`,
|
|
259
296
|
sessionInputs,
|
|
260
297
|
additionalFragments: [
|
|
261
|
-
...
|
|
262
|
-
...
|
|
263
|
-
...
|
|
298
|
+
...sources.workspaceRoot,
|
|
299
|
+
...sources.clioRepoAwareness,
|
|
300
|
+
...renderCustomizationFragments(sources.customization, cwd, input.workingContextPaths ?? []).fragments
|
|
264
301
|
]
|
|
265
302
|
});
|
|
266
303
|
return { ...compiled, projectPreload, projectHandbookFiles };
|
|
@@ -286,37 +323,62 @@ function createPromptsBundle(context, options = {}) {
|
|
|
286
323
|
reload
|
|
287
324
|
};
|
|
288
325
|
let unsubscribeHotReload = null;
|
|
326
|
+
let unsubscribeExtensionsReload = null;
|
|
289
327
|
const extension = {
|
|
290
328
|
async start() {
|
|
291
329
|
try {
|
|
292
330
|
table = loadFragments();
|
|
331
|
+
fragmentEpoch += 1;
|
|
293
332
|
} catch (err) {
|
|
294
333
|
const msg = err instanceof Error ? err.message : String(err);
|
|
295
|
-
process.stderr.write(`[clio:prompts] initial load failed: ${msg}
|
|
334
|
+
process.stderr.write(`[clio-coder:prompts] initial load failed: ${msg}
|
|
296
335
|
`);
|
|
297
336
|
table = { byId: /* @__PURE__ */ new Map(), rootDir: "" };
|
|
298
337
|
}
|
|
299
338
|
unsubscribeHotReload = context.bus.on(BusChannels.ConfigHotReload, (payload) => {
|
|
339
|
+
invalidateSessionSources();
|
|
300
340
|
const diff = payload?.diff;
|
|
301
341
|
const paths = diff?.hotReload ?? [];
|
|
302
342
|
if (!diffTouchesFragments(paths)) return;
|
|
303
343
|
reload();
|
|
304
344
|
});
|
|
345
|
+
unsubscribeExtensionsReload = context.bus.on(BusChannels.ExtensionsReloaded, (payload) => {
|
|
346
|
+
if (payload?.changed !== true) return;
|
|
347
|
+
reload();
|
|
348
|
+
});
|
|
305
349
|
},
|
|
306
350
|
async stop() {
|
|
307
351
|
unsubscribeHotReload?.();
|
|
308
352
|
unsubscribeHotReload = null;
|
|
353
|
+
unsubscribeExtensionsReload?.();
|
|
354
|
+
unsubscribeExtensionsReload = null;
|
|
355
|
+
sessionSourceSnapshots.clear();
|
|
309
356
|
}
|
|
310
357
|
};
|
|
311
358
|
return { extension, contract };
|
|
312
359
|
}
|
|
313
360
|
function customizationFragments(cwd, workingContextPaths) {
|
|
361
|
+
return renderCustomizationFragments(captureCustomizationSources(cwd), cwd, workingContextPaths);
|
|
362
|
+
}
|
|
363
|
+
function captureCustomizationSources(cwd) {
|
|
364
|
+
let rules = [];
|
|
365
|
+
let operatorProfile = null;
|
|
366
|
+
try {
|
|
367
|
+
rules = loadProjectRules(cwd).rules;
|
|
368
|
+
} catch {
|
|
369
|
+
}
|
|
370
|
+
try {
|
|
371
|
+
operatorProfile = loadOperatorProfile(cwd);
|
|
372
|
+
} catch {
|
|
373
|
+
}
|
|
374
|
+
return { rules, operatorProfile };
|
|
375
|
+
}
|
|
376
|
+
function renderCustomizationFragments(sources, cwd, workingContextPaths) {
|
|
314
377
|
const fragments = [];
|
|
315
378
|
let activeRuleIds = [];
|
|
316
379
|
let operatorProfileApplied = false;
|
|
317
380
|
try {
|
|
318
|
-
const
|
|
319
|
-
const active = selectActiveRules(loaded.rules, normalizeWorkingContextPaths(cwd, workingContextPaths));
|
|
381
|
+
const active = selectActiveRules(sources.rules, normalizeWorkingContextPaths(cwd, workingContextPaths));
|
|
320
382
|
if (active.length > 0) {
|
|
321
383
|
const body = ["# Project rules", ...active.map((rule) => rule.body)].join("\n\n");
|
|
322
384
|
fragments.push({
|
|
@@ -331,8 +393,7 @@ function customizationFragments(cwd, workingContextPaths) {
|
|
|
331
393
|
} catch {
|
|
332
394
|
}
|
|
333
395
|
try {
|
|
334
|
-
const
|
|
335
|
-
const rendered = renderOperatorProfile(profile.profile);
|
|
396
|
+
const rendered = renderOperatorProfile(sources.operatorProfile?.profile ?? {});
|
|
336
397
|
if (rendered.text.length > 0) {
|
|
337
398
|
fragments.push({
|
|
338
399
|
id: "context.operator-profile",
|
|
@@ -584,13 +645,13 @@ function createSchedulingBundle(context) {
|
|
|
584
645
|
const config = maybeConfig;
|
|
585
646
|
const observability = context.getContract("observability");
|
|
586
647
|
const settings = config.get();
|
|
587
|
-
let budget = createBudgetState(settings.
|
|
648
|
+
let budget = createBudgetState(settings.safety.limits.sessionCostUsd);
|
|
588
649
|
const fleet = createFleetRegistry(() => config.get().fleet?.nodes ?? [], {
|
|
589
|
-
localMaxWorkers: () => resolveMaxWorkers(config.get().
|
|
650
|
+
localMaxWorkers: () => resolveMaxWorkers(config.get().fleet.concurrency)
|
|
590
651
|
});
|
|
591
652
|
const unsubscribes = [];
|
|
592
653
|
function syncBudget() {
|
|
593
|
-
const nextCeiling = config.get().
|
|
654
|
+
const nextCeiling = config.get().safety.limits.sessionCostUsd;
|
|
594
655
|
if (nextCeiling === budget.ceilingUsd) return;
|
|
595
656
|
budget = createBudgetState(nextCeiling);
|
|
596
657
|
}
|
|
@@ -635,7 +696,7 @@ function createSchedulingBundle(context) {
|
|
|
635
696
|
const { verdict, currentUsd } = evaluate();
|
|
636
697
|
return { verdict, currentUsd, ceilingUsd: budget.ceilingUsd };
|
|
637
698
|
},
|
|
638
|
-
maxWorkers: () => resolveMaxWorkers(config.get().
|
|
699
|
+
maxWorkers: () => resolveMaxWorkers(config.get().fleet.concurrency),
|
|
639
700
|
fleet
|
|
640
701
|
};
|
|
641
702
|
return { extension, contract };
|
|
@@ -659,4 +720,4 @@ export {
|
|
|
659
720
|
createPromptsDomainModule,
|
|
660
721
|
SchedulingDomainModule
|
|
661
722
|
};
|
|
662
|
-
//# sourceMappingURL=chunk-
|
|
723
|
+
//# sourceMappingURL=chunk-BO7Y52RY.js.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
init_esm_shims
|
|
4
|
+
} from "./chunk-3R73A4XB.js";
|
|
5
|
+
|
|
6
|
+
// src/core/naming-events.ts
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
var CLIO_CODER_EVENT_SUFFIXES = /* @__PURE__ */ new Set([
|
|
9
|
+
"permission_escalated",
|
|
10
|
+
"permission_resolved",
|
|
11
|
+
"plan_update",
|
|
12
|
+
"run_outcome",
|
|
13
|
+
"safety_decision",
|
|
14
|
+
"skill_activation",
|
|
15
|
+
"steer_received",
|
|
16
|
+
"tool_activity",
|
|
17
|
+
"tool_finish",
|
|
18
|
+
"tool_start",
|
|
19
|
+
"usage",
|
|
20
|
+
"verification",
|
|
21
|
+
"write_record_downgraded"
|
|
22
|
+
]);
|
|
23
|
+
function normalizeClioCoderEventType(type) {
|
|
24
|
+
if (!type.startsWith("clio_") || type.startsWith("clio_coder_")) return type;
|
|
25
|
+
const suffix = type.slice("clio_".length);
|
|
26
|
+
return CLIO_CODER_EVENT_SUFFIXES.has(suffix) ? `clio_coder_${suffix}` : type;
|
|
27
|
+
}
|
|
28
|
+
function normalizeClioCoderEventRecord(record) {
|
|
29
|
+
if (typeof record.type !== "string") return record;
|
|
30
|
+
const type = normalizeClioCoderEventType(record.type);
|
|
31
|
+
return type === record.type ? record : { ...record, type };
|
|
32
|
+
}
|
|
33
|
+
function normalizeClioCoderEventTree(value) {
|
|
34
|
+
if (Array.isArray(value)) {
|
|
35
|
+
let changed2 = false;
|
|
36
|
+
const next2 = value.map((entry) => {
|
|
37
|
+
const normalized = normalizeClioCoderEventTree(entry);
|
|
38
|
+
if (normalized !== entry) changed2 = true;
|
|
39
|
+
return normalized;
|
|
40
|
+
});
|
|
41
|
+
return changed2 ? next2 : value;
|
|
42
|
+
}
|
|
43
|
+
if (typeof value !== "object" || value === null) return value;
|
|
44
|
+
const record = value;
|
|
45
|
+
let changed = false;
|
|
46
|
+
const next = {};
|
|
47
|
+
for (const [key, entry] of Object.entries(record)) {
|
|
48
|
+
const normalized = normalizeClioCoderEventTree(entry);
|
|
49
|
+
next[key] = normalized;
|
|
50
|
+
if (normalized !== entry) changed = true;
|
|
51
|
+
}
|
|
52
|
+
if (typeof record.type === "string") {
|
|
53
|
+
const type = normalizeClioCoderEventType(record.type);
|
|
54
|
+
if (type !== record.type) {
|
|
55
|
+
next.type = type;
|
|
56
|
+
changed = true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return changed ? next : value;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
normalizeClioCoderEventType,
|
|
64
|
+
normalizeClioCoderEventRecord,
|
|
65
|
+
normalizeClioCoderEventTree
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=chunk-BTK3SSSK.js.map
|