feat(meals): enforce three lower-calorie dinners with media
CI / backend (pytest + alembic) (push) Canceled after 0s
CI / frontend (build) (push) Canceled after 0s

This commit is contained in:
2026-09-01 10:11:36 -07:00
parent 7838c49721
commit 2695ba0232
85 changed files with 8103 additions and 795 deletions
@@ -0,0 +1,9 @@
# 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.