Gitmoot v0.5.0
Headline: an opt-in continuous worker-pool scheduler (--scheduler pool)
plus a batch of workflow/daemon fixes. The new scheduler is opt-in and the
default per-tick scheduler is unchanged, so upgrading is safe.
What's new since v0.4.2
- feat(daemon): opt-in continuous worker-pool scheduler (#394) —
gitmoot daemon run|start --scheduler poolkeeps up to--workersjobs busy and re-queries the queue as workers free (so a job queued after dispatch began is picked up without waiting for the in-flight batch), with live in-flight checkout accounting for working-tree safety. A read-only follow-up (ask/review) blocked only by a contended same-repo checkout is auto-isolated into an ephemeral detached worktree so it runs beside the holder instead of deadlocking. Default stays the existing barrier. - fix(daemon):
--skip-native-review-fanoutTOCTOU (#390) — the skip flag is now persisted onto the branch lock before the PR is opened, so the daemon's PR-watcher never fans out native reviews in the gap. - fix(workflow): keep the terminal-success result on a post-advance error +
idempotent PR create (#387) —
agent implement --jsonno longer drops the result envelope when the post-implement PR advance errors; PR creation adopts a concurrent/out-of-band PR instead of erroring. - fix(workflow): release the cancelled job's runtime-session lock on cancel (#391) — cancelling a job no longer strands its runtime-session lock for the TTL.
- fix(workflow): sanitize unsafe worktree path segments (#384) — multi-round coordinators can dispatch implement again. Thanks @gaijinjoe.
- feat(workflow): operator kill switch for delegation trees (#341) — stop a runaway tree; the coordinator still finalizes gracefully.
- feat(workflow): per-root token budget for delegation trees (#338).
- feat(skillopt): apply the accepted judge prompt to production (#354).
- docs: running one agent's jobs concurrently (#396); pin the SkillOpt install wheel to gitmoot-skillopt v0.3.1 (#346).
All additive / opt-in (default behavior byte-identical), shipped via squash-merge
with the CI gate green and adversarial /code-review. The pool scheduler and the
#390 fix were validated end-to-end with live Codex against a real daemon.