Replace dev-review-release.sh with a single-process Haskell pipeline.
Only the dev phase uses an LLM agent. Verify (bild) and integrate (cherry-pick) are deterministic. Concurrent dev via workspace pool. Structured pipeline state in SQLite. Single process eliminates race conditions and tmux coordination.
Design doc: Omni/Pipeline/DESIGN.md Supersedes: t-587 (bash version improvements)
Pipeline end-to-end tested (3abe99a):
1. Native pi spawning works (claude-code buffet provider) 2. Agent successfully: reads task, edits file, runs typecheck/bild, commits with Task-Id trailer 3. Verify phase runs bild + branch shape check 4. Integrate phase cherry-picks onto base branch 5. Stale worktree recovery fixed (filters state.db files) 6. PID-based process tracking for async polling
Remaining: need to improve recovery logic for worktrees with existing commits, and overall timeout handling (pi -p takes ~9min for trivial tasks with claude-code).