Kaoru0822
8589b7e778
fix(evidence): verify staged output identity after its final write ( #4764 )
...
* fix(evidence): verify staged output identity after its final write
On macOS FAT32 and exFAT volumes an empty file reports a placeholder file
ID, and the first write assigns its cluster-derived ID. The staged JSON
writer sampled the descriptor identity right after exclusive creation, so
publication and cleanup both rejected REA's own staged file as replaced:
every export failed with cleanup_incomplete and retained a .rea-write-*
directory.
The staged output owner now observes the descriptor identity immediately
before closing it, after the last write, and uses that identity for the
publication and cleanup pathname checks. A failed observation leaves the
identity unknown, so cleanup still refuses pathname removal.
Fixes #4613
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* test(evidence): cover failed final staged identity reads
Reject the staged descriptor's final stat and verify that the writer
still closes the descriptor, refuses publication, and retains the
unverified staged content with incomplete cleanup.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-17 04:27:38 -07:00
..
2026-10-16 11:48:59 +08:00
2026-10-16 07:25:22 +08:00
2026-10-16 11:48:59 +08:00
2026-10-13 23:51:44 +08:00
2026-10-07 21:09:33 +08:00
2026-10-15 03:43:28 +08:00
2026-10-17 07:11:10 +00:00
2026-10-16 11:48:59 +08:00
2026-10-13 15:55:25 +09:00
2026-10-16 11:48:59 +08:00
2026-10-17 13:16:40 +08:00
2026-10-16 11:48:59 +08:00
2026-10-13 11:39:30 +08:00
2026-10-14 16:10:46 +08:00
2026-10-16 11:48:59 +08:00
2026-10-11 20:09:21 +08:00
2026-10-16 04:41:39 +08:00
2026-10-17 15:51:55 +08:00
2026-10-15 03:43:29 +08:00
2026-10-14 03:01:23 +08:00
2026-10-15 06:33:48 +08:00
2026-10-13 04:53:03 +00:00
2026-10-12 14:12:44 +08:00
2026-10-15 05:19:43 -07:00
2026-10-17 00:44:02 +08:00
2026-10-13 15:58:19 +09:00
2026-10-12 18:33:23 +00:00
2026-10-16 11:48:59 +08:00
2026-10-14 08:32:00 +08:00
2026-10-14 08:32:00 +08:00
2026-10-09 00:57:28 +08:00
2026-10-09 19:52:54 -07:00
2026-10-17 10:44:24 +00:00
2026-10-16 02:23:25 +08:00
2026-10-16 02:23:25 +08:00
2026-10-14 08:32:15 +08:00
2026-10-17 10:44:24 +00:00
2026-10-17 05:47:19 +08:00
2026-10-14 00:36:37 +08:00
2026-10-16 06:46:26 +08:00
2026-10-16 06:46:25 +08:00
2026-10-16 11:48:59 +08:00
2026-10-11 00:03:22 +08:00
2026-10-16 06:46:25 +08:00
2026-10-16 11:48:59 +08:00
2026-10-09 23:35:19 +08:00
2026-10-14 04:47:34 +08:00
2026-10-17 10:44:24 +00:00
2026-10-17 10:44:24 +00:00
2026-10-17 00:44:02 +08:00
2026-10-17 00:44:02 +08:00
2026-10-06 05:58:46 +08:00
2026-10-12 23:24:24 +08:00
2026-10-16 08:14:50 +08:00
2026-10-14 13:58:15 +08:00
2026-10-15 07:36:34 +08:00
2026-10-15 00:56:31 +05:30
2026-10-15 07:36:34 +08:00
2026-10-16 05:09:35 +08:00
2026-10-17 03:11:32 +08:00
2026-10-16 05:09:35 +08:00
2026-10-17 03:11:32 +08:00
2026-10-17 09:57:43 +08:00
2026-10-15 12:15:55 +08:00
2026-10-17 11:29:03 +08:00
2026-10-15 12:15:55 +08:00
2026-10-17 11:29:03 +08:00
2026-10-15 12:15:55 +08:00
2026-10-15 05:56:56 +00:00
2026-10-14 16:10:46 +08:00
2026-10-17 00:24:35 +08:00
2026-10-12 11:06:26 +08:00
2026-10-13 20:56:20 +08:00
2026-10-17 10:44:24 +00:00
2026-10-12 14:46:10 +08:00
2026-10-10 21:04:05 -07:00
2026-10-13 21:50:25 +08:00
2026-10-13 03:22:38 +08:00
2026-10-09 20:18:52 +08:00
2026-10-06 20:17:59 +08:00
2026-10-12 08:55:19 +08:00
2026-10-14 17:49:19 +08:00
2026-10-10 18:19:51 +08:00
2026-10-15 00:57:57 +08:00
2026-10-15 00:57:57 +08:00
2026-10-09 03:28:25 +00:00
2026-10-15 12:15:55 +08:00
2026-10-15 12:15:55 +08:00
2026-10-15 12:15:55 +08:00
2026-10-10 21:04:05 -07:00
2026-10-15 06:45:53 +08:00
2026-10-17 04:27:38 -07:00
2026-10-13 16:04:44 +08:00
2026-10-16 11:48:59 +08:00
2026-10-16 11:48:59 +08:00
2026-10-17 05:47:19 +08:00
2026-10-15 03:43:29 +08:00
2026-10-15 03:43:29 +08:00
2026-10-14 17:09:17 +08:00
2026-10-14 17:09:17 +08:00
2026-10-14 14:47:26 +08:00
2026-10-12 07:50:31 +08:00
2026-10-14 14:47:26 +08:00
2026-10-14 14:47:26 +08:00
2026-10-17 00:44:02 +08:00
2026-10-12 22:01:58 +08:00
2026-10-09 02:42:39 +08:00
2026-10-10 18:54:57 +08:00
2026-10-13 15:23:56 +08:00
2026-10-16 11:48:59 +08:00
2026-10-09 20:26:46 +08:00
2026-10-10 21:04:05 -07:00
2026-10-11 02:21:28 +08:00
2026-10-17 00:19:52 +08:00
2026-10-08 04:03:24 +08:00
2026-10-14 17:11:40 -07:00
2026-10-14 17:11:28 -07:00
2026-10-12 08:59:14 +08:00
2026-10-14 17:11:40 -07:00
2026-10-12 08:59:14 +08:00
2026-10-17 00:19:52 +08:00
2026-10-14 17:11:40 -07:00
2026-10-14 08:36:38 +08:00
2026-10-17 00:25:43 +08:00
2026-10-17 00:25:43 +08:00
2026-10-17 08:25:01 +08:00
2026-10-11 06:10:10 +08:00
2026-10-13 14:39:06 +08:00
2026-10-17 08:25:01 +08:00
2026-10-17 08:25:01 +08:00
2026-10-17 04:57:06 +08:00
2026-10-15 05:23:04 +08:00
2026-10-10 05:56:01 +08:00
2026-10-16 23:59:15 +08:00
2026-10-13 23:33:54 +08:00
2026-10-16 23:59:15 +08:00
2026-10-17 05:47:19 +08:00
2026-10-17 04:57:06 +08:00
2026-10-15 12:15:55 +08:00
2026-10-14 08:25:53 +08:00
2026-10-15 12:15:55 +08:00
2026-10-15 12:15:55 +08:00
2026-10-17 05:01:46 +08:00
2026-10-15 05:16:08 +08:00
2026-10-17 05:01:46 +08:00
2026-10-17 04:57:06 +08:00
2026-10-15 06:39:48 +08:00
2026-10-16 07:25:21 +08:00
2026-10-13 15:58:25 +08:00
2026-10-17 04:57:06 +08:00
2026-10-11 13:20:15 +08:00
2026-10-12 05:57:35 +08:00
2026-10-12 05:57:35 +08:00
2026-10-12 05:57:35 +08:00
2026-10-13 12:46:05 +08:00
2026-10-11 17:56:05 +08:00
2026-10-12 05:57:35 +08:00
2026-10-10 01:37:41 -07:00
2026-10-07 16:21:18 +08:00
2026-10-13 16:08:41 +08:00
2026-10-09 20:18:52 +08:00
2026-10-13 16:16:31 +08:00
2026-10-13 16:08:41 +08:00
2026-10-16 06:46:25 +08:00
2026-10-16 11:48:59 +08:00
2026-10-16 06:46:26 +08:00
2026-10-07 21:45:07 +08:00
2026-10-16 11:48:59 +08:00
2026-10-16 11:48:59 +08:00
2026-10-13 16:08:41 +08:00
2026-10-17 08:25:01 +08:00
2026-10-13 16:08:41 +08:00
2026-10-16 06:46:25 +08:00
2026-10-16 11:48:59 +08:00
2026-10-14 08:28:14 +08:00
2026-10-15 06:39:48 +08:00
2026-10-15 06:33:48 +08:00
2026-10-09 00:49:30 +08:00
2026-10-09 13:28:48 +08:00