feat(FN-3535): restore terminated agent state and align lifecycle controls

This merge completes the agent terminated state alignment (FN-3535), adding "running → terminated" transition support with consistent styling and lifecycle controls across the heartbeat engine, agent store, and dashboard UI, plus plugin author documentation improvements (FN-3537) and plugin loader t

Fusion-Task-Id: FN-3535
This commit is contained in:
Fusion
2026-05-06 03:01:23 -07:00
committed by gsxdsm
parent 348f343b00
commit 94a5dca53c
17 changed files with 304 additions and 35 deletions

View File

@@ -673,10 +673,14 @@ Heartbeat timers are armed for agents in valid working states and remain armed a
- `idle` — Agent is between tasks, waiting for work
**States where timers are cleared:**
- `terminated` — Agent has completed or been stopped
- `terminated` — Agent has completed or been stopped (non-tickable until explicitly reactivated)
- `error` — Agent encountered an unrecoverable error
- `paused` — Agent is paused (e.g., by budget exhaustion or manual action)
Lifecycle notes:
- Agents can enter `terminated` from `active`, `running`, `paused`, or `error`.
- From `terminated`, agents can be explicitly reactivated to `idle`, `active`, or `running`.
**Key behaviors:**
- Timers remain armed when agents transition between `active`, `running`, and `idle` states
- This ensures heartbeat cadence is maintained even when agents complete tasks and await new assignments