Schema: public_id + version columns with UNIQUE constraint,
delete_timestamp for soft-delete.
Tools: store_flashcard accepts optional public_id, update_flashcard
creates a new version preserving history, delete_flashcard inserts
a tombstone row and removes the Qdrant point.
Qdrant: point ID is public_id (only latest version indexed).