@galaxyproject/orbit 0.0.0 → 0.9.0

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 (451) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/LICENSE +21 -0
  3. package/README.md +760 -5
  4. package/bin/legacy-mcp-config.js +363 -0
  5. package/bin/orbit.js +810 -0
  6. package/bin/pi-extension-path.d.ts +4 -0
  7. package/bin/pi-extension-path.js +44 -0
  8. package/bin/provider-auth.d.ts +22 -0
  9. package/bin/provider-auth.js +77 -0
  10. package/bin/thinking-pref.js +38 -0
  11. package/bin/update-check.d.ts +15 -0
  12. package/bin/update-check.js +137 -0
  13. package/extensions/cli-update/index.ts +32 -0
  14. package/extensions/orbit/activity-hooks.ts +141 -0
  15. package/extensions/orbit/activity.ts +116 -0
  16. package/extensions/orbit/agent-dir.ts +11 -0
  17. package/extensions/orbit/auto-resume.ts +352 -0
  18. package/extensions/orbit/config.ts +3 -0
  19. package/extensions/orbit/confusables.ts +1 -0
  20. package/extensions/orbit/context.ts +957 -0
  21. package/extensions/orbit/dashboard-commands.ts +191 -0
  22. package/extensions/orbit/dashboard-store.ts +473 -0
  23. package/extensions/orbit/dashboard-tools.ts +1185 -0
  24. package/extensions/orbit/empty-completion.ts +99 -0
  25. package/extensions/orbit/evidence-gate.ts +1276 -0
  26. package/extensions/orbit/evidence-override-command.ts +294 -0
  27. package/extensions/orbit/exec-guard/bash-risk.ts +1408 -0
  28. package/extensions/orbit/exec-guard/gate.ts +181 -0
  29. package/extensions/orbit/exec-guard/guardian-config.ts +54 -0
  30. package/extensions/orbit/exec-guard/index.ts +1 -0
  31. package/extensions/orbit/exec-guard/model-tier.ts +36 -0
  32. package/extensions/orbit/exec-guard/path-jail.ts +54 -0
  33. package/extensions/orbit/exec-guard/policy.ts +342 -0
  34. package/extensions/orbit/exec-guard/runtime-state.ts +15 -0
  35. package/extensions/orbit/exec-guard/sensitive-read.ts +525 -0
  36. package/extensions/orbit/exec-guard/types.ts +42 -0
  37. package/extensions/orbit/execution-commands.ts +134 -0
  38. package/extensions/orbit/feedback-command.ts +81 -0
  39. package/extensions/orbit/feedback.ts +96 -0
  40. package/extensions/orbit/galaxy-api.test.ts +122 -0
  41. package/extensions/orbit/galaxy-api.ts +606 -0
  42. package/extensions/orbit/galaxy-artifact-link-guidance.ts +5 -0
  43. package/extensions/orbit/galaxy-destructive-gate.ts +113 -0
  44. package/extensions/orbit/galaxy-enrich.ts +1108 -0
  45. package/extensions/orbit/galaxy-failure.ts +101 -0
  46. package/extensions/orbit/galaxy-fixture.ts +126 -0
  47. package/extensions/orbit/galaxy-history-guard.ts +233 -0
  48. package/extensions/orbit/galaxy-job-block.ts +347 -0
  49. package/extensions/orbit/galaxy-job-ops.ts +288 -0
  50. package/extensions/orbit/galaxy-live-source.ts +929 -0
  51. package/extensions/orbit/galaxy-markdown-adapter.ts +248 -0
  52. package/extensions/orbit/galaxy-op-policy.ts +332 -0
  53. package/extensions/orbit/galaxy-ops-tools.ts +326 -0
  54. package/extensions/orbit/galaxy-output-store.ts +80 -0
  55. package/extensions/orbit/galaxy-output.ts +346 -0
  56. package/extensions/orbit/galaxy-page-binding.ts +222 -0
  57. package/extensions/orbit/galaxy-page-markdown-guidance.ts +15 -0
  58. package/extensions/orbit/galaxy-page-ops.ts +159 -0
  59. package/extensions/orbit/galaxy-page-sync.test.ts +417 -0
  60. package/extensions/orbit/galaxy-page-sync.ts +318 -0
  61. package/extensions/orbit/galaxy-pages-api.ts +203 -0
  62. package/extensions/orbit/galaxy-pages-sync.ts +409 -0
  63. package/extensions/orbit/galaxy-poll-guard.ts +189 -0
  64. package/extensions/orbit/galaxy-poller.ts +706 -0
  65. package/extensions/orbit/galaxy-provenance.ts +623 -0
  66. package/extensions/orbit/galaxy-reconcile.ts +956 -0
  67. package/extensions/orbit/galaxy-recovery.ts +176 -0
  68. package/extensions/orbit/galaxy-repeat-guard.ts +55 -0
  69. package/extensions/orbit/galaxy-submission-capture.ts +707 -0
  70. package/extensions/orbit/galaxy-submission.ts +502 -0
  71. package/extensions/orbit/galaxy-tool-source.ts +78 -0
  72. package/extensions/orbit/galaxy-tool-wrap.ts +234 -0
  73. package/extensions/orbit/galaxy-udt-block.ts +127 -0
  74. package/extensions/orbit/galaxy-upload-tus.ts +334 -0
  75. package/extensions/orbit/galaxy-upload.ts +300 -0
  76. package/extensions/orbit/galaxy-version-capture.ts +65 -0
  77. package/extensions/orbit/git.ts +173 -0
  78. package/extensions/orbit/harness-block-fields.ts +597 -0
  79. package/extensions/orbit/index.ts +593 -0
  80. package/extensions/orbit/init-gate.ts +284 -0
  81. package/extensions/orbit/instructions-command.ts +136 -0
  82. package/extensions/orbit/invocation-failure-hint.ts +57 -0
  83. package/extensions/orbit/iwc-plan-check.ts +94 -0
  84. package/extensions/orbit/lesson-command.ts +303 -0
  85. package/extensions/orbit/lesson-hint.ts +245 -0
  86. package/extensions/orbit/lesson-nudge.ts +106 -0
  87. package/extensions/orbit/lessons/compose.ts +177 -0
  88. package/extensions/orbit/lessons/counters.ts +120 -0
  89. package/extensions/orbit/lessons/enabled.ts +116 -0
  90. package/extensions/orbit/lessons/matcher.ts +346 -0
  91. package/extensions/orbit/lessons/paths.ts +286 -0
  92. package/extensions/orbit/lessons/pi-event-contract.ts +105 -0
  93. package/extensions/orbit/lessons/propose-replay.ts +103 -0
  94. package/extensions/orbit/lessons/propose-tool.ts +222 -0
  95. package/extensions/orbit/lessons/propose.ts +502 -0
  96. package/extensions/orbit/lessons/replay.ts +89 -0
  97. package/extensions/orbit/lessons/reproduction-index.ts +83 -0
  98. package/extensions/orbit/lessons/search-tool.ts +99 -0
  99. package/extensions/orbit/lessons/search.ts +136 -0
  100. package/extensions/orbit/lessons/store.ts +415 -0
  101. package/extensions/orbit/lessons/text.ts +36 -0
  102. package/extensions/orbit/lessons/types.ts +69 -0
  103. package/extensions/orbit/lessons/user-dir.ts +24 -0
  104. package/extensions/orbit/lessons/user-lesson.ts +88 -0
  105. package/extensions/orbit/lessons/wrapper.ts +61 -0
  106. package/extensions/orbit/lessons-command.ts +147 -0
  107. package/extensions/orbit/local-exec.ts +39 -0
  108. package/extensions/orbit/mcp-output.ts +179 -0
  109. package/extensions/orbit/mcp-servers.test.ts +24 -0
  110. package/extensions/orbit/mcp-servers.ts +25 -0
  111. package/extensions/orbit/model-script.ts +351 -0
  112. package/extensions/orbit/notebook-anchors.ts +342 -0
  113. package/extensions/orbit/notebook-writer.ts +863 -0
  114. package/extensions/orbit/observation-allowlists.ts +1109 -0
  115. package/extensions/orbit/observation-replay.ts +148 -0
  116. package/extensions/orbit/observation-triggers.ts +563 -0
  117. package/extensions/orbit/observation-ui.ts +175 -0
  118. package/extensions/orbit/observations-command.ts +421 -0
  119. package/extensions/orbit/observations-config.ts +200 -0
  120. package/extensions/orbit/observations.ts +1381 -0
  121. package/extensions/orbit/profiles.ts +270 -0
  122. package/extensions/orbit/progress-updates.ts +95 -0
  123. package/extensions/orbit/proposal-commands.ts +882 -0
  124. package/extensions/orbit/provenance-fs-file.ts +59 -0
  125. package/extensions/orbit/provenance-fs.ts +32 -0
  126. package/extensions/orbit/provenance-memory-fs.ts +59 -0
  127. package/extensions/orbit/record-store-file.ts +177 -0
  128. package/extensions/orbit/record-store-page.ts +77 -0
  129. package/extensions/orbit/record-store-seam.ts +47 -0
  130. package/extensions/orbit/record-store.ts +149 -0
  131. package/extensions/orbit/registry-carrier.ts +107 -0
  132. package/extensions/orbit/registry-eligibility.ts +95 -0
  133. package/extensions/orbit/registry-evaluation.ts +403 -0
  134. package/extensions/orbit/registry-evaluator.ts +519 -0
  135. package/extensions/orbit/registry-import.ts +91 -0
  136. package/extensions/orbit/registry-lock.ts +221 -0
  137. package/extensions/orbit/registry-memory-fs.ts +42 -0
  138. package/extensions/orbit/registry-page-carrier.ts +103 -0
  139. package/extensions/orbit/registry-proposal.ts +1348 -0
  140. package/extensions/orbit/registry-runtime.ts +234 -0
  141. package/extensions/orbit/registry-schema.ts +735 -0
  142. package/extensions/orbit/registry-submitter.ts +59 -0
  143. package/extensions/orbit/registry-templates.ts +346 -0
  144. package/extensions/orbit/registry.ts +476 -0
  145. package/extensions/orbit/sandbox/index.ts +120 -0
  146. package/extensions/orbit/sandbox/sandbox-bash.ts +93 -0
  147. package/extensions/orbit/sandbox/sandbox-config.ts +87 -0
  148. package/extensions/orbit/sandbox/sandbox-init-message.ts +28 -0
  149. package/extensions/orbit/secret-redaction.ts +247 -0
  150. package/extensions/orbit/session-index/cwd.ts +18 -0
  151. package/extensions/orbit/session-index/db.ts +56 -0
  152. package/extensions/orbit/session-index/indexer.ts +154 -0
  153. package/extensions/orbit/session-index/is-enabled.ts +17 -0
  154. package/extensions/orbit/session-index/parse.ts +254 -0
  155. package/extensions/orbit/session-index/query.ts +209 -0
  156. package/extensions/orbit/session-index/schema.ts +72 -0
  157. package/extensions/orbit/session-index/tools.ts +152 -0
  158. package/extensions/orbit/session-lifecycle.ts +321 -0
  159. package/extensions/orbit/skill-triggers.ts +159 -0
  160. package/extensions/orbit/skills-command.ts +48 -0
  161. package/extensions/orbit/skills-discovery.ts +435 -0
  162. package/extensions/orbit/skills.ts +84 -0
  163. package/extensions/orbit/sra-import-gate.ts +77 -0
  164. package/extensions/orbit/state.ts +265 -0
  165. package/extensions/orbit/submission-replay.ts +147 -0
  166. package/extensions/orbit/sync-command.ts +157 -0
  167. package/extensions/orbit/teams/critic-parser.ts +93 -0
  168. package/extensions/orbit/teams/dispatcher.ts +210 -0
  169. package/extensions/orbit/teams/is-enabled.ts +22 -0
  170. package/extensions/orbit/teams/tool.ts +187 -0
  171. package/extensions/orbit/teams/types.ts +57 -0
  172. package/extensions/orbit/teams/validate.ts +42 -0
  173. package/extensions/orbit/tester-id-command.ts +133 -0
  174. package/extensions/orbit/tools-sync.ts +279 -0
  175. package/extensions/orbit/tools.ts +1300 -0
  176. package/extensions/orbit/types.ts +41 -0
  177. package/extensions/orbit/ui-bridge.ts +55 -0
  178. package/extensions/orbit/ulid.ts +60 -0
  179. package/extensions/orbit/user-instructions.ts +388 -0
  180. package/extensions/orbit/vendor/skills/_catalog.json +68 -0
  181. package/extensions/orbit/vendor/skills/_manifest.json +1106 -0
  182. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/SKILL.md +112 -0
  183. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_provenance.json +218 -0
  184. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_required_tools.json +33 -0
  185. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_verify.json +4 -0
  186. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/add.json +50 -0
  187. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-extract.json +51 -0
  188. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-next-step.json +42 -0
  189. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-validate.json +140 -0
  190. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/list.json +32 -0
  191. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/galaxy-tool-job-failure-reference.md +137 -0
  192. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/open-requirements-ledger.md +173 -0
  193. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-tool-summary.schema.json +175 -0
  194. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
  195. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/SKILL.md +82 -0
  196. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_provenance.json +133 -0
  197. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_required_tools.json +16 -0
  198. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_verify.json +4 -0
  199. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/cli/draft-validate.json +140 -0
  200. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/galaxy-workflow-draft-format.md +135 -0
  201. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
  202. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
  203. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/SKILL.md +84 -0
  204. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_provenance.json +166 -0
  205. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_verify.json +29 -0
  206. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/galaxy-workflow-testability-design.md +136 -0
  207. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
  208. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-test-data-conventions.md +308 -0
  209. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-asserts-idioms.md +246 -0
  210. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-workflow-test-architecture.md +151 -0
  211. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
  212. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/summary-galaxy-workflow.schema.json +687 -0
  213. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/tests-format.schema.json +7328 -0
  214. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/SKILL.md +127 -0
  215. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_provenance.json +198 -0
  216. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_required_tools.json +16 -0
  217. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_verify.json +4 -0
  218. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/cli/convert.json +123 -0
  219. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/galaxy-data-flow-draft-contract.md +129 -0
  220. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
  221. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-test-data-conventions.md +308 -0
  222. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/open-requirements-ledger.md +173 -0
  223. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/SKILL.md +73 -0
  224. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_provenance.json +160 -0
  225. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_verify.json +4 -0
  226. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.md +43 -0
  227. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.yml +1250 -0
  228. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-tool-job-failure-reference.md +137 -0
  229. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
  230. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
  231. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/nextflow-operators-to-galaxy-collection-recipes.md +98 -0
  232. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-asserts-idioms.md +246 -0
  233. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-workflow-test-architecture.md +151 -0
  234. package/extensions/orbit/vendor/skills/discover-shed-tool/SKILL.md +174 -0
  235. package/extensions/orbit/vendor/skills/discover-shed-tool/_provenance.json +130 -0
  236. package/extensions/orbit/vendor/skills/discover-shed-tool/_required_tools.json +18 -0
  237. package/extensions/orbit/vendor/skills/discover-shed-tool/_verify.json +17 -0
  238. package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-revisions.json +48 -0
  239. package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-search.json +95 -0
  240. package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-versions.json +39 -0
  241. package/extensions/orbit/vendor/skills/discover-shed-tool/references/notes/component-tool-shed-search.md +230 -0
  242. package/extensions/orbit/vendor/skills/discover-shed-tool/references/schemas/galaxy-tool-discovery.schema.json +231 -0
  243. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/SKILL.md +93 -0
  244. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_provenance.json +201 -0
  245. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_required_tools.json +28 -0
  246. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_verify.json +17 -0
  247. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/planemo.md +44 -0
  248. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/validate-tests.json +40 -0
  249. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/galaxy-workflow-testability-design.md +136 -0
  250. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
  251. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-test-data-conventions.md +308 -0
  252. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
  253. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
  254. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
  255. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/tests-format.schema.json +7328 -0
  256. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/SKILL.md +81 -0
  257. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_provenance.json +93 -0
  258. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_verify.json +17 -0
  259. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
  260. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/schemas/summary-galaxy-workflow.schema.json +687 -0
  261. package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/SKILL.md +81 -0
  262. package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/_assembly.json +23 -0
  263. package/extensions/orbit/vendor/skills/run-workflow-test/SKILL.md +79 -0
  264. package/extensions/orbit/vendor/skills/run-workflow-test/_provenance.json +125 -0
  265. package/extensions/orbit/vendor/skills/run-workflow-test/_required_tools.json +28 -0
  266. package/extensions/orbit/vendor/skills/run-workflow-test/_verify.json +4 -0
  267. package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/planemo.md +44 -0
  268. package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/validate-tests.json +40 -0
  269. package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
  270. package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
  271. package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
  272. package/extensions/orbit/vendor/skills/run-workflow-test/references/schemas/tests-format.schema.json +7328 -0
  273. package/extensions/orbit/vendor/skills/skills/LICENSE +21 -0
  274. package/extensions/orbit/vendor/skills/skills/collection-manipulation/README.md +39 -0
  275. package/extensions/orbit/vendor/skills/skills/collection-manipulation/SKILL.md +892 -0
  276. package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/api-patterns.md +927 -0
  277. package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/apply-rules.md +1482 -0
  278. package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/test-patterns.md +996 -0
  279. package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/tools.md +609 -0
  280. package/extensions/orbit/vendor/skills/skills/galaxy-data-libraries/SKILL.md +170 -0
  281. package/extensions/orbit/vendor/skills/skills/galaxy-integration/README.md +162 -0
  282. package/extensions/orbit/vendor/skills/skills/galaxy-integration/SKILL.md +99 -0
  283. package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/README.md +119 -0
  284. package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/tool-checking.md +419 -0
  285. package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/workflow-testing.md +617 -0
  286. package/extensions/orbit/vendor/skills/skills/galaxy-integration/galaxy-integration.md +614 -0
  287. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/SKILL.md +144 -0
  288. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/average_col3.ipynb +68 -0
  289. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/extract_sample_metadata.ipynb +190 -0
  290. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/variant_annotation.ipynb +816 -0
  291. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/vcp_variant_map.ipynb +443 -0
  292. package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/README.md +165 -0
  293. package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/galaxy_tool_checker.py +521 -0
  294. package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/SKILL.md +128 -0
  295. package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/gotchas.md +135 -0
  296. package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/history-access.md +132 -0
  297. package/extensions/orbit/vendor/skills/skills/reproduciblify/SKILL.md +146 -0
  298. package/extensions/orbit/vendor/skills/skills/reproduciblify/references/directives.yml +496 -0
  299. package/extensions/orbit/vendor/skills/skills/udt-authoring/SKILL.md +245 -0
  300. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/01-minimal-echo.yml +27 -0
  301. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/02-single-data-in-out.yml +27 -0
  302. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/03-multiple-data-js.yml +28 -0
  303. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/04-select-integer-boolean.yml +41 -0
  304. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/05-resource-requirements.yml +25 -0
  305. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/06-biocontainer-tool.yml +38 -0
  306. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/07-inline-python-script.yml +56 -0
  307. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/08-configfile-script.yml +74 -0
  308. package/extensions/orbit/vendor/skills/skills/udt-authoring/references/common-mistakes.md +76 -0
  309. package/extensions/orbit/vendor/skills/skills/udt-authoring/references/schema-reference.md +155 -0
  310. package/extensions/orbit/vendor/skills/skills/udt-authoring/references/templating.md +196 -0
  311. package/extensions/orbit/vendor/skills/skills/udt-authoring/scripts/validate.py +109 -0
  312. package/extensions/orbit/vendor/skills/skills/workflow-reports/README.md +71 -0
  313. package/extensions/orbit/vendor/skills/skills/workflow-reports/SKILL.md +190 -0
  314. package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/histology-staining.md +145 -0
  315. package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/tissue-microarray-analysis.md +176 -0
  316. package/extensions/orbit/vendor/skills/skills/workflow-reports/references/directives.md +415 -0
  317. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/SKILL.md +98 -0
  318. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_provenance.json +93 -0
  319. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_required_tools.json +28 -0
  320. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_verify.json +17 -0
  321. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/convert.json +123 -0
  322. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/foundry.md +25 -0
  323. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/validate.json +142 -0
  324. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/schemas/summary-galaxy-workflow.schema.json +687 -0
  325. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/SKILL.md +74 -0
  326. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_provenance.json +71 -0
  327. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_required_tools.json +16 -0
  328. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_verify.json +4 -0
  329. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/cli/validate.json +142 -0
  330. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
  331. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-testability-design.md +136 -0
  332. package/extensions/orbit/vendor-skills.ts +283 -0
  333. package/extensions/orbit/workspace-state-dir.ts +46 -0
  334. package/extensions/orbit-handoff/index.ts +73 -0
  335. package/extensions/orbit-handoff/orbit-launcher.ts +142 -0
  336. package/extensions/whats-new/index.ts +98 -0
  337. package/lessons/LICENSE +17 -0
  338. package/lessons/README.md +117 -0
  339. package/lessons/SCHEMA.md +187 -0
  340. package/lessons/build-snapshot.mjs +311 -0
  341. package/lessons/data/downloaded-file-is-not-what-its-extension-says.md +61 -0
  342. package/lessons/galaxy-api/403-history-is-a-hard-stop.md +57 -0
  343. package/lessons/galaxy-api/collection-into-single-dataset-input.md +61 -0
  344. package/lessons/galaxy-api/connectedvalue-in-command-line.md +62 -0
  345. package/lessons/galaxy-api/hid-is-not-an-id.md +59 -0
  346. package/lessons/galaxy-api/invoke-workflow-inputs-not-params.md +60 -0
  347. package/lessons/galaxy-api/repeat-param-pipe-keys.md +63 -0
  348. package/lessons/galaxy-api/run-tool-returns-on-submit.md +61 -0
  349. package/lessons/galaxy-tools/reference-index-not-on-server.md +62 -0
  350. package/lessons/log.md +42 -0
  351. package/lessons/reproduction/input-population-mismatch.md +59 -0
  352. package/lessons/reproduction/methods-text-vs-executed-parameters.md +62 -0
  353. package/lessons/snapshot.json +1004 -0
  354. package/lessons/stats/de-contrast-direction-and-sample-labels.md +63 -0
  355. package/lessons/stats/na-coerced-to-zero-in-filters.md +59 -0
  356. package/lessons/validate.mjs +1219 -0
  357. package/package.json +103 -5
  358. package/shared/agent-prompt.d.ts +8 -0
  359. package/shared/agent-prompt.js +15 -0
  360. package/shared/approval-prompt.d.ts +4 -0
  361. package/shared/approval-prompt.js +61 -0
  362. package/shared/brain-env.d.ts +14 -0
  363. package/shared/brain-env.js +108 -0
  364. package/shared/brain-exit.d.ts +20 -0
  365. package/shared/brain-exit.js +149 -0
  366. package/shared/capability-profile.d.ts +16 -0
  367. package/shared/capability-profile.js +75 -0
  368. package/shared/config-source.d.ts +13 -0
  369. package/shared/config-source.js +17 -0
  370. package/shared/confusables.d.ts +3 -0
  371. package/shared/confusables.js +93 -0
  372. package/shared/custom-provider.d.ts +45 -0
  373. package/shared/custom-provider.js +169 -0
  374. package/shared/dashboard-contract.d.ts +123 -0
  375. package/shared/dashboard-contract.js +560 -0
  376. package/shared/dashboard-layout-store.d.ts +44 -0
  377. package/shared/dashboard-layout-store.js +281 -0
  378. package/shared/feedback-contract.d.ts +61 -0
  379. package/shared/feedback-contract.js +146 -0
  380. package/shared/galaxy-artifact-links.d.ts +30 -0
  381. package/shared/galaxy-artifact-links.js +166 -0
  382. package/shared/galaxy-credentials.d.ts +26 -0
  383. package/shared/galaxy-credentials.js +71 -0
  384. package/shared/galaxy-destructive.d.ts +21 -0
  385. package/shared/galaxy-destructive.js +269 -0
  386. package/shared/galaxy-guidance.d.ts +2 -0
  387. package/shared/galaxy-guidance.js +53 -0
  388. package/shared/galaxy-live-contract.d.ts +92 -0
  389. package/shared/galaxy-live-contract.js +180 -0
  390. package/shared/galaxy-page-cells.d.ts +2 -0
  391. package/shared/galaxy-page-cells.js +22 -0
  392. package/shared/galaxy-tool-family.d.ts +5 -0
  393. package/shared/galaxy-tool-family.js +27 -0
  394. package/shared/galaxy-url.d.ts +1 -0
  395. package/shared/galaxy-url.js +48 -0
  396. package/shared/gtn.d.ts +31 -0
  397. package/shared/gtn.js +253 -0
  398. package/shared/handled-prompt.d.ts +3 -0
  399. package/shared/handled-prompt.js +26 -0
  400. package/shared/known-provider.d.ts +11 -0
  401. package/shared/known-provider.js +89 -0
  402. package/shared/lesson-hint-marker.d.ts +7 -0
  403. package/shared/lesson-hint-marker.js +32 -0
  404. package/shared/lesson-rules.d.ts +150 -0
  405. package/shared/lesson-rules.js +203 -0
  406. package/shared/malformed-object-ids.d.ts +1 -0
  407. package/shared/malformed-object-ids.js +37 -0
  408. package/shared/markdown-sections.d.ts +10 -0
  409. package/shared/markdown-sections.js +118 -0
  410. package/shared/notebook-fences.d.ts +12 -0
  411. package/shared/notebook-fences.js +53 -0
  412. package/shared/observation-contract.d.ts +91 -0
  413. package/shared/observation-contract.js +544 -0
  414. package/shared/orbit-config.d.ts +226 -0
  415. package/shared/orbit-config.js +189 -0
  416. package/shared/orbit-env.d.ts +13 -0
  417. package/shared/orbit-env.js +124 -0
  418. package/shared/orbit-shell-contract.d.ts +74 -0
  419. package/shared/orbit-shell-contract.js +30 -0
  420. package/shared/page-content-hash.d.ts +1 -0
  421. package/shared/page-content-hash.js +13 -0
  422. package/shared/pi-default-model.d.ts +7 -0
  423. package/shared/pi-default-model.js +41 -0
  424. package/shared/prompt-blocks.d.ts +87 -0
  425. package/shared/prompt-blocks.js +898 -0
  426. package/shared/provider-auth-caps.d.ts +22 -0
  427. package/shared/provider-auth-caps.js +57 -0
  428. package/shared/random.d.ts +2 -0
  429. package/shared/random.js +15 -0
  430. package/shared/record-excerpt.d.ts +4 -0
  431. package/shared/record-excerpt.js +16 -0
  432. package/shared/redirect-guard.d.ts +36 -0
  433. package/shared/redirect-guard.js +235 -0
  434. package/shared/skills-pin.d.ts +8 -0
  435. package/shared/skills-pin.js +9 -0
  436. package/shared/skills-router.d.ts +17 -0
  437. package/shared/skills-router.js +63 -0
  438. package/shared/sra-import.d.ts +34 -0
  439. package/shared/sra-import.js +206 -0
  440. package/shared/state-dir.d.ts +21 -0
  441. package/shared/state-dir.js +240 -0
  442. package/shared/team-dispatch-contract.d.ts +28 -0
  443. package/shared/team-dispatch-contract.js +1 -0
  444. package/shared/truncate-middle.d.ts +11 -0
  445. package/shared/truncate-middle.js +68 -0
  446. package/shared/version-compare.d.ts +10 -0
  447. package/shared/version-compare.js +74 -0
  448. package/shared/whats-new.d.ts +31 -0
  449. package/shared/whats-new.js +83 -0
  450. package/shared/wsl.d.ts +10 -0
  451. package/shared/wsl.js +24 -0
@@ -0,0 +1,57 @@
1
+ ---
2
+ type: Lesson
3
+ title: '"History is not accessible by user" means there is no data to reason from'
4
+ description: A 403 on the bound history means nothing about the job was ever read, so any explanation of the failure after that point is invented.
5
+ tags: [permissions, history, fabrication, galaxy-api]
6
+ status: stable
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources:
10
+ - { id: "loom#367" }
11
+
12
+ kind: expectation
13
+ stage: [job-execution, result-interpretation]
14
+ trigger:
15
+ signatures: ["History is not accessible by user"]
16
+ tools: []
17
+ mcp_tools: [galaxy_get_history_contents]
18
+ formats: []
19
+ hosts: []
20
+ extensions: []
21
+ step_keywords: ["history", "why did it fail", "job failure"]
22
+ cues: "A resumed notebook is bound to a history that the current credentials do not own."
23
+ applies_to: { versions: "any", tested: "resumed notebook bound to a history owned by another account" }
24
+ evidence:
25
+ symptom: verified
26
+ cause: verified
27
+ outcome: unvalidated
28
+ method: "transcript: a 403 followed by a fabricated explanation of a job failure"
29
+ graduated_to: ["loom system prompt no-fabrication rule plus evals"]
30
+ upstream: []
31
+ supersedes: []
32
+ ---
33
+
34
+ ## Symptom
35
+
36
+ Asked why a job failed, the agent gets a 403 on the history and answers anyway.
37
+
38
+ ## Cause
39
+
40
+ The notebook's bound history belongs to a different account or server than the current
41
+ credentials. Nothing about the job was ever read.
42
+
43
+ ## Check first
44
+
45
+ Which account are the current credentials for? Is the bound history in that account's list?
46
+
47
+ ## Intervention
48
+
49
+ Report the access failure. Offer to look in the user's own recent histories instead.
50
+
51
+ ## Validate
52
+
53
+ Any explanation of a failure cites a job or dataset that was actually retrieved.
54
+
55
+ ## Does NOT apply when
56
+
57
+ Never; a 403 is always a hard stop for reasoning about that history.
@@ -0,0 +1,61 @@
1
+ ---
2
+ type: Lesson
3
+ title: 'A collection handed to a single-dataset input is rejected; the answer is map-over, not "the API cannot"'
4
+ description: A 400 at submit when an hdca meets a single-dataset parameter means map-over was not requested, and the wrong conclusion is that collections cannot be used through the API.
5
+ tags: [collections, map-over, batch, galaxy-api]
6
+ status: stable
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources:
10
+ - { id: "loom#208" }
11
+
12
+ kind: choice
13
+ stage: [tool-parameterization]
14
+ trigger:
15
+ signatures: ["supplied to single input dataset parameter"]
16
+ tools: []
17
+ mcp_tools: [galaxy_run_tool]
18
+ formats: []
19
+ hosts: []
20
+ extensions: []
21
+ step_keywords: ["collection", "map over", "batch", "per sample"]
22
+ cues: "A collection is being passed where the tool's input template says one dataset."
23
+ applies_to: { versions: "any", tested: "featureCounts, Filter1 via galaxy-mcp run_tool" }
24
+ evidence:
25
+ symptom: verified
26
+ cause: verified
27
+ outcome: validated
28
+ method: "the batch wrapper form was accepted by Galaxy and produced a mapped-over output collection"
29
+ graduated_to: ["loom context.ts Galaxy block map-over hint"]
30
+ upstream: ["galaxy-mcp actionable-error issue"]
31
+ supersedes: []
32
+ ---
33
+
34
+ ## Symptom
35
+
36
+ 400 at submit when an `hdca` is passed where the tool expects one dataset. Observed follow-on: the
37
+ agent concludes collections cannot be built or used through the API, which is false.
38
+
39
+ ## Cause
40
+
41
+ The input is a single-dataset parameter. Galaxy runs such a tool over a collection only when asked
42
+ to map over it.
43
+
44
+ ## Check first
45
+
46
+ Is the input really single-dataset per the tool's input template, and is the thing being passed a
47
+ collection? If the collection is `list:paired` and the tool wants one sample, map-over is still the
48
+ answer but the element type must match.
49
+
50
+ ## Intervention
51
+
52
+ Submit the input in batch form: `{batch: true, values: [{src: "hdca", id: <collection id>}]}`.
53
+
54
+ ## Validate
55
+
56
+ The result is a collection with one element per input element, and element identifiers are
57
+ preserved.
58
+
59
+ ## Does NOT apply when
60
+
61
+ The tool has a genuine multi-dataset or collection input -- pass the collection directly there.
@@ -0,0 +1,62 @@
1
+ ---
2
+ type: Lesson
3
+ title: '"ConnectedValue object at 0x" in a command line means an optional workflow parameter was left unset'
4
+ description: Older Galaxy serialized the placeholder object's repr into the command line when a connected optional parameter_input had no value, so the step can fail or silently succeed wrong.
5
+ tags: [workflows, parameter-input, command-line, galaxy-api]
6
+ status: stable
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources:
10
+ - { id: "loom#186" }
11
+ - { id: "galaxy#21994" }
12
+
13
+ kind: pitfall
14
+ stage: [tool-parameterization, job-execution]
15
+ trigger:
16
+ signatures: ["workflow_utils.ConnectedValue object at 0x"]
17
+ tools: []
18
+ mcp_tools: [galaxy_invoke_workflow]
19
+ formats: []
20
+ hosts: []
21
+ extensions: []
22
+ step_keywords: ["workflow", "parameter input", "optional parameter", "invoke"]
23
+ cues: "A workflow with optional parameter inputs is invoked against a server older than the upstream fix."
24
+ applies_to: { versions: "Galaxy older than 25.1.2; fixed upstream", tested: "fastp inside an invoked workflow" }
25
+ evidence:
26
+ symptom: verified
27
+ cause: verified
28
+ outcome: unvalidated
29
+ method: "the error string was quoted from the failing job and the upstream fix was identified"
30
+ graduated_to: ["galaxy-skills galaxy-mcp-reference gotchas note"]
31
+ upstream: ["galaxy#21994"]
32
+ supersedes: []
33
+ ---
34
+
35
+ ## Symptom
36
+
37
+ A workflow step fails, or worse succeeds, with a tool argument containing the text
38
+ `...ConnectedValue object at 0x...`. With fastp it surfaced as an invalid adapter sequence.
39
+
40
+ ## Cause
41
+
42
+ An optional `parameter_input` workflow step was connected but given no value; older Galaxy
43
+ serialized the placeholder object's repr into the command line.
44
+
45
+ ## Check first
46
+
47
+ Does the workflow have optional parameter inputs, per the workflow details? Is the server older
48
+ than the fix? Inspect the failed job's command line for the signature.
49
+
50
+ ## Intervention
51
+
52
+ Pass an explicit empty value for every optional parameter input on invocation.
53
+
54
+ ## Validate
55
+
56
+ Re-inspect the command line of the rerun job: the signature is gone AND the argument is absent or
57
+ empty, not replaced by some other junk.
58
+
59
+ ## Does NOT apply when
60
+
61
+ The server has the upstream fix. Keep the lesson and narrow the version range -- older installs
62
+ still need it.
@@ -0,0 +1,59 @@
1
+ ---
2
+ type: Lesson
3
+ title: The number shown in the history panel is not a dataset id
4
+ description: Users say "dataset 28", which is the hid; the API wants the encoded id, and run_tool reports the mismatch as a misleading missing-parameter error.
5
+ tags: [hid, encoded-id, history, galaxy-api]
6
+ status: stable
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources:
10
+ - { id: "loom#348" }
11
+ - { id: "loom#375" }
12
+
13
+ kind: pitfall
14
+ stage: [data-acquisition, tool-parameterization]
15
+ trigger:
16
+ signatures: ["Invalid id length, must be multiple of 16", "Required parameter(s) kwd not provided"]
17
+ tools: []
18
+ mcp_tools: [galaxy_get_dataset_details, galaxy_run_tool]
19
+ formats: []
20
+ hosts: []
21
+ extensions: []
22
+ step_keywords: ["dataset number", "hid", "dataset id"]
23
+ cues: "A short numeric identifier taken from what the user said is being passed where the API wants an encoded id."
24
+ applies_to: { versions: "any", tested: "galaxy-mcp get_dataset_details, run_tool with cat1" }
25
+ evidence:
26
+ symptom: verified
27
+ cause: verified
28
+ outcome: validated
29
+ method: "reproduced; resolving the hid to the encoded id fixed it"
30
+ graduated_to: ["galaxy-skills galaxy-mcp-reference gotchas note"]
31
+ upstream: []
32
+ supersedes: []
33
+ ---
34
+
35
+ ## Symptom
36
+
37
+ An id-length error, or -- from run_tool -- a misleading required-parameter error that says nothing
38
+ about ids.
39
+
40
+ ## Cause
41
+
42
+ Users say "dataset 28"; that is the `hid`. The API wants the encoded `id`.
43
+
44
+ ## Check first
45
+
46
+ Is the id being passed short and numeric?
47
+
48
+ ## Intervention
49
+
50
+ List the history contents and resolve the hid to an id. Confirm the name matches what the user
51
+ meant.
52
+
53
+ ## Validate
54
+
55
+ The call succeeds and the returned dataset's name and hid are the intended ones.
56
+
57
+ ## Does NOT apply when
58
+
59
+ The id is already a 16-hex-multiple string -- then the missing-parameter error has another cause.
@@ -0,0 +1,60 @@
1
+ ---
2
+ type: Lesson
3
+ title: 'Workflow input values, scalars included, go in `inputs`; `params` only overrides tool steps'
4
+ description: A validation error pointing into parameters means the value is in the wrong slot, not under the wrong key, and retrying key forms is the trap that follows.
5
+ tags: [workflows, invoke, inputs, galaxy-api]
6
+ status: stable
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources:
10
+ - { id: "loom#392" }
11
+
12
+ kind: pitfall
13
+ stage: [tool-parameterization]
14
+ trigger:
15
+ signatures: ["Input should be a valid dictionary"]
16
+ tools: []
17
+ mcp_tools: [galaxy_invoke_workflow]
18
+ formats: []
19
+ hosts: []
20
+ extensions: []
21
+ step_keywords: ["invoke", "workflow", "inputs", "params", "input template"]
22
+ cues: "A workflow invocation is being retried with different key forms for the same value."
23
+ applies_to: { versions: "unknown", tested: "galaxy-mcp invoke_workflow against a multi-sample IWC workflow" }
24
+ evidence:
25
+ symptom: verified
26
+ cause: hypothesized
27
+ outcome: validated
28
+ method: "the same values succeeded first try when moved to inputs per the input template"
29
+ graduated_to: ["galaxy-mcp get_workflow_input_template plus invoke_workflow preflight"]
30
+ upstream: ["galaxy-mcp#55"]
31
+ supersedes: []
32
+ ---
33
+
34
+ ## Symptom
35
+
36
+ Invocation rejected with a validation error pointing into `parameters`. Observed: a model retried
37
+ two dozen times varying the key -- label, step index, uuid -- while the real problem was the slot.
38
+
39
+ ## Cause
40
+
41
+ Inferred, not checked against Galaxy source: every workflow input -- datasets, collections and
42
+ scalar parameter inputs alike -- belongs in `inputs`. `params` overrides tool parameters on
43
+ non-input steps and its values are dicts.
44
+
45
+ ## Check first
46
+
47
+ Was the workflow input template fetched? Does the failing payload put a scalar under `params`?
48
+
49
+ ## Intervention
50
+
51
+ Fetch the input template and fill it in as returned. Do not retry with a different key form; if the
52
+ second attempt fails the same way, stop and re-read the template.
53
+
54
+ ## Validate
55
+
56
+ The invocation is accepted and its recorded inputs match what was intended.
57
+
58
+ ## Does NOT apply when
59
+
60
+ You really are overriding a tool step's parameter -- then `params` with a dict value is right.
@@ -0,0 +1,63 @@
1
+ ---
2
+ type: Lesson
3
+ title: Repeat-group tool params written with underscores are accepted but silently mis-applied
4
+ description: Galaxy's flat parameter form addresses repeat members with a pipe; an underscore key is ignored rather than rejected, so the repeat falls back to defaults and the job still reports ok.
5
+ tags: [repeat-params, tool-parameters, silent-failure, galaxy-api]
6
+ status: stable
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources:
10
+ - { id: "loom#285" }
11
+ - { id: "loom#295" }
12
+
13
+ kind: pitfall
14
+ stage: [tool-parameterization, result-interpretation]
15
+ trigger:
16
+ signatures: []
17
+ tools: [datamash_ops]
18
+ mcp_tools: [galaxy_run_tool]
19
+ formats: []
20
+ hosts: []
21
+ extensions: []
22
+ step_keywords: ["repeat", "operations", "aggregate", "group by"]
23
+ cues: "Tool inputs contain keys shaped like name underscore number underscore field."
24
+ applies_to: { versions: "unknown", tested: "Datamash via galaxy-mcp run_tool" }
25
+ evidence:
26
+ symptom: verified
27
+ cause: hypothesized
28
+ outcome: unvalidated
29
+ method: "a wrong aggregate was observed; the pipe-form keys produced the expected one"
30
+ graduated_to: ["loom docs repeat-parameter note", "galaxy-mcp tool input template"]
31
+ upstream: ["galaxy-mcp#52"]
32
+ supersedes: []
33
+ ---
34
+
35
+ ## Symptom
36
+
37
+ A tool with a repeat block runs to `ok`, but the result reflects default or wrong repeat values --
38
+ a different operation or column than requested. No error anywhere.
39
+
40
+ ## Cause
41
+
42
+ Hypothesized: Galaxy's flat parameter form addresses repeat members as `block_0|field`. A key like
43
+ `block_0_field` is not rejected; it is ignored, and the repeat falls back to defaults.
44
+
45
+ ## Check first
46
+
47
+ Look at the inputs actually submitted. Any repeat member addressed with an underscore instead of a
48
+ pipe? Compare the job's recorded parameters with what was intended.
49
+
50
+ ## Intervention
51
+
52
+ Use the pipe form, for example `operations_0|op_name`, preferably taken verbatim from the tool's
53
+ input template rather than constructed by hand.
54
+
55
+ ## Validate
56
+
57
+ Read back the job's parameters and confirm the repeat values are the requested ones. Spot-check one
58
+ output value by hand.
59
+
60
+ ## Does NOT apply when
61
+
62
+ The tool errored at submit -- that is a different problem. Conditionals use the same pipe
63
+ addressing but fail differently.
@@ -0,0 +1,61 @@
1
+ ---
2
+ type: Lesson
3
+ title: A successful run_tool response means queued, not finished
4
+ description: Single-tool submission returns at queue time and there is no invocation object to poll, so nothing prompts the second look before the result is reported.
5
+ tags: [job-states, polling, async, galaxy-api]
6
+ status: stable
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources:
10
+ - { id: "loom#210" }
11
+ - { id: "loom#281" }
12
+ - { id: "loom#293" }
13
+
14
+ kind: expectation
15
+ stage: [job-execution]
16
+ trigger:
17
+ signatures: []
18
+ tools: []
19
+ mcp_tools: [galaxy_run_tool, galaxy_run_user_tool]
20
+ formats: []
21
+ hosts: []
22
+ extensions: []
23
+ step_keywords: ["run tool", "submit", "job", "complete", "done"]
24
+ cues: "About to report a tool run as done."
25
+ applies_to: { versions: "any", tested: "galaxy-mcp" }
26
+ evidence:
27
+ symptom: verified
28
+ cause: verified
29
+ outcome: validated
30
+ method: "the job was later found in an error state after the agent had reported success"
31
+ graduated_to: ["loom async job poller", "loom job-status hint"]
32
+ upstream: []
33
+ supersedes: []
34
+ ---
35
+
36
+ ## Symptom
37
+
38
+ The agent reports an analysis step complete; the job is still running or has since errored.
39
+
40
+ ## Cause
41
+
42
+ Single-tool submission returns at queue time. Unlike a workflow invocation there is no invocation
43
+ object to poll, so nothing prompts a second look.
44
+
45
+ ## Check first
46
+
47
+ Has the job reached a terminal state? `ok` is success; `error`, `failed` and `deleted` are not;
48
+ `paused` and `waiting` are not terminal.
49
+
50
+ ## Intervention
51
+
52
+ Poll the job to a terminal state before building on its outputs or reporting it.
53
+
54
+ ## Validate
55
+
56
+ Terminal `ok`, and the expected outputs exist and are non-empty.
57
+
58
+ ## Does NOT apply when
59
+
60
+ Never. Caveat: reaching the job via an output dataset does not work for jobs with no outputs,
61
+ collection-only outputs, or map-over runs where one call makes many jobs.
@@ -0,0 +1,62 @@
1
+ ---
2
+ type: Lesson
3
+ title: A tool's built-in reference option is useless on a server that has no indexes for it
4
+ description: The cached-reference branch of a tool offers nothing when the server's data table is empty, and through a workflow the invocation validates and every sample fails minutes later.
5
+ tags: [reference-genome, data-tables, server-dependent, star]
6
+ status: draft
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources:
10
+ - { id: "loom#198" }
11
+ - { id: "galaxy-mcp#62" }
12
+
13
+ kind: choice
14
+ stage: [tool-parameterization]
15
+ trigger:
16
+ signatures: ["requires a value, but no legal values defined"]
17
+ tools: [rna_starsolo, rna_star]
18
+ mcp_tools: []
19
+ formats: []
20
+ hosts: []
21
+ extensions: [".fasta", ".fa", ".gtf"]
22
+ step_keywords: ["reference", "genome", "index", "built-in", "cached", "genomedir"]
23
+ cues: "The tool offers a choice between a cached or built-in reference and one from the history."
24
+ applies_to: { versions: "any; depends on the server's data tables", tested: "STARsolo on a server with no STAR indexes" }
25
+ evidence:
26
+ symptom: verified
27
+ cause: verified
28
+ outcome: unvalidated
29
+ method: "the 400 at submit was quoted, and the server was confirmed to have zero indexes for the tool"
30
+ graduated_to: []
31
+ upstream: ["galaxy-mcp#62"]
32
+ supersedes: []
33
+ ---
34
+
35
+ ## Symptom
36
+
37
+ `Parameter 'genomeDir': requires a value, but no legal values defined` at submit. Through a
38
+ workflow it is worse: the invocation validates, and the failure shows up minutes later as a bare
39
+ tool error on every sample.
40
+
41
+ ## Cause
42
+
43
+ The use-a-built-in-index branch of the tool was selected, and this server's data table for that
44
+ tool is empty.
45
+
46
+ ## Check first
47
+
48
+ Does the select parameter for the built-in reference have any options on this server?
49
+
50
+ ## Intervention
51
+
52
+ Switch to the history-reference branch and supply a FASTA, and an annotation where the tool needs
53
+ one, or run on a server that has the index.
54
+
55
+ ## Validate
56
+
57
+ The job reaches `ok`, and the mapping rate is plausible for the organism -- a wrong reference also
58
+ "works".
59
+
60
+ ## Does NOT apply when
61
+
62
+ The select has options and the chosen value is not among them -- that is a wrong-value problem.
package/lessons/log.md ADDED
@@ -0,0 +1,42 @@
1
+ # Lesson log
2
+
3
+ OKF keeps a `log.md` beside the content as the corpus's audit trail. One entry
4
+ per change to what the corpus _says_, newest last. A reformat, a script change
5
+ or a snapshot rebuild is not an entry; a lesson added, retired, re-scoped or
6
+ re-verified is.
7
+
8
+ ## 2026-09-30 -- schema v1, thirteen seed lessons
9
+
10
+ By: human:loom-maintainers
11
+
12
+ Opened the corpus with the thirteen seed lessons written on 2026-09-17, ported
13
+ from the draft v0 schema to v1. The port renamed `editorial` to `status`, moved
14
+ `evidence.provenance` into OKF `sources`, split the single v0 `cues` list into a
15
+ prose `cues` string plus the machine-matchable `trigger` sub-fields
16
+ (`mcp_tools`, `hosts`, `extensions`, `step_keywords`), dropped the `schema`, `id`
17
+ and `revision` fields (the path is the id), and added `description`, `kind`,
18
+ `generated` and `stale_after`. All thirteen carry `stale_after: 2027-03-31`.
19
+
20
+ Added, `status: draft`:
21
+
22
+ - `stats/na-coerced-to-zero-in-filters`
23
+ - `stats/de-contrast-direction-and-sample-labels`
24
+ - `reproduction/input-population-mismatch`
25
+ - `reproduction/methods-text-vs-executed-parameters`
26
+ - `data/downloaded-file-is-not-what-its-extension-says`
27
+ - `galaxy-tools/reference-index-not-on-server`
28
+
29
+ Added, `status: stable` with `graduated_to` filled, so they are kept for the
30
+ record and never surfaced:
31
+
32
+ - `galaxy-api/403-history-is-a-hard-stop`
33
+ - `galaxy-api/collection-into-single-dataset-input`
34
+ - `galaxy-api/connectedvalue-in-command-line`
35
+ - `galaxy-api/hid-is-not-an-id`
36
+ - `galaxy-api/invoke-workflow-inputs-not-params`
37
+ - `galaxy-api/repeat-param-pipe-keys`
38
+ - `galaxy-api/run-tool-returns-on-submit`
39
+
40
+ Two further seeds were written in September and are deliberately not here: both
41
+ describe a case nobody has a real instance of yet, and a lesson without an
42
+ observed instance is a guess.
@@ -0,0 +1,59 @@
1
+ ---
2
+ type: Lesson
3
+ title: A faithful rerun can still be wrong when a normalizing step was fed a pre-filtered subset
4
+ description: A statistic normalized over its input is wrong if the input was hand-picked, and the rerun reproduces the error exactly, so provenance alone will never catch it.
5
+ tags: [reproduction, normalization, denominator, audit]
6
+ status: draft
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources: []
10
+
11
+ kind: reproduction
12
+ stage: [data-acquisition, tool-parameterization, result-interpretation]
13
+ trigger:
14
+ signatures: []
15
+ tools: []
16
+ mcp_tools: []
17
+ formats: []
18
+ hosts: []
19
+ extensions: []
20
+ step_keywords: ["reproduce", "reproducing", "reproduction", "posterior", "fdr", "enrichment", "percentile", "rank", "normalize", "credible set"]
21
+ cues: "Reproducing a published analysis where a step computes a normalized quantity -- posterior, FDR, enrichment, rank, percentile."
22
+ applies_to: { versions: "n/a", tested: "one audited reproduction of a fine-mapping analysis" }
23
+ evidence:
24
+ symptom: verified
25
+ cause: verified
26
+ outcome: unvalidated
27
+ method: "traced by reading the job's actual inputs; the denominator differed from the full set"
28
+ graduated_to: []
29
+ upstream: []
30
+ supersedes: []
31
+ ---
32
+
33
+ ## Symptom
34
+
35
+ Results are close to the paper's but not equal: a set has a few members more or fewer, and every
36
+ downstream value drifts by a few percent in the same direction.
37
+
38
+ ## Cause
39
+
40
+ A statistic normalized over its input, here posterior probabilities, was computed over a
41
+ hand-picked subset. The tool ran correctly. Rerunning reproduces the error, so provenance alone
42
+ will not catch it.
43
+
44
+ ## Check first
45
+
46
+ For every normalizing step: how many records went in, and how many does the method assume? Compare
47
+ against the paper's stated N.
48
+
49
+ ## Intervention
50
+
51
+ Feed the step the full population; filter afterwards.
52
+
53
+ ## Validate
54
+
55
+ Input count matches the method's stated population, and the set membership matches the paper.
56
+
57
+ ## Does NOT apply when
58
+
59
+ The step's output for one record does not depend on the others.
@@ -0,0 +1,62 @@
1
+ ---
2
+ type: Lesson
3
+ title: When a rerun cannot find what the paper reports, compare the Methods parameters to the executed ones
4
+ description: A missing peak or row, or a uniform few-percent drift with ranks intact, is usually a window, threshold, top-N or version difference rather than a failed reproduction.
5
+ tags: [reproduction, parameters, versions, methods]
6
+ status: draft
7
+ generated: { by: "human:loom-maintainers", at: "2026-09-30" }
8
+ stale_after: "2027-03-31"
9
+ sources: []
10
+
11
+ kind: reproduction
12
+ stage: [metadata-reconciliation, result-interpretation]
13
+ trigger:
14
+ signatures: []
15
+ tools: []
16
+ mcp_tools: []
17
+ formats: []
18
+ hosts: []
19
+ extensions: []
20
+ step_keywords: ["reproduce", "reproducing", "reproduction", "methods", "paper", "missing", "not found", "threshold", "window", "top-n", "version"]
21
+ cues: "Reproducing a published analysis where a reported feature, row or peak is absent from the rerun."
22
+ applies_to: { versions: "n/a", tested: "one audited reproduction" }
23
+ evidence:
24
+ symptom: verified
25
+ cause: verified
26
+ outcome: unvalidated
27
+ method: "each discrepancy traced to a specific parameter or version difference"
28
+ graduated_to: []
29
+ upstream: []
30
+ supersedes: []
31
+ ---
32
+
33
+ ## Symptom
34
+
35
+ A table row, peak or feature from the paper is not in the rerun's output at all; or scores are
36
+ systematically a few percent off with ranks preserved.
37
+
38
+ ## Cause
39
+
40
+ Four observed varieties: a window or range parameter narrower than the Methods describe, so the
41
+ feature lies outside what was scanned; a summary step's top-N or threshold dropping it; a tool
42
+ revision changing output columns; a model or tool version change shifting values uniformly.
43
+
44
+ ## Check first
45
+
46
+ Tabulate Methods-stated versus executed values for windows, thresholds, top-N limits and versions.
47
+ Is the missing item outside a range or below a cutoff? Is the drift uniform with ranks intact?
48
+
49
+ ## Intervention
50
+
51
+ Rerun with the Methods' parameters if they differ. If versions differ and cannot be matched, report
52
+ the drift as version drift, with its size, rather than as a failed reproduction.
53
+
54
+ ## Validate
55
+
56
+ The missing item appears under the Methods' parameters, or its absence is explained by a named
57
+ parameter. Say which.
58
+
59
+ ## Does NOT apply when
60
+
61
+ Parameters and versions match and the result still differs -- that is a real discrepancy; report
62
+ it.