Wiki · Learning science

Machine learning & learning-science techniques

Not every intelligent behavior needs a GPU. EtherBranch mixes classical algorithms you can audit—SM-2, mastery decay, Bloom tagging—with the generative stack. This page catalogs what runs today in pure TypeScript and what the future model will inherit.

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.