Skip to main content

Notification Integration

Summary

Asynchronous Performance-to-Notification integration through lifecycle events.

Audience

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

Overview

Performance does not call Notification directly. Aggregate domain events are translated to shared contracts, stored transactionally, and relayed through shared messaging. Notification source handles every confirmed Performance lifecycle event type.

Confirmed implementation

  • Cycle, goal, self-submission, manager-review, approval, and finalization signals are mapped.
  • The outbox write is part of the aggregate save boundary.
  • A hosted relay publishes pending or failed records and updates delivery state.
  • Notification resolves employee, manager, or HR audiences based on event type.
  • Compatibility saves deliberately emit no lifecycle notification events.

Classification

Implemented asynchronous boundary with Transitional recipient enrichment and operational ownership.

Requires confirmation

Delivery objectives, recipient enrichment ownership, replay procedures, and consumer monitoring require confirmation.

Diagram

See Also

Keywords

  • Performance service
  • Notification Integration
  • Draft technical documentation

Source References

  • microservices/src/performance-service/Infrastructure/PerformanceDbContext.cs
  • microservices/src/performance-service/Messaging/OutboxRelayHostedService.cs
  • microservices/src/notification-service/Application/EventNotificationResolver.cs
  • microservices/src/notification-service/Seed/DefaultTemplateSeeder.cs

Revision Information

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