SQLite PRAGMA table_info returns notnull=1 for columns with DEFAULT, even when they are nullable. Now only checks column existence.
Adds columns: reasoning_type, confidence, reasoning_steps, model_source, tiptap_content - Skips columns if they already exist (idempotent) - Includes post-migration validation - Documents SQLite-compatible rollback procedure