Home pipeline · paper → cwl

PAPER → CWL

Direct path from a paper to a CWL Workflow + CommandLineTool set.

Phases

/ subway map 11 phases
  1. branch test-data-resolution
    1. paper-to-test-data
    2. find-test-data
    3. user-supplied

Run this pipeline

/ stop-gap harness

Run this pipeline today via its assembled harness skill pipeline-paper-to-cwl — install once (run guide), then select it in your runtime:

Claude:      /foundry-skills:pipeline-paper-to-cwl
Codex:       $pipeline-paper-to-cwl
Antigravity: /pipeline-paper-to-cwl

Each run gets its own ./<run-slug>/ working directory so artifacts stay namespaced and a second run won't clobber the first — the harness sets this up first (phase detail).

phases
11
auto casts
10
manual
1
loops
3

PAPER → CWL

Start with a methods or tool paper and available supplementary methods, code, tool documentation, sample data, and reported results. Record supported steps, parameters, file shapes, versions, and unknowns in freeform-summary.md. Leave missing commands or data locations unresolved rather than inventing them.

Review freeform-cwl-design.md and the workflow skeleton against the paper. For each placeholder step, confirm the executable or container, command, inputs, outputs, and version before implementing its CommandLineTool. Validate the updated CWL after each step and correct the responsible tool or connection when it fails. The CWL loop has no shared completion check, so inspect the draft for remaining placeholders.

Resolve test inputs from the paper first, then search for fixtures or request user-supplied data. Check any fixture against the CWL input ports. Before assembling cwl-job.yml, supply and review a cwl-test-plan: no declared phase produces this required input, and test-data-refs.json cannot replace it.

Inspect cwl-workflow-draft.cwl and its validation diagnostics. If a test runs, inspect workflow-test-result.json and use the CWL debug report to investigate a failure. Report unresolved source, test-plan, and data gaps with the workflow. A missing or unrun test provides no runtime confirmation.