Skip to content

v0.4.0 — resilience, parallel-correctness & PR reconciliation

Choose a tag to compare

@mabry1985 mabry1985 released this 13 Jun 06:42
ddd0980

The plugin's first hardening release: a tested, CI-gated, resilient autonomous board-driver. Everything since v0.2.0 (PRs #4#13).

Highlights

Testing & CI

  • First test suite — 116 tests, runs standalone (no protoAgent host needed).
  • CI on the org's Namespace runner (ruff lint + format + pytest).
  • ruff-clean source; manifest ↔ pyproject version coherence.

Throughput

  • Parallel drivesmax_concurrent > 1 builds several features at once, each in its own worktree.
  • Merge-poll / PR reconcile Done edge — works without a public webhook URL.

P0 — resilience (survives unattended)

  • Failure classification + backoff — transient failures (rate-limit / network / merge-conflict) retry with backoff; capability failures escalate a tier or block; terminal failures (auth / unknown) block. No more "any failure → permanently blocked."
  • Stuck-coder watchdog (coder_timeout_s, default 30 min) — a hung coder is killed and reaped; every await in a drive is now bounded.
  • Crash recovery on boot — features stranded in_progress by a previous run are resumed (adopt an open PR) or reset to ready.

P1 — concurrency-correctness

  • Hot-file overlap guard — two parallel coders never edit the same file (a guaranteed conflict).
  • Review-queue WIP limit (max_pending_reviews, default 5) — don't pile up PRs faster than they merge.
  • Periodic health sweep (health_sweep_interval_s) — reclaim slots from dead drives, reap orphaned worktrees.
  • Foundation-aware dependency gate — opt-in dep_gate: review releases non-foundation blockers at in_review; foundation=True features always gate dependents on merge.

P2 — reconciliation

  • PR reconcilein_review features are reconciled to their PR's real state: merged → done, closed-unmerged → blocked (the last "stuck-forever" class).

Compatibility

  • Requires protoAgent ≥ 0.27.0, the br (beads) CLI, git + gh, and the delegates plugin with an acp coder.
  • Ships disabled; new config knobs all have safe defaults (serial, merge-gated, watchdog on). No breaking changes — install/enable as before.

Full diff: v0.2.0...v0.4.0