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 committed 2026-10-17 05:47:19 +08:00
1 parent 0d22474280
commit e65c3955f9
36 files changed
+854 -234

No files matched your search

+3 -3
View File
@@ -243,11 +243,11 @@ const readCapture = async (
incomplete: retry.cleanup !== undefined,
cause: cause.cleanupCause,
};
if (cause.outcome.kind === "completed")
return ok({ bytes: cause.outcome.value as Buffer, cleanup });
if (retry.outcome.kind === "completed")
return ok({ bytes: retry.outcome.value as Buffer, cleanup });
const primary = captureReadFailure(
path,
cause.outcome.cause,
retry.outcome.cause,
signal,
retry.cleanup === undefined ? { cause: cause.cleanupCause } : undefined,
);