Five real recipes to cost in the app. This is a blind test: the correct costs are held separately — your job is to report what the app produces and how, not to hit a target.
01Read this first
These are batch recipes — don't scale them down. The jam, caramel, and pastry cream are big commissary batches (8–14 kg). That's correct: costing derives a per-gram price from the batch (batch cost ÷ batch yield), and the finished donut then uses a small amount of it. If you scale a batch to "one donut's worth," you break the batch→unit math that we're testing. Cost the batches as written.
The single-donut number lives in the finished donut. The Salted Caramel Donut is one donut, and it produces its cost by pulling small amounts from two batch sub-recipes. That recursion — batch → per-gram → the 65 g the donut uses — is the whole point of the last recipe.
Two things we measure — do NOT conflate them. Test A · engine math: given fixed prices, does the arithmetic come out right? (conversions, sub-recipe recursion, yield, summing). This is a pass/fail on the engine.
Test B · corpus data: run the full pipeline against our data. The total will differ from any reference — these are Chomp's Park City invoice prices, and Utah has no corpus nearby. A different total is not a bug. We're checking: right ingredient matched, sane price, conversions fire, few/right questions. Only a wrong-ingredient match or a 10× price is a real failure.
02How to test — staged
Cost the four sub-recipes, flat.
One at a time, no nesting. Report the batch total the app produces, the per-line breakdown, and — most important — every blank with its reason. This needs no recursion, so it's the easy baseline.
Cost the finished Salted Caramel Donut.
It references two sub-recipes by name (caramel in fluid ounces, shells in grams). The app should cost the sub-recipes first, then the donut. Report the per-donut cost and the food-cost % against the $3.75 menu price. This is the hard one — recursion + unit handling + yield + margin.
03What to log for each recipe
Final cost the app produced (batch total, or per-donut for the finished one).
Per line: what ingredient it matched to, what price it used and from where, what conversion path it walked, the line cost.
Every blank, tagged with a reason code — this is the most valuable output:
no_match (never found the ingredient)
no_price (matched, no price)
no_conversion (matched + priced, couldn't convert units)
contradiction (two conversion routes disagreed).
A "blank" from a missing ingredient match is a different bug than one from a missing conversion — the reason code tells us which.
Questions the app asked (the verify step) — how many, and were they the right ones?
Anything weird — an obviously wrong price, a crash, a slow line.
Where results go: record them in the shared results doc / repo folder — not on this page. Keep them separate from the recipes so the test stays blind. Vash holds the answer key and we'll score together.
04The recipes
Strawberry Jam sub-recipe
Fruit filling · batch yield 11,612 g · shelf life 3 weeks
Item
Qty
Unit
Strawberries, Frozen
9072
Gram
Pectin, Apple
160
Gram
Sugar, Granulated
2270
Gram
Lemons, Fresh
2
Each
Salted Caramel sub-recipe
Syrup · batch yield 8,960 g (256 fluid ounces) · shelf life 10 days
Item
Qty
Unit
Butter, Salted
350
Gram
Corn Syrup
600
Gram
Heavy Cream
1700
Gram
Vanilla Beans
12
Gram
Sugar, Granulated
1600
Gram
Chocolate, White
100
Gram
Vanilla Bean Pastry Cream sub-recipe
Fruit filling · batch yield 13,617 g · shelf life 5 days
Item
Qty
Unit
Milk, Whole
7200
Gram
Heavy Cream
800
Gram
Vanilla Beans
24
Each
Sugar, Granulated
1440
Gram
Flour, All Purpose
400
Gram
Mix, Custard Delice Cream
400
Gram
Eggs, Liquid Yolks
1440
Gram
Butter, Cocoa
480
Gram
Butter, Unsalted
800
Gram
Cheese, Mascarpone
480
Gram
Gelatin Sheets
87.5
Gram
Undecorated Shells / Rings sub-recipe
Yeast donut base · batch yield 22,670 g · (only partial ingredient list captured)
Item
Qty
Unit
Mix, Majestic
—
list incomplete
The full list wasn't legible. It matters as the donut's base — the finished donut uses 65 g of it at 90% yield. If the app can't cost it standalone, that's expected; focus on how the donut consumes it.
Salted Caramel Donut finished · the star test
One donut · menu price $3.75
Item
Qty
Unit
Salted Caramel sub ↑
2
Fluid Ounce
Mix, Glaze
15
Gram
Maldon Salt
1
Gram
Undecorated Shells / Rings sub ↑
65
Gram
Two sub-recipe references (one in fluid ounces, one in grams with a yield loss), two direct ingredients, and a menu price. Costing this right needs recursion, dual-unit handling, yield, and margin math — the whole engine in one recipe. Report per-donut cost and food-cost %.