Skip to content

fix: detect legacy bd split stores in doctor#898

Closed
julianknutsen wants to merge 1 commit intomainfrom
fix/633-gc-doctor-split-store
Closed

fix: detect legacy bd split stores in doctor#898
julianknutsen wants to merge 1 commit intomainfrom
fix/633-gc-doctor-split-store

Conversation

@julianknutsen
Copy link
Copy Markdown
Collaborator

Summary

  • add a warning-only gc doctor check for legacy .beads/dolt plus .beads/embeddeddolt split stores
  • register the diagnostic for both city and rig bead stores
  • include recovery guidance to export from the inactive store, dry-run import, and preserve both directories until reconciled

Closes #633

Tests

  • git diff --check
  • go test ./internal/doctor -count=1
  • go test ./cmd/gc -run 'Test(DoDoctorReportsLegacyBDSplitStore|DoctorSkipsDoltChecksTreatsExecGcBeadsBdAsBdContract|DoctorSkipsSuspendedRigChecks|DoltTopologyCheck)' -count=1 -timeout 5m

Notes

  • go test ./cmd/gc -count=1 -timeout 15m was also tried during validation and hit an existing Dolt lifecycle flake: TestGcBeadsBdEnsureReadyDoesNotRestartAfterTransientTCPProbeFailure saw launch count 2, expected 1, then the package timed out while TestDoltStateRecoverManagedCmdReportsReadOnlyAndRestarts was running.

@github-actions github-actions Bot added the status/needs-triage Inbox — we haven't looked at it yet label Apr 19, 2026
@julianknutsen
Copy link
Copy Markdown
Collaborator Author

Thanks for this contribution, @julianknutsen! Your fix correctly identified that gc doctor should warn when legacy .beads/dolt and .beads/embeddeddolt split stores coexist.

We've merged this via #934, which includes your original commit with your authorship preserved plus maintainer fixups from adoption review. We created a new PR because we needed to add commits but couldn't push directly to your branch.

Your commit is in the merged history. We appreciate the contribution and look forward to more!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status/needs-triage Inbox — we haven't looked at it yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bd init mode switch silently creates empty store, orphaning existing data

1 participant