fix(FN-5103): complete Step 8 — resolve verification regressions

Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
This commit is contained in:
Fusion (runfusion.ai)
2026-05-19 01:15:16 -07:00
committed by gsxdsm
parent c51d0d9d9b
commit 0b17d7915c
2 changed files with 15 additions and 5 deletions

View File

@@ -258,8 +258,11 @@ describe("task deterministic dedup", () => {
expect(store.createTask).toHaveBeenCalledTimes(1);
expect(runtimeLogger.warn).toHaveBeenCalledTimes(1);
expect(runtimeLogger.warn).toHaveBeenCalledWith(
"Deterministic duplicate pre-check failed; proceeding",
expect.objectContaining({ lockKey: expect.stringContaining(FINGERPRINT) }),
"FN-5084 deterministic pre-check failed; proceeding",
expect.objectContaining({
lockKey: expect.stringContaining(FINGERPRINT),
error: "transient sqlite error",
}),
);
});
@@ -271,7 +274,7 @@ describe("task deterministic dedup", () => {
const res = await performRequest(app, "POST", "/api/tasks", JSON.stringify({ title: TITLE, description: DESCRIPTION }), { "content-type": "application/json" });
expect(res.status).toBe(409);
expect(runtimeLogger.warn).not.toHaveBeenCalledWith(
"Deterministic duplicate pre-check failed; proceeding",
"FN-5084 deterministic pre-check failed; proceeding",
expect.anything(),
);
});

View File

@@ -47,10 +47,11 @@ describe("FN-4646 aiMergeTask landedFiles capture", () => {
const store = makeStore({ directMergeCommitStrategy: "always-rebase" });
vi.spyOn(attributionModule, "filterFilesToOwnTaskCommits").mockResolvedValue({
files: ["packages/engine/src/self-healing.ts"],
foreignCommits: Array.from({ length: 66 }, (_, i) => `foreign-${i}`),
foreignCommits: Array.from({ length: 66 }, (_, i) => ({ sha: `foreign-${i}`, subject: `feat(FN-${4000 + i}): foreign`, attributedTaskId: `FN-${4000 + i}` })),
ownCommitCount: 1,
ownCommitShas: ["ownsha1"],
rawDiffFileCount: 67,
commitAttributions: [],
});
mockedExecSync.mockImplementation((cmd: any) => {
const s = String(cmd);
@@ -79,7 +80,12 @@ describe("FN-4646 aiMergeTask landedFiles capture", () => {
it("FN-5052 short-circuit variant: zero own commits yields empty landed files and keeps modifiedFiles", async () => {
const store = makeStore({ directMergeCommitStrategy: "always-rebase" });
vi.spyOn(attributionModule, "filterFilesToOwnTaskCommits").mockResolvedValue({
files: [], foreignCommits: Array.from({ length: 66 }, (_, i) => `foreign-${i}`), ownCommitCount: 0, ownCommitShas: [], rawDiffFileCount: 66,
files: [],
foreignCommits: Array.from({ length: 66 }, (_, i) => ({ sha: `foreign-${i}`, subject: `feat(FN-${5000 + i}): foreign`, attributedTaskId: `FN-${5000 + i}` })),
ownCommitCount: 0,
ownCommitShas: [],
rawDiffFileCount: 66,
commitAttributions: [],
});
mockedExecSync.mockImplementation((cmd: any) => {
const s = String(cmd);
@@ -111,6 +117,7 @@ describe("FN-4646 aiMergeTask landedFiles capture", () => {
ownCommitCount: 3,
ownCommitShas: ["ownsha1", "ownsha2", "ownsha3"],
rawDiffFileCount: 3,
commitAttributions: [],
});
mockedExecSync.mockImplementation((cmd: any) => {
const s = String(cmd);