@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
package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-validate.json
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "cli-command",
|
|
3
|
+
"tool": "gxwf",
|
|
4
|
+
"command": "draft-validate",
|
|
5
|
+
"summary": "Validate a `class: GalaxyWorkflowDraft` workflow against draft-contract rules; with --concrete, also validate the extracted concrete subset.",
|
|
6
|
+
"source_path": "content/cli/gxwf/draft-validate.md",
|
|
7
|
+
"source_revision": 1,
|
|
8
|
+
"package": "@galaxy-tool-util/cli",
|
|
9
|
+
"description": "Validate a draft Galaxy workflow (class: GalaxyWorkflowDraft)",
|
|
10
|
+
"synopsis": "gxwf draft-validate [options] <file>",
|
|
11
|
+
"args": [
|
|
12
|
+
{
|
|
13
|
+
"raw": "file",
|
|
14
|
+
"name": "file",
|
|
15
|
+
"required": true,
|
|
16
|
+
"variadic": false,
|
|
17
|
+
"description": "Draft workflow file (.gxwf.yml)"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"options": [
|
|
21
|
+
{
|
|
22
|
+
"flags": "--format <fmt>",
|
|
23
|
+
"name": "format",
|
|
24
|
+
"description": "Force format: format2 (native is rejected for drafts)",
|
|
25
|
+
"takesArgument": true,
|
|
26
|
+
"argumentPlaceholder": "<fmt>",
|
|
27
|
+
"optionalArgument": false,
|
|
28
|
+
"negatable": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"flags": "--json",
|
|
32
|
+
"name": "json",
|
|
33
|
+
"description": "Output structured JSON report",
|
|
34
|
+
"takesArgument": false,
|
|
35
|
+
"optionalArgument": false,
|
|
36
|
+
"negatable": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"flags": "--report-html [file]",
|
|
40
|
+
"name": "reportHtml",
|
|
41
|
+
"description": "Write HTML report to file (or stdout if omitted)",
|
|
42
|
+
"takesArgument": true,
|
|
43
|
+
"argumentPlaceholder": "[file]",
|
|
44
|
+
"optionalArgument": true,
|
|
45
|
+
"negatable": false
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"flags": "--report-markdown [file]",
|
|
49
|
+
"name": "reportMarkdown",
|
|
50
|
+
"description": "Write Markdown report to file (or stdout if omitted)",
|
|
51
|
+
"takesArgument": true,
|
|
52
|
+
"argumentPlaceholder": "[file]",
|
|
53
|
+
"optionalArgument": true,
|
|
54
|
+
"negatable": false
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"flags": "--concrete",
|
|
58
|
+
"name": "concrete",
|
|
59
|
+
"description": "Additionally extract the concrete subset and run the regular `gxwf validate` checks on it",
|
|
60
|
+
"takesArgument": false,
|
|
61
|
+
"optionalArgument": false,
|
|
62
|
+
"negatable": false
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"flags": "--cache-dir <dir>",
|
|
66
|
+
"name": "cacheDir",
|
|
67
|
+
"description": "Tool cache directory (for --concrete tool-state validation)",
|
|
68
|
+
"takesArgument": true,
|
|
69
|
+
"argumentPlaceholder": "<dir>",
|
|
70
|
+
"optionalArgument": false,
|
|
71
|
+
"negatable": false
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"flags": "--offline",
|
|
75
|
+
"name": "offline",
|
|
76
|
+
"description": "Do not fetch uncached tools; read only the local cache (uncached tools are skipped)",
|
|
77
|
+
"takesArgument": false,
|
|
78
|
+
"optionalArgument": false,
|
|
79
|
+
"negatable": false
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"flags": "--galaxy-url <url>",
|
|
83
|
+
"name": "galaxyUrl",
|
|
84
|
+
"description": "Galaxy instance to try as a tool source after the ToolShed when fetching uncached tools",
|
|
85
|
+
"takesArgument": true,
|
|
86
|
+
"argumentPlaceholder": "<url>",
|
|
87
|
+
"optionalArgument": false,
|
|
88
|
+
"negatable": false
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"flags": "--no-tool-state",
|
|
92
|
+
"name": "toolState",
|
|
93
|
+
"description": "Skip tool-state validation in the --concrete pass (default: enabled when --concrete is set)",
|
|
94
|
+
"takesArgument": false,
|
|
95
|
+
"optionalArgument": false,
|
|
96
|
+
"negatable": true
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"flags": "--connections",
|
|
100
|
+
"name": "connections",
|
|
101
|
+
"description": "Validate connection-type compatibility on the --concrete subset (collection algebra, map-over)",
|
|
102
|
+
"takesArgument": false,
|
|
103
|
+
"optionalArgument": false,
|
|
104
|
+
"negatable": false
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"flags": "--strict",
|
|
108
|
+
"name": "strict",
|
|
109
|
+
"description": "Shorthand for --strict-structure --strict-encoding --strict-state",
|
|
110
|
+
"takesArgument": false,
|
|
111
|
+
"optionalArgument": false,
|
|
112
|
+
"negatable": false
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"flags": "--strict-structure",
|
|
116
|
+
"name": "strictStructure",
|
|
117
|
+
"description": "Reject unknown keys at envelope/step level",
|
|
118
|
+
"takesArgument": false,
|
|
119
|
+
"optionalArgument": false,
|
|
120
|
+
"negatable": false
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"flags": "--strict-encoding",
|
|
124
|
+
"name": "strictEncoding",
|
|
125
|
+
"description": "Reject JSON-string tool_state and format2 field misuse",
|
|
126
|
+
"takesArgument": false,
|
|
127
|
+
"optionalArgument": false,
|
|
128
|
+
"negatable": false
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"flags": "--strict-state",
|
|
132
|
+
"name": "strictState",
|
|
133
|
+
"description": "Require every tool step to validate; no skips allowed",
|
|
134
|
+
"takesArgument": false,
|
|
135
|
+
"optionalArgument": false,
|
|
136
|
+
"negatable": false
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"body": "# `gxwf draft-validate`\n\nValidate a draft Galaxy workflow against the **draft contract**: sentinel form, dangling edge references, top-level `_plan_*` placement, `_plan_*` on fully-resolved tool steps, and recursive draft subworkflows. Native (.ga) input is rejected — drafts are format2-only.\n\nDistinct from validate, which validates a fully concrete `class: GalaxyWorkflow` and would reject the draft relaxations outright. Use `draft-validate` during the per-step authoring loop; use `validate` at the terminal pass once `promoteFullyConcreteDrafts` has flipped the class.\n\n## Output\n\nDefault output is human-readable: counted buckets for structure / topology / semantic errors and warnings, plus a one-line survey (TODO sentinel count, paths carrying `_plan_*`). `--json` emits a `SingleDraftValidationReport`; `--report-html` and `--report-markdown` write the same data as a self-contained HTML page or templated Markdown. With `--concrete`, the report carries an optional `concrete: ConcreteValidationReport` whose buckets (`structure_errors`, `strict_structure_errors`, `strict_encoding_errors`, `strict_state_errors`, `tool_state`, `connection_report`) are **absent when the corresponding check did not run** — readers should treat absence as \"not run,\" not as \"passed.\"\n\n## Flags\n\n`--concrete` runs the extract+promote pipeline (`extractConcreteSubset` → `stripPlanFields` → `promoteFullyConcreteDrafts`) and applies the full concrete `gxformat2` validation surface to the result. The following pass-through flags only take effect under `--concrete`; passing them without it prints a stderr warning and no-ops:\n\n- `--cache-dir <dir>` — tool cache for tool-state lookups.\n- `--no-tool-state` — skip tool-state validation on the concrete pass. Combined with `--strict-state`, the strict flag warns + no-ops (there's no state to be strict about).\n- `--connections` — run connection validation on the concrete subset.\n- `--strict` — escalate every strict bucket (structure, encoding, state) to error.\n- `--strict-structure` / `--strict-encoding` / `--strict-state` — escalate one bucket only.\n\nDraft structural errors gate the concrete pass entirely — the pipeline would mutate a malformed input, so the concrete section is skipped and only the draft buckets populate.\n\n## Examples\n\n```bash\ngxwf draft-validate workflow.gxwf.yml\ngxwf draft-validate workflow.gxwf.yml --json\ngxwf draft-validate workflow.gxwf.yml --concrete --json\ngxwf draft-validate workflow.gxwf.yml --concrete --strict --cache-dir ~/.cache/gxwf\ngxwf draft-validate workflow.gxwf.yml --report-html report.html\n```\n\n## Exit codes\n\n- `0` — clean draft (no structure / topology / semantic errors; warnings allowed). Under `--concrete`, also requires the concrete pass to be clean.\n- `1` — draft validation errors (topology or semantic). With `--concrete`, also returned when the concrete projection fails — including strict-* failures that `gxwf validate` would have exited `2` on standalone. The asymmetry is deliberate: the draft itself parsed, only its projection failed.\n- `2` — parse failure, native input rejected, structural decode failure (class is not `GalaxyWorkflowDraft`), or a stdout-sink collision between `--json` and `--report-{html,markdown}=-`.\n\n## Gotchas\n\n- The draft validator is **contract-shaped**, not workflow-shaped. It will not catch tool-state errors, parameter-name mismatches, or other concerns that belong to validate on the concretized subset. Use `--concrete` (or run draft-extract | validate manually) when you need both surfaces.\n- A draft with zero implemented steps still runs the `--concrete` pipeline, but the projection is empty — the concrete buckets report `skipped` semantics (absent in the JSON) rather than a green pass. Signal grows as the loop fills steps in; do not interpret early-loop runs as evidence the workflow concretizes correctly.\n- `_plan_*` on a fully-resolved tool step is a `semanticError`, not a warning. Strip planning fields explicitly via draft-extract (or `stripPlanFields`) when a step concretizes; the per-step Mold should never carry them forward.\n- Subworkflow draft roots are validated recursively; diagnostics carry the outer step path.\n- `TODO`, `TODO_x`, `TODO-x` are sentinels; `TODONE` and `TODOLIST` are not.\n- Prefer `--json` whenever a cast skill or harness needs to classify diagnostics."
|
|
140
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "cli-command",
|
|
3
|
+
"tool": "galaxy-tool-cache",
|
|
4
|
+
"command": "list",
|
|
5
|
+
"summary": "Enumerate the tools in a cache directory with their resolved versions; the surface for confirming which stock/shed pin got cached.",
|
|
6
|
+
"source_path": "content/cli/galaxy-tool-cache/list.md",
|
|
7
|
+
"source_revision": 1,
|
|
8
|
+
"package": "@galaxy-tool-util/cli",
|
|
9
|
+
"description": "List cached tools with their resolved versions",
|
|
10
|
+
"synopsis": "galaxy-tool-cache list [options]",
|
|
11
|
+
"args": [],
|
|
12
|
+
"options": [
|
|
13
|
+
{
|
|
14
|
+
"flags": "--json",
|
|
15
|
+
"name": "json",
|
|
16
|
+
"description": "Output as JSON",
|
|
17
|
+
"takesArgument": false,
|
|
18
|
+
"optionalArgument": false,
|
|
19
|
+
"negatable": false
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"flags": "--cache-dir <dir>",
|
|
23
|
+
"name": "cacheDir",
|
|
24
|
+
"description": "Cache directory",
|
|
25
|
+
"takesArgument": true,
|
|
26
|
+
"argumentPlaceholder": "<dir>",
|
|
27
|
+
"optionalArgument": false,
|
|
28
|
+
"negatable": false
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"body": "# `galaxy-tool-cache list`\n\nEnumerate the entries in a `--cache-dir` with their resolved versions, ids, and provenance. Read-only — `list` never fetches; it reports what `add` / `populate-workflow` already cached.\n\nThis is the version-confirmation surface for the cache: after `add` resolves a pin, `list` shows the concrete `tool_version` it stored — including for **stock/built-in** ids, whose version is otherwise hard to confirm while the shed's TRS version-list endpoint is down (see add). Discovery of a not-yet-cached stock version still depends on a populated cache or a known pin; `list` reports an empty array for an empty cache, it does not synthesize the shed's catalogue.\n\n## Output\n\nHuman-readable rows by default; `--json` emits an array of cache entries. Per-entry JSON fields: `cache_key`, `tool_id`, `tool_version`, `source` (`api` for shed-fetched, `local` for a pre-seeded tree), `source_url`, `cached_at`. For a stock tool the `tool_id` carries the shed `readableId` form (e.g. `toolshed.g2.bx.psu.edu/repos/Filter1`) while the bare id still selects it in `summarize` / `schema`.\n\n## Examples\n\n```bash\ngalaxy-tool-cache list --json --cache-dir ~/.cache/gxwf\n# [ { \"tool_id\": \"toolshed.g2.bx.psu.edu/repos/Filter1\", \"tool_version\": \"1.1.1\",\n# \"source\": \"api\", \"source_url\": \".../api/tools/Filter1/versions/1.1.1\", ... } ]\n```\n\n## Gotchas\n\n- `list` only sees the `--cache-dir` it is pointed at. A version absent from the listing means it was never `add`ed to *that* cache — not that the wrapper does not exist.\n- Provenance matters when cross-checking a pin: `source: api` came from the live shed; `source: local` came from a pre-seeded Galaxy tree and is only as current as that tree."
|
|
32
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: research
|
|
3
|
+
title: "Galaxy tool and job failure reference"
|
|
4
|
+
tags:
|
|
5
|
+
- target/galaxy
|
|
6
|
+
status: draft
|
|
7
|
+
created: 2026-05-02
|
|
8
|
+
revised: 2026-05-02
|
|
9
|
+
revision: 1
|
|
10
|
+
related_notes:
|
|
11
|
+
- "galaxy-workflow-invocation-failure-reference"
|
|
12
|
+
- "planemo-workflow-test-architecture"
|
|
13
|
+
- "galaxy-collection-semantics"
|
|
14
|
+
related_molds:
|
|
15
|
+
- "implement-galaxy-tool-step"
|
|
16
|
+
- "debug-galaxy-workflow-output"
|
|
17
|
+
sources:
|
|
18
|
+
- "https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tools/__init__.py"
|
|
19
|
+
- "https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tool_util/parser/xml.py"
|
|
20
|
+
- "https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tool_util/output_checker.py"
|
|
21
|
+
- "https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/jobs"
|
|
22
|
+
- "https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/webapps/galaxy/api/jobs.py"
|
|
23
|
+
summary: "Reference for Galaxy tool stdio rules, job failure detection, job states, and job API failure surfaces."
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Galaxy Tool And Job Failure Reference
|
|
27
|
+
|
|
28
|
+
This is reference material, not a debug recipe. Use it to understand what Galaxy can know about a failed tool job and which API surfaces preserve that evidence.
|
|
29
|
+
|
|
30
|
+
## Model
|
|
31
|
+
|
|
32
|
+
Galaxy tool failure handling is layered:
|
|
33
|
+
|
|
34
|
+
- The tool wrapper defines expected failure semantics through `detect_errors`, `<stdio>`, exit-code checks, regex checks, and command strictness.
|
|
35
|
+
- The job runner executes the command and captures exit code plus tool/job stdout and stderr streams.
|
|
36
|
+
- Galaxy evaluates configured failure rules and records structured `job_messages`.
|
|
37
|
+
- The job reaches a terminal state, output datasets may become `error`, and dependent jobs may pause or fail later.
|
|
38
|
+
- Workflow invocation APIs summarize those jobs, but job APIs preserve the most detailed tool-level evidence.
|
|
39
|
+
|
|
40
|
+
## Tool Wrapper Failure Controls
|
|
41
|
+
|
|
42
|
+
Important wrapper controls:
|
|
43
|
+
|
|
44
|
+
| Control | Meaning |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `detect_errors="default"` | For non-legacy XML tools without explicit `<stdio>`, Galaxy defaults to non-zero exit-code failure detection. |
|
|
47
|
+
| `detect_errors="exit_code"` | Adds fatal checks for non-zero exit codes, plus optional OOM exit-code handling. |
|
|
48
|
+
| `detect_errors="aggressive"` | Adds non-zero exit-code checks plus broad stdout/stderr regexes for OOM and generic error text. |
|
|
49
|
+
| `<stdio><exit_code ... /></stdio>` | Adds explicit exit-code ranges or values with levels such as `fatal`, `warning`, or `fatal_oom`. |
|
|
50
|
+
| `<stdio><regex ... /></stdio>` | Adds case-insensitive stdout/stderr regex checks. |
|
|
51
|
+
| `<command strict="...">` | Controls shell strictness; newer tool profiles default to `set -e` behavior. |
|
|
52
|
+
|
|
53
|
+
Current Galaxy source parses these rules while loading the tool, then stores exit-code and regex rules on the tool object. XML parser behavior lives under `https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tool_util/parser/xml.py`; concrete stdio presets live under `https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tool_util/parser/stdio.py`.
|
|
54
|
+
|
|
55
|
+
## Rule Ordering And Levels
|
|
56
|
+
|
|
57
|
+
Galaxy evaluates explicit and preset rules in a defined order:
|
|
58
|
+
|
|
59
|
+
- Exit-code rules are evaluated before regex rules.
|
|
60
|
+
- Regexes search stdout and/or stderr case-insensitively.
|
|
61
|
+
- A fatal rule stops later checks.
|
|
62
|
+
- Warnings, log messages, and QC messages can produce `job_messages` without failing the job.
|
|
63
|
+
|
|
64
|
+
Useful levels:
|
|
65
|
+
|
|
66
|
+
| Level | Effect |
|
|
67
|
+
|---|---|
|
|
68
|
+
| `log` | Records informational message; does not fail the job. |
|
|
69
|
+
| `qc` | Records QC message; does not fail the job. |
|
|
70
|
+
| `warning` | Records warning; does not fail the job. |
|
|
71
|
+
| `fatal` | Fails the job as a generic tool error. |
|
|
72
|
+
| `fatal_oom` | Fails as out-of-memory; runner behavior can use this for OOM handling/resubmission. |
|
|
73
|
+
|
|
74
|
+
Low-confidence caveat: OOM resubmission behavior is runner/destination configuration dependent. The wrapper and output checker can classify OOM, but retry policy is not solely a wrapper property.
|
|
75
|
+
|
|
76
|
+
## Job And Dataset States
|
|
77
|
+
|
|
78
|
+
Job states relevant to workflow tests include:
|
|
79
|
+
|
|
80
|
+
- In progress or queued: `new`, `queued`, `running`, `waiting`, `upload`, `resubmitted`.
|
|
81
|
+
- Success: `ok`.
|
|
82
|
+
- Failure or terminal problem: `error`, `failed`, `paused`, `stopped`, `deleted`, `skipped` depending context.
|
|
83
|
+
|
|
84
|
+
Dataset states relevant to downstream failures include `ok`, `error`, `paused`, `failed_metadata`, `deferred`, and `discarded`.
|
|
85
|
+
|
|
86
|
+
For workflow debugging, do not collapse job state and dataset state. A job can fail, its outputs can become error datasets, and a downstream workflow step can later fail because it consumes those datasets.
|
|
87
|
+
|
|
88
|
+
## Stream And Message Fields
|
|
89
|
+
|
|
90
|
+
Galaxy distinguishes tool streams from job/runner streams:
|
|
91
|
+
|
|
92
|
+
| Field | Meaning |
|
|
93
|
+
|---|---|
|
|
94
|
+
| `tool_stdout` | stdout from the executed tool command. |
|
|
95
|
+
| `tool_stderr` | stderr from the executed tool command. |
|
|
96
|
+
| `job_stdout` | stdout from job wrapper/runner context. |
|
|
97
|
+
| `job_stderr` | stderr from job wrapper/runner context. |
|
|
98
|
+
| `stdout` | Combined stdout compatibility view. |
|
|
99
|
+
| `stderr` | Combined stderr compatibility view. |
|
|
100
|
+
| `job_messages` | Structured failure/warning messages produced by stdio and output checking. |
|
|
101
|
+
| `exit_code` | Process exit code observed by the runner. |
|
|
102
|
+
|
|
103
|
+
Prefer `job_messages` plus separate streams for reference-quality failure interpretation. Combined `stdout` and `stderr` are useful for humans but lose provenance.
|
|
104
|
+
|
|
105
|
+
## API Surfaces
|
|
106
|
+
|
|
107
|
+
Useful job APIs from Galaxy source under `https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/webapps/galaxy/api/jobs.py`:
|
|
108
|
+
|
|
109
|
+
| API | Use |
|
|
110
|
+
|---|---|
|
|
111
|
+
| `GET /api/jobs` | Filter jobs by state, tool id, workflow id, invocation id, history id, etc. |
|
|
112
|
+
| `GET /api/jobs/{job_id}` | Basic job detail. |
|
|
113
|
+
| `GET /api/jobs/{job_id}?full=true` | Full job detail, including streams and `job_messages`. |
|
|
114
|
+
| `GET /api/jobs/{job_id}/stdout` | Combined stdout as plain text. |
|
|
115
|
+
| `GET /api/jobs/{job_id}/stderr` | Combined stderr as plain text. |
|
|
116
|
+
| `GET /api/jobs/{job_id}/console_output` | Live or stored tool stdout/stderr, useful while a job is running. |
|
|
117
|
+
| `GET /api/jobs/{job_id}/inputs` | Input datasets for the job. |
|
|
118
|
+
| `GET /api/jobs/{job_id}/outputs` | Output datasets and output collections. |
|
|
119
|
+
| `GET /api/jobs/{job_id}/metrics` | Job metrics, if available. |
|
|
120
|
+
| `GET /api/jobs/{job_id}/common_problems` | Known simple problems such as empty or duplicate inputs. |
|
|
121
|
+
|
|
122
|
+
Admin-only or admin-enriched fields can include command line, traceback, destination, runner, handler, external id, and destination parameters. Do not assume a normal workflow-testing API key can retrieve everything.
|
|
123
|
+
|
|
124
|
+
## Durable Reference Use
|
|
125
|
+
|
|
126
|
+
This note should inform generated skills when they need to preserve or inspect tool-level failure evidence:
|
|
127
|
+
|
|
128
|
+
- A concrete workflow step should preserve tool id, version, input labels, output labels, datatype and collection shape so a later job failure can be traced back to the authoring decision.
|
|
129
|
+
- A runtime failure should not be classified from stderr alone if `job_messages`, exit code, and wrapper stdio rules are available.
|
|
130
|
+
- A workflow invocation failure may be caused by an upstream job, but invocation APIs are not a substitute for full job detail.
|
|
131
|
+
|
|
132
|
+
## Low-Confidence Or Version-Sensitive Points
|
|
133
|
+
|
|
134
|
+
- Tool profile defaults changed over time. Prefer current Galaxy source and wrapper profile over old generic rules.
|
|
135
|
+
- Some docs describe failure messages as stream text; current code preserves structured `job_messages` separately.
|
|
136
|
+
- OOM handling depends on job runner and destination configuration.
|
|
137
|
+
- Planemo may print or summarize job detail differently from raw Galaxy APIs; see planemo-workflow-test-architecture.
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: research
|
|
3
|
+
title: "Open-requirements ledger"
|
|
4
|
+
tags:
|
|
5
|
+
- target/galaxy
|
|
6
|
+
status: draft
|
|
7
|
+
created: 2026-06-16
|
|
8
|
+
revised: 2026-08-29
|
|
9
|
+
revision: 3
|
|
10
|
+
related_notes:
|
|
11
|
+
- "galaxy-workflow-draft-format"
|
|
12
|
+
related_molds:
|
|
13
|
+
- "advance-galaxy-draft-step"
|
|
14
|
+
- "repair-galaxy-draft-topology"
|
|
15
|
+
- "implement-galaxy-tool-step"
|
|
16
|
+
summary: "Carried unresolved-requirements artifact the source→Galaxy pipeline discharges or explicitly surrenders, autonomously."
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Open-requirements ledger
|
|
20
|
+
|
|
21
|
+
The `open-requirements-ledger` is a single artifact threaded through the source→Galaxy pipeline that records **obligations the pipeline has taken on but not yet met** — a declared output with no producer, a parameter whose value the source never pinned, a tool with no corpus exemplar — and **source work it decided not to carry**. Each Mold that surfaces one **appends** it; each Mold whose decision closes one **marks it resolved**; the terminal path **surrenders** whatever remains open, explicitly, into the final artifact.
|
|
22
|
+
|
|
23
|
+
## Framing: obligations the pipeline discharges, not questions a human answers
|
|
24
|
+
|
|
25
|
+
This is deliberately *not* an "open questions for the user" list. The pipeline is autonomous — no human-in-the-loop gate is assumed. The ledger's consumers are **Molds and the loop's convergence gate**, with human readout a secondary affordance. An entry is closed by a downstream Mold doing work (wiring a producer, picking a wrapper, settling a value), or — when nothing can close it — surrendered: written into the final draft as a known, labelled gap rather than silently dropped or fabricated around.
|
|
26
|
+
|
|
27
|
+
The distinction matters because a "questions for a human" framing leaks an operator's personal interaction style into a tool meant to run inside anyone's harness. The ledger must behave identically cast into a fresh harness with no ambient configuration; that holds only because every obligation is **materialized in the artifact**, never carried as operator habit.
|
|
28
|
+
|
|
29
|
+
## Entry shape (v1, loose)
|
|
30
|
+
|
|
31
|
+
Like the `_plan_*` family in galaxy-workflow-draft-format, ledger entries are intentionally low-ceremony for v1 — enough structure to count and close, no contract pretending to be machine-parameterizable yet. A reasonable per-entry shape:
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
- id: sccmec-evidence-missing
|
|
35
|
+
status: open # open | resolved | surrendered
|
|
36
|
+
kind: gap # gap | dropped — see below; omit for gap
|
|
37
|
+
blocking: true # true only for a computability gap; the convergence gate counts these
|
|
38
|
+
raised_by: implement-galaxy-tool-step # Mold that appended it
|
|
39
|
+
step: classify_context # draft step the obligation attaches to (if any)
|
|
40
|
+
unmet: "SCCmec-region candidate output category"
|
|
41
|
+
missing: "no wired input carries SCCmec cassette evidence"
|
|
42
|
+
resolved_by: null # Mold that closed it, once closed
|
|
43
|
+
supersedes: null # id whose justification this entry refutes, once resolved
|
|
44
|
+
note: "" # how it was closed or why surrendered
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`kind` separates the two things an open entry can mean, which v1 conflated. A **`gap`** is
|
|
48
|
+
an obligation the pipeline cannot discharge: no producer is discoverable, Galaxy has no
|
|
49
|
+
datatype for the format, the source pinned no value. A **`dropped`** entry is source work
|
|
50
|
+
the pipeline *declined to carry* — a plane cut from the design, a parameter surface not
|
|
51
|
+
exposed, an output the repair removed. Both are honest; they are not the same admission,
|
|
52
|
+
and a reader cannot tell them apart from `unmet` / `missing` alone. Omit `kind` for a
|
|
53
|
+
plain gap.
|
|
54
|
+
|
|
55
|
+
A `dropped` entry carries two more fields:
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
- id: annotation-planes-not-built
|
|
59
|
+
status: open
|
|
60
|
+
kind: dropped
|
|
61
|
+
raised_by: nextflow-summary-to-galaxy-data-flow
|
|
62
|
+
units: "25 of 31 designed nodes (rnaseq_short, gnomon, annot_proc, convert)"
|
|
63
|
+
because: "`gxwf tool-search asn1` returns no wrapper reading seq-submit; searched 2026-08-29"
|
|
64
|
+
unmet: "the pipeline's actual product — an annotated genome"
|
|
65
|
+
missing: "the carried spine masks an assembly; it does not annotate a genome"
|
|
66
|
+
note: ""
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`units` names what was dropped in the source's own terms, so the drops can be totalled
|
|
70
|
+
without re-reading the design.
|
|
71
|
+
|
|
72
|
+
`because` says why, and **must carry its citation** — the source construct that is not
|
|
73
|
+
there, the target limitation named specifically enough that someone could check it, the
|
|
74
|
+
search actually run. A drop's reason is a claim about the world, and the first real run is
|
|
75
|
+
why the burden exists: 25 of 31 planes were cut because "each needs an authored Galaxy
|
|
76
|
+
wrapper for an undocumented binary available only inside the pipeline's container," and a
|
|
77
|
+
Tool Shed search one phase later found the whole pipeline already wrapped at the exact
|
|
78
|
+
pinned version. The claim was not dishonest. It was never checked, and nothing in the
|
|
79
|
+
entry showed that it had not been.
|
|
80
|
+
|
|
81
|
+
A reason you can cite, cite. A reason you cannot cite is still recorded — write it plainly
|
|
82
|
+
and leave it uncited rather than dressing it as evidence — but an uncited drop is not a
|
|
83
|
+
finding the run may reason from afterwards. It is a debt, and it should read as one.
|
|
84
|
+
|
|
85
|
+
Provenance (`raised_by`, `resolved_by`) is the audit trail for *when* each obligation entered and left — the traceability #281 asked for, and the evidence the convergence gate reads.
|
|
86
|
+
|
|
87
|
+
`blocking` separates the two grades of obligation the pipeline carries. A plain entry is an unmet need the chain can keep working around — an unpinned parameter, a missing exemplar. A **blocking** entry is a computability gap: a declared step output no wired input can supply, which `gxwf` validation cannot see because the connection graph knows ports connect, not what they carry. Omit `blocking` (or set it `false`) for a plain obligation. Only blocking entries drive topology-repair escalation, and only they are counted by the decreasing-blocker invariant.
|
|
88
|
+
|
|
89
|
+
## How to use the ledger
|
|
90
|
+
|
|
91
|
+
This section is the runtime protocol for every Mold that carries the ledger. A Mold's own page states only what is local to it — what raises an entry there, and what it does when it reads one; the mechanics are here.
|
|
92
|
+
|
|
93
|
+
**Read it before you decide.** Ahead of the decisions this step owns, read the `open` entries. Ones bearing on those decisions are the ones you may be able to close. Never re-derive an obligation the chain already recorded — that re-derivation is the failure this artifact exists to end.
|
|
94
|
+
|
|
95
|
+
**Start one when none is supplied.** Every carrying Mold declares the ledger as an input, but the first Mold in a run receives none. Its absence is not an error: start an empty ledger at the declared filename and proceed.
|
|
96
|
+
|
|
97
|
+
**Append what you newly surface.** Each new obligation gets a stable kebab-case `id`, `status: open`, `raised_by` set to your own Mold name, and enough in `unmet` / `missing` for a later Mold to act without re-reading the source. Attach it to a draft step via `step` where one applies. Set `blocking: true` only for a computability gap.
|
|
98
|
+
|
|
99
|
+
**Mark resolved what you close.** When a decision you make discharges an open entry, set `status: resolved`, `resolved_by` to your own Mold name, and `note` to how it closed. Resolving is not deleting — a resolved entry stays in the ledger as the audit trail.
|
|
100
|
+
|
|
101
|
+
**Carry the rest untouched.** Entries you neither raise nor close pass through unchanged, statuses and provenance intact. Never renumber, re-word, or drop another Mold's entry.
|
|
102
|
+
|
|
103
|
+
**Never fabricate around an entry.** An open obligation is the honest state. Inventing a connection, a tool id, or a value so the artifact looks complete converts a tracked gap into a silent defect — the specific failure the ledger replaces.
|
|
104
|
+
|
|
105
|
+
**Record a drop as a drop.** When a decision removes source work from what the run will
|
|
106
|
+
carry — narrowing a design, cutting a plane, dropping an output during repair — append a
|
|
107
|
+
`kind: dropped` entry naming the `units` and a cited `because`. A cut recorded only as
|
|
108
|
+
prose in a brief is invisible to every later Mold; a cut recorded as a `gap` reads as
|
|
109
|
+
something the pipeline could not do rather than something it chose not to do. Recording
|
|
110
|
+
the drop is not the same as discharging it, and a well-written entry is not a substitute
|
|
111
|
+
for the work — an entry makes a cut *legible*, never *justified*.
|
|
112
|
+
|
|
113
|
+
**A refuted justification reopens its decision.** When work you do contradicts the
|
|
114
|
+
`because` another entry rests on — discovery finds the wrapper a drop assumed absent, a
|
|
115
|
+
later brief supplies the evidence a narrowing assumed missing — set `supersedes` to that
|
|
116
|
+
entry's `id` on your own resolved entry, and return the superseded entry to `status: open`
|
|
117
|
+
with its `because` struck and the contradiction quoted in its `note`. Do not leave a
|
|
118
|
+
refuted rationale standing: the terminal writes these into the final artifact, and a
|
|
119
|
+
surrendered gap whose stated reason is known to be false is worse than an unexplained one.
|
|
120
|
+
Reopening does not oblige *you* to do the dropped work — it obliges the run to stop
|
|
121
|
+
claiming a settled reason it no longer has.
|
|
122
|
+
|
|
123
|
+
**Record a surrender note; leave the status to the terminal.** When you cannot close an entry and nothing downstream can either — no producer is discoverable, the output cannot be honestly narrowed — leave it `open` and say so in `note`. `surrendered` is a terminal status, set at the end of a run: the escalation cap reached, or the final artifact emitted with the obligation still unmet. Either way the entry stays visible and is written into the final artifact as a labelled gap, never dropped.
|
|
124
|
+
|
|
125
|
+
**Maintain the escalation budget** — loop Molds only. The `topology_repair` header is loop-level state, described under **Escalation budget (loop-level state)** below. On each escalation the orchestrator increments `escalations`, appends the post-repair open blocking-entry count to `open_history`, and surrenders the still-open blocking entries once `escalations` reaches `cap`.
|
|
126
|
+
|
|
127
|
+
## Role in topology repair
|
|
128
|
+
|
|
129
|
+
In the Galaxy per-step loop, the ledger is the substrate the topology-repair escalation rides on (see galaxy-workflow-draft-format and repair-galaxy-draft-topology):
|
|
130
|
+
|
|
131
|
+
- **implement-galaxy-tool-step** detects, mid-implementation, that a declared step output cannot be computed from its wired inputs. Rather than fabricate, it appends a blocking entry and falls through to repair.
|
|
132
|
+
- **repair-galaxy-draft-topology** reads the open blocking entries, re-wires the affected region (template-tier authoring — one step or a small sub-path), and marks each entry it closes `resolved`; the existing discover-or-author → implement machinery then realizes the new steps.
|
|
133
|
+
- The loop's **decreasing-blocker invariant** counts open blocking entries: each repair escalation must strictly reduce that count, under a hard cap on escalations. When the cap is hit with entries still open, those entries are **surrendered** into the final draft — the clean terminal that replaces spin-or-fabricate.
|
|
134
|
+
|
|
135
|
+
So the ledger is not a convenience here; it is the countable state the termination guard depends on.
|
|
136
|
+
|
|
137
|
+
## Escalation budget (loop-level state)
|
|
138
|
+
|
|
139
|
+
The decreasing-blocker invariant needs more than the entries themselves: "strictly reduce the open count, under a hard cap" is *loop-level* state — it spans iterations and belongs to no single entry. The ledger carries it in a small `topology_repair` header beside the `entries:` list:
|
|
140
|
+
|
|
141
|
+
```yaml
|
|
142
|
+
topology_repair:
|
|
143
|
+
escalations: 2 # repairs invoked this run
|
|
144
|
+
cap: 5 # hard ceiling; at cap, still-open entries are surrendered
|
|
145
|
+
open_history: [4, 3, 2] # open blocking-entry count after each escalation — must be strictly decreasing
|
|
146
|
+
entries:
|
|
147
|
+
- id: sccmec-evidence-missing
|
|
148
|
+
status: open
|
|
149
|
+
blocking: true
|
|
150
|
+
# … per-entry shape above
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
- `escalations` — how many times advance-galaxy-draft-step has escalated to repair-galaxy-draft-topology this run. The orchestrator increments it on each escalation.
|
|
154
|
+
- `cap` — the hard ceiling. When `escalations` reaches `cap`, the loop stops escalating and surrenders any still-`open` blocking entries into the final draft as labelled gaps rather than retrying forever.
|
|
155
|
+
- `open_history` — the open blocking-entry count recorded after each escalation. The convergence gate requires it to be strictly decreasing: a repair that fails to lower the open count — or raises it by inserting a producer that is itself uncomputable — is non-convergent and trips the gate immediately, without waiting for the cap.
|
|
156
|
+
|
|
157
|
+
This block lives in the ledger as a v1 expedient: the ledger is already the carried, cast-visible state the loop reads each iteration. Its better long-term home is the **draft itself** — a workflow-level annotation that travels with the artifact it bounds, so the budget survives even when the ledger is stripped at the terminal. Recorded here for now; migrate when the draft grows a home for it.
|
|
158
|
+
|
|
159
|
+
## Threaded through the whole design tier
|
|
160
|
+
|
|
161
|
+
The ledger is not loop-only. Every design-tier Mold in the source→Galaxy pipelines **consumes and re-emits** it — the interface, reference-data, data-flow, IWC-comparison, and template Molds (`*-summary-to-galaxy-interface`, `*-summary-to-galaxy-data-flow`, `*-summary-to-galaxy-reference-data`, `compare-against-iwc-exemplar`, `*-summary-to-galaxy-template`), alongside the change-set Molds on the update path. This is the direct answer to #281: the chain stops re-deriving the same unknowns because each Mold inherits them.
|
|
162
|
+
|
|
163
|
+
The template Mold's computability review pass is the notable appender ahead of the loop — `*-summary-to-galaxy-template` re-reads each settled step and, where an output needs evidence no input carries, wires the producer or records the gap as a blocking entry. Source-summary Molds upstream of the design tier keep their own free-text open-questions; the design tier is where those formalize into the ledger.
|
|
164
|
+
|
|
165
|
+
## Open work
|
|
166
|
+
|
|
167
|
+
- Decide whether the drops should be **counted**, not just labelled. `kind: dropped` and `units` make each cut legible one entry at a time; nothing totals them, so a run that drops a plane four times over still reports four reasonable-looking entries. A conservation rule — every source unit ends the run carried, subsumed, or surrendered, and the buckets sum to the source total — would make the aggregate visible the way `open_history` makes escalation visible. Deliberately not attempted here: labelling is cheap and may prove sufficient, counting needs a definition of "source unit" per source kind.
|
|
168
|
+
- Decide whether entry structure should harden further (typed `unmet` / `missing`, links back to source-summary evidence, machine-checkable `status` transitions) once two or three worked runs exercise it. Hardening it would also give the producing Molds an `output_artifacts[].schema` to cite, which none carry today.
|
|
169
|
+
- Assign terminal surrender of *non-blocking* entries. advance-galaxy-draft-step surrenders open blocking entries at the escalation cap, but an unpinned-parameter entry the design tier appended and nobody closed currently rides out the run without ever being marked `surrendered`. Nothing owns that pass today.
|
|
170
|
+
- Reconcile the design-tier briefs' free-text "open questions" sections with the ledger. Every design Mold still emits both, with no rule for which destination an unresolved choice belongs in.
|
|
171
|
+
- Decide whether the source-summary Molds should also emit structured entries, or keep their free-text open-questions until the design tier formalizes them.
|
|
172
|
+
- Specify how surrendered entries surface in the runnable gxformat2 (a workflow-level annotation, a report output, or a sidecar) when the draft is stripped of `_plan_*` and TODO sentinels.
|
|
173
|
+
- Move the `topology_repair` escalation budget out of the ledger and into the draft (a workflow-level annotation) so it travels with the artifact it bounds; the ledger home is a v1 expedient.
|