Adjust sync timings for better batching behavior

- Increase flush debounce from 1s to 30s (provides transaction window for batch operations)
- Increase daemon poll from 2s to 5s (reduces commit spam)
- Agents should run 'bd sync' at end of session to force immediate commit
- Prevents creating dozens of commits when making multiple issue changes
This commit is contained in:
Steve Yegge
2025-10-26 17:15:39 -07:00
parent fcff20a735
commit e910d96bc6
3 changed files with 5 additions and 5 deletions

View File

@@ -29,7 +29,7 @@ var daemonCmd = &cobra.Command{
Long: `Run a background daemon that automatically syncs issues with git remote.
The daemon will:
- Poll for changes at configurable intervals (default: 2 seconds)
- Poll for changes at configurable intervals (default: 5 seconds)
- Export pending database changes to JSONL
- Auto-commit changes if --auto-commit flag set
- Auto-push commits if --auto-push flag set
@@ -172,7 +172,7 @@ Use --health to check daemon health and metrics.`,
}
func init() {
daemonCmd.Flags().Duration("interval", 2*time.Second, "Sync check interval")
daemonCmd.Flags().Duration("interval", 5*time.Second, "Sync check interval")
daemonCmd.Flags().Bool("auto-commit", false, "Automatically commit changes")
daemonCmd.Flags().Bool("auto-push", false, "Automatically push commits")
daemonCmd.Flags().Bool("stop", false, "Stop running daemon")

View File

@@ -462,12 +462,12 @@ var rootCmd = &cobra.Command{
// getDebounceDuration returns the auto-flush debounce duration
// Configurable via config file or BEADS_FLUSH_DEBOUNCE env var (e.g., "500ms", "10s")
// Defaults to 1 second if not set or invalid
// Defaults to 30 seconds if not set or invalid (provides batching window)
func getDebounceDuration() time.Duration {
duration := config.GetDuration("flush-debounce")
if duration == 0 {
// If parsing failed, use default
return 1 * time.Second
return 30 * time.Second
}
return duration
}

View File

@@ -80,7 +80,7 @@ func Initialize() error {
_ = v.BindEnv("auto-start-daemon", "BEADS_AUTO_START_DAEMON")
// Set defaults for additional settings
v.SetDefault("flush-debounce", "1s")
v.SetDefault("flush-debounce", "30s")
v.SetDefault("auto-start-daemon", true)
// Read config file if it exists (don't error if not found)