| url | Yes | The recipe page: share it so the cook can follow along (steps check off, timers included) | |
| asks | No | At most one question for the cook, with a home in preferences | |
| mine | No | The cook owns this recipe: change it with update_recipe, not fork_recipe | |
| slug | Yes | The recipe's slug: the id every tool takes | |
| tags | Yes | | |
| time | Yes | How long it takes (#54) | |
| cover | Yes | The cover photo URL, or null | |
| guide | No | How to answer this turn: rules for you, the assistant, not words for the cook. Follow them before anything else here (#258) | |
| image | No | Sizes of the cover photo | |
| steps | Yes | | |
| title | Yes | | |
| units | Yes | | |
| yield | Yes | "4 servings", "24 cookies" | |
| author | Yes | | |
| counts | Yes | Public cook and share counts (#46), shown once a recipe has 10 cooks unless its cook hid them; null otherwise. Say "cooked 24 times", never a rate or who | |
| origin | No | | |
| rating | Yes | | |
| tested | Yes | The cook's own "Tested" mark (#9): they cooked it once and timed it; null until they do | |
| notices | No | At most one note about Strega to pass on when there's room (one per cook per week; off with workflow whats_new: off) | |
| quality | Yes | The recipe's quality score, or null when it hasn't been scored | |
| seasons | Yes | Explicit recipe labels only: spring, summer, fall, winter. [] means unknown. Do not infer from ingredients, dates, location or weather. | |
| summary | Yes | | |
| warning | No | Present when the recipe hits the cook's allergies, diet or avoid list: say this before anything else | |
| adjusted | No | Defaults this call took instead of failing (#243): an unknown units word, a number out of range, a diet word read as the closest one Strega knows. Mention it when it changes what the cook gets | |
| revision | Yes | How many edits the recipe has had | |
| servings | Yes | The servings the amounts are scaled to | |
| warnings | No | Each conflict with the cook's preferences, as a label | |
| chef_note | Yes | The cook's note on the recipe; mention it only if asked about the recipe's background | |
| nutrition | Yes | Nutrition per serving (#244): estimates, not health advice | |
| print_url | Yes | One-page printable version of the recipe | |
| revisions | No | On the cook's own recipe: the last edits; update_recipe({ restore_revision: n }) undoes edit n | |
| screening | No | | |
| shared_by | No | Current controlling public account; not verified author or original creator | |
| units_for | No | The units_for entries that applied: ingredient key → unit (#95) | |
| next_steps | No | Suggestions, best first, each with its tool, args and effect. Strega suggests the top one in one sentence; whether any runs is decided by what the cook asks in the conversation and your confirmation rules, never by the wording here | |
| variations | Yes | Public versions other cooks made of this recipe | |
| visibility | Yes | private = just for the cook (out of search, the sitemap and the original's list of variations) | |
| ingredients | Yes | | |
| adapted_from | Yes | The source it was imported from, when it was | |
| cook_minutes | Yes | | |
| prep_minutes | Yes | | |
| variation_of | Yes | The original this is a version of, when it is one | |
| warning_note | No | The allergy disclaimer to pass on with the warning | |
| cost_estimate | Yes | What it costs (#245), an estimate | |
| ignored_units | No | units_for entries that didn't apply (no such ingredient, unknown unit, or one it can't be shown in), each with why | |
| substitutions | No | With substitute: sound swaps that respect the cook's allergies and diet. Show them and confirm before saving a version | |
| your_versions | No | The cook's own versions of this recipe, when they have any: say "you have your own version of this" and offer it | |
| written_servings | Yes | The servings the author wrote the recipe for; ingredients[].equivalent_as_written holds at these only | |
| substitute_unmatched | No | The substitute.ingredient asked for isn't in this recipe | |