Katalog, lernendes Mapping ohne KI, optionale Items und Import-Policy. Playwright-Smoke und Issue-Audit um Ernährung/Zuordnen/API ergänzt. Co-authored-by: Cursor <cursoragent@cursor.com>
1.2 KiB
1.2 KiB
BLS Food Reference – technische Spec
Stand: 2026-09-12 · Migration 062
Tabellen
food_attributes— dynamischer Stoff-/Merkmalskatalog (attr_key,data_type,origin)food_catalog— Lebensmittel (bls_codeUNIQUE bei official_bls; manuell ohne BLS-Code)food_attribute_values— typisiertes EAVfood_name_mappings— FDDB-Name →food_id(User / global)nutrition_items— Tagebuchzeilen inkl.logged_atnutrition_daily_nutrients— Tages-Rollup numerischer Attributenutrition_day_marks—fasting|incomplete
Layer 1
data_layer/food_mapping.py— Normalisierung, Lookup, Learn, Apply, Deletedata_layer/nutrition_items.py— Ingest, drei Makro-Summen, Policy,resolve_*_attributes
Import
BLS: Admin-Upload Components + Daten-XLSX (backend/bls/parser.py). Upsert über bls_code / attr_key, nie Delete+Insert offizieller Zeilen.
FDDB: Items persistieren; nutrition_log nur bei leerem Tag oder laut Policy / Bestätigung.
Router
/api/bls/*— Suche, eigene Foods, eigene Mappings/api/admin/bls/*— Import, Katalog, Attribute/api/admin/food-mappings— Admin-CRUD/api/nutrition/*— Items, Unmapped, Bulk-Map, Marken, Konflikt-Resolve