The workflow
parallel.fabro
Fan-out with the fork node
Thefork node has shape=component, making it a parallel fan-out node. Every outgoing edge becomes a concurrent branch:
Join policies
Thejoin_policy controls when execution can proceed past the merge:
| Policy | Behavior |
|---|---|
wait_all | Wait for every branch to finish (default) |
first_success | Proceed as soon as one branch succeeds |
Fan-in with the merge node
Themerge node has shape=tripleoctagon, making it a merge (fan-in) node. It collects results from all branches into a single context:
report node receives all three perspectives in its preamble and synthesizes them.
Concurrency control
By default, Fabro runs up to 4 parallel branches simultaneously. Control this withmax_parallel:
What you’ve learned
- Fan-out nodes (
shape=component) spawn concurrent branches - Merge nodes (
shape=tripleoctagon) collect branch results - Join policies control when execution can proceed past the merge
- Each branch gets an isolated copy of the context
Next
Multi-Model Routing
Assign different models to different workflow nodes using stylesheets.