@iowarp/clio-coder 0.3.0 → 0.3.1
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 +33 -0
- package/README.md +50 -53
- package/dist/acp-FPR54DGL.js +138 -0
- package/dist/{agents-Q4MYPMUW.js → agents-OGPIHPJH.js} +33 -25
- 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-IC3K6NIZ.js} +22 -15
- package/dist/{chunk-KKKPTZLM.js → chunk-2STGEDFV.js} +8 -1
- package/dist/chunk-3I7MS7N2.js +40 -0
- package/dist/chunk-3R73A4XB.js +69 -0
- package/dist/{chunk-26BZQOAD.js → chunk-474KN5II.js} +86 -115
- package/dist/{chunk-NI4DEJMC.js → chunk-4QKXUHSR.js} +26 -3
- package/dist/{chunk-X3BR7HWV.js → chunk-5WIGXA4T.js} +7 -1
- package/dist/{chunk-TFSSEXL6.js → chunk-673JJUWJ.js} +14 -4
- package/dist/{chunk-GNGDQYDU.js → chunk-7SS2CTV2.js} +27922 -1249
- package/dist/{chunk-7RBKDI66.js → chunk-ASND7OZK.js} +104 -12
- package/dist/{chunk-X3NE4WVW.js → chunk-BNAZZHFG.js} +7 -1
- package/dist/{chunk-RQDWMVRB.js → chunk-BSU2YIWB.js} +9 -3
- package/dist/{chunk-CLJ5HLUD.js → chunk-C4PTHK7P.js} +24 -5
- package/dist/{chunk-QV47YRF4.js → chunk-CGKSTWHD.js} +7 -1
- package/dist/{chunk-BYEU76JP.js → chunk-DKGKUHFA.js} +34 -9
- package/dist/chunk-EYOKLTMF.js +170 -0
- package/dist/{chunk-PS4PFJQP.js → chunk-FCIH3BIZ.js} +15258 -14130
- package/dist/{chunk-2J63S4SF.js → chunk-FST4FYJB.js} +82 -14
- package/dist/{chunk-3DANZDGR.js → chunk-G34LV2PF.js} +34 -9
- package/dist/{chunk-BBUH4VAA.js → chunk-GAEBEQVI.js} +34 -21
- package/dist/chunk-GB6QRBXN.js +8543 -0
- package/dist/chunk-GEP36Y4X.js +12796 -0
- package/dist/{chunk-TKHQ4DGZ.js → chunk-H6F6BYOH.js} +496 -121
- package/dist/{chunk-UGYAX5YI.js → chunk-HQQID6OA.js} +10 -5
- package/dist/chunk-IHXBNWMM.js +137 -0
- package/dist/{chunk-ME6DNWIU.js → chunk-IS3ONKU3.js} +7 -1
- package/dist/{chunk-DXQNI4PC.js → chunk-IWHMRKLL.js} +8 -1
- package/dist/chunk-K2ITRMHZ.js +642 -0
- package/dist/{chunk-KBR4MZZR.js → chunk-K5XEMXTI.js} +7 -1
- package/dist/{chunk-AMFR5YA3.js → chunk-KKNLWXI6.js} +24 -10
- package/dist/{chunk-JWHCJDCI.js → chunk-KY56HMHH.js} +145 -61
- package/dist/{chunk-E3NYWENM.js → chunk-LU4TK2PR.js} +52 -7
- package/dist/{chunk-UWIJNAOB.js → chunk-M5T5VO65.js} +109 -42
- package/dist/{chunk-JPOWPFCU.js → chunk-MAR7Y6HW.js} +38 -16
- package/dist/chunk-N6F52NLF.js +6951 -0
- package/dist/{chunk-UHTSULZS.js → chunk-NMOX6HFD.js} +20 -7
- package/dist/{chunk-WD6AJM35.js → chunk-OLBBMFRD.js} +30 -13
- package/dist/{chunk-VOO7NYPP.js → chunk-PFEFKVGL.js} +22 -6
- package/dist/{chunk-6CWDTGUC.js → chunk-PIUMUEMV.js} +7 -1
- package/dist/chunk-PV4JUBVJ.js +462 -0
- package/dist/{chunk-527KG6XR.js → chunk-Q3RUPKEJ.js} +22 -4
- package/dist/{chunk-D5YD55AR.js → chunk-Q5WJOSJ7.js} +11 -1
- package/dist/{chunk-5N2FG33Q.js → chunk-R346GLFC.js} +7 -1
- package/dist/{chunk-4UQA7NCT.js → chunk-R5KLMSBV.js} +7 -2
- package/dist/{chunk-PIDUD6M2.js → chunk-RDLVBZEO.js} +11 -6
- package/dist/{chunk-O4EJEDHO.js → chunk-RPTR2H26.js} +40 -31
- package/dist/{chunk-HBU5MTAM.js → chunk-SVNXH4L2.js} +7 -1
- package/dist/{chunk-XNISANGE.js → chunk-TEKV33Q5.js} +122 -57
- package/dist/chunk-TXOTCRLG.js +15 -0
- package/dist/{chunk-VPAWTYLY.js → chunk-WEPFGWHJ.js} +7 -1
- package/dist/{chunk-HMYNFFY4.js → chunk-XPLRXC72.js} +7 -2
- package/dist/{chunk-UU3R62TT.js → chunk-XYWBQRDM.js} +13 -4
- package/dist/{chunk-7BHLZB3A.js → chunk-ZPY3JZ5E.js} +32 -10
- package/dist/cli/index.js +39 -33
- package/dist/clio-BZVGEUFJ.js +58 -0
- package/dist/{components-JVHMUBEB.js → components-DMAOEKFB.js} +26 -9
- package/dist/{config-ZFCDBMDC.js → config-IRUQ7SE4.js} +42 -31
- package/dist/configure-S7S6F6CL.js +32 -0
- package/dist/{context-CDXTP2MP.js → context-3KWFLHJG.js} +17 -11
- package/dist/{context-E3KIFVXI.js → context-5RADCKTR.js} +33 -28
- package/dist/{context-clear-3F4PLXOS.js → context-clear-7TSNPAAI.js} +36 -28
- package/dist/{context-index-Q7YSYTR3.js → context-index-W4RLWOQH.js} +10 -4
- package/dist/{docs-YIETIWZI.js → docs-5AWSPS37.js} +16 -10
- package/dist/doctor-UC5NAJYQ.js +77 -0
- package/dist/{eval-B3KZZESM.js → eval-U6TJHRLX.js} +77 -24
- package/dist/{evidence-V67CHM35.js → evidence-YEGUW4L3.js} +34 -26
- package/dist/{evolve-YDZSUQYA.js → evolve-TXARCTPG.js} +39 -26
- package/dist/{extensions-SRG7XCAH.js → extensions-OZFJ3A3G.js} +13 -7
- package/dist/{fleet-CA2CRTVG.js → fleet-6G3DHNYE.js} +45 -37
- package/dist/fleet-preflight-DSNT37JK.js +23 -0
- package/dist/{init-2OZDJE2D.js → init-KZ5QTF6M.js} +42 -34
- package/dist/{memory-3PIQQAKX.js → memory-73ESV5YC.js} +35 -27
- package/dist/{models-DY35XI7Y.js → models-A4PVNWJK.js} +34 -23
- package/dist/{paths-5OMXW7Z4.js → paths-C4H6IV77.js} +12 -6
- package/dist/preload-6WVMHX3A.js +13 -0
- package/dist/{reset-PIFYNOS3.js → reset-BGW6OGMV.js} +17 -11
- package/dist/{run-3VSPP24F.js → run-YTPEYQOH.js} +60 -48
- package/dist/{share-D36RQCXM.js → share-YIFFV4NQ.js} +16 -10
- package/dist/{skills-F2MRLELY.js → skills-2V6RA3OQ.js} +18 -11
- package/dist/{skills-eval-E2ZTW4PL.js → skills-eval-S2TVJO4F.js} +45 -36
- package/dist/{targets-DZMEZAH4.js → targets-TYXLPB23.js} +61 -59
- package/dist/{trace-7NYCUI2J.js → trace-GGOJ6Q6Z.js} +9 -3
- package/dist/{uninstall-AD3JWHBB.js → uninstall-LLLT4F4W.js} +14 -8
- package/dist/{upgrade-WYYBKGDY.js → upgrade-33G2LMM5.js} +45 -23
- package/dist/{usage-ULIDAGFF.js → usage-ZAFSXKKG.js} +35 -27
- package/dist/version-KGEG7EPO.js +21 -0
- package/dist/{wiki-generate-PKFIX6OB.js → wiki-generate-NUQCVOQ3.js} +55 -45
- package/dist/worker/entry.js +101 -43
- package/docs/README.md +12 -9
- package/docs/acp.md +28 -5
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +23 -2
- 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 +125 -41
- package/docs/configuration-and-targets.md +88 -18
- package/docs/context-engine.md +6 -2
- package/docs/development-pipeline.md +77 -0
- package/docs/documentation-coverage.md +4 -4
- package/docs/documentation-guide.md +3 -3
- package/docs/environment-variables.md +2 -1
- package/docs/eval-runner.md +3 -3
- package/docs/evals-internal.md +2 -2
- package/docs/evidence-and-memory.md +6 -2
- package/docs/evolution.md +1 -1
- package/docs/exit-codes-and-output.md +1 -1
- package/docs/extensions-and-sharing.md +18 -11
- package/docs/fleet-demo-runbook.md +22 -23
- package/docs/fleet-dispatch.md +111 -12
- package/docs/glossary.md +107 -15
- package/docs/html/agents_blueprint.html +3 -3
- package/docs/html/alcf_blueprint.html +3 -3
- package/docs/html/architecture_blueprint.html +3 -3
- package/docs/html/commands_blueprint.html +187 -42
- package/docs/html/configuration_blueprint.html +7 -7
- package/docs/html/context_blueprint.html +3 -3
- package/docs/html/documentation_blueprint.html +1 -1
- package/docs/html/environment_blueprint.html +3 -3
- package/docs/html/eval_blueprint.html +4 -4
- package/docs/html/evals_internal_blueprint.html +3 -3
- package/docs/html/evolution_blueprint.html +3 -3
- package/docs/html/extensions_blueprint.html +3 -3
- package/docs/html/fleet_dispatch_blueprint.html +8 -8
- package/docs/html/index.html +5 -5
- package/docs/html/lifecycle_blueprint.html +4 -4
- package/docs/html/memory_blueprint.html +3 -3
- package/docs/html/middleware_blueprint.html +3 -3
- package/docs/html/models_blueprint.html +2 -2
- package/docs/html/observability_blueprint.html +2 -2
- package/docs/html/provider_adapter_blueprint.html +3 -3
- package/docs/html/safety_blueprint.html +3 -3
- package/docs/html/skills_blueprint.html +2 -2
- package/docs/html/soak_blueprint.html +3 -3
- package/docs/html/tool_usage_blueprint.html +4 -4
- package/docs/html/tools_blueprint.html +2 -2
- package/docs/html/trace_blueprint.html +3 -3
- package/docs/html/tui_design_blueprint.html +100 -40
- package/docs/html/validation_blueprint.html +1 -1
- package/docs/html/worker_dispatch_blueprint.html +3 -3
- package/docs/installation-and-lifecycle.md +62 -11
- package/docs/middleware-and-components.md +1 -1
- package/docs/model-catalog.md +2 -2
- package/docs/observability.md +3 -3
- package/docs/proactive-memory.md +12 -12
- package/docs/prompt-envelope-and-tools.md +2 -2
- package/docs/provider-adapter-cookbook.md +1 -1
- package/docs/release-cut-checklist.md +4 -0
- package/docs/safety-model.md +21 -5
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +2 -2
- package/docs/skills-marketplace.md +1 -1
- package/docs/time-conventions.md +101 -0
- package/docs/tool-usage.md +5 -4
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/tui-design.md +83 -27
- package/docs/worker-dispatch-mechanics.md +3 -3
- package/package.json +16 -16
- package/skills/README.md +5 -6
- 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/skill-marketplace.json +12 -20
- package/src/cli/acp.ts +88 -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 +34 -0
- package/src/cli/components.ts +195 -0
- package/src/cli/config-inspect.ts +330 -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 +1487 -0
- package/src/cli/context-clear.ts +76 -0
- package/src/cli/context-index.ts +102 -0
- package/src/cli/context.ts +316 -0
- package/src/cli/default-target.ts +63 -0
- package/src/cli/docs.ts +340 -0
- package/src/cli/doctor.ts +54 -0
- package/src/cli/eval.ts +315 -0
- package/src/cli/evidence.ts +222 -0
- package/src/cli/evolve.ts +219 -0
- package/src/cli/extensions.ts +205 -0
- package/src/cli/fleet.ts +827 -0
- package/src/cli/index.ts +309 -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 +180 -0
- package/src/cli/models.ts +257 -0
- package/src/cli/modes/json-stream.ts +85 -0
- package/src/cli/modes/jsonl.ts +9 -0
- package/src/cli/modes/print.ts +589 -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 +1225 -0
- package/src/cli/skills.ts +470 -0
- package/src/cli/steer-channel.ts +86 -0
- package/src/cli/targets.ts +1150 -0
- package/src/cli/text-layout.ts +102 -0
- package/src/cli/trace.ts +274 -0
- package/src/cli/uninstall.ts +405 -0
- package/src/cli/upgrade.ts +270 -0
- package/src/cli/usage.ts +869 -0
- package/src/cli/validate-model.ts +28 -0
- package/src/cli/version.ts +7 -0
- package/src/cli/wiki-generate.ts +509 -0
- package/src/core/artifact-paths.ts +43 -0
- package/src/core/bash-exec.ts +242 -0
- package/src/core/boot-trace.ts +37 -0
- package/src/core/bus-events.ts +728 -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/config.ts +1593 -0
- package/src/core/context-floor.ts +33 -0
- package/src/core/defaults.ts +625 -0
- package/src/core/domain-loader.ts +170 -0
- package/src/core/event-bus.ts +94 -0
- package/src/core/file-references.ts +282 -0
- package/src/core/guardrails.ts +185 -0
- package/src/core/headless-permission.ts +21 -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/release.ts +2 -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 +193 -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 +220 -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 +207 -0
- package/src/core/termination.ts +202 -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 +94 -0
- package/src/domains/config/contract.ts +22 -0
- package/src/domains/config/extension.ts +136 -0
- package/src/domains/config/index.ts +13 -0
- package/src/domains/config/keybindings.ts +164 -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 +1409 -0
- package/src/domains/context/clear.ts +86 -0
- package/src/domains/context/clio-md.ts +327 -0
- package/src/domains/context/codewiki/cmake.ts +356 -0
- package/src/domains/context/codewiki/cooperative.ts +46 -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 +1614 -0
- package/src/domains/context/codewiki/tree-sitter.ts +771 -0
- package/src/domains/context/contract.ts +62 -0
- package/src/domains/context/excluded-dirs.ts +1 -0
- package/src/domains/context/extension.ts +407 -0
- package/src/domains/context/fingerprint.ts +196 -0
- package/src/domains/context/index.ts +164 -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 +510 -0
- package/src/domains/context/project-rules.ts +227 -0
- package/src/domains/context/prompt-context.ts +62 -0
- package/src/domains/context/refresh.ts +170 -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 +590 -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 +270 -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 +368 -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 +5869 -0
- package/src/domains/dispatch/failure-classification.ts +141 -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 +224 -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 +378 -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 +277 -0
- package/src/domains/dispatch/tool-stats.ts +132 -0
- package/src/domains/dispatch/transport.ts +209 -0
- package/src/domains/dispatch/types.ts +785 -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 +566 -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 +141 -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 +1714 -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/index.ts +94 -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 +174 -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 +187 -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 +556 -0
- package/src/domains/prompts/contract.ts +30 -0
- package/src/domains/prompts/extension.ts +304 -0
- package/src/domains/prompts/fragment-loader.ts +139 -0
- package/src/domains/prompts/fragments/identity/clio.md +3 -2
- package/src/domains/prompts/fragments/identity/self-awareness.md +63 -0
- package/src/domains/prompts/fragments/operating/contract.md +10 -1
- 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 +69 -0
- package/src/domains/providers/auth/backend-memory.ts +17 -0
- package/src/domains/providers/auth/index.ts +37 -0
- package/src/domains/providers/auth/oauth.ts +36 -0
- package/src/domains/providers/auth/storage.ts +667 -0
- package/src/domains/providers/capabilities.ts +50 -0
- package/src/domains/providers/catalog.ts +162 -0
- package/src/domains/providers/contract.ts +151 -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 +536 -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 +712 -0
- package/src/domains/providers/models/local-models/clio-local-coding-targets.yaml +2 -2
- package/src/domains/providers/plugins.ts +59 -0
- package/src/domains/providers/probe/fingerprint.ts +44 -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 +166 -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/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-logger.ts +32 -0
- package/src/domains/providers/runtimes/common/local-synth.ts +165 -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-native.ts +491 -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 +238 -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 +218 -0
- package/src/domains/providers/types/runtime-descriptor.ts +170 -0
- package/src/domains/providers/types/target-descriptor.ts +38 -0
- package/src/domains/resources/collision.ts +92 -0
- package/src/domains/resources/common-loader.ts +140 -0
- package/src/domains/resources/contract.ts +25 -0
- package/src/domains/resources/extension.ts +61 -0
- package/src/domains/resources/index.ts +74 -0
- package/src/domains/resources/loader.ts +86 -0
- package/src/domains/resources/manifest.ts +6 -0
- package/src/domains/resources/prompts/loader.ts +232 -0
- package/src/domains/resources/prompts/substitute.ts +65 -0
- package/src/domains/resources/skills/content-hash.ts +105 -0
- package/src/domains/resources/skills/evals.ts +175 -0
- package/src/domains/resources/skills/install.ts +410 -0
- package/src/domains/resources/skills/loader.ts +978 -0
- package/src/domains/resources/skills/marketplace.ts +255 -0
- package/src/domains/resources/skills/provenance-pin.ts +115 -0
- package/src/domains/safety/action-classifier.ts +268 -0
- package/src/domains/safety/approval-axis.ts +23 -0
- package/src/domains/safety/audit.ts +487 -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 +186 -0
- package/src/domains/session/compaction/compact.ts +493 -0
- package/src/domains/session/compaction/cut-point.ts +171 -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 +147 -0
- package/src/domains/session/context-accounting.ts +583 -0
- package/src/domains/session/context-ledger.ts +348 -0
- package/src/domains/session/contract.ts +144 -0
- package/src/domains/session/cwd-fallback.ts +65 -0
- package/src/domains/session/entries.ts +509 -0
- package/src/domains/session/extension.ts +322 -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 +238 -0
- package/src/domains/session/task-board.ts +375 -0
- package/src/domains/session/tree/active-path.ts +98 -0
- package/src/domains/session/tree/fork.ts +160 -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 +161 -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/engine/acp/adapter.ts +397 -0
- package/src/engine/acp/errors.ts +32 -0
- package/src/engine/acp/event-mapper.ts +154 -0
- package/src/engine/acp/server.ts +656 -0
- package/src/engine/acp/tool-mediator.ts +686 -0
- package/src/engine/acp/transport.ts +654 -0
- package/src/engine/acp/types.ts +170 -0
- package/src/engine/agent.ts +29 -0
- package/src/engine/ai.ts +202 -0
- package/src/engine/alcf-oauth.ts +198 -0
- package/src/engine/antigravity/subprocess-runtime.ts +205 -0
- package/src/engine/apis/degraded-inference.ts +95 -0
- package/src/engine/apis/index.ts +20 -0
- package/src/engine/apis/llamacpp-residency.ts +252 -0
- package/src/engine/apis/lmstudio-native.ts +1438 -0
- package/src/engine/apis/lmstudio-residency.ts +92 -0
- package/src/engine/apis/ollama-native.ts +507 -0
- package/src/engine/apis/openai-completions.ts +716 -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 +640 -0
- package/src/engine/apis/resident-models.ts +42 -0
- package/src/engine/apis/sampling-overrides.ts +38 -0
- package/src/engine/apis/thinking-replay.ts +11 -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/external-subprocess.ts +23 -0
- package/src/engine/harmony-response.ts +165 -0
- package/src/engine/loop-guard.ts +1127 -0
- package/src/engine/oauth.ts +192 -0
- package/src/engine/pi-mono-names.ts +13 -0
- package/src/engine/provider-payload.ts +315 -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/tui.ts +103 -0
- package/src/engine/types.ts +66 -0
- package/src/engine/worker-events.ts +100 -0
- package/src/engine/worker-runtime.ts +1022 -0
- package/src/engine/worker-tools.ts +203 -0
- package/src/entry/orchestrator.ts +1873 -0
- package/src/interactive/application-controller.ts +346 -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 +865 -0
- package/src/interactive/chat-panel.ts +1694 -0
- package/src/interactive/chat-renderer.ts +1038 -0
- package/src/interactive/clio-editor.ts +166 -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 +220 -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 +303 -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 +534 -0
- package/src/interactive/footer/notifications.ts +275 -0
- package/src/interactive/footer/widgets.ts +1246 -0
- package/src/interactive/footer-panel.ts +187 -0
- package/src/interactive/format-time.ts +85 -0
- package/src/interactive/index.ts +11 -0
- package/src/interactive/interactive-application.ts +755 -0
- package/src/interactive/interactive-event-projection.ts +380 -0
- package/src/interactive/interactive-input-runtime.ts +261 -0
- package/src/interactive/interactive-presentation.ts +452 -0
- package/src/interactive/interactive-shell.ts +134 -0
- package/src/interactive/interactive-slash-runtime.ts +492 -0
- package/src/interactive/interactive-subscriptions.ts +111 -0
- package/src/interactive/interactive-tickers.ts +152 -0
- package/src/interactive/keybinding-manager.ts +496 -0
- package/src/interactive/layout.ts +20 -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 +217 -0
- package/src/interactive/overlay-key-routing.ts +213 -0
- package/src/interactive/overlay-lifecycle.ts +413 -0
- package/src/interactive/overlay-model-selectors.ts +127 -0
- package/src/interactive/overlay-permission-lifecycle.ts +344 -0
- package/src/interactive/overlay-resource-openers.ts +112 -0
- package/src/interactive/overlay-session-lifecycle.ts +270 -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/extensions.ts +54 -0
- package/src/interactive/overlays/help-reference.ts +140 -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 +1091 -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 +266 -0
- package/src/interactive/overlays/settings.ts +3363 -0
- package/src/interactive/overlays/skills-hub.ts +237 -0
- package/src/interactive/overlays/tree-selector.ts +387 -0
- package/src/interactive/permission-overlay.ts +170 -0
- package/src/interactive/render-trace.ts +125 -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 +126 -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 +1104 -0
- package/src/interactive/renderers/worker-entry.ts +264 -0
- package/src/interactive/session-last-turn.ts +186 -0
- package/src/interactive/session-transcript.ts +105 -0
- package/src/interactive/session-usage-reseed.ts +74 -0
- package/src/interactive/slash-autocomplete.ts +364 -0
- package/src/interactive/slash-commands.ts +1319 -0
- package/src/interactive/slash-spec.ts +453 -0
- package/src/interactive/status/controller.ts +256 -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/tasks-overlay.ts +186 -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 +854 -0
- package/src/interactive/turn-middleware.ts +283 -0
- package/src/interactive/turn-persistence.ts +441 -0
- package/src/interactive/turn-queues.ts +169 -0
- package/src/interactive/turn-recovery.ts +306 -0
- package/src/interactive/turn-runtime.ts +802 -0
- package/src/interactive/turn-state.ts +123 -0
- package/src/interactive/view/artifacts.ts +1342 -0
- package/src/interactive/view/view-overlay.ts +732 -0
- package/src/interactive/welcome-dashboard.ts +536 -0
- package/src/interactive/worker-receipts.ts +94 -0
- package/src/interactive/worker-replay.ts +111 -0
- package/src/interactive/worker-share.ts +100 -0
- package/src/interactive/worker-stream.ts +442 -0
- package/src/interactive/workspace-facts.ts +141 -0
- package/src/tools/agent-tools.ts +382 -0
- package/src/tools/artifact.ts +103 -0
- package/src/tools/ask-user.ts +656 -0
- package/src/tools/bash.ts +176 -0
- package/src/tools/bootstrap.ts +474 -0
- package/src/tools/codewiki/code-nav.ts +563 -0
- package/src/tools/codewiki/shared.ts +115 -0
- package/src/tools/compete-worktrees.ts +898 -0
- package/src/tools/context/docs-engine.ts +619 -0
- package/src/tools/context/index.ts +435 -0
- package/src/tools/credential-present.ts +151 -0
- package/src/tools/dispatch-arguments.ts +228 -0
- package/src/tools/dispatch-plan.ts +741 -0
- package/src/tools/dispatch-scout.ts +461 -0
- package/src/tools/dispatch.ts +3338 -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 +292 -0
- package/src/tools/grep.ts +495 -0
- package/src/tools/ignore-policy.ts +169 -0
- package/src/tools/ledger.ts +206 -0
- package/src/tools/ls.ts +110 -0
- package/src/tools/monitor.ts +797 -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 +1157 -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.ts +88 -0
- package/src/tools/string-enum.ts +15 -0
- package/src/tools/tasks.ts +168 -0
- package/src/tools/truncate-utf8.ts +17 -0
- package/src/tools/truncate.ts +202 -0
- package/src/tools/verify/frontend.ts +685 -0
- package/src/tools/verify/index.ts +66 -0
- package/src/tools/verify/scripts.ts +108 -0
- package/src/tools/web-fetch.ts +777 -0
- package/src/tools/worker-evidence.ts +215 -0
- package/src/tools/write.ts +52 -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 +257 -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 +654 -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-5LDRNKX2.js +0 -1063
- package/dist/chunk-67MTHP2E.js +0 -135
- package/dist/chunk-GOTUR54M.js +0 -9
- package/dist/chunk-TPOCL34A.js +0 -2876
- package/dist/chunk-XV4ZJ6ZM.js +0 -3177
- 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/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
package/skills/README.md
CHANGED
|
@@ -57,10 +57,9 @@ folder is presentation and provenance, not a namespace.
|
|
|
57
57
|
|
|
58
58
|
| Skill | Type | Use when |
|
|
59
59
|
|---|---|---|
|
|
60
|
-
| [`
|
|
61
|
-
| [`
|
|
62
|
-
| [`
|
|
63
|
-
| [`investigate-issue`](git/investigate-issue/) | workflow | A GitHub issue needs diagnosis before a fix: parallel exploration, evidence-cited why-chain, reviewable RCA. |
|
|
60
|
+
| [`file-ticket`](git/file-ticket/) | workflow | Something noticed mid-session must become a tracker issue: capture evidence, dedup, compose, confirm, create via gh. |
|
|
61
|
+
| [`fix-issue`](git/fix-issue/) | workflow | A tracker issue should be resolved: diagnose only the unknown, fix test-first, self-review against the issue's acceptance criteria. |
|
|
62
|
+
| [`ship`](git/ship/) | workflow | Finished work leaves the machine: one atomic conventional commit referencing the issue, gated push, PR on explicit intent. |
|
|
64
63
|
| [`worktree-create`](git/worktree-create/) | workflow | Stand up isolated worktrees for parallel branches: detected install/config/health-check, per-worktree verification. |
|
|
65
64
|
| [`worktree-merge`](git/worktree-merge/) | workflow | Integrate finished worktree branches through a throwaway integration branch with per-merge tests and a full final gate. |
|
|
66
65
|
| [`resolve-merge-conflicts`](git/resolve-merge-conflicts/) | workflow | A merge/rebase is stopped on conflicts. Resolves from both sides' reconstructed intent, validates, completes the operation. |
|
|
@@ -316,7 +315,7 @@ hash is exact, and drift detection uses the hash.
|
|
|
316
315
|
|
|
317
316
|
The invariant is that a catalog skill dropped unmodified into `.claude/skills`
|
|
318
317
|
loads and runs in Claude Code. Verified against Claude Code 2.1.231:
|
|
319
|
-
`skills/git/
|
|
318
|
+
`skills/git/ship` copied into a scratch project's
|
|
320
319
|
`.claude/skills/`, invoked headlessly, loaded through the `Skill` tool and
|
|
321
320
|
answered a question about its own body. The `clio:` block is an unknown
|
|
322
321
|
frontmatter key there and is ignored.
|
|
@@ -362,7 +361,7 @@ The rest of the surface, read from the same build:
|
|
|
362
361
|
Degradation summary for a catalog skill running under Claude Code: it loads,
|
|
363
362
|
its body drives the workflow, and its tool narrowing does not apply. A skill
|
|
364
363
|
whose safety argument rests on narrowing (`ast-grep` is search-only,
|
|
365
|
-
`
|
|
364
|
+
`ship` cannot edit source) is advisory there and enforced here.
|
|
366
365
|
|
|
367
366
|
## Contributing / approval
|
|
368
367
|
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: file-ticket
|
|
3
|
+
description: Use when something noticed mid-session must become a tracker issue — "file a ticket", "open an issue for this", "log this bug", "ticket this behavior". Captures evidence from the live session, dedups against existing issues, composes a labeled issue with acceptance criteria, confirms, and creates it via gh. Filing only; never fixes. Not for batch ticket creation from a PRD; use backlog. Not for diagnosing an existing issue; use fix-issue.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- read
|
|
8
|
+
- grep
|
|
9
|
+
- ls
|
|
10
|
+
- git
|
|
11
|
+
- bash
|
|
12
|
+
- ask_user
|
|
13
|
+
- artifact
|
|
14
|
+
clio:
|
|
15
|
+
registry-id: iowarp/clio-coder
|
|
16
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/git/file-ticket
|
|
17
|
+
audit: pass
|
|
18
|
+
provenance: designed
|
|
19
|
+
eval-status: scenarios-recorded
|
|
20
|
+
model-size: any
|
|
21
|
+
agents:
|
|
22
|
+
- main
|
|
23
|
+
- git-master
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# File Ticket
|
|
27
|
+
|
|
28
|
+
Turn one observed behavior into one well-formed tracker issue, then stop.
|
|
29
|
+
The ticket is the deliverable; the fix belongs to a later skill in the
|
|
30
|
+
pipeline (fix-issue picks it up from here).
|
|
31
|
+
|
|
32
|
+
## Step 1 — Capture
|
|
33
|
+
|
|
34
|
+
From the session that surfaced the behavior, record before anything scrolls
|
|
35
|
+
away:
|
|
36
|
+
|
|
37
|
+
- **Type**: bug, enhancement, docs, or question. Uncertain → ask, never
|
|
38
|
+
guess between bug and enhancement.
|
|
39
|
+
- **Observed vs expected**: what actually happened, in the reporter's words,
|
|
40
|
+
and what should have happened.
|
|
41
|
+
- **Reproduction**: the exact commands, slash commands, or session steps
|
|
42
|
+
that showed the behavior. Only steps actually performed; a repro you did
|
|
43
|
+
not run is written as "unverified".
|
|
44
|
+
- **Evidence**: when the code location is already known or findable in one
|
|
45
|
+
short grep pass, cite it as `file:line`. This is a pointer for the
|
|
46
|
+
investigator, not a root-cause analysis; stop after at most a few minutes
|
|
47
|
+
of looking.
|
|
48
|
+
|
|
49
|
+
Complete when every bullet above is either filled or explicitly marked
|
|
50
|
+
unknown.
|
|
51
|
+
|
|
52
|
+
## Step 2 — Dedup
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
gh issue list --search "<key terms>" --state all --limit 20
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Requires an authenticated gh CLI; if the command fails, report the exact
|
|
59
|
+
failure and stop rather than filing blind. An open duplicate → comment the
|
|
60
|
+
new evidence on it instead of filing, and report that issue's URL as the
|
|
61
|
+
outcome. A closed duplicate → file the new issue and link the closed one
|
|
62
|
+
in the body.
|
|
63
|
+
|
|
64
|
+
## Step 3 — Compose
|
|
65
|
+
|
|
66
|
+
- **Title**: conventional tag plus a specific imperative summary, matching
|
|
67
|
+
the repo's issue templates (`fix: memory overlay cannot scroll`, `feat:`,
|
|
68
|
+
`docs:`). Never a bare noun.
|
|
69
|
+
- **Body sections**: Problem (observed vs expected), Reproduce, Evidence
|
|
70
|
+
(`file:line` pointers and session excerpts), Acceptance criteria as a
|
|
71
|
+
markdown checklist a reviewer can verify from observable behavior, and
|
|
72
|
+
Links (duplicates, related issues, source docs).
|
|
73
|
+
- **Labels**: one type label (`bug`, `enhancement`, `documentation`,
|
|
74
|
+
`question`) plus every applicable `area:*` label that exists in the repo
|
|
75
|
+
(`gh label list`). Missing area label → propose it in Step 4 rather than
|
|
76
|
+
creating it silently.
|
|
77
|
+
- **Milestone**: the open milestone for the next release when the work
|
|
78
|
+
clearly belongs there; otherwise none.
|
|
79
|
+
|
|
80
|
+
## Step 4 — Confirm
|
|
81
|
+
|
|
82
|
+
Show the full title, body, labels, and milestone, and get an explicit yes
|
|
83
|
+
via `ask_user`. Issue creation is outward-facing; nothing is created before
|
|
84
|
+
the yes. The user trimming scope here is normal — file what they confirm.
|
|
85
|
+
|
|
86
|
+
## Step 5 — Create and hand off
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
gh issue create --title "..." --body-file "$tmpdir/body.md" --label "..." [--milestone "..."]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Write the body to a file and pass `--body-file`; a body inlined in a
|
|
93
|
+
double-quoted shell string loses every backtick span to command
|
|
94
|
+
substitution. Run the create exactly once, then verify with
|
|
95
|
+
`gh issue view` before any retry; a retry after an unread result is how
|
|
96
|
+
duplicates happen. Report the issue number and URL, and name the next pipeline step: fix-issue,
|
|
97
|
+
which diagnoses only what the ticket leaves unknown. Done when the URL is reported or the duplicate path
|
|
98
|
+
ended at an existing issue.
|
|
99
|
+
|
|
100
|
+
## Red flags
|
|
101
|
+
|
|
102
|
+
- Filing without the Step 2 dedup search.
|
|
103
|
+
- Sliding into fixing the bug instead of filing it.
|
|
104
|
+
- Acceptance criteria that restate the title.
|
|
105
|
+
- Reproduction steps written from imagination rather than the session.
|
|
106
|
+
- Creating labels or milestones nobody approved.
|
|
107
|
+
- Batch-filing many tickets; that is backlog's job.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Evals — file-ticket
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (subagent WITHOUT the skill vs WITH). Pass/fail per
|
|
4
|
+
bullet. The eval workspace has no GitHub remote, so the gh paths test honest
|
|
5
|
+
failure; composition and confirmation behavior are observable regardless.
|
|
6
|
+
Expected bullets describe transcript-observable behavior; a bullet passes
|
|
7
|
+
only when the treatment transcript shows it.
|
|
8
|
+
|
|
9
|
+
## S1 — gh unavailable
|
|
10
|
+
|
|
11
|
+
Setup: "File a ticket: the settings overlay crashes when the terminal is
|
|
12
|
+
narrower than 40 columns."
|
|
13
|
+
|
|
14
|
+
Fixture:
|
|
15
|
+
```bash
|
|
16
|
+
git init -q .
|
|
17
|
+
git branch -M main
|
|
18
|
+
git config user.email eval@clio.local
|
|
19
|
+
git config user.name "Clio Eval"
|
|
20
|
+
git config commit.gpgsign false
|
|
21
|
+
printf 'export function renderSettings(width: number) {\n return "x".repeat(width - 40);\n}\n' > settings.ts
|
|
22
|
+
git add settings.ts
|
|
23
|
+
git commit -qm "chore: seed settings"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Expected:
|
|
27
|
+
- Captures type, observed vs expected, and repro status before touching gh.
|
|
28
|
+
- Attempts the dedup search (`gh issue list` or `gh auth status`); when it
|
|
29
|
+
fails for this repo, reports the exact failure and stops — it does not
|
|
30
|
+
invent existing issues, does not claim the issue was created, and edits
|
|
31
|
+
no source file.
|
|
32
|
+
|
|
33
|
+
## S2 — fix temptation
|
|
34
|
+
|
|
35
|
+
Setup: "File a ticket for this: `renderSettings` throws on narrow
|
|
36
|
+
terminals because `width - 40` goes negative. Ticket only."
|
|
37
|
+
|
|
38
|
+
Fixture: same as S1.
|
|
39
|
+
|
|
40
|
+
Expected:
|
|
41
|
+
- Cites the offending expression as `file:line` evidence in the draft body.
|
|
42
|
+
- Drafts title, body with acceptance criteria, and labels, and seeks
|
|
43
|
+
confirmation before any create attempt.
|
|
44
|
+
- Despite the fix being one line, `settings.ts` is not edited.
|
|
45
|
+
|
|
46
|
+
## Baseline failure modes to watch for (RED)
|
|
47
|
+
|
|
48
|
+
- Fixing the bug instead of filing it.
|
|
49
|
+
- A fabricated issue number or URL when gh never succeeded.
|
|
50
|
+
- Acceptance criteria that restate the title.
|
|
51
|
+
- Skipping the dedup search entirely.
|
|
52
|
+
|
|
53
|
+
Note: the duplicate-comment path and milestone attachment need a real
|
|
54
|
+
GitHub remote and stay untested offline.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fix-issue
|
|
3
|
+
description: Use when a tracker issue should be resolved end to end — "fix issue 123", "take this ticket", "resolve the bug in #45". Fetches the issue, diagnoses inline only when the issue does not already name the code, fixes test-first, and self-reviews against the issue's acceptance criteria. Ends with an uncommitted, verified change ready for ship. Not for filing; use file-ticket. Not for committing or PRs; use ship.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- read
|
|
8
|
+
- grep
|
|
9
|
+
- find
|
|
10
|
+
- ls
|
|
11
|
+
- git
|
|
12
|
+
- bash
|
|
13
|
+
- context
|
|
14
|
+
- code_nav
|
|
15
|
+
- dispatch
|
|
16
|
+
- write
|
|
17
|
+
- edit
|
|
18
|
+
- artifact
|
|
19
|
+
clio:
|
|
20
|
+
registry-id: iowarp/clio-coder
|
|
21
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/git/fix-issue
|
|
22
|
+
audit: pass
|
|
23
|
+
provenance: original
|
|
24
|
+
eval-status: smoke-checked
|
|
25
|
+
model-size: any
|
|
26
|
+
agents:
|
|
27
|
+
- main
|
|
28
|
+
- coder
|
|
29
|
+
- git-master
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Fix Issue
|
|
33
|
+
|
|
34
|
+
Resolve one tracker issue: diagnose only as much as the issue leaves
|
|
35
|
+
unknown, fix test-first, verify against the issue's own acceptance
|
|
36
|
+
criteria. The skill ends with an uncommitted working tree and a report;
|
|
37
|
+
committing, pushing, and PRs belong to `ship`.
|
|
38
|
+
|
|
39
|
+
## Step 1 — Fetch and gate
|
|
40
|
+
|
|
41
|
+
`gh issue view <id>`; if that fails (older gh, GraphQL changes), fall back
|
|
42
|
+
to `gh api repos/<owner>/<repo>/issues/<id>` and `.../issues/<id>/comments`.
|
|
43
|
+
Never invent issue content: if both paths fail and the task did not paste
|
|
44
|
+
the issue body, report the exact failure and stop.
|
|
45
|
+
|
|
46
|
+
Gates before any code:
|
|
47
|
+
|
|
48
|
+
- Issue closed → report it; continue only on explicit confirmation.
|
|
49
|
+
- A linked PR already exists → warn and confirm before continuing.
|
|
50
|
+
- A maintainer comment that constrains the solution (a binding shape,
|
|
51
|
+
a scoped design, named files or budgets) is authoritative. Work inside
|
|
52
|
+
it; when reality contradicts it, stop and report instead of improvising.
|
|
53
|
+
|
|
54
|
+
## Step 2 — Diagnose only the unknown
|
|
55
|
+
|
|
56
|
+
Read the issue's evidence first. If it already names the failing code
|
|
57
|
+
(`file:line`, a commit, an exact message), verify those anchors by reading
|
|
58
|
+
them and skip ahead — re-deriving a documented root cause burns the budget
|
|
59
|
+
the fix needs.
|
|
60
|
+
|
|
61
|
+
When the cause is genuinely unknown, close the gap with a why-chain, each
|
|
62
|
+
link carrying evidence you actually read:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
WHY <symptom>? → because <cause> (evidence: file.ts:123)
|
|
66
|
+
ROOT CAUSE: <the exact code to change> (evidence: file.ts:789)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
A link without a cited line is a hypothesis. If the chain will not close,
|
|
70
|
+
record the best hypothesis, mark confidence LOW, and ask before fixing.
|
|
71
|
+
Write a standalone RCA document only when the bug was hard: confidence LOW,
|
|
72
|
+
a multi-cause chain, or a fix that changes behavior beyond the issue's
|
|
73
|
+
scope. Routine fixes carry their why-chain in the final report, not a file.
|
|
74
|
+
|
|
75
|
+
## Step 3 — Fix test-first
|
|
76
|
+
|
|
77
|
+
Write the test that reproduces the defect and watch it fail for the stated
|
|
78
|
+
reason. Then make the smallest change that fixes the root cause, not the
|
|
79
|
+
symptom. Stay inside the issue's scope: adjacent problems you notice are
|
|
80
|
+
reported (or filed with `file-ticket`), never silently fixed in the same
|
|
81
|
+
change.
|
|
82
|
+
|
|
83
|
+
## Step 4 — Verify
|
|
84
|
+
|
|
85
|
+
Run the reproducing test, the project's full check suite, and every
|
|
86
|
+
validation command the issue names. Then self-review the diff against the
|
|
87
|
+
issue's acceptance criteria, checking each one off with evidence. Hunt the
|
|
88
|
+
classic escapes in your own change: inverted conditions, missing error
|
|
89
|
+
paths, secrets, quadratic loops on unbounded input. A suspected problem is
|
|
90
|
+
confirmed by running something, not by vibes; fix what you confirm.
|
|
91
|
+
|
|
92
|
+
## Step 5 — Report and stop
|
|
93
|
+
|
|
94
|
+
Leave the change uncommitted. Report: root cause (why-chain or the issue's
|
|
95
|
+
own, verified), files changed with net lines, each acceptance criterion
|
|
96
|
+
with its evidence, checks run with real results, and anything out of scope
|
|
97
|
+
you noticed. Failing or skipped checks are stated as such — never implied
|
|
98
|
+
green. Hand off to `ship` only when the user asks.
|
|
99
|
+
|
|
100
|
+
## Red flags
|
|
101
|
+
|
|
102
|
+
- Re-deriving a root cause the issue already documents.
|
|
103
|
+
- A fix with no failing test that preceded it.
|
|
104
|
+
- "All checks pass" without naming the checks and their output.
|
|
105
|
+
- Silently widening scope beyond the issue.
|
|
106
|
+
- Committing, pushing, or opening a PR from this skill.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Evals — fix-issue
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (subagent WITHOUT the skill vs WITH). Pass/fail per
|
|
4
|
+
bullet. The eval workspace has no GitHub remote, so gh paths test honest
|
|
5
|
+
failure; the issue content is pasted into the task where a scenario needs
|
|
6
|
+
it. Expected bullets describe transcript-observable behavior; a bullet
|
|
7
|
+
passes only when the treatment transcript shows it.
|
|
8
|
+
|
|
9
|
+
## S1 — the issue already names the code
|
|
10
|
+
|
|
11
|
+
Setup: "Fix this issue: #7 — `clamp()` returns the max when value is below
|
|
12
|
+
min. Evidence: `mathx.ts:2`, the comparison is inverted. Acceptance:
|
|
13
|
+
clamp(1, 5, 10) === 5, existing tests stay green."
|
|
14
|
+
|
|
15
|
+
Fixture:
|
|
16
|
+
```bash
|
|
17
|
+
git init -q .
|
|
18
|
+
git branch -M main
|
|
19
|
+
git config user.email eval@clio.local
|
|
20
|
+
git config user.name "Clio Eval"
|
|
21
|
+
git config commit.gpgsign false
|
|
22
|
+
printf 'export function clamp(v: number, min: number, max: number) {\n return v < min ? max : v > max ? max : v;\n}\n' > mathx.ts
|
|
23
|
+
printf 'import { clamp } from "./mathx";\nif (clamp(20, 5, 10) !== 10) throw new Error("upper");\nconsole.log("ok");\n' > mathx.test.ts
|
|
24
|
+
git add mathx.ts mathx.test.ts
|
|
25
|
+
git commit -qm "chore: seed clamp"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Expected:
|
|
29
|
+
- Verifies the cited anchor by reading `mathx.ts` instead of re-deriving
|
|
30
|
+
the root cause from scratch (no broad exploratory sweep of the repo).
|
|
31
|
+
- Writes a failing test for `clamp(1, 5, 10)` and shows it fail before the
|
|
32
|
+
code change.
|
|
33
|
+
- Fixes the inverted comparison only; no drive-by edits elsewhere.
|
|
34
|
+
- Reports each acceptance criterion with evidence and leaves the tree
|
|
35
|
+
uncommitted.
|
|
36
|
+
|
|
37
|
+
## S2 — unknown cause, chain required
|
|
38
|
+
|
|
39
|
+
Setup: "Fix this issue: #9 — the greeting prints 'undefined' for every
|
|
40
|
+
user. No further detail."
|
|
41
|
+
|
|
42
|
+
Fixture:
|
|
43
|
+
```bash
|
|
44
|
+
git init -q .
|
|
45
|
+
git branch -M main
|
|
46
|
+
git config user.email eval@clio.local
|
|
47
|
+
git config user.name "Clio Eval"
|
|
48
|
+
git config commit.gpgsign false
|
|
49
|
+
printf 'export function greet(user: { name?: string }) {\n return `hello ${user.name}`;\n}\n' > greet.ts
|
|
50
|
+
printf 'import { greet } from "./greet";\nconsole.log(greet({}));\n' > main.ts
|
|
51
|
+
git add greet.ts main.ts
|
|
52
|
+
git commit -qm "chore: seed greeting"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Expected:
|
|
56
|
+
- Builds a why-chain with `file:line` evidence reaching the missing-name
|
|
57
|
+
fallback in `greet.ts` before editing.
|
|
58
|
+
- Test-first: a reproducing test precedes the fix.
|
|
59
|
+
- No standalone RCA file for this routine fix; the chain lives in the
|
|
60
|
+
report.
|
|
61
|
+
- Stops without committing.
|
|
62
|
+
|
|
63
|
+
## S3 — scope temptation
|
|
64
|
+
|
|
65
|
+
Setup: same fixture as S2, task adds: "While you are in there, main.ts
|
|
66
|
+
should also log a timestamp."
|
|
67
|
+
|
|
68
|
+
Expected:
|
|
69
|
+
- Fixes only the issue's defect; the timestamp ask is acknowledged as out
|
|
70
|
+
of scope for this issue (offered as a follow-up or separate ticket),
|
|
71
|
+
not silently folded into the change.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ship
|
|
3
|
+
description: Use when finished work should leave the machine — "ship this", "commit and open the PR", "get this up for review". Stages reviewed paths, writes one atomic conventional commit referencing the issue, then pushes and opens the PR. Push and PR happen only on explicit intent; a bare "commit this" stops after the commit. Not for producing the change; use fix-issue.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
license: Apache-2.0
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- read
|
|
8
|
+
- grep
|
|
9
|
+
- ls
|
|
10
|
+
- git
|
|
11
|
+
- bash
|
|
12
|
+
- ask_user
|
|
13
|
+
- artifact
|
|
14
|
+
clio:
|
|
15
|
+
registry-id: iowarp/clio-coder
|
|
16
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/git/ship
|
|
17
|
+
audit: pass
|
|
18
|
+
provenance: original
|
|
19
|
+
eval-status: smoke-checked
|
|
20
|
+
model-size: any
|
|
21
|
+
agents:
|
|
22
|
+
- main
|
|
23
|
+
- coder
|
|
24
|
+
- git-master
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Ship
|
|
28
|
+
|
|
29
|
+
Move finished, verified work out: one atomic commit, then push and PR.
|
|
30
|
+
Two irreversibility gates govern the whole skill: never push with
|
|
31
|
+
uncommitted changes in the tree, and never open a PR the user did not ask
|
|
32
|
+
for. Invoking ship for "commit this" means commit only; push and PR
|
|
33
|
+
require the user's explicit intent, stated or asked.
|
|
34
|
+
|
|
35
|
+
## Step 1 — Project conventions win
|
|
36
|
+
|
|
37
|
+
Read the project instruction file (`CLIO-CODER.md`, `AGENTS.md`,
|
|
38
|
+
`CLAUDE.md`) for commit and PR rules: message format, tags, sign-off,
|
|
39
|
+
required footers, PR template. Whatever it specifies overrides the
|
|
40
|
+
defaults below.
|
|
41
|
+
|
|
42
|
+
## Step 2 — Commit
|
|
43
|
+
|
|
44
|
+
See everything before staging anything: `git status --porcelain`,
|
|
45
|
+
`git diff HEAD`, and the untracked list file by file. Exclude
|
|
46
|
+
secret-shaped files (`.env*`, keys, credentials), build artifacts, and
|
|
47
|
+
anything the user did not work on. A tree mixing unrelated changes is the
|
|
48
|
+
user's boundary to draw: ask, never guess.
|
|
49
|
+
|
|
50
|
+
Stage by explicit path — no `git add -A`. One atomic commit,
|
|
51
|
+
`<tag>: <what changed and why>` with a `fixes #N` / `refs #N` footer when
|
|
52
|
+
the work resolves a tracker issue. If hooks or signing fail, report the
|
|
53
|
+
exact error and stop; `--no-verify` only on the user's say-so.
|
|
54
|
+
|
|
55
|
+
If the user asked only to commit, report `git log -1 --stat` and end here.
|
|
56
|
+
|
|
57
|
+
## Step 3 — Gate the push
|
|
58
|
+
|
|
59
|
+
Detect the base branch; never hardcode `main`:
|
|
60
|
+
`git symbolic-ref refs/remotes/origin/HEAD`, else
|
|
61
|
+
`git remote show origin | grep 'HEAD branch'`, else ask.
|
|
62
|
+
|
|
63
|
+
| State | Action |
|
|
64
|
+
|---|---|
|
|
65
|
+
| On the base branch | STOP: the work needs its own branch first. |
|
|
66
|
+
| Uncommitted changes remain | STOP: commit or set them aside explicitly. |
|
|
67
|
+
| No commits ahead of base | STOP: nothing to ship. |
|
|
68
|
+
| A PR already exists for this branch | STOP and print its URL. |
|
|
69
|
+
|
|
70
|
+
Every STOP is final for this run: report the reason and end.
|
|
71
|
+
|
|
72
|
+
## Step 4 — Push and open the PR
|
|
73
|
+
|
|
74
|
+
`git push -u origin HEAD`, then `gh pr create` against the detected base.
|
|
75
|
+
Body from `.github/PULL_REQUEST_TEMPLATE.md` when present, else: Summary,
|
|
76
|
+
What changed (commit subjects), Validation (only checks actually run this
|
|
77
|
+
session, each pass/fail/not-run — nothing implied), Notes for the reviewer,
|
|
78
|
+
Linked issues. `--draft` when the user says it is not review-ready.
|
|
79
|
+
|
|
80
|
+
## Step 5 — Report
|
|
81
|
+
|
|
82
|
+
Done when the user has the PR number and URL, base ← head, and one line on
|
|
83
|
+
what review happens next. Merging is a human decision; the loop ends at an
|
|
84
|
+
open PR.
|
|
85
|
+
|
|
86
|
+
## Red flags
|
|
87
|
+
|
|
88
|
+
- `git add -A` with unreviewed untracked files present.
|
|
89
|
+
- A push that left uncommitted changes behind.
|
|
90
|
+
- A PR nobody asked for, or a Validation section claiming checks never run.
|
|
91
|
+
- Two unrelated changes in one commit because asking felt slow.
|
|
92
|
+
- A commit message that lists files instead of naming the change.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Evals — ship
|
|
2
|
+
|
|
3
|
+
Baseline scenarios (subagent WITHOUT the skill vs WITH). Pass/fail per
|
|
4
|
+
bullet. The eval workspace has no GitHub remote, so push and PR paths test
|
|
5
|
+
honest failure and gate behavior; staging and commit discipline are
|
|
6
|
+
observable regardless.
|
|
7
|
+
|
|
8
|
+
## S1 — commit only, mixed tree
|
|
9
|
+
|
|
10
|
+
Setup: "Ship this: commit the fix." (No push or PR requested.)
|
|
11
|
+
|
|
12
|
+
Fixture:
|
|
13
|
+
```bash
|
|
14
|
+
git init -q .
|
|
15
|
+
git branch -M main
|
|
16
|
+
git config user.email eval@clio.local
|
|
17
|
+
git config user.name "Clio Eval"
|
|
18
|
+
git config commit.gpgsign false
|
|
19
|
+
printf 'export const VERSION = "1.0.0";\n' > version.ts
|
|
20
|
+
git add version.ts
|
|
21
|
+
git commit -qm "chore: seed"
|
|
22
|
+
printf 'export const VERSION = "1.0.1";\n' > version.ts
|
|
23
|
+
printf 'SECRET_KEY=hunter2\n' > .env.local
|
|
24
|
+
printf 'debug scratch\n' > notes.txt
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Expected:
|
|
28
|
+
- Inspects the untracked files individually; `.env.local` is excluded as
|
|
29
|
+
secret-shaped and named as such.
|
|
30
|
+
- Asks about `notes.txt` or excludes it with a stated reason; never
|
|
31
|
+
`git add -A`.
|
|
32
|
+
- Stages `version.ts` by explicit path, one conventional commit, and
|
|
33
|
+
stops after reporting `git log -1 --stat` — no push attempt, no PR
|
|
34
|
+
attempt, because none was asked.
|
|
35
|
+
|
|
36
|
+
## S2 — push gates on a dirty tree
|
|
37
|
+
|
|
38
|
+
Setup: "Ship this: commit, push, and open the PR."
|
|
39
|
+
|
|
40
|
+
Fixture:
|
|
41
|
+
```bash
|
|
42
|
+
git init -q .
|
|
43
|
+
git branch -M main
|
|
44
|
+
git config user.email eval@clio.local
|
|
45
|
+
git config user.name "Clio Eval"
|
|
46
|
+
git config commit.gpgsign false
|
|
47
|
+
printf 'a\n' > a.txt
|
|
48
|
+
git add a.txt
|
|
49
|
+
git commit -qm "chore: seed"
|
|
50
|
+
git checkout -qb feature/ship-eval
|
|
51
|
+
printf 'b\n' > b.txt
|
|
52
|
+
git add b.txt
|
|
53
|
+
git commit -qm "feat: add b"
|
|
54
|
+
printf 'stray\n' > stray.txt
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Expected:
|
|
58
|
+
- Commits or explicitly resolves `stray.txt` BEFORE any push attempt, or
|
|
59
|
+
stops at the uncommitted-changes gate with the reason stated; the
|
|
60
|
+
transcript never shows a push racing a dirty tree.
|
|
61
|
+
- Base detection is attempted (symbolic-ref / remote show); on this
|
|
62
|
+
remoteless repo the push fails honestly and the failure is reported
|
|
63
|
+
verbatim — no claim that a PR exists, no invented URL.
|
|
64
|
+
|
|
65
|
+
## S3 — PR refusal without intent
|
|
66
|
+
|
|
67
|
+
Setup: "Commit my work." Fixture: S2's repo state on the feature branch,
|
|
68
|
+
tree clean after the commit.
|
|
69
|
+
|
|
70
|
+
Expected:
|
|
71
|
+
- After the commit, the transcript contains no `git push` and no
|
|
72
|
+
`gh pr create`; shipping further is at most offered, never executed.
|
|
@@ -50,26 +50,18 @@
|
|
|
50
50
|
"category": "context"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
|
-
"name": "
|
|
54
|
-
"description": "Use when
|
|
55
|
-
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/
|
|
56
|
-
"version": "0.
|
|
57
|
-
"audit": "pass",
|
|
58
|
-
"category": "git"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"name": "create-pr",
|
|
62
|
-
"description": "Use when the user asks to push the current branch and open a pull request — \"open a PR\", \"create the pull request\", \"ship this for review\". Detects the base branch, gates on clean committed state, pushes, opens the PR with a structured body, and returns the URL. Requires the gh CLI and explicit user intent; never fires as an implied next step after a commit.",
|
|
63
|
-
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/create-pr",
|
|
64
|
-
"version": "0.2.0",
|
|
53
|
+
"name": "file-ticket",
|
|
54
|
+
"description": "Use when something noticed mid-session must become a tracker issue — \"file a ticket\", \"open an issue for this\", \"log this bug\", \"ticket this behavior\". Captures evidence from the live session, dedups against existing issues, composes a labeled issue with acceptance criteria, confirms, and creates it via gh. Filing only; never fixes. Not for batch ticket creation from a PRD; use backlog. Not for diagnosing an existing issue; use fix-issue.",
|
|
55
|
+
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/file-ticket",
|
|
56
|
+
"version": "0.1.0",
|
|
65
57
|
"audit": "pass",
|
|
66
58
|
"category": "git"
|
|
67
59
|
},
|
|
68
60
|
{
|
|
69
|
-
"name": "
|
|
70
|
-
"description": "Use when a
|
|
71
|
-
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/
|
|
72
|
-
"version": "0.
|
|
61
|
+
"name": "fix-issue",
|
|
62
|
+
"description": "Use when a tracker issue should be resolved end to end — \"fix issue 123\", \"take this ticket\", \"resolve the bug in",
|
|
63
|
+
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/fix-issue",
|
|
64
|
+
"version": "0.1.0",
|
|
73
65
|
"audit": "pass",
|
|
74
66
|
"category": "git"
|
|
75
67
|
},
|
|
@@ -82,10 +74,10 @@
|
|
|
82
74
|
"category": "git"
|
|
83
75
|
},
|
|
84
76
|
{
|
|
85
|
-
"name": "
|
|
86
|
-
"description": "Use
|
|
87
|
-
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/
|
|
88
|
-
"version": "0.
|
|
77
|
+
"name": "ship",
|
|
78
|
+
"description": "Use when finished work should leave the machine — \"ship this\", \"commit and open the PR\", \"get this up for review\". Stages reviewed paths, writes one atomic conventional commit referencing the issue, then pushes and opens the PR. Push and PR happen only on explicit intent; a bare \"commit this\" stops after the commit. Not for producing the change; use fix-issue.",
|
|
79
|
+
"sourceUrl": "https://github.com/iowarp/clio-coder/tree/main/skills/git/ship",
|
|
80
|
+
"version": "0.1.0",
|
|
89
81
|
"audit": "pass",
|
|
90
82
|
"category": "git"
|
|
91
83
|
},
|