RGreview-game-corethe engine behind concept-first review games

General showcase

Real patterns from the core and the two strongest consumers.

The showcase pages are grounded in actual `review-game-core`, `stats-exam-prep-game`, and `math-1111-review-game` code paths. They are not synthetic demos.

Examples

stats-exam-prep-game

Exam-track goal coach in stats

The stats launcher turns concept progress into a clear next-track recommendation without embedding learner planning into the core itself.

Outcome: The launcher can pivot from Exam 3 to the final sweep while keeping grade math and learner bootstrap logic app-owned.

goalschedulerworkflow
stats-exam-prep-game/lib/study-goal.tsstats-exam-prep-game/app/page.tsx

math-1111-review-game

Section-native study brief in Math 1111

Math1111 converts section completion and deadline windows into a unit recommendation while keeping course policy, sources, and learner identity out of the core.

Outcome: A learner lands on the right unit, sees whether it is current or catch-up, and can launch guided or cram paths from the app shell.

goalworkflowgraph contracts
math-1111-review-game/lib/study-goal.tsmath-1111-review-game/app/page.tsx

core

WF contract validation in the core

The shared WF harness keeps type coverage, payload shape, concept consistency, and scheduler expectations testable before browser-level regression or low-context WF passes.

Outcome: Consumer repos can prove static well-formedness quickly, then spend browser time on true workflow discovery rather than contract drift.

wf-harnessschedulerquestiongenerator
review-game-core/src/wf-harness/validators.ts

state-machine

Planning / goal abstraction

Ordered phases, local-date deadlines, and recommendation roles let consumer apps turn progress counts into a clear next track.

goal

state-machine

Scheduler

Concept-level mastery math, spacing, and next-concept selection stay policy-driven so each game can own its own UI and gating rules.

schedulerconcept

state-machine

Guided repetition ladder

Concept-first rep phases — light, hard, and recovery-light — with explicit attempt budgets and selection reasons so apps can teach first, then fade to independent proof.

schedulerconcept

code-snippet

Readiness scoring and phase state

A coarse 0–100 readiness signal and a six-value phase vocabulary (not_started, learning, practicing, mastered, shaky, tracked_in_quiz) that products can roll up without overclaiming.

readinessscheduler/phase-state

consumer-flow

Workflow quiz engine / session / debug

The quiz engine runs a turn through six phases; session and debug helpers let consumer shells persist and force routes deterministically.

workflow/quiz-engineworkflow/sessionworkflow/debug

code-snippet

Content-identity restore seam

Session snapshots carry an optional content identity (questionId, contentId, contentVersion) so a restored turn can be compared honestly against current authored content before it is resumed.

workflow/sessionworkflow/persistence

code-snippet

Per-question experiment gating

Deterministic cohort resolution, exposure records, and served-question metadata for experimental or LLM-variant questions — so gated content stays visible, auditable, and WF-testable before it reaches learners.

workflow/interventions

code-snippet

WF harness

The harness validates static well-formedness across question coverage, payload shape, concept wiring, generator determinism, and scheduler scenarios.

wf-harnessschedulergenerator

code-snippet

Graph contracts / query / projector

The graph layer projects authored learning structure into Neo4j as a rebuildable read model instead of turning the graph into an operational source of truth.

graph/contractsgraph/querygraph/projector

code-snippet

Concept tree + question / generator primitives

Questions, concepts, and seeded generators stay minimal so consumer repos can shape content and rendering without fighting a heavyweight framework — with room for a concept-first rubric (disclosure, scaffold-then-fade) above the core types.

questionconceptgenerator