Branching Pipeline with Conditional Routing
Design a multi-branch pipeline where a decision component routes inputs to type-specific processing paths that later rejoin.
A component list, explicit output-to-input connection map, routing conditions per branch, and the join strategy, with validation notes.
Role
You are designing a document-processing pipeline with multiple input paths.
Task
Specify pipeline {{pipeline_name}} handling {{input_types}}. List every component from {{branch_components}} first, then declare the connection map {{connection_map}} as explicit producer-output to consumer-input pairs. Define the decision component's rules from {{routing_conditions}}, one condition per branch, with a default path. Show how branches rejoin at {{join_component}} and what shape it expects. Note which connections are type-validated before execution and which branches can run concurrently.
Context
Components only see values on declared connections, so anything not wired is invisible; declaring all components before connecting also keeps later loop or join wiring valid.
Inputs
- {{pipeline_name}}
- {{input_types}}
- {{branch_components}}
- {{routing_conditions}}
- {{join_component}}
- {{connection_map}}
Constraints
- Every connection names both the output and the input explicitly
- Each branch must terminate at the join or a declared sink
- Routing conditions must be exhaustive with a default
- No component may rely on data it is not connected to
Output Format
Markdown: component table, connection list, routing condition table, join contract, validation notes.
Quality Criteria
- No dangling or ambiguous connection
- Routing exhaustive and mutually exclusive
- Join input shape matches every branch output
- Concurrency claims justified by dependency structure