@iowarp/clio-coder 0.4.6 → 0.4.7
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/.claude-plugin/marketplace.json +283 -0
- package/CHANGELOG.md +50 -0
- package/CONTRIBUTING.md +102 -29
- package/NOTICE +8 -0
- package/README.md +37 -5
- package/dist/{acp-UVEVWSDL.js → acp-W3Y3TRHD.js} +12 -12
- package/dist/{agents-VWY37DTK.js → agents-J4ICNLQ3.js} +52 -52
- package/dist/assets/codewiki.json +1 -1
- package/dist/assets/tui-notices/get-east-asian-width-LICENSE +9 -0
- package/dist/assets/tui-notices/marked-LICENSE +44 -0
- package/dist/assets/tui-notices/pi-tui-LICENSE +21 -0
- package/dist/{auth-PCV2XQDV.js → auth-X2UJUMOC.js} +24 -24
- package/dist/{builtins-PD652MTK.js → builtins-XLXWWSRF.js} +6 -6
- package/dist/{chunk-DZK63TZJ.js → chunk-24S3DN22.js} +336 -612
- package/dist/{chunk-NTK3WTHM.js → chunk-24TOGHPO.js} +2 -2
- package/dist/{chunk-M6TAYK66.js → chunk-2O2LVQQK.js} +11 -4
- package/dist/{chunk-OQM5IVJY.js → chunk-34XHRVKG.js} +3 -3
- package/dist/{chunk-LY4N4TTL.js → chunk-3LXJOICS.js} +2 -2
- package/dist/{chunk-3BJGMT2D.js → chunk-3XE4NRLF.js} +1 -1
- package/dist/{chunk-N2OKBREN.js → chunk-4MFBBY2Z.js} +3 -3
- package/dist/{chunk-5VTJP36Q.js → chunk-4N2RZ4TO.js} +2 -2
- package/dist/{chunk-WNGF5AJX.js → chunk-4QKAITQT.js} +3 -3
- package/dist/chunk-4UHVS5T7.js +207 -0
- package/dist/{chunk-GLYBJ4RQ.js → chunk-5AJPUR72.js} +6 -6
- package/dist/{chunk-5CY4Q6QI.js → chunk-5EQO5NWP.js} +105 -3
- package/dist/{chunk-6HAO6X5B.js → chunk-65BGHOUR.js} +8 -5
- package/dist/{chunk-6VRRJT7L.js → chunk-6CA2BHOR.js} +2 -2
- package/dist/{chunk-HL26ADLH.js → chunk-6CB2IL4N.js} +2 -1
- package/dist/{chunk-E7RF4KBO.js → chunk-6LRLOJHQ.js} +3 -3
- package/dist/{chunk-HXHFDHB6.js → chunk-6TAATXXH.js} +6 -6
- package/dist/{chunk-P6M7RKMI.js → chunk-6YHPAAZR.js} +3 -3
- package/dist/{chunk-5QRX7SLS.js → chunk-7EEGBKV4.js} +7 -7
- package/dist/{chunk-BS4GAMUB.js → chunk-A67NR5AT.js} +2 -2
- package/dist/{chunk-WJIMKGD6.js → chunk-BAU36233.js} +8 -8
- package/dist/{chunk-PZN2LQY6.js → chunk-BO4XV5VX.js} +4 -4
- package/dist/{chunk-I2K2NCZQ.js → chunk-BQQ5MXUC.js} +6 -6
- package/dist/{chunk-X3BI7HTV.js → chunk-C3G5PNUO.js} +21 -21
- package/dist/{chunk-SRZOW5L2.js → chunk-C6GEXX4L.js} +1 -1
- package/dist/{chunk-6RYDAVQT.js → chunk-CE64C5K5.js} +219 -64
- package/dist/chunk-CP3HIR5H.js +2119 -0
- package/dist/{chunk-BBV5TKE6.js → chunk-CPXGJI2A.js} +2 -2
- package/dist/{chunk-IGLVVNEG.js → chunk-CULVKYTK.js} +4 -4
- package/dist/{chunk-DXLUVUD4.js → chunk-D2T66PDV.js} +5 -5
- package/dist/{chunk-NF3BK5WR.js → chunk-DACXIVVF.js} +5 -5
- package/dist/{chunk-IKRWLEDA.js → chunk-DLIYANB7.js} +20 -15
- package/dist/{chunk-RGZNQ5CT.js → chunk-DO7M3LSX.js} +9 -9
- package/dist/{chunk-2QPI3TR3.js → chunk-DVJL77SO.js} +2 -2
- package/dist/{chunk-ODUTYZIU.js → chunk-EUEXGXXR.js} +5 -5
- package/dist/{chunk-WKUYQBCG.js → chunk-EUZRMP4Y.js} +18 -16
- package/dist/{chunk-JMPL7NUB.js → chunk-G4LGUTOE.js} +4 -4
- package/dist/{chunk-CBSKDFWL.js → chunk-GEVQNST4.js} +2 -2
- package/dist/{chunk-NNWJYUNO.js → chunk-GFQ7P2UF.js} +7 -7
- package/dist/{chunk-SXQKNKRA.js → chunk-GI5RRMAH.js} +14 -14
- package/dist/{chunk-HPTJF6DG.js → chunk-GVZFCJHE.js} +336 -83
- package/dist/{chunk-ACCKVSHU.js → chunk-GXIWHXDB.js} +3 -3
- package/dist/{chunk-LUL5Z66S.js → chunk-HOX4YZ2K.js} +6 -5
- package/dist/chunk-HRAKUPIH.js +57 -0
- package/dist/{chunk-F5Z7EWMN.js → chunk-IJMW64DX.js} +50 -50
- package/dist/{chunk-QNWRHOMF.js → chunk-IMOD2YPV.js} +16 -9
- package/dist/{chunk-HZ2T2YED.js → chunk-IQCNVLO6.js} +28 -8
- package/dist/{chunk-HZFBVU5X.js → chunk-ISNCCX42.js} +8 -8
- package/dist/{chunk-7JSSKXG2.js → chunk-IZYTT3CD.js} +7 -3
- package/dist/chunk-KKEYGFX4.js +915 -0
- package/dist/{chunk-HHVJNVUJ.js → chunk-KS7ETA3P.js} +2 -2
- package/dist/{chunk-BLTEAUCB.js → chunk-L3Z5ANCV.js} +7 -7
- package/dist/{chunk-4VMV6OS6.js → chunk-LBFQMYS3.js} +2 -2
- package/dist/{chunk-URBGEOH3.js → chunk-M6Z2V6YU.js} +5 -5
- package/dist/{chunk-BT7HGDOX.js → chunk-MBJO5VNZ.js} +12 -12
- package/dist/chunk-MNQN3X6Y.js +595 -0
- package/dist/{chunk-3QKXHCGS.js → chunk-MZHXENL7.js} +5 -5
- package/dist/chunk-MZNWZUJM.js +1801 -0
- package/dist/{chunk-7YJWEF2L.js → chunk-N37QC5FV.js} +5 -5
- package/dist/{chunk-TJFDL26W.js → chunk-NCCQ6DVS.js} +7 -7
- package/dist/{chunk-P5JMBPDJ.js → chunk-NO7J45X6.js} +162 -47
- package/dist/chunk-OH3YYA3B.js +15 -0
- package/dist/{chunk-22PQ4TX4.js → chunk-P4DL2LM5.js} +16 -77
- package/dist/{chunk-LIN2K3EL.js → chunk-PFLOULP3.js} +4 -4
- package/dist/{chunk-QXFBABFJ.js → chunk-QKWL7SYE.js} +11 -11
- package/dist/chunk-RFCKPS2V.js +26 -0
- package/dist/{chunk-ZS43Y2FT.js → chunk-RTLNFZMD.js} +12 -4
- package/dist/{chunk-U7H5WRG5.js → chunk-RXFPB32E.js} +8 -6
- package/dist/{chunk-Q7NNUHQV.js → chunk-SEDI5K5B.js} +16 -16
- package/dist/{chunk-WV6TDAPN.js → chunk-SELG4SUR.js} +7 -7
- package/dist/{chunk-3WBALRQH.js → chunk-SER7RRAE.js} +27 -832
- package/dist/{chunk-K2HL3GBL.js → chunk-T4TY5GG3.js} +165 -15
- package/dist/chunk-T7QQBNLH.js +691 -0
- package/dist/{chunk-6OII3LOK.js → chunk-TLTGZTXI.js} +3 -3
- package/dist/chunk-TZ6UVP2H.js +637 -0
- package/dist/{chunk-3JLFK5MW.js → chunk-TZHN5ITX.js} +13 -41
- package/dist/{chunk-VANN3GDP.js → chunk-U3TPUXOQ.js} +399 -234
- package/dist/{chunk-VHMX7SXF.js → chunk-UA3W4FGC.js} +6 -6
- package/dist/{chunk-3O2ZAUGQ.js → chunk-UA6W4XFJ.js} +2 -2
- package/dist/chunk-UWD3JD5X.js +709 -0
- package/dist/chunk-V4ZKOKRB.js +13433 -0
- package/dist/{chunk-NC4KV7EL.js → chunk-VCRVEDUC.js} +5 -5
- package/dist/{chunk-4DU2TVI4.js → chunk-VMATUZB6.js} +12 -10
- package/dist/{chunk-J2FYEQ5L.js → chunk-VTYHHQ57.js} +2 -2
- package/dist/chunk-WB7POC6M.js +891 -0
- package/dist/{chunk-3HQVBIKD.js → chunk-WBVKKTUT.js} +2 -2
- package/dist/{chunk-EHOSNVVM.js → chunk-WLHX3MM5.js} +6 -2
- package/dist/{chunk-24T2YZ7A.js → chunk-WN552PKN.js} +553 -298
- package/dist/{chunk-4U4TKZFR.js → chunk-WT5TRMO4.js} +51 -26
- package/dist/{chunk-XWMSPJYN.js → chunk-WURGVOZJ.js} +56 -12
- package/dist/{chunk-7WUZEB2M.js → chunk-XR3XJN2M.js} +2 -2
- package/dist/chunk-XW2UZICE.js +372 -0
- package/dist/{chunk-2AKYFREM.js → chunk-XZ6UFQ52.js} +11 -11
- package/dist/chunk-Y3JU5RPK.js +8 -0
- package/dist/chunk-YKRJTYNP.js +1143 -0
- package/dist/{chunk-PWWSIB2A.js → chunk-ZGIGW4ZG.js} +5 -5
- package/dist/cli/index.js +34 -36
- package/dist/{clio-QQCMTUZE.js → clio-L2P7S2R2.js} +9 -9
- package/dist/{code-nav-GUPM6766.js → code-nav-B5LNX4KU.js} +25 -25
- package/dist/{components-TNIKXCBH.js → components-63MMQKUT.js} +6 -6
- package/dist/{config-IIM7YOD3.js → config-YXARKGTX.js} +70 -67
- package/dist/{configure-4ZM5HWJX.js → configure-LMVQJ46J.js} +47 -35
- package/dist/{context-OL5P3HEP.js → context-7HJEWTTP.js} +87 -44
- package/dist/{context-44BZLJ3J.js → context-XSZKKFBW.js} +14 -14
- package/dist/{context-AIDVQKMW.js → context-YG2LZDYZ.js} +60 -58
- package/dist/{context-clear-OQV76MYP.js → context-clear-AC5NXHM2.js} +57 -55
- package/dist/{context-index-HP2JFUWA.js → context-index-KKTPRV5G.js} +3 -3
- package/dist/{context-map-INTXD54D.js → context-map-T7ROR5D5.js} +4 -4
- package/dist/{context-working-set-ZUW3EGLS.js → context-working-set-F4Q4J3NS.js} +12 -10
- package/dist/{detail-UXPWRANG.js → detail-H73BEF2N.js} +58 -56
- package/dist/{dispatch-runner-P3ZW6G77.js → dispatch-runner-3RY5FSJC.js} +74 -72
- package/dist/{doctor-JJVGPZWT.js → doctor-EQYJOGUG.js} +44 -30
- package/dist/{eval-V2RTN3UH.js → eval-4P7O6CCE.js} +109 -46
- package/dist/{evidence-35PYWGSO.js → evidence-D6GUSYJW.js} +57 -55
- package/dist/{evidence-CIGGKI6J.js → evidence-O76QF7TZ.js} +62 -59
- package/dist/{evolve-33SM3NJP.js → evolve-H47BCETS.js} +58 -56
- package/dist/{extensions-YVRHX6ZI.js → extensions-NNL3ZOCU.js} +98 -20
- package/dist/{fleet-LFO7SIPC.js → fleet-KMNS6NOM.js} +106 -99
- package/dist/{fleet-commands-RLK72GU3.js → fleet-commands-DOWSYCBX.js} +14 -14
- package/dist/{fleet-decisions-3SBSCTCW.js → fleet-decisions-S3PTZV2D.js} +9 -9
- package/dist/{fleet-graph-JZIBCGMW.js → fleet-graph-F2DE2TME.js} +26 -24
- package/dist/{fleet-inspect-2L5YGGZJ.js → fleet-inspect-EN2Q6IVB.js} +60 -57
- package/dist/{fleet-preflight-QRSHIIDE.js → fleet-preflight-FRLETDD3.js} +3 -3
- package/dist/{fleet-validate-LIAVKDUU.js → fleet-validate-B2XDLS57.js} +28 -29
- package/dist/{fleet-verify-JIK3OQZR.js → fleet-verify-4JKUWGJ7.js} +57 -55
- package/dist/{fleet-view-IWHYGQKK.js → fleet-view-BHJFW26B.js} +60 -57
- package/dist/{init-NJEDOTQW.js → init-XAT5N5YM.js} +79 -74
- package/dist/interop-FVECHFKG.js +246 -0
- package/dist/{inventory-74UL7UHU.js → inventory-7KFQGLCV.js} +60 -57
- package/dist/library-NY2XOT75.js +492 -0
- package/dist/library-QAPAO23R.js +306 -0
- package/dist/library-import-5Y6MAS3R.js +183 -0
- package/dist/library-inventory-JT6HWITQ.js +56 -0
- package/dist/library-validation-EQUH25DC.js +42 -0
- package/dist/{memory-I76I5VUH.js → memory-DYVTTCP6.js} +58 -56
- package/dist/{models-D4YDIQZQ.js → models-MASFJ6Y2.js} +48 -36
- package/dist/{monitor-NKVD55HX.js → monitor-YMP4NXJJ.js} +64 -61
- package/dist/{orchestrator-I6OATVPK.js → orchestrator-AFQRRTEI.js} +3685 -1841
- package/dist/{panes-7BTYH3XQ.js → panes-D3Y2KFG5.js} +4 -4
- package/dist/{panes-WPOMEMRH.js → panes-NICTHQCV.js} +7 -7
- package/dist/{paths-J3KN7UAO.js → paths-PSFAUIGO.js} +5 -5
- package/dist/{preload-EJAWJEIO.js → preload-5Q7VXRFJ.js} +57 -55
- package/dist/{reset-4XMQKDNZ.js → reset-7NKZK7JN.js} +9 -9
- package/dist/{resources-TVYVXK3Q.js → resources-NILSIZAT.js} +94 -38
- package/dist/{run-OWQNNSJU.js → run-BPZGEBZV.js} +121 -105
- package/dist/{share-NPZZMUXG.js → share-EZ6ERBMH.js} +31 -28
- package/dist/skills-BTVVNYVM.js +100 -0
- package/dist/{skills-eval-J5TCKSJA.js → skills-eval-UY34MNK7.js} +110 -72
- package/dist/{skills-inventory-7II4DM57.js → skills-inventory-JDHSIA7I.js} +30 -25
- package/dist/{slash-commands-MDSDSWYF.js → slash-commands-K4FNQ2AT.js} +49 -46
- package/dist/{steer-S7D7IKPU.js → steer-2B3EQGFH.js} +4 -4
- package/dist/{support-5VAEC32W.js → support-L2SOL3IE.js} +7 -7
- package/dist/{targets-KILZEOCE.js → targets-44VKGFLN.js} +64 -58
- package/dist/{tasks-R6P6OV22.js → tasks-3KODKFU7.js} +12 -12
- package/dist/{terminal-lease-LZCG2KN3.js → terminal-lease-LXA7MMPO.js} +32 -19
- package/dist/{tools-6OCQ6SVB.js → tools-3UB7TEVR.js} +7 -7
- package/dist/{trace-JHLXWUMN.js → trace-TAMIU4OJ.js} +5 -4
- package/dist/{tui-primitives-RCY2HN7G.js → tui-primitives-A6MUW32V.js} +3 -2
- package/dist/{uninstall-FXYMFFRT.js → uninstall-QYVRPEM4.js} +9 -9
- package/dist/{upgrade-D2OZH6IQ.js → upgrade-7PMKM2JH.js} +15 -16
- package/dist/{usage-PIASNUS4.js → usage-6EQV7EQK.js} +70 -67
- package/dist/{verifiers-LTHUY2PX.js → verifiers-JLITWSHU.js} +15 -15
- package/dist/{verify-HYF7KBVE.js → verify-T7NAEVIG.js} +13 -13
- package/dist/{web-fetch-MQN4FH3X.js → web-fetch-W4TNW4Q7.js} +4 -4
- package/dist/{wiki-generate-RK7JQ5NP.js → wiki-generate-T2TJQJUA.js} +81 -76
- package/dist/{with-panes-OFTNAR4Y.js → with-panes-CHFC7HGI.js} +4 -4
- package/dist/worker/entry.js +283 -76
- package/docs/README.md +43 -0
- package/docs/architecture/architecture.md +8 -7
- package/docs/architecture/artifact-versions.md +3 -3
- package/docs/architecture/context-engine.md +35 -1
- package/docs/architecture/library.md +32 -0
- package/docs/architecture/middleware-and-components.md +1 -1
- package/docs/architecture/model-catalog.md +21 -1
- package/docs/architecture/pi-boundary.md +18 -0
- package/docs/architecture/prompt-envelope-and-tools.md +5 -5
- package/docs/architecture/safety-model.md +21 -2
- package/docs/architecture/session-lifecycle.md +12 -1
- package/docs/architecture/tui-design.md +108 -9
- package/docs/architecture/worker-context.md +106 -0
- package/docs/guide/authoring-plugins.md +160 -0
- package/docs/guide/built-in-agents.md +5 -5
- package/docs/guide/commands-and-modes.md +161 -56
- package/docs/guide/configuration-and-targets.md +1 -1
- package/docs/guide/configuration-reference.md +27 -34
- package/docs/guide/environment-variables.md +2 -2
- package/docs/guide/exit-codes-and-output.md +1 -1
- package/docs/guide/extensions-and-sharing.md +93 -53
- package/docs/guide/fleet-dispatch.md +31 -4
- package/docs/guide/glossary.md +1 -1
- package/docs/guide/harness-extensions.md +291 -0
- package/docs/guide/installation-and-lifecycle.md +9 -9
- package/docs/guide/interop.md +243 -0
- package/docs/guide/panes-and-files.md +3 -3
- package/docs/guide/plugins.md +80 -0
- package/docs/guide/resource-library.md +111 -45
- package/docs/guide/skills-marketplace.md +35 -72
- package/docs/guide/tool-usage.md +19 -7
- package/docs/guide/troubleshooting.md +1 -1
- package/docs/process/development-pipeline.md +14 -14
- package/docs/process/documentation-coverage.md +28 -1
- package/docs/process/documentation-guide.md +15 -7
- package/docs/process/eval-runner.md +8 -3
- package/docs/process/performance-methodology.md +1 -1
- package/docs/process/release-cut-checklist.md +4 -0
- package/docs/process/scientific-validation.md +23 -0
- package/evals/scalar-decision-machinery.ts +1 -1
- package/examples/extensions/README.md +67 -0
- package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
- package/examples/extensions/lab-status/extension.mjs +68 -0
- package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
- package/examples/extensions/measurements/clio-coder-extension.json +28 -0
- package/examples/extensions/measurements/summarize.cjs +23 -0
- package/library/README.md +109 -0
- package/library/_authoring/templates/agent/README.md +28 -0
- package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
- package/library/_authoring/templates/agent/plugin.json +23 -0
- package/library/_authoring/templates/fleet/README.md +29 -0
- package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
- package/library/_authoring/templates/fleet/plugin.json +23 -0
- package/library/_authoring/templates/plugin/README.md +37 -0
- package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
- package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
- package/library/_authoring/templates/plugin/plugin.json +42 -0
- package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
- package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
- package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
- package/library/_authoring/templates/prompt/README.md +28 -0
- package/library/_authoring/templates/prompt/plugin.json +23 -0
- package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
- package/library/_authoring/templates/skill/README.md +24 -0
- package/library/_authoring/templates/skill/SKILL.md +39 -0
- package/library/_authoring/templates/skill/evals.md +30 -0
- package/library/_authoring/templates/skill/plugin.json +23 -0
- package/library/agents/README.md +7 -0
- package/library/fleets/README.md +7 -0
- package/library/plugins/materio/README.md +137 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
- package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
- package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
- package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
- package/library/plugins/materio/assets/actions/add-task.md +86 -0
- package/library/plugins/materio/assets/actions/archive-task.md +84 -0
- package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
- package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
- package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
- package/library/plugins/materio/assets/actions/execute-task.md +290 -0
- package/library/plugins/materio/assets/actions/help.md +140 -0
- package/library/plugins/materio/assets/actions/identify-research.md +204 -0
- package/library/plugins/materio/assets/actions/literature-review.md +199 -0
- package/library/plugins/materio/assets/actions/pause-research.md +34 -0
- package/library/plugins/materio/assets/actions/progress.md +125 -0
- package/library/plugins/materio/assets/actions/remove-task.md +82 -0
- package/library/plugins/materio/assets/actions/resume-research.md +84 -0
- package/library/plugins/materio/assets/actions/settings.md +38 -0
- package/library/plugins/materio/assets/actions/status.md +112 -0
- package/library/plugins/materio/assets/actions/upload-data.md +123 -0
- package/library/plugins/materio/assets/actions/wtfp.md +179 -0
- package/library/plugins/materio/assets/references/research-domains.md +134 -0
- package/library/plugins/materio/assets/references/research-policy.md +77 -0
- package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
- package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
- package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
- package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
- package/library/plugins/materio/assets/scripts/research_state.py +400 -0
- package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
- package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
- package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
- package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
- package/library/plugins/materio/assets/templates/config.json +5 -0
- package/library/plugins/materio/evals/scripts.yaml +29 -0
- package/library/plugins/materio/plugin.json +530 -0
- package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
- package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
- package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
- package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
- package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
- package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
- package/library/plugins/materio/tests/test_check_physics.py +139 -0
- package/library/plugins/materio/tests/test_check_scripts.py +140 -0
- package/library/plugins/materio/tests/test_research_state.py +291 -0
- package/library/plugins/materio/tests/test_verify_citations.py +337 -0
- package/library/prompts/README.md +7 -0
- package/library/registry.yaml +921 -0
- package/library/skills/README.md +120 -0
- package/{skills → library/skills}/coding/ast-grep/SKILL.md +1 -1
- package/{skills → library/skills}/coding/ast-grep/evals.md +1 -1
- package/library/skills/coding/ast-grep/plugin.json +23 -0
- package/{skills → library/skills}/coding/coding-standards/SKILL.md +1 -1
- package/{skills → library/skills}/coding/coding-standards/evals.md +1 -1
- package/library/skills/coding/coding-standards/plugin.json +23 -0
- package/{skills → library/skills}/coding/prototype/SKILL.md +1 -1
- package/{skills → library/skills}/coding/prototype/evals.md +1 -1
- package/library/skills/coding/prototype/plugin.json +23 -0
- package/{skills → library/skills}/coding/tdd/SKILL.md +1 -1
- package/{skills → library/skills}/coding/tdd/evals.md +1 -1
- package/library/skills/coding/tdd/plugin.json +23 -0
- package/{skills → library/skills}/context/context-handoff/SKILL.md +1 -1
- package/{skills → library/skills}/context/context-handoff/evals.md +1 -1
- package/library/skills/context/context-handoff/plugin.json +23 -0
- package/{skills → library/skills}/context/context-prime/SKILL.md +1 -1
- package/{skills → library/skills}/context/context-prime/evals.md +1 -1
- package/library/skills/context/context-prime/plugin.json +23 -0
- package/{skills → library/skills}/git/branch-closeout/SKILL.md +1 -1
- package/library/skills/git/branch-closeout/plugin.json +23 -0
- package/{skills → library/skills}/git/file-ticket/SKILL.md +1 -1
- package/library/skills/git/file-ticket/plugin.json +23 -0
- package/{skills → library/skills}/git/fix-issue/SKILL.md +1 -1
- package/library/skills/git/fix-issue/plugin.json +23 -0
- package/{skills → library/skills}/git/resolve-merge-conflicts/SKILL.md +1 -1
- package/{skills → library/skills}/git/resolve-merge-conflicts/evals.md +1 -1
- package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
- package/{skills → library/skills}/git/ship/SKILL.md +1 -1
- package/library/skills/git/ship/plugin.json +23 -0
- package/{skills → library/skills}/git/worktree-create/SKILL.md +1 -1
- package/library/skills/git/worktree-create/plugin.json +23 -0
- package/{skills → library/skills}/git/worktree-merge/SKILL.md +1 -1
- package/library/skills/git/worktree-merge/plugin.json +23 -0
- package/{skills → library/skills}/meta/clio-coder-dev/SKILL.md +1 -1
- package/{skills → library/skills}/meta/clio-coder-dev/evals.md +1 -1
- package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
- package/{skills → library/skills}/meta/clio-coder-test/SKILL.md +1 -1
- package/{skills → library/skills}/meta/clio-coder-test/evals.md +1 -1
- package/library/skills/meta/clio-coder-test/plugin.json +23 -0
- package/{skills → library/skills}/meta/credentials/SKILL.md +1 -1
- package/{skills → library/skills}/meta/credentials/evals.md +1 -1
- package/library/skills/meta/credentials/plugin.json +23 -0
- package/library/skills/meta/find-skills/SKILL.md +85 -0
- package/library/skills/meta/find-skills/evals.md +65 -0
- package/library/skills/meta/find-skills/plugin.json +23 -0
- package/{skills → library/skills}/meta/herdr/SKILL.md +1 -1
- package/{skills → library/skills}/meta/herdr/evals.md +1 -1
- package/library/skills/meta/herdr/plugin.json +23 -0
- package/{skills → library/skills}/meta/skill-craft/SKILL.md +23 -9
- package/{skills → library/skills}/meta/skill-craft/evals.md +11 -3
- package/library/skills/meta/skill-craft/plugin.json +23 -0
- package/{skills → library/skills}/planning/archify/SKILL.md +13 -13
- package/library/skills/planning/archify/plugin.json +23 -0
- package/{skills → library/skills}/planning/architecture/SKILL.md +1 -1
- package/{skills → library/skills}/planning/architecture/evals.md +1 -1
- package/library/skills/planning/architecture/plugin.json +23 -0
- package/{skills → library/skills}/planning/backlog/SKILL.md +1 -1
- package/{skills → library/skills}/planning/backlog/evals.md +1 -1
- package/library/skills/planning/backlog/plugin.json +23 -0
- package/{skills → library/skills}/planning/prd/SKILL.md +1 -1
- package/{skills → library/skills}/planning/prd/evals.md +1 -1
- package/library/skills/planning/prd/plugin.json +23 -0
- package/{skills → library/skills}/planning/product-intent/SKILL.md +1 -1
- package/{skills → library/skills}/planning/product-intent/evals.md +1 -1
- package/library/skills/planning/product-intent/plugin.json +23 -0
- package/{skills → library/skills}/planning/tech-spec/SKILL.md +1 -1
- package/{skills → library/skills}/planning/tech-spec/evals.md +1 -1
- package/library/skills/planning/tech-spec/plugin.json +23 -0
- package/{skills → library/skills}/registry.yaml +7 -7
- package/{skills → library/skills}/remote.yaml +1 -1
- package/{skills → library/skills}/research/arxiv-literature/SKILL.md +1 -1
- package/{skills → library/skills}/research/arxiv-literature/evals.md +1 -1
- package/library/skills/research/arxiv-literature/plugin.json +23 -0
- package/{skills → library/skills}/research/experiment-protocol/SKILL.md +1 -1
- package/{skills → library/skills}/research/experiment-protocol/evals.md +1 -1
- package/library/skills/research/experiment-protocol/plugin.json +23 -0
- package/{skills → library/skills}/research/scientific-debugging/SKILL.md +1 -1
- package/{skills → library/skills}/research/scientific-debugging/evals.md +1 -1
- package/library/skills/research/scientific-debugging/plugin.json +23 -0
- package/{skills → library/skills}/research/scientific-modernization/SKILL.md +1 -1
- package/{skills → library/skills}/research/scientific-modernization/evals.md +1 -1
- package/library/skills/research/scientific-modernization/plugin.json +23 -0
- package/{skills → library/skills}/skill-marketplace.json +37 -37
- package/{skills → library/skills}/workflow/cut-it/SKILL.md +1 -1
- package/{skills → library/skills}/workflow/cut-it/evals.md +1 -1
- package/library/skills/workflow/cut-it/plugin.json +23 -0
- package/{skills → library/skills}/workflow/design-council/SKILL.md +1 -1
- package/{skills → library/skills}/workflow/design-council/evals.md +1 -1
- package/library/skills/workflow/design-council/plugin.json +23 -0
- package/{skills → library/skills}/workflow/grill-me/SKILL.md +1 -1
- package/{skills → library/skills}/workflow/grill-me/evals.md +1 -1
- package/library/skills/workflow/grill-me/plugin.json +23 -0
- package/{skills → library/skills}/workflow/workflow-distiller/SKILL.md +14 -11
- package/{skills → library/skills}/workflow/workflow-distiller/evals.md +14 -6
- package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
- package/package.json +12 -5
- package/src/cli/agents.ts +1 -1
- package/src/cli/config-inspect.ts +1 -1
- package/src/cli/configure.ts +2 -2
- package/src/cli/eval.ts +40 -6
- package/src/cli/extensions.ts +74 -8
- package/src/cli/fleet-preflight.ts +2 -0
- package/src/cli/fleet.ts +2 -0
- package/src/cli/index.ts +1 -3
- package/src/cli/interop-inspect.ts +61 -33
- package/src/cli/interop.ts +79 -9
- package/src/cli/library-import.ts +139 -0
- package/src/cli/library.ts +418 -120
- package/src/cli/run.ts +26 -9
- package/src/cli/skills-eval.ts +43 -6
- package/src/cli/skills-inventory.ts +6 -2
- package/src/cli/skills.ts +44 -491
- package/src/core/bus-events.ts +5 -0
- package/src/core/defaults.ts +1 -1
- package/src/core/recent-models.ts +2 -2
- package/src/core/session-routing.ts +3 -3
- package/src/core/state-file-lock.ts +1 -1
- package/src/core/tool-names.ts +5 -0
- package/src/domains/agents/extension.ts +42 -6
- package/src/domains/agents/fleet-commands.ts +92 -1
- package/src/domains/agents/fleet-contract.ts +87 -19
- package/src/domains/agents/recipe.ts +5 -4
- package/src/domains/agents/registry.ts +80 -24
- package/src/domains/config/keybindings.ts +155 -95
- package/src/domains/context/worker/contract.ts +91 -0
- package/src/domains/context/worker/pressure.ts +120 -0
- package/src/domains/context/worker/recall.ts +62 -0
- package/src/domains/context/worker/select.ts +164 -0
- package/src/domains/context/worker/snapshot.ts +35 -0
- package/src/domains/context/worker/store.ts +16 -0
- package/src/domains/context/working-set/replay/synthetic.ts +2 -1
- package/src/domains/dispatch/active-route-planner.ts +2 -0
- package/src/domains/dispatch/backoff.ts +1 -0
- package/src/domains/dispatch/code-step.ts +12 -2
- package/src/domains/dispatch/contract.ts +3 -0
- package/src/domains/dispatch/execution-plan.ts +2 -0
- package/src/domains/dispatch/extension.ts +109 -27
- package/src/domains/dispatch/fleet-plan.ts +10 -0
- package/src/domains/dispatch/fleet-run.ts +1 -0
- package/src/domains/dispatch/orphan-recovery.ts +1 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/state.ts +1 -0
- package/src/domains/dispatch/types.ts +5 -0
- package/src/domains/dispatch/validation.ts +12 -0
- package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
- package/src/domains/evidence/failure-attribution.ts +1 -0
- package/src/domains/evidence/trust-status.ts +22 -3
- package/src/domains/extensions/command-schema.ts +145 -0
- package/src/domains/extensions/command-tools.ts +15 -0
- package/src/domains/extensions/compatibility.ts +7 -0
- package/src/domains/extensions/contract.ts +0 -4
- package/src/domains/extensions/discovery.ts +69 -205
- package/src/domains/extensions/extension.ts +0 -4
- package/src/domains/extensions/index.ts +1 -5
- package/src/domains/extensions/manager.ts +1 -6
- package/src/domains/extensions/operator-commands.ts +29 -0
- package/src/domains/extensions/operator-runtime.ts +483 -0
- package/src/domains/extensions/public-api.ts +53 -0
- package/src/domains/extensions/runtime-child.mjs +114 -0
- package/src/domains/extensions/runtime-process.ts +306 -0
- package/src/domains/extensions/runtime-schema.ts +146 -0
- package/src/domains/extensions/{resources.ts → snapshot-access.ts} +1 -17
- package/src/domains/extensions/snapshot.ts +4 -32
- package/src/domains/extensions/state.ts +5 -83
- package/src/domains/extensions/types.ts +33 -34
- package/src/domains/interop/adopt.ts +546 -0
- package/src/domains/interop/detect.ts +50 -12
- package/src/domains/interop/foreign.ts +554 -0
- package/src/domains/interop/import.ts +277 -0
- package/src/domains/interop/index.ts +24 -0
- package/src/domains/interop/install.ts +6 -0
- package/src/domains/interop/inventory.ts +351 -0
- package/src/domains/interop/projection.ts +360 -0
- package/src/domains/interop/registry.ts +106 -3
- package/src/domains/interop/types.ts +51 -0
- package/src/domains/lifecycle/migrations/index.ts +0 -2
- package/src/domains/lifecycle/naming-resources.ts +1 -1
- package/src/domains/middleware/marketplace-offer.ts +1 -1
- package/src/domains/mux/contract.ts +1 -1
- package/src/domains/plugins/catalog.ts +204 -0
- package/src/domains/plugins/contract.ts +24 -0
- package/src/domains/plugins/discovery.ts +316 -0
- package/src/domains/plugins/extension.ts +40 -0
- package/src/domains/plugins/index.ts +77 -0
- package/src/domains/plugins/integrity.ts +6 -0
- package/src/domains/plugins/manifest.ts +3 -0
- package/src/domains/plugins/resources.ts +102 -0
- package/src/domains/plugins/state.ts +753 -0
- package/src/domains/plugins/types.ts +217 -0
- package/src/domains/prompts/extension.ts +9 -2
- package/src/domains/prompts/fragments/operating/skills.md +10 -10
- package/src/domains/resources/common-loader.ts +9 -6
- package/src/domains/resources/index.ts +67 -0
- package/src/domains/resources/library-actions.ts +836 -0
- package/src/domains/resources/library-evals.ts +38 -0
- package/src/domains/resources/library-inventory.ts +1048 -0
- package/src/domains/resources/library-types.ts +50 -0
- package/src/domains/resources/library-validation.ts +634 -0
- package/src/domains/resources/library.ts +437 -156
- package/src/domains/resources/package-references.ts +66 -0
- package/src/domains/resources/prompts/loader.ts +75 -41
- package/src/domains/resources/skills/install.ts +2 -2
- package/src/domains/resources/skills/loader.ts +77 -22
- package/src/domains/resources/skills/marketplace.ts +48 -57
- package/src/domains/resources/skills/promotion.ts +2 -2
- package/src/domains/resources/skills/provenance-pin.ts +17 -4
- package/src/domains/safety/action-classifier.ts +2 -2
- package/src/domains/safety/default-path-policy.ts +3 -1
- package/src/domains/safety/policy-engine.ts +1 -1
- package/src/domains/safety/protected-artifacts.ts +21 -5
- package/src/domains/safety/skill-authority.ts +5 -2
- package/src/domains/share/archive.ts +1 -1
- package/src/engine/apis/openai-completions.ts +52 -2
- package/src/engine/notices/pi-tui-LICENSE +21 -0
- package/src/engine/tui.ts +3 -0
- package/src/engine/worker-runtime.ts +58 -14
- package/src/engine/worker-tools.ts +5 -0
- package/src/entry/orchestrator.ts +26 -5
- package/src/entry/plugin-reload.ts +18 -0
- package/src/interactive/application-controller.ts +67 -21
- package/src/interactive/chat-loop.ts +32 -5
- package/src/interactive/chat-panel.ts +5 -1
- package/src/interactive/clio-editor.ts +53 -21
- package/src/interactive/command-output.ts +56 -1
- package/src/interactive/editor-submit.ts +65 -28
- package/src/interactive/fleet-run-preview.ts +2 -0
- package/src/interactive/follow-up-queue-panel.ts +3 -3
- package/src/interactive/footer/dashboard.ts +4 -1
- package/src/interactive/footer/notifications.ts +2 -2
- package/src/interactive/footer/widgets.ts +2 -2
- package/src/interactive/interactive-application.ts +209 -21
- package/src/interactive/interactive-input-runtime.ts +254 -7
- package/src/interactive/interactive-presentation.ts +41 -12
- package/src/interactive/interactive-slash-runtime.ts +37 -8
- package/src/interactive/keybinding-manager.ts +156 -79
- package/src/interactive/keyboard-owner.ts +37 -0
- package/src/interactive/leader-key.ts +49 -102
- package/src/interactive/leader-menu.ts +45 -0
- package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
- package/src/interactive/overlay-frame.ts +15 -0
- package/src/interactive/overlay-key-routing.ts +46 -47
- package/src/interactive/overlay-lifecycle.ts +30 -15
- package/src/interactive/overlay-resource-openers.ts +56 -46
- package/src/interactive/overlays/ask-user.ts +630 -556
- package/src/interactive/overlays/extension-panel.ts +70 -0
- package/src/interactive/overlays/extensions.ts +28 -5
- package/src/interactive/overlays/fleet-run-approval.ts +7 -3
- package/src/interactive/overlays/help-reference.ts +89 -40
- package/src/interactive/overlays/interop.ts +122 -3
- package/src/interactive/overlays/keybinding-detail.ts +2 -2
- package/src/interactive/overlays/library-lifecycle.ts +90 -0
- package/src/interactive/overlays/library-model.ts +574 -0
- package/src/interactive/overlays/library-review.ts +557 -0
- package/src/interactive/overlays/library-tabs.ts +3 -15
- package/src/interactive/overlays/library.ts +602 -0
- package/src/interactive/overlays/list-overlay.ts +218 -39
- package/src/interactive/overlays/model-selector.ts +28 -25
- package/src/interactive/overlays/session-selector.ts +9 -3
- package/src/interactive/overlays/settings.ts +25 -18
- package/src/interactive/overlays/tree-selector.ts +16 -11
- package/src/interactive/permission-hint.ts +13 -0
- package/src/interactive/permission-overlay.ts +77 -28
- package/src/interactive/prompt-source-label.ts +21 -0
- package/src/interactive/renderers/reference-card.ts +35 -0
- package/src/interactive/renderers/worker-entry.ts +35 -3
- package/src/interactive/slash-autocomplete.ts +99 -1
- package/src/interactive/slash-commands.ts +390 -67
- package/src/interactive/slash-spec.ts +0 -1
- package/src/interactive/terminal-lease.ts +44 -12
- package/src/interactive/turn-queues.ts +8 -7
- package/src/interactive/turn-runtime.ts +1 -1
- package/src/interactive/view/view-overlay.ts +19 -14
- package/src/interactive/welcome-dashboard.ts +525 -408
- package/src/tools/bootstrap.ts +8 -0
- package/src/tools/builtin-tool-catalog.ts +7 -2
- package/src/tools/context/index.ts +58 -5
- package/src/tools/context/library.ts +465 -0
- package/src/tools/context/surface.ts +20 -6
- package/src/tools/core-bootstrap.ts +3 -0
- package/src/tools/dispatch-admission.ts +24 -1
- package/src/tools/dispatch-arguments.ts +8 -0
- package/src/tools/dispatch-plan.ts +32 -0
- package/src/tools/dispatch-schema.ts +31 -1
- package/src/tools/dispatch-types.ts +3 -0
- package/src/tools/dispatch.ts +1 -1
- package/src/tools/harness-extensions.ts +169 -0
- package/src/tools/observation.ts +4 -0
- package/src/tools/policy.ts +7 -1
- package/src/tools/registry.ts +19 -1
- package/src/tools/worker-evidence.ts +5 -0
- package/src/worker/context-seed.ts +192 -0
- package/src/worker/entry.ts +1 -0
- package/src/worker/spec-contract.ts +8 -1
- package/dist/chunk-3UW3KU4A.js +0 -21
- package/dist/chunk-536HXRFE.js +0 -1257
- package/dist/chunk-B3MOMLJ4.js +0 -433
- package/dist/chunk-CXQ37WJH.js +0 -45
- package/dist/chunk-KTFSFCVN.js +0 -46
- package/dist/chunk-QCOV5DFY.js +0 -911
- package/dist/chunk-QRFXEO6Y.js +0 -17
- package/dist/chunk-VAHLPXPY.js +0 -399
- package/dist/interop-RVCAYECG.js +0 -115
- package/dist/library-CTKZA7K3.js +0 -226
- package/dist/skills-OXFEAWMT.js +0 -510
- package/skills/README.md +0 -418
- package/skills/meta/find-skills/SKILL.md +0 -78
- package/skills/meta/find-skills/evals.md +0 -47
- package/src/domains/extensions/resource-path.ts +0 -27
- package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
- package/src/interactive/overlays/agents.ts +0 -70
- package/src/interactive/overlays/library-install-confirm.ts +0 -152
- package/src/interactive/overlays/prompts.ts +0 -89
- package/src/interactive/overlays/skills-hub.ts +0 -615
- /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
- /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
- /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
- /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
- /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
- /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
- /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
- /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
- /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
- /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
- /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
- /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
- /package/{skills → library/skills}/git/ship/evals.md +0 -0
- /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
- /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
- /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
- /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
- /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
- /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
- /package/{skills → library/skills}/meta/clio-coder-test/references/test-map.md +0 -0
- /package/{skills → library/skills}/planning/archify/evals.md +0 -0
|
@@ -18,27 +18,27 @@ under pressure; git mechanics alone never justify a stage.
|
|
|
18
18
|
|
|
19
19
|
| Stage | Skill | Output |
|
|
20
20
|
| --- | --- | --- |
|
|
21
|
-
| 1. File | [`file-ticket`](../../skills/git/file-ticket/) | A labeled GitHub issue with evidence and acceptance criteria |
|
|
22
|
-
| 2. Fix | [`fix-issue`](../../skills/git/fix-issue/) | An uncommitted, verified change where failing tests preceded the fix, self-reviewed against the issue's acceptance criteria |
|
|
23
|
-
| 3. Ship | [`ship`](../../skills/git/ship/) | An atomic conventional commit referencing the issue (`fixes #N`); contributors push it to their fork and open a PR, while maintainer work stays local for gated integration; merge is a human decision |
|
|
21
|
+
| 1. File | [`file-ticket`](../../library/skills/git/file-ticket/) | A labeled GitHub issue with evidence and acceptance criteria |
|
|
22
|
+
| 2. Fix | [`fix-issue`](../../library/skills/git/fix-issue/) | An uncommitted, verified change where failing tests preceded the fix, self-reviewed against the issue's acceptance criteria |
|
|
23
|
+
| 3. Ship | [`ship`](../../library/skills/git/ship/) | An atomic conventional commit referencing the issue (`fixes #N`); contributors push it to their fork and open a PR, while maintainer work stays local for gated integration; merge is a human decision |
|
|
24
24
|
|
|
25
25
|
Releases follow [release-cut-checklist.md](release-cut-checklist.md) as a
|
|
26
26
|
human-gated checklist, not a skill. Worktrees
|
|
27
|
-
([`worktree-create`](../../skills/git/worktree-create/),
|
|
28
|
-
[`worktree-merge`](../../skills/git/worktree-merge/)),
|
|
29
|
-
[`branch-closeout`](../../skills/git/branch-closeout/),
|
|
30
|
-
[`resolve-merge-conflicts`](../../skills/git/resolve-merge-conflicts/), and
|
|
31
|
-
[`tdd`](../../skills/coding/tdd/) are à-la-carte tools reached for when the
|
|
27
|
+
([`worktree-create`](../../library/skills/git/worktree-create/),
|
|
28
|
+
[`worktree-merge`](../../library/skills/git/worktree-merge/)),
|
|
29
|
+
[`branch-closeout`](../../library/skills/git/branch-closeout/),
|
|
30
|
+
[`resolve-merge-conflicts`](../../library/skills/git/resolve-merge-conflicts/), and
|
|
31
|
+
[`tdd`](../../library/skills/coding/tdd/) are à-la-carte tools reached for when the
|
|
32
32
|
situation calls for them, not stages every change passes through. An RCA
|
|
33
33
|
written as the closing comment on the issue (`rca` label) is an artifact of
|
|
34
34
|
hard bugs, not a mandatory toll booth. Batch ticket creation from a PRD
|
|
35
|
-
bypasses stage 1 and uses [`backlog`](../../skills/planning/backlog/)
|
|
35
|
+
bypasses stage 1 and uses [`backlog`](../../library/skills/planning/backlog/)
|
|
36
36
|
instead; everything downstream is identical.
|
|
37
37
|
|
|
38
38
|
## Closeout
|
|
39
39
|
|
|
40
40
|
A merged PR is not operationally finished until its local scaffolding is
|
|
41
|
-
closed. The reusable [`branch-closeout`](../../skills/git/branch-closeout/) skill automates this verification and teardown safely. After the human merge decision:
|
|
41
|
+
closed. The reusable [`branch-closeout`](../../library/skills/git/branch-closeout/) skill automates this verification and teardown safely. After the human merge decision:
|
|
42
42
|
|
|
43
43
|
1. Fetch and prune, confirm the PR's merged state, and identify the resulting
|
|
44
44
|
commit on `origin/main`. Direct ancestry proves an ordinary merge; a squash
|
|
@@ -142,13 +142,13 @@ or bumped; the milestone closes when the tag is published.
|
|
|
142
142
|
|
|
143
143
|
## Dogfooding setup
|
|
144
144
|
|
|
145
|
-
The marketplace copy under `skills/git/` is the committed source of truth,
|
|
146
|
-
pinned in `skills/registry.yaml` by `pnpm run skills:pin`. Runtime roots are
|
|
145
|
+
The marketplace copy under `library/skills/git/` is the committed source of truth,
|
|
146
|
+
pinned in `library/skills/registry.yaml` by `pnpm run skills:pin`. Runtime roots are
|
|
147
147
|
gitignored, so each developer installs locally:
|
|
148
148
|
|
|
149
149
|
```bash
|
|
150
|
-
cp -r skills/git/file-ticket .clio-coder/skills/ # Clio Coder
|
|
151
|
-
cp -r skills/git/file-ticket .claude/skills/ # Claude Code
|
|
150
|
+
cp -r library/skills/git/file-ticket .clio-coder/skills/ # Clio Coder
|
|
151
|
+
cp -r library/skills/git/file-ticket .claude/skills/ # Claude Code
|
|
152
152
|
```
|
|
153
153
|
|
|
154
154
|
The other pipeline skills are model-invoked from the marketplace catalog the
|
|
@@ -12,7 +12,7 @@ treated as current operator guidance.
|
|
|
12
12
|
## Headline
|
|
13
13
|
|
|
14
14
|
- Markdown pages audited: **51**.
|
|
15
|
-
- Dedicated HTML blueprints
|
|
15
|
+
- Dedicated HTML blueprints present after that audit: **51**.
|
|
16
16
|
- Pages without a blueprint: **0**. Every Markdown page has one visual
|
|
17
17
|
counterpart, so there are no exception reasons to record.
|
|
18
18
|
- Pages with one or more source disagreements at `ff56ea3e`: **42**.
|
|
@@ -98,3 +98,30 @@ The source-alignment pass corrected all findings across the 42 affected
|
|
|
98
98
|
Markdown pages. The table preserves what the audit found at `ff56ea3e`; it does
|
|
99
99
|
not describe outstanding Markdown debt. Every HTML blueprint now renders the
|
|
100
100
|
complete corrected counterpart and identifies its Markdown source explicitly.
|
|
101
|
+
|
|
102
|
+
## Clio Coder 0.4.7 documentation refresh
|
|
103
|
+
|
|
104
|
+
The 0.4.7 pass was a source-alignment pass, not a re-measurement of the 0.4.2
|
|
105
|
+
audit above, whose table stands as the historical record.
|
|
106
|
+
|
|
107
|
+
Pages carrying new or rewritten sections in this pass: `README.md`,
|
|
108
|
+
`architecture/context-engine.md`, `architecture/library.md`,
|
|
109
|
+
`architecture/model-catalog.md`, `architecture/pi-boundary.md`,
|
|
110
|
+
`architecture/safety-model.md`, `architecture/session-lifecycle.md`,
|
|
111
|
+
`architecture/tui-design.md`, `architecture/worker-context.md`,
|
|
112
|
+
`guide/commands-and-modes.md`, `guide/configuration-reference.md`,
|
|
113
|
+
`guide/extensions-and-sharing.md`, `guide/harness-extensions.md`,
|
|
114
|
+
`guide/interop.md`, `guide/plugins.md`, `guide/resource-library.md`,
|
|
115
|
+
`guide/skills-marketplace.md`, and `process/scientific-validation.md`, each with
|
|
116
|
+
its paired blueprint.
|
|
117
|
+
|
|
118
|
+
Two standing rules this pass reaffirmed. Every asserted behavior is anchored to
|
|
119
|
+
the function or contract that implements it, named inline, rather than inferred
|
|
120
|
+
from a UI label or a neighbouring paragraph. And a value that appears only in a
|
|
121
|
+
test fixture is not a product default: the compiled defaults in
|
|
122
|
+
`src/core/defaults.ts` are the authority for what ships unset.
|
|
123
|
+
|
|
124
|
+
Per-run verification evidence for the refresh lives with the maintenance records
|
|
125
|
+
for that sprint, not in this page. This page tracks documentation coverage, and
|
|
126
|
+
run logs age out of usefulness faster than the docs they checked.
|
|
127
|
+
|
|
@@ -46,7 +46,8 @@ Classify claims clearly:
|
|
|
46
46
|
| [configuration-reference.md](../guide/configuration-reference.md) | `src/core/defaults.ts`, `src/cli/**`, `src/tools/**`, `src/domains/agents/recipe-schema.ts`, `src/domains/providers/models/local-models/**` | Audited inventory of every settings key, environment variable, CLI flag, project-file key, frontmatter key, tool argument, and model tag with defaults and precedence. |
|
|
47
47
|
| [safety-model.md](../architecture/safety-model.md) | `src/domains/safety/**`, `src/tools/registry.ts`, `src/tools/policy.ts`, `src/tools/verify/**`, `src/entry/orchestrator.ts`, `src/domains/dispatch/write-boundary.ts` | Operating posture, `resolveEffectiveAutonomy` / `resolveBaselineAutonomy`, detect-and-rollback write boundaries, approval axes, damage control, typed validation. |
|
|
48
48
|
| [prompt-envelope-and-tools.md](../architecture/prompt-envelope-and-tools.md) | `src/domains/prompts/compiler.ts`, `src/interactive/chat-loop.ts`, `src/core/tool-names.ts`, `src/tools/registry.ts`, `src/tools/observation.ts`, `src/tools/agent-tools.ts` | Prompt envelope reuse, canonical tool delivery via single `agent-tools.ts` adapter, seven-plane tool surface, observation envelope, strict `ToolName` keying. |
|
|
49
|
-
| [tool-usage.md](../guide/tool-usage.md) | `src/tools/agent-tools.ts`, `src/tools/registry.ts`, `src/tools/observation.ts` | In-depth reference for all
|
|
49
|
+
| [tool-usage.md](../guide/tool-usage.md) | `src/tools/agent-tools.ts`, `src/tools/registry.ts`, `src/tools/observation.ts` | In-depth reference for all 24 canonical tools, including conditional registration, parameters, typical payloads, normalizers, and error examples. |
|
|
50
|
+
| [panes-and-files.md](../guide/panes-and-files.md) | `src/interactive/panes-runtime.ts`, `src/interactive/yazi-bridge.ts`, `src/domains/mux/operations.ts`, `src/domains/mux/yazi/theme.ts`, `src/cli/panes.ts` | Operator path to panes and the files pane: install, settings, doctor rows, `/files` and `Alt+E`, presets, what `/quit` closes, theme boundary, troubleshooting. |
|
|
50
51
|
| [provider-adapter-cookbook.md](../architecture/provider-adapter-cookbook.md) | `src/domains/providers/registry.ts`, `src/domains/providers/types/runtime-descriptor.ts` | RuntimeDescriptor, probe(), probeReasoning(), synthesizeModel(), thinking mechanisms. |
|
|
51
52
|
| [pi-boundary.md](../architecture/pi-boundary.md) | `src/engine/**`, `src/tools/truncate.ts`, `tests/boundaries/check-boundaries.ts` | Which Pi SDK capabilities Clio delegates to, which Clio-specific adapters remain, and the boundary tests that keep the split explicit. |
|
|
52
53
|
| [alcf-provider.md](../architecture/alcf-provider.md) | `src/domains/providers/runtimes/cloud/alcf.ts`, `src/engine/alcf-oauth.ts` | Globus PKCE OAuth, openAuthStorage(), Sophia vLLM, Metis API, chatTemplateKwargsUnsupported. |
|
|
@@ -55,6 +56,7 @@ Classify claims clearly:
|
|
|
55
56
|
| [fleet-dispatch.md](../guide/fleet-dispatch.md) | `src/domains/dispatch/**` | Multi-node SSH dispatch: process-safe admission, capacity leases, fleet contracts v1 through v5, v4 write boundaries, v5 plan and gate steps, bounded check/repair loops (`loop_bound_exhausted`), deterministic code steps, attestation, and receipts v20. |
|
|
56
57
|
| [capacity-and-scheduling.md](../architecture/capacity-and-scheduling.md) | `src/domains/scheduling/**`, `src/domains/dispatch/capacity-lease.ts`, `src/domains/dispatch/reservation-store.ts` | Multi-process capacity leases (`dispatch-admission.json`), heartbeat TTLs, cross-process transaction locks (`dispatch-admission.json.lock`), and cluster drain controls. |
|
|
57
58
|
| [worker-dispatch-mechanics.md](../architecture/worker-dispatch-mechanics.md) | `src/worker/**` | NDJSON parent-child socket protocols, control/bulk lane demuxing, watchdog timers, worker attestation (13 protocol fields), permission parking, exit codes. |
|
|
59
|
+
| [worker-context.md](../architecture/worker-context.md) | `src/worker/spec-contract.ts`, `src/domains/dispatch/**`, `src/worker/**` | Worker context inheritance: isolated, fork, and splice context modes for native workers, historical message selection, and token limits. |
|
|
58
60
|
| [fleet-demo-runbook.md](fleet-demo-runbook.md) | `src/domains/dispatch/**` | Multi-node fleet demo: SSH setup, C++ build/repair workflow, reviewer gates, and receipt verification v20. |
|
|
59
61
|
| [session-lifecycle.md](../architecture/session-lifecycle.md) | `src/engine/session.ts`, `src/domains/session/**` | Session lifecycle, on-disk ledger format v4 (`current.jsonl`), tree branching (`tree.json`), active-path lineage selection, `/fork`, `/resume`, checkpoints, and write-ahead protected-artifact journal. |
|
|
60
62
|
| [acp.md](../architecture/acp.md) | `src/engine/acp/**`, `src/cli/acp.ts` | Agent Client Protocol (ACP) server over stdio, tool mediation, non-stall permission handling, timeout bounds, and error taxonomy. |
|
|
@@ -65,19 +67,25 @@ Classify claims clearly:
|
|
|
65
67
|
| [documentation-coverage.md](documentation-coverage.md) | `src/**` | Complete source-to-documentation mapping matrix and subsystem coverage status. |
|
|
66
68
|
| [tui-design.md](../architecture/tui-design.md) | `src/interactive/theme/tokens.ts`, `src/interactive/theme/glyphs.ts` | TUI color system, glyph vocabulary (`contextReserve`), structural layouts, state choreography, code ink. |
|
|
67
69
|
| [installation-and-lifecycle.md](../guide/installation-and-lifecycle.md) | `src/cli/paths.ts`, `src/cli/doctor.ts`, `src/cli/uninstall.ts`, `src/cli/removal.ts` | Installation, upgrade, reset, uninstallation, launcher ownership and what `--remove-binary` will and will not remove, partial-failure behavior, configuration folders (`credentials.yaml` `0o600`), and permissions. |
|
|
68
|
-
| [release-cut-checklist.md](
|
|
69
|
-
| [
|
|
70
|
+
| [release-cut-checklist.md](release-cut-checklist.md) | `scripts/check-release.mjs`, `tests/smoke/installed-package.test.ts`, `.github/workflows/`, `package.json` | Standard release procedure: local candidate preparation, release gate verification, fast-forward landing on main, annotated tag publication, and npm publish. |
|
|
71
|
+
| [release-cut-checklist.md (v0.4.1)](../history/release-cut-checklist.md) | `scripts/check-release.mjs`, `tests/smoke/installed-package.test.ts`, `.github/workflows/`, `package.json` | Historical v0.4.1 release procedure retained as evidence; future releases must draft and verify their own checklist. |
|
|
72
|
+
| [development-pipeline.md](development-pipeline.md) | `library/skills/git/**`, `.github/**`, `scripts/check-release.mjs`, `package.json` | Issue-to-PR development lifecycle, validation, release inheritance, and the human merge boundary. |
|
|
70
73
|
| [git-commit-provenance.md](git-commit-provenance.md) | `src/core/commit-attribution.ts`, `src/core/git-commit-attribution.ts`, `src/domains/dispatch/fleet-commit-attribution.ts` | Evidence-aware commit roles, trailers, managed hook chaining, and receipt v20 attribution. |
|
|
71
74
|
| [observability.md](../architecture/observability.md) | `src/domains/observability/**`, `src/interactive/view/**`, `src/domains/dispatch/**`, `src/core/bus-events.ts` | `/view` artifact browsing, receipt verification, worker diagnostics, event routing, and cost snapshots. |
|
|
72
75
|
| [performance-methodology.md](performance-methodology.md) | `src/interactive/render-trace.ts`, `src/interactive/**`, `tests/contracts/rendering-invariants.test.ts`, `tests/smoke/real-binary-boot.test.ts` | Reproducible terminal and model-path performance endpoints, trace interpretation, measurement controls, and reporting rules. |
|
|
73
76
|
| [evidence-and-memory.md](../architecture/evidence-and-memory.md) | `src/domains/evidence/**`, `src/domains/memory/**`, `src/cli/evidence.ts`, `src/cli/memory.ts` | Evidence corpus layout, findings, memory lifecycle and prompt injection. |
|
|
74
77
|
| [proactive-memory.md](../guide/proactive-memory.md) | `src/domains/memory/**` | Proactive task memory architecture, session task bank, intervention rules, and handoff carrying. |
|
|
75
|
-
| [trace-store.md](../architecture/trace-store.md) | `src/cli/trace.ts`, `src/domains/observability/trace-store.ts` | WAL SQLite trace mirror database schema, rowid cursor queries, rebuildability, and
|
|
78
|
+
| [trace-store.md](../architecture/trace-store.md) | `src/cli/trace.ts`, `src/domains/observability/trace-store.ts` | WAL SQLite trace mirror database schema, rowid cursor queries, rebuildability, and nine `clio-coder trace` subcommands: `runs`, `phases`, `tail`, `procs`, `code-steps`, `inspect`, `prune`, read-only `sql`, and `ui`. |
|
|
76
79
|
| [eval-runner.md](eval-runner.md) | `src/domains/eval/**`, `src/cli/eval.ts` | Local YAML eval tasks, dual token accountings (`tokens.*` wire vs `receiptUsage.*` journal), fail-closed null totals, EvalArtifactV4 format, `verify.measure` task outcome recording. |
|
|
77
80
|
| [evals-internal.md](evals-internal.md) | `src/domains/eval/**`, `evals/**` | Private suite handling, measurement design, and the boundary between shipped reference inputs and external campaigns. |
|
|
78
81
|
| [extensions-and-sharing.md](../guide/extensions-and-sharing.md) | `src/domains/extensions/**`, `src/domains/resources/**`, `src/domains/share/**`, `src/cli/extensions.ts`, `src/cli/share.ts` | Prompt, skill, agent, fleet, and reserved theme resources; extension manifests; portable share archives. |
|
|
82
|
+
| [library.md](../architecture/library.md) | `src/domains/plugins/**`, `src/domains/resources/library.ts`, `src/cli/library.ts` | Package kinds, catalog resolution, integrity, scope selection, and trust. |
|
|
79
83
|
| [resource-library.md](../guide/resource-library.md) | `src/domains/resources/library.ts`, `src/cli/library.ts` | Catalog schemas, private and remote source policy, checksum pins, resource installation, and update checks. |
|
|
80
|
-
| [skills-marketplace.md](../guide/skills-marketplace.md) | `src/interactive/overlays/
|
|
84
|
+
| [skills-marketplace.md](../guide/skills-marketplace.md) | `src/interactive/overlays/library.ts`, `src/interactive/overlays/library-tabs.ts`, `src/domains/resources/skills/marketplace.ts` | Skills marketplace discovery through library overlays, catalog inspection, install actions, publishing flow. |
|
|
85
|
+
| [plugins.md](../guide/plugins.md) | `src/domains/plugins/**`, `src/domains/resources/library.ts`, `src/cli/library.ts` | Portable domain bundles, library installation, enable/disable states, drift detection, pins, and package lifecycle. |
|
|
86
|
+
| [authoring-plugins.md](../guide/authoring-plugins.md) | `library/**`, `src/domains/plugins/**`, `src/domains/resources/library-validation.ts` | Plugin and package structure, root plugin.json manifests, resource mapping, validation, and authoring guidelines. |
|
|
87
|
+
| [harness-extensions.md](../guide/harness-extensions.md) | `src/domains/extensions/**`, `src/domains/plugins/**`, `src/interactive/**` | Harness extension lifecycle, command handlers, dynamic reload, and interaction with the Clio execution environment. |
|
|
88
|
+
| [interop.md](../guide/interop.md) | `src/cli/interop.ts`, `src/domains/interop/**`, `src/interactive/overlays/interop.ts` | External coding agent interoperability: host discovery, resource inspection, safe adoption of prompts and skills into the library. |
|
|
81
89
|
| [model-catalog.md](../architecture/model-catalog.md) | `src/domains/providers/catalog.ts`, `src/domains/providers/models/**`, `src/domains/providers/probe/**`, `src/domains/providers/model-capabilities.ts` | Model catalog, live probes (`--offline` toggle), exact-id selector `probeCapabilitiesForModel`, field-note promotion. |
|
|
82
90
|
| [middleware-and-components.md](../architecture/middleware-and-components.md) | `src/domains/components/**`, `src/domains/middleware/**`, `src/cli/components.ts` | Active component snapshots, phase-aware middleware hook budgets (`DEFAULT_MIDDLEWARE_HOOK_BUDGETS_MS`). |
|
|
83
91
|
| [scientific-validation.md](scientific-validation.md) | `src/domains/safety/rigor.ts`, `src/domains/safety/finish-contract.ts` | Advisory validation-contract patterns for scientific artifacts and HPC assumptions. |
|
|
@@ -133,8 +141,8 @@ Clio Coder maintains two complementary documentation formats:
|
|
|
133
141
|
|
|
134
142
|
Blueprint coverage is explicit rather than inferred from document style. The
|
|
135
143
|
page-level audit lives in
|
|
136
|
-
[`documentation-coverage.md`](documentation-coverage.md).
|
|
137
|
-
|
|
144
|
+
[`documentation-coverage.md`](documentation-coverage.md). Every canonical Markdown page
|
|
145
|
+
has a dedicated blueprint. Recheck the complete inventory during each release cut. `docs/html/index.html` groups those counterparts by
|
|
138
146
|
the same Guide, Architecture, Process, and History tree, while a source meta tag
|
|
139
147
|
provides the one-to-one machine-readable mapping. Every mapping must remain
|
|
140
148
|
unique, complete, and free of orphaned Markdown or HTML pages.
|
|
@@ -14,6 +14,9 @@ Source of truth: [src/domains/eval/](../../src/domains/eval/) and [src/cli/eval.
|
|
|
14
14
|
The CLI commands under `clio-coder eval` support running, validating, reporting, comparing, and gating evaluation suites.
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
+
clio-coder eval validate --package <path|kind:name> [--eval <name>] [--user|--project]
|
|
18
|
+
clio-coder eval run --package <path|kind:name> [--eval <name>] [--user|--project] [--out <path>]
|
|
19
|
+
clio-coder eval skill <name|path> [--scenario <id>] [--json]
|
|
17
20
|
clio-coder eval validate --suite <suite.yaml>
|
|
18
21
|
clio-coder eval run --suite <suite.yaml> [--trials <n>] [--target <id>] [--model <id>] [--out <path>] [--clio-coder-entry <path>]
|
|
19
22
|
clio-coder eval run --task-file <tasks.yaml> [--repeat <n>] [--out <path>] [--clio-coder-entry <path>]
|
|
@@ -24,8 +27,9 @@ clio-coder eval inventory --json
|
|
|
24
27
|
```
|
|
25
28
|
|
|
26
29
|
### Command Roles
|
|
27
|
-
* **`validate`**: Validates the structure and constraints of a Suite v2 YAML file without executing
|
|
28
|
-
* **`run`**: Runs a Suite v2 (via `--suite`)
|
|
30
|
+
* **`validate`**: Validates the structure and constraints of a Suite v2 YAML file (via `--suite`) or package evaluations (via `--package <path|kind:name> [--eval <name>]`) without executing them.
|
|
31
|
+
* **`run`**: Runs a Suite v2 (via `--suite`), a compatibility v1 task file (via `--task-file`), or a packaged evaluation (via `--package <path|kind:name> [--eval <name>]`). Outputs a text summary and writes an eval artifact under `<dataDir>/evals/` and evidence under `<dataDir>/evidence/eval-<evalId>/`.
|
|
32
|
+
* **`skill`**: Evaluates an individual skill directory or catalog entry against its baseline scenarios declared in `evals.md`.
|
|
29
33
|
* **`report`**: Formats and prints a report from a saved `evalId`. Supports multiple `--format` outputs:
|
|
30
34
|
* `text` (default): Human-readable stdout summary.
|
|
31
35
|
* `json`: Raw JSON structure of the artifact.
|
|
@@ -41,7 +45,8 @@ Exit codes:
|
|
|
41
45
|
| Command | Success | Failure |
|
|
42
46
|
| --- | --- | --- |
|
|
43
47
|
| `eval validate` | `0` when validation passes | `2` for validation issues |
|
|
44
|
-
| `eval run` | `0` when all task repetitions pass | `1` when any task fails, `2` for invalid configs |
|
|
48
|
+
| `eval run` | `0` when all task repetitions pass | `1` when any task/gate fails (including package evals), `2` for invalid configs or load errors |
|
|
49
|
+
| `eval skill` | `0` when all scenarios pass | `1` for failures/regressions, `3` for unmeasured harness state or evidence errors, `2` for invalid arguments |
|
|
45
50
|
| `eval report` | `0` when artifact loads | `1` if artifact cannot be read, `2` for invalid ID |
|
|
46
51
|
| `eval compare` | `0` when both artifacts compare and the behavioral hard gate passes | `1` for a hard regression or unreadable artifact, `2` for invalid ID |
|
|
47
52
|
| `eval gate` | `0` when correctness, safety, and hard threshold assertions pass | `1` for hard failures, unreadable inputs, and malformed threshold files; `2` for an invalid eval ID or usage error |
|
|
@@ -62,7 +62,7 @@ exit. This keeps diagnostic output from corrupting the temporary shell without
|
|
|
62
62
|
changing the measured endpoints.
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
CLIO_CODER_RENDER_TRACE=/tmp/clio-render.jsonl \
|
|
65
|
+
CLIO_CODER_RENDER_TRACE=/tmp/clio-coder-render.jsonl \
|
|
66
66
|
CLIO_CODER_TRACE_BOOT=1 \
|
|
67
67
|
CLIO_CODER_INTERACTIVE=1 \
|
|
68
68
|
node dist/cli/index.js
|
|
@@ -78,6 +78,10 @@ Run deterministic local checks on the candidate commit before requesting authori
|
|
|
78
78
|
npm pack --dry-run
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
Confirm the complete `library/` tree and `.claude-plugin/marketplace.json`
|
|
82
|
+
accompany `dist/`, `src/`, and the documented runtime resources. The repository's
|
|
83
|
+
`.agents/skills/` symlinks are clone conveniences and are not tarball contents.
|
|
84
|
+
|
|
81
85
|
5. Validate an installed tarball in a clean temporary directory:
|
|
82
86
|
|
|
83
87
|
Create a temporary directory, pack the tarball, install it via npm, and verify
|
|
@@ -122,3 +122,26 @@ Clio Coder integrates scientific validation contracts directly into its safety m
|
|
|
122
122
|
- **High-Rigor Gate Requirements**: Once the rigor is `high`, the finish gate is active. It engages on a settled `turn_end` only when the recent window contains successful workspace mutation evidence and no validation evidence or `limitation` receipt. The window is entries since the last user message, capped at 80 entries:
|
|
123
123
|
- Clio issues a `request_continuation` middleware effect to keep the session running.
|
|
124
124
|
- Clio injects a dynamic warning reminder (`HIGH_RIGOR_REVALIDATION_MESSAGE`) instructing the agent to run a verification command or to call `limitation` before it can conclude the turn.
|
|
125
|
+
|
|
126
|
+
## Verification boundaries and limitation receipts
|
|
127
|
+
|
|
128
|
+
File readback establishes artifact inspection, not executed scientific validation. When an agent or worker modifies files but cannot execute the outstanding checks with its admitted tools and approved scope:
|
|
129
|
+
|
|
130
|
+
1. **The generic `limitation` tool**:
|
|
131
|
+
- Clio provides the pure canonical `limitation` tool (`src/tools/limitation.ts`), recording a `limitation` tool_call and tool_result receipt in the session ledger.
|
|
132
|
+
- Arguments:
|
|
133
|
+
- `scope` (required string): What could not be verified, in one sentence.
|
|
134
|
+
- `reason` (required enum): One of `no-runner`, `blocked`, `out-of-scope`, `environment`, or `other`.
|
|
135
|
+
- `paths` (optional array of strings): Repository-relative file paths left unverified.
|
|
136
|
+
- A prose disclaimer or text summary in conversation is not a limitation receipt; only a successful `limitation` tool call registers a typed receipt in the session ledger.
|
|
137
|
+
|
|
138
|
+
2. **Recipe instructions vs generic harness**:
|
|
139
|
+
- Bundled scientific recipes (such as Materio research agents in `library/plugins/materio`) explicitly instruct workers via `<clio_verification_boundary>` in their recipe bodies to call `limitation` when external checks cannot run. This boundary instruction is authored recipe content, not an unconditional harness envelope injected into every worker.
|
|
140
|
+
|
|
141
|
+
3. **Finish gate enforcement**:
|
|
142
|
+
- At high rigor (such as when a valid `validation.yaml` contract is present), the finish gate monitors workspace mutations within the recent active turn window (up to 80 entries since the last user message).
|
|
143
|
+
- If mutating tool calls occurred in that window without executed validation evidence or a `limitation` receipt, `finishContractRegistration` (`src/domains/safety/finish-contract-registration.ts`) emits a `request_continuation` middleware effect accompanied by a reminder (`HIGH_RIGOR_REVALIDATION_MESSAGE`). At normal rigor, it emits an advisory reminder without blocking.
|
|
144
|
+
- The gate checks structural evidence presence; it does not grade the empirical correctness of scientific code. Runtime turn budgets, deadline limits, operator cancellation, and tool failures still apply.
|
|
145
|
+
- A limitation receipt never converts missing or failing checks into a pass; it formally records the limitation so callers and operators know the scientific result is incomplete.
|
|
146
|
+
- Verified by contracts `tests/contracts/materio-plugin.test.ts` and `tests/contracts/safety-policy-remediation.test.ts`.
|
|
147
|
+
|
|
@@ -24,7 +24,7 @@ if (!python) throw new Error("Pass an existing Python interpreter with NumPy; th
|
|
|
24
24
|
const fixture = JSON.parse(readFileSync(new URL("./fixtures/scalar-decision.json", import.meta.url), "utf8"));
|
|
25
25
|
const grader = fileURLToPath(new URL("./scalar-decision-grader.py", import.meta.url));
|
|
26
26
|
const { restore } = await isolateClioEnv();
|
|
27
|
-
const root = mkdtempSync(join(tmpdir(), "clio-scalar-decision-"));
|
|
27
|
+
const root = mkdtempSync(join(tmpdir(), "clio-coder-scalar-decision-"));
|
|
28
28
|
|
|
29
29
|
function grade(source: string, value: string) {
|
|
30
30
|
const policy = value === fixture.pythonPolicy ? "python-int" : value === fixture.numpyPolicy ? "numpy-integer" : null;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Local scientific extensions
|
|
2
|
+
|
|
3
|
+
These installable examples use the harness extension lifecycle, separately from
|
|
4
|
+
library recipes. They require a Clio build containing operator runtime API v1.
|
|
5
|
+
The manifests retain the current package compatibility minimum, 0.4.7; use this
|
|
6
|
+
implementation or a later release that includes it (the original 0.4.7 release
|
|
7
|
+
predates the runtime field).
|
|
8
|
+
|
|
9
|
+
From the repository root:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
clio-coder extensions discover examples/extensions/lab-status --json
|
|
13
|
+
clio-coder extensions install examples/extensions/lab-status --project
|
|
14
|
+
clio-coder extensions run lab-status dashboard
|
|
15
|
+
clio-coder extensions run lab-status dashboard --json
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
In Clio, reload through `/extensions reload`, then invoke
|
|
19
|
+
`/ext:lab-status:dashboard`. Core renders the panel, owns scrolling and Escape,
|
|
20
|
+
and displays the status with the extension's owner label. The default record is
|
|
21
|
+
`jobs.synthetic.json`: **SYNTHETIC FIXTURE**, two completed jobs and one running
|
|
22
|
+
job. These are deterministic demonstration records, not measured cluster facts.
|
|
23
|
+
|
|
24
|
+
Pass a local JSON record filename as the argument to inspect your own data:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
clio-coder extensions run lab-status dashboard -- /absolute/path/experiment.json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The record has `experiment` and `jobs` fields. Each job supplies a string `id`,
|
|
31
|
+
positive integer `ranks`, `state` (`queued`, `running`, `completed`, `failed`) and
|
|
32
|
+
nonnegative finite `elapsedSeconds`. Set `synthetic: true` for simulated data.
|
|
33
|
+
Records without that marker are labeled local reported data, not independently
|
|
34
|
+
verified results. Files are regular local files up to 32 KiB and at most 100 jobs.
|
|
35
|
+
The example performs no SSH, scheduler query, submission, provider request or
|
|
36
|
+
credential access. Turn observations repeat the last explicit snapshot; invoke
|
|
37
|
+
the dashboard again to refresh the file. Runtime state resets on reload.
|
|
38
|
+
|
|
39
|
+
The separate measurement package keeps the existing model tool contract:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
clio-coder extensions install examples/extensions/measurements --project
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Start a new session. The admitted model tool is
|
|
46
|
+
`extension_measurements__summarize`, with input such as
|
|
47
|
+
`{"values":[1,2,3],"units":"seconds"}`. That input is a **synthetic deterministic
|
|
48
|
+
example**, with mean 2 and sample standard deviation 1. A one-value input returns
|
|
49
|
+
`null` for sample standard deviation. Numeric overflow errors instead of
|
|
50
|
+
reporting null or invented valid measurements. Execution still passes the tool
|
|
51
|
+
registry's safety, autonomy and approval rules. Native worker recipes must
|
|
52
|
+
explicitly admit the qualified tool. Installing a runtime never adds tools to
|
|
53
|
+
existing model schemas.
|
|
54
|
+
|
|
55
|
+
Update source, reinstall with `--force`, then reload operator runtimes at idle.
|
|
56
|
+
Disable and remove exact copies with `--project` or `--user`:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
clio-coder extensions disable lab-status --project
|
|
60
|
+
clio-coder extensions enable lab-status --project
|
|
61
|
+
clio-coder extensions remove lab-status --project
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Do not edit installed package bytes in place. Whole-tree digest drift revokes
|
|
65
|
+
calls; mixed tool/UI packages need a new session even when only UI bytes change.
|
|
66
|
+
Installed runtime code has your account's filesystem/network authority. A child
|
|
67
|
+
process gives bounded teardown and fresh module caches, not an OS sandbox.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "lab-status",
|
|
3
|
+
"name": "Local experiment status",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Inspect a local experiment record; default data is explicitly synthetic.",
|
|
6
|
+
"compatibility": { "clio": ">=0.4.7" },
|
|
7
|
+
"runtime": {
|
|
8
|
+
"api": 1,
|
|
9
|
+
"entrypoint": "extension.mjs",
|
|
10
|
+
"commands": [{ "name": "dashboard", "description": "Show synthetic jobs or a named local JSON experiment file." }],
|
|
11
|
+
"events": ["session_open", "turn_end"],
|
|
12
|
+
"ui": ["status", "panel"]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { open } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
|
|
4
|
+
let lastStatus = { text: "Synthetic fixture available; invoke dashboard", tone: "neutral" };
|
|
5
|
+
async function readRecord(file) {
|
|
6
|
+
const handle = await open(file, "r");
|
|
7
|
+
try {
|
|
8
|
+
const info = await handle.stat();
|
|
9
|
+
if (!info.isFile() || info.size > 32768) throw new Error("Expected a regular local JSON record, at most 32 KiB");
|
|
10
|
+
const buffer = Buffer.alloc(32769);
|
|
11
|
+
const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
|
|
12
|
+
if (bytesRead > 32768) throw new Error("Experiment record exceeds 32 KiB");
|
|
13
|
+
const data = JSON.parse(buffer.subarray(0, bytesRead).toString("utf8"));
|
|
14
|
+
if (
|
|
15
|
+
typeof data.experiment !== "string" ||
|
|
16
|
+
data.experiment.length > 120 ||
|
|
17
|
+
!Array.isArray(data.jobs) ||
|
|
18
|
+
data.jobs.length > 100
|
|
19
|
+
)
|
|
20
|
+
throw new Error("Invalid experiment record");
|
|
21
|
+
for (const job of data.jobs) {
|
|
22
|
+
if (
|
|
23
|
+
typeof job.id !== "string" ||
|
|
24
|
+
job.id.length > 80 ||
|
|
25
|
+
!["queued", "running", "completed", "failed"].includes(job.state) ||
|
|
26
|
+
!Number.isInteger(job.ranks) ||
|
|
27
|
+
job.ranks < 1 ||
|
|
28
|
+
!Number.isFinite(job.elapsedSeconds) ||
|
|
29
|
+
job.elapsedSeconds < 0
|
|
30
|
+
)
|
|
31
|
+
throw new Error("Invalid job record");
|
|
32
|
+
}
|
|
33
|
+
return data;
|
|
34
|
+
} finally {
|
|
35
|
+
await handle.close();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** @param {import('@iowarp/clio-coder/extensions').ExtensionApi} api */
|
|
39
|
+
export default function extension(api) {
|
|
40
|
+
api.handle("dashboard", async (args, context) => {
|
|
41
|
+
const file = args.trim()
|
|
42
|
+
? path.resolve(context.snapshot.workspace, args.trim())
|
|
43
|
+
: new URL("./jobs.synthetic.json", import.meta.url);
|
|
44
|
+
const data = await readRecord(file);
|
|
45
|
+
context.signal.throwIfAborted();
|
|
46
|
+
const label = data.synthetic === true ? "SYNTHETIC FIXTURE" : "LOCAL RECORD (reported, not independently verified)";
|
|
47
|
+
const completed = data.jobs.filter((job) => job.state === "completed").length;
|
|
48
|
+
lastStatus = { text: `${label}: ${completed}/${data.jobs.length} completed`, tone: "neutral" };
|
|
49
|
+
const rows = data.jobs.map((job) => [job.id, String(job.ranks), job.state, String(job.elapsedSeconds)]);
|
|
50
|
+
return {
|
|
51
|
+
text: `${label}\n${data.experiment}\n${completed}/${data.jobs.length} completed\n${rows.map((row) => row.join(" | ")).join("\n")}\nSource: ${file}`,
|
|
52
|
+
status: lastStatus,
|
|
53
|
+
panel: {
|
|
54
|
+
title: data.experiment,
|
|
55
|
+
sections: [
|
|
56
|
+
{
|
|
57
|
+
kind: "text",
|
|
58
|
+
text: `${label}\nSource: ${file}\nThis extension reads records only. It never submits or queries cluster jobs.`,
|
|
59
|
+
},
|
|
60
|
+
{ kind: "metrics", items: [{ label: "Completed", value: `${completed}/${data.jobs.length}` }] },
|
|
61
|
+
{ kind: "table", columns: ["Job", "MPI ranks", "State", "Elapsed s"], rows },
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
api.on("session_open", () => ({ text: "", status: lastStatus }));
|
|
67
|
+
api.on("turn_end", () => ({ text: "", status: lastStatus }));
|
|
68
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"synthetic": true,
|
|
3
|
+
"experiment": "Synthetic stencil scaling fixture",
|
|
4
|
+
"jobs": [
|
|
5
|
+
{ "id": "fixture-1", "ranks": 8, "state": "completed", "elapsedSeconds": 42 },
|
|
6
|
+
{ "id": "fixture-2", "ranks": 16, "state": "completed", "elapsedSeconds": 24 },
|
|
7
|
+
{ "id": "fixture-3", "ranks": 32, "state": "running", "elapsedSeconds": 9 }
|
|
8
|
+
]
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "measurements",
|
|
3
|
+
"name": "Measurement summary",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Count, mean, min, max and sample standard deviation of supplied finite measurements.",
|
|
6
|
+
"compatibility": { "clio": ">=0.4.7" },
|
|
7
|
+
"capabilities": {
|
|
8
|
+
"tools": [
|
|
9
|
+
{
|
|
10
|
+
"name": "summarize",
|
|
11
|
+
"description": "Summarize supplied measurements without inventing physical units or provenance.",
|
|
12
|
+
"runtime": "node",
|
|
13
|
+
"entrypoint": "summarize.cjs",
|
|
14
|
+
"timeoutMs": 10000,
|
|
15
|
+
"maxOutputBytes": 16384,
|
|
16
|
+
"inputSchema": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"properties": {
|
|
19
|
+
"values": { "type": "array", "items": { "type": "number" }, "minItems": 1, "maxItems": 1000 },
|
|
20
|
+
"units": { "type": "string", "maxLength": 40 }
|
|
21
|
+
},
|
|
22
|
+
"required": ["values"],
|
|
23
|
+
"additionalProperties": false
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const { values, units } = JSON.parse(process.argv[2]);
|
|
2
|
+
if (!Array.isArray(values) || values.length < 1 || values.length > 1000 || !values.every(Number.isFinite))
|
|
3
|
+
throw new Error("Expected 1-1000 finite measurements");
|
|
4
|
+
let mean = 0;
|
|
5
|
+
let m2 = 0;
|
|
6
|
+
for (const [index, value] of values.entries()) {
|
|
7
|
+
const delta = value - mean;
|
|
8
|
+
mean += delta / (index + 1);
|
|
9
|
+
m2 += delta * (value - mean);
|
|
10
|
+
}
|
|
11
|
+
if (!Number.isFinite(mean) || !Number.isFinite(m2))
|
|
12
|
+
throw new Error("Numerical overflow; rescale the supplied measurements");
|
|
13
|
+
console.log(
|
|
14
|
+
JSON.stringify({
|
|
15
|
+
count: values.length,
|
|
16
|
+
mean,
|
|
17
|
+
min: Math.min(...values),
|
|
18
|
+
max: Math.max(...values),
|
|
19
|
+
sampleStandardDeviation: values.length > 1 ? Math.sqrt(m2 / (values.length - 1)) : null,
|
|
20
|
+
units: units ?? null,
|
|
21
|
+
source: "caller-supplied measurements; provenance not independently verified",
|
|
22
|
+
}),
|
|
23
|
+
);
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Clio Coder Library
|
|
2
|
+
|
|
3
|
+
The Clio Coder library is the canonical home of shareable packages, contributor entry points, and the generated distribution index.
|
|
4
|
+
|
|
5
|
+
## Package Kinds
|
|
6
|
+
|
|
7
|
+
The library organizes shareable packages by kind into dedicated directories:
|
|
8
|
+
|
|
9
|
+
| Kind | Directory | What an author shares | How it is used |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| **Skill** | `library/skills/` | A procedure and supporting knowledge for the agent | `/skill <skill-name>` |
|
|
12
|
+
| **Agent** | `library/agents/` | A worker recipe: role, tools, budget, and result contract | `/run <agent-id> <task>` or dispatch |
|
|
13
|
+
| **Prompt** | `library/prompts/` | Reusable task text and parameterized instructions | `/<derived-prompt-name> [arguments]` |
|
|
14
|
+
| **Fleet** | `library/fleets/` | An executable multi-agent coordination recipe | `/fleet run <name>` or preview |
|
|
15
|
+
| **Plugin** | `library/plugins/` | A cohesive bundle of resources released together | Inspect contents, invoke member recipes |
|
|
16
|
+
|
|
17
|
+
## Browsing and Managing Packages
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Discover packages in the catalog
|
|
21
|
+
clio-coder library list
|
|
22
|
+
clio-coder library search <query>
|
|
23
|
+
|
|
24
|
+
# Install packages
|
|
25
|
+
clio-coder library install skill:<name> --project
|
|
26
|
+
clio-coder library install plugin:materio --project
|
|
27
|
+
|
|
28
|
+
# Inspect installed packages
|
|
29
|
+
clio-coder library skills --all --json
|
|
30
|
+
|
|
31
|
+
# Read every discovered recipe with its owner, origin and invocation
|
|
32
|
+
clio-coder library recipes --json
|
|
33
|
+
clio-coder library recipes <query> --kind agent
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`library recipes` reads the same bounded, body-free inventory Clio reads through `context(scope="library")`, so the operator and the model agree about which recipes exist, who owns them, where they came from and how each one is actually invoked. Both are reads: installation, removal and activation stay operator actions through `library install` and `/library`, and `/skill <name>` stays the way a skill is activated.
|
|
37
|
+
|
|
38
|
+
In an interactive session, `/library` opens the recipe browser.
|
|
39
|
+
|
|
40
|
+
## Using These Packages From Another Agent
|
|
41
|
+
|
|
42
|
+
The same sources are usable by Claude Code and Codex with no converted copy and no duplicated recipe body.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Claude Code: the repository is a standard marketplace
|
|
46
|
+
claude plugin marketplace add iowarp/clio-coder
|
|
47
|
+
claude plugin install tdd@clio-coder
|
|
48
|
+
|
|
49
|
+
# Codex: .agents/skills already links the canonical trees, so a session
|
|
50
|
+
# started in a clone sees all 39 skills. For every repository:
|
|
51
|
+
ln -s "$PWD/library/skills" ~/.agents/skills/clio-coder
|
|
52
|
+
ln -s "$PWD/library/plugins/materio/skills" ~/.agents/skills/materio
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
`.claude-plugin/marketplace.json` is generated by `pnpm run library:pin` from the pinned packages in `registry.yaml` and verified by `pnpm run library:check`. It is never edited by hand.
|
|
56
|
+
|
|
57
|
+
A package is published there only when a peer host would load a real skill surface from it and nothing it would default-scan into a native component. Agent-, prompt- and fleet-only packages, and packages that keep Clio recipes in a top-level `agents/` directory, stay valid first-class library packages with no peer-host projection; `library:pin` prints which ones and why. See [coding agent interoperability](../docs/guide/interop.md) for what each host actually loads.
|
|
58
|
+
|
|
59
|
+
## Authoring Templates
|
|
60
|
+
|
|
61
|
+
Working, valid authoring templates for all five package kinds live in `library/_authoring/templates/`:
|
|
62
|
+
|
|
63
|
+
- `library/_authoring/templates/skill/`: Single skill package with house metadata, triggers, and evals.
|
|
64
|
+
- `library/_authoring/templates/agent/`: Standalone agent recipe with strict v1 format, custom audience, and `skills: []`.
|
|
65
|
+
- `library/_authoring/templates/prompt/`: Reusable prompt with path-derived invocation and argument placeholders.
|
|
66
|
+
- `library/_authoring/templates/fleet/`: Multi-agent coordination contract with a valid DAG and documented prerequisites.
|
|
67
|
+
- `library/_authoring/templates/plugin/`: Composite bundle demonstrating an agent binding a contained skill, prompts, and assets.
|
|
68
|
+
|
|
69
|
+
Templates are authoring reference models; they live outside the five catalog kind roots and never enter `library/registry.yaml`.
|
|
70
|
+
|
|
71
|
+
## Contributing Packages
|
|
72
|
+
|
|
73
|
+
Every native installable package carries a portable `plugin.json` manifest.
|
|
74
|
+
The optional `extensions["ai.iowarp.clio"]` metadata declares a Clio-specific
|
|
75
|
+
kind, resource paths and components; conventional plugin packages can expose
|
|
76
|
+
`skills/` without it. The key is metadata inside the interoperable manifest,
|
|
77
|
+
and does not name a marketplace service or require a directory. Supported
|
|
78
|
+
foreign plugin manifests enter through the separate reviewed import route.
|
|
79
|
+
|
|
80
|
+
1. **Choose package kind**: Decide whether your contribution is a single-kind package (`skill`, `agent`, `prompt`, `fleet`) exposing exactly one public recipe, or a composite `plugin` bundle combining multiple resources.
|
|
81
|
+
2. **Copy authoring template**: Copy from `library/_authoring/templates/<kind>/` into your authoring tree.
|
|
82
|
+
3. **Author resources**:
|
|
83
|
+
- Single-kind packages expose exactly one public resource file under their resource root (`skills`, `agents`, `prompts`, or `fleets`).
|
|
84
|
+
- Place `README.md` at the package root, outside the resource root, so it is not discovered as a second recipe.
|
|
85
|
+
- Packages may carry explicitly invoked scripts (e.g. for offline evaluation or verification). Runtime tools and session hooks belong to the separate harness extension lifecycle.
|
|
86
|
+
4. **Validate**:
|
|
87
|
+
```bash
|
|
88
|
+
clio-coder library validate <package-path> --json
|
|
89
|
+
```
|
|
90
|
+
Validates manifest schema, resource payloads, package reference markers, and loader compatibility in a read-only pass.
|
|
91
|
+
5. **Pin and check**:
|
|
92
|
+
```bash
|
|
93
|
+
pnpm run library:pin # regenerates full-tree pins in library/registry.yaml
|
|
94
|
+
pnpm run library:check # verifies all package bytes against library/registry.yaml
|
|
95
|
+
```
|
|
96
|
+
For curated skills under `library/skills/`, maintainers also run:
|
|
97
|
+
```bash
|
|
98
|
+
pnpm run skills:pin # updates normalized skill-body provenance in library/skills/registry.yaml
|
|
99
|
+
pnpm run skills:check # verifies skill provenance records
|
|
100
|
+
```
|
|
101
|
+
*Full-tree pins* cover every distributed byte for runtime package integrity; *normalized skill hashes* record advisory provenance for audited instructions.
|
|
102
|
+
6. **Try in isolated project**:
|
|
103
|
+
```bash
|
|
104
|
+
clio-coder library register <package-path> --project
|
|
105
|
+
clio-coder library install <kind>:<name> --project
|
|
106
|
+
```
|
|
107
|
+
7. **Submit a focused fork PR**: Push to your fork and submit a PR against `main`.
|
|
108
|
+
|
|
109
|
+
Built-in agent recipes and baseline fleets remain product-owned under `src/domains/agents/builtins/` and `src/domains/agents/fleets/`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Benchmark Scout Agent Template
|
|
2
|
+
|
|
3
|
+
This template demonstrates a valid standalone **agent** package for Clio Coder.
|
|
4
|
+
|
|
5
|
+
## Package Structure
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
benchmark-scout/
|
|
9
|
+
README.md # Documentation (outside resource root)
|
|
10
|
+
plugin.json # Portable manifest declaring kind: agent
|
|
11
|
+
agents/
|
|
12
|
+
benchmark-scout.md # Agent recipe (strict v1 format)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
> **Important**: Place `README.md` at the package root, never inside the `agents/` resource root. Single-kind packages expose exactly one public candidate in their declared resource directory.
|
|
16
|
+
|
|
17
|
+
## Recipe Constraints
|
|
18
|
+
|
|
19
|
+
- Must use version 1 schema (`version: 1`).
|
|
20
|
+
- Standalone agents declare `skills: []` and cannot bind external package skills.
|
|
21
|
+
- Must declare `audience: custom` (only built-in recipes can use other audiences).
|
|
22
|
+
- Valid budget, tools (required and optional), capability class, category, and result contract.
|
|
23
|
+
|
|
24
|
+
## Validation
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
clio-coder library validate .
|
|
28
|
+
```
|