fix(cli): avoid duplicate primary cleanup diagnostics

This commit is contained in:
morluto
2026-10-10 03:59:42 +08:00
parent ac356c46ad
commit 37fcea78ce
2 changed files with 7 additions and 2 deletions
-1
View File
@@ -55,7 +55,6 @@ export const directAnalysisCleanupFailure = (
"execution_failure" in primary.data.details
? (primary.data.details.execution_failure ?? primary.data.code)
: primary.data.code,
primary_error: projection,
cleanup_error: cleanup,
},
};
@@ -6,6 +6,7 @@ import {
} from "../../src/application/DirectAnalysis.js";
import type { DirectAnalysisDependencies } from "../../src/application/DirectAnalysisDependencies.js";
import { parseConfig } from "../../src/config/parseConfig.js";
import { analysisCliErrorEnvelopeSchema } from "../../src/contracts/errorSchemas.js";
import type { AnalysisError } from "../../src/domain/analysisErrorBase.js";
import { AnalysisTimeoutError } from "../../src/domain/analysisErrorCore.js";
import { projectAnalysisError } from "../../src/domain/analysisErrorProjection.js";
@@ -104,7 +105,8 @@ describe("one-shot analysis cleanup outcomes", () => {
"read_bytes",
{},
);
expect(result).toMatchObject({
const callerError = analysisCliErrorEnvelopeSchema.parse(result);
expect(callerError).toMatchObject({
code: "cleanup_incomplete",
category: primary.category,
message: primary.message,
@@ -114,6 +116,10 @@ describe("one-shot analysis cleanup outcomes", () => {
cleanup_error: projectAnalysisError(cleanupError),
},
});
expect(callerError.details).not.toHaveProperty("primary_error");
expect(
JSON.stringify(callerError).match(/retained observation/g),
).toHaveLength(1);
expect(isCliOperationFailure(result)).toBe(true);
});