diff --git a/pkg/agentic/queue.go b/pkg/agentic/queue.go index 8ea8c55..209ee65 100644 --- a/pkg/agentic/queue.go +++ b/pkg/agentic/queue.go @@ -251,10 +251,12 @@ func baseAgent(agent string) string { // // codex: {total: 2, models: {gpt-5.4: 1}} → max 2 codex total, max 1 gpt-5.4 func (s *PrepSubsystem) canDispatchAgent(agent string) bool { - // Read concurrency from shared config (loaded once at startup) var concurrency map[string]ConcurrencyLimit if s.ServiceRuntime != nil { - concurrency = core.ConfigGet[map[string]ConcurrencyLimit](s.Core().Config(), "agents.concurrency") + r := s.Core().Config().Get("agents.concurrency") + if r.OK { + concurrency, _ = r.Value.(map[string]ConcurrencyLimit) + } } if concurrency == nil { cfg := s.loadAgentsConfig() diff --git a/pkg/runner/queue.go b/pkg/runner/queue.go index 363ba29..e0f3775 100644 --- a/pkg/runner/queue.go +++ b/pkg/runner/queue.go @@ -107,8 +107,10 @@ func (s *Service) loadAgentsConfig() *AgentsConfig { func (s *Service) canDispatchAgent(agent string) bool { var concurrency map[string]ConcurrencyLimit if s.ServiceRuntime != nil { - concurrency = core.ConfigGet[map[string]ConcurrencyLimit]( - s.Core().Config(), "agents.concurrency") + r := s.Core().Config().Get("agents.concurrency") + if r.OK { + concurrency, _ = r.Value.(map[string]ConcurrencyLimit) + } } if concurrency == nil { cfg := s.loadAgentsConfig()