diff --git a/server/src/__tests__/heartbeat-process-recovery.test.ts b/server/src/__tests__/heartbeat-process-recovery.test.ts index d88dac7d329..cb02a301008 100644 --- a/server/src/__tests__/heartbeat-process-recovery.test.ts +++ b/server/src/__tests__/heartbeat-process-recovery.test.ts @@ -548,7 +548,9 @@ describeEmbeddedPostgres("heartbeat orphaned process recovery", () => { } await new Promise((resolve) => setTimeout(resolve, 50)); await waitForHeartbeatIdle(db, 5_000); - await new Promise((resolve) => setTimeout(resolve, 100)); + // Terminal rows do not mean their background finalizers have returned. + // Drain tracked wakeups too: one can still create a run after the row poll. + await heartbeatService(db).drainActiveRunExecutions(); await db.delete(activityLog); await db.delete(agentRuntimeState); await db.delete(companySkills);