Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneeshammz

Relationships

#2593 workflow resume ignores SWAMP_MAX_CONCURRENT_STEPS for job-level concurrency

Opened by hammz · 9/28/2026· Shipped 9/29/2026

Summary

WorkflowExecutionService.run() caps job-level concurrency with resolveEffectiveConcurrency(workflow.concurrency, readGlobalConcurrencyLimit()), so SWAMP_MAX_CONCURRENT_STEPS bounds parallel jobs. The resume() job loop uses resolvedWorkflow.concurrency directly as the mergeWithConcurrency limit, so a resumed run ignores the global cap (and runs jobs unbounded when the workflow sets no concurrency).

Where

src/domain/workflows/execution_service.ts: run() computes jobConcurrency via resolveEffectiveConcurrency; resume() sets jobConcurrency = resolvedWorkflow.concurrency.

Expected

A resumed run applies the same effective job concurrency as a fresh run.

Context

Found while planning swamp-club#2550.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 11 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/29/2026, 8:24:43 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
hammz assigned hammz9/29/2026, 7:33:08 PM

Sign in to post a ripple.