Public Access
feat(meals): enforce three lower-calorie dinners with media
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# Recipe Catalog Import Phase 4
|
||||
|
||||
## Outcome
|
||||
|
||||
- Automatic and admin acquisition now stage Wikibooks candidates; no production caller publishes Spoonacular data directly.
|
||||
- Legacy search/import endpoints return HTTP 410 and frontend vendor-search controls were removed.
|
||||
- Existing recipes have active/quarantined catalog state, deterministic audit findings, and active-only catalog selection boundaries.
|
||||
- Historical meal-plan reads remain unfiltered; direct creation rejects quarantined recipe IDs.
|
||||
- Spoonacular write scripts and deployment key wiring were retired.
|
||||
|
||||
## Verification
|
||||
|
||||
- Python compilation passed for the Phase 4 backend scope.
|
||||
- Frontend production build passed with only the existing Vite chunk-size warning.
|
||||
- Offline Wikibooks tests: `26 passed, 2 deselected`.
|
||||
- Disposable PostgreSQL catalog suite: `61 passed in 11.80s`.
|
||||
- Disposable PostgreSQL finalizer subset: `5 passed, 26 deselected in 2.26s`.
|
||||
- Nullable admin-email regression plus admin import API: `19 passed in 5.78s`.
|
||||
- Adversarial review: one in-scope blocker fixed; remaining findings were pre-existing, false positives, or outside the approved scope.
|
||||
|
||||
## Incident
|
||||
|
||||
An intermediate test command exported only `TEST_DATABASE_URL`; Compose's existing `DATABASE_URL` therefore kept request-scoped sessions on the live DB. The exact synthetic artifacts were audited and removed transactionally: 23 staging rows, 7 recipes, and 2 ingredients. A post-cleanup query returned zero artifacts. Future container test commands must set both database variables to the disposable database.
|
||||
|
||||
## Remaining
|
||||
|
||||
Phase 5 documents licensing and operations, runs final scoped/full verification, and records unrelated suite blockers without modifying them.
|
||||
Reference in New Issue
Block a user