@iowarp/clio-coder 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +92 -0
- package/CONTRIBUTING.md +59 -36
- package/README.md +404 -472
- package/SECURITY.md +2 -1
- package/dist/{acp-ZILU3AUO.js → acp-TMDQZDIG.js} +7 -7
- package/dist/{agents-HYWGBGQR.js → agents-5N5NG3XG.js} +28 -28
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-N3QT7CBO.js → auth-Z5CCBXKQ.js} +8 -9
- package/dist/{builtins-UJLMOVOV.js → builtins-K6TNDT24.js} +4 -4
- package/dist/{chunk-GVQJ5CCZ.js → chunk-2HFQNRV3.js} +7 -7
- package/dist/{chunk-QMXC4JB7.js → chunk-2NHR3NAY.js} +163 -1401
- package/dist/chunk-2X4RYJTJ.js +39 -0
- package/dist/{chunk-Y45G3AXC.js → chunk-2Z2IKEXI.js} +6 -10
- package/dist/{chunk-EIMVLWB3.js → chunk-34BHNEE3.js} +7 -3
- package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
- package/dist/chunk-3EBYEESD.js +314 -0
- package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
- package/dist/{chunk-AP73CFDC.js → chunk-3KIPBMUA.js} +2 -2
- package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
- package/dist/{chunk-VEGN6WIQ.js → chunk-462T4EGZ.js} +2 -2
- package/dist/{chunk-AFKWHWXF.js → chunk-4JDLP6ZS.js} +33 -16
- package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
- package/dist/{chunk-AKB4GYDL.js → chunk-54ODD65L.js} +5 -5
- package/dist/{chunk-BBTJOK6Y.js → chunk-5KW52TEP.js} +3 -3
- package/dist/{chunk-6CCS4G3W.js → chunk-5PFYMY2V.js} +2 -2
- package/dist/chunk-77QIVUZB.js +1334 -0
- package/dist/{chunk-7OBGU7UB.js → chunk-7BHIY2MW.js} +7 -13
- package/dist/{chunk-3QSOM6PA.js → chunk-AZ4WMN4W.js} +2 -2
- package/dist/{chunk-6NJQITNH.js → chunk-B74PXLU7.js} +6 -3
- package/dist/{chunk-R23Z6K6I.js → chunk-B7HM5Z7T.js} +15 -15
- package/dist/{chunk-R32CLGZ6.js → chunk-BO7Y52RY.js} +81 -20
- package/dist/{chunk-UEDMSP56.js → chunk-BYMNWQ7O.js} +123 -148
- package/dist/{chunk-ZJLUDYFY.js → chunk-CRFOIAX3.js} +4 -4
- package/dist/{chunk-2NM363SV.js → chunk-CYZW7JHJ.js} +7 -7
- package/dist/{chunk-6HMJX2VU.js → chunk-DYHAXKHD.js} +38 -10
- package/dist/{chunk-THYWACCR.js → chunk-DZAW46HP.js} +3 -3
- package/dist/{chunk-FYUN5KZ3.js → chunk-DZEK6CJN.js} +17 -17
- package/dist/{chunk-3I5NY75V.js → chunk-E7GT7O5N.js} +5 -5
- package/dist/{chunk-VKFQTNDV.js → chunk-F2I26BDK.js} +4 -4
- package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
- package/dist/{chunk-IXJT6DCX.js → chunk-FVDGR2ZL.js} +3 -3
- package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
- package/dist/{chunk-7EPLI7VL.js → chunk-HIICAHCJ.js} +2 -2
- package/dist/{chunk-E67WX76H.js → chunk-HKMD33FO.js} +29 -80
- package/dist/chunk-HLAFFSEK.js +360 -0
- package/dist/{chunk-UAPGZHYC.js → chunk-I64IFBLB.js} +9 -2
- package/dist/{chunk-XKA2ICR3.js → chunk-I66ZTYNP.js} +440 -175
- package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
- package/dist/{chunk-PVAMAVBB.js → chunk-IDNA72AH.js} +102 -2
- package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
- package/dist/{chunk-2VG7KLYV.js → chunk-IKSLQ4XV.js} +5460 -3241
- package/dist/{chunk-QKIFBZKT.js → chunk-IMXMHHMQ.js} +166 -25
- package/dist/{chunk-74YWRRU5.js → chunk-JBCS7CRR.js} +2 -2
- package/dist/{chunk-BDPT6GTK.js → chunk-JWJGP5DQ.js} +2 -2
- package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
- package/dist/chunk-KPXDY6QF.js +47 -0
- package/dist/{chunk-ABLSQ6JX.js → chunk-LJID3DYZ.js} +7 -1
- package/dist/{chunk-VKRH2TCS.js → chunk-M2DAX4F6.js} +2 -2
- package/dist/{chunk-6I5ILFOF.js → chunk-M2WXEHER.js} +2 -2
- package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
- package/dist/{chunk-N5UK64DP.js → chunk-MCMZMDAC.js} +2 -2
- package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
- package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
- package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
- package/dist/{chunk-HUAS7ITX.js → chunk-O3YUNJZ2.js} +13 -21
- package/dist/{chunk-MA3H6DM5.js → chunk-P75RZCJW.js} +25 -3
- package/dist/{chunk-IG7BCQBA.js → chunk-PGF63K6I.js} +2 -2
- package/dist/chunk-PJX3WQUQ.js +42 -0
- package/dist/{chunk-6DWBAZ5U.js → chunk-Q4XWMHX6.js} +4 -6
- package/dist/{chunk-OJTRZGR3.js → chunk-QQLGQY2A.js} +8 -8
- package/dist/{chunk-J4HBWF6Y.js → chunk-RLYRBIYQ.js} +115 -20
- package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
- package/dist/{chunk-C537JADH.js → chunk-SSEYRH53.js} +6 -7
- package/dist/chunk-SZAA6XDG.js +30 -0
- package/dist/{chunk-MOPSG2X7.js → chunk-TPEQIQIE.js} +6 -6
- package/dist/{chunk-JA5QWE4Z.js → chunk-UBRFI4HS.js} +1879 -1650
- package/dist/{chunk-BTGG6BG2.js → chunk-UH347SHR.js} +154 -15
- package/dist/{chunk-5YHDIDBP.js → chunk-UH632ZYL.js} +2 -2
- package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
- package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
- package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
- package/dist/{chunk-UXN6JT4W.js → chunk-W4YEMFBX.js} +2 -2
- package/dist/{chunk-TD3PGPQA.js → chunk-W6NIE6OW.js} +2 -2
- package/dist/{chunk-TVH4ONAM.js → chunk-X7IARSHT.js} +3 -3
- package/dist/{chunk-PJJ6MY27.js → chunk-XE3PCIXH.js} +3 -3
- package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
- package/dist/{chunk-SCYB3HA4.js → chunk-XOXV5GKE.js} +51 -16
- package/dist/{chunk-QTFGO774.js → chunk-XQRY4DTA.js} +24 -11
- package/dist/{chunk-BJGUKIG4.js → chunk-YJISEZKC.js} +2 -2
- package/dist/{chunk-GPPB3JBE.js → chunk-ZGNYYXQ6.js} +2 -2
- package/dist/{chunk-SINK3QR6.js → chunk-ZNT2M6TG.js} +7 -7
- package/dist/{chunk-7RY5VZPH.js → chunk-ZW4HH5JJ.js} +6 -6
- package/dist/cli/index.js +33 -32
- package/dist/{clio-IT3G3VQH.js → clio-7VB377CC.js} +7 -7
- package/dist/{code-nav-RK6S7F6E.js → code-nav-YVLCYA7V.js} +85 -17
- package/dist/{config-3QZRWZJF.js → config-4HVOS65E.js} +88 -43
- package/dist/{configure-FL7Y3KJF.js → configure-PIWO7B24.js} +10 -10
- package/dist/{context-5HE7ODYK.js → context-IYEHL3WQ.js} +33 -31
- package/dist/{context-XNHL75JV.js → context-KQYIWPWT.js} +47 -34
- package/dist/{context-KYQFRVDC.js → context-N6ZE3LGJ.js} +11 -11
- package/dist/{context-clear-N545L53A.js → context-clear-G4OGZJDS.js} +33 -31
- package/dist/{context-working-set-QHKXSV2F.js → context-working-set-BWLF6LJP.js} +7 -7
- package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-2QQAITS3.js} +38 -38
- package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
- package/dist/{doctor-ZGPEGHIP.js → doctor-LHBD36VU.js} +23 -22
- package/dist/{eval-GXLL44RD.js → eval-C45FYRJ6.js} +21 -20
- package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-6DEJPLBF.js} +2 -2
- package/dist/{evidence-HWLBRH3Q.js → evidence-6SHONYAF.js} +30 -28
- package/dist/{evolve-FTZBMNVW.js → evolve-KRKMV72X.js} +30 -28
- package/dist/{extensions-VHRBEID7.js → extensions-KPZ2UHBB.js} +5 -3
- package/dist/{fleet-CKZHJWZJ.js → fleet-IVTCKDHT.js} +62 -61
- package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-EDWL3IT7.js} +5 -5
- package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-YP3YEFGK.js} +4 -4
- package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-ZFWKHY2M.js} +16 -14
- package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-FVUNCBML.js} +31 -29
- package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-UN5XED4R.js} +2 -2
- package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-XOWC4HSX.js} +17 -15
- package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-UN3SODEL.js} +30 -28
- package/dist/{fleet-view-WAMJYNDT.js → fleet-view-TWHJKCN6.js} +31 -29
- package/dist/{init-5XQRBOFV.js → init-T2QORQ3Y.js} +50 -49
- package/dist/{interop-34TVO25M.js → interop-IN5I2A66.js} +5 -5
- package/dist/{library-3QY6KF57.js → library-LSCATDLZ.js} +15 -13
- package/dist/{memory-L4UTIIIW.js → memory-HYOKAGGJ.js} +31 -29
- package/dist/{models-ZVX3QOWE.js → models-2GPMFYCM.js} +22 -21
- package/dist/{monitor-CEKVSYTS.js → monitor-E4ASVUJH.js} +34 -32
- package/dist/{orchestrator-77BAP6BC.js → orchestrator-DDMPR3PY.js} +984 -583
- package/dist/{panes-7STHOAUJ.js → panes-E3RUXOW5.js} +4 -4
- package/dist/{panes-SHAUIRXY.js → panes-IXKLOKA2.js} +23 -8
- package/dist/{reset-EOLM7GVE.js → reset-OAQP3W4O.js} +4 -4
- package/dist/{resources-74GKTLSF.js → resources-OTRSN34L.js} +15 -13
- package/dist/{run-HBAUJNNZ.js → run-5DEYH5QK.js} +60 -59
- package/dist/{share-G3APVLVP.js → share-IHWTLO3M.js} +19 -15
- package/dist/{skills-35HHUKCR.js → skills-IYMXMKW4.js} +17 -15
- package/dist/{skills-eval-QN4HSHDC.js → skills-eval-DROHSJAR.js} +36 -36
- package/dist/{skills-inventory-J357J34F.js → skills-inventory-D7X4L4ZX.js} +15 -13
- package/dist/{slash-commands-JZZCQA32.js → slash-commands-QBM7UZ3B.js} +21 -18
- package/dist/{steer-XAVHJM22.js → steer-Z5DO23FJ.js} +2 -2
- package/dist/{targets-DSM6CY3M.js → targets-P2FUC4IL.js} +25 -28
- package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-YREJ3JX2.js} +5 -5
- package/dist/{tools-MKNWVPBH.js → tools-5B7RO6MV.js} +4 -4
- package/dist/{trace-ECQ7TIYZ.js → trace-YMGMUM6A.js} +55 -7
- package/dist/{upgrade-H7TOM7YL.js → upgrade-PXK3S2YM.js} +11 -9
- package/dist/{usage-X52N3IDJ.js → usage-ME5MPXGX.js} +36 -34
- package/dist/{verifiers-EJTVVSMA.js → verifiers-BVZ7IWOO.js} +5 -5
- package/dist/{verify-YJL6XET2.js → verify-5K7ZKQFC.js} +4 -4
- package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
- package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-F5W5QTYY.js} +48 -47
- package/dist/{with-panes-OBOBFIIR.js → with-panes-BYOJCLAM.js} +51 -255
- package/dist/worker/entry.js +45 -30
- package/docs/README.md +176 -81
- package/docs/{acp.md → architecture/acp.md} +36 -20
- package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
- package/docs/{architecture.md → architecture/architecture.md} +43 -22
- package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
- package/docs/architecture/artifact-versions.md +90 -0
- package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
- package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
- package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
- package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
- package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
- package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
- package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
- package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
- package/docs/{observability.md → architecture/observability.md} +26 -13
- package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
- package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
- package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
- package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
- package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
- package/docs/architecture/time-conventions.md +125 -0
- package/docs/{trace-store.md → architecture/trace-store.md} +13 -5
- package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
- package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
- package/docs/{built-in-agents.md → guide/built-in-agents.md} +50 -34
- package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +65 -60
- package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +227 -289
- package/docs/guide/configuration-reference.md +1158 -0
- package/docs/{environment-variables.md → guide/environment-variables.md} +31 -28
- package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
- package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
- package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
- package/docs/{glossary.md → guide/glossary.md} +14 -11
- package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +44 -13
- package/docs/guide/panes-and-files.md +290 -0
- package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
- package/docs/{resource-library.md → guide/resource-library.md} +13 -4
- package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
- package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
- package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
- package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
- package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
- package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
- package/docs/process/documentation-coverage.md +100 -0
- package/docs/process/documentation-guide.md +187 -0
- package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
- package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
- package/docs/{evolution.md → process/evolution.md} +2 -2
- package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +11 -7
- package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
- package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
- package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
- package/evals/README.md +2 -2
- package/package.json +9 -7
- package/skills/README.md +46 -37
- package/skills/coding/ast-grep/SKILL.md +2 -2
- package/skills/coding/coding-standards/SKILL.md +2 -2
- package/skills/coding/prototype/SKILL.md +2 -2
- package/skills/coding/tdd/SKILL.md +2 -2
- package/skills/context/context-handoff/SKILL.md +2 -2
- package/skills/context/context-prime/SKILL.md +2 -2
- package/skills/git/file-ticket/SKILL.md +2 -2
- package/skills/git/fix-issue/SKILL.md +3 -3
- package/skills/git/resolve-merge-conflicts/SKILL.md +2 -2
- package/skills/git/ship/SKILL.md +2 -2
- package/skills/git/worktree-create/SKILL.md +2 -2
- package/skills/git/worktree-merge/SKILL.md +2 -2
- package/skills/meta/clio-coder-dev/SKILL.md +9 -5
- package/skills/meta/clio-coder-dev/evals.md +3 -2
- package/skills/meta/clio-coder-test/SKILL.md +102 -95
- package/skills/meta/clio-coder-test/evals.md +9 -4
- package/skills/meta/clio-coder-test/references/harness.md +100 -124
- package/skills/meta/clio-coder-test/references/test-map.md +77 -50
- package/skills/meta/credentials/SKILL.md +2 -2
- package/skills/meta/find-skills/SKILL.md +2 -2
- package/skills/meta/herdr/SKILL.md +2 -2
- package/skills/meta/skill-craft/SKILL.md +22 -16
- package/skills/planning/architecture/SKILL.md +2 -2
- package/skills/planning/backlog/SKILL.md +2 -2
- package/skills/planning/prd/SKILL.md +2 -2
- package/skills/planning/product-intent/SKILL.md +2 -2
- package/skills/planning/tech-spec/SKILL.md +2 -2
- package/skills/registry.yaml +62 -62
- package/skills/research/arxiv-literature/SKILL.md +2 -2
- package/skills/research/experiment-protocol/SKILL.md +2 -2
- package/skills/research/scientific-debugging/SKILL.md +2 -2
- package/skills/research/scientific-modernization/SKILL.md +2 -2
- package/skills/skill-marketplace.json +62 -62
- package/skills/workflow/cut-it/SKILL.md +2 -2
- package/skills/workflow/design-council/SKILL.md +2 -2
- package/skills/workflow/grill-me/SKILL.md +2 -2
- package/skills/workflow/workflow-distiller/SKILL.md +2 -2
- package/src/cli/args.ts +2 -2
- package/src/cli/bootstrap-generate.ts +1 -1
- package/src/cli/config-inspect.ts +65 -12
- package/src/cli/configure.ts +0 -4
- package/src/cli/docs.ts +22 -14
- package/src/cli/doctor-naming.ts +5 -5
- package/src/cli/doctor-toolchain.ts +3 -3
- package/src/cli/eval.ts +1 -2
- package/src/cli/extensions.ts +2 -1
- package/src/cli/fleet.ts +1 -1
- package/src/cli/index.ts +2 -1
- package/src/cli/internal-dispatch.ts +3 -4
- package/src/cli/panes.ts +19 -5
- package/src/cli/run.ts +2 -2
- package/src/cli/share.ts +5 -1
- package/src/cli/skills-eval.ts +3 -3
- package/src/cli/targets.ts +2 -6
- package/src/cli/trace.ts +55 -4
- package/src/cli/wiki-generate.ts +1 -1
- package/src/core/artifact-paths.ts +1 -1
- package/src/core/bash-exec.ts +131 -86
- package/src/core/bus-events.ts +51 -6
- package/src/core/config.ts +5 -1
- package/src/core/defaults.ts +7 -4
- package/src/core/dispatch-outcome.ts +16 -0
- package/src/core/guardrails.ts +10 -49
- package/src/core/prompt-hint.ts +9 -0
- package/src/domains/agents/builtins/architect.md +2 -3
- package/src/domains/agents/builtins/coder.md +3 -2
- package/src/domains/agents/builtins/debugger.md +2 -2
- package/src/domains/agents/builtins/documenter.md +2 -2
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/oracle.md +1 -1
- package/src/domains/agents/builtins/provenance.md +1 -1
- package/src/domains/agents/builtins/researcher.md +1 -1
- package/src/domains/agents/builtins/scout.md +1 -1
- package/src/domains/agents/builtins/tester.md +2 -2
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +1 -1
- package/src/domains/agents/catalog.ts +12 -14
- package/src/domains/agents/contract.ts +2 -0
- package/src/domains/agents/extension.ts +23 -1
- package/src/domains/config/keybindings.ts +8 -0
- package/src/domains/context/extension.ts +0 -3
- package/src/domains/context/working-set/path-index.ts +1 -0
- package/src/domains/dispatch/capability-match.ts +10 -0
- package/src/domains/dispatch/extension.ts +105 -22
- package/src/domains/dispatch/host-verification.ts +435 -39
- package/src/domains/dispatch/intent-requirements.ts +10 -0
- package/src/domains/dispatch/intent.ts +18 -1
- package/src/domains/dispatch/path-scope.ts +235 -24
- package/src/domains/dispatch/run-event-journal.ts +4 -15
- package/src/domains/dispatch/state.ts +2 -3
- package/src/domains/dispatch/transport.ts +45 -21
- package/src/domains/dispatch/types.ts +55 -3
- package/src/domains/eval/artifacts/store.ts +5 -0
- package/src/domains/eval/store.ts +8 -1
- package/src/domains/evidence/trust-status.ts +10 -1
- package/src/domains/extensions/contract.ts +15 -1
- package/src/domains/extensions/discovery.ts +238 -41
- package/src/domains/extensions/extension.ts +105 -6
- package/src/domains/extensions/index.ts +24 -0
- package/src/domains/extensions/integrity.ts +189 -0
- package/src/domains/extensions/manager.ts +17 -1
- package/src/domains/extensions/resource-path.ts +27 -0
- package/src/domains/extensions/resources.ts +18 -38
- package/src/domains/extensions/snapshot-store.ts +39 -0
- package/src/domains/extensions/snapshot.ts +180 -0
- package/src/domains/extensions/state.ts +385 -57
- package/src/domains/extensions/types.ts +118 -1
- package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
- package/src/domains/lifecycle/migrations/index.ts +2 -0
- package/src/domains/lifecycle/naming-resources.ts +19 -4
- package/src/domains/lifecycle/naming-yazi.ts +10 -5
- package/src/domains/middleware/contract.ts +26 -0
- package/src/domains/middleware/extension.ts +24 -24
- package/src/domains/middleware/hook-receipts.ts +27 -4
- package/src/domains/middleware/hooks-io.ts +65 -32
- package/src/domains/middleware/hooks.ts +64 -0
- package/src/domains/middleware/index.ts +28 -4
- package/src/domains/middleware/registrations.ts +326 -0
- package/src/domains/middleware/runtime.ts +28 -0
- package/src/domains/middleware/snapshot.ts +20 -7
- package/src/domains/mux/contract.ts +38 -0
- package/src/domains/mux/detect.ts +6 -13
- package/src/domains/mux/index.ts +1 -1
- package/src/domains/mux/operations.ts +44 -5
- package/src/domains/mux/yazi/assets/yazi.toml +2 -2
- package/src/domains/mux/yazi/session.ts +53 -4
- package/src/domains/mux/yazi/theme.ts +117 -17
- package/src/domains/observability/contract.ts +10 -11
- package/src/domains/observability/extension.ts +11 -3
- package/src/domains/observability/projection.ts +14 -90
- package/src/domains/observability/trace-store.ts +43 -7
- package/src/domains/prompts/compiler.ts +73 -53
- package/src/domains/prompts/contract.ts +15 -3
- package/src/domains/prompts/extension.ts +97 -9
- package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
- package/src/domains/prompts/fragments/identity/clio.md +6 -12
- package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
- package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
- package/src/domains/prompts/fragments/operating/contract.md +7 -15
- package/src/domains/prompts/fragments/operating/delegation.md +32 -34
- package/src/domains/prompts/fragments/operating/skills.md +10 -24
- package/src/domains/prompts/fragments/operating/worker.md +1 -8
- package/src/domains/providers/index.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +85 -21
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +669 -104
- package/src/domains/providers/runtime-resolution.ts +31 -0
- package/src/domains/providers/runtimes/common/probe-helpers.ts +7 -2
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
- package/src/domains/providers/types/cost-provenance.ts +19 -0
- package/src/domains/providers/types/local-model-quirks.ts +85 -37
- package/src/domains/resources/skills/loader.ts +16 -19
- package/src/domains/safety/call-target.ts +1 -1
- package/src/domains/safety/loop-detector.ts +7 -4
- package/src/domains/session/task-board.ts +10 -9
- package/src/domains/share/archive.ts +164 -7
- package/src/engine/acp/server.ts +62 -9
- package/src/engine/apis/llamacpp-residency.ts +3 -4
- package/src/engine/apis/lmstudio.ts +3 -3
- package/src/engine/apis/ollama-native.ts +6 -6
- package/src/engine/apis/openai-completions.ts +28 -25
- package/src/engine/apis/output-budget.ts +8 -18
- package/src/engine/apis/residency.ts +8 -27
- package/src/engine/gemma-channel-filter.ts +19 -0
- package/src/engine/loop-guard.ts +92 -12
- package/src/engine/worker-runtime.ts +40 -11
- package/src/engine/worker-tools.ts +3 -1
- package/src/entry/extension-hook-sources.ts +28 -0
- package/src/entry/extension-reload.ts +309 -0
- package/src/entry/orchestrator.ts +59 -35
- package/src/interactive/application-controller.ts +2 -1
- package/src/interactive/bus-notices.ts +8 -1
- package/src/interactive/chat-loop-messages.ts +3 -13
- package/src/interactive/chat-loop.ts +10 -1
- package/src/interactive/chat-panel.ts +36 -13
- package/src/interactive/chat-renderer.ts +71 -7
- package/src/interactive/dispatch-board.ts +6 -11
- package/src/interactive/footer/widgets.ts +13 -0
- package/src/interactive/interactive-application.ts +39 -4
- package/src/interactive/interactive-input-runtime.ts +4 -0
- package/src/interactive/interactive-presentation.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +2 -0
- package/src/interactive/overlays/extensions.ts +9 -1
- package/src/interactive/overlays/help-reference.ts +13 -0
- package/src/interactive/overlays/settings.ts +27 -16
- package/src/interactive/panes-runtime.ts +111 -35
- package/src/interactive/prompt-cache-identity.ts +88 -0
- package/src/interactive/slash-commands.ts +129 -14
- package/src/interactive/stream-pacing-policy.ts +0 -23
- package/src/interactive/turn-context.ts +30 -15
- package/src/interactive/yazi-bridge.ts +60 -6
- package/src/tools/agent-tools.ts +30 -1
- package/src/tools/artifact.ts +2 -2
- package/src/tools/ask-user.ts +3 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +52 -22
- package/src/tools/codewiki/code-nav-surface.ts +6 -0
- package/src/tools/codewiki/code-nav.ts +99 -13
- package/src/tools/context/docs-engine.ts +20 -7
- package/src/tools/context/index.ts +29 -12
- package/src/tools/core-bootstrap.ts +28 -6
- package/src/tools/credential-present.ts +1 -2
- package/src/tools/dispatch-arguments.ts +5 -1
- package/src/tools/dispatch-plan.ts +48 -4
- package/src/tools/dispatch-run-events.ts +1 -1
- package/src/tools/dispatch-schema.ts +338 -0
- package/src/tools/dispatch-types.ts +3 -0
- package/src/tools/dispatch.ts +9 -254
- package/src/tools/ledger.ts +3 -5
- package/src/tools/monitor-surface.ts +5 -13
- package/src/tools/observation.ts +4 -5
- package/src/tools/panes-surface.ts +4 -11
- package/src/tools/panes.ts +4 -2
- package/src/tools/policy.ts +15 -2
- package/src/tools/read.ts +5 -6
- package/src/tools/registry.ts +30 -7
- package/src/tools/result-shaping.ts +18 -14
- package/src/tools/steer-surface.ts +1 -1
- package/src/tools/tasks.ts +1 -1
- package/src/tools/truncate.ts +6 -5
- package/src/tools/verify/surface.ts +6 -12
- package/src/tools/web-fetch-surface.ts +1 -3
- package/dist/chunk-5QIAJV2D.js +0 -48
- package/dist/chunk-JZWT5J3Y.js +0 -814
- package/dist/chunk-K7VKOLQQ.js +0 -15
- package/dist/chunk-PMZCIOCJ.js +0 -25
- package/dist/chunk-SUW5DORT.js +0 -819
- package/dist/chunk-UOV2BYIW.js +0 -107
- package/dist/chunk-WR6U3OVP.js +0 -45
- package/docs/artifact-versions.md +0 -67
- package/docs/documentation-coverage.md +0 -46
- package/docs/documentation-guide.md +0 -167
- package/docs/time-conventions.md +0 -101
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: coding-standards
|
|
3
|
-
description:
|
|
3
|
+
description: Correct-by-construction TypeScript rules (errors as values, parse don't validate, illegal states unrepresentable, deep modules) for writing or refactoring TypeScript when the project has not pinned its own standards.
|
|
4
4
|
triggers:
|
|
5
5
|
- TypeScript coding standards
|
|
6
6
|
- errors as values
|
|
7
7
|
- parse don't validate
|
|
8
8
|
- illegal states unrepresentable
|
|
9
9
|
- functional core imperative shell
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.2.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prototype
|
|
3
|
-
description:
|
|
3
|
+
description: "Answers a design question with throwaway code: a clearly marked, runnable, no-persistence prototype whose verdict is kept and whose code is discarded. Not for pre-registered performance experiments; use experiment-protocol. Not for production implementation."
|
|
4
4
|
triggers:
|
|
5
5
|
- throwaway prototype
|
|
6
6
|
- mock up this UI
|
|
7
7
|
- prototype this state model
|
|
8
8
|
- sanity-check this logic
|
|
9
9
|
- what should this UI look like
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.3.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tdd
|
|
3
|
-
description:
|
|
3
|
+
description: Builds a feature or fix test-first, red to green at pre-agreed public seams, one vertical slice at a time. Not for designing benchmark criteria; use experiment-protocol.
|
|
4
4
|
triggers:
|
|
5
5
|
- test-driven development
|
|
6
6
|
- write the test first
|
|
7
7
|
- red green
|
|
8
8
|
- build this test-first
|
|
9
9
|
- reproduce the bug with a test
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.3.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context-handoff
|
|
3
|
-
description:
|
|
3
|
+
description: Writes a durable, redacted, reference-not-copy handoff document when a session winds down or context is about to be compacted or lost, so the next session or agent can continue. Not for orienting at the start of a session; use context-prime.
|
|
4
4
|
triggers:
|
|
5
5
|
- session handoff
|
|
6
6
|
- notes for the next session
|
|
7
7
|
- handoff to another agent
|
|
8
8
|
- context is about to be lost
|
|
9
9
|
- write a continuation brief
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.4.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context-prime
|
|
3
|
-
description:
|
|
3
|
+
description: Orients a fresh session in a repository by loading the last handoff, git state, the project constitution, and active-work signals before acting. Not for writing the handoff; use context-handoff.
|
|
4
4
|
triggers:
|
|
5
5
|
- prime this repository
|
|
6
6
|
- catch me up
|
|
7
7
|
- where were we
|
|
8
8
|
- get up to speed
|
|
9
9
|
- resume repository work after a break
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.3.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: file-ticket
|
|
3
|
-
description:
|
|
3
|
+
description: "Turns something noticed mid-session into a tracker issue: captures evidence, dedups against existing issues, composes a labeled issue with acceptance criteria, confirms, and creates it via gh. Not for batch ticket creation from a PRD; use backlog. Not for diagnosing an existing issue; use fix-issue."
|
|
4
4
|
triggers:
|
|
5
5
|
- file a ticket
|
|
6
6
|
- open an issue for this
|
|
7
7
|
- log this bug
|
|
8
8
|
- ticket this behavior
|
|
9
9
|
- create a tracker issue
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.2.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: fix-issue
|
|
3
|
-
description:
|
|
3
|
+
description: "Resolves a tracker issue end to end: fetches it, diagnoses only when the issue does not name the code, fixes test-first, and self-reviews against the acceptance criteria, leaving a verified uncommitted change. Not for filing; use file-ticket. Not for committing or PRs; use ship."
|
|
4
4
|
triggers:
|
|
5
5
|
- fix issue 123
|
|
6
6
|
- take this ticket
|
|
7
7
|
- resolve the bug in issue
|
|
8
8
|
- implement this tracker issue
|
|
9
9
|
- fix a GitHub issue end to end
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.2.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -77,7 +77,7 @@ Write a standalone RCA document only when the bug was hard: confidence LOW,
|
|
|
77
77
|
a multi-cause chain, or a fix that changes behavior beyond the issue's
|
|
78
78
|
scope. Routine fixes carry their why-chain in the final report, not a file.
|
|
79
79
|
Either way the RCA's destination is the issue: `ship` posts it as the
|
|
80
|
-
closing comment under the `rca` label (see docs/development-pipeline.md).
|
|
80
|
+
closing comment under the `rca` label (see docs/process/development-pipeline.md).
|
|
81
81
|
|
|
82
82
|
## Step 3 — Fix test-first
|
|
83
83
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: resolve-merge-conflicts
|
|
3
|
-
description:
|
|
3
|
+
description: Resolves a merge, rebase, or cherry-pick stopped on conflicts by reconstructing both sides' intent, validating with the project's own checks, and completing the operation. Not for integrating many branches; use worktree-merge.
|
|
4
4
|
triggers:
|
|
5
5
|
- merge conflict
|
|
6
6
|
- fix these conflicts
|
|
7
7
|
- finish the merge
|
|
8
8
|
- finish the rebase
|
|
9
9
|
- resolve conflict markers
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.3.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
package/skills/git/ship/SKILL.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ship
|
|
3
|
-
description:
|
|
3
|
+
description: "Ships finished work: stages reviewed paths, writes one atomic conventional commit referencing the issue, then pushes and opens the PR only on explicit intent. Not for producing the change; use fix-issue."
|
|
4
4
|
triggers:
|
|
5
5
|
- ship this
|
|
6
6
|
- commit this
|
|
7
7
|
- commit and open the PR
|
|
8
8
|
- push and open a pull request
|
|
9
9
|
- get this up for review
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.2.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: worktree-create
|
|
3
|
-
description:
|
|
3
|
+
description: Stands up one or more git worktrees for parallel work, each on its own branch with gitignored config copied in, dependencies installed, and a verified health check. Not for merging finished worktrees; use worktree-merge.
|
|
4
4
|
triggers:
|
|
5
5
|
- create a git worktree
|
|
6
6
|
- set up worktrees for these branches
|
|
7
7
|
- spin up parallel branches
|
|
8
8
|
- prepare parallel worktrees
|
|
9
|
-
version: 0.
|
|
9
|
+
version: 0.3.0
|
|
10
10
|
license: Apache-2.0
|
|
11
11
|
allowed-tools:
|
|
12
12
|
- read
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: worktree-merge
|
|
3
|
-
description:
|
|
3
|
+
description: Integrates finished worktree branches through one throwaway integration branch, testing after each merge and running the full suite before the main line moves, with exact rollback on failure. Not for creating worktrees; use worktree-create.
|
|
4
4
|
triggers:
|
|
5
5
|
- merge my worktrees
|
|
6
6
|
- integrate these worktree branches
|
|
7
7
|
- combine parallel branches
|
|
8
8
|
- land finished worktrees
|
|
9
|
-
version: 0.
|
|
9
|
+
version: 0.3.0
|
|
10
10
|
license: Apache-2.0
|
|
11
11
|
allowed-tools:
|
|
12
12
|
- read
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clio-coder-dev
|
|
3
|
-
description:
|
|
3
|
+
description: "Governs changes to Clio Coder's own source and harness (TUI, skills, agents, tools, prompts, domains): what may change freely, what needs explicit user intent, and how to change it without breaking the architecture. Not for verifying a change against the harness; use clio-coder-test."
|
|
4
4
|
triggers:
|
|
5
5
|
- modify Clio Coder
|
|
6
6
|
- change the Clio harness
|
|
7
7
|
- edit Clio skills or agents
|
|
8
8
|
- evolve Clio tools or prompts
|
|
9
9
|
- Clio contribution boundary
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.4.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
clio-coder:
|
|
13
13
|
registry-id: iowarp/clio-coder
|
|
@@ -72,9 +72,13 @@ Follow in order for every change:
|
|
|
72
72
|
3. **Prefer a small pure-function change** with a focused contract test over a
|
|
73
73
|
broad rewrite. Side effects live in `extension.ts`; testable policy lives
|
|
74
74
|
in sibling pure modules.
|
|
75
|
-
4. **Respect
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
4. **Respect all six boundary invariants.** Pi SDK imports stay in
|
|
76
|
+
`src/engine/**`; worker value imports from domains stay within the declared
|
|
77
|
+
provider rehydration seams; domains never import another domain's
|
|
78
|
+
`extension.ts`; tools never import the interactive layer;
|
|
79
|
+
`src/interactive/turn-*.ts` and `chat-loop.ts` never import entry modules;
|
|
80
|
+
Stage 0 is entered only through declared seams. Add or reuse a contract
|
|
81
|
+
instead.
|
|
78
82
|
5. **Validate narrowly, then report.** Run the narrowest meaningful layer per
|
|
79
83
|
`clio-coder-test`, then state exactly what ran and what remains unverified. Done
|
|
80
84
|
when the report names both.
|
|
@@ -26,13 +26,14 @@ Prompt: "Domain A needs something from domain B — just import B's extension.ts
|
|
|
26
26
|
it's faster."
|
|
27
27
|
Expected:
|
|
28
28
|
- Refuses the rule3 violation; routes through B's `index.ts` contract.
|
|
29
|
-
- Defers to `clio-coder-test`
|
|
29
|
+
- Defers to `clio-coder-test` and runs `npm run lint` to verify the boundary.
|
|
30
30
|
|
|
31
31
|
## D4 — classify before editing
|
|
32
32
|
Prompt: "Change how the worker gets its spec." (touches an engine/worker seam)
|
|
33
33
|
Expected:
|
|
34
34
|
- Classifies the surface, inspects the contract/tests first, prefers a small
|
|
35
|
-
pure change, and respects rule2 (worker
|
|
35
|
+
pure change, and respects rule2 (worker value imports from domains stay in
|
|
36
|
+
the declared provider rehydration seams; other domain imports are type-only).
|
|
36
37
|
|
|
37
38
|
## Baseline failure modes to watch for (RED)
|
|
38
39
|
- Pushes / opens a PR / tags a release on implied (not explicit) intent.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clio-coder-test
|
|
3
|
-
description:
|
|
3
|
+
description: "Verifies a Clio Coder source change against the current contract, smoke, boundary, and application test lanes, including temporary-state and local-provider harnesses. Not for deciding what may change; use clio-coder-dev."
|
|
4
4
|
triggers:
|
|
5
5
|
- test Clio Coder
|
|
6
6
|
- verify a Clio source change
|
|
7
7
|
- run Clio contract tests
|
|
8
8
|
- test ACP over stdio
|
|
9
9
|
- Clio mock provider harness
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.3.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
clio-coder:
|
|
13
13
|
registry-id: iowarp/clio-coder
|
|
@@ -20,120 +20,127 @@ clio-coder:
|
|
|
20
20
|
|
|
21
21
|
# Clio Test
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
The root Node suite has two test lanes. Contract tests import `src/` directly
|
|
24
|
+
through tsx; smoke tests spawn the built `dist/cli/index.js`. The import-boundary
|
|
25
|
+
checker runs under lint rather than `npm test`. The trace viewer and Workbench
|
|
26
|
+
have separate application gates.
|
|
25
27
|
|
|
26
|
-
For the question of whether a change may leave your machine (commit, push,
|
|
27
|
-
|
|
28
|
-
local-
|
|
28
|
+
For the question of whether a change may leave your machine (commit, push, or
|
|
29
|
+
PR), use `clio-coder-dev`. **REQUIRED SUB-SKILL:** `clio-coder-dev` for the
|
|
30
|
+
local-versus-contribution boundary.
|
|
29
31
|
|
|
30
32
|
## Commands
|
|
31
33
|
|
|
32
34
|
```bash
|
|
33
|
-
npm run typecheck
|
|
34
|
-
npm run lint
|
|
35
|
-
npm run
|
|
36
|
-
npm run test:file --
|
|
37
|
-
npm run
|
|
38
|
-
npm run
|
|
39
|
-
npm run
|
|
40
|
-
npm run
|
|
41
|
-
npm run
|
|
35
|
+
npm run typecheck # tsc -p tsconfig.tests.json
|
|
36
|
+
npm run lint # Biome plus scripts/check-hygiene.ts
|
|
37
|
+
npm run skills:check # catalog pins and marketplace index
|
|
38
|
+
npm run test:file -- tests/contracts/<file>.test.ts
|
|
39
|
+
npm run build # tsup plus the codewiki asset
|
|
40
|
+
npm run test:file -- tests/smoke/<file>.test.ts # requires a current build
|
|
41
|
+
npm run test # every contract and smoke file
|
|
42
|
+
npm run test:trace-viewer # apps/trace-viewer
|
|
43
|
+
npm run ci # deterministic root gate
|
|
44
|
+
npm run ci:release # root gate plus package/release audit
|
|
42
45
|
```
|
|
43
46
|
|
|
44
|
-
|
|
47
|
+
The Workbench is not part of the root `npm run ci` command. From
|
|
48
|
+
`apps/workbench`, run `deno task verify` for its format, lint, type check, test,
|
|
49
|
+
and build gate.
|
|
50
|
+
|
|
51
|
+
No deterministic gate contacts a real model. When a task explicitly requires
|
|
52
|
+
live validation, build first and run `node dist/cli/index.js run` against a
|
|
53
|
+
configured target. Record the target, model, runtime, prompt, and serving
|
|
54
|
+
settings with the result.
|
|
55
|
+
|
|
56
|
+
## Which lane catches what
|
|
45
57
|
|
|
46
58
|
| Change site | Run first | Why |
|
|
47
59
|
|---|---|---|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
| Pure logic in `src/domains/<x>/*.ts` | Closest file under `tests/contracts/` | Contracts import current source; no build is needed. |
|
|
61
|
+
| Dispatch, providers, prompts, safety, config, or persistence | Related contract file found with `rg` | Each behavior is divided among focused contract files rather than one domain-wide suite. |
|
|
62
|
+
| Skill catalog or loader | Related contract, then `npm run skills:pin` and `npm run skills:check` | Runtime behavior and generated catalog metadata are separate checks. |
|
|
63
|
+
| Any import edit under `src/` | `npm run lint` | Hygiene invokes all six boundary rules. |
|
|
64
|
+
| CLI, entry, process lifecycle, or ACP stdio flow | Build, then the closest file under `tests/smoke/` | Smoke executes the built binary. |
|
|
65
|
+
| Published package contents | Build, then `tests/smoke/installed-package.test.ts` | The test packs and installs the actual artifact. |
|
|
66
|
+
| Trace viewer | `npm run test:trace-viewer` | It has a separate Node package and test command. |
|
|
67
|
+
| Workbench | `deno task verify` in `apps/workbench` | Its Deno/Vite gate is independent of the root npm gate. |
|
|
68
|
+
|
|
69
|
+
Read `references/test-map.md` for the current file map and exact subset
|
|
70
|
+
commands.
|
|
57
71
|
|
|
58
72
|
## Boundary rules you must not break
|
|
59
73
|
|
|
60
|
-
`tests/boundaries/check-boundaries.ts` enforces
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
- `restartRequired
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
**There is no in-process reload of Clio's own code in a running session.** ESM
|
|
98
|
-
modules load once; to run changed harness code in an interactive session,
|
|
99
|
-
restart the process (against a freshly built `dist/`).
|
|
74
|
+
`tests/boundaries/check-boundaries.ts` enforces six rules through
|
|
75
|
+
`scripts/check-hygiene.ts` and `npm run lint`. Fix a reported dependency edge;
|
|
76
|
+
never suppress the checker.
|
|
77
|
+
|
|
78
|
+
1. Imports of `@earendil-works/pi-*`, including type-only imports, stay under
|
|
79
|
+
`src/engine/**`.
|
|
80
|
+
2. Worker value imports from domains are limited to the declared provider
|
|
81
|
+
runtime rehydration seams. Other worker imports from domains must be
|
|
82
|
+
type-only.
|
|
83
|
+
3. A domain never imports another domain's `extension.ts`.
|
|
84
|
+
4. `src/tools/**` never imports `src/interactive/**`.
|
|
85
|
+
5. `src/interactive/turn-*.ts` and `chat-loop.ts` never import `src/entry/**`.
|
|
86
|
+
6. External value imports enter the protected Stage 0 trees only through
|
|
87
|
+
declared seams, and those seams do not create undeclared edges back into
|
|
88
|
+
the closure.
|
|
89
|
+
|
|
90
|
+
The authoritative definitions and exceptions are in
|
|
91
|
+
`docs/architecture/architecture.md` under "Boundary invariants."
|
|
92
|
+
|
|
93
|
+
## Source and configuration reload
|
|
94
|
+
|
|
95
|
+
Contract tests and hygiene read current source, so they need no build. Smoke
|
|
96
|
+
tests run `dist/`, so rebuild first or keep `npm run dev` (`tsup --watch`)
|
|
97
|
+
running. A running Clio process does not reload changed ESM modules; restart it
|
|
98
|
+
after a fresh build.
|
|
99
|
+
|
|
100
|
+
Configuration reload is separate. `src/domains/config/classify.ts` owns the
|
|
101
|
+
three buckets:
|
|
102
|
+
|
|
103
|
+
- `hotReload`: keybindings, autonomy, the model picker, smooth streaming, pane
|
|
104
|
+
notifications and file opens, Git attribution, and safety review settings.
|
|
105
|
+
- `nextTurn`: targets; the remaining chat settings; most fleet, context, and
|
|
106
|
+
safety limits; selected interface output settings; project resources,
|
|
107
|
+
external agents, and library settings.
|
|
108
|
+
- `restartRequired`: fleet concurrency, interface mode and scrollbar, pane-host
|
|
109
|
+
enablement, runtime plugins, and every unknown path.
|
|
100
110
|
|
|
101
111
|
## Iteration loop
|
|
102
112
|
|
|
103
|
-
1.
|
|
104
|
-
2. `npm run typecheck` and `npm run lint`.
|
|
105
|
-
3. Run the narrowest
|
|
106
|
-
4.
|
|
107
|
-
5.
|
|
108
|
-
`npm run
|
|
109
|
-
6.
|
|
110
|
-
unverified.
|
|
113
|
+
1. Read the relevant source contract and nearby tests.
|
|
114
|
+
2. Run `npm run typecheck` and `npm run lint`.
|
|
115
|
+
3. Run the narrowest related contract or application test.
|
|
116
|
+
4. If the built boundary changed, build and run the closest smoke file.
|
|
117
|
+
5. Run `npm run ci` before handing back a broad root change. Use
|
|
118
|
+
`npm run ci:release` when release packaging is in scope.
|
|
119
|
+
6. Report exactly what ran and what remains unverified.
|
|
111
120
|
|
|
112
|
-
|
|
121
|
+
For one test file or an `it.only` while debugging:
|
|
113
122
|
|
|
114
123
|
```bash
|
|
115
|
-
|
|
116
|
-
|
|
124
|
+
npm run test:file -- tests/contracts/<file>.test.ts
|
|
125
|
+
npm run test:file -- --test-only tests/contracts/<file>.test.ts
|
|
117
126
|
```
|
|
118
127
|
|
|
119
|
-
## What
|
|
120
|
-
|
|
121
|
-
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
`
|
|
128
|
-
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
predates your change, report it and ask — don't delete or skip it.
|
|
128
|
+
## What not to do
|
|
129
|
+
|
|
130
|
+
- Do not reintroduce `tests/unit`, `tests/integration`, or `tests/e2e`; the
|
|
131
|
+
current taxonomy is contracts and smoke.
|
|
132
|
+
- Do not cite a shared spawn or PTY helper. The current tree has neither
|
|
133
|
+
`tests/harness/spawn.ts` nor `tests/harness/pty.ts`; each smoke boundary owns
|
|
134
|
+
its process driver.
|
|
135
|
+
- Do not add `scripts/diag-*.ts` or `scripts/verify-*.ts`. A durable check
|
|
136
|
+
belongs in `tests/`; a disposable probe belongs under `/tmp`.
|
|
137
|
+
- Do not hide a boundary failure with an ignore or exclusion.
|
|
138
|
+
- Do not claim live-model evidence from a local fixture.
|
|
139
|
+
- Do not delete or skip a pre-existing failure. Report the evidence and
|
|
140
|
+
separate it from the result of the requested change.
|
|
133
141
|
|
|
134
142
|
## Harness reference
|
|
135
143
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
and lives in `benchmarks/internal/SKILL.md`.
|
|
144
|
+
For the current scratch-state helpers, dispatch fixtures, local
|
|
145
|
+
OpenAI-compatible fixture, ACP stdio driver, and disposable-probe pattern, read
|
|
146
|
+
`references/harness.md`.
|
|
@@ -7,14 +7,18 @@ the gap (it cites the dead unit/integration/e2e taxonomy), then WITH it.
|
|
|
7
7
|
Prompt: "I changed pure logic in `src/domains/dispatch/validation.ts`. What do I
|
|
8
8
|
run and why?"
|
|
9
9
|
Expected:
|
|
10
|
-
-
|
|
10
|
+
- Locates the closest contract coverage and starts with
|
|
11
|
+
`npm run test:file -- tests/contracts/dispatch-admission.test.ts`, adding
|
|
12
|
+
other dispatch files only when the changed path reaches them.
|
|
13
|
+
- Runs `npm run lint` if imports changed.
|
|
11
14
|
- Explains contracts import `src` via tsx, so no build is needed.
|
|
12
15
|
- Does NOT suggest `test:unit` / `test:e2e` (those don't exist).
|
|
13
16
|
|
|
14
17
|
## T2 — CLI change needs a build
|
|
15
|
-
Prompt: "I edited `src/cli/
|
|
18
|
+
Prompt: "I edited `src/cli/run.ts`. How do I verify end-to-end?"
|
|
16
19
|
Expected:
|
|
17
|
-
-
|
|
20
|
+
- Builds (or relies on `npm run dev` watch), then starts with
|
|
21
|
+
`npm run test:file -- tests/smoke/cli-core.test.ts`.
|
|
18
22
|
- Explains smoke spawns `dist/cli/index.js`, so it only sees built code.
|
|
19
23
|
|
|
20
24
|
## T3 — hot reload
|
|
@@ -33,7 +37,8 @@ Expected:
|
|
|
33
37
|
suggest a `biome-ignore` or exclude.
|
|
34
38
|
|
|
35
39
|
## Baseline failure modes to watch for (RED)
|
|
36
|
-
- Cites `test:unit`/`test:integration`/`test:e2e`,
|
|
40
|
+
- Cites `test:unit`/`test:integration`/`test:e2e`, the deleted shared spawn
|
|
41
|
+
helper, or the deleted PTY harness.
|
|
37
42
|
- Claims smoke tests run against source (they run against `dist/`).
|
|
38
43
|
- Invents a hot-reload feature that reloads a running session's code.
|
|
39
44
|
|