common-workflow-language / common-workflow-language/cwl-v1.2
Clarify evaluation policy of Workflow level requirements
- 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