New_Micro_Learning/docs/event-taxonomy.md

1.9 KiB

Event Taxonomy

Events use dot-separated past-tense names and versioned payload schemas. Every tenant event includes organization context set by the server, actor context where relevant, occurred time, correlation ID, and causation ID.

Authoring

  • course.draft_created
  • course.version_published
  • taxonomy.mapping_created
  • taxonomy.mapping_confirmed

Learning

  • course.opened
  • course.completed
  • lesson.started
  • lesson.progressed
  • lesson.completed
  • block.viewed, block.interacted, and block.completed
  • video.started, video.progressed (25/50/75 milestone), and video.completed
  • video.replayed, video.skipped, and video.exited
  • assessment.started and assessment.completed
  • question.answered
  • comment.created, bookmark.created, and note.created

The ingestion allow-list is EventTaxonomy::learning() and its current schema version is 1. The server owns organization and learner identity. Clients may supply only a stable event UUID, assignment/content identifiers, occurred time, optional session/correlation/causation identifiers, a bounded payload, and allow-listed device context (platform, formFactor, online, appVersion). Video telemetry reports media position/duration and discrete milestones; it never sends a derived learner score.

Intelligence

  • assessment.evidence_created
  • skill.evidence_recorded
  • capability.recalculation_requested
  • capability.score_updated
  • capability.snapshot_created
  • coverage.metric_updated
  • skill_gap.detected

Raw events carry stable IDs, not copied taxonomy trees, and are immutable after ingestion. Consumers claim an event using (learning_event_id, processor, processor_version), so retries and late/offline delivery cannot duplicate projections. Derived daily metrics, risks, insights, and attention records stay in separate tables and can be rebuilt from raw events.