fd5ff00d82
Shopping name system hardening (api/index.php): - phraseMap: added sugar subtypes (zucchero a velo), passato di verdure/patate → Verdure, aroma phrases → Ingredienti Spezie, farina 00 → Farina, explicit brodo subtypes; added ordering comment on 'farina integrale' - keywordMap: added 'lievito' → Lievito, 'aroma' → Ingredienti Spezie single-token fallbacks DB migration (sqlite3 direct): - farina integrale / Farina integrale di grano tenero → Farina integrale (3 rows) - Prodotto sconosciuto (Belbake, it:farina-integrale) → Farina integrale - Zucchero di canna → Zucchero di canna - Passato di patate e carote → Verdure (it's a blended veg purée) - Aroma mandorla per dolci → Ingredienti Spezie (consistent with other aromas) Total: 11 products re-classified README.md: - Shopping List: added generic shopping name feature + auto-add on depletion - Cooking Mode: updated TTS description (browser / native Android / REST) - Kiosk: added native TTS bridge bullet - Roadmap: checked off 3 new completed items