fix: daemon delete creates tombstones, export includes tombstones (bd-rp4o)

Three changes to fix deleted issues resurrecting during bd sync:

1. daemon handleDelete now uses CreateTombstone instead of DeleteIssue
   - internal/rpc/server_issues_epics.go

2. sync.go exportToJSONL now includes IncludeTombstones:true
   - cmd/bd/sync.go

3. server_export_import_auto.go handleExport and auto-export now include
   tombstones in SearchIssues filter
   - internal/rpc/server_export_import_auto.go

Also adds README.md documentation for sync.branch mode (bd-dsdh):
- Explains "always dirty" working tree behavior
- Shell alias tip: gs='git status -- ":!.beads/"'
- When to use bd sync --merge

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-17 01:15:40 -08:00
parent 123e66f625
commit ff0ecb526e
4 changed files with 71 additions and 10 deletions

View File

@@ -1277,8 +1277,9 @@ func exportToJSONL(ctx context.Context, jsonlPath string) error {
return fmt.Errorf("failed to initialize store: %w", err)
}
// Get all issues
issues, err := store.SearchIssues(ctx, "", types.IssueFilter{})
// Get all issues including tombstones for sync propagation (bd-rp4o fix)
// Tombstones must be exported so they propagate to other clones and prevent resurrection
issues, err := store.SearchIssues(ctx, "", types.IssueFilter{IncludeTombstones: true})
if err != nil {
return fmt.Errorf("failed to get issues: %w", err)
}