Public Access
feat(meals): enforce three lower-calorie dinners with media
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# Recipe Catalog Import
|
||||
|
||||
## Goal
|
||||
|
||||
Replace permanent third-party search ingestion with an auditable, human-approved free recipe catalog pipeline using Wikibooks text under its source license.
|
||||
|
||||
## Tasks
|
||||
|
||||
- [x] Phase 1: Add staging/provenance models and migration. Verify with model and Alembic tests.
|
||||
- [x] Phase 2: Add rate-limited Wikibooks acquisition, deterministic normalization, checksums, validation, and fixtures. Verify with service tests.
|
||||
- [x] Phase 3: Add admin queue/detail/approve/reject endpoints with atomic publication. Verify auth, state transitions, deduplication, and rollback.
|
||||
- [x] Phase 4: Route automatic acquisition to staging and add an audit/quarantine command for existing recipes. Verify no automatic path publishes unreviewed data.
|
||||
- [x] Phase 5: Document licensing and operations, then run backend lint/type/test and migration checks.
|
||||
|
||||
## Done When
|
||||
|
||||
- [x] Every acquired recipe records source revision, URL, attribution, license, acquisition time, and immutable payload checksum.
|
||||
- [x] Structural or title/ingredient consistency failures remain quarantined.
|
||||
- [x] Only an authenticated admin approval can publish a staged recipe.
|
||||
- [x] No image is copied from Wikibooks.
|
||||
|
||||
## Notes
|
||||
|
||||
One-time approval for all phases was granted on 2026-08-14. A frontend admin UI is out of scope because the app has no frontend bearer-token admin-auth flow.
|
||||
Reference in New Issue
Block a user