dd08a09860
Addresses the lead-review findings on the new vocab SRS/persistence code: - Resume a persisted study group only when every stored verb resolves, else rebuild fresh — a partial resume desynced learnedCount from a shrunken queue and then persisted the loss. - studyAgain() clears the finished group before building a new one. - VocabStudyGroupStore.persist() collapses duplicate group records (cross-device sync races) down to the newest. - Learn mode now derives its verb list from the live quiz queue, so it browses exactly what's left to learn instead of a stale frozen pool. - VerbExampleGenerator retries when the first batch throws, not only when it returns bad data. - Per-verb example generation tracks in-flight verbs in a Set, so the loading spinner clears reliably and duplicate generations are skipped. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>