FN-5755: harden mission validation recovery flow
Ensure mission feature assertions recover and validate consistently across startup and periodic maintenance. - add FN-5755 changeset and AGENTS reliability backstop note - document canonical zero-assertion auto-pass and assertion validation lifecycle updates in missions docs - expand mission execution loop and reliability interaction tests for startup recovery, periodic replay, and idempotency - wire self-healing maintenance to replay active mission validation recovery via runtime callback Files changed: .../fn-5755-mission-validation-end-to-end.md | 5 ++ AGENTS.md | 1 + docs/missions-completion-contract.md | 15 ++-- docs/missions.md | 4 +- .../src/__tests__/mission-execution-loop.test.ts | 88 +++++++++++++++++++++- .../mission-validation-trigger-gap.test.ts | 42 ++++++++++- packages/engine/src/runtimes/in-process-runtime.ts | 6 ++ packages/engine/src/self-healing.ts | 11 +++ 8 files changed, 159 insertions(+), 13 deletions(-) Fusion-Task-Id: FN-5755 Fusion-Task-Lineage: e54ac4dc-7b8c-4fc9-8cd6-18702708546f
This commit is contained in:
@@ -732,6 +732,12 @@ export class InProcessRuntime
|
||||
getActiveMergeTaskId: () => this.activeMergeTaskIdProvider?.() ?? null,
|
||||
leaseManager: this.leaseManager,
|
||||
hasActiveAgentExecution: (agentId: string) => this.heartbeatMonitor?.getTrackedAgents().includes(agentId) ?? false,
|
||||
recoverActiveMissionValidations: async () => {
|
||||
if (!this.missionExecutionLoop) {
|
||||
return { recoveredCount: 0 };
|
||||
}
|
||||
return this.missionExecutionLoop.recoverActiveMissions();
|
||||
},
|
||||
reconcileAllMissionFeatures: async () => this.scheduler.reconcileAllMissionFeatures(),
|
||||
chatStore: this.chatStore,
|
||||
messageStore: this.messageStore,
|
||||
|
||||
Reference in New Issue
Block a user