Skip to main content

Persistence Ownership and Boundaries

Summary​

Runtime, design-time, compatibility, and transition persistence boundaries.

Audience​

Backend engineers, database reviewers, architects, QA, support, operations, security reviewers, and product owners.

Overview​

PerformanceDbContext is the only runtime persistence model. PerformanceDbContextFactory creates that model for design-time tooling and is not another model. PerformanceBackfillDbContext derives from it for transition writes. Compatibility uses normal runtime repositories and does not have its own context.

Confirmed persistence behavior​

  • The service owns review cycles, appraisals, goals, reviews, audit, timeline, outbox, and processed-event records.
  • Employee, manager, HR, Workflow, and cycle-to-appraisal associations are identifier-only where no EF relationship is configured.
  • The legacy backfill source is read separately and is not a Performance-owned runtime model.
  • The backfill context changes compatibility-identifier generation but otherwise inherits runtime mappings.
  • No separate reporting or compatibility database context exists.

Classification​

Implemented bounded-context ownership with Transitional source-to-target migration tooling.

Requires confirmation​

Final system of record, legacy retirement, transition-tool access, and data stewardship require confirmation.

Diagram​

See Also​

Keywords​

  • Performance persistence
  • Ownership and Boundaries
  • Draft database documentation

Source References​

  • microservices/src/performance-service/Infrastructure/PerformanceDbContext.cs
  • microservices/src/performance-service/Domain/Repositories.cs
  • microservices/src/performance-service/Backfill/PerformanceBackfillTypes.cs
  • microservices/src/performance-service/Backfill/PerformanceMonolithSourceReader.cs

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-16
  • Review cycle: Quarterly