DISMISSED_ALTERNATIVES

pick_value: Dismissed Alternatives

These alternatives were considered and rejected in favor of a PickValueModule workflow module. See PROBLEM_AND_GOAL.md for the chosen approach.

1. Synthetic pick_value tool insertion at CWL import time

During CWL import, inject a real pick_value expression tool step wired to the source steps.

Why dismissed:

2. Native database support: pick_value column on WorkflowOutput + runtime post-processing

Add a pick_value column to the workflow_output table. For multi-source CWL outputs, create multiple WorkflowOutput objects with the same label on different steps. At execution end, post-process outputs by label, applying pickValue logic.

Why dismissed:

3. New WorkflowOutputSource join table

Keep one WorkflowOutput per label. Add a workflow_output_source table linking a single output to multiple (step, output_name) pairs. Runtime iterates sources.

Why dismissed: