Skip to content

fix(db): make edge rebinding atomic - #1849

Open
cbeaulieu-gt wants to merge 1 commit into
colbymchenry:mainfrom
cbeaulieu-gt:codex/upstream-atomic-edge-rebind
Open

fix(db): make edge rebinding atomic#1849
cbeaulieu-gt wants to merge 1 commit into
colbymchenry:mainfrom
cbeaulieu-gt:codex/upstream-atomic-edge-rebind

Conversation

@cbeaulieu-gt

Copy link
Copy Markdown

Summary

  • replace resolution-edge deletion and unresolved-reference insertion inside one database transaction
  • preserve the previously committed edge if requeue insertion fails
  • add convergence coverage for same-target rebinding and forced rollback
  • document the fix in the unreleased changelog

Verification

  • npm test -- __tests__/sync-rebuild-convergence.test.ts — 10 passed
  • npm run build — passed
  • npm test after building — 4,329 passed, 55 failed, 227 skipped on Windows; the remaining failures are outside the changed sync code and include existing UI expectations, watcher timing, PID-1 assumptions, and worker exits. Hosted CI is the clean-platform check.

Fixes #1833

🤖 Generated by Codex on behalf of @cbeaulieu-gt

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incremental-sync rebind can permanently lose edges when interrupted between delete and requeue

1 participant