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
+25
View File
@@ -0,0 +1,25 @@
# Wikibooks Live Compatibility
## Goal
Produce reviewable Wikibooks candidates from live pages without weakening quantity, serving, provenance, or human-approval requirements.
## Phase 1: Validation Precision
- [x] Capture representative live parse payloads as offline fixtures, excluding images.
- [x] Fix plural normalization before generic-title filtering and bounded Roman-numeral variants.
- [x] Exclude narrowly justified dish/descriptor tokens while retaining distinctive ingredient checks.
- [x] Verify incomplete quantities/servings still quarantine and title-only false positives become pending.
## Phase 2: Production Recovery
- [x] Run focused backend tests and static checks against a disposable PostgreSQL database.
- [x] Deploy the importer change to backend and scheduler on `docker-willester`.
- [x] Stage a bounded targeted sample and present pending candidate details for explicit approval.
- [x] After approval, publish selected recipes and verify Generate creates a meal.
## Done When
- [x] At least one licensed, structurally valid recipe is active through the staging/approval workflow.
- [x] Production Generate succeeds without reactivating the unsafe legacy catalog.
## Constraints
- Never infer missing quantities or servings.
- Never auto-approve or copy Wikibooks images.
- Preserve immutable raw payloads, attribution, and CC BY-SA metadata.