Skip to main content

Workflow Clinic

Workflow Clinic is a GSoC 2026 project focused on improving the portability, reproducibility, and cloud-readiness of scientific workflows.

The project aims to analyze workflow languages such as Nextflow and Snakemake, convert them into a common intermediate representation called WorkflowBundle, and identify workflow portability issues through automated validation and analysis.

By using a common workflow model inspired by the DAW (Data Analysis Workflow) metamodel, Workflow Clinic can reason about workflows independently of their original language and provide consistent diagnostics, recommendations, and future repair capabilities.

Why Workflow Clinic?

Scientific workflows are often tightly coupled to specific execution environments, storage systems, schedulers, or local infrastructure.

This can make workflows difficult to:

  • Share
  • Reproduce
  • Port across platforms
  • Execute in cloud environments
  • Integrate with GA4GH-compliant services

Workflow Clinic aims to help workflow authors identify and resolve these issues before deployment.

Planned Features

Workflow Parsing

  • Nextflow support
  • Snakemake support
  • Common WorkflowBundle representation

Workflow Analysis

  • Portability diagnostics
  • Storage validation
  • Resource validation
  • Metadata validation
  • Workflow structure validation

AI-Assisted Review

  • Rule-based workflow checks
  • AI-assisted diagnostics
  • Confidence-based recommendations

Workflow Repair

  • Suggested fixes
  • Automated transformations
  • Validation of generated fixes

Installation

Clone the Repository

git clone https://github.com/revaarathore11/ga4gh_workflow_clinic_gsoc_2026-.git
cd ga4gh_workflow_clinic_gsoc_2026-

Create a Virtual Environment

python -m venv .venv
source .venv/bin/activate

Install Dependencies

pip install -e ".[dev]"

Development

Run Tests

pytest

Run Linting

ruff check .

Run Formatting

ruff format .

AI Critic & Remediation Guidance (AI-Assisted Review)

Workflow Clinic includes an AI Critic Agent to enrich diagnostic findings with AI-powered, cloud-readiness remediation advice.

Enabling the AI Critic

To enable the AI to perform a high-level review of your workflow (discovering complex logic bugs, implicit dependencies, or anti-patterns) AND generate detailed remediation advice for all findings, run the examine command with the --enhance (-e) flag:

workflow-clinic examine main.nf --enhance

Note: If no API key is provided, --enhance will fall back to using a local knowledge base for basic remediation and will skip the high-level audit discovery phase.

Deduplication & Anti-Hallucination

The AI Critic is engineered with strict system prompts that feed it all previously discovered static issues (e.g., W001, W002). This prevents the LLM from duplicating existing findings, forcing it to focus exclusively on discovering complex bugs, shell scripting anti-patterns, and implicit dependencies that static rules miss. It is also strictly instructed not to hallucinate issues just to fill quotas.

🔑 Bring Your Own Key & Model (BYOK & BYOM)

You can configure any supported LiteLLM model (e.g., OpenAI, Gemini, Anthropic, Groq, Mistral) by setting the respective environment variable.

Configuration via .env file (Recommended)

Create a .env file in your working directory to permanently save configuration details:

OPENAI_API_KEY="sk-proj-..."
# CLINIC_MODEL="gpt-4o"  # Optional: Overrides the auto-detected default model

Model Auto-Detection: The AI Critic automatically resolves the appropriate default model based on which API key is present in your environment (e.g., OPENAI_API_KEY defaults to gpt-4o-mini). To view all supported providers and their default models, run:

workflow-clinic list-models

CLI Options

You can temporarily override the default model directly on the command line:

workflow-clinic examine main.nf --enhance --model gpt-4o --api-key sk-proj-...

[!WARNING] Security Notice: Avoid passing explicit --api-key arguments in shared or public environments as they can leak into your shell history (history) or process listings (ps aux). Using environment variables or a .env file is the highly recommended security practice.


Supported Workflow Languages

Current target languages:

  • Nextflow
  • Snakemake

Potential future support:

  • CWL
  • WDL

Architecture Overview

Workflow Files
    ↓
  Parser
    ↓
WorkflowBundle
    ↓
Rule Engine
    ↓
 AI Critic
    ↓
  Doctor

Standards Alignment

Workflow Clinic is being designed with future compatibility in mind for:

  • GA4GH TES
  • GA4GH WES
  • GA4GH TRS
  • Workflow Run RO-Crate

License

This project is licensed under the Apache License 2.0.

Metadata

Release files for workflow-clinic 0.22.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for workflow-clinic 0.22.0
File Size Uploaded
workflow_clinic-0.22.0.tar.gz 80.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for workflow-clinic 0.22.0
File Interpreter ABI Platform
workflow_clinic-0.22.0-py3-none-any.whl Python 3 none any Details

Total release size: 142.8 kB

Release files / workflow_clinic-0.22.0.tar.gz

Download URL workflow_clinic-0.22.0.tar.gz
Size 80.4 kB
Tags Source
SHA-256 checksum
How to use checksums
70def48f3d9bb963efd90d12f6dae20dd269da1b17341f7b09cc5aaadcbbe312
BLAKE2b-256 checksum
How to use checksums
a213559cbeecf78e86ace729e283b27d0e5cb7277a2a209f62a93449fc26a05a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / workflow_clinic-0.22.0-py3-none-any.whl

Download URL workflow_clinic-0.22.0-py3-none-any.whl
Size 62.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a926ff45ece1232a09c3b50356bb987411196ee107a2ab19e0198a7f32fb9d4a
BLAKE2b-256 checksum
How to use checksums
f3fe6018dbc9c539e0ba4981c185b99ee2fb70afd0ffb1360b5bf55083a5b1cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.22.0 This release

2 release files

0.21.0

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page