Repair & Optimize

2026-06-14 18:04

cancelled
$ 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:04:19,050 - 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:04:19,063 - 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:04:19,069 - recipe_rag - INFO - ✅ ANN index loaded with 351 recipes
✅ Found 100 recipes needing parsing
🚀 Parsing 100 recipes...
🔍 Validating Mealie connection...
2026-06-14 18:04:19,583 - config - INFO - ✅ Mealie connection successful: https://mealie.geevers.net
2026-06-14 18:04:19,755 - 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:04:19,764 - 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:04:19,765 - mealie_client - INFO - MealieClient initialized in API mode
Parsing: 0%| | 0/100 [00:00<?, ?it/s]2026-06-14 18:04:27,232 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:28,851 - __main__ - INFO - Loaded 2784 canonical foods from Mealie
2026-06-14 18:04:28,854 - __main__ - INFO - Direct LLM parsed 10 ingredients, 10 matched to canonical
2026-06-14 18:04:28,854 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:28,942 - __main__ - INFO - Loaded 47 canonical units from Mealie
Parsing: 0%| | 0/100 [00:09<?, ?it/s]
Traceback (most recent call last):
File "/app/mealie_parse.py", line 1847, in <module>
asyncio.run(main(conf_thresh=args.conf,
File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/app/mealie_parse.py", line 1671, in main
patch_recipe(slug, new_list)
File "/app/mealie_parse.py", line 1274, in patch_recipe
(DATA_DIR / "runtime" / "last_payload.json").write_text(json.dumps(payload, indent=2))
File "/usr/local/lib/python3.11/pathlib.py", line 1078, in write_text
with self.open(mode='w', encoding=encoding, errors=errors, newline=newline) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/pathlib.py", line 1044, in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/app/data/runtime/last_payload.json'
2026-06-14 18:04:29,040 - __main__ - WARNING - ⚠️ Recipe parsing had issues
⚠️ Recipe parsing had issues
🔄 Step 2: Syncing local database with Mealie...
🔍 Checking RecipeRAG index completeness...
2026-06-14 18:04:29,043 - 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 351 vectors
2026-06-14 18:04:29,195 - recipe_rag - INFO - ✅ ANN index loaded with 351 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:04:29,196 - 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 351 vectors
2026-06-14 18:04:29,343 - recipe_rag - INFO - ✅ ANN index loaded with 351 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:04:29,565 - __main__ - INFO - Validating system for bulk tagging
2026-06-14 18:04:29,565 - config - INFO - ============================================================
2026-06-14 18:04:29,565 - config - INFO - 🔍 VALIDATING SYSTEM DEPENDENCIES (WITH HTTP FALLBACKS)...
2026-06-14 18:04:29,565 - config - INFO - ============================================================
2026-06-14 18:04:29,698 - config - INFO - ✅ Mealie connection successful: https://mealie.geevers.net
2026-06-14 18:04:29,837 - config - INFO - ✅ OpenRouter connection successful
2026-06-14 18:04:29,838 - config - INFO - ✅ Using model: openai/gpt-4o-mini
2026-06-14 18:04:29,838 - config - INFO - ============================================================
2026-06-14 18:04:29,839 - config - INFO - ✅ ALL DEPENDENCIES VALIDATED - SYSTEM READY!
2026-06-14 18:04:29,839 - config - INFO - ✅ Mealie: Connected and authenticated
2026-06-14 18:04:29,839 - config - INFO - ✅ OpenRouter: Connected with required model
2026-06-14 18:04:29,839 - config - INFO - ✅ Embeddings: Qwen3-Embedding-8B (OpenRouter API)
2026-06-14 18:04:29,839 - config - INFO - ✅ SYSTEM READY FOR PRODUCTION
2026-06-14 18:04:29,839 - config - INFO - ============================================================
2026-06-14 18:04:29,842 - __main__ - INFO - Found 117 recipes needing cuisine classification
📝 Found 117 recipes needing cuisine classification
2026-06-14 18:04:29,843 - __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:04:29,994 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:29,995 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:30,087 - automatic_tagger - INFO - 🔍 Analyzing recipe: AARDAPPEL, ARTISJOK & SPLIJTKOOL MET GEBAKKEN EIEREN
2026-06-14 18:04:30,099 - batch_llm_processor - INFO - 📦 Loaded 300 cache entries from persistent storage
2026-06-14 18:04:30,100 - batch_llm_processor - INFO - 🔄 Using OpenRouter API for chat completions
2026-06-14 18:04:30,100 - batch_llm_processor - INFO - 💡 Enhanced caching provides >90% hit rates for repeated analyses
2026-06-14 18:04:30,100 - batch_llm_processor - INFO - ✅ aiohttp available - concurrent processing enabled
2026-06-14 18:04:30,100 - batch_llm_processor - INFO - 🔄 Preloading cache with 1 common queries...
2026-06-14 18:04:30,109 - batch_llm_processor - INFO - ✅ Cache preloading complete
2026-06-14 18:04:30,110 - batch_llm_processor - INFO - 🍱 Preloaded cache with common shopping refinement patterns
2026-06-14 18:04:30,231 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='European', tags=[]
2026-06-14 18:04:30,282 - automatic_tagger - INFO - 🏷️ Recipe 153b5062-3eb5-474b-a111-ba8dc2638c60: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:30,283 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:30,381 - automatic_tagger - INFO - 🔍 Analyzing recipe: AH Portugese kip piri piri verspakket
2026-06-14 18:04:30,381 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Portuguese', tags=[]
2026-06-14 18:04:30,422 - automatic_tagger - INFO - 🏷️ Recipe 75ea1416-5b43-4a2e-b77b-4de316c5b023: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:04:30,446 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:04:30,447 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:30,447 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:30,559 - automatic_tagger - INFO - 🔍 Analyzing recipe: AUBERGINE MET TOMATEN, HARISSA & AMANDELEN
2026-06-14 18:04:30,559 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:04:30,590 - automatic_tagger - INFO - 🏷️ Recipe 293c203d-437b-4345-82e2-676fd0fcabf0: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:30,590 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:30,680 - automatic_tagger - INFO - 🔍 Analyzing recipe: AVOCADO'S & ASPERGES MET SINAASAPPEL
2026-06-14 18:04:30,681 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:04:30,709 - automatic_tagger - INFO - 🏷️ Recipe 0f3fd838-4d5d-4a72-87f1-90425963855c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:30,709 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:30,792 - automatic_tagger - INFO - 🔍 Analyzing recipe: BIETJESCURRY MET KIKKERERWTEN & KOKOS
2026-06-14 18:04:30,793 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:04:30,827 - automatic_tagger - INFO - 🏷️ Recipe b0e21886-bdc5-4655-b17a-9678b1ee4aa5: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:30,827 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:04:30,827 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:31,041 - automatic_tagger - INFO - 🔍 Analyzing recipe: BLOEMKOOL MET KIKKERERWTEN & SPLIJTKOOL
2026-06-14 18:04:31,044 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:04:31,093 - automatic_tagger - INFO - 🏷️ Recipe 98ab8ff9-f597-401f-bbf8-87d3a5c28e0a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:31,093 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:31,196 - automatic_tagger - INFO - 🔍 Analyzing recipe: BOERENKOOL-BORLOTTI-MINESTRONE MET DITALINI
2026-06-14 18:04:31,197 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:04:31,241 - automatic_tagger - INFO - 🏷️ Recipe 538c52bc-d4fa-4032-a7a2-9d2003fcaa8d: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:31,241 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:31,241 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:31,349 - automatic_tagger - INFO - 🔍 Analyzing recipe: BONENCHILI MET AVOCADOSALSA
2026-06-14 18:04:31,351 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:04:31,404 - automatic_tagger - INFO - 🏷️ Recipe 560c5a65-6665-48da-93c5-161a85fee2db: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:31,405 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:04:31,406 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:31,531 - automatic_tagger - INFO - 🔍 Analyzing recipe: Baked 'feta' pasta met burrata
2026-06-14 18:04:31,532 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:04:31,603 - automatic_tagger - INFO - 🏷️ Recipe bebc4b6b-1d39-4b50-882d-5667354980e9: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:04:31,603 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:31,604 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:31,710 - automatic_tagger - INFO - 🔍 Analyzing recipe: Burrata salade met tomaat – in 10 min. klaar
2026-06-14 18:04:31,711 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=[]
2026-06-14 18:04:31,757 - automatic_tagger - INFO - 🏷️ Recipe da6b0437-5b06-4029-98df-5949d912f408: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:04:31,757 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:31,757 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:31,883 - automatic_tagger - INFO - 🔍 Analyzing recipe: CANNELLINIBONENFALAFEL MET AARDAPPELPARTJES
2026-06-14 18:04:31,883 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:04:31,955 - automatic_tagger - INFO - 🏷️ Recipe 31e13e6c-fa7d-40f6-8367-8b3977073a7e: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:31,955 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:32,066 - automatic_tagger - INFO - 🔍 Analyzing recipe: CAPONATA: AUBERGINES MET OLIJVEN, KAPPERTJES & TOMATEN
2026-06-14 18:04:32,067 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Southern Italian', tags=[]
2026-06-14 18:04:32,123 - automatic_tagger - INFO - 🏷️ Recipe 57e5ac44-b16e-4d93-b8b0-dd5010e41c61: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:32,123 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:32,124 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:32,230 - automatic_tagger - INFO - 🔍 Analyzing recipe: CHIPOTLE-MAIS MET POMPOEN, ZWARTE BONEN & FETA
2026-06-14 18:04:32,231 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:04:32,282 - automatic_tagger - INFO - 🏷️ Recipe 3859bc56-88b7-44a5-b4e0-b908cbe7c405: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:32,283 - automatic_tagger - WARNING - Category 'Latin American' 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:04:32,284 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:32,285 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:32,400 - automatic_tagger - INFO - 🔍 Analyzing recipe: CREOOLSE CHAMPIGNON-PREITAART
2026-06-14 18:04:32,508 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:04:32,553 - automatic_tagger - INFO - 🏷️ Recipe 53deaa8d-0dfa-4ed6-aa6f-0e1e7cea6c2c: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:32,582 - automatic_tagger - INFO - 📋 Loaded 1 categories from Mealie
2026-06-14 18:04:32,582 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:32,582 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:32,684 - automatic_tagger - INFO - 🔍 Analyzing recipe: DE MEEST LUXE SNELLE QUICHE: BROCCOLI, BLAUWE KAAS & WALNOOT
2026-06-14 18:04:32,685 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=[]
2026-06-14 18:04:32,731 - automatic_tagger - INFO - 🏷️ Recipe a15bb136-7a4d-4aad-ae73-6afa6bc2b16a: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:32,731 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:32,731 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:32,833 - automatic_tagger - INFO - 🔍 Analyzing recipe: EENVOUDIGE DAL MET SJALOTJES & CASHEWNOTEN
2026-06-14 18:04:32,833 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Indian', tags=[]
2026-06-14 18:04:32,865 - automatic_tagger - INFO - 🏷️ Recipe 7d6b9929-cb90-461f-ac74-47dbd62707dd: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:32,865 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-06-14 18:04:32,866 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:33,002 - automatic_tagger - INFO - 🔍 Analyzing recipe: ESCALIVADA: PAPRIKA'S, AUBERGINES & TOMATEN
2026-06-14 18:04:33,003 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Spanish', tags=[]
2026-06-14 18:04:33,095 - automatic_tagger - INFO - 🏷️ Recipe 07aac4cd-802f-40ee-a8fe-0109e0f878a6: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:33,095 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:33,095 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:33,234 - automatic_tagger - INFO - 🔍 Analyzing recipe: Eenvoudige maaltijdsalade met tonijn
2026-06-14 18:04:33,235 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mediterranean', tags=[]
2026-06-14 18:04:33,318 - automatic_tagger - INFO - 🏷️ Recipe 2439c30c-db6e-4a56-ad91-0286d8eedfe2: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:04:33,319 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:33,436 - automatic_tagger - INFO - 🔍 Analyzing recipe: FAJITA-PADDENSTOELEN & PAPRIKA MET STILTON
2026-06-14 18:04:33,437 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Mexican', tags=[]
2026-06-14 18:04:33,494 - automatic_tagger - INFO - 🏷️ Recipe 7435be3a-a641-4699-93bb-8e0dfbe9ac80: existing_tags=['De Groene Bakplaat'], recommended=[], adding=[]
2026-06-14 18:04:33,494 - automatic_tagger - WARNING - Category 'Latin American' not found in Mealie cache
2026-06-14 18:04:33,495 - mealie_client - INFO - MealieClient initialized in API mode
2026-06-14 18:04:33,601 - automatic_tagger - INFO - 🔍 Analyzing recipe: FETA PSITI Gebakken feta uit de oven
2026-06-14 18:04:33,602 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Greek', tags=[]
2026-06-14 18:04:33,654 - automatic_tagger - INFO - 🏷️ Recipe 115c940a-738b-47af-991f-76fc34d646bf: existing_tags=[], recommended=[], adding=[]
2026-06-14 18:04:33,654 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-06-14 18:04:33,654 - mealie_client - INFO - MealieClient initialized in API mode
============================================================
🛑 Cancelling job...
2026-06-14 18:04:33,762 - automatic_tagger - INFO - 🔍 Analyzing recipe: Frittata with Tomato & Spring Vegetables: Peas, Asparagus, Ricotta & Fresh Mint
🛑 Job cancelled

Error

Cancelled by user

Back