@iowarp/clio-coder 0.4.5 → 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 +74 -0
- package/CONTRIBUTING.md +116 -38
- package/NOTICE +24 -0
- package/README.md +341 -682
- package/dist/{acp-H3CU2HBQ.js → acp-W3Y3TRHD.js} +12 -12
- package/dist/{agents-IXQQZ7BD.js → agents-J4ICNLQ3.js} +57 -56
- 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-R7KYF7N3.js → auth-X2UJUMOC.js} +25 -25
- package/dist/{builtins-CRFDQUVP.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-SE4ZKILO.js → chunk-3XE4NRLF.js} +30 -9
- package/dist/{chunk-YYB3MC65.js → chunk-4MFBBY2Z.js} +3 -3
- package/dist/{chunk-5VTJP36Q.js → chunk-4N2RZ4TO.js} +2 -2
- package/dist/{chunk-FKIOX6DS.js → chunk-4QKAITQT.js} +10 -5
- package/dist/chunk-4UHVS5T7.js +207 -0
- package/dist/{chunk-VLPTKCKT.js → chunk-5AJPUR72.js} +6 -6
- package/dist/{chunk-5CY4Q6QI.js → chunk-5EQO5NWP.js} +105 -3
- package/dist/{chunk-RXIOCVBZ.js → chunk-65BGHOUR.js} +8 -5
- package/dist/{chunk-T53XI6I7.js → chunk-6CA2BHOR.js} +2 -2
- package/dist/{chunk-HL26ADLH.js → chunk-6CB2IL4N.js} +2 -1
- package/dist/{chunk-HR3HPQ76.js → chunk-6LRLOJHQ.js} +3 -3
- package/dist/{chunk-HXHFDHB6.js → chunk-6TAATXXH.js} +6 -6
- package/dist/{chunk-WFKDPU7U.js → chunk-6YHPAAZR.js} +3 -3
- package/dist/{chunk-ZMZQEBKI.js → chunk-7EEGBKV4.js} +11 -11
- package/dist/{chunk-BS4GAMUB.js → chunk-A67NR5AT.js} +2 -2
- package/dist/{chunk-WJIMKGD6.js → chunk-BAU36233.js} +8 -8
- package/dist/{chunk-MDU3C27C.js → chunk-BO4XV5VX.js} +8 -8
- package/dist/{chunk-KF6GFW6O.js → chunk-BQQ5MXUC.js} +11 -11
- package/dist/{chunk-K6RDB7IA.js → chunk-C3G5PNUO.js} +23 -23
- package/dist/{chunk-SRZOW5L2.js → chunk-C6GEXX4L.js} +1 -1
- package/dist/{chunk-U2JOLB7O.js → chunk-CE64C5K5.js} +227 -72
- package/dist/chunk-CP3HIR5H.js +2119 -0
- package/dist/{chunk-BBV5TKE6.js → chunk-CPXGJI2A.js} +2 -2
- package/dist/{chunk-5DDOTTG4.js → chunk-CULVKYTK.js} +5 -5
- package/dist/{chunk-F34AR6O3.js → chunk-D2T66PDV.js} +6 -6
- package/dist/{chunk-NF3BK5WR.js → chunk-DACXIVVF.js} +5 -5
- package/dist/{chunk-4SVIVOMC.js → chunk-DLIYANB7.js} +20 -15
- package/dist/{chunk-E3BQTQUP.js → chunk-DO7M3LSX.js} +9 -9
- package/dist/{chunk-2QPI3TR3.js → chunk-DVJL77SO.js} +2 -2
- package/dist/chunk-EM2WNQS2.js +93 -0
- package/dist/{chunk-ODUTYZIU.js → chunk-EUEXGXXR.js} +5 -5
- package/dist/{chunk-UL36QJX6.js → chunk-EUZRMP4Y.js} +18 -16
- package/dist/{chunk-R6MAYTMS.js → chunk-G4LGUTOE.js} +4 -4
- package/dist/{chunk-CBSKDFWL.js → chunk-GEVQNST4.js} +2 -2
- package/dist/{chunk-XXBQKW32.js → chunk-GFQ7P2UF.js} +7 -7
- package/dist/{chunk-SBZX6ARC.js → chunk-GI5RRMAH.js} +14 -14
- package/dist/{chunk-KDWLXVMN.js → chunk-GVZFCJHE.js} +343 -113
- package/dist/{chunk-633EXGZA.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-KYKNBD4Y.js → chunk-IJMW64DX.js} +978 -258
- package/dist/{chunk-DIMRLNIC.js → chunk-IMOD2YPV.js} +16 -9
- package/dist/{chunk-6CDNRHWH.js → chunk-IQCNVLO6.js} +28 -8
- package/dist/{chunk-UTUNT5QL.js → chunk-ISNCCX42.js} +9 -9
- package/dist/{chunk-RLTT5GVY.js → chunk-IZYTT3CD.js} +9 -5
- package/dist/{chunk-5ZMXGW7P.js → chunk-KAFMW7WM.js} +4 -85
- package/dist/chunk-KKEYGFX4.js +915 -0
- package/dist/{chunk-HHVJNVUJ.js → chunk-KS7ETA3P.js} +2 -2
- package/dist/{chunk-UXAC2FX4.js → chunk-L3Z5ANCV.js} +7 -7
- package/dist/{chunk-EHCPSZJF.js → chunk-LBFQMYS3.js} +2 -2
- package/dist/{chunk-QEQISF75.js → chunk-LK2FN5JY.js} +1 -1
- package/dist/{chunk-URBGEOH3.js → chunk-M6Z2V6YU.js} +5 -5
- package/dist/{chunk-DRD2A54W.js → chunk-MBJO5VNZ.js} +18 -18
- package/dist/chunk-MNQN3X6Y.js +595 -0
- package/dist/{chunk-GXCCHKN6.js → chunk-MZHXENL7.js} +7 -7
- package/dist/chunk-MZNWZUJM.js +1801 -0
- package/dist/{chunk-7YJWEF2L.js → chunk-N37QC5FV.js} +5 -5
- package/dist/{chunk-WLMSOT73.js → chunk-NCCQ6DVS.js} +7 -7
- package/dist/{chunk-TZ7MFRG4.js → chunk-NO7J45X6.js} +170 -53
- package/dist/chunk-OH3YYA3B.js +15 -0
- package/dist/{chunk-22PQ4TX4.js → chunk-P4DL2LM5.js} +16 -77
- package/dist/{chunk-R6MICQYU.js → chunk-PFLOULP3.js} +4 -4
- package/dist/{chunk-MC3JSVR6.js → chunk-QJMRYTCX.js} +7 -7
- package/dist/{chunk-ILJ7DWGE.js → chunk-QKWL7SYE.js} +12 -12
- package/dist/chunk-R2CT5YDO.js +66 -0
- package/dist/chunk-RFCKPS2V.js +26 -0
- package/dist/{chunk-ONRTXOZY.js → chunk-RTLNFZMD.js} +12 -4
- package/dist/{chunk-U7H5WRG5.js → chunk-RXFPB32E.js} +8 -6
- package/dist/{chunk-S32UQ5GL.js → chunk-SEDI5K5B.js} +18 -18
- package/dist/{chunk-ICO4TQ2F.js → chunk-SELG4SUR.js} +41 -25
- package/dist/{chunk-YEJIG7LN.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-HGSLRG33.js → chunk-TLTGZTXI.js} +3 -3
- package/dist/chunk-TZ6UVP2H.js +637 -0
- package/dist/{chunk-EWD5P3GK.js → chunk-TZHN5ITX.js} +13 -41
- package/dist/{chunk-7TKWWPD7.js → chunk-U3TPUXOQ.js} +398 -253
- package/dist/{chunk-GNQRWTMY.js → chunk-UA3W4FGC.js} +6 -6
- package/dist/{chunk-O2RQ7LCK.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-I7VLWRK2.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-GVYWZNRK.js → chunk-WBVKKTUT.js} +2 -2
- package/dist/{chunk-EHOSNVVM.js → chunk-WLHX3MM5.js} +6 -2
- package/dist/{chunk-SDWNDICN.js → chunk-WN552PKN.js} +573 -316
- package/dist/{chunk-TEG3RYVZ.js → chunk-WT5TRMO4.js} +51 -26
- package/dist/{chunk-NY6IWDVU.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-FSTIBAGM.js → chunk-XZ6UFQ52.js} +11 -11
- package/dist/chunk-Y3JU5RPK.js +8 -0
- package/dist/chunk-YKRJTYNP.js +1143 -0
- package/dist/{chunk-7HBHHVCK.js → chunk-YPRSNUTC.js} +2 -2
- package/dist/{chunk-PWWSIB2A.js → chunk-ZGIGW4ZG.js} +5 -5
- package/dist/cli/index.js +34 -36
- package/dist/{clio-5I2IBFYL.js → clio-L2P7S2R2.js} +9 -9
- package/dist/{code-nav-YXIAEZVS.js → code-nav-B5LNX4KU.js} +25 -25
- package/dist/{components-TNIKXCBH.js → components-63MMQKUT.js} +6 -6
- package/dist/{config-Y2JDJ3JJ.js → config-YXARKGTX.js} +81 -77
- package/dist/configure-LMVQJ46J.js +85 -0
- package/dist/{context-QQ53HSGJ.js → context-7HJEWTTP.js} +92 -48
- package/dist/{context-S2EEC3EJ.js → context-XSZKKFBW.js} +14 -14
- package/dist/{context-P5YSEO55.js → context-YG2LZDYZ.js} +67 -64
- package/dist/{context-clear-TMEQCOTH.js → context-clear-AC5NXHM2.js} +64 -61
- 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-CNLSQN5K.js → context-working-set-F4Q4J3NS.js} +15 -12
- package/dist/{detail-5572VLBO.js → detail-H73BEF2N.js} +65 -62
- package/dist/{dispatch-runner-FRHD6P2O.js → dispatch-runner-3RY5FSJC.js} +83 -80
- package/dist/{doctor-N3LCM2LG.js → doctor-EQYJOGUG.js} +47 -32
- package/dist/{eval-BUU3ZOUZ.js → eval-4P7O6CCE.js} +114 -50
- package/dist/{evidence-DTGEN456.js → evidence-D6GUSYJW.js} +64 -61
- package/dist/{evidence-SQ5DNFEN.js → evidence-O76QF7TZ.js} +69 -65
- package/dist/{evolve-IJNUFZDS.js → evolve-H47BCETS.js} +65 -62
- package/dist/{extensions-YVRHX6ZI.js → extensions-NNL3ZOCU.js} +98 -20
- package/dist/{fleet-ZNNVSYFO.js → fleet-KMNS6NOM.js} +115 -107
- package/dist/{fleet-commands-5YE7NPJL.js → fleet-commands-DOWSYCBX.js} +15 -15
- package/dist/{fleet-decisions-3SBSCTCW.js → fleet-decisions-S3PTZV2D.js} +9 -9
- package/dist/{fleet-graph-6HHPWF5T.js → fleet-graph-F2DE2TME.js} +26 -24
- package/dist/{fleet-inspect-JEYMGCGC.js → fleet-inspect-EN2Q6IVB.js} +67 -63
- package/dist/{fleet-preflight-QRSHIIDE.js → fleet-preflight-FRLETDD3.js} +3 -3
- package/dist/{fleet-validate-4PM4GDDL.js → fleet-validate-B2XDLS57.js} +28 -29
- package/dist/{fleet-verify-NJDTHTO3.js → fleet-verify-4JKUWGJ7.js} +64 -61
- package/dist/{fleet-view-UP2BWQQY.js → fleet-view-BHJFW26B.js} +67 -63
- package/dist/{init-S3GZQ5ZF.js → init-XAT5N5YM.js} +86 -80
- package/dist/interop-FVECHFKG.js +246 -0
- package/dist/{inventory-K2OZ36YJ.js → inventory-7KFQGLCV.js} +67 -63
- 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-OQOXQGYD.js → memory-DYVTTCP6.js} +65 -62
- package/dist/{models-3IK2Y5WE.js → models-MASFJ6Y2.js} +51 -38
- package/dist/{monitor-FTJLTKCQ.js → monitor-YMP4NXJJ.js} +73 -69
- package/dist/{orchestrator-N47O7SFD.js → orchestrator-AFQRRTEI.js} +4255 -2845
- 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-65U34NG6.js → preload-5Q7VXRFJ.js} +64 -61
- package/dist/{reset-MUVQDLNL.js → reset-7NKZK7JN.js} +11 -9
- package/dist/{resources-LM76COAO.js → resources-NILSIZAT.js} +94 -38
- package/dist/{run-3VFZQ33N.js → run-BPZGEBZV.js} +131 -114
- package/dist/{share-4JUB4BL7.js → share-EZ6ERBMH.js} +31 -28
- package/dist/skills-BTVVNYVM.js +100 -0
- package/dist/{skills-eval-G6T57L7M.js → skills-eval-UY34MNK7.js} +117 -78
- package/dist/{skills-inventory-WLM46PJH.js → skills-inventory-JDHSIA7I.js} +30 -25
- package/dist/{slash-commands-GBARG3Y7.js → slash-commands-K4FNQ2AT.js} +53 -49
- package/dist/{steer-S7D7IKPU.js → steer-2B3EQGFH.js} +4 -4
- package/dist/{support-5VAEC32W.js → support-L2SOL3IE.js} +7 -7
- package/dist/{targets-N5REUETU.js → targets-44VKGFLN.js} +69 -47
- package/dist/{tasks-6BVY5YZF.js → tasks-3KODKFU7.js} +14 -14
- package/dist/{terminal-lease-57UEOJKS.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-4HD5HAIV.js → upgrade-7PMKM2JH.js} +17 -18
- package/dist/{usage-4GWM2WWP.js → usage-6EQV7EQK.js} +77 -73
- package/dist/{verifiers-GSKWKWVG.js → verifiers-JLITWSHU.js} +16 -16
- package/dist/{verify-3AS3ULCY.js → verify-T7NAEVIG.js} +13 -13
- package/dist/{web-fetch-MQN4FH3X.js → web-fetch-W4TNW4Q7.js} +4 -4
- package/dist/{wiki-generate-7BV7XWIY.js → wiki-generate-T2TJQJUA.js} +90 -84
- package/dist/{with-panes-OFTNAR4Y.js → with-panes-CHFC7HGI.js} +4 -4
- package/dist/worker/entry.js +297 -88
- 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 +36 -2
- 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 +153 -39
- 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 +186 -80
- package/docs/guide/configuration-and-targets.md +123 -28
- package/docs/guide/configuration-reference.md +36 -38
- 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 +32 -10
- package/docs/guide/glossary.md +2 -2
- package/docs/guide/harness-extensions.md +291 -0
- package/docs/guide/installation-and-lifecycle.md +53 -20
- 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 +15 -15
- package/docs/process/documentation-coverage.md +29 -2
- 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 +22 -6
- 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/ask.ts +10 -10
- package/src/cli/config-inspect.ts +1 -1
- package/src/cli/configure-editor.ts +51 -0
- package/src/cli/configure-interop.ts +1 -1
- package/src/cli/configure-oauth.ts +1 -1
- package/src/cli/configure-onboarding.ts +232 -96
- package/src/cli/configure-prompts.ts +76 -0
- package/src/cli/configure-quick.ts +274 -0
- package/src/cli/configure-target.ts +14 -2
- package/src/cli/configure.ts +415 -176
- 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/oauth-manual-input.ts +1 -1
- package/src/cli/reset.ts +2 -0
- package/src/cli/run.ts +26 -9
- package/src/cli/select.ts +35 -4
- 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/cli/upgrade.ts +2 -2
- package/src/core/bus-events.ts +5 -0
- package/src/core/config.ts +6 -1
- package/src/core/defaults.ts +34 -12
- package/src/{interactive → core}/external-editor.ts +4 -4
- 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/classify.ts +1 -1
- package/src/domains/config/keybindings.ts +156 -124
- 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/providers/probe/fingerprint.ts +13 -6
- package/src/domains/providers/probe/reasoning.ts +2 -0
- package/src/domains/providers/runtimes/common/probe-helpers.ts +23 -7
- package/src/domains/providers/runtimes/protocol/anthropic-compat.ts +7 -2
- package/src/domains/providers/runtimes/protocol/openai-compat.ts +10 -4
- 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 +68 -52
- package/src/interactive/chat-loop.ts +32 -5
- package/src/interactive/chat-panel.ts +168 -638
- package/src/interactive/chat-renderer.ts +13 -30
- package/src/interactive/clio-editor.ts +53 -21
- package/src/interactive/command-output.ts +56 -1
- package/src/interactive/dispatch-board.ts +1 -3
- package/src/interactive/editor-submit.ts +73 -59
- 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 +12 -4
- package/src/interactive/footer/notifications.ts +2 -2
- package/src/interactive/footer/widgets.ts +52 -93
- package/src/interactive/interactive-application.ts +225 -63
- package/src/interactive/interactive-event-projection.ts +2 -44
- package/src/interactive/interactive-input-runtime.ts +257 -35
- package/src/interactive/interactive-presentation.ts +71 -21
- package/src/interactive/interactive-slash-runtime.ts +40 -48
- package/src/interactive/keybinding-manager.ts +156 -79
- package/src/interactive/keyboard-owner.ts +37 -0
- package/src/interactive/layout.ts +29 -4
- 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-general-openers.ts +2 -0
- package/src/interactive/overlay-key-routing.ts +46 -47
- package/src/interactive/overlay-lifecycle.ts +31 -15
- package/src/interactive/overlay-resource-openers.ts +56 -46
- package/src/interactive/overlay-session-lifecycle.ts +1 -1
- 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 +34 -26
- 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/preview.ts +16 -0
- package/src/interactive/renderers/reference-card.ts +35 -0
- package/src/interactive/renderers/tool-execution.ts +67 -160
- package/src/interactive/renderers/worker-entry.ts +90 -42
- package/src/interactive/slash-autocomplete.ts +100 -7
- package/src/interactive/slash-commands.ts +396 -105
- package/src/interactive/slash-spec.ts +0 -1
- package/src/interactive/status/controller.ts +0 -5
- package/src/interactive/status/state-machine.ts +44 -26
- package/src/interactive/status/types.ts +3 -0
- package/src/interactive/status/verbs.ts +13 -12
- package/src/interactive/terminal-lease.ts +44 -12
- package/src/interactive/transcript-detail.ts +50 -112
- package/src/interactive/turn-queues.ts +8 -7
- package/src/interactive/turn-runtime.ts +1 -1
- package/src/interactive/view/artifacts.ts +4 -0
- package/src/interactive/view/view-overlay.ts +58 -43
- 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/presentation.ts +1 -1
- package/src/tools/registry.ts +20 -2
- package/src/tools/verify/numeric.ts +4 -4
- 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-6SYEGZI3.js +0 -433
- package/dist/chunk-CXQ37WJH.js +0 -45
- package/dist/chunk-EQEJJ53P.js +0 -399
- package/dist/chunk-KTFSFCVN.js +0 -46
- package/dist/chunk-QRFXEO6Y.js +0 -17
- package/dist/chunk-T7FDXNRU.js +0 -1257
- package/dist/chunk-U7VQ4NI4.js +0 -911
- package/dist/configure-SML6UBZ5.js +0 -55
- package/dist/interop-YOTGXFJM.js +0 -115
- package/dist/library-GJI6W6OK.js +0 -226
- package/dist/skills-S36AAJHU.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
|
@@ -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
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1
|
|
3
|
+
name: Benchmark Scout
|
|
4
|
+
description: Inspect computational benchmarks, scaling configurations, and performance harnesses in research codebases.
|
|
5
|
+
tools:
|
|
6
|
+
required: [read, context]
|
|
7
|
+
optional: [grep, find, ls]
|
|
8
|
+
skills: []
|
|
9
|
+
audience: custom
|
|
10
|
+
category: science
|
|
11
|
+
capabilityClass: read-only
|
|
12
|
+
latencyClass: balanced
|
|
13
|
+
projectContextTier: bounded
|
|
14
|
+
budget: {toolCalls: 32, readReserve: 4, synthesis: true}
|
|
15
|
+
resultContract: {kind: scout-report}
|
|
16
|
+
tags: [benchmarks, hpc, performance, science]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Benchmark Scout
|
|
20
|
+
|
|
21
|
+
You are Benchmark Scout, a read-only specialist for discovering, analyzing, and characterizing performance benchmarks in scientific computing and research software.
|
|
22
|
+
|
|
23
|
+
## Mission
|
|
24
|
+
Inspect benchmark harnesses, scaling runs (strong and weak scaling), and measurement scripts without modifying the workspace or executing unverified code.
|
|
25
|
+
|
|
26
|
+
## Procedure
|
|
27
|
+
1. **Discover harnesses**: Locate benchmark definitions, Slurm job scripts, MPI run configurations, and test inputs.
|
|
28
|
+
2. **Analyze configurations**: Check problem sizes, grid resolutions, thread pinning, and environment variables.
|
|
29
|
+
3. **Document baselines**: Summarize reported metrics (throughput, memory bandwidth, latency, speedup).
|
|
30
|
+
4. **Deliver scout report**: Return structured findings under the scout-report contract.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "benchmark-scout",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Inspect computational benchmarks, scaling configurations, and performance harnesses.",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"extensions": {
|
|
8
|
+
"ai.iowarp.clio": {
|
|
9
|
+
"manifestVersion": 1,
|
|
10
|
+
"kind": "agent",
|
|
11
|
+
"resources": {
|
|
12
|
+
"agents": "agents"
|
|
13
|
+
},
|
|
14
|
+
"components": [
|
|
15
|
+
{
|
|
16
|
+
"kind": "agent",
|
|
17
|
+
"id": "benchmark-scout",
|
|
18
|
+
"path": "agents/benchmark-scout.md"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Pipeline Review Fleet Template
|
|
2
|
+
|
|
3
|
+
This template demonstrates a valid standalone **fleet** package for Clio Coder.
|
|
4
|
+
|
|
5
|
+
## Package Structure
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
pipeline-review/
|
|
9
|
+
README.md # Documentation (outside resource root)
|
|
10
|
+
plugin.json # Portable manifest declaring kind: fleet
|
|
11
|
+
fleets/
|
|
12
|
+
pipeline-review.md # Multi-agent coordination contract
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
> **Important**: Place `README.md` at the package root, never inside the `fleets/` resource root. Single-kind packages expose exactly one public candidate in their declared resource directory.
|
|
16
|
+
|
|
17
|
+
## Graph and Step Semantics
|
|
18
|
+
|
|
19
|
+
- **Version**: Version 1 or higher (v4 introduces strict write boundaries).
|
|
20
|
+
- **Steps**: Each step specifies `id`, `agent`, `scope`, and `dependencies`.
|
|
21
|
+
- **Graph Validity**: Steps must form a directed acyclic graph (DAG) without cycles or unknown dependencies.
|
|
22
|
+
- **Prompt Body**: Uses strict `{{var}}` interpolation; all variables must be supplied at invocation (e.g. `--var pipeline=configs/pipeline.yaml`).
|
|
23
|
+
- **Prerequisites**: Fleets that reference core built-in agents (e.g., `scout`, `verifier`) should clearly document these dependencies in their body.
|
|
24
|
+
|
|
25
|
+
## Validation
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
clio-coder library validate .
|
|
29
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1
|
|
3
|
+
name: pipeline-review
|
|
4
|
+
description: Coordinate a two-stage inspection of scientific pipeline data definitions and validation assertions.
|
|
5
|
+
steps:
|
|
6
|
+
- id: inspect-pipeline
|
|
7
|
+
agent: scout
|
|
8
|
+
scope: readonly
|
|
9
|
+
dependencies: []
|
|
10
|
+
- id: verify-invariants
|
|
11
|
+
agent: verifier
|
|
12
|
+
scope: readonly
|
|
13
|
+
dependencies: [inspect-pipeline]
|
|
14
|
+
maxWorkers: 2
|
|
15
|
+
onFailure: stop
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
Review the scientific pipeline specified at: {{pipeline}}.
|
|
19
|
+
|
|
20
|
+
## Workflow Stages
|
|
21
|
+
|
|
22
|
+
1. **inspect-pipeline (`scout`)**:
|
|
23
|
+
Inspect data schemas, pipeline steps, dependency declarations, and configuration inputs in the target pipeline.
|
|
24
|
+
2. **verify-invariants (`verifier`)**:
|
|
25
|
+
Independently verify that numerical tolerances, sanity checks, regression tests, and invariant assertions are defined and bounded.
|
|
26
|
+
|
|
27
|
+
## Prerequisites & Environment Requirements
|
|
28
|
+
|
|
29
|
+
- **Core Agents**: This fleet coordinates the built-in `scout` and `verifier` recipes provided by Clio (`src/domains/agents/builtins/`).
|
|
30
|
+
- **Configuration**: Requires a configured read-only model target with context support.
|
|
31
|
+
- **Variables**: The caller must supply the `{{pipeline}}` variable naming the pipeline configuration or script path (e.g. `--var pipeline=configs/pipeline.yaml`).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "pipeline-review",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Multi-agent coordination recipe for reviewing scientific data pipelines.",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"extensions": {
|
|
8
|
+
"ai.iowarp.clio": {
|
|
9
|
+
"manifestVersion": 1,
|
|
10
|
+
"kind": "fleet",
|
|
11
|
+
"resources": {
|
|
12
|
+
"fleets": "fleets"
|
|
13
|
+
},
|
|
14
|
+
"components": [
|
|
15
|
+
{
|
|
16
|
+
"kind": "fleet",
|
|
17
|
+
"id": "pipeline-review",
|
|
18
|
+
"path": "fleets/pipeline-review.md"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Data Curation Plugin Template
|
|
2
|
+
|
|
3
|
+
This template demonstrates a valid composite **plugin** bundle for Clio Coder.
|
|
4
|
+
|
|
5
|
+
## Package Structure
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
data-curation/
|
|
9
|
+
README.md # Documentation
|
|
10
|
+
plugin.json # Manifest declaring bundle resources & components
|
|
11
|
+
assets/
|
|
12
|
+
curation-guide.md # Supporting reference asset (component:resource:guidelines)
|
|
13
|
+
skills/
|
|
14
|
+
dataset-curation/
|
|
15
|
+
SKILL.md # Bound skill
|
|
16
|
+
evals.md # Skill evaluation scenarios
|
|
17
|
+
agents/
|
|
18
|
+
data-curator.md # Agent binding dataset-curation skill
|
|
19
|
+
prompts/
|
|
20
|
+
inspect-dataset.md # Prompt requiring data-curator agent
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Manifest Declarations
|
|
24
|
+
|
|
25
|
+
- **Resources**: Declares ordinary `skills`, `agents`, and `prompts` directories under `extensions["ai.iowarp.clio"]`.
|
|
26
|
+
- **Components**:
|
|
27
|
+
- `resource:guidelines` -> `assets/curation-guide.md`
|
|
28
|
+
- `skill:dataset-curation` -> `skills/dataset-curation/SKILL.md` (requires `resource:guidelines`)
|
|
29
|
+
- `agent:data-curator` -> `agents/data-curator.md` (requires `skill:dataset-curation`)
|
|
30
|
+
- `prompt:inspect-dataset` -> `prompts/inspect-dataset.md` (requires `agent:data-curator`)
|
|
31
|
+
- **Acyclic References**: Component dependencies form a clean DAG.
|
|
32
|
+
|
|
33
|
+
## Validation
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
clio-coder library validate .
|
|
37
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1
|
|
3
|
+
name: Data Curator
|
|
4
|
+
description: Inspect and curate scientific datasets against FAIR data guidelines and metadata schemas.
|
|
5
|
+
tools:
|
|
6
|
+
required: [read, context]
|
|
7
|
+
optional: [grep, find, ls]
|
|
8
|
+
skills: [dataset-curation]
|
|
9
|
+
audience: custom
|
|
10
|
+
category: science
|
|
11
|
+
capabilityClass: read-only
|
|
12
|
+
latencyClass: balanced
|
|
13
|
+
projectContextTier: bounded
|
|
14
|
+
budget: {toolCalls: 32, readReserve: 4, synthesis: true}
|
|
15
|
+
resultContract: {kind: scout-report}
|
|
16
|
+
tags: [data, fair, curation, science]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Data Curator
|
|
20
|
+
|
|
21
|
+
You are Data Curator, a read-only specialist for reviewing scientific datasets and confirming compliance with FAIR principles.
|
|
22
|
+
|
|
23
|
+
Use the bound `dataset-curation` skill to inspect dataset organization, and check the curation reference at ${component:resource:guidelines}.
|
|
24
|
+
|
|
25
|
+
## Mission
|
|
26
|
+
Inspect dataset layout, format standards (NetCDF, HDF5, CSV, Parquet), metadata schemas, and licensing documentation.
|
|
27
|
+
|
|
28
|
+
## Procedure
|
|
29
|
+
1. Check for standard dataset metadata descriptors (e.g. README.md, datapackage.json, or CF conventions).
|
|
30
|
+
2. Validate column definitions, units, and missing value encodings against ${component:resource:guidelines}.
|
|
31
|
+
3. Return findings conforming to the scout-report contract.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Dataset Curation Guide
|
|
2
|
+
|
|
3
|
+
Guidelines for curating and validating scientific research datasets.
|
|
4
|
+
|
|
5
|
+
## FAIR Principles Checklist
|
|
6
|
+
|
|
7
|
+
1. **Findable**:
|
|
8
|
+
- Unique persistent identifier or stable local path.
|
|
9
|
+
- Comprehensive metadata descriptor (e.g. `datapackage.json` or `README.md`).
|
|
10
|
+
2. **Accessible**:
|
|
11
|
+
- Clear retrieval instructions and standard open file formats (CSV, Parquet, NetCDF, HDF5, JSON).
|
|
12
|
+
3. **Interoperable**:
|
|
13
|
+
- Documented vocabulary, standard units (SI), and recognized domain conventions (e.g., Climate and Forecast CF conventions).
|
|
14
|
+
4. **Reusable**:
|
|
15
|
+
- Explicit license specification (e.g., CC-BY-4.0, CC0, Apache-2.0).
|
|
16
|
+
- Data provenance and generation parameters recorded.
|
|
17
|
+
|
|
18
|
+
## Quality Invariants
|
|
19
|
+
|
|
20
|
+
- No unencoded NaN or infinite values without documented sentinel symbols.
|
|
21
|
+
- Timestamp formats follow ISO 8601 (`YYYY-MM-DDTHH:MM:SSZ`).
|
|
22
|
+
- Geospatial coordinates follow WGS84 with explicit latitude/longitude bounds.
|