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

@@ -26,6 +26,8 @@ func singleProcessBackendHelp(backend string) string {
// daemon architecture relies on multiple processes (CLI + daemon + helper spawns),
// which can trigger lock contention and transient "read-only" failures.
//
// Exception: --federation flag enables dolt sql-server mode which is multi-writer.
//
// We still allow help output so users can discover the command surface.
func guardDaemonUnsupportedForDolt(cmd *cobra.Command, _ []string) error {
// Allow `--help` for any daemon subcommand.
@@ -35,6 +37,13 @@ func guardDaemonUnsupportedForDolt(cmd *cobra.Command, _ []string) error {
}
}
// Allow `--federation` flag which enables dolt sql-server (multi-writer) mode.
if fedFlag := cmd.Flags().Lookup("federation"); fedFlag != nil {
if federation, _ := cmd.Flags().GetBool("federation"); federation {
return nil
}
}
// Best-effort determine the active workspace backend. If we can't determine it,
// don't block (the command will likely fail later anyway).
beadsDir := beads.FindBeadsDir()