Gitmoot v0.3.5-beta.1
Gitmoot v0.3.5-beta.1 hardens the delegation termination model so coordinator
trees always end in a clean synthesis, adds built-in coordinator recipes, and
makes the daemon and dashboard work from any directory. Pre-release built from
main.
Highlights
Bounded delegation, graceful finish
- Every termination backstop — depth (
MaxDelegationDepth = 8), per-root job budget (MaxDelegationTotalJobs = 64), per-coordinator width (MaxDelegationWidth = 16), the new per-root wall-clock budget (MaxDelegationWallClock = 2h), and windowed loop detection — now ends with a graceful finalize continuation: the coordinator is asked once to synthesize a best-effort final result and return empty delegations, instead of the delegated work being dropped silently. Events:delegation_finalize_enqueuedon a trip,delegation_finalizedwhen a finalize continuation's own delegations are ignored. - The new wall-clock backstop bounds an expensive-but-not-numerous tree (slow
agents, long per-job work) that the shape-based caps can't catch; trips emit
delegation_walltime_exceeded.
Coordinator recipes
- Two built-in coordinator templates: review-panel (fan a PR out to a
diverse-lens panel of ephemeral reviewers) and decompose-and-verify (split
a task into parallel implement legs plus a verify gate). Run them with
gitmoot orchestrate review-panel "..."/gitmoot orchestrate decompose-and-verify "...".
Delegation scheduling & validation
- Read-only fan-out (
ask/reviewchildren) now runs in parallel detached worktrees instead of serializing on the shared checkout; a read-only verify gate thatdepsonimplementlegs runs in a detached worktree with those legs' branches merged in, so it sees their combined work. - Delegation validation errors are now positional and aggregated —
delegations[<index>] (id "<id>"): <field> is required, with every offending field reported together and fixed in a single repair retry.
Works from anywhere
gitmoot daemon start --repo owner/reporesolves the repo's registered checkout, so it runs from any directory (origin protection preserved) instead of requiring the current directory to be the matching checkout.- The dashboard Health page splits into global checks (binaries, auth —
rendered once) and per-repo checks (run against each registered repo's
checkout), so
gitmoot dashboardworks from any directory instead of showing spurious "not a git repository" failures. A repo with no checkout reports "no checkout" rather than failing.
Validation
go build/go vet/go test ./...and the-raceworkflow suite are green; each feature was validated end-to-end on a live Codex session.
Install / update
gitmoot update # existing installs
curl -fsSL https://gitmoot.io/install.sh | sh # fresh install
Assets: gitmoot_linux_amd64, gitmoot_darwin_amd64, gitmoot_darwin_arm64,
sha256sums.txt.