# Recipe Catalog Import Phase 1 - Added the global `recipe_import_staging` model and Alembic revision `0017` from `0016`. - Preserved source revisions, licensing and attribution, raw and normalized JSON payloads, validation results, and review metadata. - Enforced revision uniqueness, lower-case SHA-256 shape, paired review metadata, and immutable raw payloads. - Local verification: 2 static tests passed and Python compilation/diff checks were clean. - Live verification: all 4 focused tests passed against a disposable PostgreSQL database; database cleanup succeeded. - Added a `0017 -> 0016 -> 0017` test guarded to `TEST_DATABASE_URL` databases ending in `_test`; it restores Alembic head in `finally` and never downgrades across `0015`. - Known pre-existing limitation: `backend/tests/test_alembic.py` downgrades to base, but `0015_normalize_pantry_aisles` intentionally raises on downgrade because it cannot restore normalized source values.