gsxdsm
3b9ff42073
FN-5901: reap stale mission validator runs
Add self-healing recovery for stale mission validator runs left behind after execution ownership disappears.
- add mission-store support to find and reap stale running validator runs, preserving terminal error status and resetting eligible features to needs_fix
- teach the mission execution loop and self-healing maintenance sweep to skip live validations, reap abandoned runs, record audit events, and avoid double-completing runs
- extend regression coverage, mission docs, architecture notes, and add a published-package changeset for the new recovery behavior
Files changed:
.changeset/fn-5901-validator-run-reaper.md | 7 +
AGENTS.md | 1 +
docs/architecture.md | 2 +
docs/missions.md | 26 ++-
packages/core/src/__tests__/mission-store.test.ts | 99 +++++++++
packages/core/src/mission-store.ts | 91 ++++++++
packages/engine/src/__tests__/mission-execution-loop.test.ts | 232 +++++++++++++++++++++
packages/engine/src/__tests__/reliability-interactions/mission-validator-run-reaper.test.ts | 181 ++++++++++++++++
packages/engine/src/mission-execution-loop.ts | 102 +++++++--
packages/engine/src/runtimes/in-process-runtime.ts | 8 +-
packages/engine/src/self-healing.ts | 22 ++
11 files changed, 746 insertions(+), 25 deletions(-)
Fusion-Task-Id: FN-5901
Fusion-Task-Lineage: 87eb2f3f-fc31-4e0a-b0fc-b771f6dc48a3
2026-06-02 15:33:31 -07:00
..
2026-04-25 09:09:31 -07:00
2026-05-31 20:50:09 -07:00
2026-05-31 21:08:41 -07:00
2026-05-31 23:24:53 -07:00
2026-06-01 01:42:19 -07:00
2026-06-01 13:20:55 -07:00
2026-06-01 13:03:20 -07:00
2026-06-01 13:33:56 -07:00
2026-06-01 14:07:46 -07:00
2026-06-01 16:55:56 -07:00
2026-06-01 17:15:11 -07:00
2026-06-01 17:52:12 -07:00
2026-06-01 01:30:34 -07:00
2026-06-01 01:37:25 -07:00
2026-06-01 04:47:19 -07:00
2026-06-01 05:15:14 -07:00
2026-06-01 03:23:10 -07:00
2026-06-01 05:39:01 -07:00
2026-06-01 07:53:56 -07:00
2026-06-01 09:05:18 -07:00
2026-06-01 08:13:36 -07:00
2026-06-01 19:40:28 -07:00
2026-06-01 16:24:21 -07:00
2026-06-01 20:19:37 -07:00
2026-06-01 18:52:28 -07:00
2026-06-01 23:39:20 -07:00
2026-06-01 23:01:26 -07:00
2026-06-01 23:37:03 -07:00
2026-06-02 00:07:07 -07:00
2026-06-01 23:55:20 -07:00
2026-06-02 07:46:38 -07:00
2026-06-02 09:02:48 -07:00
2026-06-02 10:07:08 -07:00
2026-06-02 10:29:34 -07:00
2026-06-02 12:42:04 -07:00
2026-06-02 14:41:41 -07:00
2026-06-02 15:33:31 -07:00
2026-06-01 08:23:02 -07:00
2026-06-02 14:47:51 -07:00
2026-06-01 21:55:10 -07:00
2026-06-02 09:20:31 -07:00