- Add explicit boundary comments to serve.ts and dashboard.ts clarifying semaphore lane usage - Add regression tests for semaphore lane-vs-utility boundary in serve.test.ts and dashboard.test.ts - Add changeset for @gsxdsm/fusion patch release
971 B
971 B
@gsxdsm/fusion
| @gsxdsm/fusion |
|---|
| patch |
Harden CLI semaphore boundaries to task lanes only
This change makes the concurrency semaphore boundary explicit in the CLI bootstrap code (runDashboard and runServe):
Task-lane components (semaphore-governed):
TriageProcessor— specification agentsTaskExecutor— execution agentsScheduler— task coordinationonMerge— merge execution (viasemaphore.run())
Utility workflows (NOT semaphore-governed):
HeartbeatMonitor— lightweight heartbeat sessionsHeartbeatTriggerScheduler— trigger schedulingCronRunner(viacreateAiPromptExecutor) — scheduled automation- Model sync, auth setup, plugin loading — bootstrap workflows
This boundary prevents utility workflows from being blocked by task-lane saturation and ensures utility work is always available regardless of maxConcurrent settings.
Added regression tests to lock this boundary and prevent future regressions.