Rebasing cwl-1.0 onto db43f2dbc4 (dev, post release_26.0 merge).
5 files conflicted. Resolutions below.
HEAD had no CWL workflow handling. Incoming added an elif workflow_class == "Workflow" block that creates a workflow_proxy from CWL workflow dicts/paths, registers dynamic tools from tool_reference_proxies, and converts to Galaxy dict format.
Resolution: Took incoming — purely additive CWL logic.
Imports: HEAD added Sequence to collections.abc import. Incoming added import uuid and only imported MutableMapping.
Resolution: Kept both — import uuid + from collections.abc import (MutableMapping, Sequence,).
TOOL_CLASSES list: HEAD added ConvertSampleSheetTool. Incoming added CwlTool.
Resolution: Kept both classes in the list.
HEAD updated url_for call style to url_for(f"/?tool_id={tool_id}"). Incoming added "cwl" to the tool_type allowlist but used older url_for(controller="root", tool_id=tool_id) style.
Resolution: Merged — "cwl" added to list, HEAD's url_for style kept.
Region 1 — input step output handling (~line 738):
HEAD added invocation input tracking (invocation.add_input(content, step.id)). Incoming added CWL file output conversion (raw_to_galaxy for class: File dicts).
Resolution: Kept both blocks sequentially — invocation tracking first, then CWL file conversion.
Region 2 — subworkflow_progress method (~line 877):
This was a structural divergence. The CWL branch collected matching connections into a connections list and called self.replacement_for_input_connections(step, input_dict, connections). HEAD refactored the same logic to use a connection_found boolean flag, call self.replacement_for_connection(input_connection, is_data=...) on the first match, and added default-value checking before raising errors on missing required inputs.
replacement_for_input_connections does not exist on HEAD — only replacement_for_connection (singular) does.
Resolution: Took HEAD's full implementation — connection_found flag, replacement_for_connection, and default-value error gating. The CWL branch's connection-handling approach was functionally equivalent but used an API that no longer exists on dev.
HEAD added workflow_completion_monitor_sleep=1.0. Incoming added strict_cwl_validation=False.
Resolution: Kept both config entries.
1 file conflicted.
Same conflict pattern as before. Incoming added "galactic_cwl" to the tool_type list.
Resolution: Added "galactic_cwl" to list, kept HEAD's url_for style.
1 file conflicted.
Stale diff — incoming had from collections.abc import MutableMapping without uuid or Sequence (from pre-rebase state). HEAD already had the merged imports from the earlier resolution.
Resolution: Kept HEAD (already correct from prior resolution).
Applied cleanly with no conflicts.