Gitmoot v0.8.0
A reliability-and-features release. The headline is daemon hardening for lights-out operation, plus two new opt-in features. Everything new is additive and off by default.
What's new since v0.7.0
Daemon reliability (lights-out operation)
- Singleton guard for
daemon run(#550) — a stray or second daemon launched on the same home is now refused (daemon already running with pid …) instead of silently coexisting and racing the SQLite store. Detection uses a real owner-pid liveness check, so a stale pidfile from a dead daemon still allows a clean restart. (Follow-up #556 tracks aflockbackstop for the rare simultaneous-launch window.) - Bounded supervisor reclaim scan (#549) — the ~1s worker tick no longer re-scans the entire jobs table (and every job's event history) each tick. The scan is now proportional to in-flight work, ending the per-second CPU core-burn that long-lived daemons accumulated.
- Reconcile a task wedged by a closed duplicate PR (#543) — a task no longer
gets stuck in
reviewingpointing at stale open-PR state; it detects a merged sibling PR on the branch and finalizes (releasing the branch lock + worktree), instead of re-surfacing completed work to a human.
Contributor reliability fixes (unattended operation)
- Clear stale read-only delegation worktrees on manual retry so a retry doesn't die on a deleted checkout (#544).
- Council/external-owned PRs can skip Gitmoot's native merge gate — fail-closed (Gitmoot abstains, never a gateless merge), off by default (#545).
- Kimi split into two runtimes — the default
kimiruntime is unchanged (kimi-code: no--print, structuredstream-json), and the older CLI is an opt-inkimi-cliruntime for hosts that need it (#546), with cross-family review treatingkimi-clias the kimi family (#561). - Generic, off-by-default
[orchestrate]delegation-timeout defaults — no private naming conventions in core (#548).
New features (opt-in, off by default)
- GitHub-backed agent templates (#476, MVP) —
gitmoot agent template exportwrites your custom templates to files, andgitmoot agent template add <id> --from-repo <owner/repo>restores one on another machine. Back up and move templates across machines via GitHub. (Publish/bulk-pull/config remote are follow-ons.) - Agent heartbeat schedules (#533, MVP) — an
[agents.<agent>.heartbeats.<name>]config section runs an agent on a recurring schedule (e.g. a daily stale-PR sweep), reusing the existing job/worker path. Restart-safe (never double-fires), missed-tick-coalescing, and byte-identical when no heartbeat is configured.
Upgrade notes
No breaking changes. The new daemon behavior is automatic; the two new features are
opt-in. Re-launching a daemon on the same home is now refused (intended) — stop the
existing one first, or use a different --home for a genuinely separate daemon.
Install / upgrade
- Existing install:
gitmoot update - Fresh install:
curl -fsSL https://gitmoot.io/install.sh | sh