One root class
The design's worked example is gambas al ajillo, prawns cooked in garlic-scented olive oil. Its root class fits in one sentence: move aroma into fat first, then cook in that fat. That is a principle in Sizzle's sense. It is named by what it does, never by a dish, and it works for a reason you can say at the stove.
Here is the reason. Many of the aroma compounds in garlic, chili and scallion dissolve far more readily in fat than in water, and gentle heat draws them out of the aromatic and into the oil. The second step puts the main ingredient into that oil, so every surface the fat touches comes out coated in flavor. The order is the whole technique. Add the garlic at the end and you get garlic pieces sitting in plain oil.
The sentence also has an interface. It needs something aromatic, a fat to receive the aroma, a main ingredient that cooks in the fat, and heat. Sizzle's reading rubric uses exactly those role names as its example: 향채 (aromatic), 기름 (fat), 주재료 (main ingredient), 열 (heat). Bind the slots differently and the same class gives you a different dish.
Five siblings
The architecture doc lists five siblings and sums the set up as five cuisines, one principle:
| Dish | Aromatic | Fat | What cooks in it |
|---|---|---|---|
| Gambas al ajillo (Spain), the root example | garlic, dried chili | olive oil | prawns |
| Aglio e olio (Italy) | garlic, chili flakes | olive oil | spaghetti, tossed in the oil |
| Mushroom ajillo (Spain again) | garlic | olive oil | mushrooms |
| Scallion-oil fried rice (Korea) | scallion | neutral oil | cooked rice |
Chinese stir-fry aromatics, 爆香 (bàoxiāng) | ginger, garlic, scallion | hot wok oil | whatever goes in next |
| Sofrito, the paella base (Spain) | onion, garlic, tomato | olive oil | the rice, stirred in before the stock |
Read the table down each column and the class shows itself. The fat barely changes. The aromatic changes with the cuisine. The main ingredient changes with the meal. The two steps never change.
The worked example as data
The doc then walks the example through Sizzle's objects. Here it is with the place names taken out:
- A photo from a tapas bar becomes an Encounter.
- Its Reading names gambas al ajillo with high confidence, notes guindilla chili with medium confidence (the red flakes could be pimentón), and links the proposed principle about aroma and fat.
- The cook adopts the principle and corrects the chili.
- The principle's page lists aglio e olio and scallion-oil fried rice as inferred siblings.
- Later the dish is made at home with perilla oil. That photo becomes a second Encounter, cooked at home, tied to a Variant that overrides the fat. The lineage reads Tapas-bar gambas → Perilla-oil gambas.
Treat it as a design illustration. It puts every object into one story: an instance captured, a class proposed, a correction that outranks the model, siblings that stay inferences until a plate is linked to one, and an override that keeps the class while changing a single role.
The test suite cooks it too
The engine's tests use the same example, so you can see it as the data a reading really returns. The fake Pippa in backend/tests/conftest.py answers every reading with one gambas plate: three bindings (garlic as 향채, olive oil as 기름, prawns as 주재료), one principle named by what it does, two siblings, and one honest doubt about the chili. The principle's why is the chemistry in a line: garlic's aroma compounds are fat-soluble, so they dissolve well in oil.
The first tree test checks what the design promised. After one reading the tree holds one principle, still proposed. The gambas is encountered, because a captured plate is linked to it. The doc glosses that as proof Dad ate it, but the query doesn't ask what kind of plate it was, so one seen at a market counts too. Only a home plate makes a dish cooked, and Track 2 comes back to that gap. Aglio e olio is inferred, because Pippa derived it and no plate is linked to it yet. Scallion-oil fried rice sits in the tree under its Korean name. Track 2 opens those objects and Track 4 follows how they grow, so here only the shape matters: one photo, one class, siblings across cuisines.
oo-quest's Track 4 has its own section on polymorphism across cuisines. There the shared structure is a set of flavor axes: a salt source, a fat source, an umami vehicle. Here it is a technique with roles. Read both and you have two decompositions of one kitchen.