fix(server): migrate-dev-db refuses pre-V2 sources with legacy threads

V1 threads move into the V2 tables at server runtime, not in a migration,
so a pre-V2 source migrated into a dev database with no threads while the
command reported success. Check the source read-only before touching the
destination and fail with MigrateDevDbLegacySourceError when it has no V2
thread table but legacy projection_threads rows. Empty pre-V2 sources and
V2 sources are unchanged.

Fixes #19018

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22aeeaea99Julius Marminge committed on 10/21/2026, 10:34:43 PMparente0fba36
2 files changedLine totals unavailable