Learning Domain Events¶
Why This Exists¶
This document defines domain events published by the Learning Domain.
Owner¶
The owner is the Chief Product Officer and Enterprise Architect.
Business Value¶
Learning events let Algosure connect education activity to notifications, analytics, organizational memory, and adjacent procurement workflows without breaking domain ownership.
Event Metadata¶
Every Learning event should include:
- EventId.
- EventType.
- OccurredAt.
- AggregateId.
- OrganizationId where applicable.
- UserId where applicable.
- CausationId.
- CorrelationId.
- SourceDomain set to Learning.
- SchemaVersion.
Event Catalogue¶
| Event | Trigger | Payload | Consumers | Business value |
|---|---|---|---|---|
| CoursePublished | A course is approved and made available. | CourseId, version, level, target audience. | Notification, Analytics. | Announces new education assets. |
| LearningPathCreated | A path is created for a goal or maturity segment. | PathId, goal, steps, status. | Analytics, Intelligence. | Enables structured learning journeys. |
| UserEnrolled | A user enrols in a course or path. | UserId, OrganizationId, asset reference. | Notification, Analytics. | Tracks learning adoption. |
| LessonStarted | A user starts a lesson. | UserId, LessonId, started at. | Analytics. | Measures engagement. |
| LessonCompleted | A user completes a lesson. | UserId, LessonId, completion rule, timestamp. | Analytics, Recommendation. | Drives progress and next-step logic. |
| QuizAttemptSubmitted | A quiz attempt is submitted and scored. | AttemptId, QuizId, score, pass status. | Progress, Analytics. | Provides evidence of understanding. |
| PracticalExerciseSubmitted | A practical exercise is submitted. | SubmissionId, ExerciseId, review status. | Progress, Intelligence. | Captures applied learning evidence. |
| CertificateIssued | Completion criteria are satisfied. | CertificateId, UserId, asset reference, issue date. | Notification, Analytics, Organization Memory. | Provides learning completion evidence. |
| ProcurementMaturityAssessmentCompleted | An assessment is scored. | AssessmentId, OrganizationId, level, rubric version. | Recommendation, Analytics, Intelligence. | Identifies organizational learning maturity. |
| KnowledgeGapIdentified | A learning gap is recorded. | KnowledgeGapId, category, severity, evidence. | Recommendation, Intelligence. | Converts weaknesses into learning actions. |
| LearningRecommendationCreated | A recommendation is created. | RecommendationId, target asset, reason, priority. | Notification, Analytics. | Guides users to relevant learning. |
| AITutorSessionStarted | A tutor session begins. | SessionId, UserId, context references. | Intelligence, Audit. | Starts auditable tutor support. |
| AITutorSessionCompleted | A tutor session ends. | SessionId, summary, confidence, guardrail result. | Progress, Analytics, Audit. | Records learning support outcome. |
| OrganizationLearningProfileUpdated | Organization learning state changes. | ProfileId, maturity, gaps, progress summary. | Analytics, Intelligence. | Keeps organizational learning profile current. |
| UserProgressUpdated | User progress changes. | ProgressId, status, percentage, evidence. | Notification, Analytics. | Tracks learning journey. |
Event Flow¶
sequenceDiagram
participant Compliance
participant Learning
participant Intelligence
participant Notification
participant Analytics
Compliance->>Learning: ComplianceGapDetected reference
Learning->>Learning: Create KnowledgeGap
Learning->>Intelligence: Request explanation support
Intelligence-->>Learning: Tutor/recommendation reasoning
Learning->>Learning: Create LearningRecommendation
Learning-->>Notification: LearningRecommendationCreated
Learning-->>Analytics: OrganizationLearningProfileUpdated
Cross-Domain Rule¶
Adjacent domains may trigger Learning decisions through events or commands. They must not directly create certificates, mutate progress, or mark Learning recommendations as complete.