Compatibility and Backfill Persistence
Summary
Legacy-shaped persistence adapter, transition context, upsert behavior, resume markers, and parity checks.
Audience
Backend engineers, database reviewers, architects, QA, support, operations, security reviewers, and product owners.
Overview
Compatibility maps one flat legacy record to one Appraisal with one Goal and a collapsed lifecycle. Backfill reads the legacy source, writes through the derived context, preserves the legacy identity as CompatId, and performs no deletes.
Confirmed persistence behavior
- Dry-run performs reads and comparisons without target SaveChanges.
- Upsert groups duplicate source identities, inserts missing appraisals, updates changed mappings, and skips matches.
- Backfill bypasses global filters and applies explicit tenant conditions.
- Resume uses a tenant-completion audit marker written after the tenant run; that marker is a normal audit object, not a separate checkpoint object.
- Parity validation compares counts, cycle coverage, aggregate totals, and missing-subject conditions.
- Status is collapsed to Draft or Approved during transition.
- Gateway rollback changes routing only; source does not show reversal of already-written data.
- No cutover sign-off object or final-system-of-record marker is persisted.
Classification
Transitional migration architecture.
Requires confirmation
Go/no-go ownership, reconciliation acceptance, rollback data policy, source retirement, and global identity collision handling require confirmation.
Diagram
Related Articles
See Also
Keywords
- Performance persistence
- Compatibility and Backfill
- Draft database documentation
Source References
microservices/src/performance-service/Application/Compatibility/PerformanceCompatService.csmicroservices/src/performance-service/Backfill/PerformanceBackfillTypes.csmicroservices/src/performance-service/Backfill/PerformanceGoalBackfill.csmicroservices/src/performance-service/Backfill/PerformanceBackfillRunner.csmicroservices/src/performance-service/Backfill/PerformanceBackfillValidator.csmicroservices/src/gateway-api/Program.cs
Revision Information
- Status: Draft
- Last reviewed: 2026-07-16
- Review cycle: Quarterly