Home Mold

changeset-to-galaxy-test-plan

Carry an existing Galaxy workflow's tests forward as a regression baseline and augment them for a change-set's deltas, emitting a Galaxy test plan.

Mold health

warn
  • Source layout

    Directory Mold with only index.md frontmatter.

  • Axis fields

    source-specific fields are coherent.

  • Eval plan

    Abstract oracle: fixture-independent property checks any run must satisfy.

    eval.md declares properties and check type.

    eval.md ↗
  • Scenarios

    Concrete cases: fixtures bound to expected values, run against the eval properties.

    scenarios.md not written yet.

  • Typed refs

    8 typed references; 0 resolver issues.

  • On-demand triggers

    All on-demand references describe triggers.

  • Evidence checks

    Hypothesis references include verification.

axis
source-specific
source
galaxy
name
changeset-to-galaxy-test-plan
contract

Reference Loading

Typed Mold references describe what casting consumes and when the generated skill should load each artifact.

Schemagalaxy-workflow-test-plan

Structured contract copied for validation or lookup.

Purpose
Output contract: the emitted plan conforms to [[galaxy-workflow-test-plan]]. Cast bundles the JSON Schema so the skill carries its output shape; validate with `foundry validate-galaxy-workflow-test-plan`.
Verify
Cast the skill, run on a summary with existing tests plus a change-set, confirm the emitted YAML validates and downstream [[implement-galaxy-workflow-test]] consumes it without re-reading the change-set.
Schematests-format

Structured contract copied for validation or lookup.

Purpose
Use the Galaxy workflow tests schema as the assertion-family vocabulary when carrying forward or synthesizing assertion intent.
Trigger
When naming an assertion family or compare operator for a carried-forward or change-set-driven expected output.
Researchgalaxy-workflow-testability-design

Background synthesis loaded by explicit progressive-disclosure metadata.

Purpose
Decide which change-set-exposed outputs and promoted checkpoints make meaningful new assertions, and how much a baseline assertion must loosen when an edit intentionally changes an output.
Trigger
When adding assertions for a newly exposed output or a new step, or reconciling a baseline assertion an edit invalidates.
Researchiwc-test-data-conventions

Background synthesis loaded by explicit progressive-disclosure metadata.

Purpose
Record job-input fixtures for change-set-added inputs (remote-URL-first locations, hashes, collection shapes) as fixture provenance, reusing the baseline's existing fixtures unchanged.
Trigger
When a change-set adds a workflow input that needs new test data, or when recording provenance for a new fixture.
Researchiwc-shortcuts-anti-patterns

Background synthesis loaded by explicit progressive-disclosure metadata.

Purpose
Distinguish accepted IWC-style test shortcuts from assertion smells when loosening a baseline assertion or synthesizing a new one.
Trigger
When considering existence-only, size-only, image-dimension, or tolerant output checks, or recording an omission.

Artifact handoffs

/ pipeline contract

Produces

  • galaxy-test-plan yaml galaxy-test-plan.yml

    Reviewable Galaxy workflow test plan (see [[galaxy-workflow-test-plan]]): baseline cases carried forward as test-evidence plus change-set-driven cases/assertions, with job inputs, expected outputs, assertion intent, fixture provenance, label status, unresolved mappings, and omissions.

    schema
    galaxy-workflow-test-plan
    consumed by

Consumes

  • Structured summary of the existing workflow from [[summarize-galaxy-workflow]]; its `tests[]` are the regression baseline to carry forward, and its resolved input/output labels are the anchors baseline assertions bind to.

    produced by
  • Reviewed, step-anchored change-set from [[interview-to-galaxy-workflow-changeset]]; names which edits change observable behavior, hence which baseline cases to update and which new assertions to add.

    produced by

changeset-to-galaxy-test-plan

Produce a Galaxy workflow test plan for the update pipeline: carry the existing workflow’s tests forward as a regression baseline and augment them for the change-set’s behavioral deltas. The output is a reviewable YAML handoff conforming to galaxy-workflow-test-plan, not a concrete tests-format file — implement-galaxy-workflow-test authors the final *-tests.yml from it. This Mold is the update pipeline’s analogue of nextflow-test-to-galaxy-test-plan / freeform-summary-to-galaxy-test-plan: the dedicated test-plan producer every Galaxy-targeting pipeline places before the implement step.

Translate-and-augment, not synthesize-from-scratch

The starting point is real test evidence — the existing workflow’s own tests[], captured in summary-galaxy-workflow. Most of the plan is those cases carried forward. So set the plan’s source.derived_from: mixed: baseline cases keep derived_from: test-evidence with evidence: test-evidence on their assertions, while change-set-driven cases and assertions carry evidence: intent (raise to test-evidence only where the change-set pinned a concrete expected value). Unlike a freeform-synthesized plan, the baseline’s workflow-label bindings are label_status: resolved — the summary read them off the concrete existing workflow, so they are known, not assumed.

What the change-set drives

Walk the change-set and touch only the assertions its edits reach:

  • Behavior-changing edit → update the affected baseline case. A change-parameter, replace-tool, or add-step that alters an existing output’s content means the baseline assertion on that output is now wrong. Update it — tighten to the new expected value where the change-set gave one, or loosen it (e.g. presence/format where a content check no longer holds) and record the loosening in omissions[] with a rationale. Never delete a baseline case to make it pass; a regression that silently drops coverage is the failure mode this pipeline exists to avoid.
  • New observable behavior → a new assertion or case. An expose-output / add-output needs a new expected_outputs[] entry asserting the promoted output; a new step whose result is observable needs assertion intent for it; a new add-input needs a job_inputs[] binding and a fixture. Bind change-set-added labels at label_status: assumed (the concrete labels settle downstream once the per-step loop resolves the step) and reconcile them in implement-galaxy-workflow-test.
  • Internal-only edit → no assertion change. A rewire, relabel, or remove-step that does not change an observable output changes no assertions; carry the baseline through untouched.

Scope discipline mirrors the change-set

Change only the assertions the change-set reaches. Do not add assertions for untouched regions beyond what the baseline already covers, and do not tidy or re-tolerance a baseline assertion no edit touched — the update pipeline’s contract is that untouched behavior is verified exactly as before. Gratuitous churn in the plan propagates into gratuitous test churn downstream.

Fixtures

Reuse the baseline’s existing fixtures verbatim — they already ship with the workflow and are the regression data. Only a change-set that adds a workflow input needs new test data: record it with iwc-test-data-conventions (remote-URL-first, storage: unresolved with provenance when the input names data only by description), and leave resolution to the harness test-data step / find-test-data and implement-galaxy-workflow-test. When an added input’s data cannot be settled here, add an unresolved[] entry (with blocking: true when the new case cannot be authored without it) rather than inventing a location.

Keep the plan addressable by stable labels and artifacts (planemo-workflow-test-architecture) so the downstream test, run, and debug Molds can connect assertions back to invocations and outputs.

Incoming References (2)

  • UPDATE-INTERVIEW → GALAXYphase of pipeline— Interview-driven, edit-in-place modification of an existing Galaxy gxformat2 workflow via a reviewable change-set, reusing the per-step draft loop.
  • Galaxy workflow test planrelated note— JSON Schema for the intermediate Galaxy workflow test-plan handoff produced by the test-plan Molds and consumed by implement-galaxy-workflow-test.