Files
Learn_System/backend/src/db/migrations/082_practice_sr.sql
T
Maxim Dolgolyov 48a73d9f8e feat(trainer): P2 — умная тренировка, интервальное повторение, итог сессии
- adaptive.js (TrainerAdaptive): nextSkill (in-session повтор → серверный due → прогрессия → удержание), onWrong/onCorrect (очередь повторения), sessionStats
- умная тренировка на странице (тумблер, по умолч. вкл): авто-подбор навыка от простого к сложному, возврат ошибок
- сессия из 10 задач + экран «Итог сессии» (верно/точность/навыки/стоит повторить); неверный ответ авто-показывает решение
- сервер: SR-поля box+due_at на practice_progress (мигр.082, Leitner 0/1/3/7/16/30 дн), listProgress отдаёт box/due_at/due
- смоуки: adaptive 12/12, страница 23/23, practice.test.js 11/11 (+SR box/due); план P2 → DONE

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 13:46:29 +03:00

14 lines
1.4 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ═══════════════════════════════════════════════════════════════
-- 082: SR-поля тренажёра (интервальное повторение по навыкам, Фаза 2).
--
-- К practice_progress добавляем Leitner-«коробку» и срок следующего показа:
-- box — уровень 0..5 (выше = увереннее освоено, реже повторяем).
-- due_at — когда навык снова стоит показать (datetime). NULL = «как можно скорее».
-- На верный ответ box растёт и срок отодвигается; на ошибку box сбрасывается в 0
-- и срок = сейчас (навык всплывёт первым при следующем заходе). Адаптивный
-- подборщик на клиенте показывает «просроченные» навыки (due_at <= now) раньше.
-- ═══════════════════════════════════════════════════════════════
ALTER TABLE practice_progress ADD COLUMN box INTEGER NOT NULL DEFAULT 0;
ALTER TABLE practice_progress ADD COLUMN due_at TEXT;