@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.
- package/CHANGELOG.md +123 -0
- package/LICENSE +21 -0
- package/README.md +760 -5
- package/bin/legacy-mcp-config.js +363 -0
- package/bin/orbit.js +810 -0
- package/bin/pi-extension-path.d.ts +4 -0
- package/bin/pi-extension-path.js +44 -0
- package/bin/provider-auth.d.ts +22 -0
- package/bin/provider-auth.js +77 -0
- package/bin/thinking-pref.js +38 -0
- package/bin/update-check.d.ts +15 -0
- package/bin/update-check.js +137 -0
- package/extensions/cli-update/index.ts +32 -0
- package/extensions/orbit/activity-hooks.ts +141 -0
- package/extensions/orbit/activity.ts +116 -0
- package/extensions/orbit/agent-dir.ts +11 -0
- package/extensions/orbit/auto-resume.ts +352 -0
- package/extensions/orbit/config.ts +3 -0
- package/extensions/orbit/confusables.ts +1 -0
- package/extensions/orbit/context.ts +957 -0
- package/extensions/orbit/dashboard-commands.ts +191 -0
- package/extensions/orbit/dashboard-store.ts +473 -0
- package/extensions/orbit/dashboard-tools.ts +1185 -0
- package/extensions/orbit/empty-completion.ts +99 -0
- package/extensions/orbit/evidence-gate.ts +1276 -0
- package/extensions/orbit/evidence-override-command.ts +294 -0
- package/extensions/orbit/exec-guard/bash-risk.ts +1408 -0
- package/extensions/orbit/exec-guard/gate.ts +181 -0
- package/extensions/orbit/exec-guard/guardian-config.ts +54 -0
- package/extensions/orbit/exec-guard/index.ts +1 -0
- package/extensions/orbit/exec-guard/model-tier.ts +36 -0
- package/extensions/orbit/exec-guard/path-jail.ts +54 -0
- package/extensions/orbit/exec-guard/policy.ts +342 -0
- package/extensions/orbit/exec-guard/runtime-state.ts +15 -0
- package/extensions/orbit/exec-guard/sensitive-read.ts +525 -0
- package/extensions/orbit/exec-guard/types.ts +42 -0
- package/extensions/orbit/execution-commands.ts +134 -0
- package/extensions/orbit/feedback-command.ts +81 -0
- package/extensions/orbit/feedback.ts +96 -0
- package/extensions/orbit/galaxy-api.test.ts +122 -0
- package/extensions/orbit/galaxy-api.ts +606 -0
- package/extensions/orbit/galaxy-artifact-link-guidance.ts +5 -0
- package/extensions/orbit/galaxy-destructive-gate.ts +113 -0
- package/extensions/orbit/galaxy-enrich.ts +1108 -0
- package/extensions/orbit/galaxy-failure.ts +101 -0
- package/extensions/orbit/galaxy-fixture.ts +126 -0
- package/extensions/orbit/galaxy-history-guard.ts +233 -0
- package/extensions/orbit/galaxy-job-block.ts +347 -0
- package/extensions/orbit/galaxy-job-ops.ts +288 -0
- package/extensions/orbit/galaxy-live-source.ts +929 -0
- package/extensions/orbit/galaxy-markdown-adapter.ts +248 -0
- package/extensions/orbit/galaxy-op-policy.ts +332 -0
- package/extensions/orbit/galaxy-ops-tools.ts +326 -0
- package/extensions/orbit/galaxy-output-store.ts +80 -0
- package/extensions/orbit/galaxy-output.ts +346 -0
- package/extensions/orbit/galaxy-page-binding.ts +222 -0
- package/extensions/orbit/galaxy-page-markdown-guidance.ts +15 -0
- package/extensions/orbit/galaxy-page-ops.ts +159 -0
- package/extensions/orbit/galaxy-page-sync.test.ts +417 -0
- package/extensions/orbit/galaxy-page-sync.ts +318 -0
- package/extensions/orbit/galaxy-pages-api.ts +203 -0
- package/extensions/orbit/galaxy-pages-sync.ts +409 -0
- package/extensions/orbit/galaxy-poll-guard.ts +189 -0
- package/extensions/orbit/galaxy-poller.ts +706 -0
- package/extensions/orbit/galaxy-provenance.ts +623 -0
- package/extensions/orbit/galaxy-reconcile.ts +956 -0
- package/extensions/orbit/galaxy-recovery.ts +176 -0
- package/extensions/orbit/galaxy-repeat-guard.ts +55 -0
- package/extensions/orbit/galaxy-submission-capture.ts +707 -0
- package/extensions/orbit/galaxy-submission.ts +502 -0
- package/extensions/orbit/galaxy-tool-source.ts +78 -0
- package/extensions/orbit/galaxy-tool-wrap.ts +234 -0
- package/extensions/orbit/galaxy-udt-block.ts +127 -0
- package/extensions/orbit/galaxy-upload-tus.ts +334 -0
- package/extensions/orbit/galaxy-upload.ts +300 -0
- package/extensions/orbit/galaxy-version-capture.ts +65 -0
- package/extensions/orbit/git.ts +173 -0
- package/extensions/orbit/harness-block-fields.ts +597 -0
- package/extensions/orbit/index.ts +593 -0
- package/extensions/orbit/init-gate.ts +284 -0
- package/extensions/orbit/instructions-command.ts +136 -0
- package/extensions/orbit/invocation-failure-hint.ts +57 -0
- package/extensions/orbit/iwc-plan-check.ts +94 -0
- package/extensions/orbit/lesson-command.ts +303 -0
- package/extensions/orbit/lesson-hint.ts +245 -0
- package/extensions/orbit/lesson-nudge.ts +106 -0
- package/extensions/orbit/lessons/compose.ts +177 -0
- package/extensions/orbit/lessons/counters.ts +120 -0
- package/extensions/orbit/lessons/enabled.ts +116 -0
- package/extensions/orbit/lessons/matcher.ts +346 -0
- package/extensions/orbit/lessons/paths.ts +286 -0
- package/extensions/orbit/lessons/pi-event-contract.ts +105 -0
- package/extensions/orbit/lessons/propose-replay.ts +103 -0
- package/extensions/orbit/lessons/propose-tool.ts +222 -0
- package/extensions/orbit/lessons/propose.ts +502 -0
- package/extensions/orbit/lessons/replay.ts +89 -0
- package/extensions/orbit/lessons/reproduction-index.ts +83 -0
- package/extensions/orbit/lessons/search-tool.ts +99 -0
- package/extensions/orbit/lessons/search.ts +136 -0
- package/extensions/orbit/lessons/store.ts +415 -0
- package/extensions/orbit/lessons/text.ts +36 -0
- package/extensions/orbit/lessons/types.ts +69 -0
- package/extensions/orbit/lessons/user-dir.ts +24 -0
- package/extensions/orbit/lessons/user-lesson.ts +88 -0
- package/extensions/orbit/lessons/wrapper.ts +61 -0
- package/extensions/orbit/lessons-command.ts +147 -0
- package/extensions/orbit/local-exec.ts +39 -0
- package/extensions/orbit/mcp-output.ts +179 -0
- package/extensions/orbit/mcp-servers.test.ts +24 -0
- package/extensions/orbit/mcp-servers.ts +25 -0
- package/extensions/orbit/model-script.ts +351 -0
- package/extensions/orbit/notebook-anchors.ts +342 -0
- package/extensions/orbit/notebook-writer.ts +863 -0
- package/extensions/orbit/observation-allowlists.ts +1109 -0
- package/extensions/orbit/observation-replay.ts +148 -0
- package/extensions/orbit/observation-triggers.ts +563 -0
- package/extensions/orbit/observation-ui.ts +175 -0
- package/extensions/orbit/observations-command.ts +421 -0
- package/extensions/orbit/observations-config.ts +200 -0
- package/extensions/orbit/observations.ts +1381 -0
- package/extensions/orbit/profiles.ts +270 -0
- package/extensions/orbit/progress-updates.ts +95 -0
- package/extensions/orbit/proposal-commands.ts +882 -0
- package/extensions/orbit/provenance-fs-file.ts +59 -0
- package/extensions/orbit/provenance-fs.ts +32 -0
- package/extensions/orbit/provenance-memory-fs.ts +59 -0
- package/extensions/orbit/record-store-file.ts +177 -0
- package/extensions/orbit/record-store-page.ts +77 -0
- package/extensions/orbit/record-store-seam.ts +47 -0
- package/extensions/orbit/record-store.ts +149 -0
- package/extensions/orbit/registry-carrier.ts +107 -0
- package/extensions/orbit/registry-eligibility.ts +95 -0
- package/extensions/orbit/registry-evaluation.ts +403 -0
- package/extensions/orbit/registry-evaluator.ts +519 -0
- package/extensions/orbit/registry-import.ts +91 -0
- package/extensions/orbit/registry-lock.ts +221 -0
- package/extensions/orbit/registry-memory-fs.ts +42 -0
- package/extensions/orbit/registry-page-carrier.ts +103 -0
- package/extensions/orbit/registry-proposal.ts +1348 -0
- package/extensions/orbit/registry-runtime.ts +234 -0
- package/extensions/orbit/registry-schema.ts +735 -0
- package/extensions/orbit/registry-submitter.ts +59 -0
- package/extensions/orbit/registry-templates.ts +346 -0
- package/extensions/orbit/registry.ts +476 -0
- package/extensions/orbit/sandbox/index.ts +120 -0
- package/extensions/orbit/sandbox/sandbox-bash.ts +93 -0
- package/extensions/orbit/sandbox/sandbox-config.ts +87 -0
- package/extensions/orbit/sandbox/sandbox-init-message.ts +28 -0
- package/extensions/orbit/secret-redaction.ts +247 -0
- package/extensions/orbit/session-index/cwd.ts +18 -0
- package/extensions/orbit/session-index/db.ts +56 -0
- package/extensions/orbit/session-index/indexer.ts +154 -0
- package/extensions/orbit/session-index/is-enabled.ts +17 -0
- package/extensions/orbit/session-index/parse.ts +254 -0
- package/extensions/orbit/session-index/query.ts +209 -0
- package/extensions/orbit/session-index/schema.ts +72 -0
- package/extensions/orbit/session-index/tools.ts +152 -0
- package/extensions/orbit/session-lifecycle.ts +321 -0
- package/extensions/orbit/skill-triggers.ts +159 -0
- package/extensions/orbit/skills-command.ts +48 -0
- package/extensions/orbit/skills-discovery.ts +435 -0
- package/extensions/orbit/skills.ts +84 -0
- package/extensions/orbit/sra-import-gate.ts +77 -0
- package/extensions/orbit/state.ts +265 -0
- package/extensions/orbit/submission-replay.ts +147 -0
- package/extensions/orbit/sync-command.ts +157 -0
- package/extensions/orbit/teams/critic-parser.ts +93 -0
- package/extensions/orbit/teams/dispatcher.ts +210 -0
- package/extensions/orbit/teams/is-enabled.ts +22 -0
- package/extensions/orbit/teams/tool.ts +187 -0
- package/extensions/orbit/teams/types.ts +57 -0
- package/extensions/orbit/teams/validate.ts +42 -0
- package/extensions/orbit/tester-id-command.ts +133 -0
- package/extensions/orbit/tools-sync.ts +279 -0
- package/extensions/orbit/tools.ts +1300 -0
- package/extensions/orbit/types.ts +41 -0
- package/extensions/orbit/ui-bridge.ts +55 -0
- package/extensions/orbit/ulid.ts +60 -0
- package/extensions/orbit/user-instructions.ts +388 -0
- package/extensions/orbit/vendor/skills/_catalog.json +68 -0
- package/extensions/orbit/vendor/skills/_manifest.json +1106 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/SKILL.md +112 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_provenance.json +218 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_required_tools.json +33 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/add.json +50 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-extract.json +51 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-next-step.json +42 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-validate.json +140 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/list.json +32 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/galaxy-tool-job-failure-reference.md +137 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-tool-summary.schema.json +175 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/SKILL.md +82 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_provenance.json +133 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/cli/draft-validate.json +140 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/galaxy-workflow-draft-format.md +135 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/SKILL.md +84 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_provenance.json +166 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_verify.json +29 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/SKILL.md +127 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_provenance.json +198 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/cli/convert.json +123 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/galaxy-data-flow-draft-contract.md +129 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/SKILL.md +73 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_provenance.json +160 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.md +43 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.yml +1250 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-tool-job-failure-reference.md +137 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/nextflow-operators-to-galaxy-collection-recipes.md +98 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/SKILL.md +174 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_provenance.json +130 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_required_tools.json +18 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-revisions.json +48 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-search.json +95 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-versions.json +39 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/notes/component-tool-shed-search.md +230 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/schemas/galaxy-tool-discovery.schema.json +231 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/SKILL.md +93 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_provenance.json +201 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/planemo.md +44 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/validate-tests.json +40 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/SKILL.md +81 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_provenance.json +93 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/SKILL.md +81 -0
- package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/_assembly.json +23 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/SKILL.md +79 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_provenance.json +125 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/planemo.md +44 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/validate-tests.json +40 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/skills/LICENSE +21 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/README.md +39 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/SKILL.md +892 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/api-patterns.md +927 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/apply-rules.md +1482 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/test-patterns.md +996 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/tools.md +609 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-data-libraries/SKILL.md +170 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/README.md +162 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/SKILL.md +99 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/README.md +119 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/tool-checking.md +419 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/workflow-testing.md +617 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/galaxy-integration.md +614 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/SKILL.md +144 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/average_col3.ipynb +68 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/extract_sample_metadata.ipynb +190 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/variant_annotation.ipynb +816 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/vcp_variant_map.ipynb +443 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/README.md +165 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/galaxy_tool_checker.py +521 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/SKILL.md +128 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/gotchas.md +135 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/history-access.md +132 -0
- package/extensions/orbit/vendor/skills/skills/reproduciblify/SKILL.md +146 -0
- package/extensions/orbit/vendor/skills/skills/reproduciblify/references/directives.yml +496 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/SKILL.md +245 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/01-minimal-echo.yml +27 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/02-single-data-in-out.yml +27 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/03-multiple-data-js.yml +28 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/04-select-integer-boolean.yml +41 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/05-resource-requirements.yml +25 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/06-biocontainer-tool.yml +38 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/07-inline-python-script.yml +56 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/08-configfile-script.yml +74 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/common-mistakes.md +76 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/schema-reference.md +155 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/templating.md +196 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/scripts/validate.py +109 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/README.md +71 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/SKILL.md +190 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/histology-staining.md +145 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/tissue-microarray-analysis.md +176 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/references/directives.md +415 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/SKILL.md +98 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_provenance.json +93 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/convert.json +123 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/foundry.md +25 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/validate.json +142 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/SKILL.md +74 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_provenance.json +71 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/cli/validate.json +142 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor-skills.ts +283 -0
- package/extensions/orbit/workspace-state-dir.ts +46 -0
- package/extensions/orbit-handoff/index.ts +73 -0
- package/extensions/orbit-handoff/orbit-launcher.ts +142 -0
- package/extensions/whats-new/index.ts +98 -0
- package/lessons/LICENSE +17 -0
- package/lessons/README.md +117 -0
- package/lessons/SCHEMA.md +187 -0
- package/lessons/build-snapshot.mjs +311 -0
- package/lessons/data/downloaded-file-is-not-what-its-extension-says.md +61 -0
- package/lessons/galaxy-api/403-history-is-a-hard-stop.md +57 -0
- package/lessons/galaxy-api/collection-into-single-dataset-input.md +61 -0
- package/lessons/galaxy-api/connectedvalue-in-command-line.md +62 -0
- package/lessons/galaxy-api/hid-is-not-an-id.md +59 -0
- package/lessons/galaxy-api/invoke-workflow-inputs-not-params.md +60 -0
- package/lessons/galaxy-api/repeat-param-pipe-keys.md +63 -0
- package/lessons/galaxy-api/run-tool-returns-on-submit.md +61 -0
- package/lessons/galaxy-tools/reference-index-not-on-server.md +62 -0
- package/lessons/log.md +42 -0
- package/lessons/reproduction/input-population-mismatch.md +59 -0
- package/lessons/reproduction/methods-text-vs-executed-parameters.md +62 -0
- package/lessons/snapshot.json +1004 -0
- package/lessons/stats/de-contrast-direction-and-sample-labels.md +63 -0
- package/lessons/stats/na-coerced-to-zero-in-filters.md +59 -0
- package/lessons/validate.mjs +1219 -0
- package/package.json +103 -5
- package/shared/agent-prompt.d.ts +8 -0
- package/shared/agent-prompt.js +15 -0
- package/shared/approval-prompt.d.ts +4 -0
- package/shared/approval-prompt.js +61 -0
- package/shared/brain-env.d.ts +14 -0
- package/shared/brain-env.js +108 -0
- package/shared/brain-exit.d.ts +20 -0
- package/shared/brain-exit.js +149 -0
- package/shared/capability-profile.d.ts +16 -0
- package/shared/capability-profile.js +75 -0
- package/shared/config-source.d.ts +13 -0
- package/shared/config-source.js +17 -0
- package/shared/confusables.d.ts +3 -0
- package/shared/confusables.js +93 -0
- package/shared/custom-provider.d.ts +45 -0
- package/shared/custom-provider.js +169 -0
- package/shared/dashboard-contract.d.ts +123 -0
- package/shared/dashboard-contract.js +560 -0
- package/shared/dashboard-layout-store.d.ts +44 -0
- package/shared/dashboard-layout-store.js +281 -0
- package/shared/feedback-contract.d.ts +61 -0
- package/shared/feedback-contract.js +146 -0
- package/shared/galaxy-artifact-links.d.ts +30 -0
- package/shared/galaxy-artifact-links.js +166 -0
- package/shared/galaxy-credentials.d.ts +26 -0
- package/shared/galaxy-credentials.js +71 -0
- package/shared/galaxy-destructive.d.ts +21 -0
- package/shared/galaxy-destructive.js +269 -0
- package/shared/galaxy-guidance.d.ts +2 -0
- package/shared/galaxy-guidance.js +53 -0
- package/shared/galaxy-live-contract.d.ts +92 -0
- package/shared/galaxy-live-contract.js +180 -0
- package/shared/galaxy-page-cells.d.ts +2 -0
- package/shared/galaxy-page-cells.js +22 -0
- package/shared/galaxy-tool-family.d.ts +5 -0
- package/shared/galaxy-tool-family.js +27 -0
- package/shared/galaxy-url.d.ts +1 -0
- package/shared/galaxy-url.js +48 -0
- package/shared/gtn.d.ts +31 -0
- package/shared/gtn.js +253 -0
- package/shared/handled-prompt.d.ts +3 -0
- package/shared/handled-prompt.js +26 -0
- package/shared/known-provider.d.ts +11 -0
- package/shared/known-provider.js +89 -0
- package/shared/lesson-hint-marker.d.ts +7 -0
- package/shared/lesson-hint-marker.js +32 -0
- package/shared/lesson-rules.d.ts +150 -0
- package/shared/lesson-rules.js +203 -0
- package/shared/malformed-object-ids.d.ts +1 -0
- package/shared/malformed-object-ids.js +37 -0
- package/shared/markdown-sections.d.ts +10 -0
- package/shared/markdown-sections.js +118 -0
- package/shared/notebook-fences.d.ts +12 -0
- package/shared/notebook-fences.js +53 -0
- package/shared/observation-contract.d.ts +91 -0
- package/shared/observation-contract.js +544 -0
- package/shared/orbit-config.d.ts +226 -0
- package/shared/orbit-config.js +189 -0
- package/shared/orbit-env.d.ts +13 -0
- package/shared/orbit-env.js +124 -0
- package/shared/orbit-shell-contract.d.ts +74 -0
- package/shared/orbit-shell-contract.js +30 -0
- package/shared/page-content-hash.d.ts +1 -0
- package/shared/page-content-hash.js +13 -0
- package/shared/pi-default-model.d.ts +7 -0
- package/shared/pi-default-model.js +41 -0
- package/shared/prompt-blocks.d.ts +87 -0
- package/shared/prompt-blocks.js +898 -0
- package/shared/provider-auth-caps.d.ts +22 -0
- package/shared/provider-auth-caps.js +57 -0
- package/shared/random.d.ts +2 -0
- package/shared/random.js +15 -0
- package/shared/record-excerpt.d.ts +4 -0
- package/shared/record-excerpt.js +16 -0
- package/shared/redirect-guard.d.ts +36 -0
- package/shared/redirect-guard.js +235 -0
- package/shared/skills-pin.d.ts +8 -0
- package/shared/skills-pin.js +9 -0
- package/shared/skills-router.d.ts +17 -0
- package/shared/skills-router.js +63 -0
- package/shared/sra-import.d.ts +34 -0
- package/shared/sra-import.js +206 -0
- package/shared/state-dir.d.ts +21 -0
- package/shared/state-dir.js +240 -0
- package/shared/team-dispatch-contract.d.ts +28 -0
- package/shared/team-dispatch-contract.js +1 -0
- package/shared/truncate-middle.d.ts +11 -0
- package/shared/truncate-middle.js +68 -0
- package/shared/version-compare.d.ts +10 -0
- package/shared/version-compare.js +74 -0
- package/shared/whats-new.d.ts +31 -0
- package/shared/whats-new.js +83 -0
- package/shared/wsl.d.ts +10 -0
- package/shared/wsl.js +24 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: compare-against-iwc-exemplar
|
|
3
|
+
description: "Find nearest IWC exemplar(s) and surface a structural diff against the upstream Galaxy design briefs to guide template authoring."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# compare-against-iwc-exemplar
|
|
7
|
+
|
|
8
|
+
Follow the procedure below and use the artifact/reference sections as the runtime contract.
|
|
9
|
+
|
|
10
|
+
## When To Use
|
|
11
|
+
|
|
12
|
+
- Find nearest IWC exemplar(s) and surface a structural diff against the upstream Galaxy design briefs to guide template authoring.
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
- Read artifact `nextflow-galaxy-interface`. Produced by `nextflow-summary-to-galaxy-interface`. Galaxy interface brief from nextflow-summary-to-galaxy-interface when running the NEXTFLOW → GALAXY pipeline.
|
|
17
|
+
- Read artifact `nextflow-galaxy-data-flow`. Produced by `nextflow-summary-to-galaxy-data-flow`. Galaxy data-flow brief from nextflow-summary-to-galaxy-data-flow when running the NEXTFLOW → GALAXY pipeline.
|
|
18
|
+
- Read artifact `cwl-galaxy-interface`. Produced by `cwl-summary-to-galaxy-interface`. Galaxy interface brief from cwl-summary-to-galaxy-interface when running the CWL → GALAXY pipeline.
|
|
19
|
+
- Read artifact `cwl-galaxy-data-flow`. Produced by `cwl-summary-to-galaxy-data-flow`. Galaxy data-flow brief from cwl-summary-to-galaxy-data-flow when running the CWL → GALAXY pipeline.
|
|
20
|
+
- Read artifact `freeform-galaxy-interface`. Produced by `freeform-summary-to-galaxy-interface`. Galaxy interface brief from freeform-summary-to-galaxy-interface when running the PAPER → GALAXY or INTERVIEW → GALAXY pipelines.
|
|
21
|
+
- Read artifact `freeform-galaxy-data-flow`. Produced by `freeform-summary-to-galaxy-data-flow`. Galaxy data-flow brief from freeform-summary-to-galaxy-data-flow when running the PAPER → GALAXY or INTERVIEW → GALAXY pipelines.
|
|
22
|
+
- Read artifact `open-requirements-ledger`. Produced by `advance-galaxy-draft-step`, `apply-galaxy-workflow-changeset`, `compare-against-iwc-exemplar`, `cwl-summary-to-galaxy-data-flow`, `cwl-summary-to-galaxy-interface`, `cwl-summary-to-galaxy-template`, `freeform-summary-to-galaxy-data-flow`, `freeform-summary-to-galaxy-interface`, `freeform-summary-to-galaxy-template`, `implement-galaxy-tool-step`, `interview-to-galaxy-workflow-changeset`, `mature-galaxy-workflow-for-iwc`, `nextflow-summary-to-galaxy-data-flow`, `nextflow-summary-to-galaxy-interface`, `nextflow-summary-to-galaxy-reference-data`, `nextflow-summary-to-galaxy-template`, `repair-galaxy-draft-topology`. Carried obligations ledger open-requirements-ledger: the run's open, resolved, and surrendered entries with their provenance. Absent on the first Mold of a run; start an empty one.
|
|
23
|
+
|
|
24
|
+
## Outputs
|
|
25
|
+
|
|
26
|
+
- Write artifact `iwc-comparison-notes` as `iwc-comparison-notes.md`. Format: `markdown`. Structural diff against the nearest IWC exemplar(s); guidance for the downstream *-summary-to-galaxy-template Mold before per-step authoring. Carries an inline, bounded gxformat2 excerpt of the nearest exemplar's relevant subgraph under a labeled section, cross-referencing the iwc-exemplar-gxformat2 sibling file.
|
|
27
|
+
- Write artifact `iwc-exemplar-gxformat2` as `iwc-exemplar.gxwf.yml`. Format: `yaml`. Cleaned gxformat2 conversion (via convert --to format2 --compact) of the nearest IWC exemplar's relevant subgraph — the concrete idiom the downstream template draft pattern-matches against. Bounded to the relevant subgraph, not the whole workflow. Absent when no nearest exemplar is found.
|
|
28
|
+
- Write artifact `open-requirements-ledger` as `open-requirements.ledger.yml`. Format: `yaml`. Carried obligations ledger re-emitted by this step: entries it appended or closed updated, every other entry passed through with its provenance intact.
|
|
29
|
+
|
|
30
|
+
## Required Tools
|
|
31
|
+
|
|
32
|
+
- **`gxwf`** (gxwf). `npm install -g '@galaxy-tool-util/cli@^1.8.1'`.
|
|
33
|
+
Ephemeral run: `npx --yes --package @galaxy-tool-util/cli@1.8.1 gxwf`.
|
|
34
|
+
Check: `gxwf --help | grep -q draft-validate`.
|
|
35
|
+
Docs: https://github.com/jmchilton/galaxy-tool-util-ts/tree/main/packages/cli
|
|
36
|
+
|
|
37
|
+
## Load Upfront
|
|
38
|
+
|
|
39
|
+
- `references/notes/open-requirements-ledger.md`: Research note copied verbatim into the bundle. Close the open entries a corpus exemplar answers — a collection idiom, a label convention, a structural shape the corpus already settles — and append the ones no exemplar covers, so a structural divergence with no corpus precedent reaches the template tier as a recorded obligation.
|
|
40
|
+
|
|
41
|
+
## Load On Demand
|
|
42
|
+
|
|
43
|
+
- `references/cli/convert.json`: CLI command reference packaged as a sidecar. Normalize fetched IWC workflows into a consistent representation for structural comparison, and surface the nearest exemplar forward as a cleaned gxformat2 view (sibling file plus inline excerpt) for the downstream template Mold. Use when: after fetching a candidate IWC workflow file and before structural comparison; and again on the nearest exemplar after ranking to emit the iwc-exemplar-gxformat2 view.
|
|
44
|
+
- `references/notes/galaxy-data-flow-draft-contract.md`: Research note copied verbatim into the bundle. Compare against the design briefs' abstract intent without turning exemplar comparison into tool resolution. Use when: deciding whether to compare abstract data-flow shape, interface structure, or speculative implementation details.
|
|
45
|
+
- `references/notes/iwc-shortcuts-anti-patterns.md`: Research note copied verbatim into the bundle. Flag proposed shortcuts that are accepted in IWC versus shortcuts that should be treated as smells. Use when: the design briefs propose tests, assertions, labels, or expected-output comparisons.
|
|
46
|
+
- `references/notes/iwc-test-data-conventions.md`: Research note copied verbatim into the bundle. Compare proposed test-data placement and fixture shapes against IWC conventions. Use when: the design briefs hint at workflow tests or input fixture organization.
|
|
47
|
+
|
|
48
|
+
## Validation
|
|
49
|
+
|
|
50
|
+
- None declared.
|
|
51
|
+
|
|
52
|
+
## Procedure
|
|
53
|
+
|
|
54
|
+
Find the nearest IWC exemplar workflow(s) for the upstream Galaxy design briefs and emit a structural diff that guides the downstream `*-summary-to-galaxy-template` skill before per-step authoring effort is spent.
|
|
55
|
+
|
|
56
|
+
This skill is the corpus-first check in Galaxy-targeting pipelines. It runs after the source-specific interface and data-flow briefs and before the gxformat2 template skill. Discovery, ranking, and comparison are one action — there is no separate retrieval skill.
|
|
57
|
+
|
|
58
|
+
### Procedure
|
|
59
|
+
|
|
60
|
+
- Clone or pull and merge the IWC corpus (`https://github.com/galaxyproject/iwc`) to `~/.foundry/iwc`.
|
|
61
|
+
- Normalize candidate workflows with convert as needed for structural comparison.
|
|
62
|
+
- Find the closest workflow and rank it.
|
|
63
|
+
- Surface the nearest exemplar forward (skip when the result is "no nearest exemplar"): see *Nearest exemplar (gxformat2) view*.
|
|
64
|
+
|
|
65
|
+
### Feature Hierarchy
|
|
66
|
+
|
|
67
|
+
1. Domain or analysis intent.
|
|
68
|
+
2. Input collection topology.
|
|
69
|
+
3. Primary tool families.
|
|
70
|
+
4. DAG motifs and structural recipes.
|
|
71
|
+
5. Output types and report shape.
|
|
72
|
+
6. Test style and fixture topology.
|
|
73
|
+
|
|
74
|
+
Domain comes first so a structurally similar workflow in the wrong science area does not become a misleading exemplar. Topology comes second because collection shape is one of the most important Galaxy-specific design decisions. Test style is useful after a workflow match, but should not drive initial retrieval. Briefs with no domain signal should not produce a high-confidence exemplar even if they share generic tools.
|
|
75
|
+
|
|
76
|
+
### Confidence Levels
|
|
77
|
+
|
|
78
|
+
| Level | Meaning |
|
|
79
|
+
|---|---|
|
|
80
|
+
| High | Same domain/subdomain, same input topology, same primary tool families, same major DAG motifs, and matching test fixture shape. |
|
|
81
|
+
| Medium | Same domain and topology, but partial tool-family or output match. Useful exemplar, not canonical. |
|
|
82
|
+
| Low | Cross-domain structural match only. Useful for a pattern comparison, not a nearest domain exemplar. |
|
|
83
|
+
| No nearest exemplar | Candidate lacks domain or topology alignment, or only shares generic tools such as MultiQC. |
|
|
84
|
+
|
|
85
|
+
### Routing findings forward
|
|
86
|
+
|
|
87
|
+
Each finding should name the authoring surface most likely to own the fix:
|
|
88
|
+
|
|
89
|
+
- Template/data-flow issue: missing node, wrong collection shape, wrong branch, placeholder too vague — surfaced for the downstream `*-summary-to-galaxy-template` skill to apply.
|
|
90
|
+
- Pattern issue: recurring Galaxy idiom should become or update a pattern page.
|
|
91
|
+
- Tool-step issue: exact wrapper or parameterization will be handled later in the per-step loop.
|
|
92
|
+
- Test issue: defer to `*-test-to-galaxy-test-plan` or `implement-galaxy-workflow-test`.
|
|
93
|
+
|
|
94
|
+
Do not block downstream authoring on low-confidence exemplar mismatches. Report them as review guidance for the template skill and the user.
|
|
95
|
+
|
|
96
|
+
### Nearest exemplar (gxformat2) view
|
|
97
|
+
|
|
98
|
+
The schema tells the template skill what is *legal* gxformat2; it does not show *idiom*. A real, domain-adjacent gxformat2 workflow is high-value signal for constructing the draft — input/collection shapes, map-over wiring, output promotion, post-job actions. Agents have seen far more legacy `.ga` JSON than gxformat2 YAML in training, so surface the converted view rather than leaving it as prose.
|
|
99
|
+
|
|
100
|
+
Once the nearest exemplar is chosen (High or Medium confidence):
|
|
101
|
+
|
|
102
|
+
- Convert it with convert (`--to format2 --compact`).
|
|
103
|
+
- Write the cleaned gxformat2 of the **relevant subgraph** to the `iwc-exemplar.gxwf.yml` sibling artifact — the slice that matches the briefs' structure, not the whole workflow.
|
|
104
|
+
- Inline a bounded excerpt (~10–40 lines) of that subgraph under a labeled section in `iwc-comparison-notes.md`, and cite the abstract IWC workflow ID (e.g. `transcriptomics/rnaseq-pe/rnaseq-pe`) plus the step labels it covers. Cross-reference the sibling file for the fuller view.
|
|
105
|
+
|
|
106
|
+
Keep it size-bounded — a whole large workflow is noise; the relevant subgraph is the signal. When the result is "no nearest exemplar," emit neither the sibling file nor the excerpt. A Low-confidence cross-domain match may surface a short excerpt for pattern comparison but should be labeled as such, not as a domain exemplar.
|
|
107
|
+
|
|
108
|
+
### Non-goals
|
|
109
|
+
|
|
110
|
+
- **No tool discovery.** Do not replace discover-shed-tool.
|
|
111
|
+
- **No automatic rewrite.** This skill emits structural diff guidance; the harness or user decides which changes to apply.
|
|
112
|
+
- **No forced nearest.** A no-match result is valid when IWC lacks a close exemplar.
|
|
113
|
+
|
|
114
|
+
## Feedback Mode
|
|
115
|
+
|
|
116
|
+
- Feedback mode is off unless the caller explicitly enables `--feedback` or supplies a feedback-ledger path.
|
|
117
|
+
- When enabled, read `_feedback.md` before doing the work and use its registered `foundry-feedback.ledger.yml` protocol.
|
|
118
|
+
- Preserve harness-owned run and phase state. Append only concrete observations about a canonical Foundry source asset or a related project that this run showed to be at fault; do not put ordinary workflow requirements in this ledger.
|
|
119
|
+
- Before reporting completion, make one explicit pass over the work you just did. Do not ask yourself whether anything was unclear — recall what happened: where you guessed at something the instructions should have settled, needed information this bundle does not carry, hit an instruction that contradicted another or contradicted the artifacts in front of you, used a packaged reference that did not cover your case, or did something the procedure never describes.
|
|
120
|
+
- Append an entry for each such event that clears the protocol's bar. If none do, append nothing and report `no feedback` explicitly. Silence and a clean pass are not the same thing, and nothing downstream can tell them apart unless you say which one it was.
|
|
121
|
+
- Pass the same ledger path to any subagent used for this work, and merge updates serially so one writer cannot overwrite another.
|
|
122
|
+
|
|
123
|
+
## Runtime Notes
|
|
124
|
+
|
|
125
|
+
- Do not read Foundry source files at runtime; use only files packaged in this skill bundle and user-supplied artifacts.
|
|
126
|
+
- Preserve declared artifact filenames unless the user or harness supplies explicit paths.
|
|
127
|
+
- Carry unresolved assumptions into the output artifact instead of silently inventing missing source evidence.
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
{
|
|
2
|
+
"provenance_schema_version": 4,
|
|
3
|
+
"cast_target": "claude",
|
|
4
|
+
"mold": {
|
|
5
|
+
"name": "compare-against-iwc-exemplar",
|
|
6
|
+
"path": "content/molds/compare-against-iwc-exemplar/index.md",
|
|
7
|
+
"revision": 10,
|
|
8
|
+
"content_hash": "5b198e9b87cf554cb01aceaa14a5aaa3ab24c6a35afc35dab7d09ce154cc3a77",
|
|
9
|
+
"commit": "63a3f9cf9c97a637fe1628d298e524f35709e289"
|
|
10
|
+
},
|
|
11
|
+
"cast_at": "2026-09-13T20:58:26.504Z",
|
|
12
|
+
"cast_date": "2026-05-07",
|
|
13
|
+
"cast_revision": 3,
|
|
14
|
+
"cast_history": [
|
|
15
|
+
{
|
|
16
|
+
"rev": 1,
|
|
17
|
+
"date": "2026-05-06",
|
|
18
|
+
"note": "cast requested nextflow-to-galaxy chain"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"rev": 2,
|
|
22
|
+
"date": "2026-05-06",
|
|
23
|
+
"note": "deterministic skill render"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"rev": 3,
|
|
27
|
+
"date": "2026-05-07",
|
|
28
|
+
"note": "runtime-facing deterministic skill render"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"refs": [
|
|
32
|
+
{
|
|
33
|
+
"kind": "cli-command",
|
|
34
|
+
"mode": "sidecar",
|
|
35
|
+
"ref": "[[convert]]",
|
|
36
|
+
"src": "content/cli/gxwf/convert.md",
|
|
37
|
+
"dst": "references/cli/convert.json",
|
|
38
|
+
"used_at": "runtime",
|
|
39
|
+
"load": "on-demand",
|
|
40
|
+
"evidence": "corpus-observed",
|
|
41
|
+
"purpose": "Normalize fetched IWC workflows into a consistent representation for structural comparison, and surface the nearest exemplar forward as a cleaned gxformat2 view (sibling file plus inline excerpt) for the downstream template Mold.",
|
|
42
|
+
"trigger": "After fetching a candidate IWC workflow file and before structural comparison; and again on the nearest exemplar after ranking to emit the iwc-exemplar-gxformat2 view.",
|
|
43
|
+
"src_hash": "1bb19d20b4a39b1708d8f5346a0294616cdb9df83ba5255c4a90d97030d13b83",
|
|
44
|
+
"dst_hash": "1cdf49f10f77039af6efc5b82fe79720bb18e50d1f57d653670697f7262c7640",
|
|
45
|
+
"source": "deterministic"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"kind": "research",
|
|
49
|
+
"mode": "verbatim",
|
|
50
|
+
"ref": "[[galaxy-data-flow-draft-contract]]",
|
|
51
|
+
"src": "content/research/galaxy-data-flow-draft-contract/index.md",
|
|
52
|
+
"dst": "references/notes/galaxy-data-flow-draft-contract.md",
|
|
53
|
+
"used_at": "runtime",
|
|
54
|
+
"load": "on-demand",
|
|
55
|
+
"evidence": "hypothesis",
|
|
56
|
+
"purpose": "Compare against the design briefs' abstract intent without turning exemplar comparison into tool resolution.",
|
|
57
|
+
"trigger": "When deciding whether to compare abstract data-flow shape, interface structure, or speculative implementation details.",
|
|
58
|
+
"verification": "Promote after exemplar comparison flags structural issues without resolving concrete tool metadata.",
|
|
59
|
+
"src_hash": "f8f75f5a4ff750bff5f682847466492dd8a9910b95b5078373567f84ce16fb54",
|
|
60
|
+
"dst_hash": "f8f75f5a4ff750bff5f682847466492dd8a9910b95b5078373567f84ce16fb54",
|
|
61
|
+
"source": "deterministic"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"kind": "research",
|
|
65
|
+
"mode": "verbatim",
|
|
66
|
+
"ref": "[[iwc-shortcuts-anti-patterns]]",
|
|
67
|
+
"src": "content/research/iwc-shortcuts-anti-patterns/index.md",
|
|
68
|
+
"dst": "references/notes/iwc-shortcuts-anti-patterns.md",
|
|
69
|
+
"used_at": "runtime",
|
|
70
|
+
"load": "on-demand",
|
|
71
|
+
"evidence": "corpus-observed",
|
|
72
|
+
"purpose": "Flag proposed shortcuts that are accepted in IWC versus shortcuts that should be treated as smells.",
|
|
73
|
+
"trigger": "When the design briefs propose tests, assertions, labels, or expected-output comparisons.",
|
|
74
|
+
"src_hash": "14cc27c6a3e01588b06151535afdcb671cadd8e10dc960a248934e9133ebc8ab",
|
|
75
|
+
"dst_hash": "14cc27c6a3e01588b06151535afdcb671cadd8e10dc960a248934e9133ebc8ab",
|
|
76
|
+
"source": "deterministic"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"kind": "research",
|
|
80
|
+
"mode": "verbatim",
|
|
81
|
+
"ref": "[[iwc-test-data-conventions]]",
|
|
82
|
+
"src": "content/research/iwc-test-data-conventions/index.md",
|
|
83
|
+
"dst": "references/notes/iwc-test-data-conventions.md",
|
|
84
|
+
"used_at": "runtime",
|
|
85
|
+
"load": "on-demand",
|
|
86
|
+
"evidence": "corpus-observed",
|
|
87
|
+
"purpose": "Compare proposed test-data placement and fixture shapes against IWC conventions.",
|
|
88
|
+
"trigger": "When the design briefs hint at workflow tests or input fixture organization.",
|
|
89
|
+
"src_hash": "1921e939703444604440e0768caca6e6b834a73dcfa964f450fa081143e008d3",
|
|
90
|
+
"dst_hash": "1921e939703444604440e0768caca6e6b834a73dcfa964f450fa081143e008d3",
|
|
91
|
+
"source": "deterministic"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"kind": "research",
|
|
95
|
+
"mode": "verbatim",
|
|
96
|
+
"ref": "[[open-requirements-ledger]]",
|
|
97
|
+
"src": "content/research/open-requirements-ledger/index.md",
|
|
98
|
+
"dst": "references/notes/open-requirements-ledger.md",
|
|
99
|
+
"used_at": "runtime",
|
|
100
|
+
"load": "upfront",
|
|
101
|
+
"evidence": "hypothesis",
|
|
102
|
+
"purpose": "Close the open entries a corpus exemplar answers — a collection idiom, a label convention, a structural shape the corpus already settles — and append the ones no exemplar covers, so a structural divergence with no corpus precedent reaches the template tier as a recorded obligation.",
|
|
103
|
+
"verification": "Promote after a worked run shows entries this Mold appends or resolves are consumed downstream without re-derivation.",
|
|
104
|
+
"src_hash": "e1d5e3a4d6d650af5b2efc4703fe6f79bb4d0cc12e6cd14e841c5b91df122ea0",
|
|
105
|
+
"dst_hash": "e1d5e3a4d6d650af5b2efc4703fe6f79bb4d0cc12e6cd14e841c5b91df122ea0",
|
|
106
|
+
"source": "deterministic"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"artifacts": {
|
|
110
|
+
"produces": [
|
|
111
|
+
{
|
|
112
|
+
"id": "iwc-comparison-notes",
|
|
113
|
+
"kind": "markdown",
|
|
114
|
+
"default_filename": "iwc-comparison-notes.md",
|
|
115
|
+
"description": "Structural diff against the nearest IWC exemplar(s); guidance for the downstream *-summary-to-galaxy-template Mold before per-step authoring. Carries an inline, bounded gxformat2 excerpt of the nearest exemplar's relevant subgraph under a labeled section, cross-referencing the iwc-exemplar-gxformat2 sibling file."
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "iwc-exemplar-gxformat2",
|
|
119
|
+
"kind": "yaml",
|
|
120
|
+
"default_filename": "iwc-exemplar.gxwf.yml",
|
|
121
|
+
"description": "Cleaned gxformat2 conversion (via [[convert]] --to format2 --compact) of the nearest IWC exemplar's relevant subgraph — the concrete idiom the downstream template draft pattern-matches against. Bounded to the relevant subgraph, not the whole workflow. Absent when no nearest exemplar is found."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "open-requirements-ledger",
|
|
125
|
+
"kind": "yaml",
|
|
126
|
+
"default_filename": "open-requirements.ledger.yml",
|
|
127
|
+
"description": "Carried obligations ledger re-emitted by this step: entries it appended or closed updated, every other entry passed through with its provenance intact."
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"consumes": [
|
|
131
|
+
{
|
|
132
|
+
"id": "nextflow-galaxy-interface",
|
|
133
|
+
"description": "Galaxy interface brief from [[nextflow-summary-to-galaxy-interface]] when running the NEXTFLOW → GALAXY pipeline.",
|
|
134
|
+
"producers": [
|
|
135
|
+
"nextflow-summary-to-galaxy-interface"
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": "nextflow-galaxy-data-flow",
|
|
140
|
+
"description": "Galaxy data-flow brief from [[nextflow-summary-to-galaxy-data-flow]] when running the NEXTFLOW → GALAXY pipeline.",
|
|
141
|
+
"producers": [
|
|
142
|
+
"nextflow-summary-to-galaxy-data-flow"
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"id": "cwl-galaxy-interface",
|
|
147
|
+
"description": "Galaxy interface brief from [[cwl-summary-to-galaxy-interface]] when running the CWL → GALAXY pipeline.",
|
|
148
|
+
"producers": [
|
|
149
|
+
"cwl-summary-to-galaxy-interface"
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"id": "cwl-galaxy-data-flow",
|
|
154
|
+
"description": "Galaxy data-flow brief from [[cwl-summary-to-galaxy-data-flow]] when running the CWL → GALAXY pipeline.",
|
|
155
|
+
"producers": [
|
|
156
|
+
"cwl-summary-to-galaxy-data-flow"
|
|
157
|
+
]
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": "freeform-galaxy-interface",
|
|
161
|
+
"description": "Galaxy interface brief from [[freeform-summary-to-galaxy-interface]] when running the PAPER → GALAXY or INTERVIEW → GALAXY pipelines.",
|
|
162
|
+
"producers": [
|
|
163
|
+
"freeform-summary-to-galaxy-interface"
|
|
164
|
+
]
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": "freeform-galaxy-data-flow",
|
|
168
|
+
"description": "Galaxy data-flow brief from [[freeform-summary-to-galaxy-data-flow]] when running the PAPER → GALAXY or INTERVIEW → GALAXY pipelines.",
|
|
169
|
+
"producers": [
|
|
170
|
+
"freeform-summary-to-galaxy-data-flow"
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"id": "open-requirements-ledger",
|
|
175
|
+
"description": "Carried obligations ledger [[open-requirements-ledger]]: the run's open, resolved, and surrendered entries with their provenance. Absent on the first Mold of a run; start an empty one.",
|
|
176
|
+
"producers": [
|
|
177
|
+
"advance-galaxy-draft-step",
|
|
178
|
+
"apply-galaxy-workflow-changeset",
|
|
179
|
+
"compare-against-iwc-exemplar",
|
|
180
|
+
"cwl-summary-to-galaxy-data-flow",
|
|
181
|
+
"cwl-summary-to-galaxy-interface",
|
|
182
|
+
"cwl-summary-to-galaxy-template",
|
|
183
|
+
"freeform-summary-to-galaxy-data-flow",
|
|
184
|
+
"freeform-summary-to-galaxy-interface",
|
|
185
|
+
"freeform-summary-to-galaxy-template",
|
|
186
|
+
"implement-galaxy-tool-step",
|
|
187
|
+
"interview-to-galaxy-workflow-changeset",
|
|
188
|
+
"mature-galaxy-workflow-for-iwc",
|
|
189
|
+
"nextflow-summary-to-galaxy-data-flow",
|
|
190
|
+
"nextflow-summary-to-galaxy-interface",
|
|
191
|
+
"nextflow-summary-to-galaxy-reference-data",
|
|
192
|
+
"nextflow-summary-to-galaxy-template",
|
|
193
|
+
"repair-galaxy-draft-topology"
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"tool": "gxwf",
|
|
4
|
+
"origin": "npm",
|
|
5
|
+
"package": "@galaxy-tool-util/cli",
|
|
6
|
+
"package_version": "^1.8.1",
|
|
7
|
+
"invoke": "gxwf",
|
|
8
|
+
"invoke_fallback": "npx --yes --package @galaxy-tool-util/cli@1.8.1 gxwf",
|
|
9
|
+
"availability_check": "gxwf --help | grep -q draft-validate",
|
|
10
|
+
"docs_url": "https://github.com/jmchilton/galaxy-tool-util-ts/tree/main/packages/cli",
|
|
11
|
+
"source": "implied",
|
|
12
|
+
"implied_by": [
|
|
13
|
+
"gxwf convert"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/cli/convert.json
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "cli-command",
|
|
3
|
+
"tool": "gxwf",
|
|
4
|
+
"command": "convert",
|
|
5
|
+
"summary": "Convert a Galaxy workflow between native (.ga) and format2 (.gxwf.yml) representations.",
|
|
6
|
+
"source_path": "content/cli/gxwf/convert.md",
|
|
7
|
+
"source_revision": 2,
|
|
8
|
+
"package": "@galaxy-tool-util/cli",
|
|
9
|
+
"description": "Convert between native (.ga) and format2 (.gxwf.yml) formats",
|
|
10
|
+
"synopsis": "gxwf convert [options] <file>",
|
|
11
|
+
"args": [
|
|
12
|
+
{
|
|
13
|
+
"raw": "file",
|
|
14
|
+
"name": "file",
|
|
15
|
+
"required": true,
|
|
16
|
+
"variadic": false,
|
|
17
|
+
"description": "Workflow file (.ga, .gxwf.yml)"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"options": [
|
|
21
|
+
{
|
|
22
|
+
"flags": "--to <format>",
|
|
23
|
+
"name": "to",
|
|
24
|
+
"description": "Target format: native or format2 (infers opposite by default)",
|
|
25
|
+
"takesArgument": true,
|
|
26
|
+
"argumentPlaceholder": "<format>",
|
|
27
|
+
"optionalArgument": false,
|
|
28
|
+
"negatable": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"flags": "--output <file>",
|
|
32
|
+
"name": "output",
|
|
33
|
+
"description": "Write result to file (default: stdout)",
|
|
34
|
+
"takesArgument": true,
|
|
35
|
+
"argumentPlaceholder": "<file>",
|
|
36
|
+
"optionalArgument": false,
|
|
37
|
+
"negatable": false
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"flags": "--compact",
|
|
41
|
+
"name": "compact",
|
|
42
|
+
"description": "Omit position info in format2 output",
|
|
43
|
+
"takesArgument": false,
|
|
44
|
+
"optionalArgument": false,
|
|
45
|
+
"negatable": false
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"flags": "--json",
|
|
49
|
+
"name": "json",
|
|
50
|
+
"description": "Force JSON output",
|
|
51
|
+
"takesArgument": false,
|
|
52
|
+
"optionalArgument": false,
|
|
53
|
+
"negatable": false
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"flags": "--yaml",
|
|
57
|
+
"name": "yaml",
|
|
58
|
+
"description": "Force YAML output",
|
|
59
|
+
"takesArgument": false,
|
|
60
|
+
"optionalArgument": false,
|
|
61
|
+
"negatable": false
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"flags": "--format <fmt>",
|
|
65
|
+
"name": "format",
|
|
66
|
+
"description": "Force source format (auto-detected by default)",
|
|
67
|
+
"takesArgument": true,
|
|
68
|
+
"argumentPlaceholder": "<fmt>",
|
|
69
|
+
"optionalArgument": false,
|
|
70
|
+
"negatable": false
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"flags": "--stateful",
|
|
74
|
+
"name": "stateful",
|
|
75
|
+
"description": "Use cached tool definitions for schema-aware state re-encoding",
|
|
76
|
+
"takesArgument": false,
|
|
77
|
+
"optionalArgument": false,
|
|
78
|
+
"negatable": false
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"flags": "--cache-dir <dir>",
|
|
82
|
+
"name": "cacheDir",
|
|
83
|
+
"description": "Tool cache directory (for --stateful)",
|
|
84
|
+
"takesArgument": true,
|
|
85
|
+
"argumentPlaceholder": "<dir>",
|
|
86
|
+
"optionalArgument": false,
|
|
87
|
+
"negatable": false
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"flags": "--strict",
|
|
91
|
+
"name": "strict",
|
|
92
|
+
"description": "Shorthand for --strict-structure --strict-encoding --strict-state",
|
|
93
|
+
"takesArgument": false,
|
|
94
|
+
"optionalArgument": false,
|
|
95
|
+
"negatable": false
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"flags": "--strict-structure",
|
|
99
|
+
"name": "strictStructure",
|
|
100
|
+
"description": "Reject unknown keys at envelope/step level",
|
|
101
|
+
"takesArgument": false,
|
|
102
|
+
"optionalArgument": false,
|
|
103
|
+
"negatable": false
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"flags": "--strict-encoding",
|
|
107
|
+
"name": "strictEncoding",
|
|
108
|
+
"description": "Reject JSON-string tool_state and format2 field misuse",
|
|
109
|
+
"takesArgument": false,
|
|
110
|
+
"optionalArgument": false,
|
|
111
|
+
"negatable": false
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"flags": "--strict-state",
|
|
115
|
+
"name": "strictState",
|
|
116
|
+
"description": "Require every tool step to validate; no skips allowed",
|
|
117
|
+
"takesArgument": false,
|
|
118
|
+
"optionalArgument": false,
|
|
119
|
+
"negatable": false
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"body": "# `gxwf convert`\n\nConvert a Galaxy workflow between the native `.ga` JSON and the `.gxwf.yml` format2 representation. Use this to normalize fetched IWC workflows into a consistent comparison representation.\n\n## Output\n\nDefault output is the converted workflow on stdout. With `--output`, the result is written to a file. JSON output is selected with `--json` (or `--to native`); YAML output is selected with `--yaml` (or `--to format2`).\n\n## Examples\n\n```bash\ngxwf convert workflow.ga --to format2 --output workflow.gxwf.yml\ngxwf convert workflow.ga --to format2 --compact\ngxwf convert workflow.gxwf.yml --to native --output workflow.ga\n```\n\n## Gotchas\n\n- Default output is stdout; pipe or pass `--output` when persisting.\n- `--compact` drops node position metadata; useful for structural diffs and skeleton generation.\n- `--stateful` requires a populated tool cache (see `galaxy-tool-cache`); without it, tool-state stays as fetched."
|
|
123
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: research
|
|
3
|
+
title: "Galaxy data-flow draft contract"
|
|
4
|
+
tags:
|
|
5
|
+
- target/galaxy
|
|
6
|
+
status: draft
|
|
7
|
+
created: 2026-05-02
|
|
8
|
+
revised: 2026-05-03
|
|
9
|
+
revision: 2
|
|
10
|
+
related_notes:
|
|
11
|
+
- "nextflow-to-galaxy-channel-shape-mapping"
|
|
12
|
+
- "nextflow-operators-to-galaxy-collection-recipes"
|
|
13
|
+
- "galaxy-workflow-draft"
|
|
14
|
+
related_molds:
|
|
15
|
+
- "nextflow-summary-to-galaxy-data-flow"
|
|
16
|
+
- "cwl-summary-to-galaxy-data-flow"
|
|
17
|
+
- "freeform-summary-to-galaxy-data-flow"
|
|
18
|
+
- "nextflow-summary-to-galaxy-template"
|
|
19
|
+
- "cwl-summary-to-galaxy-template"
|
|
20
|
+
- "freeform-summary-to-galaxy-template"
|
|
21
|
+
- "compare-against-iwc-exemplar"
|
|
22
|
+
- "advance-galaxy-draft-step"
|
|
23
|
+
sources:
|
|
24
|
+
- "https://github.com/galaxyproject/foundry/issues/54"
|
|
25
|
+
summary: "Defines the proposed boundary between Galaxy data-flow drafts, gxformat2 templates, and concrete step implementation."
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Galaxy Data-Flow Draft Contract
|
|
29
|
+
|
|
30
|
+
This is an architectural contract, not a schema. Evidence is strongest for Mold and Pipeline boundaries. Proposed fields are speculative until exercised by two or three worked translations.
|
|
31
|
+
|
|
32
|
+
## Boundary
|
|
33
|
+
|
|
34
|
+
The data-flow draft owns a target-shaped abstract DAG for Galaxy. It should not be valid `gxformat2` and should not resolve exact Tool Shed tools.
|
|
35
|
+
|
|
36
|
+
Data-flow draft owns:
|
|
37
|
+
|
|
38
|
+
- Galaxy-facing workflow inputs and outputs.
|
|
39
|
+
- Abstract nodes, edges, branches, collection mapping, collection reduction, and placeholder transformations.
|
|
40
|
+
- Input/output shape decisions such as `File`, `list`, `paired`, `list:paired`, or `list:list`.
|
|
41
|
+
- Conceptual Galaxy idioms: map-over, reduction, Apply Rules, collection cleanup, identifier synchronization, tabular bridge, fan-in / combine (concatenate, merge, or union N sources into one — a distinct node, not a side-effect of a reshape).
|
|
42
|
+
- Abstract unresolved tool needs with input and output shapes.
|
|
43
|
+
- Confidence and rationale on inferred nodes, edges, transforms, and tool needs.
|
|
44
|
+
|
|
45
|
+
The Galaxy template owns:
|
|
46
|
+
|
|
47
|
+
- A `gxformat2` skeleton.
|
|
48
|
+
- Ordered steps, labels, workflow inputs, workflow outputs, and the producer→consumer connection graph.
|
|
49
|
+
- Per-step wrapper resolution to the tier its evidence supports — **evidence-gated, not source-gated** (tiers defined in galaxy-workflow-draft-format): a fully **Resolved** step (concrete `tool_id`, changeset, `state`) when wrapper and parameters are pinned jointly; **Identity-pinned** (`tool_id` only, `_plan_state` kept) when the wrapper is named but not its settings; **Deferred** (`tool_id: TODO`, full `_plan_*`) otherwise.
|
|
50
|
+
- Placeholder collection-operation or Apply Rules steps only when the data-flow draft says they are necessary.
|
|
51
|
+
- `_plan_*` handoff units (intent, evidence, constraints) for every step left short of Resolved.
|
|
52
|
+
|
|
53
|
+
Concrete step implementation owns:
|
|
54
|
+
|
|
55
|
+
- For every step the template left short of **Resolved**: the changeset (`tool_version`, `tool_shed_repository` owner/repository metadata), bound `state` parameters, and `input_connections` — resolving any `tool_id: TODO` and confirming or correcting any `tool_id` the template pinned. Steps the template already Resolved pass through — confirm, do not re-derive.
|
|
56
|
+
- Concrete built-in collection-operation steps and parameters.
|
|
57
|
+
- Validation with `gxwf` and repair after schema/lint failures.
|
|
58
|
+
|
|
59
|
+
## Proposed Body-Level Contract
|
|
60
|
+
|
|
61
|
+
Do not add these as frontmatter fields yet.
|
|
62
|
+
|
|
63
|
+
| Concept | Status | Notes |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| `source_summary_ref` | Speculative | Reference to the source summary consumed by the Mold. |
|
|
66
|
+
| `workflow_inputs` | Speculative | Abstract Galaxy-facing inputs and collection types. |
|
|
67
|
+
| `workflow_outputs` | Speculative | Intended outputs and source-summary provenance. |
|
|
68
|
+
| `nodes` | Speculative | Abstract operations, not concrete Galaxy tools. |
|
|
69
|
+
| `edges` | Speculative | Data dependencies, shape before/after, and source evidence. |
|
|
70
|
+
| `galaxy_idioms` | Speculative | Map-over, reduction, Apply Rules, collection filter, tabular bridge, etc. |
|
|
71
|
+
| `unresolved_tool_needs` | Speculative | Per abstract step needs for `discover-shed-tool` or `author-galaxy-tool-wrapper`. |
|
|
72
|
+
| `placeholder_transformations` | Speculative | Shape/text/table transforms needed for Galaxy semantics but not concretely implemented. |
|
|
73
|
+
| `confidence` | Speculative | Prefer `high`, `medium`, `low` plus rationale. |
|
|
74
|
+
| `handoff_notes` | Speculative | Instructions to template, exemplar comparison, and per-step Molds. |
|
|
75
|
+
| `open_questions` | Speculative | Semantic/tooling issues carried forward. |
|
|
76
|
+
|
|
77
|
+
## Handoff Examples
|
|
78
|
+
|
|
79
|
+
Unresolved tool need:
|
|
80
|
+
|
|
81
|
+
- nextflow-summary-to-galaxy-data-flow emits an abstract node such as `trim FASTQ reads`, input `list:paired fastq`, output `list:paired fastq`, tool need `read trimming`, confidence `medium`.
|
|
82
|
+
- nextflow-summary-to-galaxy-template creates a placeholder step with TODOs and collection-shaped connections.
|
|
83
|
+
- The harness routes through tool discovery or wrapper authoring.
|
|
84
|
+
- implement-galaxy-tool-step fills exact Galaxy tool metadata, parameters, and connections.
|
|
85
|
+
|
|
86
|
+
Collection cleanup after fan-out:
|
|
87
|
+
|
|
88
|
+
- Data-flow records a conceptual cleanup transform after a mapped step.
|
|
89
|
+
- Template materializes a placeholder collection-operation step.
|
|
90
|
+
- Implementation chooses exact built-in tool and parameters.
|
|
91
|
+
|
|
92
|
+
Identifier-derived reshaping:
|
|
93
|
+
|
|
94
|
+
- Data-flow records desired input shape, output shape, and identifier transformation.
|
|
95
|
+
- Template emits an Apply Rules placeholder only if needed.
|
|
96
|
+
- Implementation fills concrete rule JSON after exemplar comparison confirms the shape.
|
|
97
|
+
|
|
98
|
+
IWC exemplar comparison:
|
|
99
|
+
|
|
100
|
+
- Data-flow and template should hand compare-against-iwc-exemplar the abstract topology, placeholder transformations, unresolved tool needs, and confidence notes.
|
|
101
|
+
- Exemplar comparison should flag structural divergence, not resolve tools.
|
|
102
|
+
|
|
103
|
+
## Confidence Guidance
|
|
104
|
+
|
|
105
|
+
- Attach confidence to the smallest useful unit: node, edge, transformation, or tool need.
|
|
106
|
+
- Use qualitative `high`, `medium`, `low` until examples justify a richer schema.
|
|
107
|
+
- Require rationale for low confidence.
|
|
108
|
+
- Do not reuse source-summary `warnings[]` as data-flow confidence.
|
|
109
|
+
- Keep evidence quality distinct from translation confidence. A claim can be corpus-observed but still low-confidence for a specific workflow.
|
|
110
|
+
|
|
111
|
+
## Risks
|
|
112
|
+
|
|
113
|
+
If the data-flow draft is too broad, it duplicates the template Mold, makes premature tool decisions, and leaks harness routing into Mold output.
|
|
114
|
+
|
|
115
|
+
If it is too narrow, the template Mold receives source-summary details without Galaxy-shaped semantics, exemplar comparison has only a surface skeleton to diff, and tool discovery loses input/output shape context.
|
|
116
|
+
|
|
117
|
+
## Evidence
|
|
118
|
+
|
|
119
|
+
- nextflow-to-galaxy-channel-shape-mapping and nextflow-operators-to-galaxy-collection-recipes show why a Galaxy-shaped abstraction is needed between source summary and `gxformat2` template.
|
|
120
|
+
- `content/pipelines/nextflow-to-galaxy.md` places data-flow before template, exemplar comparison, and per-step implementation.
|
|
121
|
+
- `content/molds/summarize-nextflow/index.md` says source summarization should not produce Galaxy data flow.
|
|
122
|
+
- `content/molds/implement-galaxy-tool-step/index.md` owns concrete step implementation.
|
|
123
|
+
|
|
124
|
+
## TODOs
|
|
125
|
+
|
|
126
|
+
- Decide whether to author `galaxy-data-flow-draft.schema.json` now or wait for worked examples.
|
|
127
|
+
- Decide whether confidence should be a single enum or per-axis vector.
|
|
128
|
+
- Decide how much ordering guidance belongs in data-flow versus template.
|
|
129
|
+
- Decide whether built-in collection operations should be abstract placeholders or concrete template steps.
|