Skip to content

v1.2.0 — Parallel Orchestrator

Choose a tag to compare

@vansearch vansearch released this 27 Feb 16:23
· 1 commit to main since this release

What's new

Parallel execution via git worktrees

Add [parallel] to any epic header in TASKS.md to run its tasks concurrently:

## Epic 2 — Scanners [parallel]

- [ ] **E2-T1** Implement AppCacheScanner
- [ ] **E2-T2** Implement SystemCacheScanner
- [ ] **E2-T3** Implement LogsScanner

The orchestrator:

  1. Creates an isolated git worktree per task (.ralph/worktrees/E2-T1/, etc.)
  2. Runs all workers simultaneously via ThreadPoolExecutor, streaming prefixed output ([E2-T1] ...)
  3. Merges successful branches sequentially into the main tree
  4. Runs VERIFY_STEPS once on the merged state
  5. Marks all passing tasks done; reverts and re-queues failed ones as sequential

New CLI flags

python ralph.py --no-parallel       # force sequential (disable parallel)
python ralph.py --max-parallel 8    # allow up to 8 concurrent workers

Other changes

  • run_claude() now accepts cwd and output_prefix for worker isolation
  • All state writes (log_activity, log_progress, add_guardrail) are thread-safe
  • show_status() displays [parallel] tag on parallel epic headers
  • templates/.gitignore updated: adds .ralph/worktrees/ and planning files
  • templates/TASKS.md updated: includes [parallel] example with comment
  • README.md: new Parallel Execution section + updated CLI reference
  • SKILL.md Step 2: [parallel] syntax documented in format + rules

Upgrade

curl -O https://raw.githubusercontent.com/vansearch/ralphloop-implementation/main/ralph.py

Or re-run the skill in your project:

/ralphloop-implementation