Skip to content

FSRS-7 ADR Support#412

Open
JSchoreels wants to merge 30 commits into
open-spaced-repetition:mainfrom
JSchoreels:feature/fsrs-7-adr
Open

FSRS-7 ADR Support#412
JSchoreels wants to merge 30 commits into
open-spaced-repetition:mainfrom
JSchoreels:feature/fsrs-7-adr

Conversation

@JSchoreels

Copy link
Copy Markdown

Hello, this is based on #395 and #404 .

Ofc #395 is a dependency but at least if some people want to try it out, they can also here.

CleanShot.2026-06-02.at.14.30.58.mp4

JSchoreels and others added 30 commits April 5, 2026 10:28
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…FSRS7 penalty/training integration and fractional-interval plumbing, while preserving legacy FSRS6 compatibility semantics.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces FSRS-7 model support alongside FSRS-6, splitting model-specific math, inference, parameter clipping, and training logic into version-specific modules. It changes the representation of elapsed time (delta_t) from u32 to f32 to support fractional days and same-day reviews. Additionally, it introduces the Cost ADR (Active Desired Retention) policy framework for optimizing desired retention based on study time and memorization targets, complete with simulation paths, training configs, and examples. The review feedback correctly points out a portability issue in a new example file where a specific user's absolute path is hardcoded as the default collection path.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines +15 to +16
const DEFAULT_COLLECTION: &str =
"/Users/jschoreels/Library/Application Support/Anki2/Main Profile/collection.anki2";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Hardcoding an absolute path to a specific user's home directory (/Users/jschoreels/...) breaks portability and will cause the example to fail on other machines unless --collection is explicitly provided. Consider using a relative path to a standard test fixture (like tests/data/collection.anki21) as the default.

const DEFAULT_COLLECTION: &str = "tests/data/collection.anki21";

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant