The Bookmark model name is a historical artifact from when the only way to create one was to bookmark a word while reading an article.
Now that we have AI-generated examples, past encounter contexts, and user-uploaded examples, a Bookmark is really just a specific context/example sentence tied to a word the user is learning. The name is confusing — especially when we "create bookmarks" for alternative example sentences the user hasn't even selected yet.
Consider renaming to something like ExampleContext, WordContext, or WordExample.
This would touch:
- The SQLAlchemy model + DB table
- All API endpoints that reference bookmarks
- Frontend code that uses bookmark IDs and bookmark dicts
- Exercise session logic (
selectedExerciseBookmark, handleExampleUpdate, etc.)
Large refactor — worth doing incrementally (e.g. alias first, then migrate callers).
The
Bookmarkmodel name is a historical artifact from when the only way to create one was to bookmark a word while reading an article.Now that we have AI-generated examples, past encounter contexts, and user-uploaded examples, a Bookmark is really just a specific context/example sentence tied to a word the user is learning. The name is confusing — especially when we "create bookmarks" for alternative example sentences the user hasn't even selected yet.
Consider renaming to something like
ExampleContext,WordContext, orWordExample.This would touch:
selectedExerciseBookmark,handleExampleUpdate, etc.)Large refactor — worth doing incrementally (e.g. alias first, then migrate callers).