A before ver ('0012',)
A upgrade rc 0 ['init_db ok'] ver ('0013',) data identical: False new col values [(0, None, 25)]
A rerun rc 0 ['init_db ok'] identical: True
B before ver no such table: alembic_version tables ['findings', 'investigations', 'module_runs']
B upgrade rc 0 ['init_db ok', 'Cleaned 6 stale zombie investigation(s) on startup.'] ver ('0013',) pre-existing tables intact: False new tables: ['alembic_version', 'audit_log', 'contacts', 'crawl_snapshots', 'domains', 'observation_raw_payloads', 'observations', 'pro_keys', 'run_manifests', 'score_feature_snapshots', 'score_outcome_labels', 'suppression', 'takedowns', 'verification_outcomes']
C fresh rc 0 ['init_db ok'] ver ('0013',)
C vs A(real upgraded) schema equal (tables): True crawl_snapshots cols equal: True
D OLD creates db rc 0 ['init_db ok'] ver ('0012',)
D NEW upgrades OLD-created db rc 0 ['init_db ok'] ver ('0013',)
E OLD code on 0013 db rc 1 ['  File "/Users/delzyn/MailAccess/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors', '    raise util.CommandError(resolution) from re', "alembic.util.exc.CommandError: Can't locate revision identified by '0013'"]
--- B detail (legacy pre-Alembic DB -> head)
findings rows 1810 1810 changed rows 0
module_runs rows 876 876 changed rows 0
investigations rows 54 54 changed rows 6
  changed status transitions: [('RUNNING', 'FAILED')] other cols changed: ['completed_at', 'status']
--- A detail (real DB 0012->0013): all tables byte-identical to original copy except alembic_version, new cols default (0, NULL) x25
