scan your mealie household foods, cluster lookalikes by similarity,
- let sage pick the survivor + the rest become aliases on it. mealie
+ let hecate pick the survivor + the rest become aliases on it. mealie
rewrites every recipe ingredient to point at the canonical row.
@@ -83,7 +83,7 @@
no run yet. kick one off?
- walks your household catalog, clusters by name similarity, asks sage for the survivor of each cluster.
+ walks your household catalog, clusters by name similarity, asks hecate for the survivor of each cluster.
first run might take 5-15 min depending on cluster count.
- scan your household recipes for duplicates by name similarity. sage
+ scan your household recipes for duplicates by name similarity. hecate
looks at ingredients + step counts + source URLs to decide whether
similar-named recipes are actually the same dish. you confirm per
cluster โ DELETE in Mealie is permanent.
@@ -77,7 +77,7 @@
no run yet. scan now?
-
walks your household recipes, clusters by name similarity, asks sage which clusters are real dupes. apply path uses Mealie's DELETE endpoint โ irreversible. user-confirms per cluster.
+
walks your household recipes, clusters by name similarity, asks hecate which clusters are real dupes. apply path uses Mealie's DELETE endpoint โ irreversible. user-confirms per cluster.
// enrich ยท per-recipe metadata for smarter planning
recipe enrich
- walk every household recipe and have sage generate structured metadata โ
+ walk every household recipe and have hecate generate structured metadata โ
cuisine, complexity, macros, meal type, primary protein + carb,
comfort tier, one-line summary. the plan generator uses this so
"high protein week" actually filters the pool, not just biases the vibe.
diff --git a/cauldron/templates/me.html b/cauldron/templates/me.html
index 10be8fc..070ac70 100644
--- a/cauldron/templates/me.html
+++ b/cauldron/templates/me.html
@@ -57,13 +57,13 @@
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 sage to pick canonicals, merge in mealie. one-time cleanup; aliases get attached to the survivors so the parser fuzzy-matches variants from now on.
+
scan your foods table for dupes, ask hecate 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. sage picks the canonical to keep; you confirm per cluster before mealie deletes the others. permanent โ review carefully.
+
find duplicate recipes by name + ingredient similarity. hecate picks the canonical to keep; you confirm per cluster before mealie deletes the others. permanent โ review carefully.
have sage 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.
+
have hecate 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.
no plan yet. summon sage to build one from the {{ pick_count }} pinned pick{{ '' if pick_count == 1 else 's' }} + the rest of the grimoire.
+
no plan yet. summon hecate to build one from the {{ pick_count }} pinned pick{{ '' if pick_count == 1 else 's' }} + the rest of the grimoire.
@@ -412,7 +412,7 @@
-
sage ยท ~30s
+
hecate ยท ~30s
{% else %}
plan's set.
{% if plan.preference_prompt %}
@@ -573,7 +573,7 @@ async function generatePlan(btn) {
btn.disabled = true;
btn.innerHTML = '๐ช summoningโฆ';
const meta = document.getElementById('gen-meta');
- if (meta) meta.textContent = 'sage building plan โ hold tight';
+ if (meta) meta.textContent = 'hecate building plan โ hold tight';
try {
const r = await fetch('/api/plan/generate', {
method: 'POST',
diff --git a/cauldron/templates/sterilize.html b/cauldron/templates/sterilize.html
index f73067d..338362b 100644
--- a/cauldron/templates/sterilize.html
+++ b/cauldron/templates/sterilize.html
@@ -106,7 +106,7 @@
bulk sterilize
walk every recipe in the household, send the unparsed ingredients to
- sage, review the proposals, apply the good ones. mealie's food
+ hecate, review the proposals, apply the good ones. mealie's food
table gets cleaner; the shopping list math gets sharper.
@@ -378,7 +378,7 @@
${rows}`;
card.appendChild(tbl);
} else {
- // All rows were identity matches โ sage thinks this recipe is
+ // All rows were identity matches โ hecate thinks this recipe is
// already clean. Show a marker; user can still skip/approve as
// a no-op apply (which will be cheap, just refreshes food.id
// resolution if any food row got renamed in Mealie).