Files
fusion/packages
Timothy Laurent 4bdd1d2bcf fix(FN-31): resolve per-project HeartbeatMonitor in multi-project setups
When running multiple projects (e.g., primary + fitness-app), on-demand
agent heartbeat triggers from the dashboard silently created zombie run
records that never executed. The agent appeared "running" but produced
no logs, no system prompt, no execution prompt.

Root cause: the dashboard routes used a single HeartbeatMonitor bound to
whichever project initialized first. For agents in other projects,
isHeartbeatMonitorForProject() returned false, causing either a 400
error or a fallback to agentStore.startHeartbeatRun() which only creates
a record without executing.

Fix: add resolveHeartbeatMonitor() which looks up the correct engine's
HeartbeatMonitor via engineManager by matching the scoped store's root
directory. Update POST /agents/:id/runs, POST /agents/:id/heartbeat,
POST /agents/:id/runs/stop, and triggerCommentWakeForAssignedAgent to
use the resolved monitor instead of the single static one.

Closes Runfusion/Fusion#31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Co-authored-by: Orca <help@stably.ai>
2026-05-03 23:38:19 -07:00
..
2026-05-01 17:46:40 -07:00
2026-05-01 17:46:40 -07:00
2026-05-01 17:46:40 -07:00
2026-05-01 17:46:40 -07:00
2026-05-01 17:46:40 -07:00
2026-05-01 17:46:40 -07:00
2026-05-01 17:46:40 -07:00
2026-05-01 17:46:40 -07:00