plan_bake
Create a bake plan with ingredient calculations. Returns exact ingredient amounts in grams, an auto-sized yeast amount, a fermentation schedule, dough warnings, and a calculator URL the user can open in Pandough with all parameters prefilled. Before calling this, gather the inputs that actually determine a good plan (skip any the user already volunteered): (1) Strongly ask which oven model they use — call search_ovens and pass ovenSlug. If it is unlisted, ask for ovenType plus ovenMaxCelsius. Oven capability materially changes the hydration band and bake feasibility; if the user declines, proceed but say the result is not oven-adapted. (2) Which flour(s) do they have? — call search_flours to resolve a flourSlug (or pass flourBlend for a 2–5 flour cut, e.g. a Pulcinella base with 30% Manitoba); this is what makes hydration and warnings flour-aware. (3) Their room temperature and fridge temperature — pass roomTempCelsius/fridgeTempCelsius; temperature is the dominant driver of yeast amount and timing. (4) How they mix/knead (by hand, stand mixer, no-knead) — plan_bake does not return technique guidance, so pair it with a troubleshoot call for method advice. (5) Do they want a preferment? — pass preferment for a biga, poolish, tiga, cold/long biga, or a natural sourdough starter. The yeast figure accounts for the preferment, and the calculator link opens with the build already set up, so recommending a biga in prose without passing this param hands the user a direct dough. Don't interrogate a user who already gave a full brief.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | UI locale for the returned calculator link (e.g. 'en', 'pl', 'it'). Defaults to 'en'. | |
| bakeTime | No | Target bake time as an ISO 8601 datetime (e.g. '2026-06-10T18:00:00Z'). Must be in the future. | |
| ovenSlug | No | Exact oven model slug from search_ovens. Strongly preferred: the engine uses the model's real ceiling and oven class to adapt hydration and bake feasibility. Mutually exclusive with manual ovenType/ovenMaxCelsius. | |
| ovenType | No | Oven class for an unlisted model. Pass together with ovenMaxCelsius; prefer ovenSlug when search_ovens finds the model. | |
| servings | No | Number of portions/pizzas (1–50, default: 4) | |
| flourSlug | No | Flour slug from search_flours (e.g. 'caputo-pizzeria'). For a single flour. Mutually exclusive with flourBlend. | |
| flourBlend | No | A weighted flour blend (2–5 flours summing to 100%), e.g. [{flourSlug:'caputo-pizzeria',percent:70},{flourSlug:'manitoba-oro',percent:30}]. Mutually exclusive with flourSlug. | |
| preferment | No | Plan the bake around a preferment (biga, poolish, tiga, sourdough…). The yeast figure returned accounts for it, and the calculator link opens with the build already set up. | |
| recipeSlug | Yes | Recipe type slug. Supported: neapolitan-pizza, classica-pizza, focaccia, artisan-bread, baguette (call list_recipes for the full list). When the user names a style like 'classica', pass that style here — do NOT confuse it with a flour whose name happens to contain the word. | |
| roomTempHours | No | Room-temperature fermentation hours (0–168). Pass BOTH this and fridgeTempHours to lock the split; naming only a total lets the engine choose. Room legs above 14h are clamped with a warning. | |
| ovenMaxCelsius | No | The real maximum temperature in °C for an unlisted oven (100–600). This is what constrains hydration and bake time. | |
| ovenMinCelsius | No | Optional minimum set temperature in °C for an unlisted oven. | |
| fridgeTempHours | No | Cold fermentation hours (0–168). Pass BOTH this and roomTempHours to lock the split. | |
| roomTempCelsius | No | The user's real kitchen temperature in °C (2–40). The single biggest driver of yeast amount and timing — ask the user for it. | |
| hydrationPercent | No | Target hydration percentage (40–110) | |
| fridgeTempCelsius | No | The user's real fridge temperature in °C (0–12). Ask the user for it when a cold ferment is involved. |