{"$schema":"https://cookwala.ai/v1/schemas/recipe.schema.json","cookwala":"0.2.0","id":"osool-425","revision":1,"updated":"2026-10-05","legacy":{"dataUrl":"https://fifi.cooking/data/recipes/osool-425.json","pageUrl":"https://fifi.cooking/recipe/osool-425/"},"verification":{"level":"V0","generatedBy":"tools/export_fifi.py (deterministic, RFC-0009)","notes":"Described, not machine-verified: original ingredients and steps from fifi.cooking; quantities parsed from the text where possible; no end conditions, hazards or critical control points have been verified. Every step is an unclassified legacy step that a device never executes."},"dish":{"names":{"ar":"كفتة السمك بالبطاطس","de":"Fisch-Kartoffel-Kroketten","el":"Κροκέτες ψαριού και πατάτας","en":"Fish and Potato Croquettes","es":"Croquetas de Pescado y Patata","fa":"کروکت‌های ماهی و سیب‌زمینی","fr":"Croquettes de poisson aux pommes de terre","he":"קרוקט דג ותפוחי אדמה","hi":"मछली और आलू के क्रोकेट","id":"Croquette Ikan dan Kentang","it":"Crocchette di Pesce e Patate","ja":"魚とじゃがいものクロケット","ko":"생선·감자 크로켓","ku":"Krokêtên Masî û Patatesê","nl":"Vis- en aardappelkroketten","pl":"Krokiety rybno-ziemniaczane","ps":"د کب او کچالو کروکیټ","pt":"Croquetes de Peixe e Batata","ru":"Крокеты из рыбы и картофеля","sv":"Fisk- och potatiskroketter","sw":"Croquettes za Samaki na Viazi","te":"బంగాళాదుంపతో చేప కోఫ్తా","tr":"Balık ve Patates Kroketleri","ur":"مچھلی اور آلو کے کروکیٹ","zh":"鱼土豆可乐饼"},"localName":"كفتة السمك بالبطاطس","cuisine":["EG"],"course":"main","tags":["Fish & Seafood","Pan-Frying","osool"],"images":[{"url":"https://fifi.cooking/recipe-images/osool-425.jpg","role":"banner"},{"url":"https://fifi.cooking/recipe-images/thumbs/osool-425.jpg","role":"thumb"}]},"yield":{"servings":3.0},"ingredients":[{"ref":"boiled_fish_flaked","ingredientId":"cw.ing.boiled_fish_flaked","legacyId":"osool-425-i1","qty":{"value":0.25,"unit":"kg"},"display":{"ar":"ربع كيلو","en":"¼ kg"}},{"ref":"boiled_mashed_potatoes","ingredientId":"cw.ing.boiled_mashed_potatoes","legacyId":"osool-425-i2","qty":{"value":1,"unit":"kg"},"display":{"ar":"حبة إلى ربع كيلو","en":"1 potato to ¼ kg"}},{"ref":"chopped_parsley","ingredientId":"cw.ing.chopped_parsley","legacyId":"osool-425-i3","qty":{"value":1.0,"unit":"tsp"},"display":{"ar":"1 ملعقة صغيرة","en":"1 teaspoon"}},{"ref":"butter_or_melted_ghee","ingredientId":"cw.ing.butter_or_melted_ghee","legacyId":"osool-425-i4","qty":{"value":1.0,"unit":"tbsp"},"display":{"ar":"1 ملعقة كبيرة","en":"1 tablespoon"}},{"ref":"egg_yolk","ingredientId":"cw.ing.egg_yolk","legacyId":"osool-425-i5","qty":{"value":1.0,"unit":"pcs"},"display":{"ar":"1 بيضة","en":"1 egg"}},{"ref":"lemon_juice","ingredientId":"cw.ing.lemon_juice","legacyId":"osool-425-i6","qty":{"value":0,"unit":"g"},"display":{"ar":"قليل","en":"a little"},"toTaste":true},{"ref":"egg_and_breadcrumbs_for_coating","ingredientId":"cw.ing.egg_and_breadcrumbs_for_coating","legacyId":"osool-425-i7","qty":{"value":0,"unit":"g"},"display":{"ar":"حسب الحاجة","en":"as needed"},"toTaste":true},{"ref":"ghee_or_oil_for_frying","ingredientId":"cw.ing.ghee_or_oil_for_frying","legacyId":"osool-425-i8","qty":{"value":0,"unit":"g"},"display":{"ar":"حسب الحاجة","en":"as needed"},"toTaste":true},{"ref":"salt_and_pepper","ingredientId":"cw.ing.salt_and_pepper","legacyId":"osool-425-i9","qty":{"value":0,"unit":"g"},"display":{"ar":"حسب الرغبة","en":"to taste"},"toTaste":true}],"equipment":[{"ref":"hob","class":"cw.eq.heat.hob"},{"ref":"pan","class":"cw.eq.vessel.pan.skillet"}],"process":{"nodes":[{"id":"n1","op":"cw.op.legacy_step","params":{"sourceStep":1,"phase":"prep","opHint":"cw.op.knead"},"attention":"continuous"},{"id":"n2","op":"cw.op.legacy_step","params":{"sourceStep":2,"phase":"prep","opHint":"cw.op.form"},"attention":"continuous"},{"id":"n3","op":"cw.op.legacy_step","params":{"sourceStep":3,"phase":"cook","opHint":"cw.op.fry"},"attention":"continuous"},{"id":"n4","op":"cw.op.legacy_step","params":{"sourceStep":4,"phase":"finish","opHint":"cw.op.layer"},"attention":"continuous"},{"id":"n5","op":"cw.op.legacy_step","params":{"sourceStep":5,"phase":"alternative","opHint":"cw.op.fry"},"attention":"continuous"},{"id":"n6","op":"cw.op.legacy_step","params":{"sourceStep":6,"phase":"alternative","opHint":"cw.op.deep_fry"},"attention":"continuous"}],"edges":"implicit-from-inputs","totalTime":"PT45M","activeTime":"PT30M"},"safety":{"hazards":[],"allergens":{"eu14":["cereals_gluten","eggs","fish","milk"],"us9":["eggs","fish","milk","wheat"],"mayContain":[]},"supervision":{"default":"presence_required","reasons":{"all":"V0 document: a person cooks from the original steps; no step is machine-verified (RFC-0009)."}},"abort":{"steps":["heat_off","alert_user"]}},"text":{"ar":{"title":"كفتة السمك بالبطاطس"},"en":{"title":"Fish and Potato Croquettes"}},"textSidecars":{"languages":["de","el","es","fa","fr","he","hi","id","it","ja","ko","ku","nl","pl","ps","pt","ru","sv","sw","te","tr","ur","zh"],"url":"/v1/recipes/{id}/text/{lang}.json"},"source":{"name":"أصول الطهي النظري والعملي — نظيرة نقولا وبهية عثمان","url":"https://archive.org/download/20240330_20240330_1122/%D8%A7%D8%B5%D9%88%D9%84%20%D8%A7%D9%84%D8%B7%D9%87%D9%89%20%D8%A7%D9%84%D8%AC%D8%B2%D8%A1%20%D8%A7%D9%84%D8%AB%D8%A7%D9%86%D9%89.pdf#page=131","collection":"osool","citation":"From the cookbook Osool El Tahy El Nazari wal Amali; structured facts and the family's rewritten steps; book rights not cleared"},"license":"LicenseRef-source-credited","layers":{"r1":true,"r2":false,"r3":false},"nutrition":{"perServing":{"kcal":280,"protein":20,"fat":12,"carbs":18,"fiber":2,"sugar":0},"basis":"fifi.cooking estimate per serving (modelled from typical composition tables; not measured)"},"cost":{"buckets":{"protein":2,"grains":1.5,"dairyEggs":0.5,"fats":1,"spices":0.1},"total":5.1},"x-cookwala-text":"facts","hash":"sha256:53f92da596dea98f4ca1698e0a44e8da8117acf37b04affb01ee75f59eb6fb36"}
