Public Access
feat(meals): enforce three lower-calorie dinners with media
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Recipe Catalog Import Phase 3
|
||||
|
||||
## Scope
|
||||
|
||||
Added the admin review API and atomic staged-recipe publication boundary.
|
||||
|
||||
## Implementation
|
||||
|
||||
- Added paginated/filterable queue and provenance detail endpoints under `/api/admin/recipe-imports`.
|
||||
- Added approve/reject transitions protected by the existing admin bearer dependency.
|
||||
- Revalidates immutable Wikibooks payloads and maps exact-name canonical ingredients without fuzzy matching.
|
||||
- Publishes global text-only recipes and review metadata in one transaction.
|
||||
- Handles idempotent approval/rejection, deleted-recipe republication, page-level publication deduplication, checksum conflicts, integer bounds, and concurrent revision races.
|
||||
|
||||
## Verification
|
||||
|
||||
- Combined Phase 1-3 PostgreSQL tests: `45 passed in 9.11s`.
|
||||
- Offline Wikibooks tests: `23 passed, 2 deselected in 1.70s`.
|
||||
- Python compilation and scoped `git diff --check`: passed.
|
||||
- Follow-up adversarial review: no remaining P1/P2 findings.
|
||||
- Disposable PostgreSQL databases were removed.
|
||||
|
||||
## Status
|
||||
|
||||
Phase 3 is complete. Phase 4 is in progress.
|
||||
Reference in New Issue
Block a user