Structured contract copied for validation or lookup.
- Purpose
- Validate the emitted Galaxy workflow summary JSON and provide downstream consumers the output contract.
Read an existing Galaxy gxformat2 (or .ga) workflow and emit a structured summary for interview and change-set steps.
Directory Mold with only index.md frontmatter.
source-specific fields are coherent.
Abstract oracle: fixture-independent property checks any run must satisfy.
eval.md declares properties and check type.
eval.md ↗Concrete cases: fixtures bound to expected values, run against the eval properties.
scenarios.md not written yet.
4 typed references; 0 resolver issues.
All on-demand references describe triggers.
Hypothesis references include verification.
Typed Mold references describe what casting consumes and when the generated skill should load each artifact.
Structured contract copied for validation or lookup.
Command reference. Usually cast to a sidecar and loaded only when invoked.
Command reference. Usually cast to a sidecar and loaded only when invoked.
Tool-level install metadata. Aggregated into the cast bundle's Required Tools section.
Structured summary of an existing Galaxy workflow: source/format provenance, inputs, outputs, per-step tool_id/version/tool_state, edge graph, and any existing tests as a regression baseline.
Read an existing Galaxy workflow and emit summary-galaxy-workflow.json. This Mold is source-specific and target-agnostic: it records what the workflow is — inputs, outputs, steps, wiring, and existing tests — and leaves every modification decision to the downstream change-set and apply Molds. It mirrors summarize-cwl on the Galaxy-as-source side.
gxformat2 is already a typed workflow graph, so do not infer structure — read it. The summary is an LLM-digestible index of the existing workflow that anchors the interview and the change-set; it is context, not the substrate edits apply to. The substrate the edits are applied against is the raw gxformat2 workflow file itself (owned by apply-galaxy-workflow-changeset).
.gxwf.yml / .gxfmt2.yml) and legacy native .ga.*-tests.yml); if none is supplied or discoverable, emit tests: []..ga, convert it to gxformat2 with convert (--to format2) and record the output path in documents.converted_path. If it is already gxformat2, leave converted_path null. Set source.original_format accordingly. All downstream extraction reads the gxformat2 form.command, status, and diagnostics under documents.validation. If invalid, still emit source provenance and diagnostics; do not invent graph structure past what parses.workflow_inputs (class data / collection / parameter, collection_type, optionality, defaults, format restrictions) and workflow_outputs (each promoted step/output source), preserving gxformat2 labels verbatim — those labels are the anchors the change-set will address.tool_id, tool_version, pinned tool_shed_repository, verbatim tool_state, named input connections with their upstream sources, declared outputs, and any when: guard. Keep tool_state verbatim so a later change-set can address an individual parameter.via markers for shape-affecting features (map-over, batch, collection reduction).foundry validate-summary-galaxy-workflow summary-galaxy-workflow.json before returning it.tool_state is preserved, not interpreted. Record it verbatim. Deciding which parameter an interview wants changed is the change-set’s job, not this Mold’s..ga → gxformat2 conversion drops or rewrites anything, surface it in warnings[] rather than presenting a clean summary.tool_id / tool_shed_repository are recorded as-found; resolving newly introduced tools is the per-step Galaxy loop’s job.