fix(filesystem): preserve digest failures through cleanup cancellation

Record cancellation at file checkpoints and before owner handoff. Keep physical hash failures, exact reasons, completed facts and failed-close owners distinct through artifact and provider projections and cleanup retries.

Refs #4598. Validated with 566 passing affected tests and 22 platform skips; final Kuna cleanup reason rerun passed 43 tests. No Android device or real JADX/Kuna execution claimed.
This commit is contained in:
morluto
2026-10-17 05:47:19 +08:00
parent 0d22474280
commit e65c3955f9
36 changed files with 854 additions and 234 deletions
+2 -1
View File
@@ -1,3 +1,4 @@
import { regularFileCancellation } from "../filesystem/OwnedRegularFile.js";
import type { BigIntStats } from "node:fs";
import type { FileHandle } from "node:fs/promises";
import { dirname } from "node:path";
@@ -278,7 +279,7 @@ const readStableFileEntry = async (
retain(cause.owner);
cause = cause.cause;
}
if (isAborted(signal))
if (regularFileCancellation(cause) !== undefined || isAborted(signal))
return entryFailure(
path,
"file",