Skip to main content

Performance Domain Model

Summary

Aggregate, entity, value-object, and event boundaries confirmed in the Performance domain.

Audience

Engineers, architects, QA, support, security reviewers, and operators working with the Performance module.

Overview

The domain defines ReviewCycle and Appraisal as aggregate roots. Appraisal owns AppraisalGoal and AppraisalReview children. CyclePeriod, Rating, Weightage, and ReviewerRef are value objects. Aggregate roots queue domain events for later persistence-layer translation.

Confirmed implementation

  • ReviewCycle controls its own lifecycle and period invariants.
  • Appraisal controls goal creation, staged review, Workflow decision application, approval, reopening, and compatibility updates.
  • Goals and reviews are not independent aggregate roots.
  • There is no Performance aggregate, Objective aggregate, competency model, development-plan model, or promotion aggregate.

Classification

Implemented core domain with Transitional compatibility methods inside Appraisal.

Requires confirmation

Future separation of compatibility behavior and any additional domain concepts requires confirmation.

Diagram

See Also

Keywords

  • Performance service
  • Domain Model
  • Draft technical documentation

Source References

  • microservices/src/performance-service/Domain/Common/DomainPrimitives.cs
  • microservices/src/performance-service/Domain/ReviewCycle/ReviewCycle.cs
  • microservices/src/performance-service/Domain/Appraisal/Appraisal.cs
  • microservices/src/performance-service/Domain/Common/ValueObjects.cs

Revision Information

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