Skip to main content

Database Location

SQLite3. All VibeLearn-specific tables use the 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 via DatabaseManager. Each migration has an integer ID. Migration 008 added all vl_ tables.