gsxdsm
4dab2b6986
FN-7011: Exclude engine downtime from task timing
Exclude proven engine-process downtime from active task duration stats and badges.
- Persist a throttled engineLastActiveAt heartbeat while the scheduler is running and unpaused.
- Reconcile in-progress execution segment anchors on startup when downtime exceeds the poll threshold.
- Emit run-audit events for shifted and no-action downtime reconciliation outcomes.
- Cover core timing, dashboard badge behavior, scheduler heartbeat throttling, and self-healing audit metadata.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7011-engine-downtime-timing.md | 7 +++
AGENTS.md | 1 +
.../src/__tests__/store-execution-timing.test.ts | 51 ++++++++++++++++++++++
packages/core/src/settings-schema.ts | 1 +
packages/core/src/store.ts | 28 ++++++++++++
packages/core/src/types.ts | 5 +++
.../app/utils/__tests__/taskTiming.test.ts | 16 +++++++
.../__tests__/scheduler-workflow-cutover.test.ts | 29 +++++++++++-
packages/engine/src/__tests__/self-healing.test.ts | 23 ++++++++++
packages/engine/src/run-audit.ts | 4 ++
packages/engine/src/scheduler.ts | 11 +++++
packages/engine/src/self-healing.ts | 21 +++++++++
12 files changed, 196 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-7011
Fusion-Task-Lineage: 44225b0a-0fa1-40be-812d-33fd5e446944
2026-06-25 23:35:31 -07:00
..
2026-06-25 23:35:31 -07:00
2026-05-13 10:00:00 -07:00
2026-05-04 21:21:22 -07:00
2026-06-23 19:17:40 -07:00
2026-06-22 18:21:06 -07:00
2026-06-20 20:25:44 -07:00
2026-04-30 22:55:48 -07:00
2026-06-22 15:23:43 -07:00
2026-05-14 02:23:45 -07:00
2026-05-18 03:10:52 -07:00
2026-05-21 08:43:57 -07:00
2026-06-25 12:25:13 -07:00
2026-05-22 17:24:38 -07:00
2026-05-12 21:55:43 -07:00
2026-06-14 13:50:17 -07:00
2026-04-08 16:14:32 -07:00
2026-04-23 00:06:03 -07:00
2026-04-02 09:58:04 -07:00
2026-06-14 14:27:45 -07:00
2026-06-12 19:22:11 -07:00
2026-04-23 23:02:36 -07:00
2026-04-03 18:33:23 -07:00
2026-05-08 18:44:16 -07:00
2026-06-22 15:23:43 -07:00
2026-04-29 07:10:52 -07:00
2026-04-08 14:38:36 -07:00
2026-06-02 14:14:24 -07:00
2026-06-22 10:09:32 -07:00
2026-06-25 23:34:07 -07:00
2026-06-17 17:57:19 -07:00
2026-05-21 08:43:57 -07:00
2026-05-20 20:27:11 -07:00
2026-05-07 18:35:45 -07:00
2026-05-14 18:35:30 -07:00
2026-06-21 16:01:07 -07:00
2026-05-14 05:55:16 -07:00
2026-05-19 18:56:24 -07:00
2026-06-14 13:50:17 -07:00
2026-05-14 05:35:12 -07:00
2026-05-13 06:29:35 -07:00
2026-04-12 07:00:49 -07:00
2026-05-15 07:50:34 -07:00
2026-06-20 21:02:51 -07:00
2026-04-28 22:43:51 -07:00
2026-05-29 20:05:14 -07:00
2026-04-29 07:10:52 -07:00