Vito Sansevero
43e70514d1
fix(annotations): compare capture identity like with like and keep paths out of errors
...
Native Windows CI (Python 3.12/3.13) rejected untouched files with
CaptureChanged because the path stat and the descriptor fstat disagree
there (change time versus creation time, possibly dev/ino encodings).
The descriptor is now checked against the path only on the API-stable
facts (size, mtime_ns); the full identity (size, mtime_ns, ctime_ns,
dev/ino where meaningful) is compared between the fstat before and
after the copy and between the path stats before and after. A test
injects shifted fstat results to simulate the Windows discrepancy, and
a fresh file is captured twice with no platform guard.
Error messages carry strerror only, never the path (the path goes to
the debug log); a test asserts no CaptureError names the root. Files
are unlinked outside the store lock; close() during an in-flight
capture lets that worker remove its temp file and then the directory.
get() documents that readers of capture.path must acquire/release_use.
The test fixture resolves its temp root (macOS /private/var, Windows
8.3 names). TESTING.md states the real identity contract.
2026-10-22 05:48:58 -07:00
..
2026-10-22 05:36:15 -07:00
2026-10-21 02:25:25 -07:00
2026-10-17 13:14:02 -07:00
2026-10-19 22:04:32 -07:00
2026-10-22 04:44:50 -07:00
2026-10-21 23:10:57 -07:00
2026-02-07 08:30:09 -08:00
2026-10-19 22:04:32 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 17:26:37 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 04:14:58 -07:00
2026-10-22 04:44:50 -07:00
2026-10-21 18:07:16 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 16:42:07 -07:00
2026-10-17 10:36:30 -07:00
2026-10-17 08:00:42 -07:00
2026-10-18 17:17:05 -07:00
2026-10-21 02:25:25 -07:00
2026-10-18 17:17:05 -07:00
2026-10-21 04:18:28 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-21 10:55:35 -07:00
2026-10-20 16:04:15 -07:00
2026-10-22 04:44:50 -07:00
2026-10-21 14:22:30 -07:00
2026-10-17 08:00:42 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 23:26:37 -07:00
2026-10-21 23:10:57 -07:00
2026-10-20 00:18:32 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 04:14:58 -07:00
2026-10-19 11:10:47 -07:00
2026-10-22 04:14:58 -07:00
2026-10-20 11:31:53 -07:00
2026-10-17 16:42:07 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 19:51:22 -07:00
2026-10-17 19:51:22 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 19:51:22 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 16:42:07 -07:00
2026-10-17 23:26:37 -07:00
2026-10-18 20:03:15 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-20 18:01:34 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 16:42:07 -07:00
2026-10-17 05:31:24 -07:00
2026-10-17 08:00:42 -07:00
2026-10-19 20:56:51 -07:00
2026-10-19 20:56:51 -07:00
2026-10-19 22:04:32 -07:00
2026-10-08 18:53:11 -07:00
2026-10-21 04:18:28 -07:00
2026-10-18 17:17:05 -07:00
2026-10-21 02:25:25 -07:00
2026-10-17 23:26:37 -07:00
2026-10-21 10:55:35 -07:00
2026-10-21 09:10:18 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-21 00:53:04 -07:00
2026-10-19 20:56:51 -07:00
2026-10-17 16:42:07 -07:00
2026-10-19 09:54:29 -07:00
2026-10-19 17:26:37 -07:00
2026-10-21 10:55:35 -07:00
2026-10-21 04:18:28 -07:00
2026-10-19 09:54:29 -07:00
2026-10-21 04:18:28 -07:00
2026-10-19 17:26:37 -07:00
2026-10-21 18:07:16 -07:00
2026-10-18 20:03:15 -07:00
2026-10-21 02:25:25 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 05:48:58 -07:00
2026-02-07 12:36:11 -08:00
2026-10-08 18:53:11 -07:00
2026-10-07 13:52:09 -07:00
2026-10-17 08:00:42 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 19:51:22 -07:00
2026-10-21 10:55:35 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-21 14:22:30 -07:00
2026-10-22 04:14:58 -07:00
2026-10-22 04:44:50 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 06:47:46 -07:00
2026-10-17 19:51:22 -07:00
2026-10-21 10:55:35 -07:00
2026-10-18 20:03:15 -07:00
2026-04-10 12:49:59 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 16:42:07 -07:00
2026-10-21 09:10:18 -07:00
2026-10-21 18:07:16 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 06:47:46 -07:00
2026-10-17 16:42:07 -07:00
2026-10-08 18:53:11 -07:00
2026-10-18 10:01:19 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 04:44:50 -07:00
2026-10-19 23:04:40 -07:00