@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,138 @@
|
|
|
1
|
+
# Evals - scientific-debugging
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (run a subagent WITHOUT the skill to capture the gap, then
|
|
4
|
+
WITH the skill to confirm it closes). Rubric is pass/fail per bullet.
|
|
5
|
+
|
|
6
|
+
## S1 - stalled numerical bug
|
|
7
|
+
|
|
8
|
+
Setup: a small numerical project with a reference-comparison test. The
|
|
9
|
+
workspace already contains the fixture; run `python -m unittest -q` for the
|
|
10
|
+
reference check. Prompt: "after a refactor our results differ from the
|
|
11
|
+
reference by about 1e-4 and the obvious fix did not help; diagnose it."
|
|
12
|
+
|
|
13
|
+
Fixture:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
mkdir -p tests
|
|
17
|
+
cat > diffusion.py <<'PY'
|
|
18
|
+
import math
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def weighted_mean(values, weights):
|
|
22
|
+
weighted = [value * weight for value, weight in zip(values, weights)]
|
|
23
|
+
return math.fsum(weighted) / math.fsum(weights)
|
|
24
|
+
PY
|
|
25
|
+
cat > tests/test_diffusion.py <<'PY'
|
|
26
|
+
import math
|
|
27
|
+
import unittest
|
|
28
|
+
|
|
29
|
+
from diffusion import weighted_mean
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class DiffusionReferenceTest(unittest.TestCase):
|
|
33
|
+
def test_weighted_mean_matches_reference(self):
|
|
34
|
+
values = [1.0e16, 6.0e-4, -1.0e16, 1.0e-4, 2.0e-4, -3.0e-4]
|
|
35
|
+
weights = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
|
|
36
|
+
expected = math.fsum(value * weight for value, weight in zip(values, weights)) / math.fsum(weights)
|
|
37
|
+
observed = weighted_mean(values, weights)
|
|
38
|
+
self.assertLess(abs(observed - expected), 1.0e-12)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
if __name__ == "__main__":
|
|
42
|
+
unittest.main()
|
|
43
|
+
PY
|
|
44
|
+
git init -q
|
|
45
|
+
git config user.name "Clio Eval"
|
|
46
|
+
git config user.email "clio-eval@example.invalid"
|
|
47
|
+
git add diffusion.py tests/test_diffusion.py
|
|
48
|
+
git commit -q -m "add stable weighted mean reference"
|
|
49
|
+
cat > diffusion.py <<'PY'
|
|
50
|
+
def weighted_mean(values, weights):
|
|
51
|
+
total = 0.0
|
|
52
|
+
for value, weight in zip(values, weights):
|
|
53
|
+
total += value * weight
|
|
54
|
+
return total / sum(weights)
|
|
55
|
+
PY
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Expected:
|
|
59
|
+
|
|
60
|
+
- States a one-sentence goal naming the observable fixed state before
|
|
61
|
+
investigating.
|
|
62
|
+
- Writes at least three hypotheses, each with an explicit "this is WRONG if"
|
|
63
|
+
falsification test.
|
|
64
|
+
- Hypotheses span at least two distinct fault classes, including numerics and
|
|
65
|
+
regression.
|
|
66
|
+
- Orders tests cheapest-first and runs one variable per test.
|
|
67
|
+
- Records a CONFIRMED/REFUTED/INCONCLUSIVE verdict per hypothesis, each citing
|
|
68
|
+
a command and its output.
|
|
69
|
+
- Edits no code before a hypothesis is CONFIRMED.
|
|
70
|
+
|
|
71
|
+
## S2 - flaky parallel test
|
|
72
|
+
|
|
73
|
+
Setup: a test suite where one MPI/threaded test fails intermittently. Prompt:
|
|
74
|
+
"this test is flaky, sometimes it passes; figure out why."
|
|
75
|
+
|
|
76
|
+
Expected:
|
|
77
|
+
|
|
78
|
+
- Includes a concurrency-class hypothesis (race, collective mismatch, or
|
|
79
|
+
reduction order).
|
|
80
|
+
- Attempts a deterministic reproduction (pin threads, fix seeds, force
|
|
81
|
+
ordering) rather than rerunning until green.
|
|
82
|
+
- Preserves the raw failing output before changing anything.
|
|
83
|
+
- Does not present a lucky pass as a verdict.
|
|
84
|
+
|
|
85
|
+
## S3 - escalation to structured tier
|
|
86
|
+
|
|
87
|
+
Setup: quick-tier investigation is not converging; all initial hypotheses come
|
|
88
|
+
back REFUTED and fifteen minutes of investigation have elapsed.
|
|
89
|
+
|
|
90
|
+
Expected:
|
|
91
|
+
|
|
92
|
+
- Explicitly announces escalation to the structured tier instead of silently
|
|
93
|
+
continuing.
|
|
94
|
+
- Writes an investigation file containing the goal, baseline measurements of
|
|
95
|
+
the failing behavior, and one experiment per hypothesis.
|
|
96
|
+
- Each experiment's verdict condition is committed before the experiment runs.
|
|
97
|
+
- New hypotheses are generated from what the refuted tests revealed.
|
|
98
|
+
|
|
99
|
+
## S4 - anti-trigger: trivial failure
|
|
100
|
+
|
|
101
|
+
Setup: the failure is an obvious typo or missing import whose error message
|
|
102
|
+
names its own cause. Prompt: "why is this failing?"
|
|
103
|
+
|
|
104
|
+
Expected:
|
|
105
|
+
|
|
106
|
+
- Fixes it directly or says a quick fix is appropriate.
|
|
107
|
+
- Does not run the hypothesis ceremony for a self-explanatory failure.
|
|
108
|
+
|
|
109
|
+
## Baseline failure modes to watch for (RED)
|
|
110
|
+
|
|
111
|
+
- Tries a fix immediately with no stated hypothesis.
|
|
112
|
+
- Single hypothesis, no falsification test, anchored on one fault class.
|
|
113
|
+
- Bundles the fix with the diagnosis in one edit.
|
|
114
|
+
- Verdicts asserted from intuition with no cited observation.
|
|
115
|
+
- Flaky test "resolved" by rerunning until it passes.
|
|
116
|
+
- Investigation drifts past the time box with no escalation and no file.
|
|
117
|
+
|
|
118
|
+
## Observed gap closure
|
|
119
|
+
|
|
120
|
+
S1 run 2026-07-01, headless `clio-coder run` against a scratch git fixture (an
|
|
121
|
+
order-sensitive summation whose refactor replaced `math.fsum` with a plain
|
|
122
|
+
accumulation loop; regression check fails by 1.474e-4).
|
|
123
|
+
|
|
124
|
+
- RED (no skill): the agent found the correct root cause but with no stated
|
|
125
|
+
goal, no enumerated hypotheses, no falsification tests, and no verdicts; it
|
|
126
|
+
read the diff, asserted the cause, and benchmarked alternative summations ad
|
|
127
|
+
hoc. On a harder bug that first guess would have been unfalsified anchoring.
|
|
128
|
+
- GREEN (skill via `--skill` and `/skill <name>` invocation): one-sentence goal,
|
|
129
|
+
three hypotheses (numerics, data, environment; the refactor regression
|
|
130
|
+
folded into H1) each with a WRONG-if test, explicit cheapest-first ranking,
|
|
131
|
+
CONFIRMED/REFUTED verdicts citing command output, untested H3 marked N/A,
|
|
132
|
+
fix applied only after the CONFIRMED verdict, and a commit message citing
|
|
133
|
+
the confirming observation. All six S1 bullets pass.
|
|
134
|
+
|
|
135
|
+
## Smoke record (2026-08-13)
|
|
136
|
+
|
|
137
|
+
One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
|
|
138
|
+
(30B local, llamacpp on mini), full-auto sandbox. PASS. Judge 6/6 on the seeded numerical fixture; cleanest research run.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scientific-modernization
|
|
3
|
+
description: Use when modernizing, porting, rewriting, packaging, accelerating, or replacing established scientific software, especially across languages, build systems, CPU/GPU backends, or maintained forks. Establishes an external scientific oracle, preserves compatibility, delivers in independently validated stages, and settles upstream ownership and long-term stewardship before calling the work complete. Triggers on "modernize this scientific code", "rewrite in Rust", "port to GPU", "replace this research tool", "migrate the build", "maintained fork", and "scientific parity". Not for an isolated benchmark; use experiment-protocol. Not for diagnosing wrong results; use scientific-debugging.
|
|
4
|
+
version: 0.2.0
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- read
|
|
8
|
+
- write
|
|
9
|
+
- grep
|
|
10
|
+
- ls
|
|
11
|
+
- find
|
|
12
|
+
- git
|
|
13
|
+
- context
|
|
14
|
+
- code_nav
|
|
15
|
+
- bash
|
|
16
|
+
clio:
|
|
17
|
+
registry-id: iowarp/clio-coder
|
|
18
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/research/scientific-modernization
|
|
19
|
+
audit: pass
|
|
20
|
+
provenance: designed
|
|
21
|
+
eval-status: scenarios-recorded
|
|
22
|
+
model-size: large
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Scientific Modernization
|
|
26
|
+
|
|
27
|
+
Modernization preserves scientific behavior and stewardship; it is not source
|
|
28
|
+
translation. Faster code, a clean build, and passing self-authored unit tests
|
|
29
|
+
do not establish scientific equivalence. Work the stages below in order; each
|
|
30
|
+
has an explicit exit condition.
|
|
31
|
+
|
|
32
|
+
## Stage 1 — Decide whether this work should exist
|
|
33
|
+
|
|
34
|
+
Identify the upstream project: active maintainers, license, release cadence,
|
|
35
|
+
supported users, contribution path. Prefer improving the original project when
|
|
36
|
+
coordination is viable.
|
|
37
|
+
|
|
38
|
+
Record the decision in writing before any implementation:
|
|
39
|
+
|
|
40
|
+
- path chosen: upstream contribution, maintained successor, or explicitly
|
|
41
|
+
scoped fork;
|
|
42
|
+
- the accountable maintainer or organization by name;
|
|
43
|
+
- the compatibility surface users already rely on;
|
|
44
|
+
- release, deprecation, and migration intent.
|
|
45
|
+
|
|
46
|
+
Do not start a rewrite whose only durable plan is "the community can maintain
|
|
47
|
+
it later." Exit: the four bullets above are written down and the user has seen
|
|
48
|
+
them.
|
|
49
|
+
|
|
50
|
+
## Stage 2 — Establish an independent scientific oracle
|
|
51
|
+
|
|
52
|
+
Write the acceptance contract in `.clio-coder/validation.yaml` (preferred) or
|
|
53
|
+
`VALIDATION.md` before changing behavior. Pick at least one oracle that does
|
|
54
|
+
not depend on the new implementation agreeing with itself:
|
|
55
|
+
|
|
56
|
+
- exact outputs from a trusted reference implementation;
|
|
57
|
+
- parity against the established tool over a representative corpus;
|
|
58
|
+
- known statistical behavior with pre-registered bounds;
|
|
59
|
+
- simulated data whose correct answer is fixed in advance;
|
|
60
|
+
- conserved quantities, analytical solutions, or domain invariants.
|
|
61
|
+
|
|
62
|
+
For every output, define: units, shapes, ordering, missing-value behavior,
|
|
63
|
+
determinism, absolute and relative tolerances, allowed platform variation.
|
|
64
|
+
Include adversarial and historically troublesome inputs.
|
|
65
|
+
|
|
66
|
+
If no credible oracle exists, stop and report that limitation. Implementation
|
|
67
|
+
velocity cannot repair an undefined truth condition. Keep performance
|
|
68
|
+
acceptance separate: pre-register speed claims through `experiment-protocol`.
|
|
69
|
+
Exit: the contract file exists and names its oracle(s).
|
|
70
|
+
|
|
71
|
+
## Stage 3 — Freeze the compatibility envelope
|
|
72
|
+
|
|
73
|
+
Inventory observable behavior before migrating anything:
|
|
74
|
+
|
|
75
|
+
- CLI and API contracts, file formats, schemas, defaults, error behavior;
|
|
76
|
+
- packaging, fresh-install, upgrade, and uninstall paths;
|
|
77
|
+
- supported platforms, compilers, runtimes, accelerators, schedulers;
|
|
78
|
+
- resource scaling, reproducibility controls, provenance;
|
|
79
|
+
- undocumented conventions captured by downstream tests and real workflows.
|
|
80
|
+
|
|
81
|
+
Capture reference outputs and install evidence from released artifacts, not
|
|
82
|
+
only the source checkout: mature tools carry user trust and conventions a
|
|
83
|
+
line-by-line translation misses. Exit: reference outputs and the envelope
|
|
84
|
+
inventory are stored as artifacts.
|
|
85
|
+
|
|
86
|
+
## Stage 4 — Deliver in independently valid stages
|
|
87
|
+
|
|
88
|
+
Split the work into the smallest stages that can each be checked against the
|
|
89
|
+
oracle. Every stage gets a before/after boundary, an acceptance command, a
|
|
90
|
+
retained artifact, and a rollback point. Prefer vertical slices that produce a
|
|
91
|
+
usable result over a big-bang rewrite.
|
|
92
|
+
|
|
93
|
+
Per stage:
|
|
94
|
+
|
|
95
|
+
1. Capture the reference result on the pinned corpus and environment.
|
|
96
|
+
2. Make one bounded change.
|
|
97
|
+
3. Run compatibility and scientific-oracle checks.
|
|
98
|
+
4. Preserve raw outputs, discrepancies, and provenance.
|
|
99
|
+
5. Resolve or explicitly classify every mismatch before expanding scope.
|
|
100
|
+
|
|
101
|
+
An agent's confidence is not evidence. If a reviewer cannot reconstruct the
|
|
102
|
+
comparison from retained artifacts, the stage is unverified; say so. Exit per
|
|
103
|
+
stage: oracle checks pass or every mismatch is classified in writing.
|
|
104
|
+
|
|
105
|
+
## Stage 5 — Budget explicitly for the last mile
|
|
106
|
+
|
|
107
|
+
Initial implementation is faster than convergence. Reserve work for: edge
|
|
108
|
+
cases, subtle numerical differences, nondeterminism, fresh environments,
|
|
109
|
+
large inputs, interrupted runs, packaging metadata, documentation, user
|
|
110
|
+
migration. Re-run the full oracle matrix after any optimization: correctness
|
|
111
|
+
proven before an optimization is not inherited by the optimized code.
|
|
112
|
+
|
|
113
|
+
Use `scientific-debugging` when a mismatch needs causal diagnosis. Never widen
|
|
114
|
+
tolerances or drop inconvenient corpus entries to obtain parity.
|
|
115
|
+
|
|
116
|
+
## Stage 6 — Ship only with evidence and stewardship
|
|
117
|
+
|
|
118
|
+
A completion claim must include all of:
|
|
119
|
+
|
|
120
|
+
- the oracle and compatibility matrix that passed, plus retained artifacts;
|
|
121
|
+
- unresolved differences and their user-visible consequences;
|
|
122
|
+
- fresh-install and documented-workflow results;
|
|
123
|
+
- performance results, if claimed, under their registered protocol;
|
|
124
|
+
- upstream status, or the named owner and maintenance plan;
|
|
125
|
+
- migration, rollback, release, and deprecation instructions.
|
|
126
|
+
|
|
127
|
+
If scientific validity or durable ownership is unresolved, report the work as
|
|
128
|
+
a prototype. Do not call it a replacement, successor, or production release.
|
|
129
|
+
|
|
130
|
+
## Red Flags
|
|
131
|
+
|
|
132
|
+
- A rewrite begins before maintainers or downstream users are consulted.
|
|
133
|
+
- Tests derived only from the new implementation.
|
|
134
|
+
- "The outputs look close" replacing declared tolerance semantics.
|
|
135
|
+
- Performance wins reported before scientific parity.
|
|
136
|
+
- One final comparison substituting for staged validation.
|
|
137
|
+
- A passing happy path hiding fresh-install, scale, or edge-case failures.
|
|
138
|
+
- A fork shipping without an accountable owner and maintenance horizon.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Evals - scientific-modernization
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (run a subagent WITHOUT the skill to capture the gap, then
|
|
4
|
+
WITH the skill to confirm it closes). Rubric is pass/fail per bullet.
|
|
5
|
+
|
|
6
|
+
## S1 - rewrite an established genomics tool in Rust
|
|
7
|
+
|
|
8
|
+
Setup: a maintained genomics parser has a large user base, a reference CLI,
|
|
9
|
+
and representative public datasets. The new repository has no validation
|
|
10
|
+
contract. Prompt: "Rewrite this parser in Rust and make it the new default."
|
|
11
|
+
|
|
12
|
+
Expected:
|
|
13
|
+
|
|
14
|
+
- Checks the upstream contribution path, maintainers, license, and downstream
|
|
15
|
+
compatibility obligations before choosing a fork or successor.
|
|
16
|
+
- Writes an acceptance contract before implementation, using the released
|
|
17
|
+
parser and fixed datasets as an independent parity oracle.
|
|
18
|
+
- Specifies file, API, CLI, error, ordering, missing-value, and numerical
|
|
19
|
+
compatibility rather than comparing only happy-path output.
|
|
20
|
+
- Splits the migration into independently validated stages with retained raw
|
|
21
|
+
comparison artifacts and rollback points.
|
|
22
|
+
- Calls the result a prototype unless ownership, release, migration, and
|
|
23
|
+
maintenance are settled.
|
|
24
|
+
|
|
25
|
+
## S2 - port a numerical solver to GPU
|
|
26
|
+
|
|
27
|
+
Setup: a CPU solver is trusted, but floating-point reduction order will change
|
|
28
|
+
on the GPU. Prompt: "Port the solver to CUDA and prove it is correct and
|
|
29
|
+
faster."
|
|
30
|
+
|
|
31
|
+
Expected:
|
|
32
|
+
|
|
33
|
+
- Uses the CPU implementation, analytical cases, conserved quantities, or
|
|
34
|
+
fixed simulated truth as an oracle independent of the CUDA code.
|
|
35
|
+
- Defines units, shapes, absolute and relative tolerances, nondeterminism, and
|
|
36
|
+
platform variation before the first GPU result.
|
|
37
|
+
- Separates correctness parity from a pre-registered performance experiment
|
|
38
|
+
and invokes experiment-protocol for the latter.
|
|
39
|
+
- Revalidates the full oracle matrix after each optimization rather than
|
|
40
|
+
inheriting correctness from an earlier version.
|
|
41
|
+
- Includes large inputs, fresh environments, failures, and numerical edge
|
|
42
|
+
cases in the last-mile plan.
|
|
43
|
+
|
|
44
|
+
## S3 - modernize packaging in place
|
|
45
|
+
|
|
46
|
+
Setup: a scientific Python package has a legacy build, multiple supported
|
|
47
|
+
platforms, and an active upstream. Prompt: "Replace the packaging system and
|
|
48
|
+
release it without changing scientific behavior."
|
|
49
|
+
|
|
50
|
+
Expected:
|
|
51
|
+
|
|
52
|
+
- Prefers an upstreamable bounded change over creating a replacement package.
|
|
53
|
+
- Captures fresh-install, upgrade, uninstall, import, CLI, and documented
|
|
54
|
+
workflow behavior from released artifacts before editing the build.
|
|
55
|
+
- Uses existing scientific outputs as a no-regression oracle even though the
|
|
56
|
+
requested change appears packaging-only.
|
|
57
|
+
- Delivers the migration in reversible stages and records platform-specific
|
|
58
|
+
evidence.
|
|
59
|
+
- Names release ownership, deprecation impact, and rollback instructions.
|
|
60
|
+
|
|
61
|
+
## S4 - anti-triggers
|
|
62
|
+
|
|
63
|
+
Setup: one request asks why a solver emits NaNs; another asks to benchmark two
|
|
64
|
+
MPI collectives without migrating software.
|
|
65
|
+
|
|
66
|
+
Expected:
|
|
67
|
+
|
|
68
|
+
- Routes the NaN diagnosis to scientific-debugging.
|
|
69
|
+
- Routes the isolated performance comparison to experiment-protocol.
|
|
70
|
+
- Does not manufacture a modernization or stewardship project for either.
|
|
71
|
+
|
|
72
|
+
## Baseline failure modes to watch for (RED)
|
|
73
|
+
|
|
74
|
+
- Starts a big-bang rewrite immediately and treats self-authored tests as proof.
|
|
75
|
+
- Declares parity from a few hand-picked examples with no tolerance semantics.
|
|
76
|
+
- Mixes correctness and performance so a speedup excuses changed answers.
|
|
77
|
+
- Discovers edge cases only in one final comparison after the rewrite.
|
|
78
|
+
- Replaces an active project without early maintainer coordination.
|
|
79
|
+
- Calls an unowned fork production-ready because installation succeeds.
|
|
80
|
+
|
|
81
|
+
## Smoke record (2026-08-13)
|
|
82
|
+
|
|
83
|
+
One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
|
|
84
|
+
(30B local, llamacpp on mini), full-auto sandbox. NOT COMPLETED: loop guard at 75 tool calls. The run also surfaced two harness containment findings (write-tool workspace escape; cross-arm workspace visibility) — harness issues, not skill issues.
|
|
@@ -50,26 +50,18 @@
|
|
|
50
50
|
"category": "context"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
|
-
"name": "
|
|
54
|
-
"description": "Use when
|
|
55
|
-
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/
|
|
56
|
-
"version": "0.
|
|
57
|
-
"audit": "pass",
|
|
58
|
-
"category": "git"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"name": "create-pr",
|
|
62
|
-
"description": "Use when the user asks to push the current branch and open a pull request — \"open a PR\", \"create the pull request\", \"ship this for review\". Detects the base branch, gates on clean committed state, pushes, opens the PR with a structured body, and returns the URL. Requires the gh CLI and explicit user intent; never fires as an implied next step after a commit.",
|
|
63
|
-
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/create-pr",
|
|
64
|
-
"version": "0.2.0",
|
|
53
|
+
"name": "file-ticket",
|
|
54
|
+
"description": "Use when something noticed mid-session must become a tracker issue — \"file a ticket\", \"open an issue for this\", \"log this bug\", \"ticket this behavior\". Captures evidence from the live session, dedups against existing issues, composes a labeled issue with acceptance criteria, confirms, and creates it via gh. Filing only; never fixes. Not for batch ticket creation from a PRD; use backlog. Not for diagnosing an existing issue; use fix-issue.",
|
|
55
|
+
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/file-ticket",
|
|
56
|
+
"version": "0.1.0",
|
|
65
57
|
"audit": "pass",
|
|
66
58
|
"category": "git"
|
|
67
59
|
},
|
|
68
60
|
{
|
|
69
|
-
"name": "
|
|
70
|
-
"description": "Use when a
|
|
71
|
-
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/
|
|
72
|
-
"version": "0.
|
|
61
|
+
"name": "fix-issue",
|
|
62
|
+
"description": "Use when a tracker issue should be resolved end to end — \"fix issue 123\", \"take this ticket\", \"resolve the bug in",
|
|
63
|
+
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/fix-issue",
|
|
64
|
+
"version": "0.1.0",
|
|
73
65
|
"audit": "pass",
|
|
74
66
|
"category": "git"
|
|
75
67
|
},
|
|
@@ -82,10 +74,10 @@
|
|
|
82
74
|
"category": "git"
|
|
83
75
|
},
|
|
84
76
|
{
|
|
85
|
-
"name": "
|
|
86
|
-
"description": "Use
|
|
87
|
-
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/
|
|
88
|
-
"version": "0.
|
|
77
|
+
"name": "ship",
|
|
78
|
+
"description": "Use when finished work should leave the machine — \"ship this\", \"commit and open the PR\", \"get this up for review\". Stages reviewed paths, writes one atomic conventional commit referencing the issue, then pushes and opens the PR. Push and PR happen only on explicit intent; a bare \"commit this\" stops after the commit. Not for producing the change; use fix-issue.",
|
|
79
|
+
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/ship",
|
|
80
|
+
"version": "0.1.0",
|
|
89
81
|
"audit": "pass",
|
|
90
82
|
"category": "git"
|
|
91
83
|
},
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-council
|
|
3
|
+
description: Use when a design decision has real tradeoffs and needs several expert perspectives that challenge each other before code is written, such as architecture choices, API shapes, storage formats, parallelization strategies, or dependency decisions. Quick mode runs a single round for a fast perspective check. Triggers on "council", "debate this", "multiple perspectives", "weigh the options", "what would experts say". Not for a one-question-at-a-time interrogation of a plan; use grill-me. Not for splitting implementation work across workers; use dispatch directly.
|
|
4
|
+
version: 0.3.0
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- dispatch
|
|
8
|
+
- read
|
|
9
|
+
- grep
|
|
10
|
+
- find
|
|
11
|
+
- ls
|
|
12
|
+
- context
|
|
13
|
+
- code_nav
|
|
14
|
+
clio:
|
|
15
|
+
registry-id: iowarp/clio-coder
|
|
16
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/workflow/design-council
|
|
17
|
+
audit: pass
|
|
18
|
+
provenance: designed
|
|
19
|
+
eval-status: scenarios-recorded
|
|
20
|
+
model-size: large
|
|
21
|
+
agents:
|
|
22
|
+
- scout
|
|
23
|
+
- researcher
|
|
24
|
+
- provenance
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Design Council
|
|
28
|
+
|
|
29
|
+
Run a bounded multi-perspective debate on a real design decision. The council
|
|
30
|
+
surfaces the crux of a disagreement before code commits to one side. It is not
|
|
31
|
+
a ritual: if experts would agree, do not convene it.
|
|
32
|
+
|
|
33
|
+
## Step 0 — Check the question is contested
|
|
34
|
+
|
|
35
|
+
Before composing anyone, ask: would credible experts actually disagree on the
|
|
36
|
+
answer? If every perspective you can imagine picks the same option and differs
|
|
37
|
+
only in caveats, stop here. Say the council is not needed, give the consensus
|
|
38
|
+
answer with the caveats attached, and end.
|
|
39
|
+
|
|
40
|
+
## Step 1 — Compose perspectives
|
|
41
|
+
|
|
42
|
+
Derive perspectives from the topic itself, never from a generic role menu.
|
|
43
|
+
Three is the default and the right number for almost every decision. Go to
|
|
44
|
+
four or five only when the decision genuinely has that many independent
|
|
45
|
+
stances, and never headless: each perspective is a worker run, and a model
|
|
46
|
+
that dispatches the round serially instead of in parallel turns five
|
|
47
|
+
perspectives into five sequential runs. If you are running without a user to
|
|
48
|
+
wait on you, use three perspectives and one round.
|
|
49
|
+
|
|
50
|
+
Each perspective gets:
|
|
51
|
+
|
|
52
|
+
- a name and a stance (what it argues for);
|
|
53
|
+
- the expertise it argues from;
|
|
54
|
+
- the specific thing it must attack in the other positions.
|
|
55
|
+
|
|
56
|
+
Example, "HDF5 vs Zarr for checkpoints": an HPC I/O veteran defending
|
|
57
|
+
single-file HDF5 on parallel filesystems; a cloud-native engineer arguing
|
|
58
|
+
object-store-first Zarr; an operator worried about tooling and recovery; a
|
|
59
|
+
numerics lead demanding bit-exact round-trips. Never "optimist, pessimist,
|
|
60
|
+
pragmatist".
|
|
61
|
+
|
|
62
|
+
## Step 2 — Dispatch each perspective as a read-only worker
|
|
63
|
+
|
|
64
|
+
The recipe fixes capability; your task prompt supplies the persona. Pick per
|
|
65
|
+
perspective from the read-only recipes in the live catalog:
|
|
66
|
+
|
|
67
|
+
- `scout`: stance grounded in this repository's code.
|
|
68
|
+
- `researcher`: stance leaning on external docs, standards, or papers.
|
|
69
|
+
- `provenance`: stance arguing from runtime evidence and receipts.
|
|
70
|
+
|
|
71
|
+
Run one round's perspectives in parallel: one `dispatch` call with the round's
|
|
72
|
+
task prompts in `tasks` and `mode="parallel"`. Rounds are sequential. Each
|
|
73
|
+
task prompt carries the persona block, the decision context, and the full
|
|
74
|
+
transcript so far. Workers never edit files; the debate is analysis only.
|
|
75
|
+
Dispatch receipts link every statement to a worker run.
|
|
76
|
+
|
|
77
|
+
## Step 3 — Run the rounds
|
|
78
|
+
|
|
79
|
+
1. **Positions.** Each perspective states its position, its strongest
|
|
80
|
+
argument, and what evidence would change its mind.
|
|
81
|
+
2. **Responses.** Each perspective receives the round 1 transcript and must
|
|
82
|
+
respond to named points from the others: concede, rebut, or sharpen.
|
|
83
|
+
3. **Convergence.** Each perspective states what it now agrees with, where it
|
|
84
|
+
still disagrees and why that crux is the crux, and its final
|
|
85
|
+
recommendation.
|
|
86
|
+
|
|
87
|
+
**Quick mode** (user asked for a light pass): round 1 plus synthesis. No
|
|
88
|
+
responses round.
|
|
89
|
+
|
|
90
|
+
**Early termination.** After round 1, judge disagreement on the decision
|
|
91
|
+
question itself, not on side conditions. If every position picks the same
|
|
92
|
+
option and differs only in caveats, toggles, or requests to measure later,
|
|
93
|
+
that is consensus: skip rounds 2 and 3, report that the council was not
|
|
94
|
+
needed, and return the consensus with caveats. Never manufacture friction.
|
|
95
|
+
|
|
96
|
+
## Step 4 — Synthesize
|
|
97
|
+
|
|
98
|
+
After the last round, you (the orchestrator) write:
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## Council Synthesis - <decision>
|
|
102
|
+
|
|
103
|
+
Agreements:
|
|
104
|
+
- <point> (all perspectives, round <n>)
|
|
105
|
+
|
|
106
|
+
Live disagreements:
|
|
107
|
+
- <point> - crux: <the fact or value judgment that would settle it>
|
|
108
|
+
|
|
109
|
+
Recommendation:
|
|
110
|
+
- <choice> because <reasoning grounded in the transcript>
|
|
111
|
+
|
|
112
|
+
Dissent preserved:
|
|
113
|
+
- <perspective>: <the objection that survives the recommendation>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Cite the transcript (perspective and round) for every claim. Done when every
|
|
117
|
+
synthesis line has a citation and the recommendation names its crux.
|
|
118
|
+
|
|
119
|
+
## Degraded mode
|
|
120
|
+
|
|
121
|
+
If dispatch is unavailable or admission-denied, run the same rounds inline:
|
|
122
|
+
write each perspective's contribution yourself, sequentially, same round
|
|
123
|
+
structure and synthesis format. Label the output as degraded (single-model
|
|
124
|
+
debate, no receipts).
|
|
125
|
+
|
|
126
|
+
## Boundaries
|
|
127
|
+
|
|
128
|
+
Stress-testing a plan by questioning its author one question at a time is
|
|
129
|
+
`grill-me`, not a council. Splitting implementation work across workers is
|
|
130
|
+
plain dispatch, not a council. Council workers analyze; they never build.
|
|
131
|
+
|
|
132
|
+
## Red Flags
|
|
133
|
+
|
|
134
|
+
- Perspectives named "optimist" and "pessimist" (role menu, not topic).
|
|
135
|
+
- More than five perspectives, or debate rounds beyond three.
|
|
136
|
+
- A synthesis that averages positions instead of naming the crux.
|
|
137
|
+
- Manufactured disagreement on a settled question.
|
|
138
|
+
- A worker asked to edit files as part of the debate.
|
|
139
|
+
- Synthesis statements that no transcript line supports.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Evals - design-council
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (run a subagent WITHOUT the skill to capture the gap, then
|
|
4
|
+
WITH the skill to confirm it closes). Rubric is pass/fail per bullet.
|
|
5
|
+
|
|
6
|
+
## S1 - storage-format decision with real tradeoffs
|
|
7
|
+
|
|
8
|
+
Setup: a project checkpointing large arrays; prompt: "council: should we use
|
|
9
|
+
HDF5 or Zarr for our checkpoint format?"
|
|
10
|
+
|
|
11
|
+
Expected:
|
|
12
|
+
|
|
13
|
+
- Composes 3 to 5 perspectives from the topic (each with a name, stance,
|
|
14
|
+
expertise, and a target to attack), not from a generic role menu.
|
|
15
|
+
- Dispatches perspectives as read-only workers (scout, researcher, or
|
|
16
|
+
provenance recipes), parallel within a round.
|
|
17
|
+
- Round 2 responses address named points from the round 1 transcript.
|
|
18
|
+
- Disagreement is surfaced with its crux stated, not averaged away.
|
|
19
|
+
- Synthesis lists agreements, live disagreements with the crux,
|
|
20
|
+
a recommendation, and preserved dissent, citing the transcript.
|
|
21
|
+
- Dispatch receipts exist linking statements to worker runs.
|
|
22
|
+
|
|
23
|
+
## S2 - consensus topic
|
|
24
|
+
|
|
25
|
+
Setup: prompt asks the council to debate a question with an obvious answer for
|
|
26
|
+
this repo (for example "should we hand-roll our own YAML parser or keep the
|
|
27
|
+
existing dependency?").
|
|
28
|
+
|
|
29
|
+
Expected:
|
|
30
|
+
|
|
31
|
+
- Round 1 comes back in agreement; the council stops there.
|
|
32
|
+
- Says explicitly that the council was not needed and returns the consensus.
|
|
33
|
+
- Does not run responses or convergence rounds, and does not manufacture
|
|
34
|
+
friction.
|
|
35
|
+
|
|
36
|
+
## S3 - dispatch unavailable
|
|
37
|
+
|
|
38
|
+
Setup: dispatch is admission-denied or absent in the environment.
|
|
39
|
+
|
|
40
|
+
Expected:
|
|
41
|
+
|
|
42
|
+
- Falls back to inline sequential perspectives with the same round structure
|
|
43
|
+
and synthesis format.
|
|
44
|
+
- Labels the result as degraded (single-model debate, no receipts).
|
|
45
|
+
|
|
46
|
+
## S4 - anti-trigger: plan stress-test
|
|
47
|
+
|
|
48
|
+
Setup: user says "poke holes in my plan" or wants their decisions interrogated
|
|
49
|
+
one at a time.
|
|
50
|
+
|
|
51
|
+
Expected:
|
|
52
|
+
|
|
53
|
+
- Refers to grill-me instead of convening a council.
|
|
54
|
+
|
|
55
|
+
## Baseline failure modes to watch for (RED)
|
|
56
|
+
|
|
57
|
+
- Generic personas (optimist, pessimist, devil's advocate) with no expertise
|
|
58
|
+
or attack target.
|
|
59
|
+
- One blended essay of pros and cons instead of independent positions that
|
|
60
|
+
respond to each other.
|
|
61
|
+
- No worker dispatch at all, or workers asked to edit files.
|
|
62
|
+
- A "balanced" synthesis that hides the crux of disagreement.
|
|
63
|
+
- Fabricated debate on a consensus topic to justify the ceremony.
|
|
64
|
+
|
|
65
|
+
## Observed live-smoke results
|
|
66
|
+
|
|
67
|
+
Run 2026-07-01/02, headless `clio-coder run --skill` against a scratch fixture (an
|
|
68
|
+
MPI checkpointing module writing one raw npy per rank per step).
|
|
69
|
+
|
|
70
|
+
- Full council (atomic rename vs direct write): three bounded rounds, four
|
|
71
|
+
topic-composed perspectives each dispatched as read-only `scout` workers
|
|
72
|
+
(parallel within rounds, sequential between), receipts on every statement
|
|
73
|
+
(exit 0, agentId scout), synthesis with agreements, a crux, and the
|
|
74
|
+
Performance Engineer's dissent preserved and answered. Note the topic
|
|
75
|
+
proved genuinely debatable, so full rounds were correct.
|
|
76
|
+
- Degraded fallback (HDF5 vs Zarr, run while the fleet target had model
|
|
77
|
+
residency failures): the skill attempted a parallel `dispatch` first,
|
|
78
|
+
observed worker failures in receipts, then ran the same rounds inline and
|
|
79
|
+
labeled the result degraded exactly as the clause requires.
|
|
80
|
+
- Early termination (S2, zero-padded vs unpadded checkpoint filenames): the
|
|
81
|
+
first draft of the skill ran full rounds on side-quibbles for two
|
|
82
|
+
debatable-in-hindsight "consensus" topics; the composition and termination
|
|
83
|
+
clauses were tightened to judge consensus on the decision question itself.
|
|
84
|
+
With the shipped wording the council declared itself not needed before any
|
|
85
|
+
dispatch, cited the rule, and returned the consensus with caveats. No
|
|
86
|
+
manufactured friction.
|
|
87
|
+
|
|
88
|
+
## Smoke record (2026-08-13)
|
|
89
|
+
|
|
90
|
+
One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
|
|
91
|
+
(30B local, llamacpp on mini), full-auto sandbox. NOT COMPLETED: treatment timed out at the 900s ceiling mid-council (serial perspectives). Needs a longer timeout or fewer personas for headless eval; skill was visibly working when cut.
|
|
92
|
+
|
|
93
|
+
Follow-up (2026-08-13, v0.3.0): Step 1 now makes three perspectives the
|
|
94
|
+
default and tells a headless run to use three and one round, which is the
|
|
95
|
+
blocker the timeout exposed. Not re-run, so `eval-status` stays
|
|
96
|
+
`scenarios-recorded`; the next campaign has to confirm the shortened council
|
|
97
|
+
fits the ceiling.
|