Steve Yegge
d0e70473cc
Fix bd-lm2q: Use content-based comparison to prevent false-positive timestamp skew
...
This change fixes the issue where 'bd sync' would fail with a false-positive
"JSONL is newer than database" error after the daemon auto-exports.
Root Cause:
- Daemon exports local changes to JSONL, updating its timestamp
- bd sync sees JSONL.mtime > DB.mtime and incorrectly assumes external changes
- This blocks export even though content is identical
Solution:
- Modified isJSONLNewer() to use SHA256 content hash comparison
- Only triggers auto-import when JSONL is newer AND content differs
- Prevents false positives from daemon auto-export timestamp updates
- Maintains conservative fallback if hashes can't be computed
Changes:
- Added computeJSONLHash() and computeDBHash() helper functions
- Created isJSONLNewerWithStore() to support testing with explicit store
- Added comprehensive tests for content-based comparison logic
- All existing tests pass, including export_mtime tests
Fixes: bd-lm2q
2025-11-20 21:23:26 -05:00
..
2025-11-20 19:37:01 -05:00
2025-11-12 10:48:36 -08:00
2025-11-09 14:58:03 -08:00
2025-11-04 00:23:25 -08:00
2025-11-08 18:16:39 -08:00
2025-11-02 10:01:38 -08:00
2025-11-02 10:38:24 -08:00
2025-11-20 20:21:37 -05:00
2025-11-07 22:06:50 -08:00
2025-11-20 19:11:27 -05:00
2025-11-03 22:23:36 -08:00
2025-11-03 22:23:36 -08:00
2025-11-20 20:58:57 -05:00
2025-11-02 15:37:57 -08:00
2025-11-04 23:12:42 -08:00
2025-11-20 20:39:23 -05:00
2025-11-05 20:39:47 -08:00
2025-11-06 20:14:34 -08:00
2025-11-05 21:04:00 -08:00
2025-11-07 21:17:24 -08:00
2025-11-05 10:26:58 -08:00
2025-11-07 18:57:43 -08:00
2025-11-07 21:29:22 -08:00
2025-11-05 20:39:47 -08:00
2025-11-02 22:17:08 -08:00
2025-11-07 18:57:43 -08:00
2025-11-07 18:57:43 -08:00
2025-11-10 10:22:03 -08:00
2025-11-05 20:39:47 -08:00
2025-11-20 19:00:36 -05:00
2025-11-01 21:27:09 -07:00
2025-11-19 05:06:12 -05:00
2025-11-05 20:39:47 -08:00
2025-11-02 22:17:08 -08:00
2025-11-05 20:39:47 -08:00
2025-11-05 20:39:47 -08:00
2025-11-20 08:13:06 -08:00
2025-11-19 05:07:16 -05:00
2025-11-20 08:13:06 -08:00
2025-11-08 03:10:12 -08:00
2025-11-02 18:52:44 -08:00
2025-11-08 02:20:33 -08:00
2025-11-15 12:52:34 -08:00
2025-11-02 22:34:24 -08:00
2025-11-02 08:09:58 -08:00
2025-11-08 18:16:39 -08:00
2025-11-18 05:20:11 -05:00
2025-11-20 19:37:01 -05:00
2025-11-20 20:58:57 -05:00
2025-11-02 18:52:44 -08:00
2025-11-05 10:26:58 -08:00
2025-11-01 20:29:13 -07:00
2025-11-19 05:06:12 -05:00
2025-11-07 20:07:59 -08:00
2025-11-05 14:31:41 -08:00
2025-11-19 05:06:12 -05:00
2025-11-20 19:11:27 -05:00
2025-11-05 20:39:47 -08:00
2025-11-09 14:53:59 -08:00
2025-11-17 10:06:35 -07:00
2025-11-17 10:12:46 -07:00
2025-11-19 05:06:12 -05:00
2025-11-09 14:53:59 -08:00
2025-11-06 13:01:44 -08:00
2025-11-08 00:00:43 -08:00
2025-11-20 19:00:36 -05:00
2025-11-08 02:28:54 -08:00
2025-11-20 20:45:39 -05:00
2025-11-17 10:12:46 -07:00
2025-11-17 10:06:35 -07:00
2025-11-05 19:04:14 -08:00
2025-11-09 14:13:48 -08:00
2025-11-20 19:24:26 -05:00
2025-11-20 21:23:26 -05:00
2025-11-01 22:01:41 -07:00
2025-11-20 21:23:26 -05:00
2025-11-01 20:29:13 -07:00
2025-11-02 22:34:24 -08:00
2025-11-06 20:00:08 -08:00
2025-11-20 20:45:39 -05:00
2025-11-08 13:09:42 -08:00
2025-11-15 12:46:13 -08:00
2025-11-20 19:11:27 -05:00
2025-11-20 20:24:36 -05:00
2025-11-15 12:52:34 -08:00
2025-11-20 19:01:30 -05:00
2025-11-20 19:01:30 -05:00
2025-11-17 10:12:46 -07:00
2025-11-02 14:31:22 -08:00
2025-11-08 18:16:39 -08:00
2025-11-09 14:53:59 -08:00
2025-11-09 14:53:59 -08:00
2025-11-17 11:32:37 -07:00
2025-11-17 11:32:37 -07:00
2025-11-17 10:12:46 -07:00
2025-11-20 20:45:39 -05:00
2025-11-02 11:02:58 -08:00
2025-11-02 22:34:24 -08:00
2025-11-01 23:56:03 -07:00
2025-11-04 23:12:41 -08:00
2025-11-04 11:25:36 -08:00
2025-11-12 10:48:36 -08:00
2025-11-20 20:45:39 -05:00
2025-11-17 10:12:46 -07:00
2025-11-20 20:45:39 -05:00
2025-11-20 20:45:39 -05:00
2025-11-06 18:49:07 -08:00
2025-11-20 20:45:39 -05:00
2025-11-09 16:16:45 -08:00
2025-11-05 18:10:06 -08:00
2025-11-02 17:09:39 -08:00
2025-11-20 20:33:52 -05:00
2025-11-03 20:31:11 -08:00
2025-11-03 20:31:11 -08:00
2025-11-03 22:01:37 -08:00
2025-11-07 21:58:22 -08:00
2025-11-04 01:10:18 -08:00
2025-11-20 20:45:39 -05:00
2025-11-05 17:37:53 -08:00
2025-11-16 18:10:46 -07:00
2025-11-08 18:22:28 -08:00
2025-11-05 21:04:00 -08:00