Skip to content

v1.0 — parallel execution + merge strategy

Choose a tag to compare

@sid-valecha sid-valecha released this 09 Jun 17:16
· 22 commits to main since this release

The first stable milestone. Praetor now drains task DAGs in parallel using per-task git worktrees, with verify-gated commits and configurable merge strategy.

What's new

Parallel execution

  • praetor run --max-parallel N drains eligible siblings concurrently
  • Each task gets its own git worktree at .praetor/worktrees/<task-id>/
  • parallel_ok: false tasks run alone (pool drains first)
  • Worktree-collision recovery: failed tasks don't crash the run
  • Stale-running detection at startup (fails closed with recovery guidance)

Merge strategy

  • manual default — verified tasks park as pending_merge for human integration
  • auto opt-in via --merge-strategy auto on praetor run, or per-task via frontmatter
  • praetor merge [TASK_ID...] [--all] [--retry] for selective or batch integration
  • git merge --no-ff --no-edit with deterministic merge message
  • Idempotent (already-merged branches return success); abort hygiene on conflict

Other

  • New TaskStatus values: pending_merge, merge_failed (recoverable; does not cascade)
  • praetor status shows new statuses with distinct styles
  • praetor add --parallel-ok/--no-parallel-ok --merge-strategy auto|manual
  • Runner now owns task commits (git add -A && git commit after verify passes, in the worktree)
  • GitHub Actions CI on Python 3.11 + 3.12 + Docker build
  • 115 tests across unit + integration + e2e
  • Design spec published in roadmap.md

Backward compatibility

Sequential mode (--max-parallel 1, the default) preserves v0 behavior exactly — no worktrees, no runner-owned commits, no merge step. Existing v0 workflows continue to work without changes.

Install

PyPI publication is the next polish step. For now, install from source:

```bash
pipx install git+https://github.com/sid-valecha/praetor.git@v1.0
```

Then verify:

```bash
praetor --help
```

Honest limitations

These items are intentionally not in v1; each tracked as a GitHub issue:

  • Conflict detection at dispatch time (#4)
  • Post-merge verification on the base branch (#5)
  • Recovery UX (`praetor reset`) for stale-running tasks (#6)
  • Worktree cleanup flag for disk-pressure management (#7)
  • Multi-OS CI matrix (#8)
  • Code coverage reporting (#9)
  • CLI progress / event callback API (#10)

Acknowledgements

v1's design picks were sharpened through Codex-based consultation passes (model: gpt-5.5, effort: high) before each implementation phase — auto-vs-manual merge default, worktree model expansion, and the runner-owned-commit pattern all came from those reviews. Implementation dispatches were verified independently before commit.