ListExtColumns introspects existing columns via PRAGMA (SQLite) or information_schema (Postgres). MigrateExtTables diffs manifest db_tables against existing schema: creates new tables, adds new columns via ALTER TABLE, applies indexes idempotently. No destructive changes — columns present in DB but absent from manifest are preserved. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>