$ python utils/recipe_maintenance.py
Working directory: /app
------------------------------------------------------------
🛠️ Starting recipe maintenance...
==================================================
🔧 Full maintenance mode
📋 Step 1: Processing unparsed recipes...
🔍 Scanning recipes for parsing status...
2026-06-14 18:13:24,407 - mealie_client - INFO - MealieClient initialized in API mode
🔍 Scanning for unparsed recipes...
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 351 vectors
2026-06-14 18:13:24,420 - recipe_rag - INFO - ✅ ANN index loaded with 351 recipes
📦 Found 100 known unparsed recipes in local index
✅ All recipes have known parsing status
📋 Returning 100 unparsed recipes
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 351 vectors
2026-06-14 18:13:24,426 - recipe_rag - INFO - ✅ ANN index loaded with 351 recipes
✅ Found 100 recipes needing parsing
🚀 Parsing 100 recipes...
🔍 Validating Mealie connection...
2026-06-14 18:13:24,857 - config - INFO - ✅ Mealie connection successful: https://mealie.geevers.net
2026-06-14 18:13:25,081 - mealie_client - INFO - MealieClient initialized in API mode
🔍 Scanning for unparsed recipes...
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 351 vectors
2026-06-14 18:13:25,096 - recipe_rag - INFO - ✅ ANN index loaded with 351 recipes
📦 Found 100 known unparsed recipes in local index
✅ All recipes have known parsing status
📋 Returning 100 unparsed recipes
🔍 Scanning for unparsed recipes... found 100
2026-06-14 18:13:25,097 - mealie_client - INFO - MealieClient initialized in API mode
Parsing: 0%| | 0/100 [00:00<?, ?it/s]2026-06-14 18:13:38,367 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:40,248 - __main__ - INFO - Loaded 2785 canonical foods from Mealie
2026-06-14 18:13:40,253 - __main__ - INFO - Direct LLM parsed 10 ingredients, 10 matched to canonical
2026-06-14 18:13:40,253 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:40,354 - __main__ - INFO - Loaded 47 canonical units from Mealie
2026-06-14 18:13:40,355 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:40,610 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:40,610 - automatic_tagger - INFO - 🔍 Analyzing recipe: AARDAPPEL, ARTISJOK & SPLIJTKOOL MET GEBAKKEN EIEREN
2026-06-14 18:13:40,616 - batch_llm_processor - INFO - 📦 Loaded 300 cache entries from persistent storage
2026-06-14 18:13:40,617 - batch_llm_processor - INFO - 🔄 Using OpenRouter API for chat completions
2026-06-14 18:13:40,617 - batch_llm_processor - INFO - 💡 Enhanced caching provides >90% hit rates for repeated analyses
2026-06-14 18:13:40,617 - batch_llm_processor - INFO - ✅ aiohttp available - concurrent processing enabled
2026-06-14 18:13:40,617 - batch_llm_processor - INFO - 🔄 Preloading cache with 1 common queries...
2026-06-14 18:13:40,624 - batch_llm_processor - INFO - ✅ Cache preloading complete
2026-06-14 18:13:40,624 - batch_llm_processor - INFO - 🍱 Preloaded cache with common shopping refinement patterns
2026-06-14 18:13:40,709 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:13:40,865 - automatic_tagger - INFO - 🏷️ Recipe 153b5062-3eb5-474b-a111-ba8dc2638c60: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:13:40,866 - __main__ - INFO - Auto-tagged AARDAPPEL, ARTISJOK & SPLIJTKOOL MET GEBAKKEN EIEREN
🏷️ Auto-tagged AARDAPPEL, ARTISJOK & SPLIJTKOOL MET GEBAKKEN EIEREN
Parsing: 1%| | 1/100 [00:15<26:10, 15.86s/it]2026-06-14 18:13:43,322 - __main__ - INFO - Direct LLM parsed 1 ingredients, 1 matched to canonical
2026-06-14 18:13:43,323 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:43,498 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:43,498 - automatic_tagger - INFO - 🔍 Analyzing recipe: AH Portugese kip piri piri verspakket
2026-06-14 18:13:43,561 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Portuguese', tags=[]
2026-06-14 18:13:43,596 - automatic_tagger - INFO - 🏷️ Recipe 75ea1416-5b43-4a2e-b77b-4de316c5b023: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:13:43,612 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:13:43,612 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:13:43,613 - __main__ - INFO - Auto-tagged AH Portugese kip piri piri verspakket
🏷️ Auto-tagged AH Portugese kip piri piri verspakket
Parsing: 2%|▏ | 2/100 [00:18<13:18, 8.15s/it]2026-06-14 18:13:47,060 - __main__ - INFO - Direct LLM parsed 10 ingredients, 9 matched to canonical
2026-06-14 18:13:47,061 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:47,146 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:47,377 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:47,377 - automatic_tagger - INFO - 🔍 Analyzing recipe: AUBERGINE MET TOMATEN, HARISSA & AMANDELEN
2026-06-14 18:13:47,459 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:13:47,533 - automatic_tagger - INFO - 🏷️ Recipe 293c203d-437b-4345-82e2-676fd0fcabf0: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:13:47,534 - __main__ - INFO - Auto-tagged AUBERGINE MET TOMATEN, HARISSA & AMANDELEN
🏷️ Auto-tagged AUBERGINE MET TOMATEN, HARISSA & AMANDELEN
Parsing: 3%|▎ | 3/100 [00:22<10:03, 6.22s/it]2026-06-14 18:13:55,046 - __main__ - INFO - Direct LLM parsed 14 ingredients, 14 matched to canonical
2026-06-14 18:13:55,048 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:55,290 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:55,290 - automatic_tagger - INFO - 🔍 Analyzing recipe: AVOCADO'S & ASPERGES MET SINAASAPPEL
2026-06-14 18:13:55,360 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:13:55,426 - automatic_tagger - INFO - 🏷️ Recipe 0f3fd838-4d5d-4a72-87f1-90425963855c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:13:55,427 - __main__ - INFO - Auto-tagged AVOCADO'S & ASPERGES MET SINAASAPPEL
🏷️ Auto-tagged AVOCADO'S & ASPERGES MET SINAASAPPEL
Parsing: 4%|▍ | 4/100 [00:30<11:00, 6.88s/it]2026-06-14 18:13:59,459 - __main__ - INFO - Direct LLM parsed 16 ingredients, 12 matched to canonical
2026-06-14 18:13:59,460 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:59,611 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:59,684 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:59,770 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:59,882 - __main__ - INFO - Created new unit: handful (id: 78023116-7e80-4b9b-b05d-2e044f006128) - added to cache
2026-06-14 18:13:59,883 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:13:59,958 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:00,246 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:00,246 - automatic_tagger - INFO - 🔍 Analyzing recipe: BIETJESCURRY MET KIKKERERWTEN & KOKOS
2026-06-14 18:14:00,326 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:14:00,421 - automatic_tagger - INFO - 🏷️ Recipe b0e21886-bdc5-4655-b17a-9678b1ee4aa5: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:00,449 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:00,449 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:14:00,450 - __main__ - INFO - Auto-tagged BIETJESCURRY MET KIKKERERWTEN & KOKOS
🏷️ Auto-tagged BIETJESCURRY MET KIKKERERWTEN & KOKOS
Parsing: 5%|▌ | 5/100 [00:35<09:49, 6.21s/it]2026-06-14 18:14:05,869 - __main__ - INFO - Direct LLM parsed 19 ingredients, 17 matched to canonical
2026-06-14 18:14:05,870 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:05,953 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:14:05,955 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:06,053 - __main__ - WARNING - bloemkool-met-kikkererwten-splijtkool: accepted 18 ingredients, skipped 1 problematic ones
⚠️ bloemkool-met-kikkererwten-splijtkool: accepted 18 ingredients, skipped 1 problematic ones
2026-06-14 18:14:06,054 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:06,345 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:06,345 - automatic_tagger - INFO - 🔍 Analyzing recipe: BLOEMKOOL MET KIKKERERWTEN & SPLIJTKOOL
2026-06-14 18:14:06,436 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:14:06,541 - automatic_tagger - INFO - 🏷️ Recipe 98ab8ff9-f597-401f-bbf8-87d3a5c28e0a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:06,542 - __main__ - INFO - Auto-tagged BLOEMKOOL MET KIKKERERWTEN & SPLIJTKOOL
🏷️ Auto-tagged BLOEMKOOL MET KIKKERERWTEN & SPLIJTKOOL
Parsing: 6%|▌ | 6/100 [00:41<09:39, 6.17s/it]2026-06-14 18:14:11,339 - __main__ - INFO - Direct LLM parsed 19 ingredients, 15 matched to canonical
2026-06-14 18:14:11,339 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:11,423 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:11,498 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:11,732 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:11,962 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:12,251 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:12,252 - automatic_tagger - INFO - 🔍 Analyzing recipe: BOERENKOOL-BORLOTTI-MINESTRONE MET DITALINI
2026-06-14 18:14:12,323 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:14:12,425 - automatic_tagger - INFO - 🏷️ Recipe 538c52bc-d4fa-4032-a7a2-9d2003fcaa8d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:12,446 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:12,446 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:14:12,447 - __main__ - INFO - Auto-tagged BOERENKOOL-BORLOTTI-MINESTRONE MET DITALINI
🏷️ Auto-tagged BOERENKOOL-BORLOTTI-MINESTRONE MET DITALINI
Parsing: 7%|▋ | 7/100 [00:47<09:25, 6.08s/it]2026-06-14 18:14:21,379 - __main__ - INFO - Direct LLM parsed 21 ingredients, 16 matched to canonical
2026-06-14 18:14:21,380 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:21,458 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:21,531 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:14:21,533 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:21,989 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:22,113 - __main__ - INFO - Created new unit: can (id: b7c5ce74-dbec-47cf-b7b2-49accbd238fc) - added to cache
2026-06-14 18:14:22,115 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:22,189 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:14:22,190 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:22,277 - __main__ - WARNING - bonenchili-met-avocadosalsa: accepted 19 ingredients, skipped 2 problematic ones
⚠️ bonenchili-met-avocadosalsa: accepted 19 ingredients, skipped 2 problematic ones
2026-06-14 18:14:22,279 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:22,535 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:22,535 - automatic_tagger - INFO - 🔍 Analyzing recipe: BONENCHILI MET AVOCADOSALSA
2026-06-14 18:14:22,596 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:14:22,650 - automatic_tagger - INFO - 🏷️ Recipe 560c5a65-6665-48da-93c5-161a85fee2db: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:22,665 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:22,665 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:14:22,666 - __main__ - INFO - Auto-tagged BONENCHILI MET AVOCADOSALSA
🏷️ Auto-tagged BONENCHILI MET AVOCADOSALSA
Parsing: 8%|▊ | 8/100 [00:57<11:20, 7.40s/it]2026-06-14 18:14:22,794 - __main__ - INFO - Re-scraping burrata-salade-met-tomaat-in-10-min-klaar: 2/8 ingredients appear incomplete
2026-06-14 18:14:23,071 - __main__ - INFO - ✅ Merged ingredients: replaced 2/8 incomplete entries
2026-06-14 18:14:25,873 - __main__ - INFO - Direct LLM parsed 8 ingredients, 8 matched to canonical
2026-06-14 18:14:25,874 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:26,138 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:26,138 - automatic_tagger - INFO - 🔍 Analyzing recipe: Burrata salade met tomaat – in 10 min. klaar
2026-06-14 18:14:26,199 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:14:26,269 - automatic_tagger - INFO - 🏷️ Recipe da6b0437-5b06-4029-98df-5949d912f408: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:14:26,291 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:26,291 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:14:26,292 - __main__ - INFO - Auto-tagged Burrata salade met tomaat – in 10 min. klaar
🏷️ Auto-tagged Burrata salade met tomaat – in 10 min. klaar
Parsing: 9%|▉ | 9/100 [01:01<09:26, 6.22s/it]2026-06-14 18:14:30,248 - __main__ - INFO - Direct LLM parsed 13 ingredients, 13 matched to canonical
2026-06-14 18:14:30,249 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:30,367 - __main__ - INFO - Created new unit: sprig (id: bad34615-5dd8-4446-a12a-11e5d3038e2f) - added to cache
2026-06-14 18:14:30,370 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:30,610 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:30,610 - automatic_tagger - INFO - 🔍 Analyzing recipe: CAPONATA: AUBERGINES MET OLIJVEN, KAPPERTJES & TOMATEN
2026-06-14 18:14:30,940 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:14:31,005 - automatic_tagger - INFO - 🏷️ Recipe 57e5ac44-b16e-4d93-b8b0-dd5010e41c61: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:31,024 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:31,024 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:14:31,025 - __main__ - INFO - Auto-tagged CAPONATA: AUBERGINES MET OLIJVEN, KAPPERTJES & TOMATEN
🏷️ Auto-tagged CAPONATA: AUBERGINES MET OLIJVEN, KAPPERTJES & TOMATEN
Parsing: 10%|█ | 10/100 [01:06<08:38, 5.76s/it]2026-06-14 18:14:39,857 - __main__ - INFO - Direct LLM parsed 14 ingredients, 13 matched to canonical
2026-06-14 18:14:39,857 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:39,970 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:40,200 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:40,200 - automatic_tagger - INFO - 🔍 Analyzing recipe: CHIPOTLE-MAIS MET POMPOEN, ZWARTE BONEN & FETA
2026-06-14 18:14:40,274 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:14:40,350 - automatic_tagger - INFO - 🏷️ Recipe 3859bc56-88b7-44a5-b4e0-b908cbe7c405: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:40,386 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:40,386 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:14:40,387 - __main__ - INFO - Auto-tagged CHIPOTLE-MAIS MET POMPOEN, ZWARTE BONEN & FETA
🏷️ Auto-tagged CHIPOTLE-MAIS MET POMPOEN, ZWARTE BONEN & FETA
Parsing: 11%|█ | 11/100 [01:15<10:10, 6.86s/it]2026-06-14 18:14:43,360 - __main__ - INFO - Direct LLM parsed 11 ingredients, 10 matched to canonical
2026-06-14 18:14:43,361 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:43,434 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:43,600 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:43,600 - automatic_tagger - INFO - 🔍 Analyzing recipe: CREOOLSE CHAMPIGNON-PREITAART
2026-06-14 18:14:43,665 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:14:43,711 - automatic_tagger - INFO - 🏷️ Recipe 53deaa8d-0dfa-4ed6-aa6f-0e1e7cea6c2c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:43,726 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:43,726 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:14:43,726 - __main__ - INFO - Auto-tagged CREOOLSE CHAMPIGNON-PREITAART
🏷️ Auto-tagged CREOOLSE CHAMPIGNON-PREITAART
Parsing: 12%|█▏ | 12/100 [01:18<08:29, 5.79s/it]2026-06-14 18:14:49,764 - __main__ - INFO - Direct LLM parsed 11 ingredients, 10 matched to canonical
2026-06-14 18:14:49,764 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:49,857 - __main__ - WARNING - Couldn't create or find food 'chili flakes': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:14:49,858 - __main__ - WARNING - de-meest-luxe-snelle-quiche-broccoli-blauwe-kaas-walnoot: accepted 10 ingredients, skipped 1 problematic ones
⚠️ de-meest-luxe-snelle-quiche-broccoli-blauwe-kaas-walnoot: accepted 10 ingredients, skipped 1 problematic ones
2026-06-14 18:14:49,858 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:50,014 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:50,014 - automatic_tagger - INFO - 🔍 Analyzing recipe: DE MEEST LUXE SNELLE QUICHE: BROCCOLI, BLAUWE KAAS & WALNOOT
2026-06-14 18:14:50,099 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:14:50,174 - automatic_tagger - INFO - 🏷️ Recipe a15bb136-7a4d-4aad-ae73-6afa6bc2b16a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:50,195 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:50,195 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:14:50,196 - __main__ - INFO - Auto-tagged DE MEEST LUXE SNELLE QUICHE: BROCCOLI, BLAUWE KAAS & WALNOOT
🏷️ Auto-tagged DE MEEST LUXE SNELLE QUICHE: BROCCOLI, BLAUWE KAAS & WALNOOT
Parsing: 13%|█▎ | 13/100 [01:25<08:41, 6.00s/it]2026-06-14 18:14:55,404 - __main__ - INFO - Direct LLM parsed 17 ingredients, 15 matched to canonical
2026-06-14 18:14:55,405 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:55,487 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:55,580 - __main__ - INFO - Created new unit: clove (id: c4212ddd-09a4-45c3-b311-7975750f5be0) - added to cache
2026-06-14 18:14:55,582 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:55,665 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:55,870 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:55,870 - automatic_tagger - INFO - 🔍 Analyzing recipe: EENVOUDIGE DAL MET SJALOTJES & CASHEWNOTEN
2026-06-14 18:14:55,924 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:14:55,990 - automatic_tagger - INFO - 🏷️ Recipe 7d6b9929-cb90-461f-ac74-47dbd62707dd: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:14:56,005 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:14:56,006 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:14:56,007 - __main__ - INFO - Auto-tagged EENVOUDIGE DAL MET SJALOTJES & CASHEWNOTEN
🏷️ Auto-tagged EENVOUDIGE DAL MET SJALOTJES & CASHEWNOTEN
Parsing: 14%|█▍ | 14/100 [01:31<08:30, 5.94s/it]2026-06-14 18:14:59,575 - __main__ - INFO - Direct LLM parsed 13 ingredients, 11 matched to canonical
2026-06-14 18:14:59,576 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:59,650 - __main__ - WARNING - Couldn't create or find food 'chipotle chili flakes': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:14:59,651 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:59,717 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:14:59,718 - __main__ - WARNING - fajita-paddenstoelen-paprika-met-stilton: accepted 11 ingredients, skipped 2 problematic ones
⚠️ fajita-paddenstoelen-paprika-met-stilton: accepted 11 ingredients, skipped 2 problematic ones
2026-06-14 18:14:59,719 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:59,906 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:14:59,906 - automatic_tagger - INFO - 🔍 Analyzing recipe: FAJITA-PADDENSTOELEN & PAPRIKA MET STILTON
2026-06-14 18:15:00,071 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:15:00,152 - automatic_tagger - INFO - 🏷️ Recipe 7435be3a-a641-4699-93bb-8e0dfbe9ac80: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:00,189 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:00,189 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:15:00,191 - __main__ - INFO - Auto-tagged FAJITA-PADDENSTOELEN & PAPRIKA MET STILTON
🏷️ Auto-tagged FAJITA-PADDENSTOELEN & PAPRIKA MET STILTON
Parsing: 15%|█▌ | 15/100 [01:35<07:39, 5.41s/it]2026-06-14 18:15:05,953 - __main__ - INFO - Direct LLM parsed 9 ingredients, 9 matched to canonical
2026-06-14 18:15:05,954 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:06,186 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:06,186 - automatic_tagger - INFO - 🔍 Analyzing recipe: FETA PSITI Gebakken feta uit de oven
2026-06-14 18:15:06,258 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Greek', tags=[]
2026-06-14 18:15:06,335 - automatic_tagger - INFO - 🏷️ Recipe 115c940a-738b-47af-991f-76fc34d646bf: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:15:06,355 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:06,355 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:15:06,356 - __main__ - INFO - Auto-tagged FETA PSITI Gebakken feta uit de oven
🏷️ Auto-tagged FETA PSITI Gebakken feta uit de oven
Parsing: 16%|█▌ | 16/100 [01:41<07:53, 5.64s/it]2026-06-14 18:15:11,268 - __main__ - INFO - Direct LLM parsed 9 ingredients, 9 matched to canonical
2026-06-14 18:15:11,270 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:11,497 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:11,497 - automatic_tagger - INFO - 🔍 Analyzing recipe: Frittata with Tomato & Spring Vegetables: Peas, Asparagus, Ricotta & Fresh Mint
2026-06-14 18:15:11,558 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:15:11,602 - automatic_tagger - INFO - 🏷️ Recipe 919adb09-e93e-442b-b1cb-0c831350e2e9: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:15:11,616 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:11,616 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:15:11,617 - __main__ - INFO - Auto-tagged Frittata with Tomato & Spring Vegetables: Peas, Asparagus, Ricotta & Fresh Mint
🏷️ Auto-tagged Frittata with Tomato & Spring Vegetables: Peas, Asparagus, Ricotta & Fresh Mint
Parsing: 17%|█▋ | 17/100 [01:46<07:38, 5.52s/it]2026-06-14 18:15:14,629 - __main__ - INFO - Direct LLM parsed 12 ingredients, 8 matched to canonical
2026-06-14 18:15:14,630 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:14,704 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:14,766 - __main__ - WARNING - Couldn't create or find food 'coconut milk': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:15:14,768 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:14,831 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:14,942 - __main__ - WARNING - gadogado-indonesische-salade-met-aardappels-sperziebonen-pindadressing: accepted 11 ingredients, skipped 1 problematic ones
⚠️ gadogado-indonesische-salade-met-aardappels-sperziebonen-pindadressing: accepted 11 ingredients, skipped 1 problematic ones
2026-06-14 18:15:14,943 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:15,191 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:15,192 - automatic_tagger - INFO - 🔍 Analyzing recipe: GADOGADO: INDONESISCHE SALADE MET AARDAPPELS, SPERZIEBONEN & PINDADRESSING
2026-06-14 18:15:15,266 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indonesian', tags=[]
2026-06-14 18:15:15,357 - automatic_tagger - INFO - 🏷️ Recipe 4ac32f96-0487-4e43-9360-4769763274d7: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:15,381 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:15,382 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:15:15,383 - __main__ - INFO - Auto-tagged GADOGADO: INDONESISCHE SALADE MET AARDAPPELS, SPERZIEBONEN & PINDADRESSING
🏷️ Auto-tagged GADOGADO: INDONESISCHE SALADE MET AARDAPPELS, SPERZIEBONEN & PINDADRESSING
Parsing: 18%|█▊ | 18/100 [01:50<06:49, 5.00s/it]2026-06-14 18:15:21,371 - __main__ - INFO - Direct LLM parsed 12 ingredients, 10 matched to canonical
2026-06-14 18:15:21,372 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:21,450 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:21,526 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:21,823 - __main__ - INFO - Created new unit: slice (id: 80a605a6-9ae3-4911-b928-69fad6cb2b00) - added to cache
2026-06-14 18:15:21,825 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:22,089 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:22,089 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEBAKKEN EIEREN MET BIETJES, KNOLSELDERIJ & FETA
2026-06-14 18:15:22,156 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:15:22,229 - automatic_tagger - INFO - 🏷️ Recipe 584a2727-27f8-4cb8-bccb-3a67c957a43f: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:22,230 - __main__ - INFO - Auto-tagged GEBAKKEN EIEREN MET BIETJES, KNOLSELDERIJ & FETA
🏷️ Auto-tagged GEBAKKEN EIEREN MET BIETJES, KNOLSELDERIJ & FETA
Parsing: 19%|█▉ | 19/100 [01:57<07:29, 5.55s/it]2026-06-14 18:15:24,952 - __main__ - INFO - Direct LLM parsed 10 ingredients, 7 matched to canonical
2026-06-14 18:15:24,952 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:25,025 - __main__ - WARNING - Couldn't create or find food 'red chili pepper': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:15:25,027 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:25,120 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:25,216 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:25,441 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:25,441 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEBAKKEN SPITSKOOL MET SZECHUAN, SESAM & SHIITAKE
2026-06-14 18:15:25,514 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Sichuan', tags=[]
2026-06-14 18:15:25,562 - automatic_tagger - INFO - 🏷️ Recipe d549d56b-5e7e-4f16-9a9a-cc42a185ca6c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:25,576 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:25,576 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:15:25,577 - __main__ - INFO - Auto-tagged GEBAKKEN SPITSKOOL MET SZECHUAN, SESAM & SHIITAKE
🏷️ Auto-tagged GEBAKKEN SPITSKOOL MET SZECHUAN, SESAM & SHIITAKE
Parsing: 20%|██ | 20/100 [02:00<06:31, 4.89s/it]2026-06-14 18:15:28,947 - __main__ - INFO - Direct LLM parsed 13 ingredients, 12 matched to canonical
2026-06-14 18:15:28,948 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:29,021 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:15:29,022 - __main__ - WARNING - gebakken-uien-met-kerstomaten-cannellinibonen: accepted 12 ingredients, skipped 1 problematic ones
⚠️ gebakken-uien-met-kerstomaten-cannellinibonen: accepted 12 ingredients, skipped 1 problematic ones
2026-06-14 18:15:29,023 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:29,245 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:29,245 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEBAKKEN UIEN MET KERSTOMATEN & CANNELLINIBONEN
2026-06-14 18:15:29,317 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:15:29,395 - automatic_tagger - INFO - 🏷️ Recipe aa764394-0537-4760-8384-06fa84f493ba: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:29,396 - __main__ - INFO - Auto-tagged GEBAKKEN UIEN MET KERSTOMATEN & CANNELLINIBONEN
🏷️ Auto-tagged GEBAKKEN UIEN MET KERSTOMATEN & CANNELLINIBONEN
Parsing: 21%|██ | 21/100 [02:04<06:00, 4.57s/it]2026-06-14 18:15:33,148 - __main__ - INFO - Direct LLM parsed 11 ingredients, 9 matched to canonical
2026-06-14 18:15:33,149 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:33,224 - __main__ - WARNING - Couldn't create or find food 'chestnut mushroom': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:15:33,225 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:33,302 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:33,510 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:33,510 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEGRATINEERDE AARDAPPELS & PADDENSTOELEN
2026-06-14 18:15:33,610 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:15:33,653 - automatic_tagger - INFO - 🏷️ Recipe 5cbd8bf9-3a4f-4ee2-8718-ae69cf74cd28: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:33,671 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:33,671 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:15:33,672 - __main__ - INFO - Auto-tagged GEGRATINEERDE AARDAPPELS & PADDENSTOELEN
🏷️ Auto-tagged GEGRATINEERDE AARDAPPELS & PADDENSTOELEN
Parsing: 22%|██▏ | 22/100 [02:08<05:49, 4.48s/it]2026-06-14 18:15:36,834 - __main__ - INFO - Direct LLM parsed 12 ingredients, 11 matched to canonical
2026-06-14 18:15:36,834 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:36,903 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:37,116 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:37,116 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEGRATINEERDE AUBERGINE & VENKEL MET GEITENKAAS
2026-06-14 18:15:37,179 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:15:37,256 - automatic_tagger - INFO - 🏷️ Recipe afa356cc-baff-49ba-a2e7-3097dfc3aaf1: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:37,276 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:37,276 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:15:37,278 - __main__ - INFO - Auto-tagged GEGRATINEERDE AUBERGINE & VENKEL MET GEITENKAAS
🏷️ Auto-tagged GEGRATINEERDE AUBERGINE & VENKEL MET GEITENKAAS
Parsing: 23%|██▎ | 23/100 [02:12<05:24, 4.22s/it]2026-06-14 18:15:41,537 - __main__ - INFO - Direct LLM parsed 8 ingredients, 7 matched to canonical
2026-06-14 18:15:41,537 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:41,607 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:41,757 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:41,757 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEGRATINEERDE SPRUITJES & ARTISJOK MET BLAUWE KAAS
2026-06-14 18:15:41,839 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='British', tags=[]
2026-06-14 18:15:41,881 - automatic_tagger - INFO - 🏷️ Recipe 63d53851-a04d-4b4a-b500-440662e7c51c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:41,906 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:41,906 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:15:41,907 - __main__ - INFO - Auto-tagged GEGRATINEERDE SPRUITJES & ARTISJOK MET BLAUWE KAAS
🏷️ Auto-tagged GEGRATINEERDE SPRUITJES & ARTISJOK MET BLAUWE KAAS
Parsing: 24%|██▍ | 24/100 [02:16<05:29, 4.34s/it]2026-06-14 18:15:48,123 - __main__ - INFO - Direct LLM parsed 12 ingredients, 10 matched to canonical
2026-06-14 18:15:48,124 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:48,213 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:48,293 - __main__ - WARNING - Couldn't create or find food 'red chili pepper': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:15:48,295 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:48,515 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:48,515 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEROOKTE TOFU
MET VENKEL, PAKSOI
& SATÉDRESSING
2026-06-14 18:15:48,573 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:15:48,620 - automatic_tagger - INFO - 🏷️ Recipe 8f084c0b-19d3-4118-ad8a-dbe08e17c46e: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:48,637 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:48,637 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:15:48,638 - __main__ - INFO - Auto-tagged GEROOKTE TOFU
MET VENKEL, PAKSOI
& SATÉDRESSING
🏷️ Auto-tagged GEROOKTE TOFU
MET VENKEL, PAKSOI
& SATÉDRESSING
Parsing: 25%|██▌ | 25/100 [02:23<06:19, 5.06s/it]2026-06-14 18:15:52,810 - __main__ - INFO - Direct LLM parsed 14 ingredients, 11 matched to canonical
2026-06-14 18:15:52,811 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:52,979 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:53,075 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:53,147 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:53,395 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:53,395 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEVULDE MINIPOMPOENTJES MET SALIE & GEITENKAAS
2026-06-14 18:15:53,462 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Provençal', tags=[]
2026-06-14 18:15:53,536 - automatic_tagger - INFO - 🏷️ Recipe b5258f10-15a0-41f5-8b1f-6372c5ff2639: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:53,556 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:53,556 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:15:53,557 - __main__ - INFO - Auto-tagged GEVULDE MINIPOMPOENTJES MET SALIE & GEITENKAAS
🏷️ Auto-tagged GEVULDE MINIPOMPOENTJES MET SALIE & GEITENKAAS
Parsing: 26%|██▌ | 26/100 [02:28<06:11, 5.02s/it]2026-06-14 18:15:56,371 - __main__ - INFO - Direct LLM parsed 10 ingredients, 7 matched to canonical
2026-06-14 18:15:56,372 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:56,461 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:56,620 - __main__ - WARNING - Couldn't create or find food 'chestnut mushroom': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:15:56,621 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:56,770 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:56,956 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:15:56,956 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEVULDE VENKEL MET CHAMPIGNONS
2026-06-14 18:15:57,041 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:15:57,121 - automatic_tagger - INFO - 🏷️ Recipe f7620009-98a6-4730-95c3-c76d6944e832: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:15:57,139 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:15:57,140 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:15:57,141 - __main__ - INFO - Auto-tagged GEVULDE VENKEL MET CHAMPIGNONS
🏷️ Auto-tagged GEVULDE VENKEL MET CHAMPIGNONS
Parsing: 27%|██▋ | 27/100 [02:32<05:34, 4.59s/it]2026-06-14 18:16:05,300 - __main__ - INFO - Direct LLM parsed 17 ingredients, 16 matched to canonical
2026-06-14 18:16:05,301 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:05,389 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:16:05,392 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:05,600 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:05,600 - automatic_tagger - INFO - 🔍 Analyzing recipe: GROENE GROENTEN MET BULGUR & RICOTTA
2026-06-14 18:16:05,670 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:16:05,739 - automatic_tagger - INFO - 🏷️ Recipe 82cedba3-8f8f-46e3-b4dd-f7f684e832bc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:16:05,740 - __main__ - INFO - Auto-tagged GROENE GROENTEN MET BULGUR & RICOTTA
🏷️ Auto-tagged GROENE GROENTEN MET BULGUR & RICOTTA
Parsing: 28%|██▊ | 28/100 [02:40<06:56, 5.79s/it]2026-06-14 18:16:05,877 - __main__ - INFO - Re-scraping gadogado-van-courgettespaghetti-krokante-tempeh-een-eitje: 1/11 ingredients appear incomplete
2026-06-14 18:16:06,003 - __main__ - ERROR - Re-scraping failed: HTTP Error 403: Forbidden
2026-06-14 18:16:06,004 - __main__ - ERROR - Extracted data has 1 incomplete entries and re-scraping failed
2026-06-14 18:16:06,004 - __main__ - ERROR - Returning incomplete data - parsing will likely fail
2026-06-14 18:16:08,789 - __main__ - INFO - Direct LLM parsed 11 ingredients, 9 matched to canonical
2026-06-14 18:16:08,790 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:09,036 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:09,104 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:09,334 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:09,334 - automatic_tagger - INFO - 🔍 Analyzing recipe: Gadogado van courgettespaghetti, krokante tempeh & een eitje
2026-06-14 18:16:09,406 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indonesian', tags=[]
2026-06-14 18:16:09,471 - automatic_tagger - INFO - 🏷️ Recipe c36a6bf7-21ad-497c-b18b-d55a1b562b63: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:16:09,491 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:16:09,491 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:16:09,492 - __main__ - INFO - Auto-tagged Gadogado van courgettespaghetti, krokante tempeh & een eitje
🏷️ Auto-tagged Gadogado van courgettespaghetti, krokante tempeh & een eitje
Parsing: 29%|██▉ | 29/100 [02:44<06:07, 5.18s/it]2026-06-14 18:16:13,692 - __main__ - INFO - Direct LLM parsed 14 ingredients, 14 matched to canonical
2026-06-14 18:16:13,692 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:13,787 - __main__ - INFO - Created new unit: stalk (id: b25b5c2e-7757-44e7-a0fd-5e762e7e297c) - added to cache
2026-06-14 18:16:13,789 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:13,889 - __main__ - INFO - Created new unit: bunch (id: 18a5814c-4831-4d97-b17e-776f2109aa4e) - added to cache
2026-06-14 18:16:13,891 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:14,139 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:14,139 - automatic_tagger - INFO - 🔍 Analyzing recipe: Gebakken Aardappelsalade met Pickles
2026-06-14 18:16:14,212 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:16:14,306 - automatic_tagger - INFO - 🏷️ Recipe b118865e-28cb-45c4-8634-9b6078144ee3: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:16:14,308 - __main__ - INFO - Auto-tagged Gebakken Aardappelsalade met Pickles
🏷️ Auto-tagged Gebakken Aardappelsalade met Pickles
Parsing: 30%|███ | 30/100 [02:49<05:54, 5.07s/it]2026-06-14 18:16:17,798 - __main__ - INFO - Direct LLM parsed 8 ingredients, 7 matched to canonical
2026-06-14 18:16:17,798 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:17,891 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:18,091 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:18,091 - automatic_tagger - INFO - 🔍 Analyzing recipe: Geroosterde aubergine met ansjovis en oregano
2026-06-14 18:16:18,164 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:16:18,245 - automatic_tagger - INFO - 🏷️ Recipe 36fe7885-091e-4a2b-8c9d-7262d3e08429: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:16:18,268 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:16:18,268 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:16:18,269 - __main__ - INFO - Auto-tagged Geroosterde aubergine met ansjovis en oregano
🏷️ Auto-tagged Geroosterde aubergine met ansjovis en oregano
Parsing: 31%|███ | 31/100 [02:53<05:26, 4.74s/it]2026-06-14 18:16:18,409 - __main__ - INFO - Re-scraping gnocchi-pompoen: 1/9 ingredients appear incomplete
2026-06-14 18:16:18,560 - __main__ - ERROR - Re-scraping failed: HTTP Error 403: Forbidden
2026-06-14 18:16:18,560 - __main__ - ERROR - Extracted data has 1 incomplete entries and re-scraping failed
2026-06-14 18:16:18,561 - __main__ - ERROR - Returning incomplete data - parsing will likely fail
2026-06-14 18:16:21,063 - __main__ - INFO - Direct LLM parsed 9 ingredients, 9 matched to canonical
2026-06-14 18:16:21,064 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:21,170 - __main__ - INFO - Created new unit: null (id: 8fa9f1f7-184a-4414-9584-baeb65cb344b) - added to cache
2026-06-14 18:16:21,172 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:21,389 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:21,389 - automatic_tagger - INFO - 🔍 Analyzing recipe: Gnocchi pompoen
2026-06-14 18:16:21,457 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:16:21,545 - automatic_tagger - INFO - 🏷️ Recipe dc1be927-c8bb-4474-a2fd-52733229d8ec: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:16:21,568 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:16:21,569 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:16:21,570 - __main__ - INFO - Auto-tagged Gnocchi pompoen
🏷️ Auto-tagged Gnocchi pompoen
Parsing: 32%|███▏ | 32/100 [02:56<04:52, 4.31s/it]2026-06-14 18:16:27,631 - __main__ - INFO - Direct LLM parsed 13 ingredients, 9 matched to canonical
2026-06-14 18:16:27,632 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:27,750 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:27,820 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:16:27,821 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:27,892 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:27,968 - __main__ - WARNING - groentestoof-met-parelcouscous: accepted 12 ingredients, skipped 1 problematic ones
⚠️ groentestoof-met-parelcouscous: accepted 12 ingredients, skipped 1 problematic ones
2026-06-14 18:16:27,969 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:28,194 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:28,194 - automatic_tagger - INFO - 🔍 Analyzing recipe: Groentestoof met parelcouscous
2026-06-14 18:16:28,285 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Moroccan', tags=[]
2026-06-14 18:16:28,371 - automatic_tagger - INFO - 🏷️ Recipe 3fcb8c86-8531-4cab-91be-e455d51c5140: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:16:28,391 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:16:28,392 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-06-14 18:16:28,393 - __main__ - INFO - Auto-tagged Groentestoof met parelcouscous
🏷️ Auto-tagged Groentestoof met parelcouscous
Parsing: 33%|███▎ | 33/100 [03:03<05:39, 5.06s/it]2026-06-14 18:16:31,168 - __main__ - INFO - Direct LLM parsed 10 ingredients, 9 matched to canonical
2026-06-14 18:16:31,169 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:31,255 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:16:31,257 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:31,476 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:31,476 - automatic_tagger - INFO - 🔍 Analyzing recipe: HARISSA-PREI MET
BIETJES & FETA
2026-06-14 18:16:31,553 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:16:31,598 - automatic_tagger - INFO - 🏷️ Recipe 31128e60-66bd-449c-8fba-c496f1035a88: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:16:31,599 - __main__ - INFO - Auto-tagged HARISSA-PREI MET
BIETJES & FETA
🏷️ Auto-tagged HARISSA-PREI MET
BIETJES & FETA
Parsing: 34%|███▍ | 34/100 [03:06<04:57, 4.50s/it]2026-06-14 18:16:36,941 - __main__ - INFO - Direct LLM parsed 11 ingredients, 10 matched to canonical
2026-06-14 18:16:36,942 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:37,012 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:37,241 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:37,241 - automatic_tagger - INFO - 🔍 Analyzing recipe: HARTIGE TAART VAN COURGETTES, ASPERGES & GEITENKAAS
2026-06-14 18:16:37,310 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:16:37,390 - automatic_tagger - INFO - 🏷️ Recipe a606aa1e-2173-4bbd-b085-d1ccf67b717a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:16:37,414 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:16:37,414 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:16:37,415 - __main__ - INFO - Auto-tagged HARTIGE TAART VAN COURGETTES, ASPERGES & GEITENKAAS
🏷️ Auto-tagged HARTIGE TAART VAN COURGETTES, ASPERGES & GEITENKAAS
Parsing: 35%|███▌ | 35/100 [03:12<05:18, 4.90s/it]2026-06-14 18:16:43,905 - __main__ - INFO - Direct LLM parsed 13 ingredients, 11 matched to canonical
2026-06-14 18:16:43,906 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:44,002 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:16:44,003 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:44,075 - __main__ - WARNING - hele-bloemkool-met-parelgort-granaatappel: accepted 12 ingredients, skipped 1 problematic ones
⚠️ hele-bloemkool-met-parelgort-granaatappel: accepted 12 ingredients, skipped 1 problematic ones
2026-06-14 18:16:44,076 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:44,305 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:44,306 - automatic_tagger - INFO - 🔍 Analyzing recipe: HELE BLOEMKOOL MET PARELGORT & GRANAATAPPEL
2026-06-14 18:16:44,380 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:16:44,466 - automatic_tagger - INFO - 🏷️ Recipe e58711e6-6449-4523-8ec8-fbf6916f10fe: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:16:44,467 - __main__ - INFO - Auto-tagged HELE BLOEMKOOL MET PARELGORT & GRANAATAPPEL
🏷️ Auto-tagged HELE BLOEMKOOL MET PARELGORT & GRANAATAPPEL
Parsing: 36%|███▌ | 36/100 [03:19<05:54, 5.54s/it]2026-06-14 18:16:53,548 - __main__ - INFO - Direct LLM parsed 21 ingredients, 16 matched to canonical
2026-06-14 18:16:53,548 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:53,656 - __main__ - INFO - Created new unit: block (id: 07b90cc2-7341-4950-92b9-fcc92649468e) - added to cache
2026-06-14 18:16:53,657 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:53,798 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:53,893 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:53,975 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:54,055 - __main__ - WARNING - Couldn't create or find food 'lemon juice': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:16:54,057 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:54,135 - __main__ - WARNING - halloumi-mediterranean-traybake-a-delicious-easy-recipe: accepted 20 ingredients, skipped 1 problematic ones
⚠️ halloumi-mediterranean-traybake-a-delicious-easy-recipe: accepted 20 ingredients, skipped 1 problematic ones
2026-06-14 18:16:54,136 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:54,414 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:54,414 - automatic_tagger - INFO - 🔍 Analyzing recipe: Halloumi Mediterranean Traybake: A Delicious & Easy Recipe
2026-06-14 18:16:54,528 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:16:54,581 - automatic_tagger - INFO - 🏷️ Recipe 280c9a42-2aa1-44a7-844b-d2f3ec88d483: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:16:54,581 - __main__ - INFO - Auto-tagged Halloumi Mediterranean Traybake: A Delicious & Easy Recipe
🏷️ Auto-tagged Halloumi Mediterranean Traybake: A Delicious & Easy Recipe
Parsing: 37%|███▋ | 37/100 [03:29<07:15, 6.92s/it]2026-06-14 18:16:58,435 - __main__ - WARNING - LLM returned 16 ingredients, expected 17
2026-06-14 18:16:58,453 - __main__ - INFO - Direct LLM parsed 16 ingredients, 12 matched to canonical
2026-06-14 18:16:58,454 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:58,526 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:58,605 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:16:58,606 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:58,679 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:58,744 - __main__ - WARNING - kabeljauw-met-bengaalse-mosterd-bloemkool-doperwten: accepted 15 ingredients, skipped 1 problematic ones
⚠️ kabeljauw-met-bengaalse-mosterd-bloemkool-doperwten: accepted 15 ingredients, skipped 1 problematic ones
2026-06-14 18:16:58,745 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:58,931 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:16:58,931 - automatic_tagger - INFO - 🔍 Analyzing recipe: KABELJAUW MET BENGAALSE MOSTERD, BLOEMKOOL & DOPERWTEN
2026-06-14 18:16:58,992 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:16:59,079 - automatic_tagger - INFO - 🏷️ Recipe 51466778-eae7-4d92-a960-41424e41be84: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:16:59,099 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:16:59,100 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:16:59,101 - __main__ - INFO - Auto-tagged KABELJAUW MET BENGAALSE MOSTERD, BLOEMKOOL & DOPERWTEN
🏷️ Auto-tagged KABELJAUW MET BENGAALSE MOSTERD, BLOEMKOOL & DOPERWTEN
Parsing: 38%|███▊ | 38/100 [03:34<06:24, 6.20s/it]2026-06-14 18:17:02,439 - __main__ - INFO - Direct LLM parsed 13 ingredients, 12 matched to canonical
2026-06-14 18:17:02,439 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:02,553 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:02,711 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:02,711 - automatic_tagger - INFO - 🔍 Analyzing recipe: KAYANAS - GRIEKSE 'OMELET' MET TOMAAT
2026-06-14 18:17:02,762 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Greek', tags=[]
2026-06-14 18:17:02,809 - automatic_tagger - INFO - 🏷️ Recipe 2b0a1465-034f-4c95-9b2c-ca09bb18f159: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:17:02,823 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:17:02,823 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:17:02,824 - __main__ - INFO - Auto-tagged KAYANAS - GRIEKSE 'OMELET' MET TOMAAT
🏷️ Auto-tagged KAYANAS - GRIEKSE 'OMELET' MET TOMAAT
Parsing: 39%|███▉ | 39/100 [03:37<05:32, 5.45s/it]2026-06-14 18:17:07,160 - __main__ - INFO - Direct LLM parsed 14 ingredients, 10 matched to canonical
2026-06-14 18:17:07,160 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:07,241 - __main__ - WARNING - Couldn't create or find food 'coconut milk': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:07,243 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:07,330 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:07,406 - __main__ - WARNING - Couldn't create or find food 'lime juice': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:07,408 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:07,468 - __main__ - WARNING - Couldn't create or find food 'red chili pepper': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:07,469 - __main__ - WARNING - kleefrijst-met-broccoli-pompoen: accepted 12 ingredients, skipped 2 problematic ones
⚠️ kleefrijst-met-broccoli-pompoen: accepted 12 ingredients, skipped 2 problematic ones
2026-06-14 18:17:07,470 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:07,624 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:07,624 - automatic_tagger - INFO - 🔍 Analyzing recipe: KLEEFRIJST MET BROCCOLI & POMPOEN
2026-06-14 18:17:07,702 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:17:07,754 - automatic_tagger - INFO - 🏷️ Recipe 9e3c5198-e94b-4fae-8604-aa3dcbfe8a42: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:17:07,768 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:17:07,768 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:17:07,769 - __main__ - INFO - Auto-tagged KLEEFRIJST MET BROCCOLI & POMPOEN
🏷️ Auto-tagged KLEEFRIJST MET BROCCOLI & POMPOEN
Parsing: 40%|████ | 40/100 [03:42<05:18, 5.30s/it]2026-06-14 18:17:15,951 - __main__ - INFO - Direct LLM parsed 11 ingredients, 8 matched to canonical
2026-06-14 18:17:15,952 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:16,041 - __main__ - WARNING - Couldn't create or find food 'soft goat cheese': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:16,042 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:16,130 - __main__ - WARNING - Couldn't create or find food 'pine nut': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:16,132 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:16,227 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:16,440 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:16,440 - automatic_tagger - INFO - 🔍 Analyzing recipe: KNAPPERIGE BLOEMKOOLSCHIJVEN MET HARISSA & GEITENKAAS
2026-06-14 18:17:16,527 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:17:16,606 - automatic_tagger - INFO - 🏷️ Recipe 4cbed344-4dd9-4f28-8952-7ef1a942e07a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:17:16,607 - __main__ - INFO - Auto-tagged KNAPPERIGE BLOEMKOOLSCHIJVEN MET HARISSA & GEITENKAAS
🏷️ Auto-tagged KNAPPERIGE BLOEMKOOLSCHIJVEN MET HARISSA & GEITENKAAS
Parsing: 41%|████ | 41/100 [03:51<06:15, 6.36s/it]2026-06-14 18:17:21,480 - __main__ - INFO - Direct LLM parsed 12 ingredients, 12 matched to canonical
2026-06-14 18:17:21,481 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:21,638 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:21,638 - automatic_tagger - INFO - 🔍 Analyzing recipe: KROKANTE GNOCCHI MET PAPRIKA & ROZEMARIJN
2026-06-14 18:17:21,713 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:17:21,758 - automatic_tagger - INFO - 🏷️ Recipe a5699ac6-46b8-4538-95b8-2e3cbd75e2cc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:17:21,772 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:17:21,772 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:17:21,773 - __main__ - INFO - Auto-tagged KROKANTE GNOCCHI MET PAPRIKA & ROZEMARIJN
🏷️ Auto-tagged KROKANTE GNOCCHI MET PAPRIKA & ROZEMARIJN
Parsing: 42%|████▏ | 42/100 [03:56<05:48, 6.00s/it]2026-06-14 18:17:24,861 - __main__ - INFO - Direct LLM parsed 9 ingredients, 6 matched to canonical
2026-06-14 18:17:24,862 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:24,938 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:25,007 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:25,104 - __main__ - WARNING - Couldn't create or find food 'Greek yogurt': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:25,106 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:25,310 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:25,310 - automatic_tagger - INFO - 🔍 Analyzing recipe: Kikkererwtenbowl met zoete aardappel, quinoa en spinazie
2026-06-14 18:17:25,386 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:17:25,458 - automatic_tagger - INFO - 🏷️ Recipe 1295d961-11a4-4150-b83d-f6e383e906ed: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:17:25,480 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:17:25,480 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:17:25,481 - __main__ - INFO - Auto-tagged Kikkererwtenbowl met zoete aardappel, quinoa en spinazie
🏷️ Auto-tagged Kikkererwtenbowl met zoete aardappel, quinoa en spinazie
Parsing: 43%|████▎ | 43/100 [04:00<05:02, 5.31s/it]2026-06-14 18:17:33,659 - __main__ - INFO - Direct LLM parsed 16 ingredients, 8 matched to canonical
2026-06-14 18:17:33,659 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:33,737 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:33,795 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:33,868 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:33,948 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:33,949 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:34,041 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:34,118 - __main__ - WARNING - Couldn't create or find food 'chili flakes': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:34,120 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:34,213 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:34,292 - __main__ - WARNING - Couldn't create or find food 'coconut milk': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:34,293 - __main__ - WARNING - kikkerwt-bloemkool-kokoscurry: accepted 14 ingredients, skipped 2 problematic ones
⚠️ kikkerwt-bloemkool-kokoscurry: accepted 14 ingredients, skipped 2 problematic ones
2026-06-14 18:17:34,295 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:34,526 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:34,526 - automatic_tagger - INFO - 🔍 Analyzing recipe: Kikkerwt-Bloemkool-Kokoscurry
2026-06-14 18:17:34,612 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:17:34,666 - automatic_tagger - INFO - 🏷️ Recipe 7d9f6818-c956-4ccb-b821-056cbc28dc3b: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:17:34,685 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:17:34,685 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:17:34,686 - __main__ - INFO - Auto-tagged Kikkerwt-Bloemkool-Kokoscurry
🏷️ Auto-tagged Kikkerwt-Bloemkool-Kokoscurry
Parsing: 44%|████▍ | 44/100 [04:09<06:02, 6.48s/it]2026-06-14 18:17:40,116 - __main__ - WARNING - LLM returned 12 ingredients, expected 13
2026-06-14 18:17:40,129 - __main__ - INFO - Direct LLM parsed 12 ingredients, 10 matched to canonical
2026-06-14 18:17:40,129 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:40,219 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:40,285 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:40,286 - __main__ - WARNING - knapperige-halloumi-met-babywortels-cannellinibonen-walnoten: accepted 11 ingredients, skipped 1 problematic ones
⚠️ knapperige-halloumi-met-babywortels-cannellinibonen-walnoten: accepted 11 ingredients, skipped 1 problematic ones
2026-06-14 18:17:40,287 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:40,522 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:40,522 - automatic_tagger - INFO - 🔍 Analyzing recipe: Knapperige halloumi met babywortels, cannellinibonen & walnoten
2026-06-14 18:17:40,599 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:17:40,667 - automatic_tagger - INFO - 🏷️ Recipe 15975061-3c7b-4ed2-9f8d-ced145996323: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:17:40,668 - __main__ - INFO - Auto-tagged Knapperige halloumi met babywortels, cannellinibonen & walnoten
🏷️ Auto-tagged Knapperige halloumi met babywortels, cannellinibonen & walnoten
Parsing: 45%|████▌ | 45/100 [04:15<05:48, 6.33s/it]2026-06-14 18:17:46,063 - __main__ - INFO - Direct LLM parsed 12 ingredients, 10 matched to canonical
2026-06-14 18:17:46,064 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:46,159 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:46,231 - __main__ - WARNING - Couldn't create or find food 'pine nut': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:46,233 - __main__ - WARNING - lunchtrommelsalade-broccoli-met-olijven-tomaten-pijnboompitten: accepted 11 ingredients, skipped 1 problematic ones
⚠️ lunchtrommelsalade-broccoli-met-olijven-tomaten-pijnboompitten: accepted 11 ingredients, skipped 1 problematic ones
2026-06-14 18:17:46,234 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:46,438 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:46,438 - automatic_tagger - INFO - 🔍 Analyzing recipe: LUNCHTROMMELSALADE: BROCCOLI MET OLIJVEN, TOMATEN & PIJNBOOMPITTEN
2026-06-14 18:17:46,525 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:17:46,584 - automatic_tagger - INFO - 🏷️ Recipe 6844633a-dbe5-4221-b09f-a2e07c6626c2: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:17:46,598 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:17:46,598 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:17:46,599 - __main__ - INFO - Auto-tagged LUNCHTROMMELSALADE: BROCCOLI MET OLIJVEN, TOMATEN & PIJNBOOMPITTEN
🏷️ Auto-tagged LUNCHTROMMELSALADE: BROCCOLI MET OLIJVEN, TOMATEN & PIJNBOOMPITTEN
Parsing: 46%|████▌ | 46/100 [04:21<05:35, 6.21s/it]2026-06-14 18:17:50,382 - __main__ - INFO - Direct LLM parsed 14 ingredients, 13 matched to canonical
2026-06-14 18:17:50,383 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:50,466 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:50,662 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:50,662 - automatic_tagger - INFO - 🔍 Analyzing recipe: MAKKELIJKE PANEERCURRY MET SPINAZIE, ROOM & CITROEN
2026-06-14 18:17:50,745 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:17:50,802 - automatic_tagger - INFO - 🏷️ Recipe 33360d1e-419b-4a52-b4e3-f1000d081c40: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:17:50,826 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:17:50,826 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:17:50,828 - __main__ - INFO - Auto-tagged MAKKELIJKE PANEERCURRY MET SPINAZIE, ROOM & CITROEN
🏷️ Auto-tagged MAKKELIJKE PANEERCURRY MET SPINAZIE, ROOM & CITROEN
Parsing: 47%|████▋ | 47/100 [04:25<04:57, 5.62s/it]2026-06-14 18:17:54,698 - __main__ - INFO - Direct LLM parsed 7 ingredients, 6 matched to canonical
2026-06-14 18:17:54,699 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:54,759 - __main__ - WARNING - Couldn't create or find food 'semi-dried tomato': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:17:54,761 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:54,893 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:17:54,893 - automatic_tagger - INFO - 🔍 Analyzing recipe: MEDITERRANE COURGETTES MET OLIJVEN & FETA
2026-06-14 18:17:54,963 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:17:55,001 - automatic_tagger - INFO - 🏷️ Recipe a421b41b-d33d-4d3d-a817-ef927cd5c9bc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:17:55,002 - __main__ - INFO - Auto-tagged MEDITERRANE COURGETTES MET OLIJVEN & FETA
🏷️ Auto-tagged MEDITERRANE COURGETTES MET OLIJVEN & FETA
Parsing: 48%|████▊ | 48/100 [04:29<04:29, 5.18s/it]2026-06-14 18:18:01,562 - __main__ - INFO - Direct LLM parsed 15 ingredients, 10 matched to canonical
2026-06-14 18:18:01,562 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:01,640 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:01,737 - __main__ - WARNING - Couldn't create or find food 'chili flakes': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:01,738 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:01,798 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:01,799 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:01,868 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:01,937 - __main__ - WARNING - Couldn't create or find food 'lemon juice': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:01,938 - __main__ - WARNING - mild-gekruide-parelgort-met-tomaat-prei-pijnboompitten: accepted 12 ingredients, skipped 3 problematic ones
⚠️ mild-gekruide-parelgort-met-tomaat-prei-pijnboompitten: accepted 12 ingredients, skipped 3 problematic ones
2026-06-14 18:18:01,939 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:02,167 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:02,167 - automatic_tagger - INFO - 🔍 Analyzing recipe: MILD GEKRUIDE PARELGORT MET TOMAAT, PREI & PIJNBOOMPITTEN
2026-06-14 18:18:02,237 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:18:02,306 - automatic_tagger - INFO - 🏷️ Recipe cc273a87-9e7e-41a1-b966-c200d647ae65: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:18:02,337 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:02,337 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:18:02,338 - __main__ - INFO - Auto-tagged MILD GEKRUIDE PARELGORT MET TOMAAT, PREI & PIJNBOOMPITTEN
🏷️ Auto-tagged MILD GEKRUIDE PARELGORT MET TOMAAT, PREI & PIJNBOOMPITTEN
Parsing: 49%|████▉ | 49/100 [04:37<04:57, 5.83s/it]2026-06-14 18:18:06,359 - __main__ - INFO - Direct LLM parsed 12 ingredients, 7 matched to canonical
2026-06-14 18:18:06,360 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:06,427 - __main__ - WARNING - Couldn't create or find food 'chestnut mushroom': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:06,428 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:06,502 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:06,570 - __main__ - WARNING - Couldn't create or find food 'fresh ginger': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:06,571 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:06,642 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:06,702 - __main__ - WARNING - Couldn't create or find food 'sea salt flakes': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:06,703 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:06,869 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:06,870 - automatic_tagger - INFO - 🔍 Analyzing recipe: Mapo Tofu met Champignons, Chili & Lente-ui
2026-06-14 18:18:06,941 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Sichuan', tags=[]
2026-06-14 18:18:06,984 - automatic_tagger - INFO - 🏷️ Recipe 2437c9c4-453a-454b-a77f-1cb96c432a5e: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:18:07,004 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:07,004 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:18:07,004 - __main__ - INFO - Auto-tagged Mapo Tofu met Champignons, Chili & Lente-ui
🏷️ Auto-tagged Mapo Tofu met Champignons, Chili & Lente-ui
Parsing: 50%|█████ | 50/100 [04:41<04:34, 5.48s/it]2026-06-14 18:18:10,910 - __main__ - INFO - Direct LLM parsed 12 ingredients, 9 matched to canonical
2026-06-14 18:18:10,911 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:11,120 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:11,305 - __main__ - WARNING - Couldn't create or find food 'bok choy': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:11,307 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:11,387 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:11,601 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:11,601 - automatic_tagger - INFO - 🔍 Analyzing recipe: Noedelsoep met shiitake en paksoi
2026-06-14 18:18:11,687 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Japanese', tags=[]
2026-06-14 18:18:11,752 - automatic_tagger - INFO - 🏷️ Recipe 240ed546-96db-4f99-90ed-5150c2701700: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:18:11,768 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:11,768 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:18:11,769 - __main__ - INFO - Auto-tagged Noedelsoep met shiitake en paksoi
🏷️ Auto-tagged Noedelsoep met shiitake en paksoi
Parsing: 51%|█████ | 51/100 [04:46<04:18, 5.27s/it]2026-06-14 18:18:16,227 - __main__ - INFO - Direct LLM parsed 19 ingredients, 16 matched to canonical
2026-06-14 18:18:16,228 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:16,311 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:16,313 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:16,384 - __main__ - WARNING - Couldn't create or find food 'almond flakes': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:16,386 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:16,452 - __main__ - WARNING - okra-curry-met-kikkererwten-amandelen: accepted 18 ingredients, skipped 1 problematic ones
⚠️ okra-curry-met-kikkererwten-amandelen: accepted 18 ingredients, skipped 1 problematic ones
2026-06-14 18:18:16,453 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:16,651 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:16,651 - automatic_tagger - INFO - 🔍 Analyzing recipe: OKRA-CURRY MET KIKKERERWTEN & AMANDELEN
2026-06-14 18:18:16,718 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:18:16,771 - automatic_tagger - INFO - 🏷️ Recipe f107d314-1e51-4d07-af3b-c76d5ac69e68: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:18:16,792 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:16,792 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:18:16,793 - __main__ - INFO - Auto-tagged OKRA-CURRY MET KIKKERERWTEN & AMANDELEN
🏷️ Auto-tagged OKRA-CURRY MET KIKKERERWTEN & AMANDELEN
Parsing: 52%|█████▏ | 52/100 [04:51<04:09, 5.19s/it]2026-06-14 18:18:24,372 - __main__ - INFO - Direct LLM parsed 11 ingredients, 10 matched to canonical
2026-06-14 18:18:24,373 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:24,434 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:24,436 - __main__ - WARNING - orzo-met-tomaat-lauriersaus: accepted 10 ingredients, skipped 1 problematic ones
⚠️ orzo-met-tomaat-lauriersaus: accepted 10 ingredients, skipped 1 problematic ones
2026-06-14 18:18:24,437 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:24,617 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:24,617 - automatic_tagger - INFO - 🔍 Analyzing recipe: ORZO MET TOMAAT-LAURIERSAUS
2026-06-14 18:18:24,690 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:18:24,739 - automatic_tagger - INFO - 🏷️ Recipe 6e2970e7-2311-47e7-91a2-052613514066: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:18:24,773 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:24,773 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:18:24,775 - __main__ - INFO - Auto-tagged ORZO MET TOMAAT-LAURIERSAUS
🏷️ Auto-tagged ORZO MET TOMAAT-LAURIERSAUS
Parsing: 53%|█████▎ | 53/100 [04:59<04:43, 6.03s/it]2026-06-14 18:18:30,807 - __main__ - INFO - Direct LLM parsed 11 ingredients, 8 matched to canonical
2026-06-14 18:18:30,807 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:30,877 - __main__ - WARNING - Couldn't create or find food 'sea salt flake': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:30,878 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:30,940 - __main__ - WARNING - Couldn't create or find food 'pine nut': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:30,942 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:31,033 - __main__ - WARNING - one-pan-pasta-sauce-with-aubergines-tomatoes-capers-pine-nuts: accepted 10 ingredients, skipped 1 problematic ones
⚠️ one-pan-pasta-sauce-with-aubergines-tomatoes-capers-pine-nuts: accepted 10 ingredients, skipped 1 problematic ones
2026-06-14 18:18:31,035 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:31,277 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:31,277 - automatic_tagger - INFO - 🔍 Analyzing recipe: One-Pan Pasta Sauce with Aubergines, Tomatoes, Capers & Pine Nuts
2026-06-14 18:18:31,366 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:18:31,445 - automatic_tagger - INFO - 🏷️ Recipe 3959f28c-0e99-4a16-8ad1-bff12da2a21e: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:18:31,479 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:31,479 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:18:31,480 - __main__ - INFO - Auto-tagged One-Pan Pasta Sauce with Aubergines, Tomatoes, Capers & Pine Nuts
🏷️ Auto-tagged One-Pan Pasta Sauce with Aubergines, Tomatoes, Capers & Pine Nuts
Parsing: 54%|█████▍ | 54/100 [05:06<04:46, 6.23s/it]2026-06-14 18:18:37,053 - __main__ - INFO - Direct LLM parsed 11 ingredients, 11 matched to canonical
2026-06-14 18:18:37,054 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:37,290 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:37,290 - automatic_tagger - INFO - 🔍 Analyzing recipe: Orzo met edamame en geroosterde aubergine
2026-06-14 18:18:37,369 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:18:37,448 - automatic_tagger - INFO - 🏷️ Recipe a53dd594-326f-4ed1-8d2d-7ba3596cf5fb: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:18:37,469 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:37,469 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:18:37,471 - __main__ - INFO - Auto-tagged Orzo met edamame en geroosterde aubergine
🏷️ Auto-tagged Orzo met edamame en geroosterde aubergine
Parsing: 55%|█████▌ | 55/100 [05:12<04:37, 6.16s/it]2026-06-14 18:18:43,716 - __main__ - INFO - Direct LLM parsed 19 ingredients, 16 matched to canonical
2026-06-14 18:18:43,716 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:43,783 - __main__ - WARNING - Couldn't create or find food 'chestnut mushroom': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:43,784 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:43,875 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:18:43,877 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:43,940 - __main__ - WARNING - paddenstoelen-in-rode-wijn-met-kaasscones: accepted 18 ingredients, skipped 1 problematic ones
⚠️ paddenstoelen-in-rode-wijn-met-kaasscones: accepted 18 ingredients, skipped 1 problematic ones
2026-06-14 18:18:43,940 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:44,207 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:44,208 - automatic_tagger - INFO - 🔍 Analyzing recipe: PADDENSTOELEN IN RODE WIJN MET KAASSCONES
2026-06-14 18:18:44,278 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:18:44,377 - automatic_tagger - INFO - 🏷️ Recipe dbbe83f8-2260-4c4f-9edc-a54791730743: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:18:44,378 - __main__ - INFO - Auto-tagged PADDENSTOELEN IN RODE WIJN MET KAASSCONES
🏷️ Auto-tagged PADDENSTOELEN IN RODE WIJN MET KAASSCONES
Parsing: 56%|█████▌ | 56/100 [05:19<04:40, 6.38s/it]2026-06-14 18:18:49,734 - __main__ - INFO - Direct LLM parsed 11 ingredients, 11 matched to canonical
2026-06-14 18:18:49,735 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:49,926 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:49,926 - automatic_tagger - INFO - 🔍 Analyzing recipe: PADDENSTOELEN MET PAKSOI & ASPERGES
2026-06-14 18:18:49,991 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:18:50,082 - automatic_tagger - INFO - 🏷️ Recipe 5993643c-28b1-454c-9db6-ec937f26c2f8: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:18:50,101 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:50,101 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:18:50,102 - __main__ - INFO - Auto-tagged PADDENSTOELEN MET PAKSOI & ASPERGES
🏷️ Auto-tagged PADDENSTOELEN MET PAKSOI & ASPERGES
Parsing: 57%|█████▋ | 57/100 [05:25<04:26, 6.19s/it]2026-06-14 18:18:54,044 - __main__ - INFO - Direct LLM parsed 14 ingredients, 14 matched to canonical
2026-06-14 18:18:54,046 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:54,292 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:18:54,292 - automatic_tagger - INFO - 🔍 Analyzing recipe: PANZANELLA VAN
WATERKERS & PASTINAAK
2026-06-14 18:18:54,386 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:18:54,463 - automatic_tagger - INFO - 🏷️ Recipe 07a9978c-cd10-43af-b793-33242484b24a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:18:54,485 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:18:54,485 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:18:54,489 - __main__ - INFO - Auto-tagged PANZANELLA VAN
WATERKERS & PASTINAAK
🏷️ Auto-tagged PANZANELLA VAN
WATERKERS & PASTINAAK
Parsing: 58%|█████▊ | 58/100 [05:29<03:57, 5.65s/it]2026-06-14 18:19:02,303 - __main__ - INFO - Direct LLM parsed 13 ingredients, 12 matched to canonical
2026-06-14 18:19:02,303 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:02,374 - __main__ - WARNING - Couldn't create or find food 'lemon juice': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:02,376 - __main__ - WARNING - panzanella-van-tomaat-paprika-artisjok: accepted 12 ingredients, skipped 1 problematic ones
⚠️ panzanella-van-tomaat-paprika-artisjok: accepted 12 ingredients, skipped 1 problematic ones
2026-06-14 18:19:02,377 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:02,560 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:02,560 - automatic_tagger - INFO - 🔍 Analyzing recipe: PANZANELLA VAN TOMAAT, PAPRIKA & ARTISJOK
2026-06-14 18:19:02,632 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:19:02,676 - automatic_tagger - INFO - 🏷️ Recipe 9fcf0444-571c-4224-bdff-37432413447a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:02,705 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:19:02,705 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:19:02,706 - __main__ - INFO - Auto-tagged PANZANELLA VAN TOMAAT, PAPRIKA & ARTISJOK
🏷️ Auto-tagged PANZANELLA VAN TOMAAT, PAPRIKA & ARTISJOK
Parsing: 59%|█████▉ | 59/100 [05:37<04:23, 6.42s/it]2026-06-14 18:19:04,801 - __main__ - INFO - Direct LLM parsed 5 ingredients, 4 matched to canonical
2026-06-14 18:19:04,801 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:04,868 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:05,066 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:05,066 - automatic_tagger - INFO - 🔍 Analyzing recipe: PASTA MET PADDENSTOELEN EN KNOFLOOK
2026-06-14 18:19:05,147 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:19:05,206 - automatic_tagger - INFO - 🏷️ Recipe b69d8f07-8356-4a90-b6aa-03ad456ce4f0: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:19:05,226 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:19:05,226 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:19:05,227 - __main__ - INFO - Auto-tagged PASTA MET PADDENSTOELEN EN KNOFLOOK
🏷️ Auto-tagged PASTA MET PADDENSTOELEN EN KNOFLOOK
Parsing: 60%|██████ | 60/100 [05:40<03:29, 5.25s/it]2026-06-14 18:19:09,211 - __main__ - INFO - Direct LLM parsed 11 ingredients, 9 matched to canonical
2026-06-14 18:19:09,212 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:09,306 - __main__ - WARNING - Couldn't create or find food 'chestnut mushroom': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:09,307 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:09,378 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:09,379 - __main__ - WARNING - perzische-paddenstoelen-met-granaatappel-walnoten: accepted 9 ingredients, skipped 2 problematic ones
⚠️ perzische-paddenstoelen-met-granaatappel-walnoten: accepted 9 ingredients, skipped 2 problematic ones
2026-06-14 18:19:09,380 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:09,584 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:09,584 - automatic_tagger - INFO - 🔍 Analyzing recipe: PERZISCHE PADDENSTOELEN MET GRANAATAPPEL & WALNOTEN
2026-06-14 18:19:09,653 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Persian', tags=[]
2026-06-14 18:19:09,699 - automatic_tagger - INFO - 🏷️ Recipe 426af290-f7ea-4b6d-8898-c56d79a8ca01: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:09,725 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:19:09,725 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-06-14 18:19:09,726 - __main__ - INFO - Auto-tagged PERZISCHE PADDENSTOELEN MET GRANAATAPPEL & WALNOTEN
🏷️ Auto-tagged PERZISCHE PADDENSTOELEN MET GRANAATAPPEL & WALNOTEN
Parsing: 61%|██████ | 61/100 [05:44<03:15, 5.02s/it]2026-06-14 18:19:15,046 - __main__ - INFO - Direct LLM parsed 10 ingredients, 9 matched to canonical
2026-06-14 18:19:15,047 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:15,130 - __main__ - WARNING - Couldn't create or find food 'brussels sprout': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:15,132 - __main__ - WARNING - pittige-harissa-spruitjes-broccoli-met-halloumi-spinazie: accepted 9 ingredients, skipped 1 problematic ones
⚠️ pittige-harissa-spruitjes-broccoli-met-halloumi-spinazie: accepted 9 ingredients, skipped 1 problematic ones
2026-06-14 18:19:15,133 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:15,348 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:15,348 - automatic_tagger - INFO - 🔍 Analyzing recipe: PITTIGE HARISSA-SPRUITJES & BROCCOLI MET HALLOUMI & SPINAZIE
2026-06-14 18:19:15,429 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:19:15,510 - automatic_tagger - INFO - 🏷️ Recipe cd35755f-e0e8-40a9-ae16-f43b6aa0092f: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:15,511 - __main__ - INFO - Auto-tagged PITTIGE HARISSA-SPRUITJES & BROCCOLI MET HALLOUMI & SPINAZIE
🏷️ Auto-tagged PITTIGE HARISSA-SPRUITJES & BROCCOLI MET HALLOUMI & SPINAZIE
Parsing: 62%|██████▏ | 62/100 [05:50<03:19, 5.25s/it]2026-06-14 18:19:19,141 - __main__ - INFO - Direct LLM parsed 14 ingredients, 13 matched to canonical
2026-06-14 18:19:19,142 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:19,209 - __main__ - WARNING - Couldn't create or find food 'coconut yogurt': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:19,210 - __main__ - WARNING - pittige-wortel-bonencurry: accepted 13 ingredients, skipped 1 problematic ones
⚠️ pittige-wortel-bonencurry: accepted 13 ingredients, skipped 1 problematic ones
2026-06-14 18:19:19,211 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:19,464 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:19,464 - automatic_tagger - INFO - 🔍 Analyzing recipe: PITTIGE WORTEL-BONENCURRY
2026-06-14 18:19:19,536 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:19:19,587 - automatic_tagger - INFO - 🏷️ Recipe 63293145-62a8-4462-ab99-7232697ceef9: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:19,608 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:19:19,608 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:19:19,609 - __main__ - INFO - Auto-tagged PITTIGE WORTEL-BONENCURRY
🏷️ Auto-tagged PITTIGE WORTEL-BONENCURRY
Parsing: 63%|██████▎ | 63/100 [05:54<03:01, 4.91s/it]2026-06-14 18:19:26,522 - __main__ - INFO - Direct LLM parsed 14 ingredients, 12 matched to canonical
2026-06-14 18:19:26,523 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:26,586 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:26,588 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:26,662 - __main__ - WARNING - Couldn't create or find food 'chili flakes': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:26,663 - __main__ - WARNING - polenta-met-zoete-aardappel-paddenstoelen: accepted 12 ingredients, skipped 2 problematic ones
⚠️ polenta-met-zoete-aardappel-paddenstoelen: accepted 12 ingredients, skipped 2 problematic ones
2026-06-14 18:19:26,664 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:26,825 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:26,825 - automatic_tagger - INFO - 🔍 Analyzing recipe: POLENTA MET ZOETE AARDAPPEL & PADDENSTOELEN
2026-06-14 18:19:26,892 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:19:26,941 - automatic_tagger - INFO - 🏷️ Recipe 6070dffe-55d3-4f52-8857-a7fa5c4102e5: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:26,958 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:19:26,958 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:19:26,959 - __main__ - INFO - Auto-tagged POLENTA MET ZOETE AARDAPPEL & PADDENSTOELEN
🏷️ Auto-tagged POLENTA MET ZOETE AARDAPPEL & PADDENSTOELEN
Parsing: 64%|██████▍ | 64/100 [06:01<03:22, 5.64s/it]2026-06-14 18:19:33,058 - __main__ - INFO - Direct LLM parsed 11 ingredients, 9 matched to canonical
2026-06-14 18:19:33,058 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:33,134 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:33,199 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:33,202 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:33,438 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:33,438 - automatic_tagger - INFO - 🔍 Analyzing recipe: POMPOEN MET UIEN, PREI & FETA
2026-06-14 18:19:33,498 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:19:33,560 - automatic_tagger - INFO - 🏷️ Recipe 7e1b435d-1599-4750-8d63-0ccb691ab12a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:33,561 - __main__ - INFO - Auto-tagged POMPOEN MET UIEN, PREI & FETA
🏷️ Auto-tagged POMPOEN MET UIEN, PREI & FETA
Parsing: 65%|██████▌ | 65/100 [06:08<03:27, 5.93s/it]2026-06-14 18:19:38,291 - __main__ - INFO - Direct LLM parsed 10 ingredients, 8 matched to canonical
2026-06-14 18:19:38,292 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:38,379 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:38,458 - __main__ - WARNING - Couldn't create or find food 'kant-en-klaar bladerdeeg': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:38,461 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:38,636 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:38,637 - automatic_tagger - INFO - 🔍 Analyzing recipe: POMPOEN-BLAUWEKAASTAARTJES MET VIJGEN & PECANNOTEN
2026-06-14 18:19:38,706 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:19:38,762 - automatic_tagger - INFO - 🏷️ Recipe 508c5229-bc1e-4012-8ee5-5c3539d207bd: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:38,764 - __main__ - INFO - Auto-tagged POMPOEN-BLAUWEKAASTAARTJES MET VIJGEN & PECANNOTEN
🏷️ Auto-tagged POMPOEN-BLAUWEKAASTAARTJES MET VIJGEN & PECANNOTEN
Parsing: 66%|██████▌ | 66/100 [06:13<03:14, 5.71s/it]2026-06-14 18:19:43,890 - __main__ - INFO - Direct LLM parsed 15 ingredients, 13 matched to canonical
2026-06-14 18:19:43,891 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:43,968 - __main__ - WARNING - Couldn't create or find food 'chili pepper': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:43,969 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:44,054 - __main__ - WARNING - Couldn't create or find food 'zee zout': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:44,055 - __main__ - WARNING - pompoencurry-met-spinazie: accepted 14 ingredients, skipped 1 problematic ones
⚠️ pompoencurry-met-spinazie: accepted 14 ingredients, skipped 1 problematic ones
2026-06-14 18:19:44,056 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:44,309 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:44,309 - automatic_tagger - INFO - 🔍 Analyzing recipe: POMPOENCURRY MET SPINAZIE
2026-06-14 18:19:44,407 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:19:44,493 - automatic_tagger - INFO - 🏷️ Recipe dd20230f-b394-46c3-b322-ce329de40ffe: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:44,533 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:19:44,533 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:19:44,534 - __main__ - INFO - Auto-tagged POMPOENCURRY MET SPINAZIE
🏷️ Auto-tagged POMPOENCURRY MET SPINAZIE
Parsing: 67%|██████▋ | 67/100 [06:19<03:09, 5.73s/it]2026-06-14 18:19:47,711 - __main__ - INFO - Direct LLM parsed 11 ingredients, 11 matched to canonical
2026-06-14 18:19:47,713 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:47,881 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:47,882 - automatic_tagger - INFO - 🔍 Analyzing recipe: PREI-LINZENGRATIN MET EEN KNAPPERIG FETALAAGJE
2026-06-14 18:19:47,945 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:19:48,004 - automatic_tagger - INFO - 🏷️ Recipe da788da8-f13f-45c1-9832-15d004ef949b: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:48,005 - __main__ - INFO - Auto-tagged PREI-LINZENGRATIN MET EEN KNAPPERIG FETALAAGJE
🏷️ Auto-tagged PREI-LINZENGRATIN MET EEN KNAPPERIG FETALAAGJE
Parsing: 68%|██████▊ | 68/100 [06:22<02:41, 5.05s/it]2026-06-14 18:19:53,858 - __main__ - INFO - Direct LLM parsed 11 ingredients, 9 matched to canonical
2026-06-14 18:19:53,859 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:53,923 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:19:53,924 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:53,995 - __main__ - WARNING - prei-orzotto-met-asperges-hazelnoten-rucola: accepted 10 ingredients, skipped 1 problematic ones
⚠️ prei-orzotto-met-asperges-hazelnoten-rucola: accepted 10 ingredients, skipped 1 problematic ones
2026-06-14 18:19:53,995 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:54,260 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:19:54,260 - automatic_tagger - INFO - 🔍 Analyzing recipe: PREI-ORZOTTO MET ASPERGES, HAZELNOTEN & RUCOLA
2026-06-14 18:19:54,341 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:19:54,419 - automatic_tagger - INFO - 🏷️ Recipe c655f903-004d-4f96-bd9c-fe8fbdb70e64: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:19:54,441 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:19:54,441 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:19:54,442 - __main__ - INFO - Auto-tagged PREI-ORZOTTO MET ASPERGES, HAZELNOTEN & RUCOLA
🏷️ Auto-tagged PREI-ORZOTTO MET ASPERGES, HAZELNOTEN & RUCOLA
Parsing: 69%|██████▉ | 69/100 [06:29<02:49, 5.47s/it]2026-06-14 18:20:01,655 - __main__ - INFO - Direct LLM parsed 11 ingredients, 9 matched to canonical
2026-06-14 18:20:01,656 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:01,731 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:01,812 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:01,997 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:01,997 - automatic_tagger - INFO - 🔍 Analyzing recipe: PUNTPAPRIKA'S MET
ARTISJOK, OLIJVEN & FETA
2026-06-14 18:20:02,070 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Greek', tags=[]
2026-06-14 18:20:02,150 - automatic_tagger - INFO - 🏷️ Recipe 9c16c898-4b4d-48be-896f-47ceae3afe2d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:20:02,171 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:20:02,171 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:20:02,172 - __main__ - INFO - Auto-tagged PUNTPAPRIKA'S MET
ARTISJOK, OLIJVEN & FETA
🏷️ Auto-tagged PUNTPAPRIKA'S MET
ARTISJOK, OLIJVEN & FETA
Parsing: 70%|███████ | 70/100 [06:37<03:04, 6.15s/it]2026-06-14 18:20:14,389 - __main__ - INFO - Direct LLM parsed 10 ingredients, 9 matched to canonical
2026-06-14 18:20:14,390 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:14,461 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:14,609 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:14,609 - automatic_tagger - INFO - 🔍 Analyzing recipe: Pappardelle with Rose Harissa, Black Olives, and Capers
2026-06-14 18:20:14,690 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:20:14,737 - automatic_tagger - INFO - 🏷️ Recipe a47e660e-c350-48db-8e74-0aa58b9d260c: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:20:14,759 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:20:14,759 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:20:14,760 - __main__ - INFO - Auto-tagged Pappardelle with Rose Harissa, Black Olives, and Capers
🏷️ Auto-tagged Pappardelle with Rose Harissa, Black Olives, and Capers
Parsing: 71%|███████ | 71/100 [06:49<03:54, 8.08s/it]2026-06-14 18:20:19,255 - __main__ - INFO - Direct LLM parsed 11 ingredients, 10 matched to canonical
2026-06-14 18:20:19,256 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:19,320 - __main__ - WARNING - Couldn't create or find food 'traditional olive oil': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:20:19,321 - __main__ - WARNING - pasta-met-burrata-tomaat-en-paprika: accepted 10 ingredients, skipped 1 problematic ones
⚠️ pasta-met-burrata-tomaat-en-paprika: accepted 10 ingredients, skipped 1 problematic ones
2026-06-14 18:20:19,322 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:19,527 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:19,527 - automatic_tagger - INFO - 🔍 Analyzing recipe: Pasta met burrata, tomaat en paprika
2026-06-14 18:20:19,589 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:20:19,635 - automatic_tagger - INFO - 🏷️ Recipe 397b9eb9-b17b-4d97-afdc-303d1f8b540f: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:20:19,663 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:20:19,663 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:20:19,664 - __main__ - INFO - Auto-tagged Pasta met burrata, tomaat en paprika
🏷️ Auto-tagged Pasta met burrata, tomaat en paprika
Parsing: 72%|███████▏ | 72/100 [06:54<03:19, 7.13s/it]2026-06-14 18:20:19,797 - __main__ - INFO - Re-scraping pita-vegan-shoarma-met-srirachamayo: 2/9 ingredients appear incomplete
2026-06-14 18:20:19,919 - __main__ - ERROR - Re-scraping failed: HTTP Error 403: Forbidden
2026-06-14 18:20:19,919 - __main__ - ERROR - Extracted data has 2 incomplete entries and re-scraping failed
2026-06-14 18:20:19,919 - __main__ - ERROR - Returning incomplete data - parsing will likely fail
2026-06-14 18:20:24,083 - __main__ - INFO - Direct LLM parsed 9 ingredients, 6 matched to canonical
2026-06-14 18:20:24,083 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:24,169 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:24,242 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:24,336 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:24,582 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:24,582 - automatic_tagger - INFO - 🔍 Analyzing recipe: Pita vegan shoarma met srirachamayo
2026-06-14 18:20:24,649 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:20:24,720 - automatic_tagger - INFO - 🏷️ Recipe 0cc4990c-f87e-4a5e-a1b7-89dd7a5b29df: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:20:24,721 - __main__ - INFO - Auto-tagged Pita vegan shoarma met srirachamayo
🏷️ Auto-tagged Pita vegan shoarma met srirachamayo
Parsing: 73%|███████▎ | 73/100 [06:59<02:55, 6.51s/it]2026-06-14 18:20:29,285 - __main__ - INFO - Direct LLM parsed 9 ingredients, 8 matched to canonical
2026-06-14 18:20:29,285 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:29,355 - __main__ - WARNING - Couldn't create or find food 'spring onion': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:20:29,357 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:29,556 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:29,556 - automatic_tagger - INFO - 🔍 Analyzing recipe: Pokébowl met meloen, mango en avocado
2026-06-14 18:20:29,627 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Fusion', tags=[]
2026-06-14 18:20:29,676 - automatic_tagger - INFO - 🏷️ Recipe 9ed6062c-9bbd-4270-bba3-703c1d632020: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:20:29,699 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:20:29,699 - automatic_tagger - WARNING - Category 'Fusion' not found in Mealie cache
2026-06-14 18:20:29,700 - __main__ - INFO - Auto-tagged Pokébowl met meloen, mango en avocado
🏷️ Auto-tagged Pokébowl met meloen, mango en avocado
Parsing: 74%|███████▍ | 74/100 [07:04<02:37, 6.05s/it]2026-06-14 18:20:33,252 - __main__ - INFO - Direct LLM parsed 13 ingredients, 11 matched to canonical
2026-06-14 18:20:33,253 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:33,334 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:33,406 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:33,582 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:33,582 - automatic_tagger - INFO - 🔍 Analyzing recipe: RATATOUILLE UIT DE OVEN
2026-06-14 18:20:33,647 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:20:33,695 - automatic_tagger - INFO - 🏷️ Recipe c927e086-ec16-40b1-b6c8-ce0d80310136: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:20:33,709 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:20:33,709 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:20:33,710 - __main__ - INFO - Auto-tagged RATATOUILLE UIT DE OVEN
🏷️ Auto-tagged RATATOUILLE UIT DE OVEN
Parsing: 75%|███████▌ | 75/100 [07:08<02:15, 5.44s/it]2026-06-14 18:20:37,987 - __main__ - INFO - Direct LLM parsed 11 ingredients, 11 matched to canonical
2026-06-14 18:20:37,988 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:38,219 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:38,220 - automatic_tagger - INFO - 🔍 Analyzing recipe: ROOSJESTAART MET PASTINAAK & WORTEL
2026-06-14 18:20:38,300 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='British', tags=[]
2026-06-14 18:20:38,382 - automatic_tagger - INFO - 🏷️ Recipe 7ab5a012-4f5d-4907-b0e1-f7c76ef4cc04: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:20:38,406 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:20:38,406 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:20:38,407 - __main__ - INFO - Auto-tagged ROOSJESTAART MET PASTINAAK & WORTEL
🏷️ Auto-tagged ROOSJESTAART MET PASTINAAK & WORTEL
Parsing: 76%|███████▌ | 76/100 [07:13<02:05, 5.21s/it]2026-06-14 18:20:38,557 - __main__ - INFO - Re-scraping rijkgevulde-vegan-pastasalade: 1/11 ingredients appear incomplete
2026-06-14 18:20:38,681 - __main__ - ERROR - Re-scraping failed: HTTP Error 403: Forbidden
2026-06-14 18:20:38,681 - __main__ - ERROR - Extracted data has 1 incomplete entries and re-scraping failed
2026-06-14 18:20:38,681 - __main__ - ERROR - Returning incomplete data - parsing will likely fail
2026-06-14 18:20:43,594 - __main__ - INFO - Direct LLM parsed 11 ingredients, 9 matched to canonical
2026-06-14 18:20:43,594 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:43,660 - __main__ - WARNING - Couldn't create or find food 'semi-dried tomato': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:20:43,661 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:43,736 - __main__ - WARNING - rijkgevulde-vegan-pastasalade: accepted 10 ingredients, skipped 1 problematic ones
⚠️ rijkgevulde-vegan-pastasalade: accepted 10 ingredients, skipped 1 problematic ones
2026-06-14 18:20:43,737 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:43,894 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:43,894 - automatic_tagger - INFO - 🔍 Analyzing recipe: Rijkgevulde vegan pastasalade
2026-06-14 18:20:43,947 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:20:43,987 - automatic_tagger - INFO - 🏷️ Recipe 6f3db45a-53c7-41f3-87c1-4ff9a948fd9b: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:20:44,001 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:20:44,001 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:20:44,002 - __main__ - INFO - Auto-tagged Rijkgevulde vegan pastasalade
🏷️ Auto-tagged Rijkgevulde vegan pastasalade
Parsing: 77%|███████▋ | 77/100 [07:18<02:02, 5.33s/it]2026-06-14 18:20:46,497 - __main__ - INFO - Direct LLM parsed 9 ingredients, 8 matched to canonical
2026-06-14 18:20:46,497 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:46,558 - __main__ - WARNING - Couldn't create or find food 'soft goat cheese': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:20:46,559 - __main__ - WARNING - romige-gevulde-pompoen-met-geitenkaas-en-walnoten: accepted 8 ingredients, skipped 1 problematic ones
⚠️ romige-gevulde-pompoen-met-geitenkaas-en-walnoten: accepted 8 ingredients, skipped 1 problematic ones
2026-06-14 18:20:46,560 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:46,769 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:46,769 - automatic_tagger - INFO - 🔍 Analyzing recipe: Romige gevulde pompoen met geitenkaas en walnoten
2026-06-14 18:20:46,839 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:20:46,909 - automatic_tagger - INFO - 🏷️ Recipe 809dec16-a43c-4948-8e32-ff8a00b61184: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:20:46,909 - __main__ - INFO - Auto-tagged Romige gevulde pompoen met geitenkaas en walnoten
🏷️ Auto-tagged Romige gevulde pompoen met geitenkaas en walnoten
Parsing: 78%|███████▊ | 78/100 [07:21<01:41, 4.60s/it]2026-06-14 18:20:50,490 - __main__ - INFO - Direct LLM parsed 11 ingredients, 8 matched to canonical
2026-06-14 18:20:50,490 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:50,556 - __main__ - WARNING - Couldn't create or find food 'sea salt flake': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:20:50,557 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:50,652 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:50,740 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:50,917 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:50,918 - automatic_tagger - INFO - 🔍 Analyzing recipe: Roze aardappelsalade met rodekool & granaatappel
2026-06-14 18:20:50,993 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:20:51,075 - automatic_tagger - INFO - 🏷️ Recipe df126531-4cc0-4808-9905-7cac83295e9f: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:20:51,077 - __main__ - INFO - Auto-tagged Roze aardappelsalade met rodekool & granaatappel
🏷️ Auto-tagged Roze aardappelsalade met rodekool & granaatappel
Parsing: 79%|███████▉ | 79/100 [07:26<01:33, 4.47s/it]2026-06-14 18:20:59,521 - __main__ - INFO - Direct LLM parsed 15 ingredients, 12 matched to canonical
2026-06-14 18:20:59,521 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:59,577 - __main__ - WARNING - Couldn't create or find food 'red cabbage': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:20:59,578 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:59,648 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:59,719 - __main__ - WARNING - Couldn't create or find food 'lemon juice': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:20:59,720 - __main__ - WARNING - salade-van-rodekool-met-appel-rozijnen-knoflookcroutons: accepted 14 ingredients, skipped 1 problematic ones
⚠️ salade-van-rodekool-met-appel-rozijnen-knoflookcroutons: accepted 14 ingredients, skipped 1 problematic ones
2026-06-14 18:20:59,721 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:59,857 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:20:59,857 - automatic_tagger - INFO - 🔍 Analyzing recipe: SALADE VAN RODEKOOL MET APPEL, ROZIJNEN &
KNOFLOOKCROUTONS
2026-06-14 18:20:59,920 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:21:00,307 - automatic_tagger - INFO - 🏷️ Recipe e5d77301-168f-4e92-be40-479fe9d1515d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:21:00,308 - __main__ - INFO - Auto-tagged SALADE VAN RODEKOOL MET APPEL, ROZIJNEN &
KNOFLOOKCROUTONS
🏷️ Auto-tagged SALADE VAN RODEKOOL MET APPEL, ROZIJNEN &
KNOFLOOKCROUTONS
Parsing: 80%|████████ | 80/100 [07:35<01:57, 5.90s/it]2026-06-14 18:21:05,748 - __main__ - INFO - Direct LLM parsed 12 ingredients, 11 matched to canonical
2026-06-14 18:21:05,749 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:05,825 - __main__ - WARNING - Couldn't create or find food 'green asparagus': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:05,826 - __main__ - WARNING - salade-van-witlof-radijs-asperges-sinaasappel: accepted 11 ingredients, skipped 1 problematic ones
⚠️ salade-van-witlof-radijs-asperges-sinaasappel: accepted 11 ingredients, skipped 1 problematic ones
2026-06-14 18:21:05,827 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:05,979 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:05,979 - automatic_tagger - INFO - 🔍 Analyzing recipe: SALADE VAN WITLOF, RADIJS, ASPERGES & SINAASAPPEL
2026-06-14 18:21:06,053 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:21:06,120 - automatic_tagger - INFO - 🏷️ Recipe bcf05a1b-91a5-4fa5-893f-015806a2a42f: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:21:06,122 - __main__ - INFO - Auto-tagged SALADE VAN WITLOF, RADIJS, ASPERGES & SINAASAPPEL
🏷️ Auto-tagged SALADE VAN WITLOF, RADIJS, ASPERGES & SINAASAPPEL
Parsing: 81%|████████ | 81/100 [07:41<01:51, 5.87s/it]2026-06-14 18:21:09,945 - __main__ - INFO - Direct LLM parsed 7 ingredients, 5 matched to canonical
2026-06-14 18:21:09,946 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:10,044 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:10,117 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:10,313 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:10,313 - automatic_tagger - INFO - 🔍 Analyzing recipe: SNELLE KAAS-SJALOTTENTAART
2026-06-14 18:21:10,376 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:21:10,449 - automatic_tagger - INFO - 🏷️ Recipe a5568243-4c1e-4f38-9fa2-6ae5d64f4b14: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:21:10,467 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:21:10,467 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:21:10,469 - __main__ - INFO - Auto-tagged SNELLE KAAS-SJALOTTENTAART
🏷️ Auto-tagged SNELLE KAAS-SJALOTTENTAART
Parsing: 82%|████████▏ | 82/100 [07:45<01:37, 5.42s/it]2026-06-14 18:21:17,212 - __main__ - INFO - Direct LLM parsed 14 ingredients, 11 matched to canonical
2026-06-14 18:21:17,213 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:17,285 - __main__ - WARNING - Couldn't create or find food 'coconut milk': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:17,286 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:17,369 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:17,438 - __main__ - WARNING - Couldn't create or find food 'spring onion': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:17,439 - __main__ - WARNING - snelle-thaise-okra-met-shiitake-kokosmelk: accepted 13 ingredients, skipped 1 problematic ones
⚠️ snelle-thaise-okra-met-shiitake-kokosmelk: accepted 13 ingredients, skipped 1 problematic ones
2026-06-14 18:21:17,440 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:17,619 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:17,619 - automatic_tagger - INFO - 🔍 Analyzing recipe: SNELLE THAISE OKRA MET SHIITAKE & KOKOSMELK
2026-06-14 18:21:17,675 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Thai', tags=[]
2026-06-14 18:21:17,726 - automatic_tagger - INFO - 🏷️ Recipe 610e6a99-3b5a-4f79-924d-23c4dcc01438: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:21:17,742 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:21:17,742 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:21:17,743 - __main__ - INFO - Auto-tagged SNELLE THAISE OKRA MET SHIITAKE & KOKOSMELK
🏷️ Auto-tagged SNELLE THAISE OKRA MET SHIITAKE & KOKOSMELK
Parsing: 83%|████████▎ | 83/100 [07:52<01:41, 5.97s/it]2026-06-14 18:21:21,730 - __main__ - INFO - Direct LLM parsed 16 ingredients, 13 matched to canonical
2026-06-14 18:21:21,730 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:21,807 - __main__ - WARNING - Couldn't create or find food 'red bell pepper': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:21,809 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:21,873 - __main__ - WARNING - Couldn't create or find food 'red chili pepper': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:21,875 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:21,943 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:21,944 - __main__ - WARNING - shakshuka-uit-de-oven-paprika-tomaten-eieren: accepted 15 ingredients, skipped 1 problematic ones
⚠️ shakshuka-uit-de-oven-paprika-tomaten-eieren: accepted 15 ingredients, skipped 1 problematic ones
2026-06-14 18:21:21,944 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:22,187 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:22,187 - automatic_tagger - INFO - 🔍 Analyzing recipe: Shakshuka uit de oven: Paprika, tomaten & eieren
2026-06-14 18:21:22,267 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:21:22,350 - automatic_tagger - INFO - 🏷️ Recipe 0ad9ef52-51c8-4154-9e19-787de29da5cd: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:21:22,351 - __main__ - INFO - Auto-tagged Shakshuka uit de oven: Paprika, tomaten & eieren
🏷️ Auto-tagged Shakshuka uit de oven: Paprika, tomaten & eieren
Parsing: 84%|████████▍ | 84/100 [07:57<01:29, 5.56s/it]2026-06-14 18:21:30,972 - __main__ - INFO - Direct LLM parsed 14 ingredients, 11 matched to canonical
2026-06-14 18:21:30,973 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:31,064 - __main__ - WARNING - Couldn't create or find food 'sea salt flake': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:31,066 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:31,149 - __main__ - WARNING - Couldn't create or find food 'baby spinach': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:31,150 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:31,232 - __main__ - WARNING - Couldn't create or find food 'sea salt flake': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:31,234 - __main__ - WARNING - sinaasappel-limaboon-artisjok-olijfsalade-met-een-retro-tintje: accepted 12 ingredients, skipped 2 problematic ones
⚠️ sinaasappel-limaboon-artisjok-olijfsalade-met-een-retro-tintje: accepted 12 ingredients, skipped 2 problematic ones
2026-06-14 18:21:31,235 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:31,451 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:31,451 - automatic_tagger - INFO - 🔍 Analyzing recipe: Sinaasappel-limaboon-artisjok-olijfsalade met een retro tintje
2026-06-14 18:21:31,536 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:21:31,607 - automatic_tagger - INFO - 🏷️ Recipe 983fb560-f31c-4786-b058-9343cd599b11: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:21:31,608 - __main__ - INFO - Auto-tagged Sinaasappel-limaboon-artisjok-olijfsalade met een retro tintje
🏷️ Auto-tagged Sinaasappel-limaboon-artisjok-olijfsalade met een retro tintje
Parsing: 85%|████████▌ | 85/100 [08:06<01:40, 6.67s/it]2026-06-14 18:21:37,178 - __main__ - INFO - Direct LLM parsed 9 ingredients, 8 matched to canonical
2026-06-14 18:21:37,179 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:37,261 - __main__ - WARNING - Couldn't create or find food 'baby carrot': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:37,264 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:37,460 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:37,460 - automatic_tagger - INFO - 🔍 Analyzing recipe: TARTE TATIN
MET WORTEL
2026-06-14 18:21:37,539 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:21:37,580 - automatic_tagger - INFO - 🏷️ Recipe cfcf8f0b-1e35-472c-9a83-e563af986cda: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:21:37,597 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:21:37,597 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:21:37,598 - __main__ - INFO - Auto-tagged TARTE TATIN
MET WORTEL
🏷️ Auto-tagged TARTE TATIN
MET WORTEL
Parsing: 86%|████████▌ | 86/100 [08:12<01:30, 6.47s/it]2026-06-14 18:21:43,560 - __main__ - INFO - Direct LLM parsed 10 ingredients, 6 matched to canonical
2026-06-14 18:21:43,561 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:43,624 - __main__ - WARNING - Couldn't create or find food 'red chili pepper': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:43,625 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:43,700 - __main__ - WARNING - Couldn't create or find food 'coconut milk': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:43,702 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:43,773 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:43,774 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:43,843 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:43,944 - __main__ - INFO - Created new unit: pack (id: 54b394f1-a50e-4a8e-bbe4-f5b8ef6e688d) - added to cache
2026-06-14 18:21:43,945 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:44,152 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:44,153 - automatic_tagger - INFO - 🔍 Analyzing recipe: THAISE CURRY
MET ZOETE AARDAPPEL
2026-06-14 18:21:44,218 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Thai', tags=[]
2026-06-14 18:21:44,285 - automatic_tagger - INFO - 🏷️ Recipe bcefe3e6-56c8-4ef9-b162-86b4574a0edf: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:21:44,304 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:21:44,304 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:21:44,305 - __main__ - INFO - Auto-tagged THAISE CURRY
MET ZOETE AARDAPPEL
🏷️ Auto-tagged THAISE CURRY
MET ZOETE AARDAPPEL
Parsing: 87%|████████▋ | 87/100 [08:19<01:25, 6.54s/it]2026-06-14 18:21:47,321 - __main__ - INFO - Direct LLM parsed 11 ingredients, 7 matched to canonical
2026-06-14 18:21:47,322 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:47,411 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:47,493 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:47,571 - __main__ - WARNING - Couldn't create or find food 'Greek yogurt': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:47,572 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:47,673 - __main__ - WARNING - Couldn't create or find food 'pomegranate seed': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:21:47,674 - __main__ - WARNING - tikka-masala-met-aubergine-en-kikkererwten: accepted 10 ingredients, skipped 1 problematic ones
⚠️ tikka-masala-met-aubergine-en-kikkererwten: accepted 10 ingredients, skipped 1 problematic ones
2026-06-14 18:21:47,674 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:47,879 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:47,879 - automatic_tagger - INFO - 🔍 Analyzing recipe: Tikka masala met aubergine en kikkererwten
2026-06-14 18:21:47,945 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:21:47,995 - automatic_tagger - INFO - 🏷️ Recipe 511d8a56-a84a-46ad-884f-f9940abdb0b3: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:21:48,024 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:21:48,024 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:21:48,025 - __main__ - INFO - Auto-tagged Tikka masala met aubergine en kikkererwten
🏷️ Auto-tagged Tikka masala met aubergine en kikkererwten
Parsing: 88%|████████▊ | 88/100 [08:23<01:08, 5.69s/it]2026-06-14 18:21:48,175 - __main__ - INFO - Re-scraping tikka-masala-met-vegetarische-kipstukjes-en-bloemkoolrijst: 1/9 ingredients appear incomplete
2026-06-14 18:21:48,315 - __main__ - ERROR - Re-scraping failed: HTTP Error 403: Forbidden
2026-06-14 18:21:48,315 - __main__ - ERROR - Extracted data has 1 incomplete entries and re-scraping failed
2026-06-14 18:21:48,315 - __main__ - ERROR - Returning incomplete data - parsing will likely fail
2026-06-14 18:21:52,234 - __main__ - INFO - Direct LLM parsed 9 ingredients, 6 matched to canonical
2026-06-14 18:21:52,236 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:52,315 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:52,451 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:52,522 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:52,703 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:21:52,703 - automatic_tagger - INFO - 🔍 Analyzing recipe: Tikka masala met vegetarische kipstukjes en bloemkoolrijst
2026-06-14 18:21:52,765 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:21:52,822 - automatic_tagger - INFO - 🏷️ Recipe 63c733d3-d354-4817-b97f-6f585b458106: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:21:52,851 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:21:52,851 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:21:52,852 - __main__ - INFO - Auto-tagged Tikka masala met vegetarische kipstukjes en bloemkoolrijst
🏷️ Auto-tagged Tikka masala met vegetarische kipstukjes en bloemkoolrijst
Parsing: 89%|████████▉ | 89/100 [08:27<00:59, 5.43s/it]2026-06-14 18:21:52,987 - __main__ - INFO - Re-scraping tortilla-s-met-zoete-aardappel-avocado-pulled-vega-stukjes: 1/13 ingredients appear incomplete
2026-06-14 18:21:53,050 - __main__ - ERROR - Re-scraping failed: HTTP Error 403: Forbidden
2026-06-14 18:21:53,050 - __main__ - ERROR - Extracted data has 1 incomplete entries and re-scraping failed
2026-06-14 18:21:53,050 - __main__ - ERROR - Returning incomplete data - parsing will likely fail
2026-06-14 18:22:04,930 - __main__ - INFO - Direct LLM parsed 13 ingredients, 13 matched to canonical
2026-06-14 18:22:04,932 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:05,202 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:05,202 - automatic_tagger - INFO - 🔍 Analyzing recipe: Tortilla's met zoete aardappel, avocado & pulled vega stukjes
2026-06-14 18:22:05,286 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:22:05,364 - automatic_tagger - INFO - 🏷️ Recipe 442f5208-703e-40f3-9701-31403cb051fa: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:22:05,388 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:22:05,388 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:22:05,389 - __main__ - INFO - Auto-tagged Tortilla's met zoete aardappel, avocado & pulled vega stukjes
🏷️ Auto-tagged Tortilla's met zoete aardappel, avocado & pulled vega stukjes
Parsing: 90%|█████████ | 90/100 [08:40<01:15, 7.56s/it]2026-06-14 18:22:08,797 - __main__ - INFO - Direct LLM parsed 9 ingredients, 5 matched to canonical
2026-06-14 18:22:08,798 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:08,866 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:08,967 - __main__ - INFO - Created new unit: blikken (id: 871782bb-265a-4102-bbee-9c70557cb32a) - added to cache
2026-06-14 18:22:08,968 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:09,031 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:09,112 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:09,195 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:09,414 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:09,414 - automatic_tagger - INFO - 🔍 Analyzing recipe: Tuna-meltwraps met spitskool en appel
2026-06-14 18:22:09,488 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:22:09,566 - automatic_tagger - INFO - 🏷️ Recipe 3eb3a971-14e4-4caf-89c8-2c2228e17680: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:22:09,567 - __main__ - INFO - Auto-tagged Tuna-meltwraps met spitskool en appel
🏷️ Auto-tagged Tuna-meltwraps met spitskool en appel
Parsing: 91%|█████████ | 91/100 [08:44<00:58, 6.55s/it]2026-06-14 18:22:14,731 - __main__ - INFO - Direct LLM parsed 14 ingredients, 11 matched to canonical
2026-06-14 18:22:14,732 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:14,805 - __main__ - WARNING - Couldn't create or find food 'basil leaf': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:22:14,806 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:14,887 - __main__ - WARNING - Couldn't create or find food 'goat cheese': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:22:14,888 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:14,954 - __main__ - WARNING - Couldn't create or find food 'lemon juice': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:22:14,954 - __main__ - WARNING - uien-met-pompoen-geitenkaas-walnoot: accepted 12 ingredients, skipped 2 problematic ones
⚠️ uien-met-pompoen-geitenkaas-walnoot: accepted 12 ingredients, skipped 2 problematic ones
2026-06-14 18:22:14,955 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:15,173 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:15,173 - automatic_tagger - INFO - 🔍 Analyzing recipe: UIEN MET POMPOEN, GEITENKAAS & WALNOOT
2026-06-14 18:22:15,253 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:22:15,339 - automatic_tagger - INFO - 🏷️ Recipe f119d693-916a-4913-87b5-262b3e6261f0: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:22:15,341 - __main__ - INFO - Auto-tagged UIEN MET POMPOEN, GEITENKAAS & WALNOOT
🏷️ Auto-tagged UIEN MET POMPOEN, GEITENKAAS & WALNOOT
Parsing: 92%|█████████▏| 92/100 [08:50<00:50, 6.32s/it]2026-06-14 18:22:22,171 - __main__ - INFO - Direct LLM parsed 13 ingredients, 11 matched to canonical
2026-06-14 18:22:22,172 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:22,250 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:22:22,252 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:22,335 - __main__ - WARNING - Couldn't create or find food 'spring onion': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:22:22,341 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:22,582 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:22,582 - automatic_tagger - INFO - 🔍 Analyzing recipe: VENKEL & BULGUR MET MOZZARELLA & VIJGEN
2026-06-14 18:22:22,659 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:22:22,724 - automatic_tagger - INFO - 🏷️ Recipe 191c6f1c-1516-4552-bc5e-87fde9337623: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:22:22,724 - __main__ - INFO - Auto-tagged VENKEL & BULGUR MET MOZZARELLA & VIJGEN
🏷️ Auto-tagged VENKEL & BULGUR MET MOZZARELLA & VIJGEN
Parsing: 93%|█████████▎| 93/100 [08:57<00:46, 6.64s/it]2026-06-14 18:22:31,971 - __main__ - INFO - Direct LLM parsed 15 ingredients, 13 matched to canonical
2026-06-14 18:22:31,972 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:32,044 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:32,125 - __main__ - WARNING - Couldn't create or find food 'lemon juice': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:22:32,126 - __main__ - WARNING - warme-wintersalade-met-aardappel-knolselderij-truffel: accepted 14 ingredients, skipped 1 problematic ones
⚠️ warme-wintersalade-met-aardappel-knolselderij-truffel: accepted 14 ingredients, skipped 1 problematic ones
2026-06-14 18:22:32,128 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:32,389 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:32,389 - automatic_tagger - INFO - 🔍 Analyzing recipe: WARME WINTERSALADE MET AARDAPPEL, KNOLSELDERIJ & TRUFFEL
2026-06-14 18:22:32,465 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:22:32,545 - automatic_tagger - INFO - 🏷️ Recipe 1e56f8e8-d64d-490b-809c-3e3e9e6c529c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:22:32,546 - __main__ - INFO - Auto-tagged WARME WINTERSALADE MET AARDAPPEL, KNOLSELDERIJ & TRUFFEL
🏷️ Auto-tagged WARME WINTERSALADE MET AARDAPPEL, KNOLSELDERIJ & TRUFFEL
Parsing: 94%|█████████▍| 94/100 [09:07<00:45, 7.59s/it]2026-06-14 18:22:39,907 - __main__ - INFO - Direct LLM parsed 12 ingredients, 11 matched to canonical
2026-06-14 18:22:39,907 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:40,034 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:40,269 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:40,269 - automatic_tagger - INFO - 🔍 Analyzing recipe: WORTEL-BOERENKOOLFATTOUSH: PITABROOD MET WORTEL, BOERENKOOL & DADELS
2026-06-14 18:22:40,341 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Lebanese', tags=[]
2026-06-14 18:22:40,414 - automatic_tagger - INFO - 🏷️ Recipe edf3b773-d694-4286-8c42-17a6794dff7d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:22:40,431 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:22:40,431 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-06-14 18:22:40,432 - __main__ - INFO - Auto-tagged WORTEL-BOERENKOOLFATTOUSH: PITABROOD MET WORTEL, BOERENKOOL & DADELS
🏷️ Auto-tagged WORTEL-BOERENKOOLFATTOUSH: PITABROOD MET WORTEL, BOERENKOOL & DADELS
Parsing: 95%|█████████▌| 95/100 [09:15<00:38, 7.68s/it]2026-06-14 18:22:45,708 - __main__ - INFO - Direct LLM parsed 15 ingredients, 15 matched to canonical
2026-06-14 18:22:45,709 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:45,900 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:45,900 - automatic_tagger - INFO - 🔍 Analyzing recipe: WORTELGROENTESALADE MET HONING & BLAUWE KAAS
2026-06-14 18:22:46,065 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:22:46,148 - automatic_tagger - INFO - 🏷️ Recipe 9a862034-f8ea-4e8a-bf9a-2f3cd4987860: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:22:46,149 - __main__ - INFO - Auto-tagged WORTELGROENTESALADE MET HONING & BLAUWE KAAS
🏷️ Auto-tagged WORTELGROENTESALADE MET HONING & BLAUWE KAAS
Parsing: 96%|█████████▌| 96/100 [09:21<00:28, 7.09s/it]2026-06-14 18:22:52,040 - __main__ - INFO - Direct LLM parsed 10 ingredients, 8 matched to canonical
2026-06-14 18:22:52,041 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:52,111 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:52,180 - __main__ - WARNING - Couldn't create or find food 'vegetable stock': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:22:52,182 - __main__ - WARNING - zoete-aardappel-in-een-pinda-tomatensaus: accepted 9 ingredients, skipped 1 problematic ones
⚠️ zoete-aardappel-in-een-pinda-tomatensaus: accepted 9 ingredients, skipped 1 problematic ones
2026-06-14 18:22:52,183 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:52,413 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:52,413 - automatic_tagger - INFO - 🔍 Analyzing recipe: ZOETE AARDAPPEL IN EEN PINDA-TOMATENSAUS
2026-06-14 18:22:52,470 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:22:52,537 - automatic_tagger - INFO - 🏷️ Recipe 55147ad9-dbcd-441d-8dcd-0992e9a3bdbc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:22:52,556 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:22:52,556 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:22:52,557 - __main__ - INFO - Auto-tagged ZOETE AARDAPPEL IN EEN PINDA-TOMATENSAUS
🏷️ Auto-tagged ZOETE AARDAPPEL IN EEN PINDA-TOMATENSAUS
Parsing: 97%|█████████▋| 97/100 [09:27<00:20, 6.89s/it]2026-06-14 18:22:56,029 - __main__ - INFO - Direct LLM parsed 11 ingredients, 10 matched to canonical
2026-06-14 18:22:56,030 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:56,092 - __main__ - WARNING - Couldn't create or find food 'lemon juice': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:22:56,093 - __main__ - WARNING - zoete-aardappel-met-mozzarella-uien: accepted 10 ingredients, skipped 1 problematic ones
⚠️ zoete-aardappel-met-mozzarella-uien: accepted 10 ingredients, skipped 1 problematic ones
2026-06-14 18:22:56,095 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:56,327 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:22:56,328 - automatic_tagger - INFO - 🔍 Analyzing recipe: ZOETE AARDAPPEL MET MOZZARELLA & UIEN
2026-06-14 18:22:56,464 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:22:56,533 - automatic_tagger - INFO - 🏷️ Recipe bda1cb0c-58a9-478d-89a2-9f43124771ce: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:22:56,549 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:22:56,549 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:22:56,550 - __main__ - INFO - Auto-tagged ZOETE AARDAPPEL MET MOZZARELLA & UIEN
🏷️ Auto-tagged ZOETE AARDAPPEL MET MOZZARELLA & UIEN
Parsing: 98%|█████████▊| 98/100 [09:31<00:12, 6.02s/it]2026-06-14 18:23:02,785 - __main__ - INFO - Direct LLM parsed 13 ingredients, 12 matched to canonical
2026-06-14 18:23:02,786 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:02,869 - __main__ - WARNING - Couldn't create or find food 'zee zout': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:23:02,870 - __main__ - WARNING - zoete-aardappeltajine-met-pastinaak-dadels: accepted 12 ingredients, skipped 1 problematic ones
⚠️ zoete-aardappeltajine-met-pastinaak-dadels: accepted 12 ingredients, skipped 1 problematic ones
2026-06-14 18:23:02,871 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:03,076 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:03,076 - automatic_tagger - INFO - 🔍 Analyzing recipe: ZOETE-AARDAPPELTAJINE MET PASTINAAK & DADELS
2026-06-14 18:23:03,147 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Moroccan', tags=[]
2026-06-14 18:23:03,225 - automatic_tagger - INFO - 🏷️ Recipe 400390fa-5a9c-44c0-a957-30c661ce064f: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:23:03,248 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:23:03,248 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-06-14 18:23:03,249 - __main__ - INFO - Auto-tagged ZOETE-AARDAPPELTAJINE MET PASTINAAK & DADELS
🏷️ Auto-tagged ZOETE-AARDAPPELTAJINE MET PASTINAAK & DADELS
Parsing: 99%|█████████▉| 99/100 [09:38<00:06, 6.22s/it]2026-06-14 18:23:06,924 - __main__ - INFO - Direct LLM parsed 12 ingredients, 9 matched to canonical
2026-06-14 18:23:06,925 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:06,974 - __main__ - WARNING - Couldn't create or find food 'spring onion': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:23:06,976 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:07,043 - __main__ - WARNING - Couldn't create or find food 'ground cumin': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:23:07,045 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:07,119 - __main__ - WARNING - Couldn't create or find food 'sea salt flakes': [POST] HTTP error: 400 Client Error: Bad Request for url: https://mealie.geevers.net/api/foods
2026-06-14 18:23:07,120 - __main__ - WARNING - zwartebonen-avocado-pindabowls-met-een-vleugje-limoen: accepted 11 ingredients, skipped 1 problematic ones
⚠️ zwartebonen-avocado-pindabowls-met-een-vleugje-limoen: accepted 11 ingredients, skipped 1 problematic ones
2026-06-14 18:23:07,122 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:07,329 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:07,329 - automatic_tagger - INFO - 🔍 Analyzing recipe: ZWARTEBONEN-AVOCADO-PINDABOWLS MET EEN VLEUGJE LIMOEN
2026-06-14 18:23:07,398 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:23:07,464 - automatic_tagger - INFO - 🏷️ Recipe b3a33838-5bc8-423d-b56d-61bab6b610c5: existing_tags=['glutenvrij'], recommended=[], adding=[]
2026-06-14 18:23:07,486 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:23:07,486 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:23:07,487 - __main__ - INFO - Auto-tagged ZWARTEBONEN-AVOCADO-PINDABOWLS MET EEN VLEUGJE LIMOEN
🏷️ Auto-tagged ZWARTEBONEN-AVOCADO-PINDABOWLS MET EEN VLEUGJE LIMOEN
Parsing: 100%|██████████| 100/100 [09:42<00:00, 5.63s/it]
Parsing: 100%|██████████| 100/100 [09:42<00:00, 5.82s/it]
✅ Parsed 100 recipes → data/runtime/parsed_success.log
🔄 Re-indexing 100 parsed recipes...
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 351 vectors
2026-06-14 18:23:07,600 - recipe_rag - INFO - ✅ ANN index loaded with 351 recipes
2026-06-14 18:23:07,600 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:23:14,133 - recipe_rag - INFO - 📚 Batch indexing 100 recipes...
2026-06-14 18:23:14,134 - recipe_rag - INFO - Generating 100 embeddings via OpenRouter API...
2026-06-14 18:24:26,082 - recipe_rag - INFO - ✅ Embeddings generated
✅ USearch index saved to /app/data/recipe_usearch.index
2026-06-14 18:24:26,596 - recipe_rag - INFO - 💾 Saved ANN index with 100 new recipes
2026-06-14 18:24:26,596 - recipe_rag - INFO - ✅ Batch indexed 100/100 recipes
✅ Re-indexed 100/100 recipes
🎉 All done – every recipe ≥ 80% confidence.
✅ Recipe parsing completed
🔄 Step 2: Syncing local database with Mealie...
🔍 Checking RecipeRAG index completeness...
2026-06-14 18:24:26,687 - mealie_client - INFO - MealieClient initialized in API mode
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 451 vectors
2026-06-14 18:24:26,845 - recipe_rag - INFO - ✅ ANN index loaded with 451 recipes
✅ Mealie: 117 recipes, RecipeRAG: 117 indexed
Mealie has 117, local has 117
🔄 Syncing local database with Mealie...
📡 Fetching recipe summaries from Mealie...
2026-06-14 18:24:26,846 - mealie_client - INFO - MealieClient initialized in API mode
Found 117 recipes in Mealie
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 451 vectors
2026-06-14 18:24:26,963 - recipe_rag - INFO - ✅ ANN index loaded with 451 recipes
Found 117 recipes in local DB
✅ All 117 recipes are up to date!
✅ All 117 recipes already up to date
🏷️ Step 3: Tagging untagged recipes...
🏷️ Found 117 untagged recipes, running bulk tagger...
🔍 Validating system for bulk tagging...
2026-06-14 18:24:27,179 - __main__ - INFO - Validating system for bulk tagging
2026-06-14 18:24:27,179 - config - INFO - ============================================================
2026-06-14 18:24:27,179 - config - INFO - 🔍 VALIDATING SYSTEM DEPENDENCIES (WITH HTTP FALLBACKS)...
2026-06-14 18:24:27,179 - config - INFO - ============================================================
2026-06-14 18:24:27,247 - config - INFO - ✅ Mealie connection successful: https://mealie.geevers.net
2026-06-14 18:24:27,429 - config - INFO - ✅ OpenRouter connection successful
2026-06-14 18:24:27,429 - config - INFO - ✅ Using model: openai/gpt-4o-mini
2026-06-14 18:24:27,430 - config - INFO - ============================================================
2026-06-14 18:24:27,431 - config - INFO - ✅ ALL DEPENDENCIES VALIDATED - SYSTEM READY!
2026-06-14 18:24:27,431 - config - INFO - ✅ Mealie: Connected and authenticated
2026-06-14 18:24:27,431 - config - INFO - ✅ OpenRouter: Connected with required model
2026-06-14 18:24:27,431 - config - INFO - ✅ Embeddings: Qwen3-Embedding-8B (OpenRouter API)
2026-06-14 18:24:27,431 - config - INFO - ✅ SYSTEM READY FOR PRODUCTION
2026-06-14 18:24:27,431 - config - INFO - ============================================================
2026-06-14 18:24:27,432 - __main__ - INFO - Found 117 recipes needing cuisine classification
📝 Found 117 recipes needing cuisine classification
2026-06-14 18:24:27,435 - __main__ - INFO - Using configuration: batch_size=13, max_concurrent=10, environment=development
⚙️ Using configuration: batch_size=13, max_concurrent=10
Environment: development
🚀 Auto-confirming bulk tagging of 117 recipes
╭───────────────────────────── Operation Started ──────────────────────────────╮
│ 🚀 Bulk Tagging Recipes - Processing in batches of 13 │
│ 📊 Processing 117 items │
╰──────────────────────────────────────────────────────────────────────────────╯
🔄 Processing batch 1/9 (13 recipes)
2026-06-14 18:24:27,638 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:27,639 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:27,767 - automatic_tagger - INFO - 🔍 Analyzing recipe: AARDAPPEL, ARTISJOK & SPLIJTKOOL MET GEBAKKEN EIEREN
2026-06-14 18:24:27,785 - batch_llm_processor - INFO - 📦 Loaded 400 cache entries from persistent storage
2026-06-14 18:24:27,785 - batch_llm_processor - INFO - 🔄 Using OpenRouter API for chat completions
2026-06-14 18:24:27,785 - batch_llm_processor - INFO - 💡 Enhanced caching provides >90% hit rates for repeated analyses
2026-06-14 18:24:27,785 - batch_llm_processor - INFO - ✅ aiohttp available - concurrent processing enabled
2026-06-14 18:24:27,785 - batch_llm_processor - INFO - 🔄 Preloading cache with 1 common queries...
2026-06-14 18:24:27,803 - batch_llm_processor - INFO - ✅ Cache preloading complete
2026-06-14 18:24:27,803 - batch_llm_processor - INFO - 🍱 Preloaded cache with common shopping refinement patterns
2026-06-14 18:24:27,804 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:27,877 - automatic_tagger - INFO - 🔍 Analyzing recipe: AH Portugese kip piri piri verspakket
2026-06-14 18:24:27,877 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:27,996 - automatic_tagger - INFO - 🔍 Analyzing recipe: AUBERGINE MET TOMATEN, HARISSA & AMANDELEN
2026-06-14 18:24:27,997 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:28,131 - automatic_tagger - INFO - 🔍 Analyzing recipe: AVOCADO'S & ASPERGES MET SINAASAPPEL
2026-06-14 18:24:28,132 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:28,280 - automatic_tagger - INFO - 🔍 Analyzing recipe: BIETJESCURRY MET KIKKERERWTEN & KOKOS
2026-06-14 18:24:28,281 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:28,414 - automatic_tagger - INFO - 🔍 Analyzing recipe: BLOEMKOOL MET KIKKERERWTEN & SPLIJTKOOL
2026-06-14 18:24:28,414 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:28,541 - automatic_tagger - INFO - 🔍 Analyzing recipe: BOERENKOOL-BORLOTTI-MINESTRONE MET DITALINI
2026-06-14 18:24:28,541 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:28,652 - automatic_tagger - INFO - 🔍 Analyzing recipe: BONENCHILI MET AVOCADOSALSA
2026-06-14 18:24:28,652 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:28,739 - automatic_tagger - INFO - 🔍 Analyzing recipe: Baked 'feta' pasta met burrata
2026-06-14 18:24:28,809 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:24:28,856 - automatic_tagger - INFO - 🏷️ Recipe bebc4b6b-1d39-4b50-882d-5667354980e9: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:24:28,877 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:24:28,877 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:28,877 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:28,970 - automatic_tagger - INFO - 🔍 Analyzing recipe: Burrata salade met tomaat – in 10 min. klaar
2026-06-14 18:24:28,971 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:29,100 - automatic_tagger - INFO - 🔍 Analyzing recipe: CANNELLINIBONENFALAFEL MET AARDAPPELPARTJES
2026-06-14 18:24:29,101 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:24:29,182 - automatic_tagger - INFO - 🏷️ Recipe 31e13e6c-fa7d-40f6-8367-8b3977073a7e: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:29,182 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:29,314 - automatic_tagger - INFO - 🔍 Analyzing recipe: CAPONATA: AUBERGINES MET OLIJVEN, KAPPERTJES & TOMATEN
2026-06-14 18:24:33,143 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:24:33,217 - automatic_tagger - INFO - 🏷️ Recipe 0f3fd838-4d5d-4a72-87f1-90425963855c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:33,217 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:33,348 - automatic_tagger - INFO - 🔍 Analyzing recipe: CHIPOTLE-MAIS MET POMPOEN, ZWARTE BONEN & FETA
2026-06-14 18:24:35,003 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Portuguese', tags=[]
2026-06-14 18:24:35,050 - automatic_tagger - INFO - 🏷️ Recipe 75ea1416-5b43-4a2e-b77b-4de316c5b023: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:24:35,050 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:35,328 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:24:35,412 - automatic_tagger - INFO - 🏷️ Recipe 153b5062-3eb5-474b-a111-ba8dc2638c60: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:35,430 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:24:35,513 - automatic_tagger - INFO - 🏷️ Recipe b0e21886-bdc5-4655-b17a-9678b1ee4aa5: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:35,514 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:24:35,552 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:24:35,605 - automatic_tagger - INFO - 🏷️ Recipe 293c203d-437b-4345-82e2-676fd0fcabf0: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:39,070 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:24:39,150 - automatic_tagger - INFO - 🏷️ Recipe 98ab8ff9-f597-401f-bbf8-87d3a5c28e0a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:39,151 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:24:39,238 - automatic_tagger - INFO - 🏷️ Recipe 538c52bc-d4fa-4032-a7a2-9d2003fcaa8d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:39,238 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:39,648 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:24:39,711 - automatic_tagger - INFO - 🏷️ Recipe 57e5ac44-b16e-4d93-b8b0-dd5010e41c61: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:39,712 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:39,712 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Tex-Mex', tags=[]
2026-06-14 18:24:39,777 - automatic_tagger - INFO - 🏷️ Recipe 560c5a65-6665-48da-93c5-161a85fee2db: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:39,777 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:24:43,368 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:24:43,444 - automatic_tagger - INFO - 🏷️ Recipe 3859bc56-88b7-44a5-b4e0-b908cbe7c405: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:43,444 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:24:43,445 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:24:43,527 - automatic_tagger - INFO - 🏷️ Recipe da6b0437-5b06-4029-98df-5949d912f408: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:24:43,527 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
✅ AARDAPPEL, ARTISJOK & SPLIJTKOOL MET GEBAKKEN EIEREN ->
✅ AH Portugese kip piri piri verspakket ->
✅ AUBERGINE MET TOMATEN, HARISSA & AMANDELEN ->
✅ AVOCADO'S & ASPERGES MET SINAASAPPEL ->
✅ BIETJESCURRY MET KIKKERERWTEN & KOKOS ->
✅ BLOEMKOOL MET KIKKERERWTEN & SPLIJTKOOL ->
✅ BOERENKOOL-BORLOTTI-MINESTRONE MET DITALINI ->
✅ BONENCHILI MET AVOCADOSALSA ->
✅ Baked 'feta' pasta met burrata ->
✅ Burrata salade met tomaat – in 10 min. klaar ->
✅ CANNELLINIBONENFALAFEL MET AARDAPPELPARTJES ->
✅ CAPONATA: AUBERGINES MET OLIJVEN, KAPPERTJES & TOMATEN ->
✅ CHIPOTLE-MAIS MET POMPOEN, ZWARTE BONEN & FETA ->
🔄 Processing batch 2/9 (13 recipes)
2026-06-14 18:24:43,529 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:43,530 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:43,655 - automatic_tagger - INFO - 🔍 Analyzing recipe: CREOOLSE CHAMPIGNON-PREITAART
2026-06-14 18:24:43,655 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:43,763 - automatic_tagger - INFO - 🔍 Analyzing recipe: DE MEEST LUXE SNELLE QUICHE: BROCCOLI, BLAUWE KAAS & WALNOOT
2026-06-14 18:24:43,764 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:43,875 - automatic_tagger - INFO - 🔍 Analyzing recipe: EENVOUDIGE DAL MET SJALOTJES & CASHEWNOTEN
2026-06-14 18:24:43,876 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:44,019 - automatic_tagger - INFO - 🔍 Analyzing recipe: ESCALIVADA: PAPRIKA'S, AUBERGINES & TOMATEN
2026-06-14 18:24:44,084 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Spanish', tags=[]
2026-06-14 18:24:44,162 - automatic_tagger - INFO - 🏷️ Recipe 07aac4cd-802f-40ee-a8fe-0109e0f878a6: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:44,182 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:24:44,182 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:44,183 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:44,327 - automatic_tagger - INFO - 🔍 Analyzing recipe: Eenvoudige maaltijdsalade met tonijn
2026-06-14 18:24:44,328 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:24:44,413 - automatic_tagger - INFO - 🏷️ Recipe 2439c30c-db6e-4a56-ad91-0286d8eedfe2: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:24:44,413 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:44,539 - automatic_tagger - INFO - 🔍 Analyzing recipe: FAJITA-PADDENSTOELEN & PAPRIKA MET STILTON
2026-06-14 18:24:44,540 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:44,678 - automatic_tagger - INFO - 🔍 Analyzing recipe: FETA PSITI Gebakken feta uit de oven
2026-06-14 18:24:44,678 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:44,776 - automatic_tagger - INFO - 🔍 Analyzing recipe: Frittata with Tomato & Spring Vegetables: Peas, Asparagus, Ricotta & Fresh Mint
2026-06-14 18:24:44,777 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:44,874 - automatic_tagger - INFO - 🔍 Analyzing recipe: GADOGADO: INDONESISCHE SALADE MET AARDAPPELS, SPERZIEBONEN & PINDADRESSING
2026-06-14 18:24:44,875 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:44,987 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEBAKKEN EIEREN MET BIETJES, KNOLSELDERIJ & FETA
2026-06-14 18:24:44,988 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:45,115 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEBAKKEN SPITSKOOL MET SZECHUAN, SESAM & SHIITAKE
2026-06-14 18:24:45,116 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:45,246 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEBAKKEN UIEN MET KERSTOMATEN & CANNELLINIBONEN
2026-06-14 18:24:48,791 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:24:48,838 - automatic_tagger - INFO - 🏷️ Recipe 7435be3a-a641-4699-93bb-8e0dfbe9ac80: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:48,839 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:24:48,839 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:48,927 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEGRATINEERDE AARDAPPELS & PADDENSTOELEN
2026-06-14 18:24:49,226 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:24:49,322 - automatic_tagger - INFO - 🏷️ Recipe 7d6b9929-cb90-461f-ac74-47dbd62707dd: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:49,323 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:24:49,324 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:24:49,393 - automatic_tagger - INFO - 🏷️ Recipe 919adb09-e93e-442b-b1cb-0c831350e2e9: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:24:49,393 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:49,395 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:24:49,466 - automatic_tagger - INFO - 🏷️ Recipe 584a2727-27f8-4cb8-bccb-3a67c957a43f: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:49,490 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:24:49,563 - automatic_tagger - INFO - 🏷️ Recipe a15bb136-7a4d-4aad-ae73-6afa6bc2b16a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:49,563 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:53,168 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Sichuan', tags=[]
2026-06-14 18:24:53,239 - automatic_tagger - INFO - 🏷️ Recipe d549d56b-5e7e-4f16-9a9a-cc42a185ca6c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:53,239 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:24:53,473 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Greek', tags=[]
2026-06-14 18:24:53,537 - automatic_tagger - INFO - 🏷️ Recipe 115c940a-738b-47af-991f-76fc34d646bf: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:24:53,537 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:53,538 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:24:53,598 - automatic_tagger - INFO - 🏷️ Recipe 53deaa8d-0dfa-4ed6-aa6f-0e1e7cea6c2c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:53,599 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:54,190 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:24:54,266 - automatic_tagger - INFO - 🏷️ Recipe aa764394-0537-4760-8384-06fa84f493ba: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:55,573 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indonesian', tags=[]
2026-06-14 18:24:55,633 - automatic_tagger - INFO - 🏷️ Recipe 4ac32f96-0487-4e43-9360-4769763274d7: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:55,633 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:24:57,661 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:24:57,725 - automatic_tagger - INFO - 🏷️ Recipe 5cbd8bf9-3a4f-4ee2-8718-ae69cf74cd28: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:57,725 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
✅ CREOOLSE CHAMPIGNON-PREITAART ->
✅ DE MEEST LUXE SNELLE QUICHE: BROCCOLI, BLAUWE KAAS & WALNOOT ->
✅ EENVOUDIGE DAL MET SJALOTJES & CASHEWNOTEN ->
✅ ESCALIVADA: PAPRIKA'S, AUBERGINES & TOMATEN ->
✅ Eenvoudige maaltijdsalade met tonijn ->
✅ FAJITA-PADDENSTOELEN & PAPRIKA MET STILTON ->
✅ FETA PSITI Gebakken feta uit de oven ->
✅ Frittata with Tomato & Spring Vegetables: Peas, Asparagus, Ricotta & Fresh Mint ->
✅ GADOGADO: INDONESISCHE SALADE MET AARDAPPELS, SPERZIEBONEN & PINDADRESSING ->
✅ GEBAKKEN EIEREN MET BIETJES, KNOLSELDERIJ & FETA ->
✅ GEBAKKEN SPITSKOOL MET SZECHUAN, SESAM & SHIITAKE ->
✅ GEBAKKEN UIEN MET KERSTOMATEN & CANNELLINIBONEN ->
✅ GEGRATINEERDE AARDAPPELS & PADDENSTOELEN ->
🔄 Processing batch 3/9 (13 recipes)
2026-06-14 18:24:57,727 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:57,727 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:57,839 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEGRATINEERDE AUBERGINE & VENKEL MET GEITENKAAS
2026-06-14 18:24:57,840 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:57,934 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEGRATINEERDE SPRUITJES & ARTISJOK MET BLAUWE KAAS
2026-06-14 18:24:57,935 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:58,044 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEMARINEERDE LIMABONEN & TOMATEN MET PISTACHE-LENTE-UIPESTO
2026-06-14 18:24:58,109 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:24:58,199 - automatic_tagger - INFO - 🏷️ Recipe 05c723ca-a79c-47d9-b2b3-3293e4c58573: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:24:58,199 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:58,327 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEROOKTE TOFU
MET VENKEL, PAKSOI
& SATÉDRESSING
2026-06-14 18:24:58,328 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:58,453 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEVULDE MINIPOMPOENTJES MET SALIE & GEITENKAAS
2026-06-14 18:24:58,454 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:58,561 - automatic_tagger - INFO - 🔍 Analyzing recipe: GEVULDE VENKEL MET CHAMPIGNONS
2026-06-14 18:24:58,561 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:58,651 - automatic_tagger - INFO - 🔍 Analyzing recipe: GNOCCHI MET
PADDENSTOELEN
& POMPOEN
2026-06-14 18:24:58,652 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:24:58,726 - automatic_tagger - INFO - 🏷️ Recipe af51e6f4-c8d4-4bdb-84c0-253add09d3cc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:24:58,741 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:24:58,741 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:58,741 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:58,834 - automatic_tagger - INFO - 🔍 Analyzing recipe: GROENE GROENTEN MET BULGUR & RICOTTA
2026-06-14 18:24:58,834 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:58,928 - automatic_tagger - INFO - 🔍 Analyzing recipe: Gadogado van courgettespaghetti, krokante tempeh & een eitje
2026-06-14 18:24:58,929 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:59,030 - automatic_tagger - INFO - 🔍 Analyzing recipe: Gebakken Aardappelsalade met Pickles
2026-06-14 18:24:59,030 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:59,139 - automatic_tagger - INFO - 🔍 Analyzing recipe: Geroosterde aubergine met ansjovis en oregano
2026-06-14 18:24:59,140 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:59,241 - automatic_tagger - INFO - 🔍 Analyzing recipe: Glutenvrije gevulde courgette met pizzatopping
2026-06-14 18:24:59,242 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:24:59,307 - automatic_tagger - INFO - 🏷️ Recipe 3e600c5b-ad1a-4aee-8e50-25d81e0ef126: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:24:59,307 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:24:59,307 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:24:59,440 - automatic_tagger - INFO - 🔍 Analyzing recipe: Gnocchi pompoen
2026-06-14 18:25:03,240 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:03,331 - automatic_tagger - INFO - 🏷️ Recipe b5258f10-15a0-41f5-8b1f-6372c5ff2639: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:03,332 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:03,407 - automatic_tagger - INFO - 🏷️ Recipe 82cedba3-8f8f-46e3-b4dd-f7f684e832bc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:03,653 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:03,710 - automatic_tagger - INFO - 🏷️ Recipe dc1be927-c8bb-4474-a2fd-52733229d8ec: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:03,710 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:03,711 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indonesian', tags=[]
2026-06-14 18:25:03,775 - automatic_tagger - INFO - 🏷️ Recipe c36a6bf7-21ad-497c-b18b-d55a1b562b63: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:03,775 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:03,775 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:25:03,831 - automatic_tagger - INFO - 🏷️ Recipe afa356cc-baff-49ba-a2e7-3097dfc3aaf1: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:03,831 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:03,831 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:03,878 - automatic_tagger - INFO - 🏷️ Recipe b118865e-28cb-45c4-8634-9b6078144ee3: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:03,897 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:03,943 - automatic_tagger - INFO - 🏷️ Recipe f7620009-98a6-4730-95c3-c76d6944e832: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:03,943 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:04,094 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:04,166 - automatic_tagger - INFO - 🏷️ Recipe 36fe7885-091e-4a2b-8c9d-7262d3e08429: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:04,166 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:04,167 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='British', tags=[]
2026-06-14 18:25:04,239 - automatic_tagger - INFO - 🏷️ Recipe 63d53851-a04d-4b4a-b500-440662e7c51c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:04,239 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:04,240 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:25:04,309 - automatic_tagger - INFO - 🏷️ Recipe 8f084c0b-19d3-4118-ad8a-dbe08e17c46e: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:04,309 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
✅ GEGRATINEERDE AUBERGINE & VENKEL MET GEITENKAAS ->
✅ GEGRATINEERDE SPRUITJES & ARTISJOK MET BLAUWE KAAS ->
✅ GEMARINEERDE LIMABONEN & TOMATEN MET PISTACHE-LENTE-UIPESTO ->
✅ GEROOKTE TOFU
MET VENKEL, PAKSOI
& SATÉDRESSING ->
✅ GEVULDE MINIPOMPOENTJES MET SALIE & GEITENKAAS ->
✅ GEVULDE VENKEL MET CHAMPIGNONS ->
✅ GNOCCHI MET
PADDENSTOELEN
& POMPOEN ->
✅ GROENE GROENTEN MET BULGUR & RICOTTA ->
✅ Gadogado van courgettespaghetti, krokante tempeh & een eitje ->
✅ Gebakken Aardappelsalade met Pickles ->
✅ Geroosterde aubergine met ansjovis en oregano ->
✅ Glutenvrije gevulde courgette met pizzatopping ->
✅ Gnocchi pompoen ->
🔄 Processing batch 4/9 (13 recipes)
2026-06-14 18:25:04,311 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:04,311 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:04,434 - automatic_tagger - INFO - 🔍 Analyzing recipe: Groentestoof met parelcouscous
2026-06-14 18:25:04,434 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:04,539 - automatic_tagger - INFO - 🔍 Analyzing recipe: HARISSA-PREI MET
BIETJES & FETA
2026-06-14 18:25:04,540 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:04,632 - automatic_tagger - INFO - 🔍 Analyzing recipe: HARTIGE TAART VAN COURGETTES, ASPERGES & GEITENKAAS
2026-06-14 18:25:04,632 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:04,733 - automatic_tagger - INFO - 🔍 Analyzing recipe: HELE BLOEMKOOL MET PARELGORT & GRANAATAPPEL
2026-06-14 18:25:04,734 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:04,846 - automatic_tagger - INFO - 🔍 Analyzing recipe: Halloumi Mediterranean Traybake: A Delicious & Easy Recipe
2026-06-14 18:25:04,846 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:04,932 - automatic_tagger - INFO - 🔍 Analyzing recipe: High-Protein Tomato & Basil Salad
2026-06-14 18:25:04,993 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:05,077 - automatic_tagger - INFO - 🏷️ Recipe 92803b5a-1dd7-4ce1-ae5d-92da928003d9: existing_tags=['Easy', 'High Protein', 'Picnic', 'Quick', 'Summer'], recommended=[], adding=[]
2026-06-14 18:25:05,077 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:05,233 - automatic_tagger - INFO - 🔍 Analyzing recipe: KABELJAUW MET BENGAALSE MOSTERD, BLOEMKOOL & DOPERWTEN
2026-06-14 18:25:05,234 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:05,360 - automatic_tagger - INFO - 🔍 Analyzing recipe: KAYANAS - GRIEKSE 'OMELET' MET TOMAAT
2026-06-14 18:25:05,361 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:05,483 - automatic_tagger - INFO - 🔍 Analyzing recipe: KLEEFRIJST MET BROCCOLI & POMPOEN
2026-06-14 18:25:05,484 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:05,602 - automatic_tagger - INFO - 🔍 Analyzing recipe: KNAPPERIGE BLOEMKOOLSCHIJVEN MET HARISSA & GEITENKAAS
2026-06-14 18:25:05,603 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:05,733 - automatic_tagger - INFO - 🔍 Analyzing recipe: KROKANTE GNOCCHI MET PAPRIKA & ROZEMARIJN
2026-06-14 18:25:08,700 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:25:08,768 - automatic_tagger - INFO - 🏷️ Recipe 51466778-eae7-4d92-a960-41424e41be84: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:08,787 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:25:08,787 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:08,787 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:08,890 - automatic_tagger - INFO - 🔍 Analyzing recipe: Kikkererwtenbowl met zoete aardappel, quinoa en spinazie
2026-06-14 18:25:08,892 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Greek', tags=[]
2026-06-14 18:25:08,946 - automatic_tagger - INFO - 🏷️ Recipe 2b0a1465-034f-4c95-9b2c-ca09bb18f159: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:08,946 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:08,946 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:09,084 - automatic_tagger - INFO - 🔍 Analyzing recipe: Kikkerwt-Bloemkool-Kokoscurry
2026-06-14 18:25:09,085 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:09,169 - automatic_tagger - INFO - 🏷️ Recipe e58711e6-6449-4523-8ec8-fbf6916f10fe: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:09,170 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:09,243 - automatic_tagger - INFO - 🏷️ Recipe 4cbed344-4dd9-4f28-8952-7ef1a942e07a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:09,402 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:09,487 - automatic_tagger - INFO - 🏷️ Recipe 31128e60-66bd-449c-8fba-c496f1035a88: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:09,489 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:25:09,571 - automatic_tagger - INFO - 🏷️ Recipe a606aa1e-2173-4bbd-b085-d1ccf67b717a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:09,571 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:09,572 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Moroccan', tags=[]
2026-06-14 18:25:09,663 - automatic_tagger - INFO - 🏷️ Recipe 3fcb8c86-8531-4cab-91be-e455d51c5140: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:09,663 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-06-14 18:25:09,665 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:25:09,737 - automatic_tagger - INFO - 🏷️ Recipe 9e3c5198-e94b-4fae-8604-aa3dcbfe8a42: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:09,737 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:25:09,737 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:09,801 - automatic_tagger - INFO - 🏷️ Recipe a5699ac6-46b8-4538-95b8-2e3cbd75e2cc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:09,801 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:09,924 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:09,991 - automatic_tagger - INFO - 🏷️ Recipe 280c9a42-2aa1-44a7-844b-d2f3ec88d483: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:13,441 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:13,502 - automatic_tagger - INFO - 🏷️ Recipe 1295d961-11a4-4150-b83d-f6e383e906ed: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:13,502 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:13,620 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:13,680 - automatic_tagger - INFO - 🏷️ Recipe 7d9f6818-c956-4ccb-b821-056cbc28dc3b: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:13,680 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
✅ Groentestoof met parelcouscous ->
✅ HARISSA-PREI MET
BIETJES & FETA ->
✅ HARTIGE TAART VAN COURGETTES, ASPERGES & GEITENKAAS ->
✅ HELE BLOEMKOOL MET PARELGORT & GRANAATAPPEL ->
✅ Halloumi Mediterranean Traybake: A Delicious & Easy Recipe ->
✅ High-Protein Tomato & Basil Salad ->
✅ KABELJAUW MET BENGAALSE MOSTERD, BLOEMKOOL & DOPERWTEN ->
✅ KAYANAS - GRIEKSE 'OMELET' MET TOMAAT ->
✅ KLEEFRIJST MET BROCCOLI & POMPOEN ->
✅ KNAPPERIGE BLOEMKOOLSCHIJVEN MET HARISSA & GEITENKAAS ->
✅ KROKANTE GNOCCHI MET PAPRIKA & ROZEMARIJN ->
✅ Kikkererwtenbowl met zoete aardappel, quinoa en spinazie ->
✅ Kikkerwt-Bloemkool-Kokoscurry ->
🔄 Processing batch 5/9 (13 recipes)
2026-06-14 18:25:13,682 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:13,682 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:13,803 - automatic_tagger - INFO - 🔍 Analyzing recipe: Knapperige halloumi met babywortels, cannellinibonen & walnoten
2026-06-14 18:25:13,803 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:13,912 - automatic_tagger - INFO - 🔍 Analyzing recipe: LUNCHTROMMELSALADE: BROCCOLI MET OLIJVEN, TOMATEN & PIJNBOOMPITTEN
2026-06-14 18:25:13,912 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:14,026 - automatic_tagger - INFO - 🔍 Analyzing recipe: Libanese wraps met falafel, witte kaas en gegrilde groenten
2026-06-14 18:25:14,095 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Lebanese', tags=[]
2026-06-14 18:25:14,164 - automatic_tagger - INFO - 🏷️ Recipe 8e25d405-0ee7-4448-bc58-5c469a5889eb: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:14,182 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:25:14,182 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-06-14 18:25:14,183 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:14,314 - automatic_tagger - INFO - 🔍 Analyzing recipe: MAKKELIJKE PANEERCURRY MET SPINAZIE, ROOM & CITROEN
2026-06-14 18:25:14,314 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:14,425 - automatic_tagger - INFO - 🔍 Analyzing recipe: MEDITERRANE COURGETTES MET OLIJVEN & FETA
2026-06-14 18:25:14,426 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:14,543 - automatic_tagger - INFO - 🔍 Analyzing recipe: MILD GEKRUIDE PARELGORT MET TOMAAT, PREI & PIJNBOOMPITTEN
2026-06-14 18:25:14,544 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:14,660 - automatic_tagger - INFO - 🔍 Analyzing recipe: Mapo Tofu met Champignons, Chili & Lente-ui
2026-06-14 18:25:14,661 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:14,752 - automatic_tagger - INFO - 🔍 Analyzing recipe: Miso-aubergines met tofu
2026-06-14 18:25:14,752 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Japanese', tags=[]
2026-06-14 18:25:14,798 - automatic_tagger - INFO - 🏷️ Recipe 8b2d0a4d-e431-4652-bb51-150ad7ac4f2c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:14,798 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:14,798 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:14,889 - automatic_tagger - INFO - 🔍 Analyzing recipe: Noedelsoep met shiitake en paksoi
2026-06-14 18:25:14,889 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:14,998 - automatic_tagger - INFO - 🔍 Analyzing recipe: OKRA-CURRY MET KIKKERERWTEN & AMANDELEN
2026-06-14 18:25:14,998 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:15,116 - automatic_tagger - INFO - 🔍 Analyzing recipe: ORZO MET TOMAAT-LAURIERSAUS
2026-06-14 18:25:15,116 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:15,244 - automatic_tagger - INFO - 🔍 Analyzing recipe: One-Pan Pasta Sauce with Aubergines, Tomatoes, Capers & Pine Nuts
2026-06-14 18:25:17,994 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:18,061 - automatic_tagger - INFO - 🏷️ Recipe 6844633a-dbe5-4221-b09f-a2e07c6626c2: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:18,061 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:18,061 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:18,176 - automatic_tagger - INFO - 🔍 Analyzing recipe: Orzo met edamame en geroosterde aubergine
2026-06-14 18:25:18,226 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:25:18,316 - automatic_tagger - INFO - 🏷️ Recipe 6e2970e7-2311-47e7-91a2-052613514066: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:18,317 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:18,318 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:18,378 - automatic_tagger - INFO - 🏷️ Recipe a421b41b-d33d-4d3d-a817-ef927cd5c9bc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:18,378 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Chinese', tags=[]
2026-06-14 18:25:18,445 - automatic_tagger - INFO - 🏷️ Recipe 240ed546-96db-4f99-90ed-5150c2701700: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:18,445 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:18,544 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Sichuan', tags=[]
2026-06-14 18:25:18,613 - automatic_tagger - INFO - 🏷️ Recipe 2437c9c4-453a-454b-a77f-1cb96c432a5e: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:18,613 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:18,752 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:18,829 - automatic_tagger - INFO - 🏷️ Recipe 15975061-3c7b-4ed2-9f8d-ced145996323: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:19,447 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:19,546 - automatic_tagger - INFO - 🏷️ Recipe 33360d1e-419b-4a52-b4e3-f1000d081c40: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:19,546 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:19,684 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:19,757 - automatic_tagger - INFO - 🏷️ Recipe cc273a87-9e7e-41a1-b966-c200d647ae65: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:19,757 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:25:19,820 - automatic_tagger - INFO - 🏷️ Recipe 3959f28c-0e99-4a16-8ad1-bff12da2a21e: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:19,820 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:19,821 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:19,897 - automatic_tagger - INFO - 🏷️ Recipe f107d314-1e51-4d07-af3b-c76d5ac69e68: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:19,897 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:22,865 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:22,914 - automatic_tagger - INFO - 🏷️ Recipe a53dd594-326f-4ed1-8d2d-7ba3596cf5fb: existing_tags=[], recommended=[], adding=[]
✅ Knapperige halloumi met babywortels, cannellinibonen & walnoten ->
✅ LUNCHTROMMELSALADE: BROCCOLI MET OLIJVEN, TOMATEN & PIJNBOOMPITTEN ->
✅ Libanese wraps met falafel, witte kaas en gegrilde groenten ->
✅ MAKKELIJKE PANEERCURRY MET SPINAZIE, ROOM & CITROEN ->
✅ MEDITERRANE COURGETTES MET OLIJVEN & FETA ->
✅ MILD GEKRUIDE PARELGORT MET TOMAAT, PREI & PIJNBOOMPITTEN ->
✅ Mapo Tofu met Champignons, Chili & Lente-ui ->
✅ Miso-aubergines met tofu ->
✅ Noedelsoep met shiitake en paksoi ->
✅ OKRA-CURRY MET KIKKERERWTEN & AMANDELEN ->
✅ ORZO MET TOMAAT-LAURIERSAUS ->
✅ One-Pan Pasta Sauce with Aubergines, Tomatoes, Capers & Pine Nuts ->
✅ Orzo met edamame en geroosterde aubergine ->
🔄 Processing batch 6/9 (13 recipes)
2026-06-14 18:25:22,915 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:22,916 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:23,160 - automatic_tagger - INFO - 🔍 Analyzing recipe: PADDENSTOELEN IN RODE WIJN MET KAASSCONES
2026-06-14 18:25:23,163 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:23,350 - automatic_tagger - INFO - 🔍 Analyzing recipe: PADDENSTOELEN MET PAKSOI & ASPERGES
2026-06-14 18:25:23,351 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:23,504 - automatic_tagger - INFO - 🔍 Analyzing recipe: PANZANELLA VAN
WATERKERS & PASTINAAK
2026-06-14 18:25:23,505 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:23,624 - automatic_tagger - INFO - 🔍 Analyzing recipe: PANZANELLA VAN TOMAAT, PAPRIKA & ARTISJOK
2026-06-14 18:25:23,625 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:23,728 - automatic_tagger - INFO - 🔍 Analyzing recipe: PARELGORT MET POMPOEN & GRANAATAPPEL
2026-06-14 18:25:23,795 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:23,850 - automatic_tagger - INFO - 🏷️ Recipe 4a1ef27b-1aa7-43e2-acc5-8160590b1d45: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:23,850 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:23,950 - automatic_tagger - INFO - 🔍 Analyzing recipe: PASTA MET PADDENSTOELEN EN KNOFLOOK
2026-06-14 18:25:23,950 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:24,070 - automatic_tagger - INFO - 🔍 Analyzing recipe: PERZISCHE PADDENSTOELEN MET GRANAATAPPEL & WALNOTEN
2026-06-14 18:25:24,071 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:24,197 - automatic_tagger - INFO - 🔍 Analyzing recipe: PITTIGE HARISSA-SPRUITJES & BROCCOLI MET HALLOUMI & SPINAZIE
2026-06-14 18:25:24,198 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:24,354 - automatic_tagger - INFO - 🔍 Analyzing recipe: PITTIGE WORTEL-BONENCURRY
2026-06-14 18:25:24,354 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:24,472 - automatic_tagger - INFO - 🔍 Analyzing recipe: POLENTA MET ZOETE AARDAPPEL & PADDENSTOELEN
2026-06-14 18:25:24,473 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:24,590 - automatic_tagger - INFO - 🔍 Analyzing recipe: POMPOEN MET UIEN, PREI & FETA
2026-06-14 18:25:28,084 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:28,174 - automatic_tagger - INFO - 🏷️ Recipe dbbe83f8-2260-4c4f-9edc-a54791730743: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:28,175 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:28,297 - automatic_tagger - INFO - 🔍 Analyzing recipe: POMPOEN-BLAUWEKAASTAARTJES MET VIJGEN & PECANNOTEN
2026-06-14 18:25:28,299 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:28,355 - automatic_tagger - INFO - 🏷️ Recipe b69d8f07-8356-4a90-b6aa-03ad456ce4f0: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:28,374 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:25:28,374 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:28,375 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:28,498 - automatic_tagger - INFO - 🔍 Analyzing recipe: POMPOENCURRY MET SPINAZIE
2026-06-14 18:25:28,501 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:28,567 - automatic_tagger - INFO - 🏷️ Recipe 7e1b435d-1599-4750-8d63-0ccb691ab12a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:28,568 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:28,615 - automatic_tagger - INFO - 🏷️ Recipe cd35755f-e0e8-40a9-ae16-f43b6aa0092f: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:28,616 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:28,658 - automatic_tagger - INFO - 🏷️ Recipe 6070dffe-55d3-4f52-8857-a7fa5c4102e5: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:28,658 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:28,698 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:28,756 - automatic_tagger - INFO - 🏷️ Recipe 07a9978c-cd10-43af-b793-33242484b24a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:28,756 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:28,757 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Persian', tags=[]
2026-06-14 18:25:28,800 - automatic_tagger - INFO - 🏷️ Recipe 426af290-f7ea-4b6d-8898-c56d79a8ca01: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:28,800 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-06-14 18:25:29,454 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:29,525 - automatic_tagger - INFO - 🏷️ Recipe 9fcf0444-571c-4224-bdff-37432413447a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:29,525 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:29,637 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:25:29,694 - automatic_tagger - INFO - 🏷️ Recipe 5993643c-28b1-454c-9db6-ec937f26c2f8: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:29,694 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:25:30,013 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:30,094 - automatic_tagger - INFO - 🏷️ Recipe 63293145-62a8-4462-ab99-7232697ceef9: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:30,095 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:32,077 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:32,162 - automatic_tagger - INFO - 🏷️ Recipe dd20230f-b394-46c3-b322-ce329de40ffe: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:32,162 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:32,898 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:32,942 - automatic_tagger - INFO - 🏷️ Recipe 508c5229-bc1e-4012-8ee5-5c3539d207bd: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
✅ PADDENSTOELEN IN RODE WIJN MET KAASSCONES ->
✅ PADDENSTOELEN MET PAKSOI & ASPERGES ->
✅ PANZANELLA VAN
WATERKERS & PASTINAAK ->
✅ PANZANELLA VAN TOMAAT, PAPRIKA & ARTISJOK ->
✅ PARELGORT MET POMPOEN & GRANAATAPPEL ->
✅ PASTA MET PADDENSTOELEN EN KNOFLOOK ->
✅ PERZISCHE PADDENSTOELEN MET GRANAATAPPEL & WALNOTEN ->
✅ PITTIGE HARISSA-SPRUITJES & BROCCOLI MET HALLOUMI & SPINAZIE ->
✅ PITTIGE WORTEL-BONENCURRY ->
✅ POLENTA MET ZOETE AARDAPPEL & PADDENSTOELEN ->
✅ POMPOEN MET UIEN, PREI & FETA ->
✅ POMPOEN-BLAUWEKAASTAARTJES MET VIJGEN & PECANNOTEN ->
✅ POMPOENCURRY MET SPINAZIE ->
🔄 Processing batch 7/9 (13 recipes)
2026-06-14 18:25:32,944 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:32,944 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:33,062 - automatic_tagger - INFO - 🔍 Analyzing recipe: PORTOBELLOSTEAKS MET PUREE VAN LIMABONEN
2026-06-14 18:25:33,126 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:33,206 - automatic_tagger - INFO - 🏷️ Recipe da3d796a-b906-4ce2-b1b8-1d134ac6bd8d: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:33,206 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:33,342 - automatic_tagger - INFO - 🔍 Analyzing recipe: PREI-LINZENGRATIN MET EEN KNAPPERIG FETALAAGJE
2026-06-14 18:25:33,343 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:33,459 - automatic_tagger - INFO - 🔍 Analyzing recipe: PREI-ORZOTTO MET ASPERGES, HAZELNOTEN & RUCOLA
2026-06-14 18:25:33,460 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:33,576 - automatic_tagger - INFO - 🔍 Analyzing recipe: PUNTPAPRIKA'S MET
ARTISJOK, OLIJVEN & FETA
2026-06-14 18:25:33,576 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:33,672 - automatic_tagger - INFO - 🔍 Analyzing recipe: Pappardelle with Rose Harissa, Black Olives, and Capers
2026-06-14 18:25:33,672 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:33,763 - automatic_tagger - INFO - 🔍 Analyzing recipe: Pasta met burrata, tomaat en paprika
2026-06-14 18:25:33,763 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:33,859 - automatic_tagger - INFO - 🔍 Analyzing recipe: Pita vegan shoarma met srirachamayo
2026-06-14 18:25:33,860 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:33,959 - automatic_tagger - INFO - 🔍 Analyzing recipe: Pokébowl met meloen, mango en avocado
2026-06-14 18:25:33,959 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:34,099 - automatic_tagger - INFO - 🔍 Analyzing recipe: RATATOUILLE UIT DE OVEN
2026-06-14 18:25:34,100 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:34,260 - automatic_tagger - INFO - 🔍 Analyzing recipe: REGENBOOGTABOULEH MET AVOCADO, RADIJS & GRANAATAPPEL
2026-06-14 18:25:34,261 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:34,345 - automatic_tagger - INFO - 🏷️ Recipe 3489cb96-d4f9-4107-b8cf-1363acb18644: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:34,346 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:38,465 - automatic_tagger - INFO - 🔍 Analyzing recipe: ROOSJESTAART MET PASTINAAK & WORTEL
2026-06-14 18:25:38,466 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:39,485 - automatic_tagger - INFO - 🔍 Analyzing recipe: Rijkgevulde vegan pastasalade
2026-06-14 18:25:42,350 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:42,483 - automatic_tagger - INFO - 🏷️ Recipe c655f903-004d-4f96-bd9c-fe8fbdb70e64: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:42,509 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:25:42,510 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:42,510 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:42,630 - automatic_tagger - INFO - 🔍 Analyzing recipe: Romige gevulde pompoen met geitenkaas en walnoten
2026-06-14 18:25:42,808 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:25:42,872 - automatic_tagger - INFO - 🏷️ Recipe c927e086-ec16-40b1-b6c8-ce0d80310136: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:42,872 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:43,035 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Fusion', tags=[]
2026-06-14 18:25:43,103 - automatic_tagger - INFO - 🏷️ Recipe 9ed6062c-9bbd-4270-bba3-703c1d632020: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:43,103 - automatic_tagger - WARNING - Category 'Fusion' not found in Mealie cache
2026-06-14 18:25:43,142 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Greek', tags=[]
2026-06-14 18:25:43,238 - automatic_tagger - INFO - 🏷️ Recipe 9c16c898-4b4d-48be-896f-47ceae3afe2d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:43,238 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:43,239 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:43,317 - automatic_tagger - INFO - 🏷️ Recipe 397b9eb9-b17b-4d97-afdc-303d1f8b540f: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:43,317 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:43,338 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='British', tags=[]
2026-06-14 18:25:43,419 - automatic_tagger - INFO - 🏷️ Recipe 7ab5a012-4f5d-4907-b0e1-f7c76ef4cc04: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:43,419 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:44,297 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:25:44,381 - automatic_tagger - INFO - 🏷️ Recipe 6f3db45a-53c7-41f3-87c1-4ff9a948fd9b: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:44,382 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:45,532 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:45,608 - automatic_tagger - INFO - 🏷️ Recipe da788da8-f13f-45c1-9832-15d004ef949b: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:46,105 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:46,172 - automatic_tagger - INFO - 🏷️ Recipe 809dec16-a43c-4948-8e32-ff8a00b61184: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:47,100 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Fusion', tags=[]
2026-06-14 18:25:47,172 - automatic_tagger - INFO - 🏷️ Recipe 0cc4990c-f87e-4a5e-a1b7-89dd7a5b29df: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:47,172 - automatic_tagger - WARNING - Category 'Fusion' not found in Mealie cache
2026-06-14 18:25:47,574 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:47,623 - automatic_tagger - INFO - 🏷️ Recipe a47e660e-c350-48db-8e74-0aa58b9d260c: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:47,623 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
✅ PORTOBELLOSTEAKS MET PUREE VAN LIMABONEN ->
✅ PREI-LINZENGRATIN MET EEN KNAPPERIG FETALAAGJE ->
✅ PREI-ORZOTTO MET ASPERGES, HAZELNOTEN & RUCOLA ->
✅ PUNTPAPRIKA'S MET
ARTISJOK, OLIJVEN & FETA ->
✅ Pappardelle with Rose Harissa, Black Olives, and Capers ->
✅ Pasta met burrata, tomaat en paprika ->
✅ Pita vegan shoarma met srirachamayo ->
✅ Pokébowl met meloen, mango en avocado ->
✅ RATATOUILLE UIT DE OVEN ->
✅ REGENBOOGTABOULEH MET AVOCADO, RADIJS & GRANAATAPPEL ->
✅ ROOSJESTAART MET PASTINAAK & WORTEL ->
✅ Rijkgevulde vegan pastasalade ->
✅ Romige gevulde pompoen met geitenkaas en walnoten ->
🔄 Processing batch 8/9 (13 recipes)
2026-06-14 18:25:47,625 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:47,626 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:47,733 - automatic_tagger - INFO - 🔍 Analyzing recipe: Roze aardappelsalade met rodekool & granaatappel
2026-06-14 18:25:47,733 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:47,827 - automatic_tagger - INFO - 🔍 Analyzing recipe: SALADE VAN RODEKOOL MET APPEL, ROZIJNEN &
KNOFLOOKCROUTONS
2026-06-14 18:25:47,827 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:47,930 - automatic_tagger - INFO - 🔍 Analyzing recipe: SALADE VAN WITLOF, RADIJS, ASPERGES & SINAASAPPEL
2026-06-14 18:25:47,931 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:48,073 - automatic_tagger - INFO - 🔍 Analyzing recipe: SNELLE KAAS-SJALOTTENTAART
2026-06-14 18:25:48,074 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:48,195 - automatic_tagger - INFO - 🔍 Analyzing recipe: SNELLE THAISE OKRA MET SHIITAKE & KOKOSMELK
2026-06-14 18:25:48,195 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:48,320 - automatic_tagger - INFO - 🔍 Analyzing recipe: Salade van knapperige boerenkool, bulgur & granaatappel
2026-06-14 18:25:48,404 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:48,495 - automatic_tagger - INFO - 🏷️ Recipe afd9bb45-c541-4249-b2bd-38bc73a89b56: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:48,495 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:48,600 - automatic_tagger - INFO - 🔍 Analyzing recipe: Shakshuka uit de oven: Paprika, tomaten & eieren
2026-06-14 18:25:48,600 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:48,686 - automatic_tagger - INFO - 🔍 Analyzing recipe: Sinaasappel-limaboon-artisjok-olijfsalade met een retro tintje
2026-06-14 18:25:48,686 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:48,774 - automatic_tagger - INFO - 🔍 Analyzing recipe: TAMARINDE-SPRUITJES MET PINDA'S & SJALOTJES
2026-06-14 18:25:48,775 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:48,823 - automatic_tagger - INFO - 🏷️ Recipe 6acec717-6c7d-4787-9388-6aa820b5bbf5: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:48,842 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:25:48,842 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:48,842 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:48,948 - automatic_tagger - INFO - 🔍 Analyzing recipe: TARTE TATIN
MET WORTEL
2026-06-14 18:25:48,948 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:49,077 - automatic_tagger - INFO - 🔍 Analyzing recipe: THAISE CURRY
MET ZOETE AARDAPPEL
2026-06-14 18:25:49,077 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:49,190 - automatic_tagger - INFO - 🔍 Analyzing recipe: Tikka masala met aubergine en kikkererwten
2026-06-14 18:25:52,304 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:25:52,381 - automatic_tagger - INFO - 🏷️ Recipe a5568243-4c1e-4f38-9fa2-6ae5d64f4b14: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:52,381 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:52,381 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:52,494 - automatic_tagger - INFO - 🔍 Analyzing recipe: Tikka masala met vegetarische kipstukjes en bloemkoolrijst
2026-06-14 18:25:52,497 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:25:52,577 - automatic_tagger - INFO - 🏷️ Recipe cfcf8f0b-1e35-472c-9a83-e563af986cda: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:52,577 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:52,579 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:52,646 - automatic_tagger - INFO - 🏷️ Recipe e5d77301-168f-4e92-be40-479fe9d1515d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:52,648 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:52,703 - automatic_tagger - INFO - 🏷️ Recipe 0ad9ef52-51c8-4154-9e19-787de29da5cd: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:52,823 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:52,898 - automatic_tagger - INFO - 🏷️ Recipe df126531-4cc0-4808-9905-7cac83295e9f: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:53,177 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Thai', tags=[]
2026-06-14 18:25:53,260 - automatic_tagger - INFO - 🏷️ Recipe 610e6a99-3b5a-4f79-924d-23c4dcc01438: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:53,260 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:53,395 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:53,481 - automatic_tagger - INFO - 🏷️ Recipe 511d8a56-a84a-46ad-884f-f9940abdb0b3: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:53,481 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:54,361 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:25:54,441 - automatic_tagger - INFO - 🏷️ Recipe 983fb560-f31c-4786-b058-9343cd599b11: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:54,443 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:54,513 - automatic_tagger - INFO - 🏷️ Recipe bcf05a1b-91a5-4fa5-893f-015806a2a42f: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:55,917 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Thai', tags=[]
2026-06-14 18:25:55,964 - automatic_tagger - INFO - 🏷️ Recipe bcefe3e6-56c8-4ef9-b162-86b4574a0edf: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:55,964 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:25:56,862 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:25:56,920 - automatic_tagger - INFO - 🏷️ Recipe 63c733d3-d354-4817-b97f-6f585b458106: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:56,920 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
✅ Roze aardappelsalade met rodekool & granaatappel ->
✅ SALADE VAN RODEKOOL MET APPEL, ROZIJNEN &
KNOFLOOKCROUTONS ->
✅ SALADE VAN WITLOF, RADIJS, ASPERGES & SINAASAPPEL ->
✅ SNELLE KAAS-SJALOTTENTAART ->
✅ SNELLE THAISE OKRA MET SHIITAKE & KOKOSMELK ->
✅ Salade van knapperige boerenkool, bulgur & granaatappel ->
✅ Shakshuka uit de oven: Paprika, tomaten & eieren ->
✅ Sinaasappel-limaboon-artisjok-olijfsalade met een retro tintje ->
✅ TAMARINDE-SPRUITJES MET PINDA'S & SJALOTJES ->
✅ TARTE TATIN
MET WORTEL ->
✅ THAISE CURRY
MET ZOETE AARDAPPEL ->
✅ Tikka masala met aubergine en kikkererwten ->
✅ Tikka masala met vegetarische kipstukjes en bloemkoolrijst ->
🔄 Processing batch 9/9 (13 recipes)
2026-06-14 18:25:56,922 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:56,922 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:57,062 - automatic_tagger - INFO - 🔍 Analyzing recipe: Tortilla's met zoete aardappel, avocado & pulled vega stukjes
2026-06-14 18:25:57,063 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:57,194 - automatic_tagger - INFO - 🔍 Analyzing recipe: Traybake met knolselderij, winterpeen, pesto en witte kaas
2026-06-14 18:25:57,255 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:25:57,315 - automatic_tagger - INFO - 🏷️ Recipe 8f8509cc-2e58-4c28-87e4-9dfedcd560dc: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:25:57,316 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:57,432 - automatic_tagger - INFO - 🔍 Analyzing recipe: Tuna-meltwraps met spitskool en appel
2026-06-14 18:25:57,433 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:57,552 - automatic_tagger - INFO - 🔍 Analyzing recipe: UIEN MET POMPOEN, GEITENKAAS & WALNOOT
2026-06-14 18:25:57,553 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:57,661 - automatic_tagger - INFO - 🔍 Analyzing recipe: VENKEL & BULGUR MET MOZZARELLA & VIJGEN
2026-06-14 18:25:57,662 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:57,762 - automatic_tagger - INFO - 🔍 Analyzing recipe: VOORRAADKASTGERECHT: PASTA MET PAPRIKA, CANNELLINIBONEN & BLAUWE KAAS
2026-06-14 18:25:57,762 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:25:57,811 - automatic_tagger - INFO - 🏷️ Recipe 270170c8-833d-4a00-924a-889c52e8fb09: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:25:57,825 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:25:57,825 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:25:57,826 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:57,927 - automatic_tagger - INFO - 🔍 Analyzing recipe: WARME WINTERSALADE MET AARDAPPEL, KNOLSELDERIJ & TRUFFEL
2026-06-14 18:25:57,928 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:58,043 - automatic_tagger - INFO - 🔍 Analyzing recipe: WORTEL-BOERENKOOLFATTOUSH: PITABROOD MET WORTEL, BOERENKOOL & DADELS
2026-06-14 18:25:58,044 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:58,190 - automatic_tagger - INFO - 🔍 Analyzing recipe: WORTELGROENTESALADE MET HONING & BLAUWE KAAS
2026-06-14 18:25:58,191 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:58,300 - automatic_tagger - INFO - 🔍 Analyzing recipe: ZOETE AARDAPPEL IN EEN PINDA-TOMATENSAUS
2026-06-14 18:25:58,301 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:58,429 - automatic_tagger - INFO - 🔍 Analyzing recipe: ZOETE AARDAPPEL MET MOZZARELLA & UIEN
2026-06-14 18:25:58,430 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:25:58,567 - automatic_tagger - INFO - 🔍 Analyzing recipe: ZOETE-AARDAPPELTAJINE MET PASTINAAK & DADELS
2026-06-14 18:26:01,687 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:26:01,734 - automatic_tagger - INFO - 🏷️ Recipe f119d693-916a-4913-87b5-262b3e6261f0: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:26:01,734 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:26:01,828 - automatic_tagger - INFO - 🔍 Analyzing recipe: ZWARTEBONEN-AVOCADO-PINDABOWLS MET EEN VLEUGJE LIMOEN
2026-06-14 18:26:01,928 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:26:01,985 - automatic_tagger - INFO - 🏷️ Recipe 1e56f8e8-d64d-490b-809c-3e3e9e6c529c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:26:01,986 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:26:02,044 - automatic_tagger - INFO - 🏷️ Recipe 3eb3a971-14e4-4caf-89c8-2c2228e17680: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:26:02,046 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Moroccan', tags=[]
2026-06-14 18:26:02,126 - automatic_tagger - INFO - 🏷️ Recipe 400390fa-5a9c-44c0-a957-30c661ce064f: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:26:02,126 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-06-14 18:26:02,126 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:26:02,197 - automatic_tagger - INFO - 🏷️ Recipe edf3b773-d694-4286-8c42-17a6794dff7d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:26:02,198 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern US', tags=[]
2026-06-14 18:26:02,268 - automatic_tagger - INFO - 🏷️ Recipe 55147ad9-dbcd-441d-8dcd-0992e9a3bdbc: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:26:02,268 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-06-14 18:26:02,269 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:26:02,358 - automatic_tagger - INFO - 🏷️ Recipe 191c6f1c-1516-4552-bc5e-87fde9337623: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:26:02,358 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:26:02,359 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:26:02,426 - automatic_tagger - INFO - 🏷️ Recipe bda1cb0c-58a9-478d-89a2-9f43124771ce: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:26:02,426 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:26:02,427 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:26:02,499 - automatic_tagger - INFO - 🏷️ Recipe 9a862034-f8ea-4e8a-bf9a-2f3cd4987860: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:26:03,208 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:26:03,288 - automatic_tagger - INFO - 🏷️ Recipe 442f5208-703e-40f3-9701-31403cb051fa: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:26:03,288 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:26:05,468 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:26:05,535 - automatic_tagger - INFO - 🏷️ Recipe b3a33838-5bc8-423d-b56d-61bab6b610c5: existing_tags=['glutenvrij'], recommended=[], adding=[]
2026-06-14 18:26:05,535 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
✅ Tortilla's met zoete aardappel, avocado & pulled vega stukjes ->
✅ Traybake met knolselderij, winterpeen, pesto en witte kaas ->
✅ Tuna-meltwraps met spitskool en appel ->
✅ UIEN MET POMPOEN, GEITENKAAS & WALNOOT ->
✅ VENKEL & BULGUR MET MOZZARELLA & VIJGEN ->
✅ VOORRAADKASTGERECHT: PASTA MET PAPRIKA, CANNELLINIBONEN & BLAUWE KAAS ->
✅ WARME WINTERSALADE MET AARDAPPEL, KNOLSELDERIJ & TRUFFEL ->
✅ WORTEL-BOERENKOOLFATTOUSH: PITABROOD MET WORTEL, BOERENKOOL & DADELS ->
✅ WORTELGROENTESALADE MET HONING & BLAUWE KAAS ->
✅ ZOETE AARDAPPEL IN EEN PINDA-TOMATENSAUS ->
✅ ZOETE AARDAPPEL MET MOZZARELLA & UIEN ->
✅ ZOETE-AARDAPPELTAJINE MET PASTINAAK & DADELS ->
✅ ZWARTEBONEN-AVOCADO-PINDABOWLS MET EEN VLEUGJE LIMOEN ->
Progress: 117/117 complete
Completed: 117/117 items in 98.1s
2026-06-14 18:26:05,536 - __main__ - INFO - Bulk tagging complete: 117 successful, 0 failed, 117 total
🏷️ BULK TAGGING COMPLETE
Successfully tagged: 117 recipes
Failed to tag: 0 recipes
Total processed: 117 recipes
✅ Recipes now have cuisine classifications for better meal planning!
🔄 Re-indexing 117 tagged recipes...
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 451 vectors
2026-06-14 18:26:05,551 - recipe_rag - INFO - ✅ ANN index loaded with 451 recipes
2026-06-14 18:26:05,551 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:26:13,797 - recipe_rag - INFO - 📚 Batch indexing 117 recipes...
2026-06-14 18:26:13,798 - recipe_rag - INFO - Generating 117 embeddings via OpenRouter API...
2026-06-14 18:26:20,951 - recipe_rag - INFO - ✅ Embeddings generated
✅ USearch index saved to /app/data/recipe_usearch.index
2026-06-14 18:26:21,686 - recipe_rag - INFO - 💾 Saved ANN index with 117 new recipes
2026-06-14 18:26:21,686 - recipe_rag - INFO - ✅ Batch indexed 117/117 recipes
✅ Re-indexed 117/117 recipes
Run 'python chef_agentic.py' to generate optimized meal plans
✅ Tagging completed
🗃️ Step 4: Database optimization...
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 568 vectors
2026-06-14 18:26:21,792 - recipe_rag - INFO - ✅ ANN index loaded with 568 recipes
✅ Full-text search index rebuilt
🏥 Step 5: Final health check...
2026-06-14 18:26:21,815 - config - INFO - ============================================================
2026-06-14 18:26:21,815 - config - INFO - 🔍 VALIDATING SYSTEM DEPENDENCIES (WITH HTTP FALLBACKS)...
2026-06-14 18:26:21,815 - config - INFO - ============================================================
2026-06-14 18:26:21,877 - config - INFO - ✅ Mealie connection successful: https://mealie.geevers.net
2026-06-14 18:26:22,032 - config - INFO - ✅ OpenRouter connection successful
2026-06-14 18:26:22,032 - config - INFO - ✅ Using model: openai/gpt-4o-mini
2026-06-14 18:26:22,034 - config - INFO - ============================================================
2026-06-14 18:26:22,034 - config - INFO - ✅ ALL DEPENDENCIES VALIDATED - SYSTEM READY!
2026-06-14 18:26:22,034 - config - INFO - ✅ Mealie: Connected and authenticated
2026-06-14 18:26:22,034 - config - INFO - ✅ OpenRouter: Connected with required model
2026-06-14 18:26:22,034 - config - INFO - ✅ Embeddings: Qwen3-Embedding-8B (OpenRouter API)
2026-06-14 18:26:22,034 - config - INFO - ✅ SYSTEM READY FOR PRODUCTION
2026-06-14 18:26:22,034 - config - INFO - ============================================================
✅ System health check passed
==================================================
🎉 Maintenance completed successfully!
------------------------------------------------------------
✅ Completed successfully