@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.
Files changed (700) hide show
  1. package/.claude-plugin/marketplace.json +283 -0
  2. package/CHANGELOG.md +74 -0
  3. package/CONTRIBUTING.md +116 -38
  4. package/NOTICE +24 -0
  5. package/README.md +341 -682
  6. package/dist/{acp-H3CU2HBQ.js → acp-W3Y3TRHD.js} +12 -12
  7. package/dist/{agents-IXQQZ7BD.js → agents-J4ICNLQ3.js} +57 -56
  8. package/dist/assets/codewiki.json +1 -1
  9. package/dist/assets/tui-notices/get-east-asian-width-LICENSE +9 -0
  10. package/dist/assets/tui-notices/marked-LICENSE +44 -0
  11. package/dist/assets/tui-notices/pi-tui-LICENSE +21 -0
  12. package/dist/{auth-R7KYF7N3.js → auth-X2UJUMOC.js} +25 -25
  13. package/dist/{builtins-CRFDQUVP.js → builtins-XLXWWSRF.js} +6 -6
  14. package/dist/{chunk-DZK63TZJ.js → chunk-24S3DN22.js} +336 -612
  15. package/dist/{chunk-NTK3WTHM.js → chunk-24TOGHPO.js} +2 -2
  16. package/dist/{chunk-M6TAYK66.js → chunk-2O2LVQQK.js} +11 -4
  17. package/dist/{chunk-OQM5IVJY.js → chunk-34XHRVKG.js} +3 -3
  18. package/dist/{chunk-LY4N4TTL.js → chunk-3LXJOICS.js} +2 -2
  19. package/dist/{chunk-SE4ZKILO.js → chunk-3XE4NRLF.js} +30 -9
  20. package/dist/{chunk-YYB3MC65.js → chunk-4MFBBY2Z.js} +3 -3
  21. package/dist/{chunk-5VTJP36Q.js → chunk-4N2RZ4TO.js} +2 -2
  22. package/dist/{chunk-FKIOX6DS.js → chunk-4QKAITQT.js} +10 -5
  23. package/dist/chunk-4UHVS5T7.js +207 -0
  24. package/dist/{chunk-VLPTKCKT.js → chunk-5AJPUR72.js} +6 -6
  25. package/dist/{chunk-5CY4Q6QI.js → chunk-5EQO5NWP.js} +105 -3
  26. package/dist/{chunk-RXIOCVBZ.js → chunk-65BGHOUR.js} +8 -5
  27. package/dist/{chunk-T53XI6I7.js → chunk-6CA2BHOR.js} +2 -2
  28. package/dist/{chunk-HL26ADLH.js → chunk-6CB2IL4N.js} +2 -1
  29. package/dist/{chunk-HR3HPQ76.js → chunk-6LRLOJHQ.js} +3 -3
  30. package/dist/{chunk-HXHFDHB6.js → chunk-6TAATXXH.js} +6 -6
  31. package/dist/{chunk-WFKDPU7U.js → chunk-6YHPAAZR.js} +3 -3
  32. package/dist/{chunk-ZMZQEBKI.js → chunk-7EEGBKV4.js} +11 -11
  33. package/dist/{chunk-BS4GAMUB.js → chunk-A67NR5AT.js} +2 -2
  34. package/dist/{chunk-WJIMKGD6.js → chunk-BAU36233.js} +8 -8
  35. package/dist/{chunk-MDU3C27C.js → chunk-BO4XV5VX.js} +8 -8
  36. package/dist/{chunk-KF6GFW6O.js → chunk-BQQ5MXUC.js} +11 -11
  37. package/dist/{chunk-K6RDB7IA.js → chunk-C3G5PNUO.js} +23 -23
  38. package/dist/{chunk-SRZOW5L2.js → chunk-C6GEXX4L.js} +1 -1
  39. package/dist/{chunk-U2JOLB7O.js → chunk-CE64C5K5.js} +227 -72
  40. package/dist/chunk-CP3HIR5H.js +2119 -0
  41. package/dist/{chunk-BBV5TKE6.js → chunk-CPXGJI2A.js} +2 -2
  42. package/dist/{chunk-5DDOTTG4.js → chunk-CULVKYTK.js} +5 -5
  43. package/dist/{chunk-F34AR6O3.js → chunk-D2T66PDV.js} +6 -6
  44. package/dist/{chunk-NF3BK5WR.js → chunk-DACXIVVF.js} +5 -5
  45. package/dist/{chunk-4SVIVOMC.js → chunk-DLIYANB7.js} +20 -15
  46. package/dist/{chunk-E3BQTQUP.js → chunk-DO7M3LSX.js} +9 -9
  47. package/dist/{chunk-2QPI3TR3.js → chunk-DVJL77SO.js} +2 -2
  48. package/dist/chunk-EM2WNQS2.js +93 -0
  49. package/dist/{chunk-ODUTYZIU.js → chunk-EUEXGXXR.js} +5 -5
  50. package/dist/{chunk-UL36QJX6.js → chunk-EUZRMP4Y.js} +18 -16
  51. package/dist/{chunk-R6MAYTMS.js → chunk-G4LGUTOE.js} +4 -4
  52. package/dist/{chunk-CBSKDFWL.js → chunk-GEVQNST4.js} +2 -2
  53. package/dist/{chunk-XXBQKW32.js → chunk-GFQ7P2UF.js} +7 -7
  54. package/dist/{chunk-SBZX6ARC.js → chunk-GI5RRMAH.js} +14 -14
  55. package/dist/{chunk-KDWLXVMN.js → chunk-GVZFCJHE.js} +343 -113
  56. package/dist/{chunk-633EXGZA.js → chunk-GXIWHXDB.js} +3 -3
  57. package/dist/{chunk-LUL5Z66S.js → chunk-HOX4YZ2K.js} +6 -5
  58. package/dist/chunk-HRAKUPIH.js +57 -0
  59. package/dist/{chunk-KYKNBD4Y.js → chunk-IJMW64DX.js} +978 -258
  60. package/dist/{chunk-DIMRLNIC.js → chunk-IMOD2YPV.js} +16 -9
  61. package/dist/{chunk-6CDNRHWH.js → chunk-IQCNVLO6.js} +28 -8
  62. package/dist/{chunk-UTUNT5QL.js → chunk-ISNCCX42.js} +9 -9
  63. package/dist/{chunk-RLTT5GVY.js → chunk-IZYTT3CD.js} +9 -5
  64. package/dist/{chunk-5ZMXGW7P.js → chunk-KAFMW7WM.js} +4 -85
  65. package/dist/chunk-KKEYGFX4.js +915 -0
  66. package/dist/{chunk-HHVJNVUJ.js → chunk-KS7ETA3P.js} +2 -2
  67. package/dist/{chunk-UXAC2FX4.js → chunk-L3Z5ANCV.js} +7 -7
  68. package/dist/{chunk-EHCPSZJF.js → chunk-LBFQMYS3.js} +2 -2
  69. package/dist/{chunk-QEQISF75.js → chunk-LK2FN5JY.js} +1 -1
  70. package/dist/{chunk-URBGEOH3.js → chunk-M6Z2V6YU.js} +5 -5
  71. package/dist/{chunk-DRD2A54W.js → chunk-MBJO5VNZ.js} +18 -18
  72. package/dist/chunk-MNQN3X6Y.js +595 -0
  73. package/dist/{chunk-GXCCHKN6.js → chunk-MZHXENL7.js} +7 -7
  74. package/dist/chunk-MZNWZUJM.js +1801 -0
  75. package/dist/{chunk-7YJWEF2L.js → chunk-N37QC5FV.js} +5 -5
  76. package/dist/{chunk-WLMSOT73.js → chunk-NCCQ6DVS.js} +7 -7
  77. package/dist/{chunk-TZ7MFRG4.js → chunk-NO7J45X6.js} +170 -53
  78. package/dist/chunk-OH3YYA3B.js +15 -0
  79. package/dist/{chunk-22PQ4TX4.js → chunk-P4DL2LM5.js} +16 -77
  80. package/dist/{chunk-R6MICQYU.js → chunk-PFLOULP3.js} +4 -4
  81. package/dist/{chunk-MC3JSVR6.js → chunk-QJMRYTCX.js} +7 -7
  82. package/dist/{chunk-ILJ7DWGE.js → chunk-QKWL7SYE.js} +12 -12
  83. package/dist/chunk-R2CT5YDO.js +66 -0
  84. package/dist/chunk-RFCKPS2V.js +26 -0
  85. package/dist/{chunk-ONRTXOZY.js → chunk-RTLNFZMD.js} +12 -4
  86. package/dist/{chunk-U7H5WRG5.js → chunk-RXFPB32E.js} +8 -6
  87. package/dist/{chunk-S32UQ5GL.js → chunk-SEDI5K5B.js} +18 -18
  88. package/dist/{chunk-ICO4TQ2F.js → chunk-SELG4SUR.js} +41 -25
  89. package/dist/{chunk-YEJIG7LN.js → chunk-SER7RRAE.js} +27 -832
  90. package/dist/{chunk-K2HL3GBL.js → chunk-T4TY5GG3.js} +165 -15
  91. package/dist/chunk-T7QQBNLH.js +691 -0
  92. package/dist/{chunk-HGSLRG33.js → chunk-TLTGZTXI.js} +3 -3
  93. package/dist/chunk-TZ6UVP2H.js +637 -0
  94. package/dist/{chunk-EWD5P3GK.js → chunk-TZHN5ITX.js} +13 -41
  95. package/dist/{chunk-7TKWWPD7.js → chunk-U3TPUXOQ.js} +398 -253
  96. package/dist/{chunk-GNQRWTMY.js → chunk-UA3W4FGC.js} +6 -6
  97. package/dist/{chunk-O2RQ7LCK.js → chunk-UA6W4XFJ.js} +2 -2
  98. package/dist/chunk-UWD3JD5X.js +709 -0
  99. package/dist/chunk-V4ZKOKRB.js +13433 -0
  100. package/dist/{chunk-NC4KV7EL.js → chunk-VCRVEDUC.js} +5 -5
  101. package/dist/{chunk-I7VLWRK2.js → chunk-VMATUZB6.js} +12 -10
  102. package/dist/{chunk-J2FYEQ5L.js → chunk-VTYHHQ57.js} +2 -2
  103. package/dist/chunk-WB7POC6M.js +891 -0
  104. package/dist/{chunk-GVYWZNRK.js → chunk-WBVKKTUT.js} +2 -2
  105. package/dist/{chunk-EHOSNVVM.js → chunk-WLHX3MM5.js} +6 -2
  106. package/dist/{chunk-SDWNDICN.js → chunk-WN552PKN.js} +573 -316
  107. package/dist/{chunk-TEG3RYVZ.js → chunk-WT5TRMO4.js} +51 -26
  108. package/dist/{chunk-NY6IWDVU.js → chunk-WURGVOZJ.js} +56 -12
  109. package/dist/{chunk-7WUZEB2M.js → chunk-XR3XJN2M.js} +2 -2
  110. package/dist/chunk-XW2UZICE.js +372 -0
  111. package/dist/{chunk-FSTIBAGM.js → chunk-XZ6UFQ52.js} +11 -11
  112. package/dist/chunk-Y3JU5RPK.js +8 -0
  113. package/dist/chunk-YKRJTYNP.js +1143 -0
  114. package/dist/{chunk-7HBHHVCK.js → chunk-YPRSNUTC.js} +2 -2
  115. package/dist/{chunk-PWWSIB2A.js → chunk-ZGIGW4ZG.js} +5 -5
  116. package/dist/cli/index.js +34 -36
  117. package/dist/{clio-5I2IBFYL.js → clio-L2P7S2R2.js} +9 -9
  118. package/dist/{code-nav-YXIAEZVS.js → code-nav-B5LNX4KU.js} +25 -25
  119. package/dist/{components-TNIKXCBH.js → components-63MMQKUT.js} +6 -6
  120. package/dist/{config-Y2JDJ3JJ.js → config-YXARKGTX.js} +81 -77
  121. package/dist/configure-LMVQJ46J.js +85 -0
  122. package/dist/{context-QQ53HSGJ.js → context-7HJEWTTP.js} +92 -48
  123. package/dist/{context-S2EEC3EJ.js → context-XSZKKFBW.js} +14 -14
  124. package/dist/{context-P5YSEO55.js → context-YG2LZDYZ.js} +67 -64
  125. package/dist/{context-clear-TMEQCOTH.js → context-clear-AC5NXHM2.js} +64 -61
  126. package/dist/{context-index-HP2JFUWA.js → context-index-KKTPRV5G.js} +3 -3
  127. package/dist/{context-map-INTXD54D.js → context-map-T7ROR5D5.js} +4 -4
  128. package/dist/{context-working-set-CNLSQN5K.js → context-working-set-F4Q4J3NS.js} +15 -12
  129. package/dist/{detail-5572VLBO.js → detail-H73BEF2N.js} +65 -62
  130. package/dist/{dispatch-runner-FRHD6P2O.js → dispatch-runner-3RY5FSJC.js} +83 -80
  131. package/dist/{doctor-N3LCM2LG.js → doctor-EQYJOGUG.js} +47 -32
  132. package/dist/{eval-BUU3ZOUZ.js → eval-4P7O6CCE.js} +114 -50
  133. package/dist/{evidence-DTGEN456.js → evidence-D6GUSYJW.js} +64 -61
  134. package/dist/{evidence-SQ5DNFEN.js → evidence-O76QF7TZ.js} +69 -65
  135. package/dist/{evolve-IJNUFZDS.js → evolve-H47BCETS.js} +65 -62
  136. package/dist/{extensions-YVRHX6ZI.js → extensions-NNL3ZOCU.js} +98 -20
  137. package/dist/{fleet-ZNNVSYFO.js → fleet-KMNS6NOM.js} +115 -107
  138. package/dist/{fleet-commands-5YE7NPJL.js → fleet-commands-DOWSYCBX.js} +15 -15
  139. package/dist/{fleet-decisions-3SBSCTCW.js → fleet-decisions-S3PTZV2D.js} +9 -9
  140. package/dist/{fleet-graph-6HHPWF5T.js → fleet-graph-F2DE2TME.js} +26 -24
  141. package/dist/{fleet-inspect-JEYMGCGC.js → fleet-inspect-EN2Q6IVB.js} +67 -63
  142. package/dist/{fleet-preflight-QRSHIIDE.js → fleet-preflight-FRLETDD3.js} +3 -3
  143. package/dist/{fleet-validate-4PM4GDDL.js → fleet-validate-B2XDLS57.js} +28 -29
  144. package/dist/{fleet-verify-NJDTHTO3.js → fleet-verify-4JKUWGJ7.js} +64 -61
  145. package/dist/{fleet-view-UP2BWQQY.js → fleet-view-BHJFW26B.js} +67 -63
  146. package/dist/{init-S3GZQ5ZF.js → init-XAT5N5YM.js} +86 -80
  147. package/dist/interop-FVECHFKG.js +246 -0
  148. package/dist/{inventory-K2OZ36YJ.js → inventory-7KFQGLCV.js} +67 -63
  149. package/dist/library-NY2XOT75.js +492 -0
  150. package/dist/library-QAPAO23R.js +306 -0
  151. package/dist/library-import-5Y6MAS3R.js +183 -0
  152. package/dist/library-inventory-JT6HWITQ.js +56 -0
  153. package/dist/library-validation-EQUH25DC.js +42 -0
  154. package/dist/{memory-OQOXQGYD.js → memory-DYVTTCP6.js} +65 -62
  155. package/dist/{models-3IK2Y5WE.js → models-MASFJ6Y2.js} +51 -38
  156. package/dist/{monitor-FTJLTKCQ.js → monitor-YMP4NXJJ.js} +73 -69
  157. package/dist/{orchestrator-N47O7SFD.js → orchestrator-AFQRRTEI.js} +4255 -2845
  158. package/dist/{panes-7BTYH3XQ.js → panes-D3Y2KFG5.js} +4 -4
  159. package/dist/{panes-WPOMEMRH.js → panes-NICTHQCV.js} +7 -7
  160. package/dist/{paths-J3KN7UAO.js → paths-PSFAUIGO.js} +5 -5
  161. package/dist/{preload-65U34NG6.js → preload-5Q7VXRFJ.js} +64 -61
  162. package/dist/{reset-MUVQDLNL.js → reset-7NKZK7JN.js} +11 -9
  163. package/dist/{resources-LM76COAO.js → resources-NILSIZAT.js} +94 -38
  164. package/dist/{run-3VFZQ33N.js → run-BPZGEBZV.js} +131 -114
  165. package/dist/{share-4JUB4BL7.js → share-EZ6ERBMH.js} +31 -28
  166. package/dist/skills-BTVVNYVM.js +100 -0
  167. package/dist/{skills-eval-G6T57L7M.js → skills-eval-UY34MNK7.js} +117 -78
  168. package/dist/{skills-inventory-WLM46PJH.js → skills-inventory-JDHSIA7I.js} +30 -25
  169. package/dist/{slash-commands-GBARG3Y7.js → slash-commands-K4FNQ2AT.js} +53 -49
  170. package/dist/{steer-S7D7IKPU.js → steer-2B3EQGFH.js} +4 -4
  171. package/dist/{support-5VAEC32W.js → support-L2SOL3IE.js} +7 -7
  172. package/dist/{targets-N5REUETU.js → targets-44VKGFLN.js} +69 -47
  173. package/dist/{tasks-6BVY5YZF.js → tasks-3KODKFU7.js} +14 -14
  174. package/dist/{terminal-lease-57UEOJKS.js → terminal-lease-LXA7MMPO.js} +32 -19
  175. package/dist/{tools-6OCQ6SVB.js → tools-3UB7TEVR.js} +7 -7
  176. package/dist/{trace-JHLXWUMN.js → trace-TAMIU4OJ.js} +5 -4
  177. package/dist/{tui-primitives-RCY2HN7G.js → tui-primitives-A6MUW32V.js} +3 -2
  178. package/dist/{uninstall-FXYMFFRT.js → uninstall-QYVRPEM4.js} +9 -9
  179. package/dist/{upgrade-4HD5HAIV.js → upgrade-7PMKM2JH.js} +17 -18
  180. package/dist/{usage-4GWM2WWP.js → usage-6EQV7EQK.js} +77 -73
  181. package/dist/{verifiers-GSKWKWVG.js → verifiers-JLITWSHU.js} +16 -16
  182. package/dist/{verify-3AS3ULCY.js → verify-T7NAEVIG.js} +13 -13
  183. package/dist/{web-fetch-MQN4FH3X.js → web-fetch-W4TNW4Q7.js} +4 -4
  184. package/dist/{wiki-generate-7BV7XWIY.js → wiki-generate-T2TJQJUA.js} +90 -84
  185. package/dist/{with-panes-OFTNAR4Y.js → with-panes-CHFC7HGI.js} +4 -4
  186. package/dist/worker/entry.js +297 -88
  187. package/docs/README.md +43 -0
  188. package/docs/architecture/architecture.md +8 -7
  189. package/docs/architecture/artifact-versions.md +3 -3
  190. package/docs/architecture/context-engine.md +36 -2
  191. package/docs/architecture/library.md +32 -0
  192. package/docs/architecture/middleware-and-components.md +1 -1
  193. package/docs/architecture/model-catalog.md +21 -1
  194. package/docs/architecture/pi-boundary.md +18 -0
  195. package/docs/architecture/prompt-envelope-and-tools.md +5 -5
  196. package/docs/architecture/safety-model.md +21 -2
  197. package/docs/architecture/session-lifecycle.md +12 -1
  198. package/docs/architecture/tui-design.md +153 -39
  199. package/docs/architecture/worker-context.md +106 -0
  200. package/docs/guide/authoring-plugins.md +160 -0
  201. package/docs/guide/built-in-agents.md +5 -5
  202. package/docs/guide/commands-and-modes.md +186 -80
  203. package/docs/guide/configuration-and-targets.md +123 -28
  204. package/docs/guide/configuration-reference.md +36 -38
  205. package/docs/guide/environment-variables.md +2 -2
  206. package/docs/guide/exit-codes-and-output.md +1 -1
  207. package/docs/guide/extensions-and-sharing.md +93 -53
  208. package/docs/guide/fleet-dispatch.md +32 -10
  209. package/docs/guide/glossary.md +2 -2
  210. package/docs/guide/harness-extensions.md +291 -0
  211. package/docs/guide/installation-and-lifecycle.md +53 -20
  212. package/docs/guide/interop.md +243 -0
  213. package/docs/guide/panes-and-files.md +3 -3
  214. package/docs/guide/plugins.md +80 -0
  215. package/docs/guide/resource-library.md +111 -45
  216. package/docs/guide/skills-marketplace.md +35 -72
  217. package/docs/guide/tool-usage.md +19 -7
  218. package/docs/guide/troubleshooting.md +1 -1
  219. package/docs/process/development-pipeline.md +15 -15
  220. package/docs/process/documentation-coverage.md +29 -2
  221. package/docs/process/documentation-guide.md +15 -7
  222. package/docs/process/eval-runner.md +8 -3
  223. package/docs/process/performance-methodology.md +1 -1
  224. package/docs/process/release-cut-checklist.md +22 -6
  225. package/docs/process/scientific-validation.md +23 -0
  226. package/evals/scalar-decision-machinery.ts +1 -1
  227. package/examples/extensions/README.md +67 -0
  228. package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
  229. package/examples/extensions/lab-status/extension.mjs +68 -0
  230. package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
  231. package/examples/extensions/measurements/clio-coder-extension.json +28 -0
  232. package/examples/extensions/measurements/summarize.cjs +23 -0
  233. package/library/README.md +109 -0
  234. package/library/_authoring/templates/agent/README.md +28 -0
  235. package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
  236. package/library/_authoring/templates/agent/plugin.json +23 -0
  237. package/library/_authoring/templates/fleet/README.md +29 -0
  238. package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
  239. package/library/_authoring/templates/fleet/plugin.json +23 -0
  240. package/library/_authoring/templates/plugin/README.md +37 -0
  241. package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
  242. package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
  243. package/library/_authoring/templates/plugin/plugin.json +42 -0
  244. package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
  245. package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
  246. package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
  247. package/library/_authoring/templates/prompt/README.md +28 -0
  248. package/library/_authoring/templates/prompt/plugin.json +23 -0
  249. package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
  250. package/library/_authoring/templates/skill/README.md +24 -0
  251. package/library/_authoring/templates/skill/SKILL.md +39 -0
  252. package/library/_authoring/templates/skill/evals.md +30 -0
  253. package/library/_authoring/templates/skill/plugin.json +23 -0
  254. package/library/agents/README.md +7 -0
  255. package/library/fleets/README.md +7 -0
  256. package/library/plugins/materio/README.md +137 -0
  257. package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
  258. package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
  259. package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
  260. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
  261. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
  262. package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
  263. package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
  264. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
  265. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
  266. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
  267. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
  268. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
  269. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
  270. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
  271. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
  272. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
  273. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
  274. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
  275. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
  276. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
  277. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
  278. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
  279. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
  280. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
  281. package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
  282. package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
  283. package/library/plugins/materio/assets/actions/add-task.md +86 -0
  284. package/library/plugins/materio/assets/actions/archive-task.md +84 -0
  285. package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
  286. package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
  287. package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
  288. package/library/plugins/materio/assets/actions/execute-task.md +290 -0
  289. package/library/plugins/materio/assets/actions/help.md +140 -0
  290. package/library/plugins/materio/assets/actions/identify-research.md +204 -0
  291. package/library/plugins/materio/assets/actions/literature-review.md +199 -0
  292. package/library/plugins/materio/assets/actions/pause-research.md +34 -0
  293. package/library/plugins/materio/assets/actions/progress.md +125 -0
  294. package/library/plugins/materio/assets/actions/remove-task.md +82 -0
  295. package/library/plugins/materio/assets/actions/resume-research.md +84 -0
  296. package/library/plugins/materio/assets/actions/settings.md +38 -0
  297. package/library/plugins/materio/assets/actions/status.md +112 -0
  298. package/library/plugins/materio/assets/actions/upload-data.md +123 -0
  299. package/library/plugins/materio/assets/actions/wtfp.md +179 -0
  300. package/library/plugins/materio/assets/references/research-domains.md +134 -0
  301. package/library/plugins/materio/assets/references/research-policy.md +77 -0
  302. package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
  303. package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
  304. package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
  305. package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
  306. package/library/plugins/materio/assets/scripts/research_state.py +400 -0
  307. package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
  308. package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
  309. package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
  310. package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
  311. package/library/plugins/materio/assets/templates/config.json +5 -0
  312. package/library/plugins/materio/evals/scripts.yaml +29 -0
  313. package/library/plugins/materio/plugin.json +530 -0
  314. package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
  315. package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
  316. package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
  317. package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
  318. package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
  319. package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
  320. package/library/plugins/materio/tests/test_check_physics.py +139 -0
  321. package/library/plugins/materio/tests/test_check_scripts.py +140 -0
  322. package/library/plugins/materio/tests/test_research_state.py +291 -0
  323. package/library/plugins/materio/tests/test_verify_citations.py +337 -0
  324. package/library/prompts/README.md +7 -0
  325. package/library/registry.yaml +921 -0
  326. package/library/skills/README.md +120 -0
  327. package/{skills → library/skills}/coding/ast-grep/SKILL.md +1 -1
  328. package/{skills → library/skills}/coding/ast-grep/evals.md +1 -1
  329. package/library/skills/coding/ast-grep/plugin.json +23 -0
  330. package/{skills → library/skills}/coding/coding-standards/SKILL.md +1 -1
  331. package/{skills → library/skills}/coding/coding-standards/evals.md +1 -1
  332. package/library/skills/coding/coding-standards/plugin.json +23 -0
  333. package/{skills → library/skills}/coding/prototype/SKILL.md +1 -1
  334. package/{skills → library/skills}/coding/prototype/evals.md +1 -1
  335. package/library/skills/coding/prototype/plugin.json +23 -0
  336. package/{skills → library/skills}/coding/tdd/SKILL.md +1 -1
  337. package/{skills → library/skills}/coding/tdd/evals.md +1 -1
  338. package/library/skills/coding/tdd/plugin.json +23 -0
  339. package/{skills → library/skills}/context/context-handoff/SKILL.md +1 -1
  340. package/{skills → library/skills}/context/context-handoff/evals.md +1 -1
  341. package/library/skills/context/context-handoff/plugin.json +23 -0
  342. package/{skills → library/skills}/context/context-prime/SKILL.md +1 -1
  343. package/{skills → library/skills}/context/context-prime/evals.md +1 -1
  344. package/library/skills/context/context-prime/plugin.json +23 -0
  345. package/{skills → library/skills}/git/branch-closeout/SKILL.md +1 -1
  346. package/library/skills/git/branch-closeout/plugin.json +23 -0
  347. package/{skills → library/skills}/git/file-ticket/SKILL.md +1 -1
  348. package/library/skills/git/file-ticket/plugin.json +23 -0
  349. package/{skills → library/skills}/git/fix-issue/SKILL.md +1 -1
  350. package/library/skills/git/fix-issue/plugin.json +23 -0
  351. package/{skills → library/skills}/git/resolve-merge-conflicts/SKILL.md +1 -1
  352. package/{skills → library/skills}/git/resolve-merge-conflicts/evals.md +1 -1
  353. package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
  354. package/{skills → library/skills}/git/ship/SKILL.md +1 -1
  355. package/library/skills/git/ship/plugin.json +23 -0
  356. package/{skills → library/skills}/git/worktree-create/SKILL.md +1 -1
  357. package/library/skills/git/worktree-create/plugin.json +23 -0
  358. package/{skills → library/skills}/git/worktree-merge/SKILL.md +1 -1
  359. package/library/skills/git/worktree-merge/plugin.json +23 -0
  360. package/{skills → library/skills}/meta/clio-coder-dev/SKILL.md +1 -1
  361. package/{skills → library/skills}/meta/clio-coder-dev/evals.md +1 -1
  362. package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
  363. package/{skills → library/skills}/meta/clio-coder-test/SKILL.md +1 -1
  364. package/{skills → library/skills}/meta/clio-coder-test/evals.md +1 -1
  365. package/library/skills/meta/clio-coder-test/plugin.json +23 -0
  366. package/{skills → library/skills}/meta/credentials/SKILL.md +1 -1
  367. package/{skills → library/skills}/meta/credentials/evals.md +1 -1
  368. package/library/skills/meta/credentials/plugin.json +23 -0
  369. package/library/skills/meta/find-skills/SKILL.md +85 -0
  370. package/library/skills/meta/find-skills/evals.md +65 -0
  371. package/library/skills/meta/find-skills/plugin.json +23 -0
  372. package/{skills → library/skills}/meta/herdr/SKILL.md +1 -1
  373. package/{skills → library/skills}/meta/herdr/evals.md +1 -1
  374. package/library/skills/meta/herdr/plugin.json +23 -0
  375. package/{skills → library/skills}/meta/skill-craft/SKILL.md +23 -9
  376. package/{skills → library/skills}/meta/skill-craft/evals.md +11 -3
  377. package/library/skills/meta/skill-craft/plugin.json +23 -0
  378. package/{skills → library/skills}/planning/archify/SKILL.md +13 -13
  379. package/library/skills/planning/archify/plugin.json +23 -0
  380. package/{skills → library/skills}/planning/architecture/SKILL.md +1 -1
  381. package/{skills → library/skills}/planning/architecture/evals.md +1 -1
  382. package/library/skills/planning/architecture/plugin.json +23 -0
  383. package/{skills → library/skills}/planning/backlog/SKILL.md +1 -1
  384. package/{skills → library/skills}/planning/backlog/evals.md +1 -1
  385. package/library/skills/planning/backlog/plugin.json +23 -0
  386. package/{skills → library/skills}/planning/prd/SKILL.md +1 -1
  387. package/{skills → library/skills}/planning/prd/evals.md +1 -1
  388. package/library/skills/planning/prd/plugin.json +23 -0
  389. package/{skills → library/skills}/planning/product-intent/SKILL.md +1 -1
  390. package/{skills → library/skills}/planning/product-intent/evals.md +1 -1
  391. package/library/skills/planning/product-intent/plugin.json +23 -0
  392. package/{skills → library/skills}/planning/tech-spec/SKILL.md +1 -1
  393. package/{skills → library/skills}/planning/tech-spec/evals.md +1 -1
  394. package/library/skills/planning/tech-spec/plugin.json +23 -0
  395. package/{skills → library/skills}/registry.yaml +7 -7
  396. package/{skills → library/skills}/remote.yaml +1 -1
  397. package/{skills → library/skills}/research/arxiv-literature/SKILL.md +1 -1
  398. package/{skills → library/skills}/research/arxiv-literature/evals.md +1 -1
  399. package/library/skills/research/arxiv-literature/plugin.json +23 -0
  400. package/{skills → library/skills}/research/experiment-protocol/SKILL.md +1 -1
  401. package/{skills → library/skills}/research/experiment-protocol/evals.md +1 -1
  402. package/library/skills/research/experiment-protocol/plugin.json +23 -0
  403. package/{skills → library/skills}/research/scientific-debugging/SKILL.md +1 -1
  404. package/{skills → library/skills}/research/scientific-debugging/evals.md +1 -1
  405. package/library/skills/research/scientific-debugging/plugin.json +23 -0
  406. package/{skills → library/skills}/research/scientific-modernization/SKILL.md +1 -1
  407. package/{skills → library/skills}/research/scientific-modernization/evals.md +1 -1
  408. package/library/skills/research/scientific-modernization/plugin.json +23 -0
  409. package/{skills → library/skills}/skill-marketplace.json +37 -37
  410. package/{skills → library/skills}/workflow/cut-it/SKILL.md +1 -1
  411. package/{skills → library/skills}/workflow/cut-it/evals.md +1 -1
  412. package/library/skills/workflow/cut-it/plugin.json +23 -0
  413. package/{skills → library/skills}/workflow/design-council/SKILL.md +1 -1
  414. package/{skills → library/skills}/workflow/design-council/evals.md +1 -1
  415. package/library/skills/workflow/design-council/plugin.json +23 -0
  416. package/{skills → library/skills}/workflow/grill-me/SKILL.md +1 -1
  417. package/{skills → library/skills}/workflow/grill-me/evals.md +1 -1
  418. package/library/skills/workflow/grill-me/plugin.json +23 -0
  419. package/{skills → library/skills}/workflow/workflow-distiller/SKILL.md +14 -11
  420. package/{skills → library/skills}/workflow/workflow-distiller/evals.md +14 -6
  421. package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
  422. package/package.json +12 -5
  423. package/src/cli/agents.ts +1 -1
  424. package/src/cli/ask.ts +10 -10
  425. package/src/cli/config-inspect.ts +1 -1
  426. package/src/cli/configure-editor.ts +51 -0
  427. package/src/cli/configure-interop.ts +1 -1
  428. package/src/cli/configure-oauth.ts +1 -1
  429. package/src/cli/configure-onboarding.ts +232 -96
  430. package/src/cli/configure-prompts.ts +76 -0
  431. package/src/cli/configure-quick.ts +274 -0
  432. package/src/cli/configure-target.ts +14 -2
  433. package/src/cli/configure.ts +415 -176
  434. package/src/cli/eval.ts +40 -6
  435. package/src/cli/extensions.ts +74 -8
  436. package/src/cli/fleet-preflight.ts +2 -0
  437. package/src/cli/fleet.ts +2 -0
  438. package/src/cli/index.ts +1 -3
  439. package/src/cli/interop-inspect.ts +61 -33
  440. package/src/cli/interop.ts +79 -9
  441. package/src/cli/library-import.ts +139 -0
  442. package/src/cli/library.ts +418 -120
  443. package/src/cli/oauth-manual-input.ts +1 -1
  444. package/src/cli/reset.ts +2 -0
  445. package/src/cli/run.ts +26 -9
  446. package/src/cli/select.ts +35 -4
  447. package/src/cli/skills-eval.ts +43 -6
  448. package/src/cli/skills-inventory.ts +6 -2
  449. package/src/cli/skills.ts +44 -491
  450. package/src/cli/upgrade.ts +2 -2
  451. package/src/core/bus-events.ts +5 -0
  452. package/src/core/config.ts +6 -1
  453. package/src/core/defaults.ts +34 -12
  454. package/src/{interactive → core}/external-editor.ts +4 -4
  455. package/src/core/recent-models.ts +2 -2
  456. package/src/core/session-routing.ts +3 -3
  457. package/src/core/state-file-lock.ts +1 -1
  458. package/src/core/tool-names.ts +5 -0
  459. package/src/domains/agents/extension.ts +42 -6
  460. package/src/domains/agents/fleet-commands.ts +92 -1
  461. package/src/domains/agents/fleet-contract.ts +87 -19
  462. package/src/domains/agents/recipe.ts +5 -4
  463. package/src/domains/agents/registry.ts +80 -24
  464. package/src/domains/config/classify.ts +1 -1
  465. package/src/domains/config/keybindings.ts +156 -124
  466. package/src/domains/context/worker/contract.ts +91 -0
  467. package/src/domains/context/worker/pressure.ts +120 -0
  468. package/src/domains/context/worker/recall.ts +62 -0
  469. package/src/domains/context/worker/select.ts +164 -0
  470. package/src/domains/context/worker/snapshot.ts +35 -0
  471. package/src/domains/context/worker/store.ts +16 -0
  472. package/src/domains/context/working-set/replay/synthetic.ts +2 -1
  473. package/src/domains/dispatch/active-route-planner.ts +2 -0
  474. package/src/domains/dispatch/backoff.ts +1 -0
  475. package/src/domains/dispatch/code-step.ts +12 -2
  476. package/src/domains/dispatch/contract.ts +3 -0
  477. package/src/domains/dispatch/execution-plan.ts +2 -0
  478. package/src/domains/dispatch/extension.ts +109 -27
  479. package/src/domains/dispatch/fleet-plan.ts +10 -0
  480. package/src/domains/dispatch/fleet-run.ts +1 -0
  481. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  482. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  483. package/src/domains/dispatch/state.ts +1 -0
  484. package/src/domains/dispatch/types.ts +5 -0
  485. package/src/domains/dispatch/validation.ts +12 -0
  486. package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
  487. package/src/domains/evidence/failure-attribution.ts +1 -0
  488. package/src/domains/evidence/trust-status.ts +22 -3
  489. package/src/domains/extensions/command-schema.ts +145 -0
  490. package/src/domains/extensions/command-tools.ts +15 -0
  491. package/src/domains/extensions/compatibility.ts +7 -0
  492. package/src/domains/extensions/contract.ts +0 -4
  493. package/src/domains/extensions/discovery.ts +69 -205
  494. package/src/domains/extensions/extension.ts +0 -4
  495. package/src/domains/extensions/index.ts +1 -5
  496. package/src/domains/extensions/manager.ts +1 -6
  497. package/src/domains/extensions/operator-commands.ts +29 -0
  498. package/src/domains/extensions/operator-runtime.ts +483 -0
  499. package/src/domains/extensions/public-api.ts +53 -0
  500. package/src/domains/extensions/runtime-child.mjs +114 -0
  501. package/src/domains/extensions/runtime-process.ts +306 -0
  502. package/src/domains/extensions/runtime-schema.ts +146 -0
  503. package/src/domains/extensions/{resources.ts → snapshot-access.ts} +1 -17
  504. package/src/domains/extensions/snapshot.ts +4 -32
  505. package/src/domains/extensions/state.ts +5 -83
  506. package/src/domains/extensions/types.ts +33 -34
  507. package/src/domains/interop/adopt.ts +546 -0
  508. package/src/domains/interop/detect.ts +50 -12
  509. package/src/domains/interop/foreign.ts +554 -0
  510. package/src/domains/interop/import.ts +277 -0
  511. package/src/domains/interop/index.ts +24 -0
  512. package/src/domains/interop/install.ts +6 -0
  513. package/src/domains/interop/inventory.ts +351 -0
  514. package/src/domains/interop/projection.ts +360 -0
  515. package/src/domains/interop/registry.ts +106 -3
  516. package/src/domains/interop/types.ts +51 -0
  517. package/src/domains/lifecycle/migrations/index.ts +0 -2
  518. package/src/domains/lifecycle/naming-resources.ts +1 -1
  519. package/src/domains/middleware/marketplace-offer.ts +1 -1
  520. package/src/domains/mux/contract.ts +1 -1
  521. package/src/domains/plugins/catalog.ts +204 -0
  522. package/src/domains/plugins/contract.ts +24 -0
  523. package/src/domains/plugins/discovery.ts +316 -0
  524. package/src/domains/plugins/extension.ts +40 -0
  525. package/src/domains/plugins/index.ts +77 -0
  526. package/src/domains/plugins/integrity.ts +6 -0
  527. package/src/domains/plugins/manifest.ts +3 -0
  528. package/src/domains/plugins/resources.ts +102 -0
  529. package/src/domains/plugins/state.ts +753 -0
  530. package/src/domains/plugins/types.ts +217 -0
  531. package/src/domains/prompts/extension.ts +9 -2
  532. package/src/domains/prompts/fragments/operating/skills.md +10 -10
  533. package/src/domains/providers/probe/fingerprint.ts +13 -6
  534. package/src/domains/providers/probe/reasoning.ts +2 -0
  535. package/src/domains/providers/runtimes/common/probe-helpers.ts +23 -7
  536. package/src/domains/providers/runtimes/protocol/anthropic-compat.ts +7 -2
  537. package/src/domains/providers/runtimes/protocol/openai-compat.ts +10 -4
  538. package/src/domains/resources/common-loader.ts +9 -6
  539. package/src/domains/resources/index.ts +67 -0
  540. package/src/domains/resources/library-actions.ts +836 -0
  541. package/src/domains/resources/library-evals.ts +38 -0
  542. package/src/domains/resources/library-inventory.ts +1048 -0
  543. package/src/domains/resources/library-types.ts +50 -0
  544. package/src/domains/resources/library-validation.ts +634 -0
  545. package/src/domains/resources/library.ts +437 -156
  546. package/src/domains/resources/package-references.ts +66 -0
  547. package/src/domains/resources/prompts/loader.ts +75 -41
  548. package/src/domains/resources/skills/install.ts +2 -2
  549. package/src/domains/resources/skills/loader.ts +77 -22
  550. package/src/domains/resources/skills/marketplace.ts +48 -57
  551. package/src/domains/resources/skills/promotion.ts +2 -2
  552. package/src/domains/resources/skills/provenance-pin.ts +17 -4
  553. package/src/domains/safety/action-classifier.ts +2 -2
  554. package/src/domains/safety/default-path-policy.ts +3 -1
  555. package/src/domains/safety/policy-engine.ts +1 -1
  556. package/src/domains/safety/protected-artifacts.ts +21 -5
  557. package/src/domains/safety/skill-authority.ts +5 -2
  558. package/src/domains/share/archive.ts +1 -1
  559. package/src/engine/apis/openai-completions.ts +52 -2
  560. package/src/engine/notices/pi-tui-LICENSE +21 -0
  561. package/src/engine/tui.ts +3 -0
  562. package/src/engine/worker-runtime.ts +58 -14
  563. package/src/engine/worker-tools.ts +5 -0
  564. package/src/entry/orchestrator.ts +26 -5
  565. package/src/entry/plugin-reload.ts +18 -0
  566. package/src/interactive/application-controller.ts +68 -52
  567. package/src/interactive/chat-loop.ts +32 -5
  568. package/src/interactive/chat-panel.ts +168 -638
  569. package/src/interactive/chat-renderer.ts +13 -30
  570. package/src/interactive/clio-editor.ts +53 -21
  571. package/src/interactive/command-output.ts +56 -1
  572. package/src/interactive/dispatch-board.ts +1 -3
  573. package/src/interactive/editor-submit.ts +73 -59
  574. package/src/interactive/fleet-run-preview.ts +2 -0
  575. package/src/interactive/follow-up-queue-panel.ts +3 -3
  576. package/src/interactive/footer/dashboard.ts +12 -4
  577. package/src/interactive/footer/notifications.ts +2 -2
  578. package/src/interactive/footer/widgets.ts +52 -93
  579. package/src/interactive/interactive-application.ts +225 -63
  580. package/src/interactive/interactive-event-projection.ts +2 -44
  581. package/src/interactive/interactive-input-runtime.ts +257 -35
  582. package/src/interactive/interactive-presentation.ts +71 -21
  583. package/src/interactive/interactive-slash-runtime.ts +40 -48
  584. package/src/interactive/keybinding-manager.ts +156 -79
  585. package/src/interactive/keyboard-owner.ts +37 -0
  586. package/src/interactive/layout.ts +29 -4
  587. package/src/interactive/leader-key.ts +49 -102
  588. package/src/interactive/leader-menu.ts +45 -0
  589. package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
  590. package/src/interactive/overlay-frame.ts +15 -0
  591. package/src/interactive/overlay-general-openers.ts +2 -0
  592. package/src/interactive/overlay-key-routing.ts +46 -47
  593. package/src/interactive/overlay-lifecycle.ts +31 -15
  594. package/src/interactive/overlay-resource-openers.ts +56 -46
  595. package/src/interactive/overlay-session-lifecycle.ts +1 -1
  596. package/src/interactive/overlays/ask-user.ts +630 -556
  597. package/src/interactive/overlays/extension-panel.ts +70 -0
  598. package/src/interactive/overlays/extensions.ts +28 -5
  599. package/src/interactive/overlays/fleet-run-approval.ts +7 -3
  600. package/src/interactive/overlays/help-reference.ts +89 -40
  601. package/src/interactive/overlays/interop.ts +122 -3
  602. package/src/interactive/overlays/keybinding-detail.ts +2 -2
  603. package/src/interactive/overlays/library-lifecycle.ts +90 -0
  604. package/src/interactive/overlays/library-model.ts +574 -0
  605. package/src/interactive/overlays/library-review.ts +557 -0
  606. package/src/interactive/overlays/library-tabs.ts +3 -15
  607. package/src/interactive/overlays/library.ts +602 -0
  608. package/src/interactive/overlays/list-overlay.ts +218 -39
  609. package/src/interactive/overlays/model-selector.ts +28 -25
  610. package/src/interactive/overlays/session-selector.ts +9 -3
  611. package/src/interactive/overlays/settings.ts +34 -26
  612. package/src/interactive/overlays/tree-selector.ts +16 -11
  613. package/src/interactive/permission-hint.ts +13 -0
  614. package/src/interactive/permission-overlay.ts +77 -28
  615. package/src/interactive/prompt-source-label.ts +21 -0
  616. package/src/interactive/renderers/preview.ts +16 -0
  617. package/src/interactive/renderers/reference-card.ts +35 -0
  618. package/src/interactive/renderers/tool-execution.ts +67 -160
  619. package/src/interactive/renderers/worker-entry.ts +90 -42
  620. package/src/interactive/slash-autocomplete.ts +100 -7
  621. package/src/interactive/slash-commands.ts +396 -105
  622. package/src/interactive/slash-spec.ts +0 -1
  623. package/src/interactive/status/controller.ts +0 -5
  624. package/src/interactive/status/state-machine.ts +44 -26
  625. package/src/interactive/status/types.ts +3 -0
  626. package/src/interactive/status/verbs.ts +13 -12
  627. package/src/interactive/terminal-lease.ts +44 -12
  628. package/src/interactive/transcript-detail.ts +50 -112
  629. package/src/interactive/turn-queues.ts +8 -7
  630. package/src/interactive/turn-runtime.ts +1 -1
  631. package/src/interactive/view/artifacts.ts +4 -0
  632. package/src/interactive/view/view-overlay.ts +58 -43
  633. package/src/interactive/welcome-dashboard.ts +525 -408
  634. package/src/tools/bootstrap.ts +8 -0
  635. package/src/tools/builtin-tool-catalog.ts +7 -2
  636. package/src/tools/context/index.ts +58 -5
  637. package/src/tools/context/library.ts +465 -0
  638. package/src/tools/context/surface.ts +20 -6
  639. package/src/tools/core-bootstrap.ts +3 -0
  640. package/src/tools/dispatch-admission.ts +24 -1
  641. package/src/tools/dispatch-arguments.ts +8 -0
  642. package/src/tools/dispatch-plan.ts +32 -0
  643. package/src/tools/dispatch-schema.ts +31 -1
  644. package/src/tools/dispatch-types.ts +3 -0
  645. package/src/tools/dispatch.ts +1 -1
  646. package/src/tools/harness-extensions.ts +169 -0
  647. package/src/tools/observation.ts +4 -0
  648. package/src/tools/policy.ts +7 -1
  649. package/src/tools/presentation.ts +1 -1
  650. package/src/tools/registry.ts +20 -2
  651. package/src/tools/verify/numeric.ts +4 -4
  652. package/src/tools/worker-evidence.ts +5 -0
  653. package/src/worker/context-seed.ts +192 -0
  654. package/src/worker/entry.ts +1 -0
  655. package/src/worker/spec-contract.ts +8 -1
  656. package/dist/chunk-3UW3KU4A.js +0 -21
  657. package/dist/chunk-6SYEGZI3.js +0 -433
  658. package/dist/chunk-CXQ37WJH.js +0 -45
  659. package/dist/chunk-EQEJJ53P.js +0 -399
  660. package/dist/chunk-KTFSFCVN.js +0 -46
  661. package/dist/chunk-QRFXEO6Y.js +0 -17
  662. package/dist/chunk-T7FDXNRU.js +0 -1257
  663. package/dist/chunk-U7VQ4NI4.js +0 -911
  664. package/dist/configure-SML6UBZ5.js +0 -55
  665. package/dist/interop-YOTGXFJM.js +0 -115
  666. package/dist/library-GJI6W6OK.js +0 -226
  667. package/dist/skills-S36AAJHU.js +0 -510
  668. package/skills/README.md +0 -418
  669. package/skills/meta/find-skills/SKILL.md +0 -78
  670. package/skills/meta/find-skills/evals.md +0 -47
  671. package/src/domains/extensions/resource-path.ts +0 -27
  672. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
  673. package/src/interactive/overlays/agents.ts +0 -70
  674. package/src/interactive/overlays/library-install-confirm.ts +0 -152
  675. package/src/interactive/overlays/prompts.ts +0 -89
  676. package/src/interactive/overlays/skills-hub.ts +0 -615
  677. /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
  678. /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
  679. /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
  680. /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
  681. /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
  682. /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
  683. /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
  684. /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
  685. /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
  686. /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
  687. /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
  688. /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
  689. /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
  690. /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
  691. /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
  692. /package/{skills → library/skills}/git/ship/evals.md +0 -0
  693. /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
  694. /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
  695. /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
  696. /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
  697. /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
  698. /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
  699. /package/{skills → library/skills}/meta/clio-coder-test/references/test-map.md +0 -0
  700. /package/{skills → library/skills}/planning/archify/evals.md +0 -0
@@ -0,0 +1,290 @@
1
+ # Action: execute-task
2
+
3
+ This guide is linked from an installed portable skill. Action requests use the
4
+ actual installed skill names; this standard package registers no slash commands.
5
+ The interactive assistant applies a role inline or assigns its skill to a generic
6
+ worker if the host supports delegation. No named worker registration is presumed.
7
+ If a native peer package supplies command or agent bindings, follow its binding
8
+ section below while preserving the same researcher gates and return checkpoints.
9
+
10
+ This guide is linked from an installed portable skill. Determine the package root
11
+ from that skill's directory. Before executing a shell example, bind PACKAGE_ROOT
12
+ to that actual root in the same command. Treat $ARGUMENTS as validated user input;
13
+ these are examples to fill with actual paths, not automatic host substitutions.
14
+
15
+
16
+
17
+ Use the host's file reading/editing and local command execution capabilities. Read
18
+ assets/references/research-policy.md, resolved from this package. If this task
19
+ needs researcher answers, the interactive assistant asks them through the host's
20
+ conversation facility before gated writes. Workers return questions with their
21
+ checkpoint kind. Use the named role's portable skill for the scientific work;
22
+ if the host does not support delegation, the interactive assistant performs that
23
+ role with the same input/output and decision boundaries. Do not invent worker,
24
+ search, fleet, or interactive capabilities. Inspect actual files before completion.
25
+ Use package scripts by resolving their links from the installed skill directory.
26
+ For an optional commit, set CHANGED_FILES to only the named files actually changed
27
+ and read back during this action. The research-state helper rejects directory staging.
28
+
29
+
30
+ Use the assigned role skill with complete research context and exact permitted outputs. Return structured checkpoints and inspect actual files after writing.
31
+
32
+ <execution_context>
33
+ @.research/WORKFLOW.md
34
+ @.research/RESEARCH.md
35
+ @.research/LITERATURE.md
36
+ @.research/STATE.md
37
+ @.research/config.json
38
+ </execution_context>
39
+
40
+ <objective>
41
+ Execute a specific research task (or the full workflow sequentially) by applying the task-executor skill with the task's type and context. Verifies outputs on disk, runs advisory guardrails, updates task status, and creates outputs in .research/tasks/task-NN/.
42
+
43
+ **Orchestrator role:** Resolve target task, check dependencies, gate-confirm assumptions, apply the materio-task-executor skill with full task context, verify outputs exist, run guardrails and surface findings, update WORKFLOW.md and STATE.md, checkpoint, record.
44
+
45
+ **Why subagent:** Each task type (literature, computational, data-analysis, experimental-protocol) requires different reasoning depth. Fresh context per task = focused execution. The executor never asks the researcher anything; checkpoints come back here.
46
+ </objective>
47
+
48
+ <context>
49
+ Target: $ARGUMENTS (task number, or "all")
50
+ </context>
51
+
52
+ <process>
53
+
54
+ Worker write scope: the selected .research/tasks/task-NN/; include .research/LITERATURE.md only for an approved literature update.
55
+
56
+
57
+ An optional native fleet may require an existing Git worktree to enforce its
58
+ write boundary. Clio's v4 fleet does. If absent, keep the boundary and use direct
59
+ role execution with the selected task output grant followed by a separate read-only
60
+ review. Never initialize git to enable the fleet. If the host lacks worker
61
+ delegation, perform labeled artifact readback in the main conversation and disclose
62
+ that no independent worker review occurred.
63
+
64
+ ## 1. Inspect Supplied Materials First
65
+
66
+ Use ls on `.research/data/` and read `.research/DATA-INDEX.md` before other
67
+ research inputs. For literature tasks, inspect these registered materials before
68
+ fetching anything. When general search is unavailable: build literature work from
69
+ supplied materials plus specific researcher-provided URLs. Request URLs with the
70
+ task confirmation if more coverage is needed. Honor web_search false by staying
71
+ with supplied materials and record coverage in Sources Reviewed in each summary
72
+ and any LITERATURE.md update.
73
+
74
+ ### Validate Environment
75
+
76
+ ```bash
77
+ test -f .research/WORKFLOW.md || echo "ERROR: No WORKFLOW.md. Run define-research-tasks using the materio-workflow-planner skill first."
78
+ cat .research/WORKFLOW.md
79
+ cat .research/STATE.md 2>/dev/null
80
+ cat .research/DATA-INDEX.md 2>/dev/null
81
+ python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" config
82
+ ```
83
+
84
+ ## 2. Resolve Target Task
85
+
86
+ **If $ARGUMENTS is empty:** Run `python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" next-task`.
87
+ Use its actual dependency-ready pending/in-progress task ID in workflow order.
88
+ If id is null, show the blocked dependencies or that no pending task is ready;
89
+ do not invent a task number. Preserve the task confirmation and assumption gate.
90
+
91
+ **If $ARGUMENTS = "all":** Resolve the next eligible task with the same next-task helper after each completed task; preserve all interview/checkpoint gates.
92
+
93
+ **If $ARGUMENTS = number:** Find that specific task. Verify status and dependencies.
94
+
95
+ Always derive the two-digit form and the output directory:
96
+ ```bash
97
+ # Bind N to the validated decimal task number in this call.
98
+ NN=$(printf '%02d' "$((10#$N))"); OUT=".research/tasks/task-$NN"; echo "$OUT"
99
+ # Validate the actual active workflow IDs before creating their directories.
100
+ python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" task-dirs
101
+ ```
102
+
103
+ **Dependency check:** If the target task has `Dependencies: Task XX`, verify Task XX is `☑ complete`. If not:
104
+ - Warn the user: "Task [N] depends on Task [XX] which is not complete."
105
+ - Ask via the host conversation facility: proceed anyway, or execute Task XX first?
106
+
107
+ ## 3. Show Task Summary
108
+
109
+ Display the target task entry from WORKFLOW.md:
110
+ ```
111
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
112
+ Task [NN]: [name]
113
+ Type: [literature | computational | experimental | data-analysis | analytical | writing]
114
+ Inputs: [what's needed]
115
+ Outputs: [what this produces]
116
+ Assumptions: [list]
117
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
118
+ ```
119
+
120
+ ## 4. Gate Check; Confirm Before Executing
121
+
122
+ Use the host conversation facility:
123
+ - header: "Execute Task [NN]: [name]"
124
+ - question: "Ready to execute this task?\n\n**Assumptions being made:**\n[list assumptions, marking any planner defaults not yet confirmed]\n\n**Expected output:**\n[expected outputs]\n\nAny assumptions wrong or missing data?"
125
+ - options: "Proceed" | "Update assumptions first" | "I need to upload data first; Run upload-data using the materio-research-explorer skill" | "Skip this task"
126
+
127
+ If assumptions are updated, write them back to the task entry in WORKFLOW.md before applying the role.
128
+
129
+ ## 5. Handle Task Type Routing
130
+
131
+ **If type = `writing`:**
132
+ - Tell user: "This task involves writing. Use `Run wtfp using the materio-research-explorer skill` to bridge into wtf-p for paper writing."
133
+ - Exit gracefully.
134
+
135
+ **If type = `experimental`:** protocol-generation mode → protocol document + data recording template + checklist
136
+
137
+ **If type = `literature`:** supplied-corpus and provided-URL review mode → summary + BibTeX + LITERATURE.md updates; supplied materials first, provided-URL fetching only if allowed
138
+
139
+ **If type = `computational`:** script-generation mode → input files + submission script + analysis script + README
140
+
141
+ **If type = `data-analysis`:** check for registered data in DATA-INDEX.md and `.research/data/`; if none, stop and offer `Run upload-data using the materio-research-explorer skill` → analysis code + results summary + figure descriptions
142
+
143
+ **If type = `analytical`:** theoretical mode → derivation, validation, optional implementation
144
+
145
+ ## 6. apply the materio-task-executor skill
146
+
147
+ ```
148
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
149
+ Materio ► EXECUTING TASK [NN]
150
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
151
+ ```
152
+
153
+ Apply the materio-task-executor role skill using the assignment and full context; delegate if supported. The prompt carries:
154
+ - `<task>`; full task entry from WORKFLOW.md (with any updated assumptions)
155
+ - `<research>`; full RESEARCH.md
156
+ - `<literature>`; relevant LITERATURE.md sections
157
+ - `<virtual_lab>`; the relevant equipment and software rows from VIRTUAL-LAB.md, if it exists
158
+ - `<prior_outputs>`; outputs from dependency tasks (paths and SUMMARY.md contents)
159
+ - `<data_files>`; DATA-INDEX.md entries and paths under `.research/data/`
160
+ - `<web_allowed>`; true only when config permits URL fetching and the host URL-fetch capability is available
161
+ - `<provided_urls>`; the researcher's specific URLs, or none
162
+ - `<output_dir>`; `.research/tasks/task-[NN]/`
163
+
164
+ ## 7. Handle Executor Return
165
+
166
+ **`task_complete:`:**
167
+
168
+ 1. Use ls and read on every reported output and task-NN-SUMMARY.md. Verify outputs on disk. Self-report is not completion:
169
+ ```bash
170
+ ls -la .research/tasks/task-[NN]/
171
+ test -s .research/tasks/task-[NN]/task-[NN]-SUMMARY.md && echo "SUMMARY OK" || echo "ERROR: no summary"
172
+ ```
173
+ Every file the executor listed under Outputs must exist and be non-empty. If any is missing, apply the role again naming the missing file; do not mark the task complete.
174
+
175
+ 1b. Apply the materio-task-verifier skill to the approved task,
176
+ assumptions, dependency context, actual output inventory and summary. Use a
177
+ separate read-only worker with no write grant when available; otherwise perform
178
+ labeled main-conversation readback and disclose that independent worker review
179
+ was unavailable. Resolve every returned researcher checkpoint. Read/ls findings
180
+ are artifact inspection, not command-backed scientific validation. Preserve
181
+ host grounding diagnostics; a rejected receipt remains incomplete and cannot
182
+ be promoted to completion. Advisory commands have separate evidence.
183
+
184
+ 2. Advisory guardrails. Run what applies, read the findings and exit status, and surface them; nothing here deletes or rewrites on its own. Record a skipped check if a script or python3 is missing.
185
+ Use bash to collect only existing files and keep stderr visible. The scripts
186
+ accept files, not directory arguments; never mistake a skipped file for a
187
+ successful scan. All findings remain advisory. Run these shell blocks only
188
+ after deriving OUT as the selected task directory:
189
+ ```bash
190
+ if command -v python3 >/dev/null 2>&1; then
191
+ shopt -s nullglob globstar
192
+ physics_files=("$OUT"/**/*.md)
193
+ citation_files=("$OUT"/**/*.bib "$OUT"/**/*summary*.md "$OUT"/**/*SUMMARY*.md)
194
+ script_files=("$OUT"/**/*.py "$OUT"/**/*.sh)
195
+ citation_flags=()
196
+ [ "$(python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" config --key web_search)" = true ] || citation_flags=(--offline)
197
+ if ((${#physics_files[@]})); then
198
+ if python3 "${PACKAGE_ROOT}/assets/scripts/check_physics.py" "${physics_files[@]}"; then echo "CHECK EXIT: 0"; else echo "CHECK EXIT: $? (findings or incomplete coverage)"; fi
199
+ else echo "CHECK SKIPPED: no applicable files"; fi
200
+ if ((${#citation_files[@]})); then
201
+ if python3 "${PACKAGE_ROOT}/assets/scripts/verify_citations.py" "${citation_flags[@]}" "${citation_files[@]}"; then echo "CHECK EXIT: 0"; else echo "CHECK EXIT: $? (findings or incomplete coverage)"; fi
202
+ else echo "CHECK SKIPPED: no applicable files"; fi
203
+ if ((${#script_files[@]})); then
204
+ if python3 "${PACKAGE_ROOT}/assets/scripts/check_scripts.py" "${script_files[@]}"; then echo "CHECK EXIT: 0"; else echo "CHECK EXIT: $? (findings or incomplete coverage)"; fi
205
+ else echo "CHECK SKIPPED: no applicable files"; fi
206
+ fi
207
+ ```
208
+ Include any other actual reference-list files in citation_files after reading
209
+ them. If a literature task updated `.research/LITERATURE.md`, read it back and
210
+ include it in citation_files too. A nonzero checker exit records findings;
211
+ it never authorizes deletion, edits or an automatic task rejection.
212
+ If any finding is **IMPOSSIBLE** (physics), **NOT_FOUND** / **MISMATCH** (citations), or **WILL NOT RUN** (scripts): show the findings to the researcher and ask via the host conversation facility:
213
+ - header: "Guardrail Findings; Task [NN]"
214
+ - question: "[N] findings:\n\n1. [file:line] [finding] → [suggested fix or closest Crossref match]\n2. ...\n\nHow should I handle them?"
215
+ - options: "Fix them; resume the executor" | "They're fine; note and continue" | "I'll decide per finding"
216
+ Apply the task-executor skill again with the accepted fixes when asked, then read all changed files back and rerun the applicable advisory checks before completing. Warnings (IMPLAUSIBLE, UNVERIFIABLE, SUSPECT) are listed in the completion output and noted in the task SUMMARY, not gated.
217
+
218
+ 3. After the researcher has resolved every gated finding and the outputs have been read back, mark task as `☑ complete` in WORKFLOW.md. Update STATE.md: current task = next pending, last completed = [NN].
219
+
220
+ 4. Checkpoint if `auto_checkpoint` is true (default):
221
+ ```bash
222
+ if [ "$(python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" config --key auto_checkpoint)" = true ]; then
223
+ python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" checkpoint save after-task-NN
224
+ fi
225
+ ```
226
+
227
+ 5. Optional git record:
228
+ ```bash
229
+ python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" record --message "research(task-[NN]): [task name]; complete" --files "${CHANGED_FILES[@]}"
230
+ ```
231
+
232
+ **`needs_input: checkpoint:decision`, `needs_input: checkpoint:human-action`, or `needs_input: checkpoint:human-verify`:**
233
+ - Present what's needed (data, decision, domain knowledge) via the host conversation facility
234
+ - Apply the task-executor skill again with a `<resume>` block containing the answer (or continue with the full context plus `<resume>`)
235
+
236
+ **`task_blocked:`:**
237
+ - Show blocker clearly
238
+ - Offer via the host conversation facility: upload missing data, revise assumptions, execute the blocking task first, or skip this task
239
+
240
+ **If $ARGUMENTS = "all":** After each task completes, loop to the next pending task. Stop the loop at any needs_input: checkpoint or task_blocked: return and at the first `writing` task.
241
+
242
+ </process>
243
+
244
+ <offer_next>
245
+
246
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
247
+ Materio ► TASK [NN] COMPLETE ✓
248
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
249
+
250
+ Task: [NN]; [name]
251
+ Status: [N]/[total] tasks complete
252
+
253
+ Evidence ladder (report each rung with its actual value; never promote a rung):
254
+ Artifacts inspected: [N] files under .research/tasks/task-[NN]/ read back; verifier
255
+ receipt [task_complete | task_blocked | checkpoint] (read/ls only)
256
+ Prepared, not executed: [list scripts, input decks, submission files, proposed experiments]
257
+ Executed computation: [none | the exact commands the researcher or orchestrator actually
258
+ ran in this session, with exit status and output paths]
259
+ Advisory checks: physics [exit N | skipped], citations [exit N | skipped, offline?],
260
+ scripts [exit N | skipped]; [N] findings resolved, [N] warnings noted
261
+ Scientific validation: not performed by this workflow; the researcher owns physical,
262
+ statistical and experimental validation of these outputs
263
+
264
+ ───────────────────────────────────────────
265
+
266
+ ## ▶ Next Up
267
+
268
+ **Execute the next dependency-ready task**
269
+ `Run execute-task using the materio-task-executor skill `
270
+
271
+ **Or check progress**
272
+ `Run progress using the materio-research-explorer skill`
273
+
274
+ <sub>Each dispatch starts with fresh worker context.</sub>
275
+
276
+ ───────────────────────────────────────────
277
+
278
+ </offer_next>
279
+
280
+ <success_criteria>
281
+ - [ ] Target task resolved (from argument or next pending); at least two-digit directory used
282
+ - [ ] Dependency check completed
283
+ - [ ] Gate confirmation always shown with assumptions listed
284
+ - [ ] Task type correctly routed; web availability passed explicitly
285
+ - [ ] Outputs read back on disk with ls and test -s before marking complete
286
+ - [ ] Completion output states the evidence ladder honestly: inspected, prepared, executed, advisory, validation not performed
287
+ - [ ] Guardrail findings surfaced to the researcher; nothing auto-removed
288
+ - [ ] WORKFLOW.md and STATE.md updated
289
+ - [ ] Checkpoint saved if auto_checkpoint; commit only if commit_research is true
290
+ </success_criteria>
@@ -0,0 +1,140 @@
1
+ # Action: help
2
+
3
+ This guide is linked from an installed portable skill. Action requests use the
4
+ actual installed skill names; this standard package registers no slash commands.
5
+ The interactive assistant applies a role inline or assigns its skill to a generic
6
+ worker if the host supports delegation. No named worker registration is presumed.
7
+ If a native peer package supplies command or agent bindings, follow its binding
8
+ section below while preserving the same researcher gates and return checkpoints.
9
+
10
+ This guide is linked from an installed portable skill. Determine the package root
11
+ from that skill's directory. Before executing a shell example, bind PACKAGE_ROOT
12
+ to that actual root in the same command. Treat $ARGUMENTS as validated user input;
13
+ these are examples to fill with actual paths, not automatic host substitutions.
14
+
15
+
16
+
17
+ <objective>
18
+ Display the Materio action reference with the actual skill invocation vocabulary. No tools needed.
19
+ </objective>
20
+
21
+ <process>
22
+
23
+ Display the following:
24
+
25
+ ```
26
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
27
+ Materio; materials research system
28
+ Plan and automate your research with your coding agent
29
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
30
+
31
+ CORE RESEARCH LOOP
32
+ ─────────────────────────────────────────
33
+ 1. Run identify-research using the materio-research-explorer skill
34
+ Guided interview → select domain, sub-field,
35
+ scope, and confirm a research prompt
36
+
37
+ 2. Run literature-review using the materio-literature-reviewer skill
38
+ Review literature, identify gaps, refine keywords
39
+ (loops back to identify-research if needed)
40
+
41
+ 3. Run define-virtual-lab using the materio-lab-definer skill
42
+ Map available resources: experimental equipment,
43
+ HPC systems, software licenses, collaborations
44
+ Questions are targeted to your research domain
45
+
46
+ 4. Run define-research-tasks using the materio-workflow-planner skill
47
+ Choose from traditional research workflows or
48
+ build from scratch; interview per task for assumptions
49
+ (resource-aware: flags tasks requiring unavailable equipment)
50
+
51
+ 5. Run execute-task using the materio-task-executor skill [N | all]
52
+ Execute a specific task or the full workflow
53
+ Types: literature, experimental, computational,
54
+ data-analysis, analytical, writing
55
+
56
+ 6. Run wtfp using the materio-research-explorer skill
57
+ Bridge to wtf-p; translate research into a paper
58
+ project with include/exclude control
59
+
60
+ TASK MANAGEMENT
61
+ ─────────────────────────────────────────
62
+ Run add-task using the materio-research-explorer skill Add a task to the workflow
63
+ Run remove-task using the materio-research-explorer skill [N] Remove a task permanently
64
+ Run archive-task using the materio-research-explorer skill [N] Archive (preserve but deactivate)
65
+
66
+ DATA
67
+ ─────────────────────────────────────────
68
+ Run upload-data using the materio-research-explorer skill [file] Register data files, papers,
69
+ and datasets for task use
70
+
71
+ PROGRESS & CONTROL
72
+ ─────────────────────────────────────────
73
+ Run status using the materio-research-explorer skill Full project dashboard
74
+ Run progress using the materio-research-explorer skill Statusline + smart routing
75
+ Run pause-research using the materio-research-explorer skill Pause + auto-checkpoint
76
+ Run resume-research using the materio-research-explorer skill Resume from paused state
77
+ Run checkpoint using the materio-research-explorer skill save [label] Save state snapshot
78
+ Run checkpoint using the materio-research-explorer skill restore [name] Restore snapshot
79
+ Run checkpoint using the materio-research-explorer skill list List snapshots
80
+
81
+ META
82
+ ─────────────────────────────────────────
83
+ Run help using the materio-research-explorer skill This help
84
+ Run settings using the materio-research-explorer skill View/edit project config
85
+
86
+ PROJECT STATE (.research/)
87
+ ─────────────────────────────────────────
88
+ RESEARCH.md Research identity, prompt, scope
89
+ LITERATURE.md Review results, gaps, keywords
90
+ VIRTUAL-LAB.md Equipment, HPC, software, gaps
91
+ WORKFLOW.md Tasks with status and assumptions
92
+ STATE.md Current position, phase, decisions
93
+ DATA-INDEX.md Registered data files
94
+ config.json Settings (web_search, commit_research…)
95
+ data/ Uploaded datasets and papers
96
+ tasks/ Task-by-task outputs (task-NN/)
97
+ checkpoints/ State snapshot archives
98
+ handoff/ Paste-ready blocks for wtf-p 0.6
99
+
100
+ TASK TYPES
101
+ ─────────────────────────────────────────
102
+ literature → Read supplied papers and provided URLs, synthesize
103
+ experimental → Generate protocol + data templates
104
+ computational → Generate simulation/analysis scripts
105
+ data-analysis → Analyze uploaded data, produce figures
106
+ analytical → Mathematical modeling, derivations
107
+ writing → Bridge to Run wtfp using the materio-research-explorer skill
108
+
109
+ GUARDRAILS (after each task, advisory)
110
+ ─────────────────────────────────────────
111
+ check_physics impossible values (T < 0 K, ρ ≤ 0…)
112
+ verify_citations Crossref check on quoted titles/DOIs
113
+ check_scripts syntax + hallucinated imports
114
+ Findings are shown to you; nothing is auto-removed.
115
+
116
+ INTEGRATION WITH WTF-P
117
+ ─────────────────────────────────────────
118
+ Run wtfp using the materio-research-explorer skill prepares reviewed import briefs.
119
+ 0.6+: writes .research/handoff/ blocks you paste into
120
+ wtf-p action new-paper → map-project → create-outline
121
+ Existing paper state: inspect/reuse/repair first.
122
+ The bridge never writes paper state. Reuse answers already
123
+ answered during research planning.
124
+
125
+ TIPS
126
+ ─────────────────────────────────────────
127
+ • Each dispatch receives fresh worker context
128
+ • Interviews happen in the command; agents only
129
+ synthesize and write, and report back checkpoints
130
+ • Run upload-data using the materio-research-explorer skill papers BEFORE literature-review:
131
+ supplied papers first, provided URLs second
132
+ • Materio never initializes git. Set commit_research=true in
133
+ Run settings using the materio-research-explorer skill if you want optional named-file commits. Checkpoints use archives.
134
+ • Run checkpoint using the materio-research-explorer skill save before long tasks
135
+ • Run literature-review using the materio-literature-reviewer skill can loop back to
136
+ identify-research if your prompt needs revision
137
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
+ ```
139
+
140
+ </process>
@@ -0,0 +1,204 @@
1
+ # Action: identify-research
2
+
3
+ This guide is linked from an installed portable skill. Action requests use the
4
+ actual installed skill names; this standard package registers no slash commands.
5
+ The interactive assistant applies a role inline or assigns its skill to a generic
6
+ worker if the host supports delegation. No named worker registration is presumed.
7
+ If a native peer package supplies command or agent bindings, follow its binding
8
+ section below while preserving the same researcher gates and return checkpoints.
9
+
10
+ This guide is linked from an installed portable skill. Determine the package root
11
+ from that skill's directory. Before executing a shell example, bind PACKAGE_ROOT
12
+ to that actual root in the same command. Treat $ARGUMENTS as validated user input;
13
+ these are examples to fill with actual paths, not automatic host substitutions.
14
+
15
+
16
+
17
+ Use the host's file reading/editing and local command execution capabilities. Read
18
+ assets/references/research-policy.md, resolved from this package. If this task
19
+ needs researcher answers, the interactive assistant asks them through the host's
20
+ conversation facility before gated writes. Workers return questions with their
21
+ checkpoint kind. Use the named role's portable skill for the scientific work;
22
+ if the host does not support delegation, the interactive assistant performs that
23
+ role with the same input/output and decision boundaries. Do not invent worker,
24
+ search, fleet, or interactive capabilities. Inspect actual files before completion.
25
+ Use package scripts by resolving their links from the installed skill directory.
26
+ For an optional commit, set CHANGED_FILES to only the named files actually changed
27
+ and read back during this action. The research-state helper rejects directory staging.
28
+
29
+
30
+ Use the assigned role skill with complete research context and exact permitted outputs. Return structured checkpoints and inspect actual files after writing.
31
+
32
+ <execution_context>
33
+ @${PACKAGE_ROOT}/assets/templates/RESEARCH.md
34
+ @${PACKAGE_ROOT}/assets/templates/config.json
35
+ @${PACKAGE_ROOT}/assets/references/research-domains.md
36
+ </execution_context>
37
+
38
+ <objective>
39
+ Initialize a new material science research project through a deep guided interview. Creates `.research/` and populates RESEARCH.md with domain, sub-field, scope, researcher profile, and a confirmed research prompt.
40
+
41
+ **Orchestrator role:** Check preconditions, detect existing research context, run the whole researcher interview (foundation, profile, and Socratic drilling), apply the materio-research-explorer skill for synthesis, present its candidate prompts, collect the choice, apply the role again to write the files, verify, record.
42
+
43
+ **Why the interview lives here:** These worker roles return questions to the orchestrator (worker roles cannot interview the researcher). The orchestrator owns every question. The agent gets a fresh context window for the reasoning that benefits from it: turning the transcript into sharp, calibrated candidate prompts.
44
+ </objective>
45
+
46
+ <context>
47
+ No arguments. Runs in current directory.
48
+ </context>
49
+
50
+ <process>
51
+
52
+ Worker write scope: .research/RESEARCH.md and .research/STATE.md, only after selection.
53
+
54
+
55
+ ## 1. Validate Environment
56
+
57
+ ```bash
58
+ [ -f .research/RESEARCH.md ] && echo "WARN: Research already initialized. Use Run progress using the materio-research-explorer skill to see current state, or continue to refine."
59
+ python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" config
60
+ # Read-only before researcher selection; initialize at the approved write step.
61
+ ```
62
+
63
+ Materio never runs `git init`. Version control of `.research/` is the researcher's choice, controlled by `commit_research` in `.research/config.json` (default false).
64
+
65
+ ## 2. Detect Existing Context
66
+
67
+ ```bash
68
+ find . -name "*.pdf" -o -name "*.csv" -o -name "*.bib" -o -name "*.txt" 2>/dev/null | grep -v ".research" | grep -v ".claude" | grep -v ".git" | head -10
69
+ ```
70
+
71
+ If data files found: ask via the host conversation facility whether to base the research framing on existing files, and suggest `Run upload-data using the materio-research-explorer skill` afterwards so the literature review can read them.
72
+
73
+ ## 3. Gather Research Foundation (Batched)
74
+
75
+ Use the host conversation facility; collect core framing in one turn:
76
+ - header: "Research Exploration; Material Science"
77
+ - question: "Let's explore your research direction.\n\n1. **Domain**: Which area of material science? (e.g., Structural, Energy, Biomaterials, Computational, Nanomaterials, Functional, Polymers, Characterization)\n2. **Driving question**: What phenomenon, material, or problem interests you? (free-form, even vague is fine)\n3. **Motivation**: Fundamental understanding, application/device, optimization, or review/synthesis?\n4. **Resources available**: Experimental lab, computational cluster, literature only, or combination?"
78
+ - options: "Provided details" | "I'm not sure yet; help me explore" | "I have a specific topic already"
79
+
80
+ **If "I'm not sure yet":** Ask about domain first, then walk through sub-fields in that domain using research-domains.md as reference, one the host conversation facility per level, before continuing.
81
+
82
+ **If "I have a specific topic already":** Capture it verbatim, then go to Step 4 and run only Round 3 of Step 5.
83
+
84
+ ## 4. Gather Researcher Profile
85
+
86
+ Use the host conversation facility:
87
+ - header: "Researcher Context"
88
+ - question: "Help me understand your context:\n1. **Career stage**: Undergrad / Grad student / Postdoc / PI / Industry researcher\n2. **Timeline**: How long for this research? (months)\n3. **Prior work**: Have you already read papers in this area? Any specific authors or groups you follow?\n4. **Constraints**: Any materials, methods, or approaches you CANNOT use?"
89
+ - options: "Provided details" | "Skip; use reasonable defaults"
90
+
91
+ ## 5. Socratic Drilling (as needed)
92
+
93
+ Narrow in up to three rounds. Skip any round whose answers the transcript already contains. Use the domain's sub-fields, key phenomena, and common methods from research-domains.md to make the examples concrete for this researcher.
94
+
95
+ **Round 1; Narrow the sub-field:**
96
+ - header: "Narrowing Your Research Focus"
97
+ - question: "You mentioned [topic]. Let's narrow it down:\n\n1. What specific aspect? (e.g., for batteries: anode material? electrolyte? capacity fade mechanism? cycling stability?)\n2. What material system specifically? (e.g., Li-S, Na-ion, solid-state with sulfide electrolyte)\n3. What scale? (atomic/nano/micro/device level)"
98
+ - options: "Provided details" | "Help me choose; show sub-fields"
99
+
100
+ **Round 2; Identify the gap:**
101
+ - header: "Finding the Angle"
102
+ - question: "For [narrowed topic]:\n1. What do you think is currently UNKNOWN or UNSOLVED?\n2. What would change if you answered your question? (better battery? new understanding? design rule?)\n3. What's your hypothesis or intuition about the answer?"
103
+ - options: "Provided details" | "I don't know yet; the literature review should tell me"
104
+
105
+ **Round 3; Scope confirmation:**
106
+ - header: "Scoping the Research"
107
+ - question: "Final scoping:\n1. What methods will you use? (synthesis, characterization, simulation; be specific)\n2. What will you NOT study? (even if related and interesting)\n3. What's the minimum result that would make this a successful research project?"
108
+ - options: "Provided details" | "Let the candidates propose scope"
109
+
110
+ Assemble every answer from Steps 2 through 5, verbatim, into the `<researcher_input>` transcript.
111
+
112
+ ## 6. Apply the materio-research-explorer skill
113
+
114
+ ```
115
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
116
+ Materio ► EXPLORING RESEARCH SPACE
117
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
118
+ ```
119
+
120
+ Apply the materio-research-explorer role skill using the assignment and full context; delegate if supported. The prompt carries the full inlined context:
121
+ - `<researcher_input>`; the complete interview transcript from Steps 2–5
122
+ - `<domains_ref>`; the relevant section of research-domains.md
123
+ - `<research_path>`; `.research/RESEARCH.md`
124
+
125
+ Before selection, request candidates only and authorize no writes; omit
126
+ any write authorization and state explicitly that this is the no-write candidate phase.
127
+ On selection, authorize exactly `.research/RESEARCH.md` and `.research/STATE.md`.
128
+ Include all three original candidates, the verbatim selection, scope corrections,
129
+ and the complete RESEARCH template in the writing dispatch.
130
+
131
+ ## 7. Present Candidates and Collect the Choice
132
+
133
+ **`candidates_ready:`:**
134
+
135
+ Use the host conversation facility, one turn:
136
+ - header: "Your Research Prompts"
137
+ - question: "Based on our conversation, here are 3 research prompts:\n\n**A (Focused):** [prompt A]\n In: [scope] · Out: [scope] · Keywords: [list]\n\n**B (Standard):** [prompt B]\n In / Out / Keywords\n\n**C (Ambitious):** [prompt C]\n In / Out / Keywords\n\nRecommended: [X] because [reason].\n\nWhich fits your goals? If you pick one, also say whether its scope and keywords need any correction."
138
+ - options: "Prompt A" | "Prompt B" | "Prompt C" | "Combine or edit; I'll describe"
139
+
140
+ Apply the research-explorer skill again with a `<selection>` block containing the choice and any corrections. Apply the materio-research-explorer skill with the full `<researcher_input>` transcript plus `<selection>`.
141
+
142
+ **`needs_input: checkpoint:decision`, `needs_input: checkpoint:human-action`, or `needs_input: checkpoint:human-verify`:** Ask the batched questions it lists via the host conversation facility, append the answers to the transcript, and apply the role again.
143
+
144
+ **`exploration_inconclusive:`:** Show what's missing and what it suggested. Offer to re-run with more guidance.
145
+
146
+ After the researcher selects a candidate and confirms scope, run
147
+ `python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" init` before the writing dispatch.
148
+
149
+ ## 8. Verify and Record
150
+
151
+ **`research_identified:`:**
152
+
153
+ ```bash
154
+ test -s .research/RESEARCH.md && test -s .research/STATE.md && echo "OK: files on disk" || echo "ERROR: agent reported files it did not write"
155
+ grep -n "Selected Prompt" -A 2 .research/RESEARCH.md
156
+ ```
157
+
158
+ If either file is missing, do not report success; apply the role again and tell it exactly which file is absent.
159
+
160
+ Optional git record, only if the researcher enabled it:
161
+ ```bash
162
+ python3 "${PACKAGE_ROOT}/assets/scripts/research_state.py" record --message "research: initialize; [research prompt one-liner]" --files "${CHANGED_FILES[@]}"
163
+ ```
164
+
165
+ </process>
166
+
167
+ <offer_next>
168
+
169
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
170
+ Materio ► RESEARCH IDENTIFIED ✓
171
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
+
173
+ Prompt: [selected research prompt]
174
+ Domain: [field + sub-field]
175
+ Profile: .research/RESEARCH.md
176
+
177
+ ───────────────────────────────────────────
178
+
179
+ ## ▶ Next Up
180
+
181
+ **Register the papers you already have, then review the literature**
182
+
183
+ `Run upload-data using the materio-research-explorer skill` (optional, but the review is only as good as its corpus)
184
+ `Run literature-review using the materio-literature-reviewer skill`
185
+
186
+ <sub>Each dispatch starts with fresh worker context.</sub>
187
+
188
+ ───────────────────────────────────────────
189
+
190
+ **Also available:**
191
+ - `Run define-research-tasks using the materio-workflow-planner skill`; skip literature review if already done
192
+
193
+ </offer_next>
194
+
195
+ <success_criteria>
196
+ - [ ] Every question to the researcher was asked by this command, not by the agent
197
+ - [ ] Domain and sub-field clearly identified
198
+ - [ ] Research prompt is a single answerable question
199
+ - [ ] Scope (in/out) explicitly defined
200
+ - [ ] Researcher profile captured (career stage, resources, timeline)
201
+ - [ ] Three candidate prompts presented before final selection
202
+ - [ ] RESEARCH.md and STATE.md verified on disk with test -s
203
+ - [ ] config.json created from template; no git init; commit only if commit_research is true
204
+ </success_criteria>