The sync sanitize process was incorrectly removing newly created issues when they happened to have IDs matching entries in the deletions manifest. This could occur with hash-based IDs when content is similar to previously deleted issues. The fix adds protection for issues that were in the left snapshot (local export before pull). These represent local work and should not be removed by sanitize, even if they match entries in the deletions manifest. Changes: - Load left snapshot in sanitizeJSONLWithDeletions() to build protection set - Add protection check before removing issues from JSONL - Add ProtectedCount/ProtectedIDs to SanitizeResult for tracking - Log protected issues during sync for visibility - Add comprehensive test coverage for the fix 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
43 KiB
43 KiB