@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,36 @@
|
|
|
1
|
+
# Evals — architecture
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (subagent WITHOUT the skill vs WITH). Pass/fail per
|
|
4
|
+
bullet. Status: written at port time, not yet executed (`eval-status:
|
|
5
|
+
untested`).
|
|
6
|
+
|
|
7
|
+
## S1 — brownfield feature on an existing repo
|
|
8
|
+
Setup: repo with an existing codebase and a short brief. Prompt: "figure
|
|
9
|
+
out the architecture for adding X."
|
|
10
|
+
Expected:
|
|
11
|
+
- Reads the relevant existing surfaces before proposing.
|
|
12
|
+
- 2-3 genuinely different approaches with trade-offs; recommendation with
|
|
13
|
+
reasoning; user makes the calls via ask_user.
|
|
14
|
+
- One-way-door decisions get spikes with decision rules.
|
|
15
|
+
- Doc written with the required shape; skipped sections noted.
|
|
16
|
+
|
|
17
|
+
## S2 — greenfield with unfamiliar stack temptation
|
|
18
|
+
Setup: user knows Python; the "modern" answer is a stack they don't know.
|
|
19
|
+
Expected:
|
|
20
|
+
- Familiarity weighed explicitly; the recommendation reflects the user's
|
|
21
|
+
goals, not fashion.
|
|
22
|
+
|
|
23
|
+
## S3 — altitude check
|
|
24
|
+
Setup: mid-session the user asks "just list the files to change for this".
|
|
25
|
+
Expected:
|
|
26
|
+
- Pulls back up to decisions; hands task-level planning to cut-it.
|
|
27
|
+
|
|
28
|
+
## Baseline failure modes to watch for (RED)
|
|
29
|
+
- One-shot architecture doc with silent convergence.
|
|
30
|
+
- No alternatives, no trade-offs, no spikes.
|
|
31
|
+
- Implementation task lists in the decision doc.
|
|
32
|
+
|
|
33
|
+
## Smoke record (2026-08-13)
|
|
34
|
+
|
|
35
|
+
One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
|
|
36
|
+
(30B local, llamacpp on mini), full-auto sandbox. SMOKE ACTED but substance bullets failed (wrote final_report.md, skipped the loop). Headless degraded-mode and filename rules added to the body the same day; the re-smoke against the fixed body ran exit 1 at 12:15 CDT with no scored breakdown drained before the hard cutoff, so the substance verdict is unconfirmed.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: backlog
|
|
3
|
+
description: Use when a finished PRD or architecture doc must become a real ticket backlog — "create the stories", "turn this PRD into issues", "build the backlog". Decomposes phases and user stories into small tickets with verifiable acceptance criteria, confirms the list, then creates them as GitHub issues (or in another tracker when an integration exists). Not for local sprint slicing into a SPRINT.md; use cut-it.
|
|
4
|
+
version: 0.2.0
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- read
|
|
8
|
+
- grep
|
|
9
|
+
- ls
|
|
10
|
+
- bash
|
|
11
|
+
- tasks
|
|
12
|
+
- ask_user
|
|
13
|
+
clio:
|
|
14
|
+
registry-id: iowarp/clio-coder
|
|
15
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/planning/backlog
|
|
16
|
+
audit: pass
|
|
17
|
+
provenance: adapted
|
|
18
|
+
origin: https://github.com/coleam00/skills/tree/main/.claude/skills/backlog
|
|
19
|
+
eval-status: smoke-checked
|
|
20
|
+
model-size: any
|
|
21
|
+
agents:
|
|
22
|
+
- main
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Backlog
|
|
26
|
+
|
|
27
|
+
Turn a finished planning doc into small, engineer-ready tickets on a real
|
|
28
|
+
tracker. Decomposition is tracker-agnostic; creation branches on the target.
|
|
29
|
+
|
|
30
|
+
## Step 1 — Inputs
|
|
31
|
+
|
|
32
|
+
Required: the path to the PRD or planning doc. Target platform: GitHub
|
|
33
|
+
issues via `gh` by default; another tracker only when the user names it and
|
|
34
|
+
an integration for it is available. Platform genuinely ambiguous → ask,
|
|
35
|
+
never guess. Optional: a milestone or epic to attach tickets to.
|
|
36
|
+
|
|
37
|
+
## Step 2 — Decompose
|
|
38
|
+
|
|
39
|
+
Read the doc in full. Each implementation phase becomes a ticket group;
|
|
40
|
+
each user story becomes one or more tickets. Per ticket, draft:
|
|
41
|
+
|
|
42
|
+
- **Title**: imperative and specific ("Add token refresh endpoint", never
|
|
43
|
+
"Auth").
|
|
44
|
+
- **Description**: what and why, linked back to the source doc's phase.
|
|
45
|
+
- **Acceptance criteria**: a checklist a reviewer can verify — observable
|
|
46
|
+
behavior, not "works correctly".
|
|
47
|
+
- **Phase label**: `phase-N` from the source doc.
|
|
48
|
+
|
|
49
|
+
Sizing rules: a ticket is at most about a day of work; a ticket that needs
|
|
50
|
+
more than one screen to describe is two tickets. A phase too vague to
|
|
51
|
+
decompose is a gap in the source doc — stop and flag it rather than
|
|
52
|
+
inventing tickets.
|
|
53
|
+
|
|
54
|
+
## Step 3 — Confirm before creating
|
|
55
|
+
|
|
56
|
+
Print the full proposed list (titles grouped by phase) and the target
|
|
57
|
+
platform, and get explicit confirmation via `ask_user`. Ticket creation is
|
|
58
|
+
outward-facing and not one-click reversible; nothing is created before the
|
|
59
|
+
yes.
|
|
60
|
+
|
|
61
|
+
## Step 4 — Create
|
|
62
|
+
|
|
63
|
+
GitHub:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
gh label create "phase-N" 2>/dev/null || true
|
|
67
|
+
gh issue create --title "..." --body "..." --label "phase-N" [--milestone "..."]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Acceptance criteria go in the body as a markdown checklist. Capture every
|
|
71
|
+
created issue number and URL. A failed create is reported per ticket, not
|
|
72
|
+
papered over.
|
|
73
|
+
|
|
74
|
+
Local fallback: when the workspace has no GitHub remote, gh is unavailable,
|
|
75
|
+
or the user asks for local tracking, create each confirmed ticket with the
|
|
76
|
+
`tasks` tool instead (one task per ticket, acceptance criteria in the
|
|
77
|
+
description) and capture the task ids. Say which target was used and why.
|
|
78
|
+
|
|
79
|
+
## Step 5 — Report
|
|
80
|
+
|
|
81
|
+
A table: title → phase → issue number/URL, plus the source doc path and any
|
|
82
|
+
failures. Done when every proposed ticket is either created with its URL
|
|
83
|
+
captured or listed as failed with the error.
|
|
84
|
+
|
|
85
|
+
## Red flags
|
|
86
|
+
|
|
87
|
+
- Tickets created before the Step 3 confirmation.
|
|
88
|
+
- Acceptance criteria that restate the title.
|
|
89
|
+
- A mega-ticket hiding a week of work.
|
|
90
|
+
- Tickets with no trace back to a phase or story in the source doc.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Evals — backlog
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (subagent WITHOUT the skill vs WITH). Pass/fail per
|
|
4
|
+
bullet. Status: written at port time, not yet executed (`eval-status:
|
|
5
|
+
untested`).
|
|
6
|
+
|
|
7
|
+
## S1 — PRD with three phases
|
|
8
|
+
Setup: create the stories from docs/x.prd.md.
|
|
9
|
+
|
|
10
|
+
Fixture:
|
|
11
|
+
```bash
|
|
12
|
+
mkdir -p docs
|
|
13
|
+
printf '# PRD: Todo CLI\n\n## Phase 1 - capture\nAs a user I can add a todo from the command line so nothing gets lost.\nAs a user I can list my todos in the order I added them.\n\n## Phase 2 - progress\nAs a user I can mark a todo done by its number.\nAs a user I can see done and open todos separately.\n\n## Phase 3 - hygiene\nAs a user I can delete a todo I no longer need.\n' > docs/x.prd.md
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Expected:
|
|
17
|
+
- Every proposed ticket traces to a phase or story; `phase-N` labels
|
|
18
|
+
planned per ticket.
|
|
19
|
+
- Acceptance criteria are verifiable checklists.
|
|
20
|
+
- The full ticket list is presented for confirmation (ask_user, or the
|
|
21
|
+
question stated explicitly) BEFORE any `gh issue create` attempt; if gh
|
|
22
|
+
cannot create against this workspace, that failure is reported honestly
|
|
23
|
+
with the confirmed list intact.
|
|
24
|
+
|
|
25
|
+
## S2 — vague phase
|
|
26
|
+
Setup: one phase says "improve performance".
|
|
27
|
+
Expected:
|
|
28
|
+
- Flags it as a source-doc gap; no invented tickets for it.
|
|
29
|
+
|
|
30
|
+
## S3 — no platform determinable
|
|
31
|
+
Setup: user names a tracker with no integration available.
|
|
32
|
+
Expected:
|
|
33
|
+
- Says so and asks; does not silently fall back.
|
|
34
|
+
|
|
35
|
+
## Baseline failure modes to watch for (RED)
|
|
36
|
+
- Creating tickets without confirmation.
|
|
37
|
+
- One giant "implement phase 2" ticket.
|
|
38
|
+
- Criteria like "feature works as expected".
|
|
39
|
+
|
|
40
|
+
## Smoke record (2026-08-13)
|
|
41
|
+
|
|
42
|
+
One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
|
|
43
|
+
(30B local, llamacpp on mini), full-auto sandbox. PASS on re-run after adding the tasks tool to allowed-tools; first run degraded to prose because the tool was narrowed away.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prd
|
|
3
|
+
description: Use when the user wants to turn an idea into a product requirements document through a phase-gated interview — each phase locks before the next opens — ending in PRD.md plus per-milestone prompt files ready to drive a coding agent. Triggers on "write a PRD", "spec this out", "help me define this feature/product", or a brain dump that needs structure before planning.
|
|
4
|
+
version: 0.2.1
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- read
|
|
8
|
+
- grep
|
|
9
|
+
- ls
|
|
10
|
+
- find
|
|
11
|
+
- git
|
|
12
|
+
- context
|
|
13
|
+
- code_nav
|
|
14
|
+
- write
|
|
15
|
+
- edit
|
|
16
|
+
- ask_user
|
|
17
|
+
clio:
|
|
18
|
+
registry-id: iowarp/clio-coder
|
|
19
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/planning/prd
|
|
20
|
+
audit: pass
|
|
21
|
+
provenance: adapted
|
|
22
|
+
origin: buildermethods/bm-prd-creator
|
|
23
|
+
eval-status: smoke-checked
|
|
24
|
+
model-size: large
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# PRD
|
|
28
|
+
|
|
29
|
+
Guide the user from a raw idea to a locked product spec and executable
|
|
30
|
+
milestone prompts. The discipline is the phase gate: each phase produces a
|
|
31
|
+
small locked artifact that the next phase builds on. No phase reopens without
|
|
32
|
+
the user saying so. Markdown only, no external templates, repo-aware.
|
|
33
|
+
|
|
34
|
+
## Interview mechanics
|
|
35
|
+
|
|
36
|
+
- Use the `ask_user` tool for every confirmation and choice, with your
|
|
37
|
+
recommendation as the first option. Without `ask_user`, ask in plain text,
|
|
38
|
+
one focused exchange per phase.
|
|
39
|
+
- **Read the repo before asking.** Stack, conventions, existing entities, and
|
|
40
|
+
integrations are facts; discover them and *confirm*, never ask cold.
|
|
41
|
+
- Keep each phase to one or two exchanges. Synthesize, propose, lock, move on.
|
|
42
|
+
|
|
43
|
+
## The phases (in order, each locks before the next)
|
|
44
|
+
|
|
45
|
+
1. **Brain dump.** Let the user describe the idea raw. Do not structure yet;
|
|
46
|
+
capture it.
|
|
47
|
+
2. **Core purpose.** Synthesize a 1–3 sentence mission statement. Confirm.
|
|
48
|
+
3. **Top-level features.** Propose 4–8 in-scope features derived from the
|
|
49
|
+
dump. Confirm the set.
|
|
50
|
+
4. **Out of scope.** Propose explicit v1 cuts — what this deliberately does
|
|
51
|
+
not do. This list prevents scope creep later; make it real.
|
|
52
|
+
5. **Stack and foundation.** Detect the stack from the repo (manifests, lock
|
|
53
|
+
files, configs); confirm it and inventory what foundation already exists.
|
|
54
|
+
6. **Integrations and credentials.** Map external services and the API
|
|
55
|
+
keys/credentials each requires. Note which exist versus which the user
|
|
56
|
+
must provision.
|
|
57
|
+
7. **Data model.** Entities, fields, and relationships in plain language.
|
|
58
|
+
Reuse existing repo entities where they fit.
|
|
59
|
+
8. **Per-feature scoping.** For each locked feature: granular in/out
|
|
60
|
+
boundaries. This is where v1 honesty lives.
|
|
61
|
+
9. **Milestones.** Propose a dependency-ordered milestone sequence, each with
|
|
62
|
+
a one-line scope. Confirm.
|
|
63
|
+
|
|
64
|
+
## Output artifacts (phase 10 — write files)
|
|
65
|
+
|
|
66
|
+
- **`PRD.md`** at the repo root: purpose, features, out-of-scope, stack,
|
|
67
|
+
integrations, data model, per-feature scope, milestone overview. Markdown
|
|
68
|
+
only.
|
|
69
|
+
- **`milestones/N-<slug>/prompt.md`** for each milestone: a self-contained
|
|
70
|
+
prompt that a coding agent can execute cold — context, scope, constraints
|
|
71
|
+
from the PRD, and done-when criteria. A reader must not need the PRD open
|
|
72
|
+
to act on it.
|
|
73
|
+
|
|
74
|
+
Offer the natural next step: run `cut-it` on a milestone prompt to slice it
|
|
75
|
+
into a sprint.
|
|
76
|
+
|
|
77
|
+
## Red flags (you are doing it wrong)
|
|
78
|
+
|
|
79
|
+
- Asking about the stack when package.json answers it.
|
|
80
|
+
- A phase "locked" without the user confirming it.
|
|
81
|
+
- Out-of-scope list that is empty or generic ("no mobile app").
|
|
82
|
+
- Milestone prompts that say "see PRD for details".
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Evals — prd
|
|
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 — brain dump to spec
|
|
7
|
+
Setup: Okay, brain dump. Our users keep asking for saved searches — they
|
|
8
|
+
build the same filter combos every day and lose them on refresh. I am
|
|
9
|
+
thinking they can name a search, get it in a sidebar list, maybe share a
|
|
10
|
+
link to it with a teammate. There is also the question of limits, do free
|
|
11
|
+
users get three saved searches or unlimited, and should a shared link work
|
|
12
|
+
for someone without an account? I have not decided. Somewhere down the
|
|
13
|
+
line I would also love alerts, like notify me when a saved search has new
|
|
14
|
+
results, but that might be its own thing. Spec this out.
|
|
15
|
+
|
|
16
|
+
Fixture:
|
|
17
|
+
```bash
|
|
18
|
+
mkdir -p src
|
|
19
|
+
printf '{\n "name": "search-app",\n "version": "1.0.0",\n "private": true,\n "dependencies": {\n "typescript": "5.5.0"\n }\n}\n' > package.json
|
|
20
|
+
printf 'export function runSearch(filters: string[]): string[] {\n return filters;\n}\n' > src/search.ts
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Expected:
|
|
24
|
+
- Proceeds phase by phase; each phase confirmed before the next opens.
|
|
25
|
+
- Detects the stack from the repo and confirms rather than asking cold.
|
|
26
|
+
- Produces PRD.md plus milestones/N-slug/prompt.md files.
|
|
27
|
+
- Each milestone prompt is executable without the PRD open (self-contained).
|
|
28
|
+
|
|
29
|
+
## S2 — scope honesty
|
|
30
|
+
Setup: brain dump implies ten features. Prompt: "spec this out for v1."
|
|
31
|
+
Expected:
|
|
32
|
+
- Proposes 4–8 core features and pushes the rest to an explicit out-of-scope list.
|
|
33
|
+
- Out-of-scope entries are specific to this product, not boilerplate.
|
|
34
|
+
|
|
35
|
+
## S3 — existing foundation
|
|
36
|
+
Setup: repo already implements half the data model the idea needs.
|
|
37
|
+
Expected:
|
|
38
|
+
- Inventories the existing entities in phase 5/7 and reuses them.
|
|
39
|
+
- Does not spec already-built functionality as new work.
|
|
40
|
+
|
|
41
|
+
## Baseline failure modes to watch for (RED)
|
|
42
|
+
- One giant questionnaire instead of phase-gated exchanges.
|
|
43
|
+
- PRD written without any user confirmation of features/scope.
|
|
44
|
+
- Milestone prompts that are headings with no executable content.
|
|
45
|
+
|
|
46
|
+
## Smoke record (2026-08-13)
|
|
47
|
+
|
|
48
|
+
One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
|
|
49
|
+
(30B local, llamacpp on mini), full-auto sandbox. WEAK PASS. Engaged the brain dump and asked the first phase-gate question; single-turn headless ends there by design, so no PRD file was produced in-run.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-intent
|
|
3
|
+
description: Use at the start of a greenfield product effort, when the user wants a problem-first product document — "why are we building this", "write the product thesis", "PRD for this idea". Interviews for the problem, evidence, and a falsifiable hypothesis; writes an intent-only PRD with zero engineering decisions. Not for engineering decisions; use architecture. Not for turning a locked idea into milestone build prompts; use prd.
|
|
4
|
+
version: 0.2.0
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- read
|
|
8
|
+
- grep
|
|
9
|
+
- find
|
|
10
|
+
- ls
|
|
11
|
+
- git
|
|
12
|
+
- context
|
|
13
|
+
- write
|
|
14
|
+
- ask_user
|
|
15
|
+
clio:
|
|
16
|
+
registry-id: iowarp/clio-coder
|
|
17
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/planning/product-intent
|
|
18
|
+
audit: pass
|
|
19
|
+
provenance: adapted
|
|
20
|
+
origin: https://github.com/coleam00/skills/tree/main/.claude/skills/product-intent
|
|
21
|
+
eval-status: smoke-checked
|
|
22
|
+
model-size: large
|
|
23
|
+
agents:
|
|
24
|
+
- main
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Product Intent
|
|
28
|
+
|
|
29
|
+
A PRD is intent: the problem and the hypothesis about solving it, in a form a
|
|
30
|
+
team can challenge before building and judge after shipping. Engineering
|
|
31
|
+
decisions (library, data model, boundaries) never enter it; they belong to
|
|
32
|
+
`architecture`.
|
|
33
|
+
|
|
34
|
+
Two hard guards, checked before writing anything:
|
|
35
|
+
|
|
36
|
+
1. **Intent-framed.** If only one solution could fit your problem statement,
|
|
37
|
+
you wrote a spec, not a PRD. "Give users a way to group related replies"
|
|
38
|
+
passes; "add a reply button" fails.
|
|
39
|
+
2. **Never invent requirements.** Anything unknown ships as
|
|
40
|
+
"TBD — needs validation", verbatim, never as a plausible guess.
|
|
41
|
+
|
|
42
|
+
## Step 0 — Ground in evidence
|
|
43
|
+
|
|
44
|
+
If the user passed reference docs (interviews, support tickets, analytics,
|
|
45
|
+
competitor notes), read them first and treat them as evidence. If none were
|
|
46
|
+
passed, ask whether any exist before interviewing.
|
|
47
|
+
|
|
48
|
+
## The interview
|
|
49
|
+
|
|
50
|
+
Ask in clusters via `ask_user`, and GATE: post the cluster, stop, wait for
|
|
51
|
+
answers. Never answer your own questions, never roll into the next phase in
|
|
52
|
+
the same turn. Thin answers get reflected back and dug into.
|
|
53
|
+
|
|
54
|
+
If the user declines the interview ("just write it"): honor it, name what
|
|
55
|
+
you will have to leave TBD, ask only the two or three highest-leverage
|
|
56
|
+
questions, and mark everything else "TBD — needs validation".
|
|
57
|
+
|
|
58
|
+
1. **Initiate.** Input given → restate and confirm. Blank → "What do you
|
|
59
|
+
want to build? A few sentences." GATE.
|
|
60
|
+
2. **Foundation.** Who has the problem (a specific role, not "users")? What
|
|
61
|
+
is the observable pain? How do they cope today (workaround, competitor,
|
|
62
|
+
tolerating)? Why now? And the switch test: do you solve it so much better
|
|
63
|
+
they leave their current cope? No switch case → no product yet; say so.
|
|
64
|
+
GATE.
|
|
65
|
+
3. **Users.** One-sentence vision · primary user (role, context, trigger) ·
|
|
66
|
+
job-to-be-done ("When [situation], I want [motivation], so I can
|
|
67
|
+
[outcome]") · explicit non-users · constraints. GATE.
|
|
68
|
+
4. **Hypothesis.** Co-write the falsifiable bet. The WRONG condition is the
|
|
69
|
+
most-skipped line and the one that makes it a hypothesis:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
We believe [change] will cause [users] to [do Y], resulting in [outcome].
|
|
73
|
+
RIGHT if [leading signal] within [timeframe].
|
|
74
|
+
WRONG if [counter-signal / a guardrail moves].
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
No hypothesis ships without a WRONG condition. GATE.
|
|
78
|
+
5. **MVP and doors.** MVP = the thinnest end-to-end line that proves the
|
|
79
|
+
hypothesis right or wrong, not "the product, smaller". Mark each major
|
|
80
|
+
call two-way door (reversible → just build) or one-way door (expensive to
|
|
81
|
+
undo → flag for a spike in architecture). GATE before generating.
|
|
82
|
+
|
|
83
|
+
Optional pressure test when useful: value (do they want it more than their
|
|
84
|
+
cope?), usability, feasibility, viability. Most ideas over-argue feasibility
|
|
85
|
+
and under-argue value.
|
|
86
|
+
|
|
87
|
+
## Generate
|
|
88
|
+
|
|
89
|
+
Write to `docs/<kebab-slug>.prd.md` (slug from the core idea; repo root if
|
|
90
|
+
no `docs/`; a user-supplied path always wins). Never hardcode `PRD.md` — a
|
|
91
|
+
second PRD must not overwrite the first. Sections, scannable, product only:
|
|
92
|
+
|
|
93
|
+
1. **Problem statement** — who, what pain, cost of not solving it.
|
|
94
|
+
2. **Evidence** — quote/data/observation, or "Assumption — validate via
|
|
95
|
+
[method]".
|
|
96
|
+
3. **Thesis** — why this, why now, why it beats the current cope.
|
|
97
|
+
4. **Hypothesis** — the RIGHT/WRONG block, verbatim.
|
|
98
|
+
5. **Target user & JTBD** — plus non-users.
|
|
99
|
+
6. **MVP** — the thinnest proving line.
|
|
100
|
+
7. **Success metrics** — outcome-shaped: metric · target · how measured.
|
|
101
|
+
"Engagement" is not a metric.
|
|
102
|
+
8. **Non-goals.**
|
|
103
|
+
9. **Open questions** — named checkboxes, never hidden.
|
|
104
|
+
|
|
105
|
+
## Done when
|
|
106
|
+
|
|
107
|
+
The file exists; the summary to the user leads with thesis and hypothesis,
|
|
108
|
+
counts evidenced-vs-assumed claims and open questions; and the next step is
|
|
109
|
+
offered: `architecture` for the engineering decisions this PRD
|
|
110
|
+
deliberately left open. Failing any of the five tests below means not done:
|
|
111
|
+
evidence-grounded problem · hypothesis with separate RIGHT and WRONG ·
|
|
112
|
+
outcome-shaped metrics · explicit non-goals · zero engineering decisions.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Evals — product-intent
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (subagent WITHOUT the skill vs WITH). Pass/fail per
|
|
4
|
+
bullet. Status: written at port time, not yet executed (`eval-status:
|
|
5
|
+
untested`).
|
|
6
|
+
|
|
7
|
+
## S1 — greenfield idea
|
|
8
|
+
Prompt: "I want to build a log-triage tool for HPC operators, write the PRD."
|
|
9
|
+
Expected:
|
|
10
|
+
- Interviews in gated clusters; never answers its own questions.
|
|
11
|
+
- Hypothesis block has both RIGHT and WRONG conditions.
|
|
12
|
+
- Output lands at `docs/<slug>.prd.md`, not `PRD.md`.
|
|
13
|
+
- Zero engineering decisions (no stack, no schema, no libraries).
|
|
14
|
+
- Unknowns say "TBD — needs validation", not invented requirements.
|
|
15
|
+
|
|
16
|
+
## S2 — user declines the interview
|
|
17
|
+
Prompt: "skip the questions, just write it."
|
|
18
|
+
Expected:
|
|
19
|
+
- Asks only 2-3 highest-leverage questions, names what goes TBD.
|
|
20
|
+
- No fabricated evidence or metrics.
|
|
21
|
+
|
|
22
|
+
## S3 — solution-shaped request
|
|
23
|
+
Prompt: "PRD for adding a reply button."
|
|
24
|
+
Expected:
|
|
25
|
+
- Reframes to the underlying problem; the problem statement admits more
|
|
26
|
+
than one solution.
|
|
27
|
+
|
|
28
|
+
## Baseline failure modes to watch for (RED)
|
|
29
|
+
- One-shot PRD generated from thin air.
|
|
30
|
+
- Hypothesis with no WRONG condition.
|
|
31
|
+
- "React + Postgres" appearing anywhere in the document.
|
|
32
|
+
|
|
33
|
+
## Smoke record (2026-08-13)
|
|
34
|
+
|
|
35
|
+
One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
|
|
36
|
+
(30B local, llamacpp on mini), full-auto sandbox. PASS. Interview degraded gracefully headless; PRD written to docs/, judge 5/5.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tech-spec
|
|
3
|
+
description: Write a typed call-stack architecture handoff — code-shaped contracts plus execution flows, implementation-ready for another engineer. User-invoked only.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
allowed-tools:
|
|
8
|
+
- read
|
|
9
|
+
- grep
|
|
10
|
+
- find
|
|
11
|
+
- ls
|
|
12
|
+
- git
|
|
13
|
+
- context
|
|
14
|
+
- code_nav
|
|
15
|
+
- write
|
|
16
|
+
- ask_user
|
|
17
|
+
requires:
|
|
18
|
+
- skill:tdd
|
|
19
|
+
clio:
|
|
20
|
+
registry-id: iowarp/clio-coder
|
|
21
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/planning/tech-spec
|
|
22
|
+
audit: pass
|
|
23
|
+
provenance: adapted
|
|
24
|
+
origin: https://github.com/dmmulroy/skills/tree/main/tech-spec
|
|
25
|
+
eval-status: smoke-checked
|
|
26
|
+
model-size: large
|
|
27
|
+
provisional: true
|
|
28
|
+
agents:
|
|
29
|
+
- main
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Tech Spec
|
|
33
|
+
|
|
34
|
+
A tech spec is a typed call-stack architecture handoff: contracts as
|
|
35
|
+
TypeScript pseudocode plus end-to-end execution flows. Prose explains why;
|
|
36
|
+
types and call stacks define what changes. Design only — never implement,
|
|
37
|
+
and save a file only when the user asks; otherwise return the spec inline.
|
|
38
|
+
|
|
39
|
+
## Choose the path
|
|
40
|
+
|
|
41
|
+
- **Path A — convert context to spec**: the conversation, docs, or codebase
|
|
42
|
+
already describe the change.
|
|
43
|
+
- **Path B — interview first**: not enough problem, constraints, or
|
|
44
|
+
acceptance criteria exist. Say so, then interview one question at a time
|
|
45
|
+
with a recommended answer per question (the grill-me posture); anything
|
|
46
|
+
answerable by exploring the codebase is explored, not asked. When context
|
|
47
|
+
suffices, run Path A. Never invent requirements to skip the interview.
|
|
48
|
+
|
|
49
|
+
## Path A
|
|
50
|
+
|
|
51
|
+
1. **Load local context.** Inspect existing code and docs for vocabulary,
|
|
52
|
+
module layout, error style, adapters, test conventions. Done when the
|
|
53
|
+
spec introduces no pattern, library, or schema style without checking
|
|
54
|
+
local precedent.
|
|
55
|
+
2. **Extract the design problem.** Current state, problem, callers, goals,
|
|
56
|
+
non-goals, constraints, invariants, affected systems, entrypoints,
|
|
57
|
+
risks. Unknowns become open questions, never plausible filler. Done when
|
|
58
|
+
every claimed constraint traces to conversation, code, docs, or an open
|
|
59
|
+
question.
|
|
60
|
+
3. **Explore alternatives.** 2-3 designs differing materially — interface
|
|
61
|
+
shape, seam placement, ownership, call stack, module boundaries — not
|
|
62
|
+
just names. Sketch each: domain types, interfaces, failure types, seams,
|
|
63
|
+
entrypoint-to-effect call stack, test strategy, trade-offs. Compare on
|
|
64
|
+
caller burden, module depth, locality of change, seam placement,
|
|
65
|
+
testability through real seams, complexity. Done when the
|
|
66
|
+
recommendation is chosen after the comparison, not before.
|
|
67
|
+
4. **Specify the contracts.** For the recommended design, every new,
|
|
68
|
+
changed, or deleted type, signature, interface, error union, adapter,
|
|
69
|
+
DTO, and API gets a concrete sketch — or an explicit reason no new
|
|
70
|
+
contract is needed. Name what each layer may know and what must not
|
|
71
|
+
leak across each seam.
|
|
72
|
+
5. **Specify call stacks.** Every affected behavior gets an entrypoint →
|
|
73
|
+
side-effect → response trace with the type/data flow (`raw input →
|
|
74
|
+
parser → domain input → service → adapter → typed result → projection →
|
|
75
|
+
output`), current-vs-proposed when changing behavior, and failure /
|
|
76
|
+
retry / idempotency flow where reachable.
|
|
77
|
+
6. **Map files.** Files to add, change, delete; test files; config or
|
|
78
|
+
migration files. Each maps to the contract or call-stack step it owns.
|
|
79
|
+
7. **Write the TDD plan.** Vertical red-green slices per the `tdd` skill:
|
|
80
|
+
one failing behavior test, minimal implementation, repeat. Cover happy
|
|
81
|
+
paths, failure paths, parser rejection, invariants, changed seams — or
|
|
82
|
+
state why a path is deliberately untested.
|
|
83
|
+
|
|
84
|
+
## Spec outline
|
|
85
|
+
|
|
86
|
+
Use this shape (omit sections that truly do not apply, but never omit
|
|
87
|
+
contracts, seams, call stacks, or the test plan for being hard):
|
|
88
|
+
|
|
89
|
+
```md
|
|
90
|
+
# <Title>
|
|
91
|
+
## Summary · Context / Current State · Goals · Non-Goals · Invariants ·
|
|
92
|
+
## Design Constraints
|
|
93
|
+
## Alternatives Considered (Option 1..3)
|
|
94
|
+
## Recommendation · Proposed Design
|
|
95
|
+
## Domain Model and Types · Types, Interfaces, and APIs
|
|
96
|
+
## Seams, Boundaries, Adapters, and Implementations
|
|
97
|
+
## Call Stacks and Data Flow (current / proposed / failure / retry)
|
|
98
|
+
## Files to Add / Change / Delete
|
|
99
|
+
## TDD Test Plan
|
|
100
|
+
## Risks and Open Questions
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Done when
|
|
104
|
+
|
|
105
|
+
The spec follows the outline, every boundary has a typed contract or a
|
|
106
|
+
stated reason it needs none, every behavior has a call stack, unknowns are
|
|
107
|
+
open questions rather than invented design, and nothing was implemented.
|
|
108
|
+
|
|
109
|
+
## Red flags
|
|
110
|
+
|
|
111
|
+
- Prose where a type signature would be more precise.
|
|
112
|
+
- A recommendation written before the alternatives.
|
|
113
|
+
- Speculative seams no invariant, boundary, or test earns.
|
|
114
|
+
- The same rule restated in three sections.
|
|
115
|
+
- "While I'm here" implementation.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Evals — tech-spec
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (subagent WITHOUT the skill vs WITH). Pass/fail per
|
|
4
|
+
bullet. Status: written at port time, not yet executed (`eval-status:
|
|
5
|
+
untested`); skill is marked provisional and user-invoked only.
|
|
6
|
+
|
|
7
|
+
## S1 — sufficient context (Path A)
|
|
8
|
+
Setup: write a tech spec for adding per-client rate limiting to the ingest
|
|
9
|
+
endpoint in src/ingest.js; limits should be configurable and violations
|
|
10
|
+
must return 429 without dropping the connection.
|
|
11
|
+
|
|
12
|
+
Fixture:
|
|
13
|
+
```bash
|
|
14
|
+
mkdir -p src
|
|
15
|
+
printf 'const http = require("http");\nconst { parseEvent } = require("./parse-event.js");\n\nconst INGEST_ROUTE = "ingest";\n\nfunction createIngestServer(store) {\n return http.createServer((req, res) => {\n if (req.url.slice(1) !== INGEST_ROUTE || req.method !== "POST") {\n res.writeHead(404);\n res.end();\n return;\n }\n let body = "";\n req.on("data", (chunk) => { body += chunk; });\n req.on("end", () => {\n const parsed = parseEvent(body);\n if (parsed.err) {\n res.writeHead(400);\n res.end(JSON.stringify({ error: parsed.err }));\n return;\n }\n store.append(parsed.value);\n res.writeHead(202);\n res.end();\n });\n });\n}\n\nmodule.exports = { createIngestServer };\n' > src/ingest.js
|
|
16
|
+
printf 'function parseEvent(raw) {\n try {\n const value = JSON.parse(raw);\n if (typeof value.client !== "string") return { err: "missing client" };\n return { err: null, value };\n } catch {\n return { err: "invalid json" };\n }\n}\n\nmodule.exports = { parseEvent };\n' > src/parse-event.js
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Expected:
|
|
20
|
+
- Local conventions inspected before any pattern is proposed.
|
|
21
|
+
- 2-3 materially different alternatives compared before recommending.
|
|
22
|
+
- Typed contracts for every new/changed boundary; call stacks with data
|
|
23
|
+
flow; file map; vertical TDD plan.
|
|
24
|
+
- Nothing implemented; spec returned inline (no file unless asked).
|
|
25
|
+
|
|
26
|
+
## S2 — thin context (Path B)
|
|
27
|
+
Setup: user asks for a spec with only a vague sentence.
|
|
28
|
+
Expected:
|
|
29
|
+
- States context is insufficient; interviews one question at a time with
|
|
30
|
+
recommended answers; explores the codebase instead of asking what code
|
|
31
|
+
answers.
|
|
32
|
+
- Converts to Path A only when context suffices.
|
|
33
|
+
|
|
34
|
+
## S3 — unknowns
|
|
35
|
+
Setup: a dependency's behavior is genuinely unknown.
|
|
36
|
+
Expected:
|
|
37
|
+
- Recorded as an open question, not filled with plausible design.
|
|
38
|
+
|
|
39
|
+
## Baseline failure modes to watch for (RED)
|
|
40
|
+
- Prose-only spec with no typed contracts or call stacks.
|
|
41
|
+
- Single foregone design presented as "the" answer.
|
|
42
|
+
- Implementation snuck in.
|
|
43
|
+
|
|
44
|
+
## Smoke record (2026-08-13)
|
|
45
|
+
|
|
46
|
+
One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
|
|
47
|
+
(30B local, llamacpp on mini), full-auto sandbox. PASS. Spec written and its claims exercised with node -e; judge 4/4.
|