Skip to content

fix: prevent data loss when tombstoning/retrying existing DB records#27

Merged
rverk merged 2 commits intomainfrom
fix/prevent-data-loss-tombstone
Mar 14, 2026
Merged

fix: prevent data loss when tombstoning/retrying existing DB records#27
rverk merged 2 commits intomainfrom
fix/prevent-data-loss-tombstone

Conversation

@rverk
Copy link
Collaborator

@rverk rverk commented Mar 14, 2026

Summary

  • Replace session.merge() with load-and-update pattern in mark_niet_leverbaar() and mark_retry_after() for BasisProfielWriter and VestigingsProfielWriter
  • Previously, calling these methods on an existing record could silently overwrite business data (e.g. registratie_datum_einde, address fields) with None
  • KvKVestigingenWriter is unaffected — its ORM has no business data fields and merge() is intentionally correct there

Test plan

  • test_mark_niet_leverbaar_preserves_existing_data — asserts naam, rechtsvorm, registratie_datum_einde survive tombstone
  • test_mark_retry_after_preserves_existing_data — asserts same fields survive retry-after update
  • Equivalent tests added for VestigingsProfielWriter
  • just check-all passes clean

Production data recovery

If records were already affected, see recovery SQL in the plan (identify records where error flags are set but business fields are NULL, then un-tombstone or delete to trigger re-fetch).

🤖 Generated with Claude Code

Rob Verkuijlen and others added 2 commits March 14, 2026 15:33
Replace session.merge() with load-and-update pattern in mark_niet_leverbaar()
and mark_retry_after() for BasisProfielWriter and VestigingsProfielWriter.
Adds regression tests asserting existing fields (naam, registratie_datum_einde,
etc.) are preserved after tombstone/retry operations.

Also adds code-reviewer skill and CLAUDE.md instruction to run it before PRs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rverk rverk merged commit b411229 into main Mar 14, 2026
1 check passed
@rverk rverk deleted the fix/prevent-data-loss-tombstone branch March 14, 2026 14:36
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.

1 participant