SM-2 spaced repetition (live today)
Lab's review scheduler implements SuperMemo-2 in lib/lab/sm2.ts. Each objective tracks ease factor, interval, and repetitions on UserObjectiveProgress. When you mark a flashcard Easy / Hard / Again—or grade a quiz—the API maps feedback to a quality score 0–5, runs scheduleReview, and writes nextReviewAt.
The Progress page's “Needs Review” list is not a stub: it is isDue(nextReviewAt) over seeded and live recall events. That means Lab already teaches the forgetting curve even while the LLM is mocked.
Mastery scoring and soft decay
Mastery is a 0–100 score per objective. Correct quizzes and easy recalls nudge it up; hard/again events and elapsed time nudge it down. Soft decay models the everyday truth that unused knowledge fades—without punishing a weekend off as harshly as a month away. Aggregate book mastery (the ring in Lab's top bar) is the mean of leaf objectives, so a single weak chapter visibly dims the halo.
Bloom's taxonomy as feature labels
Every learning objective carries a Bloom level: remember, understand, apply, analyze, evaluate, create. These are not badges for decoration. They structure weak-spot analytics (“you remember definitions but struggle to apply”) and bias RAG/CAG prompts toward the right exercise type. When the real grader lands, Bloom labels make rubric-style feedback possible without inventing a new ontology.
Milestones as constrained graphs
Milestones are achieved when a required set of objective IDs crosses a mastery threshold. That is a simple conjunctive rule over the progress table—interpretable, testable, and immune to generative whimsy. The UI presents them as a scholarly certification path, not a mobile-game streak firework.
Embeddings, re-rankers, and future models
The generative half of Lab will rely on:
- Dense bi-encoder embeddings for chunk retrieval (RAG).
- Optional cross-encoder re-ranking for precision@k.
- A streaming chat LLM with tool-style citation markers.
- A smaller specialized model for quiz grading and flashcard synthesis.
Preference signals from recall events and thumbs feedback form an offline dataset for retrieval fine-tuning and prompt evaluation. Online RLHF is out of scope until evaluation harnesses exist—Lab will not silently update student-facing answers from a live reward model without review.
Evaluation mindset
We treat study quality as measurable: citation accuracy, refusal correctness when the book lacks coverage, SM-2 schedule stability, and mastery calibration (does 80% mastery predict exam success?). Mock inference is enough to harden UX; golden-set evals will gate the real model before it teaches.
Continue to the Study Lab map or the system architecture.
