add processing notes
This commit is contained in:
1 parent
07a875806c
commit
c5a7cd6d8a
2 files changed
+83
-2
No files matched your search
@@ -54,5 +54,4 @@ Divide the cilantro-lime rice between bowls. Add a bed of shredded lettuce, then
|
||||
## Notes
|
||||
- **Nice-to-haves:** pickled jalapeños
|
||||
- Always keep chicken in a single layer when searing — crowding the pan causes steaming instead of browning
|
||||
- Cubed chicken cooks fast; don
|
||||
't walk away!
|
||||
- Cubed chicken cooks fast; don't walk away!
|
||||
@@ -0,0 +1,82 @@
|
||||
# HelloFresh → Mealie import notes
|
||||
|
||||
Lessons from processing the chowder recipe. Use as a checklist when adding another HelloFresh recipe.
|
||||
|
||||
## 1. Shipped quantities ≠ recipe quantities
|
||||
|
||||
HelloFresh ships fixed packets, and the recipe usually uses only part of them.
|
||||
|
||||
- Keep ingredient amounts as the **shipped amount**. Do not "correct" them to match the steps.
|
||||
- Leftovers are expected, not a data-entry error.
|
||||
- Examples from this session:
|
||||
- `1 tbsp Old Bay Seasoning` — step uses "half" + `¼ tsp`; remainder is left over.
|
||||
- `1 tsp sugar` — step uses `¼ tsp`; remainder is left over.
|
||||
- Stock concentrate ships as packets ("2 unit Veggie Stock Concentrate"). If packets are unavailable, recording it as `2 tablespoons` is intentional and fine.
|
||||
|
||||
**Rule:** before touching a quantity, ask/confirm whether it is the shipped amount.
|
||||
|
||||
## 2. Servings
|
||||
|
||||
- Mealie stores **one base serving count** (`recipeServings`). There is no native "2 or 4" option.
|
||||
- Set the base (HelloFresh recipes here are usually **2**). Use Mealie's built-in servings selector to scale to 4.
|
||||
- Mealie scales **structured ingredient quantities only**, not instruction text.
|
||||
- Also set the yield text (`recipeYield`, e.g. `"2 servings"`). `recipeYieldQuantity` may stay `0`; the MCP tool does not expose it.
|
||||
|
||||
## 3. Strip hardcoded multi-serving notes from instructions
|
||||
|
||||
HelloFresh instructions embed scaling clauses. Remove them so the built-in scaler doesn't conflict:
|
||||
|
||||
- `(... 4 TBSP for 4 servings)`
|
||||
- `(... 2½ cups for 4 servings)`
|
||||
- `(For 4 servings, use ½ tsp Old Bay and ½ tsp sugar.)`
|
||||
|
||||
Keep the tips and the rest of the step text. The 2-serving amounts are the base and can stay.
|
||||
|
||||
## 4. Times
|
||||
|
||||
- HelloFresh gives **Total** and **Prep**; derive `cook = total − prep`.
|
||||
- In this Mealie instance the UI showed **`performTime` as "Cook time"**, not `cookTime`. That is why setting only `cookTime` still displayed 10m.
|
||||
- Set **all four**: `totalTime`, `prepTime`, `cookTime`, and `performTime` (perform = cook duration) so every view agrees.
|
||||
- Sanity check: `prep + cook = total`.
|
||||
|
||||
## 5. Link ingredients to steps
|
||||
|
||||
- Structured ingredients already carry a `referenceId` (UUID v4).
|
||||
- Add `ingredientReferences: [{ referenceId }]` to each instruction step, reusing the **exact** existing referenceId.
|
||||
- This is what "organize ingredients under steps" means in Mealie: cook-mode highlighting and per-step ingredient lists.
|
||||
- Do not regenerate referenceIds; that breaks the link.
|
||||
|
||||
## 6. Watch parser/unit artifacts
|
||||
|
||||
The NLP parser can map `unit` inconsistently (`item`, `can`, `tablespoon`).
|
||||
|
||||
- Verify units against the source text (`originalText`).
|
||||
- Confirm intentional choices (e.g. tbsp for stock concentrate) before "fixing" them.
|
||||
- Clean food names: remove trailing spaces (e.g. `green/poblano pepper `), normalize odd capitalization.
|
||||
|
||||
## 7. Sanity checks before finishing
|
||||
|
||||
- [ ] Every listed ingredient is used by at least one step.
|
||||
- [ ] Step quantities are consistent with the list **or** explainable as shipped leftovers.
|
||||
- [ ] Times add up (prep + cook = total) and `performTime` is set.
|
||||
- [ ] Servings set; yield text set.
|
||||
- [ ] No hardcoded "for 4 servings" clauses left.
|
||||
- [ ] Every step has the right `ingredientReferences`.
|
||||
- [ ] Don't "fix" source-recipe quirks (e.g. description says "cheddar" while the ingredient is Monterey Jack) — that's HelloFresh copy, not a data-entry error.
|
||||
|
||||
## 8. Tool behavior (Mealie MCP)
|
||||
|
||||
- `update_recipe` **replaces** ingredient/instruction lists when provided; content changes use read-merge-write to preserve other fields.
|
||||
- Omitted or `null` fields are unchanged.
|
||||
- `recipeYieldQuantity` is not exposed by the tool.
|
||||
- Unicode fractions and curly quotes round-trip fine.
|
||||
|
||||
## 9. Suggested workflow
|
||||
|
||||
1. `get_recipes(search=...)` → `get_recipe(slug)`.
|
||||
2. Confirm name, source URL, and base servings.
|
||||
3. Cross-check each ingredient against the steps (used / unused / shipped leftover).
|
||||
4. Fix genuine errors: units, food names, times, yield — confirming shipped amounts first.
|
||||
5. Remove `for 4 servings` clauses.
|
||||
6. Add `ingredientReferences` to every step.
|
||||
7. Re-fetch and verify times, servings, ref counts, and display strings.
|
||||
Reference in new issue
Block a user