From 5bb53f28ff403c0caa94f361dce936466ad0ab5b Mon Sep 17 00:00:00 2001 From: Dotta Date: Fri, 1 May 2026 10:08:52 -0500 Subject: [PATCH] Raise agent heartbeat concurrency default Co-Authored-By: Paperclip --- doc/SPEC-implementation.md | 2 +- packages/shared/src/constants.ts | 2 +- server/src/__tests__/agent-permissions-routes.test.ts | 4 ++-- server/src/__tests__/company-portability.test.ts | 4 ++-- server/src/services/heartbeat.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/SPEC-implementation.md b/doc/SPEC-implementation.md index d77384ee4a4..02b8e783cbe 100644 --- a/doc/SPEC-implementation.md +++ b/doc/SPEC-implementation.md @@ -676,7 +676,7 @@ Per-agent schedule fields in `adapter_config`: - `enabled` boolean - `intervalSec` integer (minimum 30) -- `maxConcurrentRuns` integer; new agents default to `5` +- `maxConcurrentRuns` integer; new agents default to `20` Scheduler must skip invocation when: diff --git a/packages/shared/src/constants.ts b/packages/shared/src/constants.ts index 8b196e93526..8cbe9eefdfa 100644 --- a/packages/shared/src/constants.ts +++ b/packages/shared/src/constants.ts @@ -72,7 +72,7 @@ export const AGENT_ROLE_LABELS: Record = { general: "General", }; -export const AGENT_DEFAULT_MAX_CONCURRENT_RUNS = 5; +export const AGENT_DEFAULT_MAX_CONCURRENT_RUNS = 20; export const WORKSPACE_BRANCH_ROUTINE_VARIABLE = "workspaceBranch"; export const MODEL_PROFILE_KEYS = ["cheap"] as const; diff --git a/server/src/__tests__/agent-permissions-routes.test.ts b/server/src/__tests__/agent-permissions-routes.test.ts index 85d4f1801f4..624f37727e4 100644 --- a/server/src/__tests__/agent-permissions-routes.test.ts +++ b/server/src/__tests__/agent-permissions-routes.test.ts @@ -901,7 +901,7 @@ describe.sequential("agent permission routes", () => { heartbeat: { enabled: false, intervalSec: 3600, - maxConcurrentRuns: 5, + maxConcurrentRuns: 20, }, }, }), @@ -939,7 +939,7 @@ describe.sequential("agent permission routes", () => { heartbeat: { enabled: false, intervalSec: 3600, - maxConcurrentRuns: 5, + maxConcurrentRuns: 20, }, }, }), diff --git a/server/src/__tests__/company-portability.test.ts b/server/src/__tests__/company-portability.test.ts index 017943850e0..fecd7a78357 100644 --- a/server/src/__tests__/company-portability.test.ts +++ b/server/src/__tests__/company-portability.test.ts @@ -2158,7 +2158,7 @@ describe("company portability", () => { runtimeConfig: { heartbeat: { enabled: false, - maxConcurrentRuns: 5, + maxConcurrentRuns: 20, }, }, }); @@ -2237,7 +2237,7 @@ describe("company portability", () => { runtimeConfig: { heartbeat: { enabled: false, - maxConcurrentRuns: 5, + maxConcurrentRuns: 20, }, }, })); diff --git a/server/src/services/heartbeat.ts b/server/src/services/heartbeat.ts index f7c0a220bd2..119002c07fd 100644 --- a/server/src/services/heartbeat.ts +++ b/server/src/services/heartbeat.ts @@ -145,7 +145,7 @@ const MAX_RUN_EVENT_PAYLOAD_OBJECT_KEYS = 100; const MAX_RUN_EVENT_PAYLOAD_DEPTH = 6; const HEARTBEAT_MAX_CONCURRENT_RUNS_DEFAULT = AGENT_DEFAULT_MAX_CONCURRENT_RUNS; const HEARTBEAT_MAX_CONCURRENT_RUNS_MIN = 1; -const HEARTBEAT_MAX_CONCURRENT_RUNS_MAX = 10; +const HEARTBEAT_MAX_CONCURRENT_RUNS_MAX = 20; const LIVENESS_BOOKKEEPING_ACTIVITY_ACTIONS = [ "environment.lease_acquired", "environment.lease_released",