feat(KB-334): change default task prefix from KB to FN

- Change default taskPrefix from KB to FN and branch naming from kb/ to fusion/
- Update all test expectations and patterns for new naming convention
- Update settings UI placeholder text to reflect FN prefix
- Update dashboard, engine, and CLI components for fusion/ branch paths
- Add changeset documenting the breaking change for users
This commit is contained in:
gsxdsm
2026-03-31 19:50:15 -07:00
parent ada014213a
commit e98cb5c100
10 changed files with 30 additions and 20 deletions

View File

@@ -153,7 +153,7 @@ describe("kb pi extension", () => {
expect(result.details.taskId).toBe("FN-002");
expect(result.details.dependencies).toEqual(["FN-001"]);
expect(result.content[0].text).toContain("Dependencies: KB-001");
expect(result.content[0].text).toContain("Dependencies: FN-001");
});
});
@@ -315,7 +315,7 @@ describe("kb pi extension", () => {
makeCtx(tmpDir),
);
expect(result.content[0].text).toContain("Attached to KB-001");
expect(result.content[0].text).toContain("Attached to FN-001");
expect(result.content[0].text).toContain("test.txt");
expect(result.details.attachment).toBeDefined();
expect(result.details.attachment.originalName).toBe("test.txt");
@@ -366,7 +366,7 @@ describe("kb pi extension", () => {
undefined,
makeCtx(tmpDir),
);
expect(pauseResult.content[0].text).toContain("Paused KB-001");
expect(pauseResult.content[0].text).toContain("Paused FN-001");
// Verify it's paused
const showTool = api.tools.get("kb_task_show")!;
@@ -388,7 +388,7 @@ describe("kb pi extension", () => {
undefined,
makeCtx(tmpDir),
);
expect(unpauseResult.content[0].text).toContain("Unpaused KB-001");
expect(unpauseResult.content[0].text).toContain("Unpaused FN-001");
});
});
});

View File

@@ -66,7 +66,7 @@ describe("runTaskSteer", () => {
expect(mockAddSteeringComment).toHaveBeenCalledWith("FN-001", "Focus on error handling", "user");
expect(mockConsoleLog).toHaveBeenCalledWith(
expect.stringContaining("Steering comment added to KB-001")
expect.stringContaining("Steering comment added to FN-001")
);
});

View File

@@ -942,7 +942,7 @@ describe("runTaskRefine", () => {
mockRefineTask = vi.fn().mockResolvedValue({
id: "FN-002",
description: "Refinement of KB-001",
description: "Refinement of FN-001",
column: "triage",
dependencies: ["FN-001"],
steps: [],
@@ -1132,7 +1132,7 @@ describe("runTaskDelete", () => {
await runTaskDelete("FN-001", false);
expect(mockRlQuestion).toHaveBeenCalledOnce();
expect(mockRlQuestion).toHaveBeenCalledWith("Are you sure you want to delete KB-001? [y/N] ");
expect(mockRlQuestion).toHaveBeenCalledWith("Are you sure you want to delete FN-001? [y/N] ");
expect(mockRlClose).toHaveBeenCalled();
expect(mockDeleteTask).toHaveBeenCalledOnce();
expect(mockDeleteTask).toHaveBeenCalledWith("FN-001");
@@ -1227,7 +1227,7 @@ describe("runTaskComment", () => {
const store = (TaskStore as unknown as ReturnType<typeof vi.fn>).mock.results.at(-1)?.value;
expect(store.addTaskComment).toHaveBeenCalledWith("FN-001", "Hello", "alice");
expect(logSpy).toHaveBeenCalledWith(" ✓ Comment added to KB-001");
expect(logSpy).toHaveBeenCalledWith(" ✓ Comment added to FN-001");
});
it("lists task comments", async () => {
@@ -1309,7 +1309,7 @@ describe("runTaskRetry", () => {
column: "in-progress"
}));
await expect(runTaskRetry("FN-001")).rejects.toThrow("Task KB-001 is not failed (status: none)");
await expect(runTaskRetry("FN-001")).rejects.toThrow("Task FN-001 is not failed (status: none)");
});
it("throws error with correct status when task has different status", async () => {
@@ -1319,7 +1319,7 @@ describe("runTaskRetry", () => {
column: "in-progress"
}));
await expect(runTaskRetry("FN-001")).rejects.toThrow("Task KB-001 is not failed (status: paused)");
await expect(runTaskRetry("FN-001")).rejects.toThrow("Task FN-001 is not failed (status: paused)");
});
});
@@ -1434,7 +1434,7 @@ describe("runTaskLogs", () => {
await runTaskLogs("FN-001");
expect(logSpy).toHaveBeenCalledWith("No agent logs found for KB-001");
expect(logSpy).toHaveBeenCalledWith("No agent logs found for FN-001");
});
it("exits with error when task not found", async () => {
@@ -1937,7 +1937,7 @@ describe("runTaskPrCreate", () => {
it("exits with error when branch has no commits", async () => {
const task = makeInReviewTask();
mockGetTask.mockResolvedValueOnce(task);
mockCreatePr.mockRejectedValueOnce(new Error("No commits between main and kb/kb-001"));
mockCreatePr.mockRejectedValueOnce(new Error("No commits between main and fusion/fn-001"));
const exitSpy = vi.spyOn(process, "exit").mockImplementation((() => {
throw new Error("process.exit");