## Problem When bd sync detected stale DB (>50% divergence), it would import JSONL to fix the DB, but then immediately export the DB back to JSONL. This caused the stale DB to overwrite the JSONL after a git pull, undoing cleanup work. Example scenario: 1. Clone has 688 stale issues in DB (628 closed) 2. git pull brings JSONL with 62 issues (cleanup applied) 3. bd sync detects 1009.7% divergence and imports JSONL (DB → 62 issues) ✓ 4. bd sync exports DB to JSONL (JSONL still 62 issues) ✓ 5. But this marks JSONL as "changed" and commits/pushes it ✗ ## Solution After ZFC (JSONL First Consistency) import, set skipExport flag to prevent the export step. JSONL is the source of truth after import - DB should sync to match, not export back. ## Changes - cmd/bd/sync.go: Add skipExport flag, set it after ZFC import - cmd/bd/sync.go: Wrap export logic in `if !skipExport` block - CHANGELOG.md: Update ZFC entry with accurate description - cmd/bd/sync_test.go: Add TestZFCSkipsExportAfterImport Fixes #bd-l0r 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
33 KiB
33 KiB