@iowarp/clio-coder 0.4.1 → 0.4.3
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 +127 -0
- package/CONTRIBUTING.md +142 -52
- package/README.md +434 -473
- package/SECURITY.md +2 -1
- package/dist/{acp-ZILU3AUO.js → acp-H2NGRPWO.js} +12 -12
- package/dist/{agents-HYWGBGQR.js → agents-TL5LLUQP.js} +56 -55
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-N3QT7CBO.js → auth-E5SW4HMS.js} +23 -21
- package/dist/builtins-IA7V7FUC.js +22 -0
- package/dist/{chunk-7RY5VZPH.js → chunk-2APPQIER.js} +8 -8
- package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
- package/dist/{chunk-JA5QWE4Z.js → chunk-2UG5F4C5.js} +1973 -1664
- package/dist/{chunk-5YHDIDBP.js → chunk-2UH2KFUP.js} +2 -2
- package/dist/{chunk-CTJ4RNAA.js → chunk-2VIKGWFZ.js} +2 -2
- package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
- package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
- package/dist/chunk-3EBYEESD.js +314 -0
- package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
- package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
- package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
- package/dist/chunk-4UVU7BJ5.js +39 -0
- package/dist/{chunk-VKRH2TCS.js → chunk-4WR7VSYB.js} +2 -2
- package/dist/{chunk-BBTJOK6Y.js → chunk-54CBCGIR.js} +5 -5
- package/dist/{chunk-AP73CFDC.js → chunk-5ICU3EUH.js} +2 -2
- package/dist/chunk-5MEZN6CB.js +1334 -0
- package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
- package/dist/{chunk-ABLSQ6JX.js → chunk-64I3JVYM.js} +8 -2
- package/dist/{chunk-AFKWHWXF.js → chunk-6PTFB5VS.js} +39 -22
- package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
- package/dist/chunk-7DRAWPTZ.js +360 -0
- package/dist/chunk-7E7I3WLS.js +3762 -0
- package/dist/{chunk-BJGUKIG4.js → chunk-7ZYNNDKC.js} +7 -7
- package/dist/{chunk-XKA2ICR3.js → chunk-AF4YM7Z4.js} +652 -252
- package/dist/{chunk-GVQJ5CCZ.js → chunk-AX2THNSA.js} +12 -12
- package/dist/{chunk-IG7BCQBA.js → chunk-B4OAX3SI.js} +65 -3
- package/dist/{chunk-TD3PGPQA.js → chunk-B4VEBZKF.js} +3 -3
- package/dist/{chunk-74YWRRU5.js → chunk-BEPZRGGU.js} +10 -10
- package/dist/{chunk-FEFIFZTL.js → chunk-CE5AX47J.js} +2 -2
- package/dist/{chunk-UAPGZHYC.js → chunk-DWUOQKRU.js} +25 -11
- package/dist/{chunk-THYWACCR.js → chunk-E3TPLWFX.js} +3 -3
- package/dist/{chunk-7EPLI7VL.js → chunk-EKCHAPYA.js} +2 -2
- package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
- package/dist/{chunk-PJJ6MY27.js → chunk-F5JHEYZM.js} +7 -7
- package/dist/{chunk-6CCS4G3W.js → chunk-FTMGRKEF.js} +3 -3
- package/dist/{chunk-SINK3QR6.js → chunk-G76U63X4.js} +17 -17
- package/dist/{chunk-EIMVLWB3.js → chunk-GHS5EBTQ.js} +64 -9
- package/dist/{chunk-QMXC4JB7.js → chunk-GI7YYQ3F.js} +187 -1419
- package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
- package/dist/{chunk-6HMJX2VU.js → chunk-GWZNEVM2.js} +44 -12
- package/dist/chunk-GYV6VZOC.js +26 -0
- package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
- package/dist/{chunk-UXN6JT4W.js → chunk-HEQY7ZFI.js} +3 -3
- package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
- package/dist/{chunk-GCSMB2KY.js → chunk-I7ZPNEJM.js} +145 -102
- package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
- package/dist/{chunk-QTFGO774.js → chunk-IGLP3ODT.js} +29 -16
- package/dist/chunk-IJNZMHLA.js +101 -0
- package/dist/{chunk-BDPT6GTK.js → chunk-INY6HTFL.js} +7 -7
- package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
- package/dist/{chunk-6NJQITNH.js → chunk-IWT4SF4R.js} +6 -3
- package/dist/{chunk-R23Z6K6I.js → chunk-JDAY6FIL.js} +19 -19
- package/dist/chunk-JEQ3XTHC.js +42 -0
- package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
- package/dist/{chunk-TVH4ONAM.js → chunk-JKKCYP3C.js} +10 -10
- package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
- package/dist/{chunk-C537JADH.js → chunk-KK4JZPBQ.js} +19 -141
- package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
- package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
- package/dist/{chunk-6DWBAZ5U.js → chunk-L47TF46W.js} +5 -7
- package/dist/{chunk-HUAS7ITX.js → chunk-LDJG7DW3.js} +91 -42
- package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
- package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
- package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
- package/dist/{chunk-VKFQTNDV.js → chunk-MUW2BDDH.js} +4 -4
- package/dist/{chunk-E67WX76H.js → chunk-MWUZBSAQ.js} +104 -152
- package/dist/{chunk-OJTRZGR3.js → chunk-N2Z7HLVY.js} +21 -21
- package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
- package/dist/{chunk-FYUN5KZ3.js → chunk-NIQJ66N4.js} +21 -21
- package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
- package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
- package/dist/{chunk-VEGN6WIQ.js → chunk-O5CVSAG5.js} +3 -3
- package/dist/{chunk-MOPSG2X7.js → chunk-OML5D5V5.js} +8 -8
- package/dist/{chunk-2VG7KLYV.js → chunk-PAJQJ7BS.js} +5816 -3255
- package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
- package/dist/{chunk-BTGG6BG2.js → chunk-QWGDJJYJ.js} +158 -19
- package/dist/chunk-R6Q67RJH.js +134 -0
- package/dist/{chunk-ZJLUDYFY.js → chunk-RRNP2ANY.js} +6 -6
- package/dist/{chunk-PVAMAVBB.js → chunk-RSJ25QSL.js} +102 -2
- package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
- package/dist/chunk-SKHCAU7K.js +385 -0
- package/dist/chunk-SZAA6XDG.js +30 -0
- package/dist/{chunk-J4HBWF6Y.js → chunk-TM6LQDI3.js} +131 -28
- package/dist/chunk-UOIZ7DA4.js +41 -0
- package/dist/{chunk-MA3H6DM5.js → chunk-UPZU6GE4.js} +25 -3
- package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
- package/dist/{chunk-N5UK64DP.js → chunk-V2ANDPVT.js} +4 -4
- package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
- package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
- package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
- package/dist/{chunk-QKIFBZKT.js → chunk-VW6DOEDG.js} +497 -81
- package/dist/{chunk-SCYB3HA4.js → chunk-W6RRQCPQ.js} +63 -19
- package/dist/{chunk-2NM363SV.js → chunk-WBKFA554.js} +10 -10
- package/dist/{chunk-R32CLGZ6.js → chunk-WCXUNS7U.js} +82 -21
- package/dist/{chunk-GPPB3JBE.js → chunk-WRBAGUNF.js} +3 -3
- package/dist/{chunk-IXJT6DCX.js → chunk-XIVNBFZS.js} +85 -30
- package/dist/{chunk-UEDMSP56.js → chunk-XPWWI35G.js} +417 -201
- package/dist/chunk-XRZT5WY5.js +47 -0
- package/dist/{chunk-3QSOM6PA.js → chunk-Y3CBHOR6.js} +2 -2
- package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
- package/dist/{chunk-AKB4GYDL.js → chunk-YQWYVTMC.js} +5 -5
- package/dist/{chunk-6I5ILFOF.js → chunk-ZA4VCIGV.js} +3 -3
- package/dist/{chunk-7OBGU7UB.js → chunk-ZDN3Y73Y.js} +12 -18
- package/dist/{chunk-3I5NY75V.js → chunk-ZWPRK62N.js} +8 -5
- package/dist/cli/index.js +41 -39
- package/dist/{clio-IT3G3VQH.js → clio-CMMK4KRR.js} +9 -9
- package/dist/{code-nav-RK6S7F6E.js → code-nav-MDZNQS33.js} +89 -21
- package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
- package/dist/{config-3QZRWZJF.js → config-SVM5P5YI.js} +131 -84
- package/dist/{configure-FL7Y3KJF.js → configure-LE3IK2TJ.js} +28 -26
- package/dist/{context-5HE7ODYK.js → context-2OHRKS42.js} +69 -64
- package/dist/{context-KYQFRVDC.js → context-E3VC7RX5.js} +15 -11
- package/dist/{context-XNHL75JV.js → context-VNCR7KAG.js} +93 -65
- package/dist/{context-clear-N545L53A.js → context-clear-BW4O37TG.js} +64 -60
- package/dist/context-map-COB37XXN.js +505 -0
- package/dist/{context-working-set-QHKXSV2F.js → context-working-set-VDS25HXZ.js} +19 -18
- package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-5AHT53RF.js} +93 -82
- package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
- package/dist/{doctor-ZGPEGHIP.js → doctor-WNNVO6FY.js} +48 -47
- package/dist/{eval-GXLL44RD.js → eval-7G7SGAYO.js} +287 -115
- package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-Y6QRFOH5.js} +4 -4
- package/dist/{evidence-HWLBRH3Q.js → evidence-VD6736FQ.js} +67 -64
- package/dist/{evolve-FTZBMNVW.js → evolve-AL3NGVRL.js} +65 -62
- package/dist/{extensions-VHRBEID7.js → extensions-MOVJ32NM.js} +9 -7
- package/dist/{fleet-CKZHJWZJ.js → fleet-QZHUMAGI.js} +114 -111
- package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-BAYT5FJZ.js} +10 -10
- package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-IREVMRU4.js} +7 -6
- package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-YCTT3HTI.js} +22 -19
- package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-QVJTDAVB.js} +58 -55
- package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-25QAFPK4.js} +4 -4
- package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-5O57AAJ7.js} +26 -23
- package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-CPH2W2T6.js} +59 -56
- package/dist/{fleet-view-WAMJYNDT.js → fleet-view-SWBR3VGQ.js} +58 -55
- package/dist/{init-5XQRBOFV.js → init-J477LKZH.js} +82 -79
- package/dist/{interop-34TVO25M.js → interop-3FCM6XLG.js} +11 -11
- package/dist/{library-3QY6KF57.js → library-QUQEIUG6.js} +30 -27
- package/dist/{memory-L4UTIIIW.js → memory-SGGSEP65.js} +67 -64
- package/dist/{models-ZVX3QOWE.js → models-HEKUAXXK.js} +53 -46
- package/dist/{monitor-CEKVSYTS.js → monitor-HKU57TYQ.js} +63 -60
- package/dist/{orchestrator-77BAP6BC.js → orchestrator-VDFAEFAI.js} +1831 -1057
- package/dist/{panes-7STHOAUJ.js → panes-DN2SSFOH.js} +5 -5
- package/dist/{panes-SHAUIRXY.js → panes-TALGNPZT.js} +29 -14
- package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
- package/dist/reset-EAJFFJVB.js +344 -0
- package/dist/{resources-74GKTLSF.js → resources-OVKSEFVE.js} +29 -20
- package/dist/{run-HBAUJNNZ.js → run-7DP7ZF2J.js} +120 -115
- package/dist/{share-G3APVLVP.js → share-WML67FT3.js} +32 -27
- package/dist/{skills-35HHUKCR.js → skills-SG662R2K.js} +41 -31
- package/dist/{skills-eval-QN4HSHDC.js → skills-eval-VVZEUU46.js} +78 -77
- package/dist/{skills-inventory-J357J34F.js → skills-inventory-I2E23GET.js} +23 -20
- package/dist/{slash-commands-JZZCQA32.js → slash-commands-S7MBJDQK.js} +40 -36
- package/dist/{steer-XAVHJM22.js → steer-2LQOMCPB.js} +3 -3
- package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
- package/dist/{targets-DSM6CY3M.js → targets-4QC3HIEW.js} +54 -54
- package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-TUHIJ6Y2.js} +5 -5
- package/dist/{tools-MKNWVPBH.js → tools-TFGJICCU.js} +10 -10
- package/dist/{trace-ECQ7TIYZ.js → trace-FXMXUZUF.js} +55 -7
- package/dist/uninstall-5PEVOE5B.js +408 -0
- package/dist/upgrade-M4WXY6KN.js +303 -0
- package/dist/{usage-X52N3IDJ.js → usage-N7ZNVLEM.js} +151 -104
- package/dist/{verifiers-EJTVVSMA.js → verifiers-DJTP4XX6.js} +15 -15
- package/dist/{verify-YJL6XET2.js → verify-RWE4PPEK.js} +9 -9
- package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
- package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-C7IQOXSP.js} +89 -86
- package/dist/{with-panes-OBOBFIIR.js → with-panes-4GCGSL7J.js} +53 -257
- package/dist/worker/entry.js +90 -74
- 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} +27 -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} +29 -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} +61 -27
- package/docs/{observability.md → architecture/observability.md} +38 -14
- package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
- package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +57 -20
- package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +99 -25
- package/docs/{safety-model.md → architecture/safety-model.md} +35 -20
- 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} +65 -35
- package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +66 -61
- package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -297
- package/docs/guide/configuration-reference.md +1163 -0
- package/docs/{environment-variables.md → guide/environment-variables.md} +33 -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} +81 -17
- package/docs/guide/panes-and-files.md +290 -0
- package/docs/{proactive-memory.md → guide/proactive-memory.md} +131 -107
- package/docs/{resource-library.md → guide/resource-library.md} +13 -4
- package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +25 -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/process/development-pipeline.md +152 -0
- 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} +108 -53
- 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/evals/behavioral-model.yaml +3 -2
- package/package.json +10 -8
- package/skills/README.md +52 -41
- package/skills/coding/ast-grep/SKILL.md +102 -31
- package/skills/coding/ast-grep/evals.md +26 -0
- package/skills/coding/coding-standards/SKILL.md +41 -6
- package/skills/coding/coding-standards/evals.md +23 -0
- package/skills/coding/prototype/SKILL.md +88 -29
- package/skills/coding/prototype/evals.md +19 -0
- package/skills/coding/tdd/SKILL.md +81 -54
- package/skills/coding/tdd/evals.md +20 -0
- package/skills/context/context-handoff/SKILL.md +44 -3
- package/skills/context/context-handoff/evals.md +44 -0
- package/skills/context/context-prime/SKILL.md +46 -16
- package/skills/context/context-prime/evals.md +45 -0
- package/skills/git/branch-closeout/SKILL.md +132 -0
- package/skills/git/branch-closeout/evals.md +133 -0
- package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
- package/skills/git/file-ticket/SKILL.md +78 -64
- package/skills/git/file-ticket/assets/issue-template.md +22 -0
- package/skills/git/file-ticket/evals.md +31 -26
- package/skills/git/file-ticket/references/issue-discovery.md +49 -0
- package/skills/git/fix-issue/SKILL.md +88 -65
- package/skills/git/fix-issue/evals.md +35 -31
- package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
- package/skills/git/resolve-merge-conflicts/SKILL.md +101 -52
- package/skills/git/resolve-merge-conflicts/evals.md +52 -25
- package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
- package/skills/git/ship/SKILL.md +103 -67
- package/skills/git/ship/assets/pr-template.md +21 -0
- package/skills/git/ship/evals.md +44 -28
- package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
- package/skills/git/worktree-create/SKILL.md +80 -50
- package/skills/git/worktree-create/evals.md +40 -33
- package/skills/git/worktree-create/references/worktree-setup.md +62 -66
- package/skills/git/worktree-merge/SKILL.md +112 -65
- package/skills/git/worktree-merge/evals.md +42 -34
- package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
- 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/archify/SKILL.md +196 -0
- package/skills/planning/archify/evals.md +65 -0
- package/skills/planning/architecture/SKILL.md +62 -13
- package/skills/planning/architecture/evals.md +65 -0
- package/skills/planning/backlog/SKILL.md +131 -15
- package/skills/planning/backlog/evals.md +142 -0
- package/skills/planning/prd/SKILL.md +47 -7
- package/skills/planning/prd/evals.md +54 -0
- package/skills/planning/product-intent/SKILL.md +58 -3
- package/skills/planning/product-intent/evals.md +70 -0
- package/skills/planning/tech-spec/SKILL.md +54 -3
- package/skills/planning/tech-spec/evals.md +73 -0
- package/skills/registry.yaml +70 -62
- package/skills/remote.yaml +13 -0
- package/skills/research/arxiv-literature/SKILL.md +77 -19
- package/skills/research/arxiv-literature/evals.md +50 -0
- package/skills/research/experiment-protocol/SKILL.md +21 -2
- package/skills/research/experiment-protocol/evals.md +23 -0
- package/skills/research/scientific-debugging/SKILL.md +24 -2
- package/skills/research/scientific-debugging/evals.md +18 -0
- package/skills/research/scientific-modernization/SKILL.md +27 -2
- package/skills/research/scientific-modernization/evals.md +27 -0
- package/skills/skill-marketplace.json +97 -62
- package/skills/workflow/cut-it/SKILL.md +66 -6
- package/skills/workflow/cut-it/evals.md +101 -0
- package/skills/workflow/design-council/SKILL.md +118 -28
- package/skills/workflow/design-council/evals.md +161 -0
- package/skills/workflow/grill-me/SKILL.md +87 -11
- package/skills/workflow/grill-me/evals.md +153 -0
- package/skills/workflow/workflow-distiller/SKILL.md +77 -18
- package/skills/workflow/workflow-distiller/evals.md +118 -0
- 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-interop.ts +105 -13
- package/src/cli/configure-oauth.ts +57 -0
- package/src/cli/configure-onboarding.ts +980 -0
- package/src/cli/configure-target.ts +594 -0
- package/src/cli/configure.ts +1082 -532
- package/src/cli/context-map.ts +114 -0
- package/src/cli/context.ts +4 -0
- 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 +3 -1
- package/src/cli/internal-dispatch.ts +3 -4
- package/src/cli/lifecycle-presenter.ts +436 -0
- package/src/cli/models.ts +10 -2
- package/src/cli/modes/print.ts +5 -1
- package/src/cli/panes.ts +19 -5
- package/src/cli/reset.ts +228 -106
- package/src/cli/run.ts +9 -4
- package/src/cli/select.ts +664 -0
- package/src/cli/share.ts +5 -1
- package/src/cli/skills-eval.ts +3 -3
- package/src/cli/skills.ts +9 -2
- package/src/cli/targets.ts +5 -6
- package/src/cli/trace.ts +55 -4
- package/src/cli/uninstall.ts +233 -165
- package/src/cli/upgrade.ts +204 -149
- package/src/cli/usage.ts +86 -27
- package/src/cli/validate-model.ts +3 -3
- 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 +61 -1
- package/src/core/defaults.ts +7 -4
- package/src/core/dispatch-outcome.ts +16 -0
- package/src/core/external-diagnostic.ts +44 -0
- package/src/core/gateway-routing.ts +157 -0
- package/src/core/guardrails.ts +10 -49
- package/src/core/prompt-hint.ts +9 -0
- package/src/core/safe-exec.ts +17 -2
- package/src/core/skill-activation.ts +89 -2
- 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/builtins/world-knowledge.md +31 -0
- package/src/domains/agents/catalog.ts +13 -15
- package/src/domains/agents/contract.ts +2 -0
- package/src/domains/agents/extension.ts +23 -1
- package/src/domains/agents/result-contract.ts +70 -0
- package/src/domains/config/keybindings.ts +8 -0
- package/src/domains/context/extension.ts +0 -3
- package/src/domains/context/wiki/map-seed.ts +589 -0
- package/src/domains/context/wiki/plan.ts +2 -2
- package/src/domains/context/working-set/path-index.ts +1 -0
- package/src/domains/dispatch/admission.ts +29 -0
- package/src/domains/dispatch/agent-candidates.ts +10 -0
- package/src/domains/dispatch/budget-envelope.ts +86 -1
- package/src/domains/dispatch/capability-match.ts +11 -0
- package/src/domains/dispatch/capacity-lease.ts +17 -0
- package/src/domains/dispatch/contract.ts +11 -1
- package/src/domains/dispatch/extension.ts +237 -49
- 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 +58 -3
- package/src/domains/dispatch/worker-model-metadata.ts +38 -0
- package/src/domains/eval/artifacts/store.ts +5 -0
- package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
- package/src/domains/eval/metrics/token-stream.ts +201 -31
- package/src/domains/eval/metrics/tracked.ts +40 -4
- package/src/domains/eval/runners/clio-run.ts +5 -2
- package/src/domains/eval/schema/suite.ts +28 -0
- package/src/domains/eval/schema/verdict.ts +2 -2
- package/src/domains/eval/store.ts +8 -1
- package/src/domains/eval/suites/resolve.ts +13 -1
- package/src/domains/eval/suites/run.ts +24 -3
- 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/interop/registry.ts +6 -2
- package/src/domains/interop/types.ts +4 -0
- package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
- package/src/domains/lifecycle/migrations/index.ts +6 -0
- package/src/domains/lifecycle/naming-resources.ts +19 -4
- package/src/domains/lifecycle/naming-yazi.ts +10 -5
- package/src/domains/memory/task-memory-policy.ts +70 -26
- package/src/domains/memory/task-memory-telemetry.ts +1 -0
- 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 -5
- package/src/domains/middleware/marketplace-offer.ts +3 -35
- package/src/domains/middleware/memory-intervention.ts +127 -32
- package/src/domains/middleware/memory-step-endpoint.ts +3 -2
- package/src/domains/middleware/registrations.ts +326 -0
- package/src/domains/middleware/runtime.ts +28 -0
- package/src/domains/middleware/skills-reminder.ts +31 -2
- 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/compaction-usage.ts +118 -0
- package/src/domains/observability/contract.ts +10 -11
- package/src/domains/observability/cost.ts +1 -1
- package/src/domains/observability/extension.ts +17 -4
- package/src/domains/observability/out-of-turn-usage.ts +52 -21
- 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/contract.ts +4 -1
- package/src/domains/providers/extension.ts +40 -9
- package/src/domains/providers/index.ts +1 -1
- package/src/domains/providers/model-capabilities.ts +9 -0
- package/src/domains/providers/model-discovery.ts +2 -0
- package/src/domains/providers/model-runtime-capabilities.ts +99 -25
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +699 -114
- package/src/domains/providers/runtime-resolution.ts +31 -0
- package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
- package/src/domains/providers/runtimes/common/local-synth.ts +2 -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/runtimes/protocol/litellm.ts +119 -29
- package/src/domains/providers/support.ts +11 -5
- package/src/domains/providers/target-model-cache.ts +25 -2
- package/src/domains/providers/types/capability-flags.ts +2 -0
- package/src/domains/providers/types/cost-provenance.ts +19 -0
- package/src/domains/providers/types/local-model-quirks.ts +85 -37
- package/src/domains/providers/types/runtime-descriptor.ts +20 -1
- package/src/domains/providers/types/target-descriptor.ts +19 -0
- package/src/domains/resources/index.ts +3 -0
- package/src/domains/resources/skills/install.ts +72 -7
- package/src/domains/resources/skills/loader.ts +23 -19
- package/src/domains/resources/skills/marketplace.ts +63 -11
- package/src/domains/safety/autonomy.ts +15 -0
- package/src/domains/safety/call-target.ts +1 -1
- package/src/domains/safety/index.ts +1 -0
- package/src/domains/safety/loop-detector.ts +7 -4
- package/src/domains/safety/path-policy.ts +1 -1
- package/src/domains/safety/policy-engine.ts +34 -11
- package/src/domains/safety/protected-artifacts.ts +191 -88
- package/src/domains/safety/run-effects.ts +2 -22
- package/src/domains/safety/skill-authority.ts +55 -0
- package/src/domains/session/compaction/compact.ts +72 -22
- package/src/domains/session/entries.ts +6 -0
- package/src/domains/session/task-board.ts +10 -9
- package/src/domains/session/usage.ts +3 -3
- package/src/domains/share/archive.ts +164 -7
- package/src/engine/acp/server.ts +62 -9
- package/src/engine/agent.ts +13 -3
- package/src/engine/ai.ts +26 -8
- package/src/engine/antigravity/subprocess-runtime.ts +386 -120
- package/src/engine/api-registry.ts +3 -0
- 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 +145 -39
- package/src/engine/apis/output-budget.ts +8 -18
- package/src/engine/apis/residency.ts +8 -27
- package/src/engine/external-subprocess.ts +114 -6
- 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/background-model-metadata.ts +18 -0
- package/src/entry/compaction-prompt.ts +57 -0
- package/src/entry/extension-hook-sources.ts +28 -0
- package/src/entry/extension-reload.ts +309 -0
- package/src/entry/orchestrator.ts +464 -251
- package/src/entry/task-memory-lifecycle.ts +35 -0
- package/src/interactive/application-controller.ts +2 -1
- package/src/interactive/bus-notices.ts +8 -1
- package/src/interactive/chat-loop-messages.ts +16 -17
- package/src/interactive/chat-loop.ts +75 -3
- package/src/interactive/chat-panel.ts +36 -13
- package/src/interactive/chat-renderer.ts +72 -7
- package/src/interactive/cost-overlay.ts +26 -2
- 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 +4 -1
- 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/renderers/worker-entry.ts +32 -0
- package/src/interactive/slash-commands.ts +153 -20
- package/src/interactive/stream-pacing-policy.ts +0 -23
- package/src/interactive/theme/labels.ts +19 -13
- package/src/interactive/turn-context.ts +39 -20
- package/src/interactive/turn-recovery.ts +8 -0
- package/src/interactive/turn-runtime.ts +27 -11
- package/src/interactive/turn-state.ts +7 -0
- package/src/interactive/worker-receipts.ts +1 -0
- package/src/interactive/worker-stream.ts +6 -1
- 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 +59 -21
- package/src/tools/core-bootstrap.ts +28 -6
- package/src/tools/credential-present.ts +1 -2
- package/src/tools/dispatch-arguments.ts +6 -1
- package/src/tools/dispatch-event-text.ts +10 -0
- package/src/tools/dispatch-plan.ts +49 -4
- package/src/tools/dispatch-run-events.ts +1 -1
- package/src/tools/dispatch-runner.ts +12 -0
- 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 +41 -12
- 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/src/tools/worker-evidence.ts +3 -1
- package/src/worker/spec-contract.ts +4 -0
- package/dist/builtins-UJLMOVOV.js +0 -17
- 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/dist/chunk-Y45G3AXC.js +0 -1558
- package/dist/reset-EOLM7GVE.js +0 -230
- package/dist/uninstall-N34PCTGJ.js +0 -331
- package/dist/upgrade-H7TOM7YL.js +0 -323
- package/docs/artifact-versions.md +0 -67
- package/docs/development-pipeline.md +0 -121
- package/docs/documentation-coverage.md +0 -46
- package/docs/documentation-guide.md +0 -167
- package/docs/time-conventions.md +0 -101
|
@@ -1,69 +1,96 @@
|
|
|
1
1
|
# Where Clio's tests live
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
The root repository has contract and smoke tests under `tests/`; import
|
|
4
|
+
boundaries run through the lint hygiene checker. Add a test beside the closest
|
|
5
|
+
current behavior, and create a new file only for a genuinely new cluster.
|
|
5
6
|
|
|
6
7
|
## Layout
|
|
7
8
|
|
|
8
|
-
|
|
|
9
|
+
| Lane | Path | Runner | Build needed |
|
|
9
10
|
|---|---|---|---|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
|
|
|
11
|
+
| Contracts | `tests/contracts/*.test.ts` | `npm run test:file -- <file-or-files>` through tsx and the temp-root preload | No; imports `src/` |
|
|
12
|
+
| Smoke | `tests/smoke/*.test.ts` | `npm run test:file -- <file-or-files>` | Yes; spawns `dist/cli/index.js` |
|
|
13
|
+
| Boundaries | `tests/boundaries/check-boundaries.ts` | `npm run lint` through `scripts/check-hygiene.ts` | No |
|
|
14
|
+
| Root full suite | Contract and smoke files | `npm run test` | Yes for current smoke behavior |
|
|
15
|
+
| Trace viewer | `apps/trace-viewer/tests/*.test.mjs` | `npm run test:trace-viewer` | No |
|
|
16
|
+
| Workbench | `apps/workbench/tests/` | `deno task verify` from `apps/workbench` | The command builds the app |
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
`clock.ts` (steppable clock), plus dispatch, receipt, and module-graph helpers.
|
|
19
|
-
Everything under `tests/` stubs the model. Real-model runs are
|
|
20
|
-
`benchmarks/internal/` and never run under `npm test`.
|
|
18
|
+
`npm run ci` orders typecheck, lint, skill-pin verification, build, the root
|
|
19
|
+
suite, and trace-viewer tests. `npm run ci:release` adds the release audit. The
|
|
20
|
+
Workbench gate is separate.
|
|
21
21
|
|
|
22
|
-
## Contract
|
|
22
|
+
## Contract files
|
|
23
23
|
|
|
24
|
-
| Area |
|
|
24
|
+
| Area | Current files under `tests/contracts/` |
|
|
25
25
|
|---|---|
|
|
26
|
-
|
|
|
27
|
-
| context bootstrap
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
| skills
|
|
35
|
-
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
| Authentication | `auth-login-write-failure`, `auth-storage-durability` |
|
|
27
|
+
| Context, session, and state | `context-lifecycle`, `memory-scope`, `project-bootstrap`, `session-durability`, `state-file-lock`, `task-board-done`, `working-set-core` |
|
|
28
|
+
| Config, routing, and presentation | `footer-context-window`, `knob-aliases`, `pane-remedies`, `rendering-invariants`, `route-identity-keying`, `settings-migration` |
|
|
29
|
+
| Dispatch, fleet, and workers | `dispatch-admission`, `dispatch-lifecycle`, `dispatch-schema`, `fleet-lifecycle`, `host-verification-batch`, `intent-requirements`, `worker-attestation-surface`, `worker-boundary` |
|
|
30
|
+
| Prompts, engine loop, and middleware | `compact-prompt-contracts`, `engine-lifecycle`, `loop-detector`, `loop-guard-epoch`, `middleware-hooks`, `prompt-cache-correctness`, `prompt-prefix-layout`, `prompt-role-routing`, `prompt-session-snapshot`, `prompt-tool-hints` |
|
|
31
|
+
| Providers and model policy | `gemma-channel-filter`, `llamacpp-router-probe`, `local-model-family-resolution`, `provider-context-boundary`, `provider-transport`, `synthesis-lock`, `thinking-off-wire` |
|
|
32
|
+
| Safety and tools | `bash-exec-settlement`, `rejection-feedback`, `safe-resource-write`, `safety-gates`, `tool-boundaries` |
|
|
33
|
+
| Evidence, eval, and release | `eval-boundary`, `evidence-integrity`, `metering-integrity`, `release-boundary` |
|
|
34
|
+
| Extensions, interop, and skills | `extension-compatibility`, `extension-reload-coordinator`, `extension-reload-slash`, `extension-resources`, `extension-snapshot`, `interop-boundary`, `marketplace-offer`, `skill-install` |
|
|
35
|
+
| Documentation server | `docs-server` |
|
|
36
|
+
|
|
37
|
+
Append `.test.ts` to every stem in the table. Use `rg` over the files before
|
|
38
|
+
choosing a lane; related behavior can span more than one focused contract.
|
|
39
|
+
|
|
40
|
+
## Smoke files
|
|
41
|
+
|
|
42
|
+
| Boundary | File under `tests/smoke/` |
|
|
43
|
+
|---|---|
|
|
44
|
+
| ACP v1 over JSON-RPC stdio, permission requests, and text/image content | `acp-boundary.test.ts` |
|
|
45
|
+
| Core CLI health, local-provider run, receipts, events, and autonomy | `cli-core.test.ts` |
|
|
46
|
+
| `npm pack`, installed resources, and installed codewiki navigation | `installed-package.test.ts` |
|
|
47
|
+
| Signal propagation through a real tool child | `process-lifecycle.test.ts` |
|
|
48
|
+
| Real-binary setup, onboarding, migration, and launch behavior | `real-binary-boot.test.ts` |
|
|
49
|
+
|
|
50
|
+
The smoke files own their child-process helpers. There is no shared
|
|
51
|
+
`tests/harness/spawn.ts` and no PTY smoke lane in the current tree.
|
|
52
|
+
|
|
53
|
+
## Harness and fixture modules
|
|
54
|
+
|
|
55
|
+
| File | Purpose |
|
|
41
56
|
|---|---|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
57
|
+
| `tests/harness/tmp-root.ts` | Preloaded guarded temp root and cleanup for every root test run |
|
|
58
|
+
| `tests/harness/tmp-git-guard.ts` | Prevents accidental `.git` creation in the system or test temp root |
|
|
59
|
+
| `tests/harness/scratch-env.ts` | Child-process and in-process Clio state isolation |
|
|
60
|
+
| `tests/harness/dispatch.ts` | Dispatch bundle, fast reproducibility, isolated state, and event-loop helpers |
|
|
61
|
+
| `tests/harness/dispatch-stub-context.ts` | Minimal domain context for dispatch contracts |
|
|
62
|
+
| `tests/harness/receipt.ts` | Typed run-envelope and receipt fixtures |
|
|
63
|
+
| `tests/harness/openai-compat-fixture.ts` | Loopback OpenAI-compatible server and target seeders |
|
|
64
|
+
|
|
65
|
+
Child fixtures in `tests/fixtures/` are
|
|
66
|
+
`capacity-lease-child.ts`, `codewiki-coordinator-child.ts`, and
|
|
67
|
+
`evidence-index-writer.ts`.
|
|
48
68
|
|
|
49
69
|
## Running a subset
|
|
50
70
|
|
|
51
71
|
```bash
|
|
52
|
-
# all contracts
|
|
53
|
-
npm run test:file --
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
npm run
|
|
72
|
+
# all contracts (the shell expands the file pattern)
|
|
73
|
+
npm run test:file -- tests/contracts/*.test.ts
|
|
74
|
+
|
|
75
|
+
# one contract or smoke file
|
|
76
|
+
npm run test:file -- tests/contracts/skill-install.test.ts
|
|
77
|
+
npm run build
|
|
78
|
+
npm run test:file -- tests/smoke/cli-core.test.ts
|
|
79
|
+
|
|
80
|
+
# only it.only or describe.only within one file
|
|
81
|
+
npm run test:file -- --test-only tests/contracts/skill-install.test.ts
|
|
58
82
|
```
|
|
59
83
|
|
|
60
84
|
## Writing tests
|
|
61
85
|
|
|
62
|
-
- `node:test`
|
|
63
|
-
-
|
|
64
|
-
- `tsconfig.tests.json`
|
|
65
|
-
`exactOptionalPropertyTypes`; narrow
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
-
|
|
69
|
-
|
|
86
|
+
- Use `node:test` and `node:assert/strict`.
|
|
87
|
+
- End local TypeScript import specifiers in `.js` for NodeNext resolution.
|
|
88
|
+
- Keep `tsconfig.tests.json` strict, including `noUncheckedIndexedAccess` and
|
|
89
|
+
`exactOptionalPropertyTypes`; narrow indexed values before use.
|
|
90
|
+
- Let the package script preload `tmp-root.ts`. Tests that mutate Clio state or
|
|
91
|
+
`process.env` should use `scratch-env.ts` and restore in teardown.
|
|
92
|
+
- Use a loopback fixture for provider behavior. Do not contact a configured or
|
|
93
|
+
public model from a deterministic test.
|
|
94
|
+
- Build before a focused smoke run. `npm run ci` already builds before testing.
|
|
95
|
+
- Keep a smoke process driver local to the boundary it exercises unless a
|
|
96
|
+
genuinely shared contract appears.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: credentials
|
|
3
|
-
description:
|
|
3
|
+
description: Handles API keys, tokens, and facility credentials (kerberos tickets, globus and scheduler tokens, ssh agents, netrc) before a tool needs one, after an auth error, when a new secret is supplied, or when one may have leaked. Not for provider target configuration; use clio-coder auth and target settings.
|
|
4
4
|
triggers:
|
|
5
5
|
- API key
|
|
6
6
|
- credential missing
|
|
@@ -8,7 +8,7 @@ triggers:
|
|
|
8
8
|
- permission denied
|
|
9
9
|
- add a secret
|
|
10
10
|
- secret leaked
|
|
11
|
-
version: 0.
|
|
11
|
+
version: 0.2.0
|
|
12
12
|
license: Apache-2.0
|
|
13
13
|
allowed-tools:
|
|
14
14
|
- read
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: find-skills
|
|
3
|
-
description:
|
|
3
|
+
description: Finds and installs published skills when the user asks whether a capability exists as a skill, searching with clio-coder skills search and installing only through clio-coder skills install. Not for authoring a new skill; use skill-craft.
|
|
4
4
|
triggers:
|
|
5
5
|
- find a skill
|
|
6
6
|
- is there a skill for this
|
|
7
7
|
- install a skill
|
|
8
8
|
- add an agent skill
|
|
9
9
|
- search the skills marketplace
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.2.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- bash
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: herdr
|
|
3
|
-
description:
|
|
3
|
+
description: Launches, drives, or inspects another agent or command in a Herdr pane, tab, or workspace, including a second Clio Coder instance; requires HERDR_ENV=1. Not for background work a plain shell or dispatch already covers.
|
|
4
4
|
triggers:
|
|
5
5
|
- use Herdr
|
|
6
6
|
- launch an agent in a Herdr pane
|
|
7
7
|
- inspect a Herdr agent
|
|
8
8
|
- start a second Clio Coder instance
|
|
9
9
|
- drive a command in a Herdr workspace
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.2.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- bash
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skill-craft
|
|
3
|
-
description:
|
|
3
|
+
description: Writes, reviews, or prunes a SKILL.md, judging whether its description, body, and length earn their cost. Not for packaging a workflow that just happened; use workflow-distiller.
|
|
4
4
|
triggers:
|
|
5
5
|
- write a SKILL.md
|
|
6
6
|
- create a new skill
|
|
7
7
|
- improve this skill
|
|
8
8
|
- why isn't this skill firing
|
|
9
9
|
- prune a skill body
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.3.0
|
|
11
11
|
license: Apache-2.0
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- read
|
|
@@ -36,11 +36,14 @@ tool. Project skills live in `.clio-coder/skills/<name>/`; user skills in the Cl
|
|
|
36
36
|
config dir under `skills/<name>/`. The loader validates on load; check work
|
|
37
37
|
with `clio-coder skills validate`. Frontmatter contract (Agent Skills compatible):
|
|
38
38
|
|
|
39
|
-
- `name`: lowercase-hyphen, ≤64 chars
|
|
39
|
+
- `name`: lowercase-hyphen, ≤64 chars. Catalog convention requires it to match
|
|
40
|
+
the folder; the runtime loader warns on a mismatch and uses the frontmatter
|
|
41
|
+
name.
|
|
40
42
|
- `description`: required, ≤1024 chars; its craft is the section below. Quote
|
|
41
43
|
it when it contains ` #` — an unquoted YAML scalar is truncated there.
|
|
42
|
-
- `version` and `license`: required for catalog publication
|
|
43
|
-
|
|
44
|
+
- `version` and `license`: required for catalog publication. Follow the
|
|
45
|
+
marketplace versioning policy for body, trigger-surface, and sibling-file
|
|
46
|
+
changes; the normalized `SKILL.md` hash handles drift separately.
|
|
44
47
|
- `disable-model-invocation: true`: hides the skill from the agent; only the
|
|
45
48
|
user can activate it.
|
|
46
49
|
- `allowed-tools` / `disallowed-tools`: a *narrowing* declaration, not a
|
|
@@ -50,7 +53,7 @@ with `clio-coder skills validate`. Frontmatter contract (Agent Skills compatible
|
|
|
50
53
|
names only (see skills/README.md, "Claude Code interop").
|
|
51
54
|
- `requires`: `skill:<name>` dependencies; the loader warns when one is
|
|
52
55
|
missing. Reference an installed skill by name instead of restating its job.
|
|
53
|
-
- `clio:`: the reserved publication block (`registry-id`, `source-url`,
|
|
56
|
+
- `clio-coder:`: the reserved publication block (`registry-id`, `source-url`,
|
|
54
57
|
`audit`, `provenance` designed|adapted|imported with `origin` when not
|
|
55
58
|
designed, `eval-status`, optional `model-size` and `agents`). Required for
|
|
56
59
|
catalog skills; approval is judged against it (skills/README.md).
|
|
@@ -66,17 +69,19 @@ but the user must remember it exists: cognitive load. Keep a description only
|
|
|
66
69
|
when the agent must reach the skill on its own or another skill requires it;
|
|
67
70
|
if it only ever fires by hand, set `disable-model-invocation: true`.
|
|
68
71
|
|
|
69
|
-
## Description
|
|
72
|
+
## Description and Triggers
|
|
70
73
|
|
|
71
|
-
|
|
72
|
-
every other skill's
|
|
74
|
+
Two frontmatter fields share the trigger surface, and every word in both
|
|
75
|
+
competes with every other skill's:
|
|
73
76
|
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
use <other-skill>" clause per real boundary.
|
|
79
|
-
|
|
77
|
+
- `triggers`: the phrases a user actually types, one per distinct branch.
|
|
78
|
+
Synonyms restating one branch ("API key", "credential", "token") are
|
|
79
|
+
duplication; keep the strongest.
|
|
80
|
+
- `description`: one lead sentence saying what the skill does, then one
|
|
81
|
+
"Not for X; use <other-skill>" clause per real boundary. It is what the
|
|
82
|
+
agent reads in the `context(scope="skills")` listing on every skill-shaped
|
|
83
|
+
turn, so it carries no trigger list and no identity the body already
|
|
84
|
+
states.
|
|
80
85
|
|
|
81
86
|
## Body: Steps and Reference
|
|
82
87
|
|
|
@@ -113,7 +118,8 @@ Before finishing any skill, pass the body line by line:
|
|
|
113
118
|
or split the skill; a split description must earn its permanent context
|
|
114
119
|
load.
|
|
115
120
|
|
|
116
|
-
Done when: description is
|
|
121
|
+
Done when: the description is one sentence plus routing clauses and the
|
|
122
|
+
triggers carry the phrases, every step has a checkable
|
|
117
123
|
completion criterion, no line fails the relevance/duplication/no-op pass, and
|
|
118
124
|
an `evals.md` records at least one RED-GREEN scenario distinguishing
|
|
119
125
|
with-skill from without.
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: archify
|
|
3
|
+
description: "Validated interactive system maps and diagrams as standalone HTML from a typed JSON spec, for one of five diagram types (architecture, workflow, sequence, dataflow, lifecycle). Use when the user asks to visualize architecture, a workflow, a call sequence, a data pipeline, or a state machine, or to map this repository. Not for ad hoc drawings or slide art, and not for Mermaid output; use the artifact tool for plain Markdown."
|
|
4
|
+
triggers:
|
|
5
|
+
- architecture diagram
|
|
6
|
+
- system map
|
|
7
|
+
- map this repository
|
|
8
|
+
- sequence diagram
|
|
9
|
+
- data flow diagram
|
|
10
|
+
- state machine diagram
|
|
11
|
+
- visualize the architecture
|
|
12
|
+
version: 0.1.0
|
|
13
|
+
license: MIT
|
|
14
|
+
allowed-tools:
|
|
15
|
+
- bash
|
|
16
|
+
- read
|
|
17
|
+
- write
|
|
18
|
+
- edit
|
|
19
|
+
- ls
|
|
20
|
+
- grep
|
|
21
|
+
- find
|
|
22
|
+
- code_nav
|
|
23
|
+
- verify
|
|
24
|
+
- context
|
|
25
|
+
clio-coder:
|
|
26
|
+
registry-id: iowarp/clio-coder
|
|
27
|
+
source-url: https://github.com/iowarp/clio-coder/tree/main/skills/planning/archify
|
|
28
|
+
audit: pass
|
|
29
|
+
provenance: adapted
|
|
30
|
+
origin: https://github.com/tt-a1i/archify/tree/v2.16.0/archify
|
|
31
|
+
eval-status: scenarios-recorded
|
|
32
|
+
model-size: any
|
|
33
|
+
agents:
|
|
34
|
+
- main
|
|
35
|
+
- architect
|
|
36
|
+
- documenter
|
|
37
|
+
- wiki-writer
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# Archify
|
|
41
|
+
|
|
42
|
+
Create a self-contained interactive HTML diagram from a small typed JSON
|
|
43
|
+
specification. The renderer is the upstream archify package installed
|
|
44
|
+
beside this file; the skill base directory is the directory that holds
|
|
45
|
+
`bin/`. Every command below runs as
|
|
46
|
+
`node .clio-coder/skills/archify/bin/archify.mjs ...` for a project-scope
|
|
47
|
+
install, or `node <clio config dir>/skills/archify/bin/archify.mjs ...` for a
|
|
48
|
+
user-scope install. No install step, no network, and no dependencies beyond
|
|
49
|
+
Node 18 or later.
|
|
50
|
+
|
|
51
|
+
## Fast authoring path
|
|
52
|
+
|
|
53
|
+
1. Choose `architecture`, `workflow`, `sequence`, `dataflow`, or `lifecycle`
|
|
54
|
+
from the question. When ambiguous, run
|
|
55
|
+
`node <skill>/bin/archify.mjs guide "<scenario>" --json`.
|
|
56
|
+
2. Read one matching schema in `schemas/`, `schemas/common.schema.json`, and
|
|
57
|
+
one matching example in `examples/`. Read only those files. The example
|
|
58
|
+
supplies field shape, never facts: author new stable ids, domain wording,
|
|
59
|
+
and layout. New workflows use `schema_version: 2`.
|
|
60
|
+
3. Write the candidate JSON as the very next action. Do not plan coordinates
|
|
61
|
+
in prose. Start with one clear main path, short side branches, sparse
|
|
62
|
+
labels, and at most 12 primary nodes. Set `meta.quality_profile` to
|
|
63
|
+
`"showcase"` unless the user asks for a dense `standard` map. Start with
|
|
64
|
+
automatic routes and labels; add `via`, `channelX`, `channelY`, or
|
|
65
|
+
`labelAt` only when a diagnostic asks for one, and at most one per repair.
|
|
66
|
+
4. Validate after every edit and immediately before delivery:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node <skill>/bin/archify.mjs validate <type> <candidate.json> --quality showcase --json
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
A showcase pass reports all artifact checks with 0 composition errors
|
|
73
|
+
and 0 warnings. If validation fails, change only the diagnosed `subject`,
|
|
74
|
+
verify `evidence`, choose from `supportedFixes`, and rerun. Stop and report
|
|
75
|
+
the unresolved diagnostics truthfully when two consecutive rounds do not
|
|
76
|
+
lower the error count.
|
|
77
|
+
5. Deliver once, as the final acceptance command:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
node <skill>/bin/archify.mjs deliver <type> <candidate.json> <output.html> --quality showcase --json
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
A non-zero exit is never success. A failed delivery preserves any previous
|
|
84
|
+
output at that path.
|
|
85
|
+
|
|
86
|
+
Do not read renderer, validator, or geometry source before the first
|
|
87
|
+
candidate exists. Inspect implementation only for an unsupported internal
|
|
88
|
+
diagnostic or after two focused repairs fail.
|
|
89
|
+
|
|
90
|
+
## Type router
|
|
91
|
+
|
|
92
|
+
| Type | Use for |
|
|
93
|
+
|---|---|
|
|
94
|
+
| `architecture` | Components, services, boundaries, infrastructure, repository maps |
|
|
95
|
+
| `workflow` | Processes, approval gates, tool calls, runbooks, CI/CD |
|
|
96
|
+
| `sequence` | API call chains, request lifecycles, async traces, returns |
|
|
97
|
+
| `dataflow` | Pipelines, ETL/ELT, lineage, consumers |
|
|
98
|
+
| `lifecycle` | State transitions, retries, waiting and terminal states |
|
|
99
|
+
|
|
100
|
+
Pasted Mermaid is read for topology and meaning, then re-authored as fresh
|
|
101
|
+
archify JSON: `flowchart` becomes `workflow` (or `architecture` for a
|
|
102
|
+
component map), `sequenceDiagram` becomes `sequence`, `stateDiagram` becomes
|
|
103
|
+
`lifecycle`.
|
|
104
|
+
|
|
105
|
+
## Authoring invariants
|
|
106
|
+
|
|
107
|
+
- One obvious main path; side branches leave the nearest main-path node.
|
|
108
|
+
Remove low-value edges before adding routing controls.
|
|
109
|
+
- Omit `meta.visual_preset`, `meta.subtitle`, `meta.legend`, and
|
|
110
|
+
`meta.engineering_profile` by default. Set a visual preset only when the
|
|
111
|
+
user names that style.
|
|
112
|
+
- Component types are `frontend`, `backend`, `database`, `cloud`,
|
|
113
|
+
`security`, `messagebus`, and `external`. Variants are `default`,
|
|
114
|
+
`emphasis`, `security`, and `dashed`.
|
|
115
|
+
- Relationship labels are semantic data. When one collides, move the label
|
|
116
|
+
or adjust spacing first, then shorten wording while preserving meaning.
|
|
117
|
+
Deleting a label is not a geometry repair.
|
|
118
|
+
- Preserve exact product names, identifiers, commands, protocols, and paths.
|
|
119
|
+
`meta.locale` is `"en"` or `"zh-CN"`; omit it for any other language and
|
|
120
|
+
say that the viewer chrome falls back to English.
|
|
121
|
+
- Brand identity is explicit. Put a canonical built-in id in `brand` only
|
|
122
|
+
when the node names that real product; query
|
|
123
|
+
`node <skill>/bin/archify.mjs brands "<name>" --json`. Never infer a brand
|
|
124
|
+
from a role such as "database".
|
|
125
|
+
- Never accept an edge crossing an unrelated opaque node, an ambiguous shared
|
|
126
|
+
corridor, or a label masking another route.
|
|
127
|
+
|
|
128
|
+
Read `references/authoring-contract.md` only when you need field enums,
|
|
129
|
+
spacing math, geometry repair rules, or mode-specific placement.
|
|
130
|
+
|
|
131
|
+
## Placement
|
|
132
|
+
|
|
133
|
+
Write `<name>.<type>.json` and `<name>.html` to `.clio-coder/artifacts/maps/`
|
|
134
|
+
unless the user names an output path. Create the directory first. An
|
|
135
|
+
operator-named path is a human deliverable and lands in the working tree
|
|
136
|
+
where they said. Archify creates `.archify-delivery-*` staging directories
|
|
137
|
+
beside the output during `deliver`, so the output directory must be a
|
|
138
|
+
writable directory inside the workspace, never a read-only or external
|
|
139
|
+
location.
|
|
140
|
+
|
|
141
|
+
## Repository evidence
|
|
142
|
+
|
|
143
|
+
When asked to map a repository, do not author from scratch. First run:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
clio-coder context map --json
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
It reads the codewiki index and writes
|
|
150
|
+
`.clio-coder/artifacts/maps/<repo>.architecture.json`: an architecture spec
|
|
151
|
+
whose components are the repository's largest directory areas and whose
|
|
152
|
+
connections are collapsed import edges. When the origin remote is a GitHub
|
|
153
|
+
URL and `HEAD` is a full revision, the seed also carries `meta.repository`
|
|
154
|
+
and per-component `sources` pointing at real files and lines; otherwise it
|
|
155
|
+
carries neither, because archify accepts source citations only against a
|
|
156
|
+
pinned revision. If it reports that no index exists, run
|
|
157
|
+
`clio-coder context index` and retry. Then refine the seed: rename labels to
|
|
158
|
+
what the areas mean, drop noise edges, and keep `meta.repository` and every
|
|
159
|
+
`sources` entry that came from the seed. Cite additional line ranges only
|
|
160
|
+
from `code_nav mode=outline` results, never from memory, and only when
|
|
161
|
+
`meta.repository` is present. Keep at most 12 primary components; fold
|
|
162
|
+
smaller areas into their parent rather than adding nodes. When the seed
|
|
163
|
+
carries `meta.repository`, pass `--repo-root .` to both `validate` and
|
|
164
|
+
`deliver` so the source paths and line numbers are verified against the
|
|
165
|
+
working tree; without it, run both commands without `--repo-root`.
|
|
166
|
+
|
|
167
|
+
## Delivery and verification
|
|
168
|
+
|
|
169
|
+
`validate` during repair, `deliver` once for acceptance. Delivery freezes the
|
|
170
|
+
exact spec bytes into a same-directory snapshot, renders and checks it,
|
|
171
|
+
atomically commits the HTML, and reports SHA-256 plus byte counts for both
|
|
172
|
+
spec and artifact. That is deterministic artifact evidence; it does not
|
|
173
|
+
exercise the viewer in a browser.
|
|
174
|
+
|
|
175
|
+
After `deliver` exits 0, run the Clio-side check on the committed file:
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
verify(check="frontend", path="<output.html>")
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
That validates structure, local references, and syntax, and loads the page
|
|
182
|
+
in a headless browser when one is on PATH. Archify's own
|
|
183
|
+
`node <skill>/bin/archify.mjs visual-check <output.html> --json` is optional:
|
|
184
|
+
it needs a system Chrome and fails with `viewer/chrome-unavailable` on
|
|
185
|
+
headless nodes. Report that outcome as what it is, never as a pass.
|
|
186
|
+
|
|
187
|
+
Keep the three claims separate: `deliver` proves deterministic artifact
|
|
188
|
+
checks, a browser load proves bounded behavior in a real browser, and
|
|
189
|
+
perceptual visual review requires a human or an image-capable reviewer.
|
|
190
|
+
|
|
191
|
+
## Output
|
|
192
|
+
|
|
193
|
+
Return the HTML path, the diagram type, the validation summary, the
|
|
194
|
+
spec and artifact receipt, the `verify` result, and the visual-review
|
|
195
|
+
status. Do not claim success for a non-zero command or claim inspection you
|
|
196
|
+
did not perform.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Evals — archify
|
|
2
|
+
|
|
3
|
+
RED-GREEN scenarios (subagent WITHOUT the skill vs WITH). Pass/fail per
|
|
4
|
+
bullet. Status: scenarios recorded, not yet executed against a model
|
|
5
|
+
(`eval-status: scenarios-recorded`).
|
|
6
|
+
|
|
7
|
+
Both scenarios assume the skill is installed at project scope
|
|
8
|
+
(`.clio-coder/skills/archify/`) and run from the project root.
|
|
9
|
+
|
|
10
|
+
## S1 — describe a system
|
|
11
|
+
|
|
12
|
+
Setup: empty git repository. Prompt: "Draw the architecture: a browser
|
|
13
|
+
talks to an API, the API uses Redis as a cache and PostgreSQL as its
|
|
14
|
+
store."
|
|
15
|
+
|
|
16
|
+
Expected:
|
|
17
|
+
- Chooses `architecture` and reads exactly one schema plus one example
|
|
18
|
+
before writing.
|
|
19
|
+
- The very next tool action writes
|
|
20
|
+
`.clio-coder/artifacts/maps/<name>.architecture.json` with four
|
|
21
|
+
components (`frontend`, `backend`, `database`, `database`), three
|
|
22
|
+
connections, and `meta.quality_profile: "showcase"`.
|
|
23
|
+
- Runs `validate architecture ... --quality showcase --json`; the receipt
|
|
24
|
+
reports 0 errors and 0 warnings.
|
|
25
|
+
- Runs `deliver` once; exit 0; `.clio-coder/artifacts/maps/<name>.html`
|
|
26
|
+
exists and the receipt carries a SHA-256 for both spec and artifact.
|
|
27
|
+
- Runs `verify(check="frontend", path=<html>)` and reports its result.
|
|
28
|
+
- Never invokes `scripts/check-update.mjs` and never runs `visual-check`
|
|
29
|
+
unless asked; if it does run it on a node without Chrome, reports
|
|
30
|
+
`viewer/chrome-unavailable` as a skipped check, not a pass.
|
|
31
|
+
|
|
32
|
+
RED (baseline without the skill): draws Mermaid or ASCII in the reply,
|
|
33
|
+
never writes a JSON spec, never validates, and claims a diagram that does
|
|
34
|
+
not exist on disk.
|
|
35
|
+
|
|
36
|
+
## S2 — map this repository
|
|
37
|
+
|
|
38
|
+
Setup: a small fixture repository (about 15 TypeScript files across
|
|
39
|
+
`src/cli`, `src/domains/store`, and `src/domains/api`) with a GitHub
|
|
40
|
+
`origin` remote, a committed `HEAD`, and a codewiki index already built by
|
|
41
|
+
`clio-coder context index`. Prompt: "Map this repository."
|
|
42
|
+
|
|
43
|
+
Expected:
|
|
44
|
+
- Runs `clio-coder context map --json` before authoring anything.
|
|
45
|
+
- Keeps `meta.repository` (when present) and every seeded `sources` entry;
|
|
46
|
+
adds line ranges only from `code_nav mode=outline`.
|
|
47
|
+
- Component count stays at or below 12; the `store` area carries
|
|
48
|
+
`type: "database"`.
|
|
49
|
+
- Runs `validate architecture <seed> --repo-root . --quality standard
|
|
50
|
+
--json`; 0 errors.
|
|
51
|
+
- Runs `deliver ... --repo-root .`; exit 0; the HTML exists under
|
|
52
|
+
`.clio-coder/artifacts/maps/`.
|
|
53
|
+
- If the index is missing, tells the user to run `clio-coder context
|
|
54
|
+
index` instead of inventing components.
|
|
55
|
+
|
|
56
|
+
RED (baseline without the skill): lists directories from `ls` as
|
|
57
|
+
components with invented edges, no line evidence, no `--repo-root`
|
|
58
|
+
verification, and no delivered HTML.
|
|
59
|
+
|
|
60
|
+
## Baseline failure modes to watch for
|
|
61
|
+
|
|
62
|
+
- Authoring coordinates in prose before the first candidate.
|
|
63
|
+
- Reading renderer source before the first candidate.
|
|
64
|
+
- Editing the spec after the final passing validation.
|
|
65
|
+
- Reporting a non-zero `deliver` or a missing Chrome as success.
|