gsxdsm
9c4e8edf39
FN-5733: enforce mission completion-gate assertions for live Goals mission
Realize the mission completion-gate contract by surfacing and enforcing structured assertion coverage for milestone completion.
- add milestone rollup signaling for prose-only acceptance criteria and wire it into mission-store completion gating
- update mission execution loop reliability paths so validator-trigger continuity is preserved across completion and startup recovery
- expose the new rollup flag in dashboard mission types/API and show an autopilot warning badge in MissionManager when prose exists without structured assertions
- extend core, engine, and dashboard tests plus mission docs, and add a patch changeset for @runfusion/fusion
Files changed:
.changeset/fn-5733-mission-completion-gate.md | 10 +++
docs/missions-completion-contract.md | 11 +++
docs/missions.md | 4 +
packages/core/src/__tests__/mission-store.test.ts | 81 ++++++++++++++++++++
packages/core/src/mission-store.ts | 89 ++++++++++++++++++++++
packages/core/src/mission-types.ts | 2 +
packages/dashboard/app/api/legacy.ts | 1 +
.../dashboard/app/components/MissionManager.css | 42 +++++++++-
.../dashboard/app/components/MissionManager.tsx | 22 +++++-
.../components/__tests__/MissionManager.test.tsx | 20 ++++-
packages/dashboard/app/components/mission-types.ts | 1 +
.../src/__tests__/mission-execution-loop.test.ts | 23 ++++++
.../mission-validation-trigger-gap.test.ts | 41 ++++++++++
packages/engine/src/mission-execution-loop.ts | 21 ++++-
14 files changed, 357 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-5733
Fusion-Task-Lineage: 259418c6-5404-4773-8fd2-db8d7e9cadd3
2026-05-30 14:07:20 -07:00
..
2026-05-30 14:07:20 -07:00
2026-05-23 02:29:38 -07:00
2026-05-14 04:01:49 -07:00
2026-05-20 15:54:44 -07:00
2026-05-29 20:05:14 -07:00
2026-05-28 15:39:23 -07:00
2026-05-28 21:23:48 -07:00
2026-05-21 12:04:58 -07:00
2026-05-19 17:19:02 -07:00
2026-05-23 22:09:25 -03:00
2026-05-29 20:05:14 -07:00
2026-05-19 17:19:02 -07:00
2026-05-20 15:54:44 -07:00
2026-05-01 05:04:05 -07:00
2026-05-21 09:06:23 -07:00
2026-05-08 20:30:40 -07:00
2026-05-13 06:29:34 -07:00
2026-05-29 20:50:08 -07:00
2026-05-13 23:41:35 -07:00
2026-05-11 21:48:26 -07:00
2026-05-13 23:41:35 -07:00
2026-04-29 20:27:04 -07:00
2026-05-28 21:23:48 -07:00
2026-05-05 06:32:33 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-05-18 18:26:52 -07:00
2026-05-28 21:23:48 -07:00
2026-05-19 07:45:12 -07:00
2026-05-21 12:49:50 -07:00
2026-05-18 12:31:21 -07:00
2026-05-20 08:23:40 -07:00
2026-05-23 00:03:12 -07:00
2026-05-23 02:59:23 -07:00
2026-04-29 11:26:39 -07:00
2026-05-03 11:06:27 -07:00
2026-05-09 14:41:58 -07:00
2026-05-07 17:26:51 +02:00
2026-05-19 03:21:18 -07:00
2026-05-19 22:50:39 -07:00
2026-05-14 19:26:58 -07:00
2026-05-13 12:30:45 -07:00
2026-05-19 19:28:05 -07:00
2026-05-29 10:23:59 -07:00
2026-05-06 19:55:55 -07:00
2026-05-29 20:50:08 -07:00
2026-05-14 00:58:44 -07:00
2026-05-03 23:08:05 -07:00
2026-05-30 08:39:38 -07:00
2026-05-29 20:05:14 -07:00
2026-05-29 07:11:00 -07:00
2026-05-29 20:50:08 -07:00
2026-04-30 00:20:51 -07:00
2026-05-14 04:32:42 -07:00
2026-05-14 04:32:43 -07:00
2026-05-26 21:57:31 -07:00
2026-05-16 17:31:09 -07:00
2026-05-29 20:50:08 -07:00
2026-05-21 12:04:58 -07:00
2026-05-28 23:45:40 -07:00
2026-05-13 20:20:26 -07:00
2026-05-28 15:04:41 -07:00
2026-05-26 21:57:31 -07:00
2026-05-12 18:26:58 -07:00
2026-05-22 14:44:21 -07:00
2026-05-23 09:59:50 -07:00
2026-05-12 09:06:54 -07:00
2026-05-28 13:02:30 -07:00
2026-05-21 16:30:31 -07:00
2026-05-12 17:04:33 -07:00
2026-05-29 00:55:17 -07:00
2026-05-16 23:45:17 -07:00
2026-05-30 09:43:02 -07:00
2026-05-30 14:07:20 -07:00
2026-05-30 09:43:02 -07:00
2026-05-07 23:21:05 -07:00
2026-05-10 19:13:05 -07:00
2026-05-16 17:31:09 -07:00
2026-05-28 21:17:02 -07:00
2026-05-10 19:13:05 -07:00
2026-05-08 13:43:38 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-05-19 19:28:05 -07:00
2026-05-19 22:50:39 -07:00
2026-05-29 12:57:53 -07:00
2026-05-29 20:05:14 -07:00
2026-05-29 20:05:14 -07:00
2026-05-29 20:05:14 -07:00
2026-05-13 21:52:40 -07:00
2026-05-04 13:17:57 -07:00
2026-05-04 13:17:57 -07:00
2026-05-26 23:41:28 -07:00
2026-05-14 22:16:44 -07:00
2026-05-28 21:23:48 -07:00
2026-05-17 02:08:01 -07:00
2026-05-21 00:17:33 -07:00
2026-05-15 16:38:45 -07:00
2026-05-29 20:50:08 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-05-30 09:43:02 -07:00
2026-05-19 14:22:11 -07:00
2026-05-29 20:05:14 -07:00
2026-05-03 01:15:56 -05:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-05-23 14:26:57 -07:00
2026-05-14 05:55:16 -07:00
2026-05-28 21:23:48 -07:00
2026-05-19 16:15:25 -07:00
2026-05-14 05:35:34 -07:00
2026-05-12 17:24:44 -07:00
2026-05-14 08:24:01 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-05-11 12:04:20 -07:00
2026-05-28 15:39:23 -07:00
2026-05-18 00:53:23 -07:00
2026-05-28 21:23:48 -07:00
2026-05-19 19:28:05 -07:00
2026-05-15 12:12:50 -07:00
2026-05-08 18:59:08 -07:00
2026-05-28 21:23:48 -07:00
2026-05-23 18:39:36 -07:00
2026-05-22 22:43:26 -07:00
2026-05-19 05:57:57 -07:00
2026-05-18 01:50:22 -07:00
2026-05-22 22:43:26 -07:00
2026-05-18 18:26:52 -07:00
2026-05-15 19:37:48 -07:00
2026-05-29 09:44:17 -07:00
2026-05-18 11:01:32 -07:00
2026-05-23 15:13:17 -07:00
2026-05-16 20:54:33 -07:00
2026-05-18 15:51:01 -07:00
2026-05-15 22:18:09 -07:00
2026-05-20 15:54:44 -07:00