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.csmicroservices/src/training-service/Infrastructure/TrainingDbContext.csmicroservices/src/contracts/Events/TrainingLifecycleEvents.cs
Related Articles
See Also
Keywords
- Training completion
- Completion record
- Contract reuse
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly