This page points to the JSON Schema authored in this repo and shipped as part of @galaxy-foundry/foundry (orphan schema — no TypeScript producer Mold owns it). The schema is intentionally smaller than summary-nextflow because CWL already carries typed workflow and tool structure.
Source-of-truth chain:
packages/foundry/src/schemas/summary-cwl/summary-cwl.schema.json— canonical JSON, hand-edited as part of the Mold/cast loop.packages/foundry/scripts/sync-schema.mjsregenerates the typedsummary-cwl.schema.generated.tsconst wrapper atprebuild.- Published as part of
@galaxy-foundry/foundry, exportingsummaryCwlSchemaand thefoundry validate-summary-cwlsubcommand.
Generated skills should validate emitted summaries with:
foundry validate-summary-cwl summary-cwl.json
Why This Is Lighter Than Nextflow
Nextflow summarization has to infer process graphs, channel shapes, sample-sheet semantics, containers, and tests from DSL2 plus ecosystem conventions. CWL has first-class workflow inputs, workflow outputs, WorkflowStep.run, CommandLineTool inputs/outputs, scatter, when, and requirement blocks. The summary therefore records validated CWL structure and adds only the annotations downstream Galaxy molds need.
Top-Level Shape
The v1 summary contains:
source—ecosystem: cwl, workflow name, entrypoint, declaredcwlVersion, URL/path, optional pin/license.documents— entrypoint, optionalcwl-utilsnormalized JSON output path, and validation diagnostics.workflow_inputs/workflow_outputs— CWL ids, compact type strings, formats, secondary files, defaults, labels, and docs.steps—run, run class, input sources, outputs, scatter/scatterMethod,when, requirements, and hints.tools—CommandLineToolcommand surface: base command, arguments, tool inputs/outputs, bindings, Docker/Software requirements, and hints.graph— simple source-to-sink edges withviamarkers for shape-affecting features such as scatter,linkMerge,pickValue, andvalueFrom.tests— job files and expected outputs only when supplied or discoverable by convention.warnings— unsupported extensions, expression-heavy edges, missing referenced files, and remote resolution failures.
Intentional Non-Goals
- No target translation. Galaxy collection choice, datatype choice, Tool Shed discovery, and gxformat2 authoring belong to downstream molds.
- No full JavaScript evaluation.
valueFrom,when, and expression-derived globbing are preserved verbatim and flagged when they affect shape. - No deep package solving.
DockerRequirementandSoftwareRequirementare recorded; dependency resolution into concrete Galaxy wrappers is downstream work. - No recursive data download by default. URL resolution is for CWL documents and directly referenced tool/workflow files, not arbitrary input data crawling.