Spike: evaluate FSRS as a replacement scheduling algorithm #50

Open
opened 2026-09-26 13:58:44 +00:00 by belvedere · 0 comments
Collaborator

Objective: Decide whether to migrate off SM-2 once real review data exists.

Files:

  • Create: docs/decisions/0003-scheduling-algorithm.md (extends the M3 entry)

Steps:

  1. Summarise FSRS vs SM-2 (accuracy at equal workload, parameter fitting requirements).
  2. Because Study.Review stores interval_before/after and grades, the history can be replayed
    against a different scheduler — confirm that by implementing one replay in a throwaway script.
  3. Recommend: stay on SM-2 until N reviews exist, then revisit.

Verify: a written recommendation with the replay result, not a code change.

Notes: deliberately deferred. Do not build it in v1; just be sure the data model does not
block it.

**Objective:** Decide whether to migrate off SM-2 once real review data exists. **Files:** - Create: `docs/decisions/0003-scheduling-algorithm.md` (extends the M3 entry) **Steps:** 1. Summarise FSRS vs SM-2 (accuracy at equal workload, parameter fitting requirements). 2. Because `Study.Review` stores `interval_before/after` and grades, the history can be replayed against a different scheduler — confirm that by implementing one replay in a throwaway script. 3. Recommend: stay on SM-2 until N reviews exist, then revisit. **Verify:** a written recommendation with the replay result, not a code change. **Notes:** deliberately deferred. Do not build it in v1; just be sure the data model does not block it.
Sign in to join this conversation.
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nickkeers/first-thousand-words#50
No description provided.