cylc-flow
cylc-flow copied to clipboard
internals: task "output" vs "message"
For historical reasons the naming of data structures and variables associated with task outputs and prerequisites is a bit confusing:
- originally task outputs were task messages, full stop
- consequently tasks messages are the fundamental thing stored as outputs and prereqs in the code
- and they are usually called "outputs" because they function as outputs
- then we added short names for use as triggers in the graph
- these got variously called output "names", "labels", or "triggers", and sometimes "outputs"
So that's all a bit confusing. And now, for Cylc 8, the way we talk about optional and required outputs elevates the importance of the short names.
We should:
- check that "output" always refers to the short name, in the docs
- ensure that naming in the code is consistent with this
- and possibly change the internals to store the short outputs as the fundamental entities rather than the task messages. The translation can be done first thing on receiving incoming messages