Skip to content

Keep what Paprika holds and no field does in the Note (closes #434) - #443

Merged
BattermanZ merged 1 commit into
devfrom
fix/434-paprika-note-lines
Oct 24, 2026
Merged

BattermanZ merged 1 commit into
devfrom
fix/434-paprika-note-lines

Conversation

@BattermanZ

Copy link
Copy Markdown
Member

Summary

The Paprika half of #434 and the Crouton check. The Mealie half shipped with #418.

 paprika::read_recipe
   candidate (title, times, source, lines, steps)
   language = detect_content(candidate)      # the cook's own words only
   yield = recipe_yield(servings)
-  note = description + notes
+  note = description + notes
+    + Total time: <as typed>                 # always; no field holds it
+    + Prep/Cook time: <as typed>             # not read, or read only in part
+    + Servings: <as typed>                   # no count, or a range's upper end
+    + Difficulty: <as typed>
+    + [Nutrition:] <as typed>                # no lead if it names itself
-  Report: nutrition
 crouton::into_recipes
+  Report: nutrition                          # neutritionalInfo, still kept out (ADR 0025)

Each line is led in the recipe's Language (Temps total :, Tiempo total:), with the leads in schema_org::Words.

Evidence

  • Before: the code at b5d4541 imports a Paprika file with a total time, 40 mins (plus proving), Serves 4 to 6, a difficulty and nutrition. The Note holds none of them, and the Report counts nutrition.
    After: on the same instance, this branch offers the four changed recipes once and leaves the fifth unchanged. A fresh import's Note reads Total time: 1 hr 15 mins, Prep time: 40 mins (plus proving), Servings: Serves 4 to 6, Difficulty: Medium, Nutrition: Calories: 250 …. A French recipe reads Temps total : 50 minutes … Difficulté : Facile.
  • The Paprika corpus (746 recipes) passes with the counts pinned: 30 total, 8 prep, 29 cook, 89 servings, 83 difficulty and 160 nutrition, with no nutrition row on the Report. The Crouton corpus passes with 17 nutrition rows. just check and just test pass.
  • The field table for Mealie, Paprika and Crouton, and the full live pass, are on Imports drop total time, unread times, nutrition and difficulty without a word #434.

Merge Danger

Door: two-way

Only the import readers change. Nothing already stored moves, and no Version id changes.

Blast Radius: imports

A cook who imported from Paprika before this change gets those recipes offered once on the next import, as the changelog says.

Closes #434

🤖 Generated with Claude Code

https://claude.ai/code/session_01126KLKw9pGwH2vG3r1i2VL

Paprika's total time, a time Kamosu reads only in part or not at all,
servings no Yield says whole, the difficulty and the free-text nutrition
each go into the Note as a line of their own, in the recipe's Language.
Crouton's nutrition text stays out of the recipe (ADR 0025) and is now
counted on the Import Report.

Closes #434

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01126KLKw9pGwH2vG3r1i2VL
@BattermanZ
BattermanZ merged commit 3dfb84d into dev Oct 24, 2026
2 checks passed
@BattermanZ
BattermanZ deleted the fix/434-paprika-note-lines branch October 24, 2026 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant