fix(decompile): retain published output receipts (#9633)

* fix(decompile): retain published index on failure

* fix(decompile): preserve publication failure facts

* docs(decompile): explain retained publication receipts

* fix(decompile): retain receipts across provider cleanup chains

* fix(evidence): retain diagnostics through cleanup primary chains

* refactor(evidence): retain receipts once on the returned error
This commit is contained in:
morluto authored and GitHub committed 2026-11-09 20:55:53 +08:00
1 parent d4b9a33348
commit 694edef951
7 files changed
+259 -75

No files matched your search

+1 -5
View File
@@ -11,7 +11,6 @@ import {
} from "../domain/analysisErrorProjection.js";
import {
AnalysisError,
primaryAnalysisError,
type AnalysisCapturedOutput,
type AnalysisErrorOptions,
} from "../domain/analysisErrorBase.js";
@@ -108,10 +107,7 @@ export const sqliteDatabaseFailure = (
members: cause.completedMembers.map((member) => ({ ...member })),
},
};
failure.retainDiagnostics(diagnostics);
// Keep the facts on the semantic error after its cleanup envelope resolves.
const primary = primaryAnalysisError(failure);
if (primary !== failure) primary.retainDiagnostics(diagnostics);
failure.retainPrimaryDiagnostics(diagnostics);
return failure;
}
if (cause instanceof AnalysisError) return cause;