- Create AgentSemaphore class in engine/src/concurrency.ts with configurable maxConcurrent - Integrate semaphore into TriageProcessor and TaskExecutor to gate agent spawning - Wire semaphore into merge path and dashboard engine components - Add comprehensive tests for concurrency, executor, and triage integration - Update JSDoc and types for maxConcurrent configuration option