feat(FN-2915): merge fusion/fn-2915

- feat(FN-2915): include github issue refs in commit workflows
- refactor(dashboard): simplify setup wizard manual step
- fix(engine): prevent phantom merges when verification fix runs without a commit

Fusion-Task-Id: FN-2915
This commit is contained in:
Fusion
2026-04-28 21:13:30 -07:00
committed by gsxdsm
parent 5bbb8bb2e9
commit 9286205f4b
7 changed files with 139 additions and 13 deletions

View File

@@ -116,20 +116,20 @@ describe("CLI bundle output", () => {
expect(existsSync(join(stagedRoot, "src", "process-manager.ts"))).toBe(true);
});
it("pi-claude-cli source imports cross-spawn", () => {
it("pi-claude-cli source imports spawn from node:child_process", () => {
const processManagerSource = readFileSync(join(cliRoot, "dist", "pi-claude-cli", "src", "process-manager.ts"), "utf-8");
expect(processManagerSource).toMatch(/import\s+spawn\s+from\s*["']cross-spawn["']/);
expect(processManagerSource).toMatch(/import\s+\{\s*spawn[\s\S]*\}\s+from\s*["']node:child_process["']/);
});
it("pi-claude-cli package.json includes cross-spawn dependency", () => {
it("pi-claude-cli package.json does not require cross-spawn dependency", () => {
const packageJson = JSON.parse(
readFileSync(join(cliRoot, "dist", "pi-claude-cli", "package.json"), "utf-8"),
) as {
dependencies?: Record<string, string>;
};
expect(packageJson.dependencies?.["cross-spawn"]).toBeDefined();
expect(packageJson.dependencies?.["cross-spawn"]).toBeUndefined();
});
it("runtime native assets are staged after build:exe", () => {