Gitmoot v0.9.7
Reviews run off-box, the queue no longer stalls on cleanup, and the daemon idles. Three months of work since v0.9.6.3: 392 commits, 64 features and 187 fixes. Everything below ran live on the maintainers' fleet before tagging.
What's new since v0.9.6.3
Reviews can run off-box
- Remote reviews on E2B (#2233, #2234, #2241): pick the execution backend per review job with
--exec-backend remote. The OMP review template is versioned and sizing is configurable. There is a hard compute-dollar cap that reserves budget before provisioning (#1540), and model credentials come from the keychain, never from the sandbox (#1538, #2158). - Capacity-blocked reviews move to E2B automatically, with a review-only threshold and alerts to the agent (#2372).
- Private evidence (#2476): bounded, hash-pinned files are synced into remote reviews, and pinned evidence the reviewer never opened is flagged (#2483).
Reviews are easier to trust and reuse
- Unified review router (#2171): exact-head dedup, OMP model pools, and a wake for the requester when the verdict lands.
- Delta reviews (#2177) start from the last terminal verdict at an ancestor head.
--supersede(#2515) re-reviews a whole head again. - No-execution review mode (#2364): a review that may not run code takes exact-head CI evidence in place of the checks it cannot run.
- Findings ledger (#1822, #1969, #1970): findings are kept per finding id and head and reported per repo. A dead review's findings are salvaged instead of lost (#2224).
- Merge gate: it blocks on P1 and P2 and reports P3 (#2102). Blocking severity can be set per repo (#1693).
gitmootcan say what the gate still demands at a head (#2097). Optional per-repo low-risk auto-merge is gated on the exact-head review level (#2343). - CI-verified checks (#2520): a check the review environment cannot run (for example Xcode) is satisfied by green exact-head CI that the reviewer verifies itself.
- Related PRs (#2509):
review request --related-pr Ngives the reviewer a read-only copy of a sibling PR's pinned head from the same repo.
The queue no longer stalls on cleanup
- Worktree cleanup on slow or network storage no longer holds up job starts (#2518, #2519, #2521). Reclaim runs on its own loop beside dispatch (#2517).
- A worktree is moved aside under the cleanup fence and its files are deleted afterwards, so one deletion no longer pauses every repo (#2524).
- Refused cleanups are no longer re-captured over and over (#2525). Obligations of unregistered or renamed repos are reclaimed (#2531).
- Live effect on the maintainers' fleet: review start wait went from 8–36 min to about 1 min.
- Worktree root is configurable, with a mount preflight (#2375). The review free-space floor is configurable too (#2513).
The daemon idles
- Review payloads are decoded once per poll and scoped to the polled repo; the archived-seat directive park uses its indexes (#2530).
- Host-wide housekeeping runs once per tick instead of once per enabled repo.
- SQLite WAL growth is bounded (#2384), and idle staged runtime copies are collected (#2382).
- Live effect: daemon CPU went from about 1.0 to 0.35 cores with 89 enabled repos.
Operating the fleet
gitmoot daemon drain(#1207) lets a busy fleet reach an idle window for restarts.- Org seats: wakes on review verdicts by default (#2162); sibling messaging and PR-collision warnings (#1692);
seat rm --forceand--no-checkout(#1813, #2507);org await withdraw(#2484); archived-seat ingestion and directive parking (#1635); owner wakes delivered as Herdr Grams (#2345). - Diagnostics: why a queued job was declined (#2118), why a headless review was skipped (#2008), interrupt rate per seat (#1983), merged PRs with unresolved obligations (#1971), and where a review's wall time goes (#1824).
Known open work
The review and merge-integrity tracking issues #1300, #1971 and #2085 are still open. This release improves that area but does not close it.
macOS
macOS builds ship again (they had failed to build since September; #2537). Runtime staging for read-only seats stays Linux-only: on macOS it fails closed, as before.
Upgrading
gitmoot update on a released build, curl -fsSL https://gitmoot.io/install.sh | sh, or download gitmoot_<os>_<arch> from the release assets (sha256sums included). The daemon applies new schema migrations at startup; no manual step is needed.