$ python test_import.py https://www.recipetineats.com --count=10 --job-id=407d71c1-13c0-40f1-ad02-68906a5c7281 --new-count=1700
Working directory: /app
------------------------------------------------------------
📡 Fetching recipe URLs from sitemap...
Trying: https://www.recipetineats.com/sitemap.xml
Found sitemap index with 8 sitemaps
Processing: https://www.recipetineats.com/post-sitemap.xml
Processing: https://www.recipetineats.com/post-sitemap2.xml
Processing: https://www.recipetineats.com/post-sitemap3.xml
Processing: https://www.recipetineats.com/post-sitemap4.xml
Found 1700 total recipes
📋 Checking for existing recipes...
Checking existing recipes in Mealie...
2026-08-14 16:09:30,712 - mealie_client - INFO - MealieClient initialized in API mode
Found 0 existing recipes
1700 new recipes available (deduplicated)
============================================================
TEST IMPORT: 10 recipes (batched pipeline)
============================================================
2026-08-14 16:09:30,731 - mealie_client - INFO - MealieClient initialized in API mode
🔍 Checking existing recipes for duplicates (Mealie API)...
✅ Found 0 existing recipe URLs in Mealie
📥 Importing 10 new recipes in batches of 10
==================================================
BATCH 1/1 (10 recipes)
==================================================
📥 Phase 1: Importing...
Polling report d35d185b-ca5c-453d-ad02-9acaf9942e22...
[1] Status: in-progress | 0/10 succeeded | 0s elapsed
[2] Status: in-progress | 0/10 succeeded | 1s elapsed
[3] Status: in-progress | 0/10 succeeded | 3s elapsed
[4] Status: in-progress | 0/10 succeeded | 4s elapsed
[5] Status: in-progress | 0/10 succeeded | 5s elapsed
[6] Status: in-progress | 0/10 succeeded | 6s elapsed
[7] Status: in-progress | 0/10 succeeded | 7s elapsed
[8] Status: in-progress | 0/10 succeeded | 8s elapsed
[9] Status: in-progress | 0/10 succeeded | 9s elapsed
[10] Status: in-progress | 0/10 succeeded | 10s elapsed
[11] Status: success | 10/10 succeeded | 12s elapsed
2026-08-14 16:09:42,524 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:42,538 - bulk_import_smart - INFO - Looked up 10/10 recipes by URL
✅ Imported 10 recipes
🔍 Phase 2: Parsing ingredients...
2026-08-14 16:09:42,538 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:42,560 - mealie_parse - INFO - Re-scraping cheesy-potato-gratin-stacks-muffin-tin: 1/10 ingredients appear incomplete
2026-08-14 16:09:43,711 - mealie_parse - INFO - ✅ Merged ingredients: replaced 1/10 incomplete entries
2026-08-14 16:09:47,722 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:48,544 - mealie_parse - INFO - Loaded 2693 canonical foods from Mealie
2026-08-14 16:09:48,545 - mealie_parse - INFO - Direct LLM parsed 10 ingredients, 10 matched to canonical
2026-08-14 16:09:48,545 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:48,566 - mealie_parse - INFO - Loaded 40 canonical units from Mealie
2026-08-14 16:09:48,566 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:48,666 - mealie_parse - INFO - Successfully parsed cheesy-potato-gratin-stacks-muffin-tin: 10 ingredients, 0 skipped
✅ Parsed: cheesy-potato-gratin-stacks-muffin-tin
2026-08-14 16:09:48,667 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:52,843 - mealie_parse - INFO - Direct LLM parsed 15 ingredients, 15 matched to canonical
2026-08-14 16:09:52,843 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:52,890 - mealie_parse - INFO - Created new unit: milliliter (id: e8d00406-2801-48a0-ac4a-221e9a3b5e67) - added to cache
2026-08-14 16:09:52,891 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:52,989 - mealie_parse - INFO - Successfully parsed lamingtons: 15 ingredients, 0 skipped
✅ Parsed: lamingtons
2026-08-14 16:09:52,990 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:57,557 - mealie_parse - INFO - Direct LLM parsed 7 ingredients, 7 matched to canonical
2026-08-14 16:09:57,558 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:09:57,633 - mealie_parse - INFO - Successfully parsed cuban-pork-sandwich-cubanos-from-chef-movie: 7 ingredients, 0 skipped
✅ Parsed: cuban-pork-sandwich-cubanos-from-chef-movie
2026-08-14 16:09:57,634 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:01,942 - mealie_parse - INFO - Direct LLM parsed 14 ingredients, 13 matched to canonical
2026-08-14 16:10:01,944 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:01,969 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:02,095 - mealie_parse - INFO - Successfully parsed rice-pilaf-with-nuts-and-dried-fruit: 14 ingredients, 0 skipped
✅ Parsed: rice-pilaf-with-nuts-and-dried-fruit
2026-08-14 16:10:02,095 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:05,552 - mealie_parse - INFO - Direct LLM parsed 10 ingredients, 10 matched to canonical
2026-08-14 16:10:05,553 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:05,635 - mealie_parse - INFO - Successfully parsed bacon-wrapped-chicken: 10 ingredients, 0 skipped
✅ Parsed: bacon-wrapped-chicken
2026-08-14 16:10:05,635 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:11,988 - mealie_parse - INFO - Direct LLM parsed 16 ingredients, 14 matched to canonical
2026-08-14 16:10:11,989 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:12,012 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:12,029 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:12,068 - mealie_parse - INFO - Created new unit: quarter cup (id: f3f7835a-b29c-4dfc-973b-a40bcfb0a76d) - added to cache
2026-08-14 16:10:12,069 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:12,173 - mealie_parse - INFO - Successfully parsed blueberry-custard-cake: 16 ingredients, 0 skipped
✅ Parsed: blueberry-custard-cake
2026-08-14 16:10:12,173 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:12,198 - mealie_parse - INFO - Re-scraping spinach-ricotta-cannelloni: 1/26 ingredients appear incomplete
2026-08-14 16:10:13,296 - mealie_parse - INFO - ✅ Merged ingredients: replaced 1/26 incomplete entries
2026-08-14 16:10:29,439 - mealie_parse - INFO - Direct LLM parsed 26 ingredients, 21 matched to canonical
2026-08-14 16:10:29,440 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:29,461 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:29,479 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:29,520 - mealie_parse - INFO - Created new unit: large clove (id: 5a9fed83-88a4-4813-8e22-e917fe4b3355) - added to cache
2026-08-14 16:10:29,520 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:29,542 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:29,563 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:29,581 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:29,692 - mealie_parse - INFO - Successfully parsed spinach-ricotta-cannelloni: 26 ingredients, 0 skipped
✅ Parsed: spinach-ricotta-cannelloni
2026-08-14 16:10:29,692 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:38,394 - mealie_parse - INFO - Direct LLM parsed 11 ingredients, 11 matched to canonical
2026-08-14 16:10:38,396 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:38,504 - mealie_parse - INFO - Successfully parsed easter-cake: 11 ingredients, 0 skipped
✅ Parsed: easter-cake
2026-08-14 16:10:38,505 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:39,421 - mealie_parse - WARNING - LLM returned 0 ingredients, expected 1
2026-08-14 16:10:39,423 - mealie_parse - ERROR - ❌ LLM parsing failed - SKIPPING RECIPE to maintain 100% quality
2026-08-14 16:10:39,423 - mealie_parse - ERROR - This recipe will remain unparsed rather than use unreliable NLP fallback
2026-08-14 16:10:39,423 - mealie_parse - ERROR - Parsing failed for pork-carnitas-series - LLM parsing unsuccessful
❌ Parse failed: pork-carnitas-series
2026-08-14 16:10:39,423 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:46,715 - mealie_parse - INFO - Direct LLM parsed 14 ingredients, 13 matched to canonical
2026-08-14 16:10:46,716 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:46,736 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:46,828 - mealie_parse - INFO - Successfully parsed drunken-noodles-pad-kee-mao: 14 ingredients, 0 skipped
✅ Parsed: drunken-noodles-pad-kee-mao
⚠️ 1 recipes failed parsing - skipping from pipeline
2026-08-14 16:10:46,829 - mealie_client - INFO - MealieClient initialized in API mode
🗑️ Deleted failed recipe: pork-carnitas-series
2026-08-14 16:10:46,878 - bulk_import_smart - INFO - Deleted failed recipe pork-carnitas-series from Mealie
🏷️ Phase 3: Tagging...
2026-08-14 16:10:46,879 - mealie_client - INFO - MealieClient initialized in API mode
2026-08-14 16:10:47,098 - automatic_tagger - INFO - 🔍 Analyzing recipe: Cheesy Potato Gratin Stacks (Muffin Tin)
2026-08-14 16:10:47,100 - batch_llm_processor - INFO - 🔄 Using OpenRouter API for chat completions
2026-08-14 16:10:47,100 - batch_llm_processor - INFO - 💡 Enhanced caching provides >90% hit rates for repeated analyses
2026-08-14 16:10:47,100 - batch_llm_processor - INFO - ✅ aiohttp available - concurrent processing enabled
2026-08-14 16:10:47,100 - batch_llm_processor - INFO - 🔄 Preloading cache with 1 common queries...
2026-08-14 16:10:47,100 - batch_llm_processor - INFO - ✅ Cache preloading complete
2026-08-14 16:10:47,100 - batch_llm_processor - INFO - 🍱 Preloaded cache with common shopping refinement patterns
2026-08-14 16:10:51,401 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='French', tags=['French Cuisine']
2026-08-14 16:10:51,403 - automatic_tagger - INFO - 🏷️ Recipe 7fce6cab-31ac-4716-81c6-2614163e1b3b: existing_tags=[], recommended=['French Cuisine'], adding=['French Cuisine']
2026-08-14 16:10:51,529 - automatic_tagger - INFO - ✅ Successfully updated recipe cheesy-potato-gratin-stacks-muffin-tin with 1 new tags
2026-08-14 16:10:51,531 - automatic_tagger - INFO - 🔄 Updating local database for recipe 7fce6cab-31ac-4716-81c6-2614163e1b3b with tags: ['French Cuisine']
2026-08-14 16:10:51,531 - automatic_tagger - INFO - ✅ Updated local database: recipe 7fce6cab-31ac-4716-81c6-2614163e1b3b cuisine set to 'French'
2026-08-14 16:10:51,545 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:10:51,545 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-08-14 16:10:51,545 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Cheesy Potato Gratin Stacks (Muffin Tin) with 1 tags
✅ Tagged: Cheesy Potato Gratin Stacks (Muffin Tin)
2026-08-14 16:10:51,591 - automatic_tagger - INFO - 🔍 Analyzing recipe: Lamingtons
2026-08-14 16:10:55,956 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Australian', tags=['Australian Cuisine']
2026-08-14 16:10:55,958 - automatic_tagger - INFO - 🏷️ Recipe 25bd579d-4685-400f-a710-266148c735c0: existing_tags=[], recommended=['Australian Cuisine'], adding=['Australian Cuisine']
2026-08-14 16:10:56,124 - automatic_tagger - INFO - ✅ Successfully updated recipe lamingtons with 1 new tags
2026-08-14 16:10:56,125 - automatic_tagger - INFO - 🔄 Updating local database for recipe 25bd579d-4685-400f-a710-266148c735c0 with tags: ['Australian Cuisine']
2026-08-14 16:10:56,126 - automatic_tagger - INFO - ✅ Updated local database: recipe 25bd579d-4685-400f-a710-266148c735c0 cuisine set to 'Australian'
2026-08-14 16:10:56,137 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:10:56,137 - automatic_tagger - WARNING - Category 'Fusion' not found in Mealie cache
2026-08-14 16:10:56,138 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Lamingtons with 1 tags
✅ Tagged: Lamingtons
2026-08-14 16:10:56,166 - automatic_tagger - INFO - 🔍 Analyzing recipe: Cuban Pork Sandwich (Cubanos) from Chef Movie
2026-08-14 16:11:00,940 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Cajun', tags=['Cajun Cuisine', 'American Cuisine']
2026-08-14 16:11:00,941 - automatic_tagger - INFO - 🏷️ Recipe 67e17387-2300-47c0-9d2e-06077334fe2f: existing_tags=[], recommended=['Cajun Cuisine', 'American Cuisine'], adding=['Cajun Cuisine', 'American Cuisine']
2026-08-14 16:11:01,066 - automatic_tagger - INFO - ✅ Successfully updated recipe cuban-pork-sandwich-cubanos-from-chef-movie with 2 new tags
2026-08-14 16:11:01,067 - automatic_tagger - INFO - 🔄 Updating local database for recipe 67e17387-2300-47c0-9d2e-06077334fe2f with tags: ['Cajun Cuisine', 'American Cuisine']
2026-08-14 16:11:01,068 - automatic_tagger - INFO - ✅ Updated local database: recipe 67e17387-2300-47c0-9d2e-06077334fe2f cuisine set to 'Cajun'
2026-08-14 16:11:01,080 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:11:01,081 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-08-14 16:11:01,081 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Cuban Pork Sandwich (Cubanos) from Chef Movie with 2 tags
✅ Tagged: Cuban Pork Sandwich (Cubanos) from Chef Movie
2026-08-14 16:11:01,124 - automatic_tagger - INFO - 🔍 Analyzing recipe: Rice Pilaf with Nuts and Dried Fruit
2026-08-14 16:11:05,962 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Persian', tags=['Mediterranean Cuisine', 'Persian Cuisine']
2026-08-14 16:11:05,964 - automatic_tagger - INFO - 🏷️ Recipe 92a2998d-e58c-44b3-abe7-e68b61b3ab2d: existing_tags=[], recommended=['Mediterranean Cuisine', 'Persian Cuisine'], adding=['Mediterranean Cuisine', 'Persian Cuisine']
2026-08-14 16:11:06,130 - automatic_tagger - INFO - ✅ Successfully updated recipe rice-pilaf-with-nuts-and-dried-fruit with 2 new tags
2026-08-14 16:11:06,131 - automatic_tagger - INFO - 🔄 Updating local database for recipe 92a2998d-e58c-44b3-abe7-e68b61b3ab2d with tags: ['Mediterranean Cuisine', 'Persian Cuisine']
2026-08-14 16:11:06,132 - automatic_tagger - INFO - ✅ Updated local database: recipe 92a2998d-e58c-44b3-abe7-e68b61b3ab2d cuisine set to 'Mediterranean'
2026-08-14 16:11:06,143 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:11:06,144 - automatic_tagger - WARNING - Category 'Middle Eastern' not found in Mealie cache
2026-08-14 16:11:06,145 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Rice Pilaf with Nuts and Dried Fruit with 2 tags
✅ Tagged: Rice Pilaf with Nuts and Dried Fruit
2026-08-14 16:11:06,184 - automatic_tagger - INFO - 🔍 Analyzing recipe: Bacon Wrapped Chicken
2026-08-14 16:11:10,506 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='American', tags=['American Cuisine']
2026-08-14 16:11:10,507 - automatic_tagger - INFO - 🏷️ Recipe 1c310da8-c9e5-4690-9b8b-c34d26e9b942: existing_tags=[], recommended=['American Cuisine'], adding=['American Cuisine']
2026-08-14 16:11:10,652 - automatic_tagger - INFO - ✅ Successfully updated recipe bacon-wrapped-chicken with 1 new tags
2026-08-14 16:11:10,653 - automatic_tagger - INFO - 🔄 Updating local database for recipe 1c310da8-c9e5-4690-9b8b-c34d26e9b942 with tags: ['American Cuisine']
2026-08-14 16:11:10,653 - automatic_tagger - INFO - ✅ Updated local database: recipe 1c310da8-c9e5-4690-9b8b-c34d26e9b942 cuisine set to 'American'
2026-08-14 16:11:10,666 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:11:10,666 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-08-14 16:11:10,666 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Bacon Wrapped Chicken with 1 tags
✅ Tagged: Bacon Wrapped Chicken
2026-08-14 16:11:10,722 - automatic_tagger - INFO - 🔍 Analyzing recipe: Blueberry Custard Cake
2026-08-14 16:11:15,942 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=True, cuisine='American', tags=['British Cuisine', 'American Cuisine']
2026-08-14 16:11:15,944 - automatic_tagger - INFO - 🏷️ Recipe 70895869-00c2-410e-a95b-8cca632b2835: existing_tags=[], recommended=['British Cuisine', 'American Cuisine'], adding=['British Cuisine', 'American Cuisine']
2026-08-14 16:11:16,112 - automatic_tagger - INFO - ✅ Successfully updated recipe blueberry-custard-cake with 2 new tags
2026-08-14 16:11:16,112 - automatic_tagger - INFO - 🔄 Updating local database for recipe 70895869-00c2-410e-a95b-8cca632b2835 with tags: ['British Cuisine', 'American Cuisine']
2026-08-14 16:11:16,113 - automatic_tagger - INFO - ✅ Updated local database: recipe 70895869-00c2-410e-a95b-8cca632b2835 cuisine set to 'British'
2026-08-14 16:11:16,125 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:11:16,125 - automatic_tagger - WARNING - Category 'American' not found in Mealie cache
2026-08-14 16:11:16,125 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Blueberry Custard Cake with 2 tags
✅ Tagged: Blueberry Custard Cake
2026-08-14 16:11:16,184 - automatic_tagger - INFO - 🔍 Analyzing recipe: Spinach Ricotta Cannelloni
2026-08-14 16:11:26,016 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Italian', tags=['Italian Cuisine']
2026-08-14 16:11:26,017 - automatic_tagger - INFO - 🏷️ Recipe 4e7a40f5-ddb2-4510-95d0-9828c3ced57d: existing_tags=[], recommended=['Italian Cuisine'], adding=['Italian Cuisine']
2026-08-14 16:11:26,213 - automatic_tagger - INFO - ✅ Successfully updated recipe spinach-ricotta-cannelloni with 1 new tags
2026-08-14 16:11:26,213 - automatic_tagger - INFO - 🔄 Updating local database for recipe 4e7a40f5-ddb2-4510-95d0-9828c3ced57d with tags: ['Italian Cuisine']
2026-08-14 16:11:26,214 - automatic_tagger - INFO - ✅ Updated local database: recipe 4e7a40f5-ddb2-4510-95d0-9828c3ced57d cuisine set to 'Italian'
2026-08-14 16:11:26,226 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:11:26,226 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-08-14 16:11:26,226 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Spinach Ricotta Cannelloni with 1 tags
✅ Tagged: Spinach Ricotta Cannelloni
2026-08-14 16:11:26,269 - automatic_tagger - INFO - 🔍 Analyzing recipe: Easter Cake
2026-08-14 16:11:30,355 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='British', tags=['British Cuisine', 'American Cuisine']
2026-08-14 16:11:30,357 - automatic_tagger - INFO - 🏷️ Recipe 9c1f5d24-0e36-4c11-8da0-0903162d6453: existing_tags=[], recommended=['British Cuisine', 'American Cuisine'], adding=['British Cuisine', 'American Cuisine']
2026-08-14 16:11:30,507 - automatic_tagger - INFO - ✅ Successfully updated recipe easter-cake with 2 new tags
2026-08-14 16:11:30,507 - automatic_tagger - INFO - 🔄 Updating local database for recipe 9c1f5d24-0e36-4c11-8da0-0903162d6453 with tags: ['British Cuisine', 'American Cuisine']
2026-08-14 16:11:30,508 - automatic_tagger - INFO - ✅ Updated local database: recipe 9c1f5d24-0e36-4c11-8da0-0903162d6453 cuisine set to 'British'
2026-08-14 16:11:30,521 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:11:30,521 - automatic_tagger - WARNING - Category 'European' not found in Mealie cache
2026-08-14 16:11:30,521 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Easter Cake with 2 tags
✅ Tagged: Easter Cake
2026-08-14 16:11:30,556 - automatic_tagger - INFO - 🔍 Analyzing recipe: Drunken Noodles (Pad Kee Mao)
2026-08-14 16:11:34,946 - automatic_tagger - INFO - 🔍 Recipe analysis complete: prep=False, cuisine='Thai', tags=['Thai Cuisine']
2026-08-14 16:11:34,948 - automatic_tagger - INFO - 🏷️ Recipe b2dec4f7-15fb-41a5-b324-2c0584fda4cf: existing_tags=[], recommended=['Thai Cuisine'], adding=['Thai Cuisine']
2026-08-14 16:11:35,085 - automatic_tagger - INFO - ✅ Successfully updated recipe drunken-noodles-pad-kee-mao with 1 new tags
2026-08-14 16:11:35,085 - automatic_tagger - INFO - 🔄 Updating local database for recipe b2dec4f7-15fb-41a5-b324-2c0584fda4cf with tags: ['Thai Cuisine']
2026-08-14 16:11:35,086 - automatic_tagger - INFO - ✅ Updated local database: recipe b2dec4f7-15fb-41a5-b324-2c0584fda4cf cuisine set to 'Thai'
2026-08-14 16:11:35,095 - automatic_tagger - INFO - 📋 Loaded 0 categories from Mealie
2026-08-14 16:11:35,095 - automatic_tagger - WARNING - Category 'Asian' not found in Mealie cache
2026-08-14 16:11:35,095 - bulk_import_smart - INFO - ✅ tag_single_recipe: Tagged Drunken Noodles (Pad Kee Mao) with 1 tags
✅ Tagged: Drunken Noodles (Pad Kee Mao)
📚 Phase 4: Indexing...
2026-08-14 16:11:35,097 - mealie_client - INFO - MealieClient initialized in API mode
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
2026-08-14 16:11:35,452 - recipe_rag - WARNING - ⚠️ No ANN index found. Run migration to build index.
2026-08-14 16:11:35,453 - recipe_rag - INFO - 📚 Batch indexing 9 recipes...
2026-08-14 16:11:35,453 - recipe_rag - INFO - Generating 9 embeddings via OpenRouter API...
2026-08-14 16:11:52,725 - recipe_rag - INFO - ✅ Embeddings generated
✅ USearch index saved to /app/data/recipe_usearch.index
2026-08-14 16:11:52,778 - recipe_rag - INFO - 💾 Saved ANN index with 9 new recipes
2026-08-14 16:11:52,779 - recipe_rag - INFO - ✅ Batch indexed 9/9 recipes
✅ Indexed 9/9 recipes
==================================================
✅ IMPORT COMPLETE
==================================================
Total imported: 10
Completed: 9
Failed: 1
🔍 Verifying RAG index...
🔧 Initializing USearch ANN index with dimension 4096
✅ USearch index initialized for cosine similarity search
✅ USearch index loaded with 9 vectors
2026-08-14 16:11:52,781 - recipe_rag - INFO - ✅ ANN index loaded with 9 recipes
✅ Verified 9 recipes in RAG index
🗑️ 1 non-recipes correctly filtered out
📄 Results saved to: /app/data/import_tests/407d71c1-13c0-40f1-ad02-68906a5c7281.json
============================================================
TEST RESULTS: 9 recipes imported, 1 non-recipes filtered
RAG INDEX: 9/9 verified ✅
============================================================
⏱️ Timing:
Total test time: 142.0 seconds
Average per recipe: 14.2 seconds
Estimated full import (1700 recipes): 6.0-7.2 hours
✅ Test passed - pipeline is working
📎 View imported recipes:
• Cheesy Potato Gratin Stacks (Muffin Tin): http://mealie:9000/g/home/r/cheesy-potato-gratin-stacks-muffin-tin
• Lamingtons: http://mealie:9000/g/home/r/lamingtons
• Cuban Pork Sandwich (Cubanos) from Chef Movie: http://mealie:9000/g/home/r/cuban-pork-sandwich-cubanos-from-chef-movie
• Rice Pilaf with Nuts and Dried Fruit: http://mealie:9000/g/home/r/rice-pilaf-with-nuts-and-dried-fruit
• Bacon Wrapped Chicken: http://mealie:9000/g/home/r/bacon-wrapped-chicken
• Blueberry Custard Cake: http://mealie:9000/g/home/r/blueberry-custard-cake
• Spinach Ricotta Cannelloni: http://mealie:9000/g/home/r/spinach-ricotta-cannelloni
• Easter Cake: http://mealie:9000/g/home/r/easter-cake
• Drunken Noodles (Pad Kee Mao): http://mealie:9000/g/home/r/drunken-noodles-pad-kee-mao
------------------------------------------------------------
✅ Completed successfully