Skip to content

Parallel implementation

Splits one change into the feature, its tests, and its documentation, implements the three in parallel sandboxes, and joins them into a single pull request.

Template parallel-fan-out
Works on A git repository, cloned into an isolated Docker sandbox
Where a person acts Nobody inside the run. The pull request it opens is merged by a person, outside it.
Parallel work Yes — branches run concurrently

Drawn from the template spec at build time. Bookkeeping nodes that only record status are left out; amber nodes are where a person acts.

flowchart TD
  n_validate["Validate"]
  n_fanOutImpl["Fan out impl<br/><small>runs branches in parallel</small>"]
  n_implementBranch["Implement branch"]
  n_checkFanOutResult{"Check fan out result?"}
  n_branchDone(["Done<br/><small>branch done</small>"])
  n_merge["Merge"]
  n_terminatePartialFail(["Failed<br/><small>partial fail</small>"])
  n_checkMerge{"Check merge?"}
  n_openPR["Open PR"]
  n_resolveConflict["Resolve conflict"]
  n_done(["Done"])
  n_checkResolved{"Check resolved?"}
  n_terminateMergeFailed(["Failed<br/><small>merge failed</small>"])
  n_validate --> n_fanOutImpl
  n_fanOutImpl -->|"each branch"| n_implementBranch
  n_fanOutImpl -->|"joined"| n_checkFanOutResult
  n_implementBranch --> n_branchDone
  n_checkFanOutResult -->|"yes"| n_merge
  n_checkFanOutResult -->|"no"| n_terminatePartialFail
  n_merge --> n_checkMerge
  n_checkMerge -->|"yes"| n_openPR
  n_checkMerge -->|"no"| n_resolveConflict
  n_openPR --> n_done
  n_resolveConflict --> n_checkResolved
  n_checkResolved -->|"yes"| n_openPR
  n_checkResolved -->|"no"| n_terminateMergeFailed

Ships as a built-in template and reuses the engineering steps the flagship flow runs. This particular arrangement of them is not separately exercised end to end against a real repository. See product overview §8.

Every built-in template is seeded into the workflow library and can be cloned, edited on the visual canvas, and versioned — see architecture for the node types. The spec lives in packages/shared/src/workflow/templates/parallelFanOut.ts.

© 2026 Jorge Barnaby

Source-available under FSL-1.1-MIT

Source on GitHub

Built with Astro and Starlight