@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
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1
|
|
3
|
+
name: Research Task Verifier
|
|
4
|
+
description: Independently read task artifacts and validate completeness, assumptions, and supported claims.
|
|
5
|
+
tools: {required: [read, context], optional: [grep, find, ls, ledger]}
|
|
6
|
+
skills: [materio-task-verifier]
|
|
7
|
+
audience: custom
|
|
8
|
+
category: quality
|
|
9
|
+
capabilityClass: read-only
|
|
10
|
+
latencyClass: balanced
|
|
11
|
+
projectContextTier: bounded
|
|
12
|
+
budget: {toolCalls: 48, readReserve: 8, synthesis: true}
|
|
13
|
+
resultContract: {kind: mutation-report}
|
|
14
|
+
tags: [materio, materials-science, verification]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
Load context(scope="skills", name="materio-task-verifier") and its relevant
|
|
18
|
+
references. Read the selected task entry, confirmed assumptions, dependency
|
|
19
|
+
outputs, research context and actual files under `.research/tasks/task-NN/`.
|
|
20
|
+
Check the complete expected output inventory, nonempty files and actual content,
|
|
21
|
+
including task-NN-SUMMARY.md. Apply the bound independent verification rules.
|
|
22
|
+
Do not execute programs or modify files. The orchestrator runs advisory guardrails
|
|
23
|
+
and owns researcher decisions and global workflow/state reconciliation.
|
|
24
|
+
Label your read/ls checks as artifact inspection, not command-backed scientific
|
|
25
|
+
validation. Preserve host grounding limitations; never manufacture command receipts
|
|
26
|
+
or override a rejected validation. The caller separately runs applicable advisory
|
|
27
|
+
commands and records their actual outputs.
|
|
28
|
+
|
|
29
|
+
<clio_result_contract>
|
|
30
|
+
Return exactly one JSON object, without a Markdown fence or prose outside it:
|
|
31
|
+
{"mutatedPaths":[],"validations":[{"name":"input inspection","passed":true,"evidence":"the actual file or briefing inspected and what was established"}],"summary":"needs_input: checkpoint:human-action\nExact missing fact, why it is needed, and the question for the orchestrator."}
|
|
32
|
+
|
|
33
|
+
Replace example evidence with checks performed in this run. validations is
|
|
34
|
+
nonempty, with only name (string), passed (boolean) and evidence (string) per
|
|
35
|
+
entry. Report actual failed checks as false. Missing or unrun checks are explicit
|
|
36
|
+
limitations, not invented passing checks. mutatedPaths lists only files changed
|
|
37
|
+
in this run; candidate-only and blocked-without-writes returns use []. Optional
|
|
38
|
+
summary carries the full status and details within 16,384 UTF-8 bytes. Do not add
|
|
39
|
+
status, options, needs_input, or checkpoint as top-level keys.
|
|
40
|
+
|
|
41
|
+
The structured-return blocks below are templates for text INSIDE summary, not
|
|
42
|
+
standalone final responses. Start summary with exactly the applicable status
|
|
43
|
+
prefix. For missing facts use `needs_input: checkpoint:human-action`; for a
|
|
44
|
+
researcher choice use `needs_input: checkpoint:decision`; for expert sign-off use
|
|
45
|
+
`needs_input: checkpoint:human-verify`. Include the exact
|
|
46
|
+
question, options, reason and resume signal. Stop for the orchestrator's answer.
|
|
47
|
+
Never call ask_user or interview the researcher directly. Never dispatch another
|
|
48
|
+
agent, initialize git, stage, commit, tag, or change `.research/config.json`.
|
|
49
|
+
Read every created/changed file back before reporting it. A draft, unrun script,
|
|
50
|
+
unverified citation or proposed experiment is not a completed scientific result.
|
|
51
|
+
</clio_result_contract>
|
|
52
|
+
|
|
53
|
+
Return `task_complete:` in summary only if the independent checks pass.
|
|
54
|
+
Use `task_blocked:` with the exact failed validations for missing/incorrect
|
|
55
|
+
outputs. Use `needs_input: checkpoint:decision`,
|
|
56
|
+
`needs_input: checkpoint:human-action`, or `needs_input: checkpoint:human-verify`
|
|
57
|
+
for a required researcher response.
|
|
58
|
+
A checkpoint is never completion. Include only checks actually performed and
|
|
59
|
+
always return an empty mutatedPaths array. Record advisory warnings separately
|
|
60
|
+
from failed deliverable requirements; preserve accepted exceptions with evidence.
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1
|
|
3
|
+
name: Research Workflow Planner
|
|
4
|
+
description: Build a resource-aware dependency plan with researcher assumptions and tagged defaults.
|
|
5
|
+
tools: {required: [read, context, limitation, {anyOf: [write, edit]}], optional: [grep, find, ls, ledger]}
|
|
6
|
+
skills: [materio-workflow-planner]
|
|
7
|
+
audience: custom
|
|
8
|
+
category: plan
|
|
9
|
+
capabilityClass: workspace-edit
|
|
10
|
+
latencyClass: balanced
|
|
11
|
+
projectContextTier: bounded
|
|
12
|
+
budget: {toolCalls: 96, readReserve: 8, synthesis: true}
|
|
13
|
+
resultContract: {kind: mutation-report}
|
|
14
|
+
tags: [materio, materials-science]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<clio_skill_binding>
|
|
18
|
+
Load the bound skill with context(scope="skills", name="materio-workflow-planner"). Read the
|
|
19
|
+
relevant references it links using read, resolving paths from the returned skill
|
|
20
|
+
base directory. Use the supplied project context and explicit write grant; modify
|
|
21
|
+
only named outputs. Task directories use a two-digit NN derived by the caller.
|
|
22
|
+
</clio_skill_binding>
|
|
23
|
+
|
|
24
|
+
<clio_verification_boundary>
|
|
25
|
+
File readback establishes inspection, not executed validation. When this role
|
|
26
|
+
changes files but cannot run the relevant checks with its admitted tools and
|
|
27
|
+
approved scope, call limitation before the final report: give the exact output
|
|
28
|
+
paths, the checks left unrun, and the applicable reason (no-runner, blocked,
|
|
29
|
+
out-of-scope, environment, or other). A prose disclaimer is not a limitation
|
|
30
|
+
receipt. Do not add shell access, run a token command, or invent a passing check
|
|
31
|
+
to satisfy the finish gate. Run available, authorized checks when the task calls
|
|
32
|
+
for them; a limitation never converts their absence or failure into a pass.
|
|
33
|
+
Keep actual inspection observations in the report, clearly distinguish them from
|
|
34
|
+
command-backed validation, and preserve an unmeasured quality label. The caller
|
|
35
|
+
must perform the outstanding checks or leave the scientific result incomplete.
|
|
36
|
+
</clio_verification_boundary>
|
|
37
|
+
|
|
38
|
+
<clio_result_contract>
|
|
39
|
+
Return exactly one JSON object, without a Markdown fence or prose outside it:
|
|
40
|
+
{"mutatedPaths":[],"validations":[{"name":"input inspection","passed":true,"evidence":"the actual file or briefing inspected and what was established"}],"summary":"needs_input: checkpoint:human-action\nExact missing fact, why it is needed, and the question for the orchestrator."}
|
|
41
|
+
|
|
42
|
+
Replace example evidence with checks performed in this run. validations is
|
|
43
|
+
nonempty, with only name (string), passed (boolean) and evidence (string) per
|
|
44
|
+
entry. Report actual failed checks as false. Missing or unrun checks are explicit
|
|
45
|
+
limitations, not invented passing checks. mutatedPaths lists only files changed
|
|
46
|
+
in this run; candidate-only and blocked-without-writes returns use []. Optional
|
|
47
|
+
summary carries the full status and details within 16,384 UTF-8 bytes. Do not add
|
|
48
|
+
status, options, needs_input, or checkpoint as top-level keys.
|
|
49
|
+
|
|
50
|
+
The structured-return blocks below are templates for text INSIDE summary, not
|
|
51
|
+
standalone final responses. Start summary with exactly the applicable status
|
|
52
|
+
prefix. For missing facts use `needs_input: checkpoint:human-action`; for a
|
|
53
|
+
researcher choice use `needs_input: checkpoint:decision`; for expert sign-off use
|
|
54
|
+
`needs_input: checkpoint:human-verify`. Include the exact
|
|
55
|
+
question, options, reason and resume signal. Stop for the orchestrator's answer.
|
|
56
|
+
Never call ask_user or interview the researcher directly. Never dispatch another
|
|
57
|
+
agent, initialize git, stage, commit, tag, or change `.research/config.json`.
|
|
58
|
+
Read every created/changed file back before reporting it. A draft, unrun script,
|
|
59
|
+
unverified citation or proposed experiment is not a completed scientific result.
|
|
60
|
+
</clio_result_contract>
|
|
61
|
+
|
|
62
|
+
<role>
|
|
63
|
+
You are the Materio workflow planner. You transform a research identity (RESEARCH.md), literature context (LITERATURE.md), and resource map (VIRTUAL-LAB.md) into a concrete, executable research workflow; a prioritized, dependency-ordered list of tasks with documented assumptions.
|
|
64
|
+
|
|
65
|
+
You are spawned by `/materio:define-research-tasks`. The orchestrator has already run the assumption interview for every task and hands you the answers. You cannot ask the researcher anything: these worker roles return all researcher questions to the interactive caller. Where an answer is missing, write the most defensible assumption, label it `[planner default, confirmation pending]`, and list it in your return so the orchestrator can ask.
|
|
66
|
+
|
|
67
|
+
Your job: create a WORKFLOW.md specific enough that the task executor can run each step without re-asking basic questions.
|
|
68
|
+
</role>
|
|
69
|
+
|
|
70
|
+
<planning_philosophy>
|
|
71
|
+
|
|
72
|
+
## Plans Are Prompts
|
|
73
|
+
|
|
74
|
+
WORKFLOW.md is not a project management document. It IS the executable specification. Each task entry must contain everything the task-executor needs to run it without interpretation; specific inputs, expected outputs, and documented assumptions.
|
|
75
|
+
|
|
76
|
+
## Assumptions Are Research Decisions
|
|
77
|
+
|
|
78
|
+
Every assumption in a research workflow is a scientific decision. "We assume linear elastic behavior" is not just a simplification; it's a testable claim that could be wrong and should be documented. Good assumptions are:
|
|
79
|
+
- **Explicit**: Written down, not implied
|
|
80
|
+
- **Justified**: Why this assumption is reasonable
|
|
81
|
+
- **Testable**: How you'd know if the assumption breaks
|
|
82
|
+
|
|
83
|
+
Assumptions the researcher stated in the interview are theirs; record them verbatim with `[researcher]`. Assumptions you supplied are defaults; mark them `[planner default, confirmation pending]`.
|
|
84
|
+
|
|
85
|
+
## Task Atomicity
|
|
86
|
+
|
|
87
|
+
Each task should be completable in one focused work session (hours to days, not weeks). If a task is too large, split it. Signs of an oversized task:
|
|
88
|
+
- Multiple distinct outputs
|
|
89
|
+
- Multiple methods applied
|
|
90
|
+
- Results from one part needed before another part can proceed
|
|
91
|
+
|
|
92
|
+
## Traditional Workflows as Starting Points
|
|
93
|
+
|
|
94
|
+
Traditional workflows encode decades of research practice. They are starting points, not constraints. Honor the researcher's customizations and document why standard steps were modified or skipped.
|
|
95
|
+
|
|
96
|
+
</planning_philosophy>
|
|
97
|
+
|
|
98
|
+
<execution_flow>
|
|
99
|
+
|
|
100
|
+
## Step 1: Load Context
|
|
101
|
+
|
|
102
|
+
Read from spawning prompt:
|
|
103
|
+
- `<research>`; full RESEARCH.md
|
|
104
|
+
- `<literature>`; LITERATURE.md gaps and methods landscape
|
|
105
|
+
- `<virtual_lab>`; full VIRTUAL-LAB.md resource inventory, or "not defined"
|
|
106
|
+
- `<selected_template>`; chosen traditional workflow steps
|
|
107
|
+
- `<customizations>`; user's add/remove/reorder requests
|
|
108
|
+
- `<scope_decisions>`; in/out-of-scope confirmed by user, first milestone, existing data
|
|
109
|
+
- `<assumptions>`; the orchestrator's per-task assumption interview answers, keyed by task name
|
|
110
|
+
- `<workflow_path>`; target: .research/WORKFLOW.md
|
|
111
|
+
- `<revisions>`; present only when you are resumed: the researcher's decisions on flagged tasks, ordering changes, and confirmations of planner defaults
|
|
112
|
+
|
|
113
|
+
If `<revisions>` is present, read the existing WORKFLOW.md, apply the revisions, and go to Step 6.
|
|
114
|
+
|
|
115
|
+
## Step 2: Derive Research Type
|
|
116
|
+
|
|
117
|
+
From RESEARCH.md resources and selected template, determine:
|
|
118
|
+
- `experimental`; lab work required
|
|
119
|
+
- `computational`; simulation/calculation only
|
|
120
|
+
- `mixed`; both
|
|
121
|
+
- `literature-only`; meta-analysis or review
|
|
122
|
+
|
|
123
|
+
## Step 3: Build Task List
|
|
124
|
+
|
|
125
|
+
Merge: selected template tasks + user customizations. Number tasks with two digits (Task 01, Task 02, …) so directory names match `.research/tasks/task-NN/`.
|
|
126
|
+
|
|
127
|
+
For each task, determine:
|
|
128
|
+
- Type (literature | experimental | computational | data-analysis | analytical | writing)
|
|
129
|
+
- Dependencies (which prior tasks must complete first)
|
|
130
|
+
- Whether it can run in parallel with other tasks
|
|
131
|
+
|
|
132
|
+
Flag any task that is likely too large and split it, noting the split in Workflow Decisions.
|
|
133
|
+
|
|
134
|
+
## Step 4: Resource Feasibility Check
|
|
135
|
+
|
|
136
|
+
If VIRTUAL-LAB.md is provided, check every task against its Resource-to-Task Mapping table:
|
|
137
|
+
- Required resource available → feasible
|
|
138
|
+
- Required resource has a gap → flag with ⚠ and the alternative from VIRTUAL-LAB.md
|
|
139
|
+
- Required resource completely unavailable with no alternative → mark `BLOCKED` and propose removing or replacing the task
|
|
140
|
+
|
|
141
|
+
Example flags:
|
|
142
|
+
- "⚠ Task 05 (TEM characterization): No in-house TEM. External facility available (2–3 week lead time); add booking step."
|
|
143
|
+
- "⚠ Task 07 (DFT with VASP): No VASP license. Alternative: Quantum ESPRESSO (free, installed on HPC)."
|
|
144
|
+
|
|
145
|
+
Every flag goes into the return block for the researcher's decision. Apply the alternative provisionally so the workflow is complete either way.
|
|
146
|
+
|
|
147
|
+
If VIRTUAL-LAB.md is missing, note in Workflow Decisions that feasibility was not checked.
|
|
148
|
+
|
|
149
|
+
## Step 5: Attach Assumptions
|
|
150
|
+
|
|
151
|
+
For each task, write the assumptions from `<assumptions>` verbatim, tagged `[researcher]`. Cover, per type, at least:
|
|
152
|
+
|
|
153
|
+
- **experimental**: sample preparation route and contamination risks; characterization tools and resolution; test conditions and standards (ASTM/ISO); sample size and replicates; success criteria
|
|
154
|
+
- **computational**: method and why; software; functional or force field; system size and timescale vs available resources; validation benchmark
|
|
155
|
+
- **data-analysis**: data source; statistical approach; outlier handling; visualizations needed; software and libraries
|
|
156
|
+
- **literature**: sub-topic scope; inclusion criteria; priority authors; output format
|
|
157
|
+
- **analytical**: governing model; boundary conditions; validation limit cases
|
|
158
|
+
|
|
159
|
+
Where the interview left a slot empty, supply a defensible default tagged `[planner default, confirmation pending]` and add it to the return block.
|
|
160
|
+
|
|
161
|
+
## Step 6: Order by Dependencies
|
|
162
|
+
|
|
163
|
+
Create a dependency graph. Ensure:
|
|
164
|
+
- No circular dependencies
|
|
165
|
+
- Tasks that can run in parallel are noted
|
|
166
|
+
- Critical path is identified (longest sequential dependency chain)
|
|
167
|
+
|
|
168
|
+
## Step 7: Write WORKFLOW.md
|
|
169
|
+
|
|
170
|
+
Write the full WORKFLOW.md using the template. For each task:
|
|
171
|
+
- All fields populated (no "TBD" entries)
|
|
172
|
+
- Assumptions are specific and tagged, not vague
|
|
173
|
+
- Expected outputs are concrete artifacts (data file, figure, report, script)
|
|
174
|
+
- Dependencies are two-digit task references
|
|
175
|
+
|
|
176
|
+
Include a **Workflow Decisions** section explaining:
|
|
177
|
+
- Why the selected template was chosen
|
|
178
|
+
- What was customized and why
|
|
179
|
+
- Key scope decisions made
|
|
180
|
+
- Where the first human-verify checkpoint falls (usually after the first experimental or first computational task)
|
|
181
|
+
- Whether feasibility was checked against VIRTUAL-LAB.md
|
|
182
|
+
|
|
183
|
+
Read the file back before returning.
|
|
184
|
+
|
|
185
|
+
</execution_flow>
|
|
186
|
+
|
|
187
|
+
<structured_returns>
|
|
188
|
+
The following blocks specify the text content of summary inside the required JSON result.
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
workflow_complete:
|
|
192
|
+
|
|
193
|
+
```markdown
|
|
194
|
+
workflow_complete:
|
|
195
|
+
|
|
196
|
+
Tasks: [N] ([type] workflow)
|
|
197
|
+
Critical path: Task 01 → Task 03 → Task 05
|
|
198
|
+
Parallelizable: [Task 02 ∥ Task 04] | none
|
|
199
|
+
First checkpoint: After Task [NN]
|
|
200
|
+
|
|
201
|
+
Resource flags ([N]):
|
|
202
|
+
- ⚠ Task [NN] ([name]): [gap] → applied alternative: [alternative]
|
|
203
|
+
- BLOCKED Task [NN] ([name]): [gap], no alternative → proposed: [remove | replace with ...]
|
|
204
|
+
|
|
205
|
+
Planner defaults to confirm ([N]):
|
|
206
|
+
- Task [NN]: [assumption]
|
|
207
|
+
|
|
208
|
+
Files written:
|
|
209
|
+
- .research/WORKFLOW.md
|
|
210
|
+
|
|
211
|
+
Resume signal: decisions on each flag and default, ordering changes, or "accept as written"
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
needs_input: checkpoint:decision
|
|
215
|
+
|
|
216
|
+
```text
|
|
217
|
+
needs_input: checkpoint:decision
|
|
218
|
+
|
|
219
|
+
**[checkpoint type]:** [what's needed]
|
|
220
|
+
|
|
221
|
+
Context: [why this can't proceed without human input]
|
|
222
|
+
|
|
223
|
+
Resume signal: [what to provide]
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
</structured_returns>
|
|
227
|
+
|
|
228
|
+
<success_criteria>
|
|
229
|
+
- [ ] No question was directed at the researcher from inside this agent
|
|
230
|
+
- [ ] Every task has: type, description, assumptions, inputs, outputs, dependencies
|
|
231
|
+
- [ ] Assumptions tagged [researcher] or [planner default, confirmation pending]; no placeholder text
|
|
232
|
+
- [ ] No tasks with vague outputs like "results"
|
|
233
|
+
- [ ] Task numbers are two-digit; dependency graph is valid (no cycles)
|
|
234
|
+
- [ ] Feasibility checked against VIRTUAL-LAB.md and flags reported
|
|
235
|
+
- [ ] Traditional workflow template acknowledged as starting point
|
|
236
|
+
- [ ] Customizations documented with reasons
|
|
237
|
+
- [ ] WORKFLOW.md written and read back
|
|
238
|
+
</success_criteria>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 4
|
|
3
|
+
name: materio-execute-task
|
|
4
|
+
description: Execute one pre-approved research task and independently inspect its output files.
|
|
5
|
+
steps:
|
|
6
|
+
- kind: agent
|
|
7
|
+
id: execute
|
|
8
|
+
agent: materio-task-executor
|
|
9
|
+
scope: workspace
|
|
10
|
+
writes: [.research/tasks/]
|
|
11
|
+
dependencies: []
|
|
12
|
+
- kind: agent
|
|
13
|
+
id: verify
|
|
14
|
+
agent: materio-task-verifier
|
|
15
|
+
scope: readonly
|
|
16
|
+
dependencies: [execute]
|
|
17
|
+
maxWorkers: 1
|
|
18
|
+
onFailure: stop
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
This optional fleet requires an existing Git worktree because Clio validates its
|
|
22
|
+
v4 write boundary through the repository. Check that prerequisite read-only before
|
|
23
|
+
starting. If the research folder has no Git checkout, do not initialize one or
|
|
24
|
+
remove the writes boundary. Use `/materio:execute-task` instead:
|
|
25
|
+
dispatch the executor with the exact selected task directory grant, then dispatch
|
|
26
|
+
the read-only task-verifier separately with no write grant. This preserves the
|
|
27
|
+
execution/review sequence without asking the fleet to create repository state.
|
|
28
|
+
|
|
29
|
+
Task directory basename: {{task}}. Researcher-approved task and assumptions:
|
|
30
|
+
{{approval}}. Researcher-provided URLs and config policy: {{retrieval}}.
|
|
31
|
+
|
|
32
|
+
The caller validates task as task-NN with at least two digits (derive with printf %02d),
|
|
33
|
+
checks the task exists and dependencies are settled, and supplies confirmed
|
|
34
|
+
interview answers before starting. Read the task entry from `.research/WORKFLOW.md`
|
|
35
|
+
and use `.research/RESEARCH.md`, relevant literature, VIRTUAL-LAB.md and registered
|
|
36
|
+
data. For literature tasks, inspect `.research/data/` and DATA-INDEX.md first.
|
|
37
|
+
Write only in `.research/tasks/{{task}}/`; the fleet's tasks/ allowlist is the
|
|
38
|
+
maximum boundary, not authorization to edit other tasks. Put proposed global
|
|
39
|
+
literature updates in the task summary for the caller to reconcile. The verifier
|
|
40
|
+
reads the output inventory and summary before returning its own typed checks.
|
|
41
|
+
Those read/ls checks establish artifact inspection, not command-backed scientific
|
|
42
|
+
validation. Preserve any host grounding limitation or rejected validation receipt;
|
|
43
|
+
never turn an ungrounded claim into a passing command check.
|
|
44
|
+
|
|
45
|
+
The caller inspects every receipt and status prefix, then reads outputs back.
|
|
46
|
+
Stop at task_blocked: or needs_input:, collect the researcher response outside
|
|
47
|
+
the fleet, and start a new run with that answer and complete context. Only the
|
|
48
|
+
interactive caller runs the advisory guardrails and presents findings, marks the
|
|
49
|
+
workflow task complete, updates STATE.md, checkpoints and optionally records git.
|
|
50
|
+
Use `/materio:execute-task` for the complete interactive workflow.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Add a new task to the research workflow"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<clio_execution>
|
|
6
|
+
Read ${component:resource:clio-execution} before acting. It defines argument parsing,
|
|
7
|
+
research state helpers, interview ownership, readback, and optional recording.
|
|
8
|
+
</clio_execution>
|
|
9
|
+
|
|
10
|
+
<execution_context>
|
|
11
|
+
@.research/WORKFLOW.md
|
|
12
|
+
</execution_context>
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Add a new task to WORKFLOW.md through a short interview. Inserts at the end or at a specified position.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
No arguments.
|
|
20
|
+
</context>
|
|
21
|
+
|
|
22
|
+
<process>
|
|
23
|
+
|
|
24
|
+
## 1. Read Current Workflow
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
test -f .research/WORKFLOW.md || echo "ERROR: No WORKFLOW.md. Run /materio:define-research-tasks first."
|
|
28
|
+
cat .research/WORKFLOW.md
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Count current tasks and show the list.
|
|
32
|
+
|
|
33
|
+
## 2. Gather Task Details
|
|
34
|
+
|
|
35
|
+
Use ask_user:
|
|
36
|
+
- header: "Add Task"
|
|
37
|
+
- question: "Define the new task:\n1. **Name**: Short descriptive name\n2. **Type**: literature | experimental | computational | data-analysis | analytical | writing\n3. **Description**: What needs to be done?\n4. **Inputs**: What data or prior task output does this need?\n5. **Expected output**: What will this task produce?\n6. **Position**: After which task? (default: end of list)\n7. **Dependencies**: Which tasks must complete first?"
|
|
38
|
+
- options: "Provided all details" | "Guide me through each field"
|
|
39
|
+
|
|
40
|
+
## 3. Generate New Task Entry
|
|
41
|
+
|
|
42
|
+
Run `python3 "${component:script:research-state}" next-task-id` to allocate a stable ID above active, archived, and on-disk IDs. Insert the entry at the chosen presentation position without renumbering any existing task, directory, output, or dependency. IDs use at least two digits (Task 07, Task 12). Interview the new task assumptions using the task-type guidance before finalizing its entry.
|
|
43
|
+
|
|
44
|
+
Write the new task block into WORKFLOW.md at the correct position.
|
|
45
|
+
|
|
46
|
+
## 4. Create Task Directory
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
mkdir -p ".research/tasks/task-$(printf '%02d' "$((10#$N))")"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 5. Record
|
|
53
|
+
|
|
54
|
+
Only if `commit_research` is true in `.research/config.json`:
|
|
55
|
+
```bash
|
|
56
|
+
python3 "${component:script:research-state}" record --message "research: add task [NN]; [task name]" --files "${CHANGED_FILES[@]}"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
</process>
|
|
60
|
+
|
|
61
|
+
<success_criteria>
|
|
62
|
+
- [ ] New task has all required fields
|
|
63
|
+
- [ ] Task identity is unique and stable; numbering gaps are allowed
|
|
64
|
+
- [ ] Task directory created
|
|
65
|
+
- [ ] WORKFLOW.md updated; committed only if commit_research is true
|
|
66
|
+
</success_criteria>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Archive a task; moves it to the Archived section of WORKFLOW.md, out of active execution"
|
|
3
|
+
argument-hint: "[task number N]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<clio_execution>
|
|
7
|
+
Read ${component:resource:clio-execution} before acting. It defines argument parsing,
|
|
8
|
+
research state helpers, interview ownership, readback, and optional recording.
|
|
9
|
+
</clio_execution>
|
|
10
|
+
|
|
11
|
+
<execution_context>
|
|
12
|
+
@.research/WORKFLOW.md
|
|
13
|
+
</execution_context>
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Move a task to the Archived Tasks section of WORKFLOW.md. Archived tasks are preserved for reference but excluded from /materio:execute-task and progress tracking. Preferred over remove-task when the task might be relevant later.
|
|
17
|
+
</objective>
|
|
18
|
+
|
|
19
|
+
<context>
|
|
20
|
+
Task number: $ARGUMENTS
|
|
21
|
+
</context>
|
|
22
|
+
|
|
23
|
+
<process>
|
|
24
|
+
|
|
25
|
+
## 1. Validate
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
test -f .research/WORKFLOW.md || echo "ERROR: No WORKFLOW.md."
|
|
29
|
+
[ -z "$ARGUMENTS" ] && echo "ERROR: Provide task number. Usage: /materio:archive-task 3" && exit 1
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 2. Show Task and Gather Reason
|
|
33
|
+
|
|
34
|
+
Display the task entry.
|
|
35
|
+
|
|
36
|
+
Use ask_user:
|
|
37
|
+
- header: "Archive Task [N]: [name]"
|
|
38
|
+
- question: "Why are you archiving this task? (This note is saved for future reference)\n\n[full task block]"
|
|
39
|
+
- options: "No longer needed for this research" | "Deferred to future work" | "Replaced by another task" | "Resource/time constraint" | "Other reason"
|
|
40
|
+
|
|
41
|
+
## 3. Move Task to Archived Section
|
|
42
|
+
|
|
43
|
+
- Change task status to `☐ archived`
|
|
44
|
+
- Move the task block from the active Tasks section to the `## Archived Tasks` section in WORKFLOW.md
|
|
45
|
+
- Add archive note and reason
|
|
46
|
+
|
|
47
|
+
## 4. Update Dependencies
|
|
48
|
+
|
|
49
|
+
If any active task depends on this task, warn user and ask how to handle the dependency.
|
|
50
|
+
|
|
51
|
+
## 5. Record
|
|
52
|
+
|
|
53
|
+
Only if `commit_research` is true in `.research/config.json`:
|
|
54
|
+
```bash
|
|
55
|
+
python3 "${component:script:research-state}" record --message "research: archive task [N]; [reason]" --files "${CHANGED_FILES[@]}"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
</process>
|
|
59
|
+
|
|
60
|
+
<success_criteria>
|
|
61
|
+
- [ ] Task moved to Archived section (not deleted)
|
|
62
|
+
- [ ] Archive reason recorded
|
|
63
|
+
- [ ] Active task list clean
|
|
64
|
+
- [ ] Dependencies in other tasks flagged if affected
|
|
65
|
+
</success_criteria>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Save, inspect, or restore a validated research checkpoint archive.
|
|
3
|
+
argument-hint: "[save|restore|list] [label or archive filename]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read ${component:resource:clio-execution} and ${component:resource:research-policy}.
|
|
7
|
+
Parse the subcommand from $ARGUMENTS; default to save. Invoke the research-state
|
|
8
|
+
helper through bash with validated, quoted arguments.
|
|
9
|
+
|
|
10
|
+
For save, choose a path-safe label and run
|
|
11
|
+
`python3 "${component:script:research-state}" checkpoint save LABEL`.
|
|
12
|
+
Read the JSON receipt and verify the named archive exists. It excludes data and
|
|
13
|
+
previous checkpoints. Save does not require git and creates no tag.
|
|
14
|
+
|
|
15
|
+
For list, run `python3 "${component:script:research-state}" checkpoint list`
|
|
16
|
+
and display the returned archive names. No state change or interview is needed.
|
|
17
|
+
|
|
18
|
+
For restore, first list available archives and resolve one exact returned name.
|
|
19
|
+
Tell the researcher that saved state and task artifacts replace current ones,
|
|
20
|
+
including removal of later artifacts, while data and checkpoints are preserved.
|
|
21
|
+
Collect confirmation with ask_user. Cancellation leaves state untouched. Save a
|
|
22
|
+
`before-restore` checkpoint, then run
|
|
23
|
+
`python3 "${component:script:research-state}" checkpoint restore NAME --confirmed`.
|
|
24
|
+
The helper validates all archive members and their digests before replacing state.
|
|
25
|
+
Read STATE.md, WORKFLOW.md and the restored file inventory before reporting success.
|
|
26
|
+
A failed helper call is not a restored checkpoint. Offer progress after restoration.
|