I have made a test deck to try out FSRS for a few months before I trust it with all of my cards.
The intention was:
- Cards in that deck would be studied only with FSRS
- Cards in other decks would be studied only with SM-2 (but will probably be switched to FSRS in the future if things go well with the test deck)
So while the Anki global setting would be switching back and forth, individual cards would stay on one algorithm or the other.
I made a separate preset to use with the FSRS deck, and planned to turn FSRS on when practicing that deck, and turn it off while doing other decks. I wrote myself a crude little addon to make sure I wouldn’t get mixed up and have the wrong algorithm active with the wrong deck.
My first day switching back and forth went fine, but I noticed that every time I turn FSRS on or off, my next sync shows numbers in the thousands under “added/modified” as if something is getting updated on all cards in all decks every time I change algorithms.
Am I making a mess in card history/the Anki database by repeatedly turning FSRS on and off (even though each card is only ever studied with one algorithm or the other)?
I was hoping to avoid using a second profile for this (since that would require a second AnkiWeb account for syncing), but if every switch is doing something to all of my cards and I’m risking making a mess in the database, then I’ll change to using a separate profile for the test!
Also potentially relevant: Some of my “non-FSRS” cards may have FSRS values stored from a previous attempt at switching to FSRS that didn’t go well. They will be staying on SM-2 for now, for the next month or so only the test deck will use FSRS.
But given the numbers I see under added/modified when I do a sync, I don’t think it’s just those cards that have something getting changed whenever I switch back and forth, it looks more like something might be getting changed on every single card in my collection.
I think it’s fair to say that repeatedly enabling/disabling FSRS is an untested edge case. But I can’t think of any reason that would necessarily cause problems, or create some sort of mess in your database.
Cards don’t have a status of what algorithm they are set to use – the algorithm is triggered at the preset level when you include the card in a study session (or otherwise reschedule it).
Yes, I think that’s probably what is happening. It makes sense that enabling FSRS updates/recalculates the memory state (D, S, R values) for all active cards, so they have complete data to start with. I’d expect that would register as a change for every card record. Check your “Card Modified” timestamps in Browse to see if they are all updated.
But as long as you aren’t rescheduling them (using reschedule-on-change), there’s nothing outside of that being added to the database, and nothing else is changing about your cards.
Yep, they are all getting updated every time, even for “new” cards that haven’t been practiced yet.
Glad it’s not adding a bunch of extra records to the database from doing that repeatedly!