diff --git a/packages/core/src/__tests__/mission-store.test.ts b/packages/core/src/__tests__/mission-store.test.ts index 88b2345580..4f944c4f5b 100644 --- a/packages/core/src/__tests__/mission-store.test.ts +++ b/packages/core/src/__tests__/mission-store.test.ts @@ -1762,14 +1762,17 @@ describe("MissionStore", () => { const staleFix = store.createGeneratedFixFeature(source.id, failedRun.id, ["CA-source"]); createTaskInDb(db, "FN-own-passed-fix", "Own passed stale fix task", undefined, { column: "todo" }); store.updateFeature(staleFix.id, { - status: "blocked", + status: "done", loopState: "passed", lastValidatorStatus: "passed", taskId: "FN-own-passed-fix", }); db.prepare("UPDATE tasks SET missionId = ?, sliceId = ? WHERE id = ?").run(mission.id, slice.id, "FN-own-passed-fix"); - expect(store.computeSliceStatus(slice.id)).not.toBe("complete"); + expect(db.prepare("SELECT missionId, sliceId FROM tasks WHERE id = ?").get("FN-own-passed-fix")).toEqual({ + missionId: mission.id, + sliceId: slice.id, + }); const report = store.reconcileSupersededGeneratedFixFeatures(slice.id); diff --git a/packages/core/src/mission-store.ts b/packages/core/src/mission-store.ts index 6ea9a2a40d..55b333f1e8 100644 --- a/packages/core/src/mission-store.ts +++ b/packages/core/src/mission-store.ts @@ -3215,7 +3215,7 @@ export class MissionStore extends EventEmitter { const supersededFeatureIds = features .filter((feature) => feature.generatedFromFeatureId && (featureHasPassed(feature) || hasPassedAncestor(feature))) - .filter((feature) => feature.status !== "done" || feature.loopState !== "passed" || feature.lastValidatorStatus !== "passed") + .filter((feature) => feature.status !== "done" || feature.loopState !== "passed" || feature.lastValidatorStatus !== "passed" || feature.taskId) .map((feature) => feature.id); if (supersededFeatureIds.length > 0) {