Mise · Engine Validation · Blind Test Set

Recipe Tests — Chomp Donuts

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

  1. 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.

  2. 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

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

ItemQtyUnit
Strawberries, Frozen9072Gram
Pectin, Apple160Gram
Sugar, Granulated2270Gram
Lemons, Fresh2Each

Salted Caramel sub-recipe

Syrup · batch yield 8,960 g (256 fluid ounces) · shelf life 10 days

ItemQtyUnit
Butter, Salted350Gram
Corn Syrup600Gram
Heavy Cream1700Gram
Vanilla Beans12Gram
Sugar, Granulated1600Gram
Chocolate, White100Gram

Vanilla Bean Pastry Cream sub-recipe

Fruit filling · batch yield 13,617 g · shelf life 5 days

ItemQtyUnit
Milk, Whole7200Gram
Heavy Cream800Gram
Vanilla Beans24Each
Sugar, Granulated1440Gram
Flour, All Purpose400Gram
Mix, Custard Delice Cream400Gram
Eggs, Liquid Yolks1440Gram
Butter, Cocoa480Gram
Butter, Unsalted800Gram
Cheese, Mascarpone480Gram
Gelatin Sheets87.5Gram

Undecorated Shells / Rings sub-recipe

Yeast donut base · batch yield 22,670 g · (only partial ingredient list captured)

ItemQtyUnit
Mix, Majesticlist 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

ItemQtyUnit
Salted Caramel sub ↑2Fluid Ounce
Mix, Glaze15Gram
Maldon Salt1Gram
Undecorated Shells / Rings sub ↑65Gram

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 %.