Skip to content

Learning Value Objects

Why This Exists

This document defines immutable or value-based concepts used by the Learning Domain.

Owner

The owner is the Chief Product Officer and Enterprise Architect.

Business Value

Value objects make learning rules precise. They prevent inconsistent scoring, unclear difficulty, invalid statuses, and unreliable certification records.

Value Object Catalogue

Value object Purpose Validation rules
CourseId Identifies a course. Must be globally unique within Learning.
ModuleId Identifies a module. Must be unique and reference a CourseId.
LessonId Identifies a lesson. Must be unique and reference a ModuleId.
LearningAssetId Identifies any course, module, lesson, quiz, exercise, or path. Must include asset type and stable ID.
ContentType Classifies content format. Allowed values include video, interactive, text, quiz, exercise, assessment.
DifficultyLevel Defines learning difficulty. Allowed values: beginner, intermediate, advanced, enterprise.
LearningStatus Tracks learner state. Allowed values: not_started, enrolled, in_progress, completed, failed, deferred, expired.
ProgressPercentage Measures completion. Must be 0 to 100.
QuizScore Stores quiz result. Must be 0 to 100 or a rubric-equivalent normalized score.
PassThreshold Defines required passing score. Must be 0 to 100 and set before quiz publication.
CertificateStatus Tracks certificate state. Allowed values: pending, issued, revoked, expired.
MaturityLevel Represents procurement learning maturity. Allowed values: level_1 to level_5 with versioned definition.
KnowledgeGapSeverity Describes severity of a gap. Allowed values: low, medium, high, critical.
RecommendationPriority Orders learning recommendations. Allowed values: low, normal, high, urgent.
TutorSessionStatus Tracks tutor session state. Allowed values: started, completed, blocked, escalated, archived.
AIConfidenceScore Captures confidence on AI-supported outputs. Must be 0 to 1 and include source context.
RubricVersion Identifies scoring rubric used. Must be immutable once assessment or certificate is issued.
OrganizationId References Organization-owned context. Must be treated as reference only.
UserId References identity-owned user. Must be treated as reference only.

Why Value Objects Matter

Learning decisions often depend on small but important values: score, pass threshold, maturity level, content type, and status. Treating those values consistently helps protect certificates, recommendations, and progress reporting.

Validation Principles

  • Value objects should be validated at command boundaries.
  • Historical records must retain the value object version used at the time.
  • AI-derived confidence values must not be treated as objective truth.
  • Cross-domain identifiers must remain references and must not duplicate owning-domain data.

Example

A quiz completion decision should use the quiz version, score, pass threshold, attempt timestamp, and user progress state. It should not rely on a mutable title, label, or free-text result.