Skip to main content

LMS Completion Events

Summary

Completion reuses TrainingCompletedEvent and creates its local completion record in the same save boundary.

Audience

Engineering, integration, QA, architecture, security, product, and support reviewers.

Reference Content

There is no separate completion domain event or dedicated completion integration contract. The completion operation transitions the enrollment, creates the completion record, and stages TrainingCompletedEvent before one save. It does not enforce an assessment prerequisite. Certificate issue is a separate operation and contract, not an automatic ordered continuation proven by this completion path.

Terminal-state checks and persistence constraints prevent duplicate completion through the supported operation. No completion-reversal contract or compensating event was found. Local staging order is visible in producer code, but downstream delivery order is not guaranteed.

Source References

  • microservices/src/training-service/Api/TrainingEndpoints.cs
  • microservices/src/training-service/Infrastructure/TrainingDbContext.cs
  • microservices/src/contracts/Events/TrainingLifecycleEvents.cs

See Also

Keywords

  • Training completion
  • Completion record
  • Contract reuse

Revision Information

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