fix(FN-4962): address step 4 review feedback

Fusion-Task-Id: FN-4962
Fusion-Task-Lineage: de4ce54b-c5e4-40f9-a048-677adac3e1a0
This commit is contained in:
Fusion (runfusion.ai)
2026-05-17 15:38:09 -07:00
committed by gsxdsm
parent d13ee7f526
commit d5ed2cd2b4
5 changed files with 29 additions and 2 deletions

View File

@@ -1,4 +1,6 @@
import { describe, it, expect, vi, beforeEach } from "vitest";
import { readFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import { EventEmitter } from "node:events";
import type { Task, TaskStore } from "@fusion/core";
import { SelfHealingManager } from "../../self-healing.js";
@@ -71,6 +73,19 @@ describe("reliability interactions: worktree metadata reconcile", () => {
expect((store as any).updateTask).toHaveBeenCalledTimes(1);
});
it("runs reconcile before reclaim-stale-active-branches in maintenance ordering", () => {
const selfHealingPath = fileURLToPath(new URL("../../self-healing.ts", import.meta.url));
const source = readFileSync(selfHealingPath, "utf8");
const maintenanceSlice = source.slice(
source.indexOf("const batch2Fns:"),
source.indexOf("for (const fn of batch2Fns)"),
);
expect(maintenanceSlice.indexOf('"reconcile-task-worktree-metadata"')).toBeLessThan(
maintenanceSlice.indexOf('"reclaim-stale-active-branches"'),
);
});
it("skips done tasks during periodic reconcile (completion fan-out owns done lifecycle)", async () => {
const store = makeStore([task("FN-3", { column: "done", worktree: "/missing", branch: null })]);
vi.spyOn(worktreePoolModule, "getRegisteredWorktreeBranchMap").mockResolvedValue(new Map([["fusion/fn-3", "/live"]]));