ECMS AI Layer & Learner Model
The AI half of ECMS: a shared learner model fed from three sources, a Socratic tutor, essay grading, question generation and early warning

Overview
ECMS accumulated nineteen AI features that had never met each other: a tutor that did not know what the student failed last week, an early-warning system that read only attendance and grades. The fix was a learner model - a mastery figure per topic per student, maintained as a difficulty-weighted moving average and written to by three producers: exam marking, assignment auto-grading and spaced review.
Every AI then reads from it. Producers write non-blockingly, because a failure in a derived signal must never break the grading flow that triggered it, and all three pass through a topic-normalisation layer so three names for one concept converge instead of splitting the model into thirds.
On top sit the consumers: a tutor that refuses to hand over answers, adaptive practice aimed at weak topics, AI-drafted essay marking the teacher approves, plagiarism detection, question generation bound to curriculum standards, and per-organisation token quotas so the AI bill is attributable.