@iowarp/clio-coder 0.3.0 → 0.3.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 +123 -2
- package/CONTRIBUTING.md +23 -23
- package/README.md +295 -627
- package/dist/acp-BIYHVZIM.js +128 -0
- package/dist/{agents-Q4MYPMUW.js → agents-YT6SSRIT.js} +52 -27
- package/dist/assets/codewiki.json +1 -0
- package/dist/assets/grammars/notices/@vscode__tree-sitter-wasm/LICENSE +21 -0
- package/dist/assets/grammars/notices/@vscode__tree-sitter-wasm/cgmanifest.json +16 -0
- package/dist/assets/grammars/notices/tree-sitter-wasms/LICENSE +24 -0
- package/dist/assets/grammars/tree-sitter-c-sharp.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-c.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-cpp.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-go.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-java.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-javascript.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-python.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-ruby.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-rust.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-tsx.wasm +0 -0
- package/dist/assets/grammars/tree-sitter-typescript.wasm +0 -0
- package/dist/assets/grammars/tree-sitter.wasm +0 -0
- package/dist/{auth-O6HYIJ6J.js → auth-5TWEIYDN.js} +30 -15
- package/dist/chunk-2EHAIA3X.js +481 -0
- package/dist/{chunk-ME6DNWIU.js → chunk-2IR2NMPA.js} +12 -4
- package/dist/chunk-2SFS6XQE.js +122 -0
- package/dist/{chunk-KKKPTZLM.js → chunk-2STGEDFV.js} +8 -1
- package/dist/chunk-2VTFPG5O.js +48 -0
- package/dist/chunk-3I7MS7N2.js +40 -0
- package/dist/chunk-3R73A4XB.js +69 -0
- package/dist/{chunk-JPOWPFCU.js → chunk-3ZXDFGR5.js} +52 -23
- package/dist/chunk-4BJ5BYCE.js +61 -0
- package/dist/{chunk-26BZQOAD.js → chunk-4BPJXDWC.js} +161 -260
- package/dist/chunk-4KLWL3UC.js +18 -0
- package/dist/{chunk-5LDRNKX2.js → chunk-4VP4KH3K.js} +161 -262
- package/dist/chunk-4ZG3XFUR.js +77 -0
- package/dist/chunk-5B2AEOW5.js +5407 -0
- package/dist/chunk-5TSRNF4G.js +510 -0
- package/dist/{chunk-WD6AJM35.js → chunk-5UUP6MWO.js} +48 -69
- package/dist/{chunk-X3BR7HWV.js → chunk-5WIGXA4T.js} +7 -1
- package/dist/chunk-65DEGPJ6.js +52 -0
- package/dist/chunk-6EJMN2Y3.js +17 -0
- package/dist/chunk-6EJV5X2W.js +16405 -0
- package/dist/chunk-6N5PTWMY.js +136 -0
- package/dist/chunk-6XLNIQDB.js +27 -0
- package/dist/{chunk-XNISANGE.js → chunk-77VKQEHF.js} +171 -74
- package/dist/chunk-7CR24IG7.js +242 -0
- package/dist/{chunk-UWIJNAOB.js → chunk-7EYHLWU7.js} +907 -638
- package/dist/chunk-7MNJORFF.js +22 -0
- package/dist/{chunk-JWHCJDCI.js → chunk-A3CYT5EX.js} +257 -79
- package/dist/chunk-AGYYIBLL.js +1069 -0
- package/dist/chunk-AO4RKG4M.js +277 -0
- package/dist/chunk-APJ265NV.js +7410 -0
- package/dist/chunk-ARBGF5F7.js +174 -0
- package/dist/{chunk-TFSSEXL6.js → chunk-BMEMKKIT.js} +14 -4
- package/dist/{chunk-X3NE4WVW.js → chunk-BNAZZHFG.js} +7 -1
- package/dist/chunk-CBCAPZAA.js +229 -0
- package/dist/{chunk-QV47YRF4.js → chunk-CGKSTWHD.js} +7 -1
- package/dist/chunk-CMZWFGD2.js +352 -0
- package/dist/chunk-ECH6PKUQ.js +39 -0
- package/dist/{chunk-67MTHP2E.js → chunk-ED4KHGC3.js} +13 -5
- package/dist/chunk-EKMEHE4H.js +340 -0
- package/dist/{chunk-O4EJEDHO.js → chunk-EPVUXGXG.js} +50 -35
- package/dist/chunk-FCSXB6T2.js +338 -0
- package/dist/chunk-FJ3H4MN5.js +48 -0
- package/dist/chunk-FQ4SKYE4.js +29 -0
- package/dist/chunk-G2DE3C7R.js +644 -0
- package/dist/chunk-G4BMMOKF.js +182 -0
- package/dist/{chunk-7BHLZB3A.js → chunk-GGXXDWE4.js} +190 -1218
- package/dist/chunk-HC4CLZ2Y.js +68 -0
- package/dist/{chunk-E3NYWENM.js → chunk-HFSBBKSQ.js} +55 -61
- package/dist/chunk-HKIYEGME.js +30 -0
- package/dist/chunk-I4HZDVNP.js +73 -0
- package/dist/chunk-IGLFWIYI.js +161 -0
- package/dist/chunk-IHXBNWMM.js +137 -0
- package/dist/chunk-IKCO5N3L.js +162 -0
- package/dist/chunk-IR4CFBFN.js +56 -0
- package/dist/{chunk-DXQNI4PC.js → chunk-IWHMRKLL.js} +8 -1
- package/dist/{chunk-VOO7NYPP.js → chunk-J5HN4RYU.js} +27 -9
- package/dist/{chunk-4UQA7NCT.js → chunk-J5Q24KAG.js} +7 -2
- package/dist/{chunk-KBR4MZZR.js → chunk-JVCV3ICN.js} +7 -1
- package/dist/chunk-KJ5LWLOE.js +1077 -0
- package/dist/chunk-LBMZMYH2.js +285 -0
- package/dist/{chunk-3DANZDGR.js → chunk-LBNRH5WM.js} +100 -161
- package/dist/{chunk-TKHQ4DGZ.js → chunk-LZSJBIVT.js} +7358 -7414
- package/dist/{chunk-UGYAX5YI.js → chunk-M6SHUN7Q.js} +13 -8
- package/dist/chunk-MAW544W2.js +1882 -0
- package/dist/chunk-MBS4V7ZP.js +217 -0
- package/dist/{chunk-2J63S4SF.js → chunk-MFFY33HR.js} +167 -140
- package/dist/chunk-MNA4JGU4.js +255 -0
- package/dist/chunk-MQSRRFWA.js +3428 -0
- package/dist/{chunk-RQDWMVRB.js → chunk-MVVUPGPW.js} +138 -137
- package/dist/chunk-OAO4GE4M.js +619 -0
- package/dist/chunk-OHHN2SO4.js +5135 -0
- package/dist/chunk-OKGUZO2U.js +34 -0
- package/dist/{chunk-BBUH4VAA.js → chunk-OOJYHWRB.js} +60 -361
- package/dist/{chunk-D5YD55AR.js → chunk-OQ33BKR3.js} +12 -1
- package/dist/chunk-OQE5J4C6.js +73 -0
- package/dist/{chunk-AMFR5YA3.js → chunk-ORBHGJC5.js} +26 -12
- package/dist/chunk-POHLU5DW.js +1186 -0
- package/dist/chunk-QKMUKYO7.js +4961 -0
- package/dist/{chunk-7RBKDI66.js → chunk-QTYWRVRA.js} +104 -12
- package/dist/{chunk-5N2FG33Q.js → chunk-R346GLFC.js} +7 -1
- package/dist/chunk-SRF2PJNW.js +184 -0
- package/dist/chunk-SST6Z5JA.js +80 -0
- package/dist/{chunk-XV4ZJ6ZM.js → chunk-STBPMHSX.js} +473 -1194
- package/dist/{chunk-HBU5MTAM.js → chunk-SVNXH4L2.js} +7 -1
- package/dist/chunk-T6YILFSB.js +80 -0
- package/dist/chunk-TXOTCRLG.js +15 -0
- package/dist/chunk-TZTZS7QK.js +227 -0
- package/dist/chunk-UOV2BYIW.js +107 -0
- package/dist/{chunk-527KG6XR.js → chunk-V4RXGQ5Q.js} +72 -185
- package/dist/chunk-VAKQQHWR.js +434 -0
- package/dist/chunk-VG7TBQIY.js +128 -0
- package/dist/chunk-VJWL6YS5.js +244 -0
- package/dist/chunk-WEH5XRJQ.js +32 -0
- package/dist/{chunk-VPAWTYLY.js → chunk-WEPFGWHJ.js} +7 -1
- package/dist/chunk-WMSVI4G2.js +2095 -0
- package/dist/chunk-WVO7V2QY.js +797 -0
- package/dist/chunk-X4RCMKVQ.js +641 -0
- package/dist/chunk-X75S7HFS.js +374 -0
- package/dist/chunk-XN3L4EYL.js +46 -0
- package/dist/{chunk-HMYNFFY4.js → chunk-XPLRXC72.js} +7 -2
- package/dist/{chunk-PIDUD6M2.js → chunk-YCWGATWI.js} +12 -5
- package/dist/chunk-YHZX5GEU.js +193 -0
- package/dist/chunk-YXLYO42X.js +91 -0
- package/dist/{chunk-UHTSULZS.js → chunk-ZDOOVTXZ.js} +38 -73
- package/dist/chunk-ZI647VB5.js +37 -0
- package/dist/{chunk-CLJ5HLUD.js → chunk-ZWLZP4ZT.js} +25 -6
- package/dist/cli/index.js +70 -56
- package/dist/clio-4LY5K2AC.js +25 -0
- package/dist/code-nav-7AX6FYE6.js +600 -0
- package/dist/codewiki/build-worker.js +66 -0
- package/dist/compile-cache-CVJMMODC.js +18 -0
- package/dist/{components-JVHMUBEB.js → components-KELWS457.js} +31 -9
- package/dist/{config-ZFCDBMDC.js → config-GTLUW2PR.js} +104 -56
- package/dist/configure-R6A64DHX.js +42 -0
- package/dist/context-5VKGUVJJ.js +866 -0
- package/dist/{context-CDXTP2MP.js → context-JFZEJ7W5.js} +21 -13
- package/dist/{context-E3KIFVXI.js → context-RW5HC47S.js} +77 -36
- package/dist/{context-clear-3F4PLXOS.js → context-clear-6ZHBAZZT.js} +64 -30
- package/dist/{context-index-Q7YSYTR3.js → context-index-BZ4UYMTC.js} +36 -24
- package/dist/dispatch-runner-VKBRCWQC.js +1997 -0
- package/dist/{docs-YIETIWZI.js → docs-2C2LTVT2.js} +32 -13
- package/dist/doctor-KI767GSN.js +87 -0
- package/dist/{eval-B3KZZESM.js → eval-XSSNATB4.js} +93 -27
- package/dist/{evidence-V67CHM35.js → evidence-UA6AWDQQ.js} +55 -27
- package/dist/{evolve-YDZSUQYA.js → evolve-QNTFGV6Z.js} +59 -26
- package/dist/{extensions-SRG7XCAH.js → extensions-QVDOHDGJ.js} +23 -8
- package/dist/{fleet-CA2CRTVG.js → fleet-Q7UOMUSG.js} +173 -56
- package/dist/fleet-preflight-DDN536IT.js +26 -0
- package/dist/{init-2OZDJE2D.js → init-WBB65ZHQ.js} +79 -34
- package/dist/{memory-3PIQQAKX.js → memory-MD3O64RI.js} +57 -28
- package/dist/{models-DY35XI7Y.js → models-BZU34YWD.js} +49 -24
- package/dist/monitor-MEQA5C3I.js +661 -0
- package/dist/{chunk-PS4PFJQP.js → orchestrator-CGFKEP27.js} +22837 -18564
- package/dist/{paths-5OMXW7Z4.js → paths-UXLN5YYZ.js} +17 -6
- package/dist/preload-P6DGH2PZ.js +13 -0
- package/dist/{reset-PIFYNOS3.js → reset-L2FQEE3E.js} +25 -13
- package/dist/{run-3VSPP24F.js → run-IV4Q6RLN.js} +115 -63
- package/dist/{share-D36RQCXM.js → share-S5BZQC5I.js} +23 -10
- package/dist/{skills-F2MRLELY.js → skills-LQEKRDTN.js} +42 -15
- package/dist/{skills-eval-E2ZTW4PL.js → skills-eval-3DC4HEWS.js} +90 -45
- package/dist/steer-GGWFUJUD.js +77 -0
- package/dist/{targets-DZMEZAH4.js → targets-C4SSGQOB.js} +78 -60
- package/dist/terminal-lease-IT5JW2NR.js +395 -0
- package/dist/{trace-7NYCUI2J.js → trace-PNCASAXC.js} +48 -17
- package/dist/tree-sitter-HGKH6LG4.js +4673 -0
- package/dist/{uninstall-AD3JWHBB.js → uninstall-FZCQCDKC.js} +19 -8
- package/dist/{upgrade-WYYBKGDY.js → upgrade-7TT7SQ3G.js} +66 -24
- package/dist/{usage-ULIDAGFF.js → usage-GV4PKT3M.js} +71 -32
- package/dist/verify-G6V4D2G7.js +716 -0
- package/dist/version-KGEG7EPO.js +21 -0
- package/dist/web-fetch-2YHJ3KTG.js +638 -0
- package/dist/{wiki-generate-PKFIX6OB.js → wiki-generate-DQF6Z66B.js} +98 -48
- package/dist/worker/entry.js +297 -54
- package/dist/workspace-G4ZWUIPR.js +22 -0
- package/docs/README.md +29 -21
- package/docs/acp.md +191 -16
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +157 -7
- package/docs/artifact-placement.md +101 -0
- package/docs/artifact-versions.md +1 -1
- package/docs/built-in-agents.md +4 -2
- package/docs/capacity-and-scheduling.md +1 -1
- package/docs/commands-and-modes.md +224 -97
- package/docs/config-knobs-audit.md +1 -3
- package/docs/configuration-and-targets.md +236 -38
- package/docs/context-engine.md +34 -7
- package/docs/development-pipeline.md +102 -0
- package/docs/dispatch-architecture-rationale.md +1 -1
- package/docs/documentation-coverage.md +4 -4
- package/docs/documentation-guide.md +3 -3
- package/docs/environment-variables.md +15 -6
- package/docs/eval-runner.md +3 -3
- package/docs/evals-internal.md +2 -2
- package/docs/evidence-and-memory.md +10 -2
- package/docs/evolution.md +2 -2
- package/docs/exit-codes-and-output.md +15 -9
- package/docs/extensions-and-sharing.md +25 -18
- package/docs/fleet-demo-runbook.md +22 -23
- package/docs/fleet-dispatch.md +117 -16
- package/docs/git-commit-provenance.md +120 -0
- package/docs/glossary.md +107 -15
- package/docs/installation-and-lifecycle.md +75 -17
- package/docs/middleware-and-components.md +1 -1
- package/docs/model-catalog.md +46 -15
- package/docs/observability.md +8 -5
- package/docs/performance-methodology.md +491 -0
- package/docs/pi-boundary.md +72 -0
- package/docs/proactive-memory.md +14 -14
- package/docs/prompt-envelope-and-tools.md +25 -4
- package/docs/provider-adapter-cookbook.md +57 -4
- package/docs/release-cut-checklist.md +129 -111
- package/docs/safety-model.md +28 -8
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +55 -12
- package/docs/skills-marketplace.md +12 -8
- package/docs/time-conventions.md +101 -0
- package/docs/tool-usage.md +6 -5
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +10 -7
- package/docs/tui-design.md +121 -28
- package/docs/worker-dispatch-mechanics.md +3 -3
- package/package.json +33 -36
- package/skills/README.md +5 -6
- package/skills/coding/ast-grep/SKILL.md +136 -0
- package/skills/coding/ast-grep/evals.md +56 -0
- package/skills/coding/ast-grep/references/rule_reference.md +297 -0
- package/skills/coding/coding-standards/SKILL.md +113 -0
- package/skills/coding/coding-standards/evals.md +34 -0
- package/skills/coding/prototype/SKILL.md +86 -0
- package/skills/coding/prototype/evals.md +42 -0
- package/skills/coding/prototype/references/LOGIC.md +67 -0
- package/skills/coding/prototype/references/UI.md +112 -0
- package/skills/coding/tdd/SKILL.md +101 -0
- package/skills/coding/tdd/evals.md +41 -0
- package/skills/coding/tdd/references/mocking.md +59 -0
- package/skills/coding/tdd/references/tests.md +77 -0
- package/skills/context/context-handoff/SKILL.md +126 -0
- package/skills/context/context-handoff/evals.md +57 -0
- package/skills/context/context-handoff/scripts/new-handoff.sh +26 -0
- package/skills/context/context-prime/SKILL.md +95 -0
- package/skills/context/context-prime/evals.md +54 -0
- package/skills/git/file-ticket/SKILL.md +107 -0
- package/skills/git/file-ticket/evals.md +54 -0
- package/skills/git/fix-issue/SKILL.md +106 -0
- package/skills/git/fix-issue/evals.md +71 -0
- package/skills/git/ship/SKILL.md +92 -0
- package/skills/git/ship/evals.md +72 -0
- package/skills/meta/clio-dev/SKILL.md +91 -0
- package/skills/meta/clio-dev/evals.md +45 -0
- package/skills/meta/clio-test/SKILL.md +130 -0
- package/skills/meta/clio-test/evals.md +43 -0
- package/skills/meta/clio-test/references/harness.md +97 -0
- package/skills/meta/clio-test/references/test-map.md +59 -0
- package/skills/meta/credentials/SKILL.md +125 -0
- package/skills/meta/credentials/evals.md +104 -0
- package/skills/meta/find-skills/SKILL.md +72 -0
- package/skills/meta/find-skills/evals.md +47 -0
- package/skills/meta/herdr/SKILL.md +127 -0
- package/skills/meta/herdr/evals.md +38 -0
- package/skills/meta/skill-craft/SKILL.md +102 -0
- package/skills/meta/skill-craft/evals.md +41 -0
- package/skills/planning/architecture/SKILL.md +129 -0
- package/skills/planning/architecture/evals.md +36 -0
- package/skills/planning/backlog/SKILL.md +90 -0
- package/skills/planning/backlog/evals.md +43 -0
- package/skills/planning/prd/SKILL.md +82 -0
- package/skills/planning/prd/evals.md +49 -0
- package/skills/planning/product-intent/SKILL.md +112 -0
- package/skills/planning/product-intent/evals.md +36 -0
- package/skills/planning/tech-spec/SKILL.md +115 -0
- package/skills/planning/tech-spec/evals.md +47 -0
- package/skills/registry.yaml +136 -0
- package/skills/research/arxiv-literature/SKILL.md +104 -0
- package/skills/research/arxiv-literature/evals.md +58 -0
- package/skills/research/experiment-protocol/SKILL.md +122 -0
- package/skills/research/experiment-protocol/evals.md +91 -0
- package/skills/research/scientific-debugging/SKILL.md +119 -0
- package/skills/research/scientific-debugging/evals.md +138 -0
- package/skills/research/scientific-modernization/SKILL.md +138 -0
- package/skills/research/scientific-modernization/evals.md +84 -0
- package/skills/skill-marketplace.json +12 -20
- package/skills/workflow/design-council/SKILL.md +139 -0
- package/skills/workflow/design-council/evals.md +97 -0
- package/skills/workflow/grill-me/SKILL.md +186 -0
- package/skills/workflow/grill-me/evals.md +78 -0
- package/skills/workflow/workflow-distiller/SKILL.md +136 -0
- package/skills/workflow/workflow-distiller/evals.md +107 -0
- package/src/cli/acp.ts +115 -0
- package/src/cli/agents.ts +60 -0
- package/src/cli/args.ts +280 -0
- package/src/cli/argv.ts +170 -0
- package/src/cli/ask.ts +34 -0
- package/src/cli/auth.ts +468 -0
- package/src/cli/bootstrap-generate.ts +498 -0
- package/src/cli/clio.ts +96 -0
- package/src/cli/components.ts +195 -0
- package/src/cli/config-inspect.ts +336 -0
- package/src/cli/config.ts +72 -0
- package/src/cli/configure-interop.ts +67 -0
- package/src/cli/configure-layout.ts +172 -0
- package/src/cli/configure.ts +1525 -0
- package/src/cli/context-clear.ts +76 -0
- package/src/cli/context-index.ts +100 -0
- package/src/cli/context.ts +321 -0
- package/src/cli/default-target.ts +55 -0
- package/src/cli/docs.ts +346 -0
- package/src/cli/doctor.ts +54 -0
- package/src/cli/eval.ts +315 -0
- package/src/cli/evidence.ts +225 -0
- package/src/cli/evolve.ts +219 -0
- package/src/cli/extensions.ts +214 -0
- package/src/cli/fleet.ts +868 -0
- package/src/cli/index.ts +338 -0
- package/src/cli/init.ts +219 -0
- package/src/cli/initial-message.ts +47 -0
- package/src/cli/internal-dispatch.ts +55 -0
- package/src/cli/memory.ts +182 -0
- package/src/cli/models.ts +257 -0
- package/src/cli/modes/json-stream.ts +121 -0
- package/src/cli/modes/jsonl.ts +9 -0
- package/src/cli/modes/print.ts +604 -0
- package/src/cli/oauth-manual-input.ts +72 -0
- package/src/cli/oauth-select.ts +36 -0
- package/src/cli/output-guard.ts +48 -0
- package/src/cli/paths.ts +44 -0
- package/src/cli/provider-target.ts +113 -0
- package/src/cli/removal.ts +72 -0
- package/src/cli/reset.ts +253 -0
- package/src/cli/run.ts +497 -0
- package/src/cli/share.ts +243 -0
- package/src/cli/shared.ts +60 -0
- package/src/cli/skills-eval.ts +1240 -0
- package/src/cli/skills.ts +485 -0
- package/src/cli/steer-channel.ts +86 -0
- package/src/cli/targets.ts +1154 -0
- package/src/cli/text-layout.ts +112 -0
- package/src/cli/trace.ts +322 -0
- package/src/cli/uninstall.ts +405 -0
- package/src/cli/upgrade.ts +286 -0
- package/src/cli/usage.ts +876 -0
- package/src/cli/validate-model.ts +28 -0
- package/src/cli/version.ts +7 -0
- package/src/cli/wiki-generate.ts +510 -0
- package/src/core/agent-environment.ts +7 -0
- package/src/core/artifact-paths.ts +43 -0
- package/src/core/bash-exec.ts +313 -0
- package/src/core/boot-trace.ts +42 -0
- package/src/core/bus-events.ts +744 -0
- package/src/core/bus-trace.ts +53 -0
- package/src/core/c-header-language.ts +265 -0
- package/src/core/clio-repo.ts +78 -0
- package/src/core/commit-attribution.ts +157 -0
- package/src/core/compile-cache.ts +159 -0
- package/src/core/config.ts +1722 -0
- package/src/core/context-floor.ts +33 -0
- package/src/core/defaults.ts +659 -0
- package/src/core/domain-loader.ts +177 -0
- package/src/core/event-bus.ts +94 -0
- package/src/core/file-references.ts +282 -0
- package/src/core/git-commit-attribution.ts +362 -0
- package/src/core/guardrails.ts +185 -0
- package/src/core/headless-permission.ts +21 -0
- package/src/core/incomplete-installation.ts +45 -0
- package/src/core/init.ts +223 -0
- package/src/core/json-payload.ts +58 -0
- package/src/core/package-root.ts +54 -0
- package/src/core/path-canonical.ts +37 -0
- package/src/core/process-identity.ts +41 -0
- package/src/core/recent-models.ts +91 -0
- package/src/core/residency-protection.ts +56 -0
- package/src/core/resolve-config-value.ts +88 -0
- package/src/core/response-schema.ts +279 -0
- package/src/core/run-overrides.ts +77 -0
- package/src/core/safe-exec.ts +205 -0
- package/src/core/safe-id.ts +37 -0
- package/src/core/safe-resource-write.ts +162 -0
- package/src/core/session-routing.ts +339 -0
- package/src/core/settings-layers.ts +354 -0
- package/src/core/shared-bus.ts +8 -0
- package/src/core/shell-quote.ts +26 -0
- package/src/core/skill-activation.ts +190 -0
- package/src/core/startup-timer.ts +37 -0
- package/src/core/state-file-lock.ts +219 -0
- package/src/core/termination.ts +275 -0
- package/src/core/timers.ts +38 -0
- package/src/core/tool-names.ts +65 -0
- package/src/core/verification-scripts.ts +13 -0
- package/src/core/workspace-files.ts +492 -0
- package/src/core/xdg.ts +177 -0
- package/src/domains/agents/builtins/architect.md +4 -4
- package/src/domains/agents/builtins/coder.md +3 -2
- package/src/domains/agents/builtins/debugger.md +1 -1
- package/src/domains/agents/builtins/documenter.md +1 -1
- package/src/domains/agents/builtins/git-master.md +3 -3
- 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 +1 -1
- package/src/domains/agents/builtins/verifier.md +1 -1
- package/src/domains/agents/builtins/wiki-writer.md +1 -1
- package/src/domains/agents/catalog.ts +172 -0
- package/src/domains/agents/contract.ts +16 -0
- package/src/domains/agents/extension.ts +110 -0
- package/src/domains/agents/fleet-commands.ts +154 -0
- package/src/domains/agents/fleet-contract.ts +797 -0
- package/src/domains/agents/frontmatter.ts +40 -0
- package/src/domains/agents/index.ts +102 -0
- package/src/domains/agents/manifest.ts +6 -0
- package/src/domains/agents/recipe-schema.ts +202 -0
- package/src/domains/agents/recipe.ts +125 -0
- package/src/domains/agents/registry.ts +111 -0
- package/src/domains/agents/result-contract.ts +1265 -0
- package/src/domains/agents/spec.ts +371 -0
- package/src/domains/agents/write-boundary.ts +109 -0
- package/src/domains/components/diff.ts +99 -0
- package/src/domains/components/hash.ts +21 -0
- package/src/domains/components/index.ts +3 -0
- package/src/domains/components/scan.ts +304 -0
- package/src/domains/components/snapshot.ts +108 -0
- package/src/domains/components/types.ts +82 -0
- package/src/domains/config/agent-namespace.ts +13 -0
- package/src/domains/config/classify.ts +106 -0
- package/src/domains/config/contract.ts +22 -0
- package/src/domains/config/extension.ts +142 -0
- package/src/domains/config/index.ts +23 -0
- package/src/domains/config/keybindings.ts +200 -0
- package/src/domains/config/manifest.ts +6 -0
- package/src/domains/config/watcher.ts +41 -0
- package/src/domains/context/adoption.ts +880 -0
- package/src/domains/context/bootstrap-prompt.ts +273 -0
- package/src/domains/context/bootstrap.ts +1502 -0
- package/src/domains/context/clear.ts +91 -0
- package/src/domains/context/clio-md.ts +429 -0
- package/src/domains/context/codewiki/artifact.ts +400 -0
- package/src/domains/context/codewiki/build-worker-protocol.ts +24 -0
- package/src/domains/context/codewiki/build-worker.ts +54 -0
- package/src/domains/context/codewiki/cmake.ts +356 -0
- package/src/domains/context/codewiki/cooperative.ts +46 -0
- package/src/domains/context/codewiki/coordinator.ts +182 -0
- package/src/domains/context/codewiki/digest.ts +135 -0
- package/src/domains/context/codewiki/grammar-assets.ts +33 -0
- package/src/domains/context/codewiki/indexer.ts +1529 -0
- package/src/domains/context/codewiki/paths.ts +67 -0
- package/src/domains/context/codewiki/schema.ts +80 -0
- package/src/domains/context/codewiki/tree-sitter.ts +771 -0
- package/src/domains/context/contract.ts +68 -0
- package/src/domains/context/excluded-dirs.ts +1 -0
- package/src/domains/context/extension.ts +358 -0
- package/src/domains/context/fingerprint.ts +198 -0
- package/src/domains/context/index.ts +154 -0
- package/src/domains/context/init-options.ts +69 -0
- package/src/domains/context/manifest.ts +6 -0
- package/src/domains/context/operator-profile.ts +157 -0
- package/src/domains/context/project-metadata.ts +529 -0
- package/src/domains/context/project-rules.ts +227 -0
- package/src/domains/context/prompt-context.ts +61 -0
- package/src/domains/context/refresh.ts +178 -0
- package/src/domains/context/runtime.ts +17 -0
- package/src/domains/context/sibling-files.ts +10 -0
- package/src/domains/context/state.ts +237 -0
- package/src/domains/context/wiki/assemble.ts +303 -0
- package/src/domains/context/wiki/frontmatter.ts +210 -0
- package/src/domains/context/wiki/generate.ts +595 -0
- package/src/domains/context/wiki/layout.ts +111 -0
- package/src/domains/context/wiki/meta.ts +221 -0
- package/src/domains/context/wiki/plan-store.ts +217 -0
- package/src/domains/context/wiki/plan.ts +250 -0
- package/src/domains/context/wiki/prompts.ts +283 -0
- package/src/domains/context/wiki/staleness.ts +198 -0
- package/src/domains/dispatch/active-route-planner.ts +168 -0
- package/src/domains/dispatch/admission-queue.ts +150 -0
- package/src/domains/dispatch/admission.ts +334 -0
- package/src/domains/dispatch/agent-candidates.ts +307 -0
- package/src/domains/dispatch/agent-ledger-hub.ts +71 -0
- package/src/domains/dispatch/agent-ledger-store.ts +257 -0
- package/src/domains/dispatch/agent-ledger.ts +212 -0
- package/src/domains/dispatch/agent-plan-adapter.ts +85 -0
- package/src/domains/dispatch/assignment-events.ts +132 -0
- package/src/domains/dispatch/assignment-reconcile.ts +76 -0
- package/src/domains/dispatch/assignment-store.ts +162 -0
- package/src/domains/dispatch/assignment.ts +278 -0
- package/src/domains/dispatch/backoff.ts +59 -0
- package/src/domains/dispatch/batch-store.ts +134 -0
- package/src/domains/dispatch/batch-tracker.ts +66 -0
- package/src/domains/dispatch/capability-match.ts +155 -0
- package/src/domains/dispatch/capacity-lease.ts +413 -0
- package/src/domains/dispatch/code-step-store.ts +52 -0
- package/src/domains/dispatch/code-step.ts +387 -0
- package/src/domains/dispatch/contract.ts +278 -0
- package/src/domains/dispatch/dedup.ts +133 -0
- package/src/domains/dispatch/event-pump.ts +251 -0
- package/src/domains/dispatch/execution-handoff.ts +29 -0
- package/src/domains/dispatch/execution-plan.ts +328 -0
- package/src/domains/dispatch/execution-role.ts +277 -0
- package/src/domains/dispatch/execution-scheduler.ts +583 -0
- package/src/domains/dispatch/extension.ts +6006 -0
- package/src/domains/dispatch/failure-classification.ts +147 -0
- package/src/domains/dispatch/fleet-commit-attribution.ts +56 -0
- package/src/domains/dispatch/fleet-plan.ts +225 -0
- package/src/domains/dispatch/fleet-preflight.ts +394 -0
- package/src/domains/dispatch/gate-decisions.ts +1040 -0
- package/src/domains/dispatch/gate-role-prompts.ts +58 -0
- package/src/domains/dispatch/heartbeat.ts +27 -0
- package/src/domains/dispatch/index.ts +137 -0
- package/src/domains/dispatch/joint-route-adapter.ts +114 -0
- package/src/domains/dispatch/joint-route-resolver.ts +283 -0
- package/src/domains/dispatch/manifest.ts +6 -0
- package/src/domains/dispatch/orphan-recovery.ts +266 -0
- package/src/domains/dispatch/outcome.ts +109 -0
- package/src/domains/dispatch/phase-timing.ts +47 -0
- package/src/domains/dispatch/placement.ts +202 -0
- package/src/domains/dispatch/receipt-findings.ts +255 -0
- package/src/domains/dispatch/receipt-integrity.ts +383 -0
- package/src/domains/dispatch/recovery-candidates.ts +74 -0
- package/src/domains/dispatch/reproducibility.ts +48 -0
- package/src/domains/dispatch/reservation-store.ts +501 -0
- package/src/domains/dispatch/route-approval.ts +177 -0
- package/src/domains/dispatch/route-candidates.ts +57 -0
- package/src/domains/dispatch/route-decision.ts +1079 -0
- package/src/domains/dispatch/route-facts.ts +187 -0
- package/src/domains/dispatch/route-history.ts +238 -0
- package/src/domains/dispatch/route-observer.ts +488 -0
- package/src/domains/dispatch/route-policy.ts +327 -0
- package/src/domains/dispatch/route-quality.ts +256 -0
- package/src/domains/dispatch/route-readiness.ts +120 -0
- package/src/domains/dispatch/routing-intent.ts +287 -0
- package/src/domains/dispatch/run-identity.ts +56 -0
- package/src/domains/dispatch/scout-transition.ts +130 -0
- package/src/domains/dispatch/state.ts +302 -0
- package/src/domains/dispatch/tool-stats.ts +132 -0
- package/src/domains/dispatch/transport.ts +210 -0
- package/src/domains/dispatch/types.ts +799 -0
- package/src/domains/dispatch/validation-grounding.ts +154 -0
- package/src/domains/dispatch/validation.ts +721 -0
- package/src/domains/dispatch/worker-protocol.ts +275 -0
- package/src/domains/dispatch/worker-spawn.ts +585 -0
- package/src/domains/dispatch/write-boundary-enforcer.ts +97 -0
- package/src/domains/dispatch/write-boundary.ts +426 -0
- package/src/domains/eval/artifacts/redact.ts +42 -0
- package/src/domains/eval/artifacts/store.ts +173 -0
- package/src/domains/eval/compare/compare.ts +33 -0
- package/src/domains/eval/compare/gates.ts +66 -0
- package/src/domains/eval/compare/thresholds.ts +92 -0
- package/src/domains/eval/harness-metrics.ts +62 -0
- package/src/domains/eval/index.ts +66 -0
- package/src/domains/eval/metrics/chaos-stream.ts +93 -0
- package/src/domains/eval/metrics/context.ts +34 -0
- package/src/domains/eval/metrics/coverage.ts +21 -0
- package/src/domains/eval/metrics/evidence.ts +182 -0
- package/src/domains/eval/metrics/fleet-loop-stream.ts +196 -0
- package/src/domains/eval/metrics/invariants.ts +736 -0
- package/src/domains/eval/metrics/latency.ts +4 -0
- package/src/domains/eval/metrics/token-stream.ts +139 -0
- package/src/domains/eval/metrics/tokens.ts +51 -0
- package/src/domains/eval/metrics/tool-calls.ts +7 -0
- package/src/domains/eval/proactive-memory.ts +279 -0
- package/src/domains/eval/provenance.ts +35 -0
- package/src/domains/eval/report.ts +234 -0
- package/src/domains/eval/reports/json.ts +5 -0
- package/src/domains/eval/reports/junit.ts +23 -0
- package/src/domains/eval/reports/markdown.ts +20 -0
- package/src/domains/eval/reports/swe-jsonl.ts +16 -0
- package/src/domains/eval/reports/text.ts +25 -0
- package/src/domains/eval/run-compare.ts +274 -0
- package/src/domains/eval/runner.ts +244 -0
- package/src/domains/eval/runners/clio-run.ts +148 -0
- package/src/domains/eval/runners/context-index.ts +56 -0
- package/src/domains/eval/runners/context-init.ts +203 -0
- package/src/domains/eval/runners/external-command.ts +350 -0
- package/src/domains/eval/runtime-paths.ts +171 -0
- package/src/domains/eval/schema/artifact.ts +75 -0
- package/src/domains/eval/schema/suite.ts +235 -0
- package/src/domains/eval/schema/validate.ts +339 -0
- package/src/domains/eval/store.ts +392 -0
- package/src/domains/eval/suites/load.ts +74 -0
- package/src/domains/eval/suites/matrix.ts +19 -0
- package/src/domains/eval/suites/resolve.ts +44 -0
- package/src/domains/eval/suites/run.ts +325 -0
- package/src/domains/eval/task-file.ts +186 -0
- package/src/domains/eval/types.ts +140 -0
- package/src/domains/eval/verifiers/command.ts +27 -0
- package/src/domains/eval/verifiers/file-exists.ts +6 -0
- package/src/domains/eval/verifiers/patch.ts +22 -0
- package/src/domains/eval/workspaces/git.ts +41 -0
- package/src/domains/eval/workspaces/local.ts +17 -0
- package/src/domains/eval/workspaces/temp-copy.ts +29 -0
- package/src/domains/evidence/build.ts +1754 -0
- package/src/domains/evidence/eval.ts +605 -0
- package/src/domains/evidence/failure-attribution.ts +54 -0
- package/src/domains/evidence/finish-contract-map.ts +42 -0
- package/src/domains/evidence/index.ts +55 -0
- package/src/domains/evidence/provenance.ts +200 -0
- package/src/domains/evidence/redact.ts +81 -0
- package/src/domains/evidence/store.ts +291 -0
- package/src/domains/evidence/types.ts +325 -0
- package/src/domains/evolution/SELF_EDIT_GATE.md +91 -0
- package/src/domains/evolution/index.ts +26 -0
- package/src/domains/evolution/manifest.ts +154 -0
- package/src/domains/evolution/validate.ts +304 -0
- package/src/domains/extensions/contract.ts +22 -0
- package/src/domains/extensions/discovery.ts +193 -0
- package/src/domains/extensions/extension.ts +46 -0
- package/src/domains/extensions/index.ts +34 -0
- package/src/domains/extensions/manager.ts +30 -0
- package/src/domains/extensions/manifest.ts +6 -0
- package/src/domains/extensions/resources.ts +38 -0
- package/src/domains/extensions/state.ts +224 -0
- package/src/domains/extensions/types.ts +83 -0
- package/src/domains/interop/consent.ts +185 -0
- package/src/domains/interop/contract.ts +29 -0
- package/src/domains/interop/detect.ts +173 -0
- package/src/domains/interop/extension.ts +59 -0
- package/src/domains/interop/index.ts +34 -0
- package/src/domains/interop/manifest.ts +6 -0
- package/src/domains/interop/registry.ts +139 -0
- package/src/domains/interop/state.ts +92 -0
- package/src/domains/interop/types.ts +109 -0
- package/src/domains/lifecycle/contract.ts +11 -0
- package/src/domains/lifecycle/doctor.ts +536 -0
- package/src/domains/lifecycle/extension.ts +23 -0
- package/src/domains/lifecycle/index.ts +21 -0
- package/src/domains/lifecycle/install-method.ts +51 -0
- package/src/domains/lifecycle/manifest.ts +6 -0
- package/src/domains/lifecycle/migrations/2026-08-18-lmstudio-runtime-id.ts +52 -0
- package/src/domains/lifecycle/migrations/index.ts +114 -0
- package/src/domains/lifecycle/state.ts +93 -0
- package/src/domains/lifecycle/upgrade-notice.ts +35 -0
- package/src/domains/lifecycle/version.ts +35 -0
- package/src/domains/memory/index.ts +128 -0
- package/src/domains/memory/operations.ts +143 -0
- package/src/domains/memory/prompt-section.ts +86 -0
- package/src/domains/memory/proposal.ts +180 -0
- package/src/domains/memory/store.ts +163 -0
- package/src/domains/memory/task-bank.ts +229 -0
- package/src/domains/memory/task-memory-handoff.ts +222 -0
- package/src/domains/memory/task-memory-policy.ts +602 -0
- package/src/domains/memory/task-memory-status.ts +58 -0
- package/src/domains/memory/task-memory-telemetry.ts +346 -0
- package/src/domains/memory/task-memory-trace.ts +89 -0
- package/src/domains/memory/types.ts +74 -0
- package/src/domains/memory/validate.ts +297 -0
- package/src/domains/middleware/budget.ts +216 -0
- package/src/domains/middleware/contract.ts +35 -0
- package/src/domains/middleware/dispatch-nudge.ts +469 -0
- package/src/domains/middleware/extension.ts +129 -0
- package/src/domains/middleware/hook-receipts.ts +70 -0
- package/src/domains/middleware/hooks-io.ts +186 -0
- package/src/domains/middleware/hooks.ts +432 -0
- package/src/domains/middleware/index.ts +154 -0
- package/src/domains/middleware/manifest.ts +6 -0
- package/src/domains/middleware/memory-intervention.ts +701 -0
- package/src/domains/middleware/rules.ts +42 -0
- package/src/domains/middleware/runtime.ts +333 -0
- package/src/domains/middleware/skills-reminder.ts +202 -0
- package/src/domains/middleware/snapshot.ts +71 -0
- package/src/domains/middleware/stalled-turn.ts +71 -0
- package/src/domains/middleware/task-board-reminder.ts +87 -0
- package/src/domains/middleware/task-nudge.ts +77 -0
- package/src/domains/middleware/tool-choice-control.ts +42 -0
- package/src/domains/middleware/types.ts +131 -0
- package/src/domains/middleware/validate.ts +329 -0
- package/src/domains/observability/accountability.ts +67 -0
- package/src/domains/observability/contract.ts +168 -0
- package/src/domains/observability/cost.ts +206 -0
- package/src/domains/observability/evidence-index.ts +123 -0
- package/src/domains/observability/extension.ts +281 -0
- package/src/domains/observability/index.ts +78 -0
- package/src/domains/observability/manifest.ts +10 -0
- package/src/domains/observability/metrics.ts +37 -0
- package/src/domains/observability/projection.ts +477 -0
- package/src/domains/observability/telemetry.ts +89 -0
- package/src/domains/observability/trace-store.ts +1454 -0
- package/src/domains/prompts/compiler.ts +614 -0
- package/src/domains/prompts/contract.ts +46 -0
- package/src/domains/prompts/extension.ts +336 -0
- package/src/domains/prompts/fragment-loader.ts +138 -0
- package/src/domains/prompts/fragments/identity/clio.md +5 -6
- package/src/domains/prompts/fragments/identity/docs-routing.md +10 -0
- package/src/domains/prompts/fragments/identity/self-awareness.md +19 -0
- package/src/domains/prompts/fragments/operating/contract.md +4 -41
- package/src/domains/prompts/fragments/operating/delegation.md +42 -0
- package/src/domains/prompts/fragments/operating/skills.md +26 -0
- package/src/domains/prompts/fragments/operating/worker.md +16 -0
- package/src/domains/prompts/fragments/safety/auto-edit.md +5 -5
- package/src/domains/prompts/fragments/safety/full-auto.md +3 -3
- package/src/domains/prompts/fragments/safety/read-only.md +4 -4
- package/src/domains/prompts/fragments/safety/suggest.md +2 -2
- package/src/domains/prompts/fragments/wiki/page.md +10 -0
- package/src/domains/prompts/fragments/wiki/plan.md +10 -0
- package/src/domains/prompts/hash.ts +73 -0
- package/src/domains/prompts/index.ts +32 -0
- package/src/domains/prompts/manifest.ts +8 -0
- package/src/domains/prompts/memory-intervention.ts +57 -0
- package/src/domains/prompts/preload.ts +82 -0
- package/src/domains/providers/auth/api-key.ts +47 -0
- package/src/domains/providers/auth/backend-file.ts +79 -0
- package/src/domains/providers/auth/backend-memory.ts +72 -0
- package/src/domains/providers/auth/boot-status.ts +65 -0
- package/src/domains/providers/auth/index.ts +37 -0
- package/src/domains/providers/auth/oauth.ts +37 -0
- package/src/domains/providers/auth/storage.ts +726 -0
- package/src/domains/providers/capabilities.ts +58 -0
- package/src/domains/providers/catalog.ts +162 -0
- package/src/domains/providers/contract.ts +162 -0
- package/src/domains/providers/credentials.ts +20 -0
- package/src/domains/providers/eligibility.ts +24 -0
- package/src/domains/providers/errors.ts +64 -0
- package/src/domains/providers/extension.ts +548 -0
- package/src/domains/providers/index.ts +142 -0
- package/src/domains/providers/knowledge-base-path.ts +102 -0
- package/src/domains/providers/manifest.ts +6 -0
- package/src/domains/providers/model-capabilities.ts +136 -0
- package/src/domains/providers/model-discovery.ts +144 -0
- package/src/domains/providers/model-family.ts +32 -0
- package/src/domains/providers/model-runtime-capabilities.ts +723 -0
- package/src/domains/providers/models/local-models/clio-local-coding-targets.yaml +120 -37
- package/src/domains/providers/plugins.ts +61 -0
- package/src/domains/providers/probe/fingerprint.ts +64 -0
- package/src/domains/providers/probe/http.ts +114 -0
- package/src/domains/providers/probe/reasoning.ts +111 -0
- package/src/domains/providers/registry.ts +187 -0
- package/src/domains/providers/resolver.ts +156 -0
- package/src/domains/providers/runtime-resolution.ts +720 -0
- package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +90 -0
- package/src/domains/providers/runtimes/boot-manifest.ts +55 -0
- package/src/domains/providers/runtimes/builtins.ts +78 -0
- package/src/domains/providers/runtimes/claude/claude-code.ts +38 -0
- package/src/domains/providers/runtimes/claude/claude-sdk.ts +38 -0
- package/src/domains/providers/runtimes/claude/common.ts +55 -0
- package/src/domains/providers/runtimes/cloud/alcf.ts +171 -0
- package/src/domains/providers/runtimes/cloud/anthropic-max.ts +71 -0
- package/src/domains/providers/runtimes/cloud/anthropic.ts +43 -0
- package/src/domains/providers/runtimes/cloud/bedrock.ts +35 -0
- package/src/domains/providers/runtimes/cloud/deepseek.ts +50 -0
- package/src/domains/providers/runtimes/cloud/google.ts +41 -0
- package/src/domains/providers/runtimes/cloud/groq.ts +46 -0
- package/src/domains/providers/runtimes/cloud/mistral.ts +46 -0
- package/src/domains/providers/runtimes/cloud/openai-codex.ts +49 -0
- package/src/domains/providers/runtimes/cloud/openai.ts +46 -0
- package/src/domains/providers/runtimes/cloud/openrouter.ts +111 -0
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +423 -0
- package/src/domains/providers/runtimes/common/local-synth.ts +164 -0
- package/src/domains/providers/runtimes/common/probe-helpers.ts +474 -0
- package/src/domains/providers/runtimes/local-native/lemonade-anthropic.ts +27 -0
- package/src/domains/providers/runtimes/local-native/lemonade-openai.ts +26 -0
- package/src/domains/providers/runtimes/local-native/llamacpp-anthropic.ts +88 -0
- package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +207 -0
- package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +180 -0
- package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +126 -0
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +98 -0
- package/src/domains/providers/runtimes/local-native/lmstudio.ts +241 -0
- package/src/domains/providers/runtimes/local-native/ollama-native.ts +117 -0
- package/src/domains/providers/runtimes/local-native/sglang.ts +26 -0
- package/src/domains/providers/runtimes/local-native/vllm.ts +27 -0
- package/src/domains/providers/runtimes/protocol/anthropic-compat.ts +104 -0
- package/src/domains/providers/runtimes/protocol/anthropic-messages.ts +28 -0
- package/src/domains/providers/runtimes/protocol/bedrock.ts +26 -0
- package/src/domains/providers/runtimes/protocol/google.ts +27 -0
- package/src/domains/providers/runtimes/protocol/openai-compat.ts +145 -0
- package/src/domains/providers/support.ts +241 -0
- package/src/domains/providers/thinking-control-policy.ts +85 -0
- package/src/domains/providers/types/capability-flags.ts +114 -0
- package/src/domains/providers/types/cost-provenance.ts +7 -0
- package/src/domains/providers/types/inference.ts +41 -0
- package/src/domains/providers/types/knowledge-base.ts +156 -0
- package/src/domains/providers/types/local-model-quirks.ts +216 -0
- package/src/domains/providers/types/runtime-descriptor.ts +181 -0
- package/src/domains/providers/types/target-descriptor.ts +60 -0
- package/src/domains/resources/collision.ts +92 -0
- package/src/domains/resources/common-loader.ts +140 -0
- package/src/domains/resources/contract.ts +24 -0
- package/src/domains/resources/extension.ts +59 -0
- package/src/domains/resources/index.ts +74 -0
- package/src/domains/resources/loader.ts +85 -0
- package/src/domains/resources/manifest.ts +6 -0
- package/src/domains/resources/prompts/loader.ts +246 -0
- package/src/domains/resources/prompts/substitute.ts +1 -0
- package/src/domains/resources/skills/content-hash.ts +107 -0
- package/src/domains/resources/skills/evals.ts +175 -0
- package/src/domains/resources/skills/install.ts +427 -0
- package/src/domains/resources/skills/loader.ts +985 -0
- package/src/domains/resources/skills/marketplace.ts +301 -0
- package/src/domains/resources/skills/provenance-pin.ts +115 -0
- package/src/domains/safety/action-classifier.ts +270 -0
- package/src/domains/safety/approval-axis.ts +23 -0
- package/src/domains/safety/audit.ts +493 -0
- package/src/domains/safety/autonomy.ts +174 -0
- package/src/domains/safety/call-target.ts +59 -0
- package/src/domains/safety/contract.ts +65 -0
- package/src/domains/safety/damage-control.ts +44 -0
- package/src/domains/safety/default-path-policy.ts +117 -0
- package/src/domains/safety/extension.ts +383 -0
- package/src/domains/safety/finish-contract-registration.ts +128 -0
- package/src/domains/safety/finish-contract.ts +554 -0
- package/src/domains/safety/index.ts +44 -0
- package/src/domains/safety/loop-detector.ts +143 -0
- package/src/domains/safety/manifest.ts +6 -0
- package/src/domains/safety/path-policy.ts +164 -0
- package/src/domains/safety/policy-engine.ts +994 -0
- package/src/domains/safety/project-policy.ts +391 -0
- package/src/domains/safety/protected-artifacts-registration.ts +189 -0
- package/src/domains/safety/protected-artifacts.ts +993 -0
- package/src/domains/safety/rejection-feedback.ts +102 -0
- package/src/domains/safety/rigor.ts +72 -0
- package/src/domains/safety/rule-compiler.ts +48 -0
- package/src/domains/safety/rule-pack-loader.ts +92 -0
- package/src/domains/safety/run-effects.ts +197 -0
- package/src/domains/safety/scope.ts +61 -0
- package/src/domains/scheduling/budget.ts +35 -0
- package/src/domains/scheduling/cluster.ts +175 -0
- package/src/domains/scheduling/contract.ts +30 -0
- package/src/domains/scheduling/extension.ts +91 -0
- package/src/domains/scheduling/index.ts +12 -0
- package/src/domains/scheduling/manifest.ts +6 -0
- package/src/domains/session/archive-readers.ts +208 -0
- package/src/domains/session/checkpoint.ts +38 -0
- package/src/domains/session/compaction/auto.ts +89 -0
- package/src/domains/session/compaction/branch-summary.ts +187 -0
- package/src/domains/session/compaction/compact.ts +493 -0
- package/src/domains/session/compaction/cut-point.ts +172 -0
- package/src/domains/session/compaction/defaults.ts +34 -0
- package/src/domains/session/compaction/mask-observations.ts +265 -0
- package/src/domains/session/compaction/session-entries.ts +18 -0
- package/src/domains/session/compaction/tokens.ts +148 -0
- package/src/domains/session/context-accounting.ts +583 -0
- package/src/domains/session/context-ledger.ts +362 -0
- package/src/domains/session/contract.ts +159 -0
- package/src/domains/session/cwd-fallback.ts +65 -0
- package/src/domains/session/decision-board.ts +190 -0
- package/src/domains/session/entries.ts +572 -0
- package/src/domains/session/extension.ts +403 -0
- package/src/domains/session/history.ts +172 -0
- package/src/domains/session/index.ts +84 -0
- package/src/domains/session/manager.ts +128 -0
- package/src/domains/session/manifest.ts +6 -0
- package/src/domains/session/migrations/index.ts +27 -0
- package/src/domains/session/prompt-manifest.ts +173 -0
- package/src/domains/session/protected-artifact-journal.ts +241 -0
- package/src/domains/session/protected-artifacts.ts +90 -0
- package/src/domains/session/retry.ts +230 -0
- package/src/domains/session/session-artifacts.ts +107 -0
- package/src/domains/session/task-board.ts +569 -0
- package/src/domains/session/tree/active-path.ts +137 -0
- package/src/domains/session/tree/fork.ts +159 -0
- package/src/domains/session/tree/manager.ts +128 -0
- package/src/domains/session/tree/navigator.ts +177 -0
- package/src/domains/session/tree/preview.ts +259 -0
- package/src/domains/session/usage.ts +148 -0
- package/src/domains/session/workspace/git-probe.ts +167 -0
- package/src/domains/session/workspace/index.ts +4 -0
- package/src/domains/session/workspace/project-type.ts +217 -0
- package/src/domains/session/workspace/snapshot.ts +74 -0
- package/src/domains/share/archive.ts +684 -0
- package/src/domains/share/contract.ts +9 -0
- package/src/domains/share/extension.ts +26 -0
- package/src/domains/share/index.ts +28 -0
- package/src/domains/share/manifest.ts +6 -0
- package/src/domains/user-tasks/store.ts +297 -0
- package/src/engine/acp/adapter.ts +397 -0
- package/src/engine/acp/errors.ts +128 -0
- package/src/engine/acp/event-mapper.ts +154 -0
- package/src/engine/acp/server.ts +2238 -0
- package/src/engine/acp/tool-mediator.ts +686 -0
- package/src/engine/acp/transport.ts +775 -0
- package/src/engine/acp/types.ts +196 -0
- package/src/engine/agent.ts +29 -0
- package/src/engine/ai.ts +207 -0
- package/src/engine/alcf-oauth.ts +205 -0
- package/src/engine/antigravity/subprocess-runtime.ts +205 -0
- package/src/engine/api-registry.ts +223 -0
- package/src/engine/apis/degraded-inference.ts +95 -0
- package/src/engine/apis/index.ts +16 -0
- package/src/engine/apis/llamacpp-residency.ts +292 -0
- package/src/engine/apis/lmstudio-residency.ts +76 -0
- package/src/engine/apis/lmstudio.ts +243 -0
- package/src/engine/apis/ollama-native.ts +528 -0
- package/src/engine/apis/openai-completions.ts +795 -0
- package/src/engine/apis/output-budget.ts +99 -0
- package/src/engine/apis/residency-lock.ts +29 -0
- package/src/engine/apis/residency.ts +776 -0
- package/src/engine/apis/resident-models.ts +42 -0
- package/src/engine/apis/sampling-overrides.ts +38 -0
- package/src/engine/apis/types.ts +16 -0
- package/src/engine/claude/sdk-runtime.ts +685 -0
- package/src/engine/claude/session-id.ts +5 -0
- package/src/engine/claude/subprocess-runtime.ts +316 -0
- package/src/engine/claude/tool-safety.ts +400 -0
- package/src/engine/env-api-keys.ts +98 -0
- package/src/engine/external-subprocess.ts +23 -0
- package/src/engine/gemma-channel-filter.ts +223 -0
- package/src/engine/harmony-response.ts +165 -0
- package/src/engine/instrumented-tui.ts +192 -0
- package/src/engine/loop-guard.ts +1127 -0
- package/src/engine/messages.ts +14 -0
- package/src/engine/models.ts +42 -0
- package/src/engine/oauth.ts +196 -0
- package/src/engine/pi-mono-names.ts +13 -0
- package/src/engine/prompt-templates.ts +1 -0
- package/src/engine/provider-payload.ts +272 -0
- package/src/engine/select-list.ts +53 -0
- package/src/engine/session.ts +834 -0
- package/src/engine/strip-tokenizer-sentinels.ts +125 -0
- package/src/engine/truncate.ts +9 -0
- package/src/engine/tui.ts +111 -0
- package/src/engine/types.ts +63 -0
- package/src/engine/worker-events.ts +100 -0
- package/src/engine/worker-runtime-capabilities.ts +5 -0
- package/src/engine/worker-runtime.ts +1022 -0
- package/src/engine/worker-tools.ts +208 -0
- package/src/entry/boot-options.ts +50 -0
- package/src/entry/orchestrator.ts +2011 -0
- package/src/interactive/application-controller.ts +433 -0
- package/src/interactive/bus-notices.ts +265 -0
- package/src/interactive/chat-loop-messages.ts +626 -0
- package/src/interactive/chat-loop-policy.ts +18 -0
- package/src/interactive/chat-loop.ts +1090 -0
- package/src/interactive/chat-panel.ts +1820 -0
- package/src/interactive/chat-renderer.ts +1228 -0
- package/src/interactive/clio-editor.ts +161 -0
- package/src/interactive/command-fallbacks.ts +23 -0
- package/src/interactive/command-output.ts +85 -0
- package/src/interactive/context-activity.ts +203 -0
- package/src/interactive/context-meter.ts +223 -0
- package/src/interactive/context-overlay.ts +246 -0
- package/src/interactive/cost-overlay.ts +279 -0
- package/src/interactive/dispatch-board.ts +1319 -0
- package/src/interactive/dispatch-steering.ts +86 -0
- package/src/interactive/editor-bash.ts +46 -0
- package/src/interactive/editor-steer.ts +51 -0
- package/src/interactive/editor-submit.ts +507 -0
- package/src/interactive/export-html/ansi-to-html.ts +161 -0
- package/src/interactive/export-html/index.ts +51 -0
- package/src/interactive/export-html/template.ts +45 -0
- package/src/interactive/export-html/tool-renderer.ts +54 -0
- package/src/interactive/external-editor.ts +67 -0
- package/src/interactive/follow-up-queue-panel.ts +75 -0
- package/src/interactive/footer/dashboard.ts +538 -0
- package/src/interactive/footer/notifications.ts +275 -0
- package/src/interactive/footer/widgets.ts +1264 -0
- package/src/interactive/footer-panel.ts +187 -0
- package/src/interactive/format-time.ts +97 -0
- package/src/interactive/index.ts +11 -0
- package/src/interactive/interactive-application.ts +939 -0
- package/src/interactive/interactive-event-projection.ts +385 -0
- package/src/interactive/interactive-input-runtime.ts +307 -0
- package/src/interactive/interactive-presentation.ts +584 -0
- package/src/interactive/interactive-shell.ts +388 -0
- package/src/interactive/interactive-slash-runtime.ts +554 -0
- package/src/interactive/interactive-subscriptions.ts +111 -0
- package/src/interactive/interactive-tickers.ts +183 -0
- package/src/interactive/keybinding-manager.ts +496 -0
- package/src/interactive/layout.ts +57 -0
- package/src/interactive/leader-key.ts +143 -0
- package/src/interactive/loop-guard-interrupt.ts +101 -0
- package/src/interactive/memory-overlay.ts +280 -0
- package/src/interactive/overlay-ask-user-lifecycle.ts +110 -0
- package/src/interactive/overlay-auth-lifecycle.ts +308 -0
- package/src/interactive/overlay-frame.ts +502 -0
- package/src/interactive/overlay-general-openers.ts +274 -0
- package/src/interactive/overlay-key-routing.ts +216 -0
- package/src/interactive/overlay-lifecycle.ts +426 -0
- package/src/interactive/overlay-model-selectors.ts +127 -0
- package/src/interactive/overlay-permission-lifecycle.ts +345 -0
- package/src/interactive/overlay-resource-openers.ts +112 -0
- package/src/interactive/overlay-session-lifecycle.ts +327 -0
- package/src/interactive/overlay-transitions.ts +57 -0
- package/src/interactive/overlays/agents.ts +69 -0
- package/src/interactive/overlays/ask-user.ts +921 -0
- package/src/interactive/overlays/auth-dialog.ts +221 -0
- package/src/interactive/overlays/context-reset.ts +108 -0
- package/src/interactive/overlays/cwd-fallback.ts +141 -0
- package/src/interactive/overlays/decisions.ts +300 -0
- package/src/interactive/overlays/extensions.ts +54 -0
- package/src/interactive/overlays/help-reference.ts +145 -0
- package/src/interactive/overlays/interop.ts +139 -0
- package/src/interactive/overlays/keybinding-detail.ts +90 -0
- package/src/interactive/overlays/list-overlay.ts +606 -0
- package/src/interactive/overlays/message-picker.ts +155 -0
- package/src/interactive/overlays/model-selector.ts +1109 -0
- package/src/interactive/overlays/prompts.ts +72 -0
- package/src/interactive/overlays/session-selector-search.ts +31 -0
- package/src/interactive/overlays/session-selector.ts +284 -0
- package/src/interactive/overlays/settings.ts +3451 -0
- package/src/interactive/overlays/skills-hub.ts +237 -0
- package/src/interactive/overlays/tree-selector.ts +422 -0
- package/src/interactive/permission-overlay.ts +170 -0
- package/src/interactive/render-trace.ts +534 -0
- package/src/interactive/renderers/branch-summary.ts +86 -0
- package/src/interactive/renderers/code-ink.ts +420 -0
- package/src/interactive/renderers/compaction-summary.ts +112 -0
- package/src/interactive/renderers/diff.ts +137 -0
- package/src/interactive/renderers/mermaid.ts +53 -0
- package/src/interactive/renderers/notice.ts +28 -0
- package/src/interactive/renderers/retry-status.ts +31 -0
- package/src/interactive/renderers/structured.ts +89 -0
- package/src/interactive/renderers/tool-execution.ts +1357 -0
- package/src/interactive/renderers/worker-entry.ts +280 -0
- package/src/interactive/session-last-turn.ts +186 -0
- package/src/interactive/session-switch-settlement.ts +10 -0
- package/src/interactive/session-transcript.ts +105 -0
- package/src/interactive/session-usage-reseed.ts +74 -0
- package/src/interactive/slash-autocomplete.ts +256 -0
- package/src/interactive/slash-commands.ts +1407 -0
- package/src/interactive/slash-spec.ts +424 -0
- package/src/interactive/status/controller.ts +260 -0
- package/src/interactive/status/index.ts +23 -0
- package/src/interactive/status/state-machine.ts +530 -0
- package/src/interactive/status/summary.ts +170 -0
- package/src/interactive/status/types.ts +121 -0
- package/src/interactive/status/verbs.ts +163 -0
- package/src/interactive/status/watchdog.ts +24 -0
- package/src/interactive/stdout-backpressure.ts +99 -0
- package/src/interactive/stream-pacer.ts +530 -0
- package/src/interactive/stream-pacing-policy.ts +66 -0
- package/src/interactive/tasks-overlay.ts +540 -0
- package/src/interactive/terminal-lease.ts +485 -0
- package/src/interactive/theme/components.ts +55 -0
- package/src/interactive/theme/glyphs.ts +70 -0
- package/src/interactive/theme/index.ts +15 -0
- package/src/interactive/theme/labels.ts +88 -0
- package/src/interactive/theme/rules.ts +138 -0
- package/src/interactive/theme/segments.ts +88 -0
- package/src/interactive/theme/tokens.ts +121 -0
- package/src/interactive/thinking-level-policy.ts +6 -0
- package/src/interactive/tool-prose-loop.ts +122 -0
- package/src/interactive/tool-prose-registration.ts +48 -0
- package/src/interactive/turn-context.ts +855 -0
- package/src/interactive/turn-middleware.ts +283 -0
- package/src/interactive/turn-persistence.ts +458 -0
- package/src/interactive/turn-queues.ts +181 -0
- package/src/interactive/turn-recovery.ts +323 -0
- package/src/interactive/turn-runtime.ts +869 -0
- package/src/interactive/turn-state.ts +133 -0
- package/src/interactive/view/artifacts.ts +1452 -0
- package/src/interactive/view/view-overlay.ts +735 -0
- package/src/interactive/welcome-dashboard.ts +537 -0
- package/src/interactive/worker-receipts.ts +143 -0
- package/src/interactive/worker-replay.ts +111 -0
- package/src/interactive/worker-share.ts +100 -0
- package/src/interactive/worker-stream.ts +446 -0
- package/src/interactive/workspace-facts.ts +141 -0
- package/src/tools/agent-tools.ts +402 -0
- package/src/tools/artifact.ts +103 -0
- package/src/tools/ask-user.ts +666 -0
- package/src/tools/bash.ts +204 -0
- package/src/tools/bootstrap.ts +77 -0
- package/src/tools/builtin-tool-catalog.ts +265 -0
- package/src/tools/codewiki/code-nav-surface.ts +29 -0
- package/src/tools/codewiki/code-nav.ts +549 -0
- package/src/tools/codewiki/shared.ts +118 -0
- package/src/tools/compete-worktrees.ts +898 -0
- package/src/tools/context/docs-engine.ts +630 -0
- package/src/tools/context/index.ts +514 -0
- package/src/tools/context/surface.ts +19 -0
- package/src/tools/core-bootstrap.ts +168 -0
- package/src/tools/credential-present.ts +151 -0
- package/src/tools/dispatch-admission.ts +533 -0
- package/src/tools/dispatch-arguments.ts +228 -0
- package/src/tools/dispatch-background.ts +54 -0
- package/src/tools/dispatch-event-text.ts +6 -0
- package/src/tools/dispatch-plan.ts +746 -0
- package/src/tools/dispatch-run-events.ts +238 -0
- package/src/tools/dispatch-runner.ts +2370 -0
- package/src/tools/dispatch-scout-admission.ts +295 -0
- package/src/tools/dispatch-scout.ts +461 -0
- package/src/tools/dispatch-types.ts +77 -0
- package/src/tools/dispatch.ts +244 -0
- package/src/tools/edit-diff.ts +534 -0
- package/src/tools/edit.ts +128 -0
- package/src/tools/executables.ts +22 -0
- package/src/tools/file-mutation-queue.ts +35 -0
- package/src/tools/find.ts +294 -0
- package/src/tools/grep.ts +495 -0
- package/src/tools/ignore-policy.ts +169 -0
- package/src/tools/lazy-tool.ts +60 -0
- package/src/tools/ledger.ts +206 -0
- package/src/tools/ls.ts +110 -0
- package/src/tools/monitor-surface.ts +36 -0
- package/src/tools/monitor.ts +767 -0
- package/src/tools/network-policy.ts +29 -0
- package/src/tools/observation.ts +421 -0
- package/src/tools/observers.ts +99 -0
- package/src/tools/path-utils.ts +79 -0
- package/src/tools/policy.ts +154 -0
- package/src/tools/profiles.ts +108 -0
- package/src/tools/read.ts +173 -0
- package/src/tools/registry.ts +1169 -0
- package/src/tools/result-shaping.ts +204 -0
- package/src/tools/safe-exec.ts +128 -0
- package/src/tools/spawn-hygiene.ts +182 -0
- package/src/tools/steer-surface.ts +17 -0
- package/src/tools/steer.ts +77 -0
- package/src/tools/tasks.ts +265 -0
- package/src/tools/truncate-utf8.ts +17 -0
- package/src/tools/truncate.ts +43 -0
- package/src/tools/verify/frontend.ts +687 -0
- package/src/tools/verify/index.ts +31 -0
- package/src/tools/verify/scripts.ts +108 -0
- package/src/tools/verify/surface.ts +46 -0
- package/src/tools/web-fetch-surface.ts +23 -0
- package/src/tools/web-fetch.ts +759 -0
- package/src/tools/worker-evidence.ts +215 -0
- package/src/tools/write.ts +57 -0
- package/src/utils/exif-orientation.ts +192 -0
- package/src/utils/git.ts +24 -0
- package/src/utils/image-resize.ts +148 -0
- package/src/utils/photon.ts +103 -0
- package/src/worker/control-lane.ts +22 -0
- package/src/worker/entry.ts +294 -0
- package/src/worker/event-projection.ts +56 -0
- package/src/worker/heartbeat.ts +24 -0
- package/src/worker/ledger-mirror.ts +95 -0
- package/src/worker/ndjson.ts +40 -0
- package/src/worker/protocol.ts +529 -0
- package/src/worker/resource-facts.ts +79 -0
- package/src/worker/runtime-registry.ts +12 -0
- package/src/worker/spec-contract.ts +675 -0
- package/src/worker/stdin-demux.ts +316 -0
- package/dist/acp-UMLFVA3F.js +0 -92
- package/dist/chunk-262G75JS.js +0 -35
- package/dist/chunk-6CWDTGUC.js +0 -20
- package/dist/chunk-BYEU76JP.js +0 -899
- package/dist/chunk-GNGDQYDU.js +0 -34688
- package/dist/chunk-GOTUR54M.js +0 -9
- package/dist/chunk-NI4DEJMC.js +0 -88
- package/dist/chunk-TPOCL34A.js +0 -2876
- package/dist/chunk-UU3R62TT.js +0 -128
- package/dist/clio-KIQ5SNDS.js +0 -53
- package/dist/configure-G4E3A2PG.js +0 -27
- package/dist/doctor-M5HJJZOL.js +0 -61
- package/dist/domains/agents/builtins/architect.md +0 -33
- package/dist/domains/agents/builtins/coder.md +0 -31
- package/dist/domains/agents/builtins/context-bootstrap.md +0 -38
- package/dist/domains/agents/builtins/debugger.md +0 -30
- package/dist/domains/agents/builtins/documenter.md +0 -31
- package/dist/domains/agents/builtins/git-master.md +0 -30
- package/dist/domains/agents/builtins/provenance.md +0 -30
- package/dist/domains/agents/builtins/researcher.md +0 -71
- package/dist/domains/agents/builtins/scout.md +0 -42
- package/dist/domains/agents/builtins/tester.md +0 -31
- package/dist/domains/agents/builtins/verifier.md +0 -30
- package/dist/domains/agents/builtins/wiki-writer.md +0 -41
- package/dist/fleet-preflight-CLIAX7YR.js +0 -21
- package/dist/preload-KZVHET2B.js +0 -11
- package/dist/version-ROZ6CZKH.js +0 -16
- package/docs/html/agents_blueprint.html +0 -936
- package/docs/html/alcf_blueprint.html +0 -324
- package/docs/html/architecture_blueprint.html +0 -850
- package/docs/html/commands_blueprint.html +0 -794
- package/docs/html/config_knobs_audit_blueprint.html +0 -178
- package/docs/html/configuration_blueprint.html +0 -1080
- package/docs/html/context_blueprint.html +0 -603
- package/docs/html/documentation_blueprint.html +0 -832
- package/docs/html/environment_blueprint.html +0 -404
- package/docs/html/eval_blueprint.html +0 -743
- package/docs/html/evals_internal_blueprint.html +0 -190
- package/docs/html/evolution_blueprint.html +0 -674
- package/docs/html/extensions_blueprint.html +0 -2065
- package/docs/html/fleet_dispatch_blueprint.html +0 -286
- package/docs/html/index.html +0 -919
- package/docs/html/lifecycle_blueprint.html +0 -723
- package/docs/html/memory_blueprint.html +0 -699
- package/docs/html/middleware_blueprint.html +0 -664
- package/docs/html/models_blueprint.html +0 -2366
- package/docs/html/observability_blueprint.html +0 -683
- package/docs/html/provider_adapter_blueprint.html +0 -245
- package/docs/html/safety_blueprint.html +0 -1386
- package/docs/html/shared.css +0 -571
- package/docs/html/shared.js +0 -143
- package/docs/html/skills_blueprint.html +0 -671
- package/docs/html/soak_blueprint.html +0 -182
- package/docs/html/tool_usage_blueprint.html +0 -350
- package/docs/html/tools_blueprint.html +0 -2249
- package/docs/html/trace_blueprint.html +0 -235
- package/docs/html/tui_design_blueprint.html +0 -314
- package/docs/html/validation_blueprint.html +0 -961
- package/docs/html/worker_dispatch_blueprint.html +0 -231
- package/skills/git/commit-crafting/SKILL.md +0 -79
- package/skills/git/commit-crafting/evals.md +0 -92
- package/skills/git/create-pr/SKILL.md +0 -116
- package/skills/git/create-pr/evals.md +0 -114
- package/skills/git/investigate-issue/SKILL.md +0 -139
- package/skills/git/investigate-issue/evals.md +0 -94
- package/skills/git/review-changes/SKILL.md +0 -103
- package/skills/git/review-changes/evals.md +0 -85
|
@@ -0,0 +1,799 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared run + receipt types for the dispatch domain (Phase 6 slice 2).
|
|
3
|
+
*
|
|
4
|
+
* RunEnvelope is the live record kept in the ledger (runs.json). RunReceipt is
|
|
5
|
+
* the per-run artifact written under receipts/<runId>.json on completion. Both
|
|
6
|
+
* are pure data: no class methods, no engine refs.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { SkillActivation } from "../../core/skill-activation.js";
|
|
10
|
+
import type { ToolProfileName } from "../../tools/profiles.js";
|
|
11
|
+
import type { AgentAudience } from "../agents/spec.js";
|
|
12
|
+
import type { EvidenceTag } from "../evidence/index.js";
|
|
13
|
+
import type { CostProvenance, RuntimeTargetSnapshot } from "../providers/index.js";
|
|
14
|
+
import type { ExecutionRole, GateTopologyRole } from "./execution-role.js";
|
|
15
|
+
import type { RouteDecisionV1 } from "./route-decision.js";
|
|
16
|
+
import type { RoutingIntent } from "./routing-intent.js";
|
|
17
|
+
|
|
18
|
+
export type RunStatus = "queued" | "running" | "completed" | "failed" | "interrupted" | "stale" | "dead";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Terminal outcome taxonomy. Every run that reaches finalization gets exactly
|
|
22
|
+
* one outcome, resolved at the single finalization point in extension.ts via
|
|
23
|
+
* resolveRunOutcome(). No call site assigns an outcome literal directly.
|
|
24
|
+
* Retry policy and audit semantics branch on the outcome, not on RunStatus,
|
|
25
|
+
* which is kept for backward compatibility with pre-existing ledgers.
|
|
26
|
+
*/
|
|
27
|
+
export type RunOutcome =
|
|
28
|
+
| "succeeded" // worker exited 0, receipt complete
|
|
29
|
+
| "failed" // worker exited nonzero or threw
|
|
30
|
+
| "timed_out" // exceeded turn/run timeout
|
|
31
|
+
| "stalled" // heartbeat dead or ACP event-inactivity exceeded
|
|
32
|
+
| "canceled" // operator abort (SIGINT, /abort, batch cancel)
|
|
33
|
+
| "denied_by_policy" // admission, budget, scope, or cooldown rejection
|
|
34
|
+
| "spawn_failed"; // process never reached a live session
|
|
35
|
+
|
|
36
|
+
/** Stable machine classifications for terminal conditions that drive policy. */
|
|
37
|
+
export type RunOutcomeCode =
|
|
38
|
+
| "vram_capacity_fit_failure"
|
|
39
|
+
| "worker_tool_call_cap_exhausted"
|
|
40
|
+
| "loop_guard_tools_disabled_exhausted"
|
|
41
|
+
| "result_contract_exhausted"
|
|
42
|
+
| "worker_final_output_missing";
|
|
43
|
+
|
|
44
|
+
export function isRunOutcomeCode(value: unknown): value is RunOutcomeCode {
|
|
45
|
+
return (
|
|
46
|
+
value === "vram_capacity_fit_failure" ||
|
|
47
|
+
value === "worker_tool_call_cap_exhausted" ||
|
|
48
|
+
value === "loop_guard_tools_disabled_exhausted" ||
|
|
49
|
+
value === "result_contract_exhausted" ||
|
|
50
|
+
value === "worker_final_output_missing"
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export const RETRYABLE_OUTCOMES: ReadonlySet<RunOutcome> = new Set(["failed", "timed_out", "stalled", "spawn_failed"]);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* A ledger row is terminal once finalization stamped its end, or once its
|
|
58
|
+
* status left the live pair (covers adopted orphans and dead-marked rows
|
|
59
|
+
* whose endedAt was never written). Shared by monitor wait/collect and the
|
|
60
|
+
* detached-batch nudge so "done" means the same thing everywhere.
|
|
61
|
+
*/
|
|
62
|
+
export function isTerminalRunEnvelope(run: RunEnvelope): boolean {
|
|
63
|
+
if (run.endedAt !== null) return true;
|
|
64
|
+
return run.status !== "queued" && run.status !== "running";
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Proof-of-work lineage. Retries inherit rootRunId, increment attempt, keep
|
|
69
|
+
* depth. Nested dispatch (a fleet step, a worker that dispatches) increments
|
|
70
|
+
* depth, resets attempt, and points parentRunId at the dispatching run.
|
|
71
|
+
*/
|
|
72
|
+
export interface RunLineage {
|
|
73
|
+
parentRunId: string | null; // run that dispatched or retried this one
|
|
74
|
+
rootRunId: string; // first ancestor; equals runId for roots
|
|
75
|
+
attempt: number; // 0 for first attempt, increments per retry
|
|
76
|
+
depth: number; // 0 for operator-initiated, +1 per nesting level
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Provenance for a pipeline step whose worker received the previous step's
|
|
81
|
+
* final output as threaded dynamic input. Absent on step 1 and on every
|
|
82
|
+
* non-pipeline run. `inputBytes` is the UTF-8 byte length of the upstream
|
|
83
|
+
* text before the 12000-char cap; `inputTruncated` records whether the cap
|
|
84
|
+
* clipped it. Follows the optional-field pattern of `lineage`/`identity`.
|
|
85
|
+
*/
|
|
86
|
+
export interface RunPipelineProvenance {
|
|
87
|
+
fromRunId: string | null; // run whose output was threaded in; null when unknown
|
|
88
|
+
position: number; // 1-based index of this step in the chain
|
|
89
|
+
inputBytes: number; // UTF-8 byte length of the upstream text before capping
|
|
90
|
+
inputTruncated: boolean; // true when the 12000-char cap clipped the input
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** Integrity-covered proof of the exact bounded briefing content sent to a worker. */
|
|
94
|
+
export interface RunBriefingProvenance {
|
|
95
|
+
bytes: number;
|
|
96
|
+
contentHash: string;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Integrity-covered proof that one canonical steering message was written to
|
|
101
|
+
* the native worker channel, without retaining the steering prose itself.
|
|
102
|
+
* Acknowledgements are matched to sent entries in stable sequence order.
|
|
103
|
+
*/
|
|
104
|
+
export interface RunSteeringProvenance {
|
|
105
|
+
sequence: number;
|
|
106
|
+
bytes: number;
|
|
107
|
+
contentHash: string;
|
|
108
|
+
sentAt: string;
|
|
109
|
+
acknowledged: boolean;
|
|
110
|
+
acknowledgedAt?: string;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Explicit marker for an ad-hoc specialist whose orchestrator-authored persona
|
|
115
|
+
* replaced the recipe body in the stable worker prompt.
|
|
116
|
+
*/
|
|
117
|
+
export interface RunPersonaOverride {
|
|
118
|
+
promptHash: string; // same hash as staticCompositionHash for the composed prompt
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Effective project-context decision for a run, recorded on every receipt so
|
|
123
|
+
* evidence can prove what a worker saw without rehashing. `tier: "none"` is
|
|
124
|
+
* written explicitly: it distinguishes "policy said none" from a
|
|
125
|
+
* pre-provenance receipt where the whole block is absent. `chars` and
|
|
126
|
+
* `contentHash` describe the rendered dynamic message body when bounded;
|
|
127
|
+
* `sections` lists extra projected sections that actually rendered
|
|
128
|
+
* (currently only "verification-expectations", never for ACP delegation).
|
|
129
|
+
*/
|
|
130
|
+
export interface RunProjectContextProvenance {
|
|
131
|
+
tier: "none" | "bounded";
|
|
132
|
+
chars?: number;
|
|
133
|
+
contentHash?: string;
|
|
134
|
+
sections?: string[];
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Host and HPC-scheduler identity captured at run start. A receipt produced
|
|
139
|
+
* inside a Slurm/PBS/LSF allocation carries the allocation identity so the
|
|
140
|
+
* provenance chain anchors to the scheduler job, not folklore.
|
|
141
|
+
*/
|
|
142
|
+
export interface RunIdentity {
|
|
143
|
+
host: string;
|
|
144
|
+
user: string;
|
|
145
|
+
hpc: {
|
|
146
|
+
scheduler: "slurm" | "pbs" | "lsf";
|
|
147
|
+
jobId: string;
|
|
148
|
+
jobName: string | null;
|
|
149
|
+
cluster: string | null;
|
|
150
|
+
} | null;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Fleet node the worker process ran on, recorded at dispatch time from the
|
|
155
|
+
* placement decision. Absent on runs dispatched before fleet placement landed
|
|
156
|
+
* and on bundles with no fleet configured; renderers treat absence as the
|
|
157
|
+
* local node. `host` is the configured node address for ssh transports;
|
|
158
|
+
* `identity.host` (detected orchestrator-side) still names the orchestrator.
|
|
159
|
+
*/
|
|
160
|
+
export interface RunNodeIdentity {
|
|
161
|
+
id: string;
|
|
162
|
+
kind: "local" | "ssh";
|
|
163
|
+
host?: string;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Bounded projection of a worker's attestation into the receipt.
|
|
168
|
+
*
|
|
169
|
+
* Endpoints appear only as an identity hash, so a receipt names which endpoint
|
|
170
|
+
* served a run without carrying its URL or credentials. Unknown resource facts
|
|
171
|
+
* are null rather than zero: the receipt records that the node could not
|
|
172
|
+
* observe the value, not that the value was absent.
|
|
173
|
+
*/
|
|
174
|
+
export interface RunReceiptAttestation {
|
|
175
|
+
protocolVersion: number;
|
|
176
|
+
/** Host identity as the executing node reported it, not as the orchestrator assumed. */
|
|
177
|
+
host: string;
|
|
178
|
+
pid: number;
|
|
179
|
+
processGroupId: number | null;
|
|
180
|
+
settingsFingerprint: string;
|
|
181
|
+
specDigest: string;
|
|
182
|
+
targetId: string;
|
|
183
|
+
endpointIdentityHash: string;
|
|
184
|
+
wireModelId: string;
|
|
185
|
+
runtimeId: string;
|
|
186
|
+
toolSignature: string;
|
|
187
|
+
resources: {
|
|
188
|
+
labels: string[];
|
|
189
|
+
cpuCount: number | null;
|
|
190
|
+
totalMemoryBytes: number | null;
|
|
191
|
+
gpuCount: number | null;
|
|
192
|
+
vramBytes: number | null;
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* One dead-node failover hop. Appended when an in-flight or queued dispatch
|
|
198
|
+
* is requeued from a node classified dead onto an eligible survivor, so the
|
|
199
|
+
* receipt chain records the full placement lineage, not just the final node.
|
|
200
|
+
*/
|
|
201
|
+
export interface RunNodeReroute {
|
|
202
|
+
attempt: number;
|
|
203
|
+
fromNode: string;
|
|
204
|
+
toNode: string;
|
|
205
|
+
reason: string;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* One receipt-chain reference to another run in the same gate group. `digest`
|
|
210
|
+
* is the referenced run's receipt integrity digest at reference time (null
|
|
211
|
+
* when the referenced run sealed no receipt, e.g. a spawn failure).
|
|
212
|
+
*/
|
|
213
|
+
export interface RunGateSubjectRef {
|
|
214
|
+
runId: string;
|
|
215
|
+
digest: string | null;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Review/compete gate provenance, carried on the request and sealed into the
|
|
220
|
+
* receipt. References point backward only: a reviewer references the builder
|
|
221
|
+
* it reviewed, a revise builder references the reviewer whose findings it
|
|
222
|
+
* received, a judge references every candidate it ranked. The chain is
|
|
223
|
+
* reconstructed newest-to-oldest from these links; verdicts are evidenced on
|
|
224
|
+
* the run they caused (`verdict` on a revise builder is the reviewer verdict
|
|
225
|
+
* that triggered it).
|
|
226
|
+
*/
|
|
227
|
+
export interface RunGateProvenance {
|
|
228
|
+
role: GateTopologyRole;
|
|
229
|
+
/** Gate group id shared by every run of one gated dispatch. */
|
|
230
|
+
group: string;
|
|
231
|
+
/** 1-based review cycle, or candidate ordinal for compete candidates. */
|
|
232
|
+
cycle: number;
|
|
233
|
+
/** Runs this run reviews, revises from, or judges; absent on the first builder. */
|
|
234
|
+
subjects?: RunGateSubjectRef[];
|
|
235
|
+
/** Reviewer verdict that caused this run; only on revise builders. */
|
|
236
|
+
verdict?: "pass" | "fail" | "revise";
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Plan-approval provenance for multi-task, compete, or remote dispatch.
|
|
241
|
+
* `approval: "operator"` records that a supervised autonomy level parked the
|
|
242
|
+
* dispatch call and an operator approved the plan; `"full-auto"` records that
|
|
243
|
+
* full-auto skipped the stop and the plan was logged instead. The hash covers
|
|
244
|
+
* the rendered plan artifact so every run of the plan chains to the same
|
|
245
|
+
* approved text.
|
|
246
|
+
*/
|
|
247
|
+
export interface RunPlanProvenance {
|
|
248
|
+
hash: string;
|
|
249
|
+
topology: "parallel" | "sequential" | "pipeline" | "review" | "compete" | "detached" | "fleet";
|
|
250
|
+
taskCount: number;
|
|
251
|
+
approval: "operator" | "full-auto";
|
|
252
|
+
source: null | {
|
|
253
|
+
kind: "scout-transition";
|
|
254
|
+
runId: string;
|
|
255
|
+
receiptDigest: string;
|
|
256
|
+
executionPlanHash: string;
|
|
257
|
+
};
|
|
258
|
+
/** Registry-issued identity of the one-shot operator approval, when applicable. */
|
|
259
|
+
approvalRequestId?: string;
|
|
260
|
+
approvalRequestedBy?: string;
|
|
261
|
+
costCeilingUsd?: number;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Runtime kind recorded on a run envelope/receipt. "http" covers Clio-owned
|
|
266
|
+
* pi-agent model runtimes; "sdk" and "subprocess" cover sanctioned worker
|
|
267
|
+
* runtimes with dedicated worker runners; "acp-delegation" covers external
|
|
268
|
+
* Agent Client Protocol harnesses that Clio supervises as delegated coding
|
|
269
|
+
* agents.
|
|
270
|
+
*/
|
|
271
|
+
export type RunKind = "http" | "sdk" | "subprocess" | "acp-delegation";
|
|
272
|
+
|
|
273
|
+
/** True only for worker runtimes whose live agent API can consume guidance. */
|
|
274
|
+
export function runKindSupportsLiveSteering(kind: RunKind): boolean {
|
|
275
|
+
return kind === "http" || kind === "sdk";
|
|
276
|
+
}
|
|
277
|
+
export type DispatchRequestOrigin = "user" | "agent" | "internal";
|
|
278
|
+
|
|
279
|
+
/** Durable routing-system phase marks. They live on the ledger envelope, not the sealed receipt. */
|
|
280
|
+
export interface RunPhaseMarks {
|
|
281
|
+
requestedAt: string;
|
|
282
|
+
decisionStartedAt: string;
|
|
283
|
+
decisionCompletedAt?: string;
|
|
284
|
+
queuedAt?: string;
|
|
285
|
+
admittedAt?: string;
|
|
286
|
+
workerSpawnedAt?: string;
|
|
287
|
+
firstModelTokenAt?: string;
|
|
288
|
+
firstToolAt?: string;
|
|
289
|
+
endedAt?: string;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/** Derived durations keep execution and user-observed end-to-end time explicitly distinct. */
|
|
293
|
+
export interface RunPhaseDurations {
|
|
294
|
+
requestToDecisionMs: number | null;
|
|
295
|
+
decisionMs: number | null;
|
|
296
|
+
admissionWaitMs: number | null;
|
|
297
|
+
queueWaitMs: number | null;
|
|
298
|
+
spawnSetupMs: number | null;
|
|
299
|
+
timeToFirstModelTokenMs: number | null;
|
|
300
|
+
timeToFirstToolMs: number | null;
|
|
301
|
+
executionMs: number | null;
|
|
302
|
+
totalEndToEndMs: number | null;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* The one receipt integrity version. Clio is pre-1.0 with no installed base, so
|
|
307
|
+
* there is nothing to keep verifying: a receipt is this version or it is not a
|
|
308
|
+
* receipt. `receipt-integrity.ts` annotates its constant against this type, so
|
|
309
|
+
* bumping one without the other is a compile error.
|
|
310
|
+
*/
|
|
311
|
+
export interface RunReceiptIntegrity {
|
|
312
|
+
version: 15;
|
|
313
|
+
algorithm: "sha256";
|
|
314
|
+
digest: string;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/** One correctness-bearing validation result sealed at receipt finalization. */
|
|
318
|
+
export interface RunReceiptTypedValidationFact {
|
|
319
|
+
sourceId: string;
|
|
320
|
+
validatorDigest: string;
|
|
321
|
+
passed: boolean;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/** The exact response-schema enforcement fact, distinct from answer correctness. */
|
|
325
|
+
export interface RunReceiptResponseSchemaFact {
|
|
326
|
+
sourceId: string | null;
|
|
327
|
+
schemaDigest: string | null;
|
|
328
|
+
runtimeEnforceable: boolean;
|
|
329
|
+
enforcementPassed: boolean | null;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/** Typed result-contract conformance and its separately eligible quality label. */
|
|
333
|
+
export interface RunReceiptResultContractFact {
|
|
334
|
+
sourceId: string;
|
|
335
|
+
validatorDigest: string;
|
|
336
|
+
/** `not-reached` means the run never produced a terminal result to judge. */
|
|
337
|
+
conformance: "pass" | "fail" | "not-reached";
|
|
338
|
+
quality: "pass" | "fail" | "unmeasured";
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* A terminal result's passing validation claims, measured against the commands
|
|
343
|
+
* the run's own tool calls show it ran. Present only when the result carried at
|
|
344
|
+
* least one passing claim under a contract kind that can be grounded, so a
|
|
345
|
+
* receipt that claims nothing digests exactly as it did before this landed.
|
|
346
|
+
*/
|
|
347
|
+
export interface RunValidationGrounding {
|
|
348
|
+
claimed: number;
|
|
349
|
+
grounded: number;
|
|
350
|
+
/** Claim names with no matching execution, stably ordered and bounded. */
|
|
351
|
+
ungrounded: string[];
|
|
352
|
+
/**
|
|
353
|
+
* `no-command-executed` is the hard case: the run claimed a passing check and
|
|
354
|
+
* ran nothing that could have produced one, so the quality label does not
|
|
355
|
+
* rest on it. `unmatched-command` means it ran commands the canonical
|
|
356
|
+
* detector does not enumerate, which is reported and nothing more.
|
|
357
|
+
*/
|
|
358
|
+
basis: "no-command-executed" | "unmatched-command";
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* One run's sealed contribution to the agent ledger its dispatch coordinated
|
|
363
|
+
* on. Sealed orchestrator-side from the stored entries; a worker reports
|
|
364
|
+
* nothing about its own contribution.
|
|
365
|
+
*/
|
|
366
|
+
export interface RunLedgerContribution {
|
|
367
|
+
ledgerId: string;
|
|
368
|
+
posted: number;
|
|
369
|
+
refused: number;
|
|
370
|
+
/** sha256 over canonicalJson of this run's attributed entries in sequence order. */
|
|
371
|
+
digest: string;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* The pairing of a read-only recipe with a task that needs a write, decided at
|
|
376
|
+
* admission. Present only on a run the harness admitted with the mismatch
|
|
377
|
+
* flagged; a refused pairing never becomes a run at all.
|
|
378
|
+
*/
|
|
379
|
+
export interface RunCapabilityMismatch {
|
|
380
|
+
agentId: string;
|
|
381
|
+
capabilityClass: string;
|
|
382
|
+
taskType: string;
|
|
383
|
+
suggestedAgentId: string | null;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* Required run-local quality facts. Later gate and evaluation artifacts link to
|
|
388
|
+
* the sealed receipt digest rather than mutating this block after finalization.
|
|
389
|
+
*/
|
|
390
|
+
export interface RunReceiptQuality {
|
|
391
|
+
version: 1;
|
|
392
|
+
typedValidations: RunReceiptTypedValidationFact[];
|
|
393
|
+
responseSchema: RunReceiptResponseSchemaFact;
|
|
394
|
+
resultContract: RunReceiptResultContractFact | null;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
/**
|
|
398
|
+
* Compact, durable, integrity-covered findings summary folded onto a receipt at
|
|
399
|
+
* record time (the durable half of the v0.2.7 "Both" findings-sink decision).
|
|
400
|
+
* It is computed cheaply from the envelope/outcome/exitCode/toolStats, never by
|
|
401
|
+
* calling buildEvidence (which reads the receipt and would create a cycle). The
|
|
402
|
+
* full forensic bundle is the enriched version; this is the always-present
|
|
403
|
+
* compact half. The v3 integrity branch folds it into the digest, so the
|
|
404
|
+
* payload must stay JSON-clean: tags is a stably ordered array, firstPassSuccess
|
|
405
|
+
* a boolean, findingCount a finite number. No undefined inside.
|
|
406
|
+
*/
|
|
407
|
+
export interface RunReceiptFindingsSummary {
|
|
408
|
+
tags: EvidenceTag[];
|
|
409
|
+
firstPassSuccess: boolean;
|
|
410
|
+
findingCount: number;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export interface RunEnvelope {
|
|
414
|
+
id: string;
|
|
415
|
+
agentId: string;
|
|
416
|
+
/** Semantic role this attempt's route statistics belong to. */
|
|
417
|
+
executionRole: ExecutionRole;
|
|
418
|
+
agentAudience?: AgentAudience;
|
|
419
|
+
requestOrigin?: DispatchRequestOrigin;
|
|
420
|
+
task: string;
|
|
421
|
+
/** Present only when a bounded parent briefing was sent as dynamic task data. */
|
|
422
|
+
briefing?: RunBriefingProvenance;
|
|
423
|
+
/** Sent steering provenance in stable per-run sequence order; prose is never persisted. */
|
|
424
|
+
steering?: ReadonlyArray<RunSteeringProvenance>;
|
|
425
|
+
targetId: string;
|
|
426
|
+
wireModelId: string;
|
|
427
|
+
runtimeId: string;
|
|
428
|
+
runtimeKind: RunKind;
|
|
429
|
+
/** Durable side-channel timing; intentionally outside receipt integrity and optional on historical rows. */
|
|
430
|
+
timing?: RunPhaseMarks;
|
|
431
|
+
startedAt: string;
|
|
432
|
+
endedAt: string | null;
|
|
433
|
+
status: RunStatus;
|
|
434
|
+
/** Terminal outcome; null until the run finalizes. Absent on pre-taxonomy rows. */
|
|
435
|
+
outcome?: RunOutcome | null;
|
|
436
|
+
outcomeDetail?: string | null;
|
|
437
|
+
outcomeCode?: RunOutcomeCode | null;
|
|
438
|
+
lineage?: RunLineage;
|
|
439
|
+
identity?: RunIdentity;
|
|
440
|
+
/** Fleet node placement; absent when no fleet placement resolved this run. */
|
|
441
|
+
node?: RunNodeIdentity;
|
|
442
|
+
/** Dead-node failover hops, oldest first; absent when the run was never rerouted. */
|
|
443
|
+
reroutes?: RunNodeReroute[];
|
|
444
|
+
/** Pipeline threading provenance; present only on pipeline steps after the first. */
|
|
445
|
+
pipeline?: RunPipelineProvenance;
|
|
446
|
+
/** Review/compete gate provenance; present only on runs of a gated dispatch. */
|
|
447
|
+
gate?: RunGateProvenance;
|
|
448
|
+
/** Plan-approval provenance; present only on runs of an approval-gated plan. */
|
|
449
|
+
plan?: RunPlanProvenance;
|
|
450
|
+
/** Ad-hoc specialist provenance; present only when a persona override composed the stable prompt. */
|
|
451
|
+
personaOverride?: RunPersonaOverride;
|
|
452
|
+
exitCode: number | null;
|
|
453
|
+
pid: number | null;
|
|
454
|
+
heartbeatAt: string | null;
|
|
455
|
+
receiptPath: string | null;
|
|
456
|
+
sessionId: string | null;
|
|
457
|
+
cwd: string;
|
|
458
|
+
tokenCount: number;
|
|
459
|
+
/** Input/output token split; written at finalization, absent on pre-split ledgers. */
|
|
460
|
+
inputTokenCount?: number;
|
|
461
|
+
outputTokenCount?: number;
|
|
462
|
+
reasoningTokenCount?: number;
|
|
463
|
+
cacheReadTokenCount?: number;
|
|
464
|
+
cacheWriteTokenCount?: number;
|
|
465
|
+
staticShellHash?: string | null;
|
|
466
|
+
sessionShellHash?: string | null;
|
|
467
|
+
dynamicHash?: string | null;
|
|
468
|
+
promptSignature?: string | null;
|
|
469
|
+
toolSignature?: string | null;
|
|
470
|
+
costUsd: number;
|
|
471
|
+
costProvenance?: CostProvenance;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* Per-tool aggregates folded into a receipt at run completion. Sourced from
|
|
476
|
+
* the worker's ToolTelemetry stream (`clio_tool_finish` IPC events). Sorted
|
|
477
|
+
* by tool name on write so digests are deterministic across runs.
|
|
478
|
+
*/
|
|
479
|
+
export interface ToolCallStat {
|
|
480
|
+
tool: string;
|
|
481
|
+
count: number;
|
|
482
|
+
ok: number;
|
|
483
|
+
errors: number;
|
|
484
|
+
blocked: number;
|
|
485
|
+
totalDurationMs: number;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* Deterministic activity totals aggregated from toolStats at finalization.
|
|
490
|
+
* `mutatingSucceeded` reports whether any successful call's action class can
|
|
491
|
+
* change state, using the safety domain's classifier; it is mechanical
|
|
492
|
+
* bookkeeping, not a judgment about whether the task was accomplished.
|
|
493
|
+
*/
|
|
494
|
+
export interface ToolActivitySummary {
|
|
495
|
+
calls: number;
|
|
496
|
+
succeeded: number;
|
|
497
|
+
failed: number;
|
|
498
|
+
blocked: number;
|
|
499
|
+
mutatingSucceeded: boolean;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
export interface SafetyBlockedAttempt {
|
|
503
|
+
tool: string;
|
|
504
|
+
posture?: string;
|
|
505
|
+
actionClass?: string;
|
|
506
|
+
ruleId?: string;
|
|
507
|
+
reasonCode?: string;
|
|
508
|
+
policySource?: string;
|
|
509
|
+
reason?: string;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
export interface DelegationToolCallLogEntry {
|
|
513
|
+
callId: string;
|
|
514
|
+
tool: string;
|
|
515
|
+
arguments: Record<string, unknown>;
|
|
516
|
+
decision: "approved" | "denied" | "cancelled" | "error";
|
|
517
|
+
reason?: string;
|
|
518
|
+
safetyDecision?: {
|
|
519
|
+
kind: "allow" | "ask" | "block";
|
|
520
|
+
reasonCode?: string;
|
|
521
|
+
policySource?: string;
|
|
522
|
+
ruleId?: string;
|
|
523
|
+
};
|
|
524
|
+
durationMs: number;
|
|
525
|
+
timestamp: string;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
export interface RunReceiptDelegation {
|
|
529
|
+
agentConfigId: string;
|
|
530
|
+
command: string;
|
|
531
|
+
args: string[];
|
|
532
|
+
acpSessionId: string | null;
|
|
533
|
+
acpProtocolVersion: number | null;
|
|
534
|
+
acpAgentName: string | null;
|
|
535
|
+
acpAgentVersion: string | null;
|
|
536
|
+
agentCapabilities: Record<string, unknown>;
|
|
537
|
+
toolCallsRequested: number;
|
|
538
|
+
toolCallsApproved: number;
|
|
539
|
+
toolCallsDenied: number;
|
|
540
|
+
toolGovernance: "clio-policy" | "agent-managed" | "deny-all";
|
|
541
|
+
toolCallLog: DelegationToolCallLogEntry[];
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
export interface RunReceiptSafetySummary {
|
|
545
|
+
/**
|
|
546
|
+
* The decision axis: how the safety classifier admitted each tool call. It is
|
|
547
|
+
* distinct from the outcome axis (`blockedAttempts`, plus `toolStats`/
|
|
548
|
+
* `toolActivity` blocked counts), which records whether a call executed.
|
|
549
|
+
* `allowed` + `blocked` + `permissionRequested` equals the total tool calls.
|
|
550
|
+
* `blocked` counts only hard denials by a policy rule or a tool guard
|
|
551
|
+
* (reason code `guard_block`); a call that required permission and was denied
|
|
552
|
+
* non-interactively is counted under `permissionRequested`, not `blocked`, so
|
|
553
|
+
* scripts can tell "approval would have been needed" apart from a policy
|
|
554
|
+
* block (see docs/safety-model.md). Such a call still appears in
|
|
555
|
+
* `blockedAttempts` because its outcome was blocked, so `decisions.blocked`
|
|
556
|
+
* is not a proxy for the number of blocked attempts; use `blockedAttempts`
|
|
557
|
+
* or the `toolStats`/`toolActivity` blocked counts for that.
|
|
558
|
+
*/
|
|
559
|
+
decisions: {
|
|
560
|
+
allowed: number;
|
|
561
|
+
blocked: number;
|
|
562
|
+
permissionRequested: number;
|
|
563
|
+
/**
|
|
564
|
+
* Worker permission-escalation tallies. Present only on receipts that saw
|
|
565
|
+
* at least one escalation (onPermission="escalate"), so deny/fail
|
|
566
|
+
* receipts stay byte-identical. `requested` counts parked asks handed to
|
|
567
|
+
* the operator; `approved`/`denied` count operator decisions; `timedOut`
|
|
568
|
+
* counts asks resolved by the timeout fallback.
|
|
569
|
+
*/
|
|
570
|
+
escalationRequested?: number;
|
|
571
|
+
escalationApproved?: number;
|
|
572
|
+
escalationDenied?: number;
|
|
573
|
+
escalationTimedOut?: number;
|
|
574
|
+
};
|
|
575
|
+
blockedAttempts: SafetyBlockedAttempt[];
|
|
576
|
+
requestedActions: ReadonlyArray<string>;
|
|
577
|
+
toolProfile?: ToolProfileName;
|
|
578
|
+
/**
|
|
579
|
+
* Whether Clio observed a complete start/finish stream for this runtime's
|
|
580
|
+
* tool activity. Retry admission consumes this sealed fact before reusing
|
|
581
|
+
* the same checkout after a failed attempt.
|
|
582
|
+
*/
|
|
583
|
+
toolTelemetry?: {
|
|
584
|
+
coverage: "complete" | "partial" | "unavailable";
|
|
585
|
+
ingestionErrors: number;
|
|
586
|
+
unfinished: ReadonlyArray<{ tool: string; count: number }>;
|
|
587
|
+
workspaceMutationPossible: boolean;
|
|
588
|
+
};
|
|
589
|
+
/** Frozen parent-session hard blocks enforced by this worker specification. */
|
|
590
|
+
protectedArtifacts?: {
|
|
591
|
+
version: 1;
|
|
592
|
+
count: number;
|
|
593
|
+
stateHash: string;
|
|
594
|
+
};
|
|
595
|
+
runtimeLimitations: ReadonlyArray<string>;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
export interface RunReceiptReproducibility {
|
|
599
|
+
cwd: string;
|
|
600
|
+
git: {
|
|
601
|
+
branch: string | null;
|
|
602
|
+
commit: string | null;
|
|
603
|
+
dirty: boolean | null;
|
|
604
|
+
dirtyEntries: number | null;
|
|
605
|
+
statusHash: string | null;
|
|
606
|
+
};
|
|
607
|
+
safetyPolicy: {
|
|
608
|
+
version: number;
|
|
609
|
+
rulePackHash: string | null;
|
|
610
|
+
rulePackVersion: number | null;
|
|
611
|
+
projectPolicyPath: string | null;
|
|
612
|
+
projectPolicyHash: string | null;
|
|
613
|
+
projectPolicyValid: boolean | null;
|
|
614
|
+
};
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
export interface RunReceiptUpstreamResponse {
|
|
618
|
+
model: string | null;
|
|
619
|
+
responseModel: string | null;
|
|
620
|
+
responseId: string | null;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
/**
|
|
624
|
+
* Bounded assistant output captured by the dispatch event pump and sealed into
|
|
625
|
+
* the receipt so the worker's answer survives process exit and session resume.
|
|
626
|
+
* `state: "final"` means the text is a completed assistant message (the last
|
|
627
|
+
* `message_end`); `state: "partial"` means mid-stream text from a message that
|
|
628
|
+
* never completed (abort, stall, kill) and must never be presented as final.
|
|
629
|
+
* `bytes` is the UTF-8 length of the full captured text before the
|
|
630
|
+
* WORKER_OUTPUT_MAX_BYTES bound; `truncated` records that the bound clipped
|
|
631
|
+
* `text`, so truncation is always explicit. Absent when no assistant text was
|
|
632
|
+
* captured. Covered by the receipt integrity digest like every other field.
|
|
633
|
+
*/
|
|
634
|
+
export interface RunReceiptOutput {
|
|
635
|
+
state: "final" | "partial";
|
|
636
|
+
text: string;
|
|
637
|
+
bytes: number;
|
|
638
|
+
truncated: boolean;
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
export type RunAutonomyEnforcementGrade = "mediated" | "approximated" | "bypassed";
|
|
642
|
+
|
|
643
|
+
export interface RunReceiptAutonomyEnforcement {
|
|
644
|
+
grade: RunAutonomyEnforcementGrade;
|
|
645
|
+
/** Effective authority enforced by the runtime. */
|
|
646
|
+
autonomy: string;
|
|
647
|
+
/** Request-level narrowing, present when the caller supplied one. */
|
|
648
|
+
requestedAutonomy?: string;
|
|
649
|
+
/** Session ceiling against which a request-level value was clamped. */
|
|
650
|
+
sessionAutonomy?: string;
|
|
651
|
+
externalMode?: string;
|
|
652
|
+
dangerousBypass?: boolean;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Evidence confidence is descriptive receipt provenance, orthogonal to the
|
|
657
|
+
* execution outcome. It must never drive retry, reroute, or finish gating.
|
|
658
|
+
*/
|
|
659
|
+
export type ReceiptVerificationState = "verified" | "unverified" | "not_applicable" | "unknown";
|
|
660
|
+
|
|
661
|
+
export interface RunReceiptVerification {
|
|
662
|
+
state: ReceiptVerificationState;
|
|
663
|
+
basis:
|
|
664
|
+
| "validation-tool"
|
|
665
|
+
| "read-only-agent"
|
|
666
|
+
| "no-validation-tool"
|
|
667
|
+
| "acp-external-unobserved"
|
|
668
|
+
/** No sealed receipt to read: it is missing, unreadable, or failed integrity. */
|
|
669
|
+
| "receipt-unavailable";
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
export interface RunReceipt {
|
|
673
|
+
runId: string;
|
|
674
|
+
agentId: string;
|
|
675
|
+
/** Semantic role this attempt's route statistics belong to. */
|
|
676
|
+
executionRole: ExecutionRole;
|
|
677
|
+
agentAudience?: AgentAudience;
|
|
678
|
+
requestOrigin?: DispatchRequestOrigin;
|
|
679
|
+
task: string;
|
|
680
|
+
/** Proof of briefing content without copying its prose into the receipt. */
|
|
681
|
+
briefing?: RunBriefingProvenance;
|
|
682
|
+
/** Sent steering provenance in stable per-run sequence order; prose is never persisted. */
|
|
683
|
+
steering?: ReadonlyArray<RunSteeringProvenance>;
|
|
684
|
+
targetId: string;
|
|
685
|
+
wireModelId: string;
|
|
686
|
+
runtimeId: string;
|
|
687
|
+
runtimeKind: RunKind;
|
|
688
|
+
startedAt: string;
|
|
689
|
+
endedAt: string;
|
|
690
|
+
/** Terminal outcome. Sealed on every receipt. */
|
|
691
|
+
outcome: RunOutcome;
|
|
692
|
+
outcomeDetail?: string | null;
|
|
693
|
+
outcomeCode?: RunOutcomeCode | null;
|
|
694
|
+
lineage?: RunLineage;
|
|
695
|
+
identity?: RunIdentity;
|
|
696
|
+
/** Fleet node placement; absent when no fleet placement resolved this run. */
|
|
697
|
+
node?: RunNodeIdentity;
|
|
698
|
+
/**
|
|
699
|
+
* Route and node identity attested by the worker process that executed the
|
|
700
|
+
* run. Absent only when no worker announced, which is the stubbed-spawn path
|
|
701
|
+
* contract tests use; every native and remote transport attests.
|
|
702
|
+
*/
|
|
703
|
+
attestation?: RunReceiptAttestation;
|
|
704
|
+
/** Dead-node failover hops, oldest first; absent when the run was never rerouted. */
|
|
705
|
+
reroutes?: RunNodeReroute[];
|
|
706
|
+
/** Pipeline threading provenance; present only on pipeline steps after the first. */
|
|
707
|
+
pipeline?: RunPipelineProvenance;
|
|
708
|
+
/** Review/compete gate provenance; present only on runs of a gated dispatch. */
|
|
709
|
+
gate?: RunGateProvenance;
|
|
710
|
+
/** Plan-approval provenance; present only on runs of an approval-gated plan. */
|
|
711
|
+
plan?: RunPlanProvenance;
|
|
712
|
+
/** Ad-hoc specialist provenance; present only when a persona override composed the stable prompt. */
|
|
713
|
+
personaOverride?: RunPersonaOverride;
|
|
714
|
+
/** Effective project-context tier for this run; absent on receipts written before this field landed. */
|
|
715
|
+
projectContext?: RunProjectContextProvenance;
|
|
716
|
+
/**
|
|
717
|
+
* Repo-relative `.clio-coder/rules/**` ids selected into this run's worker
|
|
718
|
+
* prompt, in load order; `[]` when the run had none. Always present on
|
|
719
|
+
* receipts written after this field landed (#104); absent on older
|
|
720
|
+
* receipts, which readers must treat as unknown, never as "no rules".
|
|
721
|
+
*/
|
|
722
|
+
rulesApplied?: string[];
|
|
723
|
+
/**
|
|
724
|
+
* Whether the operator profile rendered non-empty content into this run's
|
|
725
|
+
* worker prompt. Always present on receipts written after this field
|
|
726
|
+
* landed (#104); absent on older receipts, which readers must treat as
|
|
727
|
+
* unknown, never as false.
|
|
728
|
+
*/
|
|
729
|
+
operatorProfileApplied?: boolean;
|
|
730
|
+
exitCode: number;
|
|
731
|
+
failureMessage?: string;
|
|
732
|
+
tokenCount: number;
|
|
733
|
+
inputTokenCount?: number;
|
|
734
|
+
outputTokenCount?: number;
|
|
735
|
+
cacheReadTokenCount?: number;
|
|
736
|
+
cacheWriteTokenCount?: number;
|
|
737
|
+
reasoningTokenCount?: number;
|
|
738
|
+
upstreamResponses?: RunReceiptUpstreamResponse[];
|
|
739
|
+
/** Bounded final/partial assistant output; absent when none was captured. */
|
|
740
|
+
output?: RunReceiptOutput;
|
|
741
|
+
costUsd: number;
|
|
742
|
+
/** Pricing-source truth. Sealed on every receipt; unknown pricing says so. */
|
|
743
|
+
costProvenance: CostProvenance;
|
|
744
|
+
compiledPromptHash: string | null;
|
|
745
|
+
staticCompositionHash: string | null;
|
|
746
|
+
staticShellHash?: string | null;
|
|
747
|
+
sessionShellHash?: string | null;
|
|
748
|
+
dynamicHash?: string | null;
|
|
749
|
+
promptSignature?: string | null;
|
|
750
|
+
toolSignature?: string | null;
|
|
751
|
+
clioVersion: string;
|
|
752
|
+
piMonoVersion: string;
|
|
753
|
+
platform: string;
|
|
754
|
+
nodeVersion: string;
|
|
755
|
+
toolCalls: number;
|
|
756
|
+
toolStats: ToolCallStat[];
|
|
757
|
+
toolActivity?: ToolActivitySummary;
|
|
758
|
+
/** Integrity-sealed evidence confidence. Sealed on every receipt. */
|
|
759
|
+
verification: RunReceiptVerification;
|
|
760
|
+
/** Required normalized routing request, sealed without task or prompt data. */
|
|
761
|
+
routingIntent: RoutingIntent;
|
|
762
|
+
/** Required routing-quality facts known at receipt finalization. */
|
|
763
|
+
quality: RunReceiptQuality;
|
|
764
|
+
skillActivations?: SkillActivation[];
|
|
765
|
+
/** How this runtime enforced the run's captured autonomy level. */
|
|
766
|
+
autonomyEnforcement?: RunReceiptAutonomyEnforcement;
|
|
767
|
+
safety?: RunReceiptSafetySummary;
|
|
768
|
+
reproducibility?: RunReceiptReproducibility;
|
|
769
|
+
/** Effective target/runtime/model/thinking/capability decision for this run. */
|
|
770
|
+
runtimeResolution?: RuntimeTargetSnapshot;
|
|
771
|
+
delegation?: RunReceiptDelegation;
|
|
772
|
+
/** Compact findings summary; absent on receipts written before v3 integrity. */
|
|
773
|
+
findingsSummary?: RunReceiptFindingsSummary;
|
|
774
|
+
/** Passing validation claims measured against executed commands; absent when none were claimed. */
|
|
775
|
+
validationGrounding?: RunValidationGrounding;
|
|
776
|
+
/** Read-only recipe admitted against a mutating task; absent when the pairing was sound. */
|
|
777
|
+
capabilityMismatch?: RunCapabilityMismatch;
|
|
778
|
+
/**
|
|
779
|
+
* What this run contributed to its dispatch's agent ledger. Optional and
|
|
780
|
+
* absent unless the run had a ledger, following validationGrounding and
|
|
781
|
+
* capabilityMismatch: receiptDigestFields skips undefined, so a receipt
|
|
782
|
+
* without one digests exactly as it did before this landed and
|
|
783
|
+
* RUN_RECEIPT_INTEGRITY_VERSION stays where it is.
|
|
784
|
+
*/
|
|
785
|
+
ledgerContribution?: RunLedgerContribution;
|
|
786
|
+
/**
|
|
787
|
+
* Sealed route decision: the candidates, their estimates, the hard filters
|
|
788
|
+
* that rejected some of them, and the tuple selected by the routing policy.
|
|
789
|
+
* Absent only when the route observer is disabled, which is a test-bundle
|
|
790
|
+
* option; every production dispatch seals one, which is what lets route
|
|
791
|
+
* regret be recomputed offline from receipts alone.
|
|
792
|
+
*/
|
|
793
|
+
routeDecision?: RouteDecisionV1;
|
|
794
|
+
sessionId: string | null;
|
|
795
|
+
integrity: RunReceiptIntegrity;
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
export type RunReceiptDraft = Omit<RunReceipt, "integrity" | "routingIntent"> &
|
|
799
|
+
Partial<Pick<RunReceipt, "routingIntent">>;
|