New_Micro_Learning/docs/domain-model.md

1.8 KiB

Domain Model

Core aggregates

  • Organization owns users, teams, subscriptions, taxonomy, content, assignments, and analytics.
  • Course owns ordered CourseVersions. A published version is immutable; editing forks a draft.
  • CourseVersion owns Modules, Lessons, Blocks, Assessments, and version-aware taxonomy mappings.
  • Assignment targets learners, teams, or rules and references the assigned CourseVersion.
  • LearningAttempt records delivery state against the assigned version.

Taxonomy

  • TaxonomyType is organization-defined and has a stable identifier and semantic key.
  • TaxonomyNode has a stable identifier, optional parent, status, code, metadata, and revision history.
  • TaxonomyRelationship supports typed non-tree relationships without requiring a graph database.
  • ContentTaxonomyMapping links a versioned content object to a node with mapping type, relative weight, source, and confirmation state.
  • Inherited mappings are resolved, never copied to every descendant.

Circular hierarchies are invalid. Referenced nodes are archived rather than deleted.

Evidence and capability

  • EvidenceRecord is immutable and traces learner, taxonomy node, origin, type, normalized value, strength, course version, mapping snapshot, and occurrence time.
  • ScoringModel versions all calculation policies.
  • CapabilityScore is the current projection; CapabilitySnapshot preserves history.
  • SkillExpectation defines an expected level for a learner, team, role, or job family.
  • SkillGap exists only where an expectation exists.
  • ContentCoverageMetric separates learning, practice, assessment, scenario, and evidence coverage.

Capability score is a strength/recency-weighted evidence projection. Confidence separately reflects effective evidence volume, strength, recency, diversity, and consistency. Exposure alone cannot yield high confidence.