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