Implements the GATE-GATHER gateway. A convergence node that merges
multiple incoming execution branches into a single outgoing token.
Used after GATE-PARALLEL or GATE-INCLUSIVE to resynchronise parallel
paths before continuing sequential execution. Currently registered in the
node registry but the execution body is a pass-through placeholder.
| Node Type | Icon | BPMN | Status |
|---|---|---|---|
GATE-GATHER |
◇∑ |
Parallel Gateway (Merge) | Placeholder |
run_context.Pairs with GATE-PARALLEL (split → gather) or GATE-INCLUSIVE (split → gather).
Acts as a pass-through: returns run_context and current_result unchanged.
No synchronisation logic is executed.
-- Parallel split with gather (gather not yet active)
INSERT INTO def_workflows
(WorkflowName, Package, Rank, Type, Name, BranchDirect)
VALUES
('MY_WF', 'core', 10, 'GATE-PARALLEL', 'ForkHere', NULL),
('MY_WF', 'core', 20, 'SERVICE', 'BranchA', 'A'),
('MY_WF', 'core', 20, 'SERVICE', 'BranchB', 'B'),
('MY_WF', 'core', 30, 'GATE-GATHER', 'MergeHere', NULL),
('MY_WF', 'core', 40, 'SERVICE', 'ContinueWF', NULL);
| Node Type | Icon | BPMN Type | Status | Description |
|---|---|---|---|---|
GATE-EXCLUSIVE |
◇× |
Exclusive Gateway (XOR) | Implemented | Exactly one path is chosen based on current_result |
GATE |
◇ |
Exclusive Gateway (Default) | Implemented | Alias for GATE-EXCLUSIVE; generic default gateway |
GATE-PARALLEL |
◇+ |
Parallel Gateway (AND) | Placeholder | All outgoing paths execute in parallel |
GATE-INCLUSIVE |
◇○ |
Inclusive Gateway (OR) | Placeholder | One or more paths are chosen |
GATE-FAN-OUT |
◇» |
Complex Gateway (Fan-Out) | Placeholder | Distributes work across parallel bulk workers |
GATE-FAN-IN |
◇« |
Complex Gateway (Fan-In) | Placeholder | Aggregates results from parallel bulk workers |
GATE-GATHER |
◇∑ |
Parallel Gateway (Merge) | Placeholder | Gathers and merges converging branches |
ObjWorkflowNode.py — Base node classObjWorkflow.py — Workflow orchestration engineObjWorkflowGateParallel.py — Corresponding parallel split nodeObjWorkflowGateInclusive.py — Corresponding inclusive split nodeObjEnum.WorkflowNodeType — Node type definitionsObjConstants.WorkflowNodeIcons — Icon constantsUpdated: 2026-03-01