kiwi/app/services/recipe
pyr0ball f1d35dd1ac feat(recipes): 'Not today' per-session ingredient exclusions
Users often have ingredients they want to avoid today (out of stock, not feeling it)
that aren't true allergies. The new 'Not today' filter lets them exclude specific
ingredients per session without permanently modifying their allergy list.

- recipe.py schema: exclude_ingredients field (list[str], default [])
- recipe_engine.py: filters corpus results when any ingredient is in exclude_set
- llm_recipe.py: injects exclusions into both prompt templates so LLM-generated
  recipes respect the constraint at generation time
- RecipesView.vue: tag-chip UI with Enter/comma input, removes on × click
- stores/recipes.ts: excludeIngredients reactive list (not persisted to localStorage)
2026-04-21 15:05:16 -07:00
..
__init__.py feat: ElementClassifier -- ingredient element tagging with heuristic fallback 2026-03-30 22:59:46 -07:00
assembly_recipes.py fix: save, shopping list, and route ordering for Build Your Own 2026-04-14 14:48:30 -07:00
browse_counts_cache.py feat(browse-counts): add pre-computed FTS counts cache with nightly refresh 2026-04-21 15:04:23 -07:00
browser_domains.py feat(browser): expand taxonomy keyword coverage for BBQ and regional subcategories 2026-04-21 15:04:13 -07:00
element_classifier.py fix: wire recipe corpus to cloud per-user DBs via SQLite ATTACH (#102) 2026-04-18 14:21:56 -07:00
grocery_links.py feat: saved recipes, recipe browser, and recipe detail panel 2026-04-08 14:35:02 -07:00
llm_recipe.py feat(recipes): 'Not today' per-session ingredient exclusions 2026-04-21 15:05:16 -07:00
locale_config.py feat(browser): expand cuisine taxonomy to 13 categories + 105 subcategories 2026-04-21 10:15:58 -07:00
recipe_engine.py feat(recipes): 'Not today' per-session ingredient exclusions 2026-04-21 15:05:16 -07:00
staple_library.py fix: staple library — consistent tofu_firm slug, load error handling, typed yield_formats, expanded test coverage 2026-03-30 23:10:51 -07:00
style_adapter.py feat: recipe engine Phase 3 — StyleAdapter, LLM levels 3-4, user settings 2026-03-31 14:15:18 -07:00
substitution_engine.py fix: wire recipe corpus to cloud per-user DBs via SQLite ATTACH (#102) 2026-04-18 14:21:56 -07:00
tag_inferrer.py fix: recipe enrichment backfill, main_ingredient browser domain, bug batch 2026-04-18 15:38:56 -07:00