Database Location
vl_ prefix. Core session tables retain the original sdk_sessions and observations names.
Core Tables (Session Tracking)
sdk_sessions
Tracks every session.
observations
Every tool use captured during sessions.
VibeLearn Tables (vl_ prefix)
vl_concepts
Concepts extracted from sessions by ConceptExtractor.
vl_questions
Quiz questions generated per concept by QuizGenerator.
vl_quiz_attempts
Records every quiz answer.
Attempts are HMAC-signed with the user’s API key:
HMAC(apiKey, questionId + isCorrect + createdAt). The server validates signatures before updating mastery.
vl_developer_profile
Mastery tracking per concept name.
Note:
mastery_score is server-authoritative. Local value is a cache — overwritten on sync.
vl_stack_profiles
Tech stack detected per session by StackDetector.
vibelearn_session_summaries
Human-readable narrative per session, produced by ConceptExtractor.
vl_sync_queue
Offline sync queue. Populated when upstream sync fails.
Max attempts: 5. After that, status becomes
failed.
vl_daily_streaks
Local streak cache. Server is authoritative — this table is never trusted for official streak data.
Migrations
Migrations run automatically on worker startup viaDatabaseManager. Each migration has an integer ID. Migration 008 added all vl_ tables.

