Skip to content

Add test-data-resolution to nextflow/cwl-to-galaxy with source-specific resolvers (#348)#350

Open
jmchilton wants to merge 2 commits into
mainfrom
pipeline-test-data-branch
Open

Add test-data-resolution to nextflow/cwl-to-galaxy with source-specific resolvers (#348)#350
jmchilton wants to merge 2 commits into
mainfrom
pipeline-test-data-branch

Conversation

@jmchilton

@jmchilton jmchilton commented Jul 17, 2026

Copy link
Copy Markdown
Member

Opened by Claude (AI assistant) on behalf of @jmchilton.

Fixes #348.

Problem

implement-galaxy-workflow-test requires test-data-refs, but the nextflow-to-galaxy and cwl-to-galaxy spines had no phase producing it — the phase was uncompletable by composition (the Pipeline validator warned on the unproduced consumed artifact).

Design

Rather than wire these spines straight to the generic find-test-data search mold, this restores the pattern paper-to-galaxy already uses (paper-to-test-data → find-test-data → user-supplied). find-test-data searches IWC/public sources — the wrong first move for nextflow/cwl, whose summaries already declare their own test fixtures:

  • summary-nextflow.test_fixtures / nf_tests[] — each input a role + url/path + sha1 + filetype
  • summary-cwl.tests[] — each case a job_path (naming inputs) + expected_outputs

So two new source-specific resolvers map those declared fixtures onto the Galaxy interface and emit test-data-refs, deferring to find-test-data (search) only for inputs they can't resolve:

  • nextflow-to-test-data (axis: source-specific, source: nextflow)
  • cwl-to-test-data (axis: source-specific, source: cwl)

test-data-resolution chains become:

nextflow-to-test-data → find-test-data → user-supplied
cwl-to-test-data      → find-test-data → user-supplied

This also dissolves a diamond-overlap: the resolver reads declared fixtures for data, the test-plan mold reads them for assertions — orthogonal, and exactly how paper already works.

Changes

  • New molds nextflow-to-test-data, cwl-to-test-data (+ casts).
  • Both test-data-resolution branch chains fronted with the source-specific resolver.
  • Regenerated the two assembled harnesses + Index.md/Dashboard.md.
  • Updated docs/HARNESS_PIPELINES.md and docs/MOLDS.md.

Verification

  • npm run validate → 0 errors; the test-data-refs unproduced-artifact warning is gone for both spines.
  • make check-generated → clean.
  • assemble-pipeline --check for both spines → clean against committed cast state.

Notes

  • New molds ship index.md + cast only (no eval.md/scenarios.md yet), matching the paper-to-test-data precedent; those come with first test-drives.
  • update-interview-to-galaxy shows the same validator warning but is intentionally left out of scope — its harness_notes document test-data-refs coming from the edited workflow's baseline fixtures.
  • Pre-existing doc staleness noted but not touched: docs/MOLDS.md's "34 candidate Molds total" is a frozen design-era count (actual dirs: 47), unrelated to this change.

🤖 Generated with Claude Code

jmchilton and others added 2 commits July 17, 2026 16:38
implement-galaxy-workflow-test requires test-data-refs, but the
nextflow-to-galaxy and cwl-to-galaxy spines had no phase producing it —
the phase was uncompletable by composition (validator warned on the
unproduced consumed artifact). Insert a test-data-resolution [branch]
(chain: find-test-data -> user-supplied) after the draft loop, matching
the shape already in paper-to-galaxy and interview-to-galaxy. Regenerate
the two assembled harnesses.

Fixes #348

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…anch

find-test-data is a search mold — the wrong first leg for nextflow/cwl,
whose summaries already declare their own test fixtures (nextflow
test_fixtures: role/url/sha1/filetype; cwl tests[]: job_path +
expected_outputs). Mirror the paper-to-test-data pattern: add
source-specific resolvers that map declared fixtures onto the Galaxy
interface and emit test-data-refs, deferring to find-test-data (search)
only for unresolved inputs, then user-supplied.

- New molds nextflow-to-test-data, cwl-to-test-data (+ casts).
- test-data-resolution chains now: <source>-to-test-data -> find-test-data -> user-supplied.
- Regenerate harnesses, Index/Dashboard; update HARNESS_PIPELINES/MOLDS docs.

Refs #348

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jmchilton jmchilton changed the title Add test-data-resolution branch to nextflow/cwl-to-galaxy spines (#348) Add test-data-resolution to nextflow/cwl-to-galaxy with source-specific resolvers (#348) Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nextflow→galaxy pipeline: no phase produces test-data-refs for implement-galaxy-workflow-test

1 participant