feat(engine): add background project engine reconciliation + global concurrency setting
- ProjectEngineManager.startReconciliation() polls for newly registered projects every 30s and starts their engines without requiring UI access - Expose global concurrency limit in dashboard settings - Fix SettingsModal test cleanup Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
5
.changeset/expose-global-concurrency-setting.md
Normal file
5
.changeset/expose-global-concurrency-setting.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@gsxdsm/fusion": patch
|
||||
---
|
||||
|
||||
Expose the system-wide global concurrency limit in dashboard settings.
|
||||
11
.changeset/project-engine-reconciliation.md
Normal file
11
.changeset/project-engine-reconciliation.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
"@gsxdsm/fusion": patch
|
||||
---
|
||||
|
||||
Decouple project execution startup from dashboard page access
|
||||
|
||||
Previously, project task execution (triage, scheduling, in-progress transitions) would only start for projects registered after boot if a user navigated to the Projects view in the dashboard UI, which triggered the `onProjectFirstAccessed` lazy-start callback.
|
||||
|
||||
This fix adds a background reconciliation loop in `ProjectEngineManager` that periodically checks for newly registered projects and starts their engines without requiring any UI access. Projects registered via `fn project add` after the dashboard or headless node starts will now have their engines started automatically within the next reconciliation interval (30 seconds by default).
|
||||
|
||||
The `onProjectFirstAccessed` callback remains wired as a fast-path fallback for potential optimization, but it is no longer required for correctness.
|
||||
Reference in New Issue
Block a user