Skip to main content

Split, Each & Parallel

Most real workflows decompose work into tasks and process each one. Gump handles this with split + each and optionally parallel.

Split + Each

A step with type: split produces tasks. The each: block declares the steps to execute per task.
The each: block is a mini-workflow executed per task. Steps within each: are sequential by default. Each task gives access to {task.name}, {task.description}, {task.files}. Tasks are processed sequentially by default. Each task’s sub-steps run in the worktree, results are committed, and the next task starts from the updated state.

Parallel tasks

Add parallel: true on the split step to process tasks simultaneously:
Each task gets its own worktree. Agents work simultaneously. Merge is sequential in declaration order. File conflict = fatal.

The MECE requirement

Parallel execution requires tasks with strictly disjoint blast radii. If two tasks modify the same file, the merge creates a Git conflict and the run stops. Your split prompt should enforce this.

Parallel groups (without split)

You can also parallelize steps without a split:
Each branch gets its own worktree. Merge sequential by order. Conflict = fatal.