prioritize user conversations by pausing autonomy and expose retry/dedupe telemetry

This commit is contained in:
DBT
2026-02-24 01:45:50 +00:00
parent 4667f7afcf
commit 1328c1feec
5 changed files with 57 additions and 0 deletions

View File

@@ -53,6 +53,7 @@ type AutonomyConfig struct {
MaxDispatchPerTick int `json:"max_dispatch_per_tick" env:"CLAWGO_AGENTS_DEFAULTS_AUTONOMY_MAX_DISPATCH_PER_TICK"`
NotifyCooldownSec int `json:"notify_cooldown_sec" env:"CLAWGO_AGENTS_DEFAULTS_AUTONOMY_NOTIFY_COOLDOWN_SEC"`
QuietHours string `json:"quiet_hours" env:"CLAWGO_AGENTS_DEFAULTS_AUTONOMY_QUIET_HOURS"`
UserIdleResumeSec int `json:"user_idle_resume_sec" env:"CLAWGO_AGENTS_DEFAULTS_AUTONOMY_USER_IDLE_RESUME_SEC"`
NotifyChannel string `json:"notify_channel" env:"CLAWGO_AGENTS_DEFAULTS_AUTONOMY_NOTIFY_CHANNEL"`
NotifyChatID string `json:"notify_chat_id" env:"CLAWGO_AGENTS_DEFAULTS_AUTONOMY_NOTIFY_CHAT_ID"`
}
@@ -307,6 +308,7 @@ func DefaultConfig() *Config {
MaxDispatchPerTick: 2,
NotifyCooldownSec: 300,
QuietHours: "23:00-08:00",
UserIdleResumeSec: 20,
NotifyChannel: "",
NotifyChatID: "",
},

View File

@@ -108,6 +108,9 @@ func Validate(cfg *Config) []error {
errs = append(errs, fmt.Errorf("agents.defaults.autonomy.quiet_hours must be HH:MM-HH:MM"))
}
}
if aut.UserIdleResumeSec <= 0 {
errs = append(errs, fmt.Errorf("agents.defaults.autonomy.user_idle_resume_sec must be > 0 when enabled=true"))
}
}
texts := cfg.Agents.Defaults.Texts
if strings.TrimSpace(texts.NoResponseFallback) == "" {