{% extends "_base.html" %} {% block title %}{{ user.name or user.email }} · Cauldron{% endblock %} {% block content %}
token stored, but mealie didn't return profile data. probably revoked or rotated.
{% else %}connect mealie so cauldron can act on your behalf — your recipes, your meal plan, your shopping list. one-time, ~30 seconds.
{% endif %}mealie's parser is per-recipe; this kicks off a bulk pass over your whole library. review proposals, apply the good ones.
scan your foods table for dupes, ask sonnet to pick canonicals, merge in mealie. one-time cleanup; aliases get attached to the survivors so the parser fuzzy-matches variants from now on.
find duplicate recipes by name + ingredient similarity. sonnet picks the canonical to keep; you confirm per cluster before mealie deletes the others. permanent — review carefully.
have sonnet generate per-recipe metadata — cuisine, complexity, macros, primary protein/carb, comfort tier, summary. the plan generator reads this so "high protein week" is a real query, not just a vibe.