fix(federation): allow daemon mode with --federation flag for dolt

Update guards to allow daemon commands when --federation is set.
Federation mode runs dolt sql-server which enables multi-writer
support, unlike embedded Dolt which is single-process only.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
beads/crew/darcy
2026-01-20 20:49:54 -08:00
committed by Steve Yegge
parent da4584ae57
commit 8807a171d3
3 changed files with 14 additions and 4 deletions

View File

@@ -376,10 +376,11 @@ func startDaemon(interval time.Duration, autoCommit, autoPush, autoPull, localMo
os.Exit(1)
}
// Guardrail: single-process backends (e.g., Dolt) must never spawn a daemon process.
// Guardrail: single-process backends (e.g., Dolt embedded) must never spawn a daemon process.
// Exception: federation mode runs dolt sql-server which enables multi-writer support.
// This should already be blocked by command guards, but keep it defensive.
if singleProcessOnlyBackend() {
fmt.Fprintf(os.Stderr, "Error: daemon mode is not supported for single-process backends (e.g., dolt). Hint: use sqlite backend for daemon mode, or run commands in direct mode\n")
if singleProcessOnlyBackend() && !federation {
fmt.Fprintf(os.Stderr, "Error: daemon mode is not supported for single-process backends (e.g., dolt). Hint: use sqlite backend for daemon mode, use --federation for dolt server mode, or run commands in direct mode\n")
os.Exit(1)
}