Unified Agent + reusable Go agent core.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: raise default agent loop limits

Lyric d4337e42 c583f9f9

+11 -11
+1 -1
agent/engine.go
··· 186 186 cfg.ParseRetries = 0 187 187 } 188 188 if cfg.ToolRepeatLimit <= 0 { 189 - cfg.ToolRepeatLimit = 3 189 + cfg.ToolRepeatLimit = DefaultToolRepeatLimit 190 190 } 191 191 if spec.Identity == "" { 192 192 spec = DefaultPromptSpec()
+2 -2
agent/engine_hooks_test.go
··· 255 255 func TestEngineConfig_DefaultToolRepeatLimit(t *testing.T) { 256 256 client := newMockClient(finalResponse("ok")) 257 257 e := New(client, baseRegistry(), Config{}, DefaultPromptSpec()) 258 - if e.config.ToolRepeatLimit != 3 { 259 - t.Fatalf("tool repeat limit = %d, want 3", e.config.ToolRepeatLimit) 258 + if e.config.ToolRepeatLimit != 64 { 259 + t.Fatalf("tool repeat limit = %d, want 64", e.config.ToolRepeatLimit) 260 260 } 261 261 } 262 262
+1 -1
agent/limits.go
··· 3 3 const ( 4 4 DefaultMaxSteps = 15 5 5 DefaultParseRetries = 2 6 - DefaultToolRepeatLimit = 3 6 + DefaultToolRepeatLimit = 64 7 7 ) 8 8 9 9 // Limits groups loop-control knobs so upper layers can pass agent limits
+2 -2
assets/config/config.example.yaml
··· 578 578 579 579 # Agent loop limits. 580 580 # - max_steps: maximum tool-call steps in the ReAct loop. 581 - max_steps: 15 581 + max_steps: 64 582 582 # - parse_retries: how many times to ask the model to retry if it emits invalid JSON. 583 583 parse_retries: 2 584 584 # - max_token_budget: stop the loop once cumulative tokens exceed this (0 disables). 585 585 max_token_budget: 0 586 586 # - tool_repeat_limit: maximum executions per tool name within one run. 587 - tool_repeat_limit: 3 587 + tool_repeat_limit: 64 588 588 # Overall run timeout. 589 589 timeout: "10m" 590 590
+2 -2
internal/channelruntime/slack/runtime_options_test.go
··· 44 44 if got.AgentLimits.ParseRetries != 2 { 45 45 t.Fatalf("agent parse retries = %d, want 2", got.AgentLimits.ParseRetries) 46 46 } 47 - if got.AgentLimits.ToolRepeatLimit != 3 { 48 - t.Fatalf("agent tool repeat limit = %d, want 3", got.AgentLimits.ToolRepeatLimit) 47 + if got.AgentLimits.ToolRepeatLimit != 64 { 48 + t.Fatalf("agent tool repeat limit = %d, want 64", got.AgentLimits.ToolRepeatLimit) 49 49 } 50 50 if got.MaxConcurrency != 3 { 51 51 t.Fatalf("max concurrency = %d, want 3", got.MaxConcurrency)
+2 -2
internal/channelruntime/telegram/runtime_options_test.go
··· 83 83 if got.AgentLimits.ParseRetries != 2 { 84 84 t.Fatalf("agent parse retries = %d, want 2", got.AgentLimits.ParseRetries) 85 85 } 86 - if got.AgentLimits.ToolRepeatLimit != 3 { 87 - t.Fatalf("agent tool repeat limit = %d, want 3", got.AgentLimits.ToolRepeatLimit) 86 + if got.AgentLimits.ToolRepeatLimit != 64 { 87 + t.Fatalf("agent tool repeat limit = %d, want 64", got.AgentLimits.ToolRepeatLimit) 88 88 } 89 89 if got.FileCacheDir != "~/.cache/morph" { 90 90 t.Fatalf("file cache dir = %q, want ~/.cache/morph", got.FileCacheDir)
+1 -1
internal/configdefaults/defaults.go
··· 26 26 v.SetDefault("max_steps", 15) 27 27 v.SetDefault("parse_retries", 2) 28 28 v.SetDefault("max_token_budget", 0) 29 - v.SetDefault("tool_repeat_limit", 3) 29 + v.SetDefault("tool_repeat_limit", 64) 30 30 v.SetDefault("timeout", 10*time.Minute) 31 31 v.SetDefault("chat.compact_mode", false) 32 32 v.SetDefault("tools.plan_create.enabled", true)