common-workflow-language / common-workflow-language/cwl-v1.2

Clarify evaluation policy of Workflow level requirements

Open
#157 3 comments 2 reactions 0 assignees View on GitHub
Dominant language
Common Workflow Language
Stars
45
Forks
28
PR merge metrics
No merged PRs in 30d

Description

The CWL standard says

> Requirements specified in a parent Workflow are inherited by step processes if they are valid for that step

Such sentence is a bit ambiguous, in that it does not specify if the evaluation is *eager* (at the Workflow level) or *lazy* (at the inner step level). For ResourceRequirements, cwlltool (and StreamFlow, too) adopts a lazy evaluation policy, so that expressions are evaluated at the CommandLineTool level. This can generate unexpected behaviours with unconnected inputs, as reported in [#1330](https://github.com/common-workflow-language/cwltool/issues/1330).
The sentence should then be clarified, establishing the desired evaluation policy for this kind of requirements.

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the quoted CWL inheritance sentence and the ResourceRequirements behavior described in cwltool, StreamFlow, and cwltool issue #1330. Determine whether evaluation should occur at the Workflow or inner step level, then clarify the specification text to state the decided policy and its treatment of unconnected inputs.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.