Visualização avançada ativa. Dados nutricionais, fatores de rendimento, IDs internos e metodologia estão visíveis. Abrir dados globais.
Painel técnico

Dados globais do plano

Esta página reúne os dados que ficam ocultos na visualização operacional. O JSON canônico e o schema também estão incluídos no pacote estático.

Esta página foi feita para uso avançado. Ative “Visualização avançada” no cabeçalho para exibir os dados.

Metodologia, objetivos e validação

Objetivos e restrições
{
  "primary_goal": "redução de gordura corporal com prioridade em preservar massa magra durante treino de força 5x/semana",
  "lactose": "intolerância leve; priorizar versões zero lactose quando disponíveis",
  "excluded_ingredients": [
    "abobrinha",
    "chuchu",
    "beterraba"
  ],
  "macro_priority": "manter energia e macronutrientes próximos aos alvos derivados da dieta original",
  "culinary_rule": "receitas e técnicas devem ser baseadas em referências culinárias externas; adaptações são registradas e ingredientes materialmente calóricos são contabilizados"
}
Metodologia
{
  "nutrition": "macros recalculados ingrediente a ingrediente a partir da base nutricional; receitas da internet são usadas como evidência culinária, não como fonte única dos macros",
  "calculation": "porções novas ajustadas por otimização numérica (scipy least_squares) e busca local em gramas inteiros; totais e desvios recalculados por script",
  "trace_ingredients": "ervas, especiarias, ácidos e adoçantes sem calorias podem ser tratados como traço quando o impacto agregado estimado é culinariamente pequeno; óleos, laticínios, frutas, castanhas e vegetais em quantidades materiais são contabilizados",
  "sweet_breakfast_note": "substituir parte da proteína por Whey aumenta carboidratos em relação ao alvo original do café da manhã; as opções doces preservam principalmente proteína, gordura e energia e explicitam o desvio de carboidrato",
  "not_medical_advice": "Plano de variedade culinária baseado na dieta fornecida; ajustes clínicos ou terapêuticos devem ser discutidos com a nutricionista responsável."
}
Metodologia de pesos crus
{
  "primary_rule": "O campo grams de cada ingrediente agora representa a quantidade a pesar antes do preparo: cru/pronto para cozinhar quando o alimento sofre cocção; como comprado/pronto para uso quando não há conversão culinária aplicável.",
  "nutrition_accounting": "Os macros e totais foram preservados exatamente da v3.3. Para alimentos convertidos, nutrition_basis_grams registra a massa equivalente no estado consumido usada no cálculo nutricional histórico, e yield_conversion documenta a ponte cru→estado nutricional.",
  "formula": "raw_grams = nutrition_basis_grams / yield_factor",
  "yield_uncertainty": "Fatores de rendimento são médias de planejamento, não constantes físicas. Rendimento real depende de corte, teor de água/gordura, aparo, equipamento, temperatura, tempo e grau de cocção. Por isso, as gramagens cruas são operacionalmente melhores para produção, mas ainda têm incerteza de rendimento final.",
  "sources": [
    "SRC-YIELD-USDA-MEAT",
    "SRC-YIELD-USDA-VEG",
    "SRC-YIELD-USDA-AH102",
    "SRC-YIELD-USDA-ALMOND"
  ],
  "special_cases": {
    "patinho_ground": "Preparos moldados/moídos de patinho usam 0.75 (proxy de ground beef ≤15% fat); preparos de peça/tiras/grelhados usam 0.65 (beef round knuckle steak).",
    "almonds": "0.97 é estimativa de planejamento de baixa confiança e está explicitamente marcada como tal.",
    "processed_ready_to_use": "Whey, iogurte, queijos, azeite, creatina e molhos prontos são pesados como comprados; não existe um estado cru culinariamente útil para convertê-los."
  }
}
Validação
{
  "expected_counts": {
    "breakfast": 150,
    "lunch": 150,
    "afternoon_snack_sweet": 75,
    "afternoon_snack_savory": 75,
    "dinner": 150
  },
  "actual_counts": {
    "breakfast": 150,
    "lunch": 150,
    "afternoon_snack_sweet": 75,
    "afternoon_snack_savory": 75,
    "dinner": 150
  },
  "excluded_ingredient_violations": [],
  "source_coverage": {
    "breakfast": 1.0,
    "lunch": 1.0,
    "afternoon_snack_sweet": 1.0,
    "afternoon_snack_savory": 1.0,
    "dinner": 1.0
  },
  "macro_deviation_summary": {
    "breakfast": {
      "kcal": {
        "max_abs": 9.05,
        "mean_abs": 3.67
      },
      "protein_g": {
        "max_abs": 1.31,
        "mean_abs": 0.44
      },
      "carbs_g": {
        "max_abs": 9.28,
        "mean_abs": 2.76
      },
      "fat_g": {
        "max_abs": 2.13,
        "mean_abs": 0.79
      }
    },
    "lunch": {
      "kcal": {
        "max_abs": 9.58,
        "mean_abs": 4.27
      },
      "protein_g": {
        "max_abs": 2.29,
        "mean_abs": 0.5
      },
      "carbs_g": {
        "max_abs": 0.53,
        "mean_abs": 0.16
      },
      "fat_g": {
        "max_abs": 1.81,
        "mean_abs": 0.91
      }
    },
    "afternoon_snack_sweet": {
      "kcal": {
        "max_abs": 1.66,
        "mean_abs": 0.49
      },
      "protein_g": {
        "max_abs": 0.2,
        "mean_abs": 0.07
      },
      "carbs_g": {
        "max_abs": 2.99,
        "mean_abs": 0.99
      },
      "fat_g": {
        "max_abs": 1.18,
        "mean_abs": 0.46
      }
    },
    "afternoon_snack_savory": {
      "kcal": {
        "max_abs": 3.8,
        "mean_abs": 1.95
      },
      "protein_g": {
        "max_abs": 0.71,
        "mean_abs": 0.27
      },
      "carbs_g": {
        "max_abs": 0.85,
        "mean_abs": 0.15
      },
      "fat_g": {
        "max_abs": 1.24,
        "mean_abs": 0.72
      }
    },
    "dinner": {
      "kcal": {
        "max_abs": 8.05,
        "mean_abs": 4.04
      },
      "protein_g": {
        "max_abs": 1.0,
        "mean_abs": 0.42
      },
      "carbs_g": {
        "max_abs": 0.8,
        "mean_abs": 0.23
      },
      "fat_g": {
        "max_abs": 1.91,
        "mean_abs": 0.83
      }
    }
  },
  "preparation_enrichment": {
    "status": "passed",
    "recipe_count_with_preparation": 361,
    "recipe_count_total": 361,
    "coverage": {
      "recipes_with_at_least_one_direct_method_source": 290,
      "recipes_total": 361,
      "recipes_with_source_family_or_structured_overview_only": 70,
      "recipes_with_existing_overview_only": 1,
      "source_methods_total": 117,
      "source_methods_direct_method_paraphrase": 72,
      "source_methods_source_family_or_existing_overview": 40,
      "source_methods_existing_source_overview_only": 5
    },
    "meal_options_unchanged": true,
    "ingredients_unchanged": true,
    "targets_unchanged": true,
    "excluded_food_scan_terms": [
      "abobrinha",
      "zucchini",
      "courgette",
      "chuchu",
      "chayote",
      "beterraba",
      "beetroot"
    ],
    "notes": "Termos excluídos podem aparecer em metadados históricos de fonte apenas se uma fonte os mencionar; não são autorizados como ingredientes por preparation_methodology.ingredient_authority_rule."
  }
}

Baixar JSON canônico · Baixar JSON Schema

Alvos por refeição

IDNomeDados
breakfast08:00
ver dados
{
  "label": "08:00",
  "kcal": 488.0,
  "protein_g": 53.68,
  "carbs_g": 2.09,
  "fat_g": 29.32
}
lunch12:00
ver dados
{
  "label": "12:00",
  "kcal": 629.0,
  "protein_g": 77.05,
  "carbs_g": 9.17,
  "fat_g": 30.69
}
afternoon_snack_sweet16:00 — opção doce
ver dados
{
  "label": "16:00 — opção doce",
  "kcal": 129.0,
  "protein_g": 16.09,
  "carbs_g": 6.97,
  "fat_g": 4.29
}
afternoon_snack_savory16:00 — opção salgada
ver dados
{
  "label": "16:00 — opção salgada",
  "kcal": 349.8,
  "protein_g": 44.05,
  "carbs_g": 0.0,
  "fat_g": 17.98
}
dinner22:00
ver dados
{
  "label": "22:00",
  "kcal": 685.3,
  "protein_g": 78.8,
  "carbs_g": 12.98,
  "fat_g": 35.08
}

Ingredientes (28)

IDIngredientePesagemReferência nutricionalRendimento
ING001Ovo de galinha inteiro crupesar cru135 kcal · P 11,3 g · C 2,1 g · G 9,1 g / 100 g
Ovo de galinha inteiro cru
—
ING004Queijo muçarela (usar versão zero lactose quando disponível)pesar como comprado / pronto para uso330 kcal · P 22,6 g · C 3 g · G 25,2 g / 100 g
Queijo muçarela (usar versão zero lactose quando disponível)
—
ING005Queijo tipo parmesãopesar como comprado / pronto para uso448 kcal · P 31,9 g · C 2,5 g · G 35 g / 100 g
Queijo tipo parmesão
—
ING006Peito de frango cru, sem pele e sem osso, pronto para cozinharpesar cru, pronto para cozinhar154 kcal · P 31,3 g · C 0 g · G 3,2 g / 100 g
Peito de frango sem pele, cozido, drenado, sem óleo
0,73 SRC-YIELD-USDA-MEAT
ING007Acém bovino cru, moído, pronto para cozinharpesar cru, pronto para cozinhar212 kcal · P 26,7 g · C 0 g · G 10,9 g / 100 g
Acém moído cozido
0,75 SRC-YIELD-USDA-MEAT
ING008Patinho bovino cru, sem osso e aparado, pronto para cozinharpesar cru, pronto para cozinhar211 kcal · P 36 g · C 0 g · G 7,5 g / 100 g
Patinho grelhado sem óleo
0,65 SRC-YIELD-USDA-MEAT
ING009Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinharpesar cru, pronto para cozinhar200 kcal · P 35,7 g · C 0 g · G 6,4 g / 100 g
Lombo suíno assado sem óleo
0,64 SRC-YIELD-USDA-MEAT
ING010Filé de tilápia cru, sem pele, pronto para cozinharpesar cru, pronto para cozinhar112 kcal · P 23,1 g · C 0 g · G 2,1 g / 100 g
Tilápia cozida sem óleo
0,70 SRC-YIELD-USDA-MEAT
ING011Iogurte natural integral (preferir zero lactose)pesar como comprado / pronto para uso51 kcal · P 4,1 g · C 1,9 g · G 3 g / 100 g
Iogurte natural integral (preferir zero lactose)
—
ING012Whey Protein Zero Lactose Natural - Growth (modelo de rótulo)pesar como comprado / pronto para uso400 kcal · P 76,7 g · C 7,7 g · G 7 g / 100 g
Whey Protein Zero Lactose Natural - Growth (modelo de rótulo)
—
ING013Morango crupesar cru30 kcal · P 0,8 g · C 6,5 g · G 0,4 g / 100 g
Morango cru
—
ING014Mamão papaia crupesar cru43 kcal · P 0,5 g · C 10,2 g · G 0,2 g / 100 g
Mamão papaia cru
—
ING015Banana prata cruapesar cru107 kcal · P 1,1 g · C 25,9 g · G 0,3 g / 100 g
Banana prata crua
—
ING017Abóbora moranga crua, sem sementes, descascada e em cubos, pronta para cozinharpesar cru, pronto para cozinhar17 kcal · P 1,2 g · C 4,0 g · G 0,1 g / 100 g
Abóbora moranga cozida e drenada
0,28 SRC-YIELD-USDA-VEG
ING018Brócolis cru, aparado e pronto para cozinharpesar cru, pronto para cozinhar27 kcal · P 2,7 g · C 4,4 g · G 0,5 g / 100 g
Brócolis cozido e drenado, sem óleo
1 SRC-YIELD-USDA-VEG
ING019Couve-flor crua, sem talo grosso e pronta para cozinharpesar cru, pronto para cozinhar17 kcal · P 1,3 g · C 3,4 g · G 0,2 g / 100 g
Couve-flor cozida e drenada, sem óleo
0,98 SRC-YIELD-USDA-VEG
ING020Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinharpesar cru, pronto para cozinhar26 kcal · P 0,8 g · C 6,2 g · G 0,2 g / 100 g
Berinjela cozida e drenada, sem óleo
0,94 SRC-YIELD-USDA-AH102
ING022Vagem crua, aparada e cortada, pronta para cozinharpesar cru, pronto para cozinhar23 kcal · P 1,6 g · C 5,0 g · G 0,1 g / 100 g
Vagem cozida e drenada, sem óleo
0,89 SRC-YIELD-USDA-VEG
ING023Tomate crupesar cru18 kcal · P 1,0 g · C 3,8 g · G 0,2 g / 100 g
Tomate cru
—
ING024Cebola branca cruapesar cru41 kcal · P 1,8 g · C 9,2 g · G 0,1 g / 100 g
Cebola branca crua
—
ING025Cogumelo Paris cru, limpo e fatiado, pronto para cozinharpesar cru, pronto para cozinhar38 kcal · P 2,6 g · C 4,5 g · G 0,4 g / 100 g
Cogumelo Paris cozido, sem óleo
0,44 SRC-YIELD-USDA-VEG
ING026Abacate crupesar cru76 kcal · P 1,1 g · C 5,8 g · G 6,2 g / 100 g
Abacate cru
—
ING027Amêndoa natural crua, sem cascapesar cru, pronto para cozinhar581 kcal · P 18,6 g · C 29,5 g · G 47,3 g / 100 g
Amêndoa torrada
0,97 SRC-YIELD-USDA-ALMOND
ING028Azeite de olivapesar como comprado / pronto para uso900 kcal · P 0 g · C 0 g · G 100 g / 100 g
Azeite de oliva
—
ING029Molho pesto sem sal (azeite, parmesão, manjericão, noz, alho)pesar como comprado / pronto para uso558 kcal · P 10,7 g · C 5,5 g · G 55,3 g / 100 g
Molho pesto sem sal (azeite, parmesão, manjericão, noz, alho)
—
ING030Mix de alface lisa, alface roxa e rúcula (1/3 cada)pesar cru13,7 kcal · P 1,7 g · C 2,5 g · G 0,1 g / 100 g
Mix de alface lisa, alface roxa e rúcula (1/3 cada)
—
ING031Clara de ovo de galinha cruapesar cru50 kcal · P 10,4 g · C 1,4 g · G 0,3 g / 100 g
Clara de ovo de galinha crua
—
ING032Creatina monohidratada Vitaforpesar como comprado / pronto para uso0 kcal · P 0 g · C 0 g · G 0 g / 100 g
Creatina monohidratada Vitafor
—

Temperos e molhos (117)

IDNomeDados
T001Molho de alcaparras e limão
ver dados
{
  "id": "T001",
  "name": "Molho de alcaparras e limão",
  "flavor_profile": "ácido, salino e cítrico",
  "best_uses": "peixe, frango, folhas",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-BB905BA93A"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T002Greek-style dressing
ver dados
{
  "id": "T002",
  "name": "Greek-style dressing",
  "flavor_profile": "orégano, acidez e azeite",
  "best_uses": "saladas, frango, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-BEC833BD84"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T003Caesar dressing
ver dados
{
  "id": "T003",
  "name": "Caesar dressing",
  "flavor_profile": "umami, alho e acidez",
  "best_uses": "folhas, frango; usar versão sem lactose/porção pequena",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-598D920C5E"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T004Honey-mustard dressing
ver dados
{
  "id": "T004",
  "name": "Honey-mustard dressing",
  "flavor_profile": "doce-ácido e mostarda",
  "best_uses": "frango, porco; mel em dose pequena",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-AF40B8B9A9"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T005Green goddess dressing
ver dados
{
  "id": "T005",
  "name": "Green goddess dressing",
  "flavor_profile": "herbal, fresco e cremoso",
  "best_uses": "frango, saladas, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-1F461F7B31"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T006Tahini dressing
ver dados
{
  "id": "T006",
  "name": "Tahini dressing",
  "flavor_profile": "gergelim tostado e limão",
  "best_uses": "frango, vegetais; contabilizar tahini se usado",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-3F757B26B9"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T007Saffron dressing
ver dados
{
  "id": "T007",
  "name": "Saffron dressing",
  "flavor_profile": "floral, aromático e ácido",
  "best_uses": "peixe, frango, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-E896E0D89D"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T008Pomegranate dressing
ver dados
{
  "id": "T008",
  "name": "Pomegranate dressing",
  "flavor_profile": "frutado e ácido",
  "best_uses": "folhas e carnes; controlar componente doce",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-65E09C76F8"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T009Easy salad dressing
ver dados
{
  "id": "T009",
  "name": "Easy salad dressing",
  "flavor_profile": "vinaigrette equilibrada",
  "best_uses": "folhas e legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-8711449663"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T010Pesto dressing
ver dados
{
  "id": "T010",
  "name": "Pesto dressing",
  "flavor_profile": "herbal, alho, queijo/nozes",
  "best_uses": "frango, legumes; contabilizar gordura",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-E6D348BC0F"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T011Creamy kefir dressing
ver dados
{
  "id": "T011",
  "name": "Creamy kefir dressing",
  "flavor_profile": "ácido e cremoso",
  "best_uses": "saladas e frango; usar kefir zero lactose se tolerado",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-52AB353C84"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T012Miso dressing
ver dados
{
  "id": "T012",
  "name": "Miso dressing",
  "flavor_profile": "umami, salino, levemente doce",
  "best_uses": "peixe, frango, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-69116DB631"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T013Chipotle & lime dressing
ver dados
{
  "id": "T013",
  "name": "Chipotle & lime dressing",
  "flavor_profile": "defumado, picante, cítrico",
  "best_uses": "frango, carne, saladas",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-31F13B7FE6"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T014French dressing
ver dados
{
  "id": "T014",
  "name": "French dressing",
  "flavor_profile": "mostarda, vinagre e azeite",
  "best_uses": "saladas e legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-80AD3979A8"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T015Zhoug-style dressing
ver dados
{
  "id": "T015",
  "name": "Zhoug-style dressing",
  "flavor_profile": "coentro/salsa, chilli e especiarias",
  "best_uses": "frango, peixe, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-7A24C0245C"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T016Bloody Mary dressing
ver dados
{
  "id": "T016",
  "name": "Bloody Mary dressing",
  "flavor_profile": "tomate, acidez, picância",
  "best_uses": "carne, saladas",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-002DE5342E"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T017Lemon & parmesan vinaigrette
ver dados
{
  "id": "T017",
  "name": "Lemon & parmesan vinaigrette",
  "flavor_profile": "cítrico, salgado e umami",
  "best_uses": "brócolis, vagem, folhas; parmesão pequeno",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-F66A693CBF"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T018Berry vinaigrette
ver dados
{
  "id": "T018",
  "name": "Berry vinaigrette",
  "flavor_profile": "frutado e ácido",
  "best_uses": "folhas; fruta em pequena quantidade",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-C9235888B5"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T019Charred lemon dressing
ver dados
{
  "id": "T019",
  "name": "Charred lemon dressing",
  "flavor_profile": "cítrico com amargor tostado",
  "best_uses": "peixe, frango, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-DA38AE4C89"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T020Green olive & herb dressing
ver dados
{
  "id": "T020",
  "name": "Green olive & herb dressing",
  "flavor_profile": "salino, herbal",
  "best_uses": "frango, peixe, saladas",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-B78F61FFB7"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T021Lemon dressing
ver dados
{
  "id": "T021",
  "name": "Lemon dressing",
  "flavor_profile": "cítrico limpo",
  "best_uses": "peixe, frango, folhas",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-F19C64EE87"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T022Buttermilk dressing
ver dados
{
  "id": "T022",
  "name": "Buttermilk dressing",
  "flavor_profile": "ácido, cremoso",
  "best_uses": "frango e saladas; usar base zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-E07B5B9F15"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T023Citrus dressing
ver dados
{
  "id": "T023",
  "name": "Citrus dressing",
  "flavor_profile": "cítrico e aromático",
  "best_uses": "peixe, frango, folhas",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-4DD72881AE"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T024Mint & elderflower dressing
ver dados
{
  "id": "T024",
  "name": "Mint & elderflower dressing",
  "flavor_profile": "mentolado e floral",
  "best_uses": "saladas; uso opcional/menos cotidiano",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-EC44C57F6A"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T025Watercress dressing
ver dados
{
  "id": "T025",
  "name": "Watercress dressing",
  "flavor_profile": "herbal, levemente picante",
  "best_uses": "peixe e saladas",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-70BB7B5806"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T026Anchovy dressing
ver dados
{
  "id": "T026",
  "name": "Anchovy dressing",
  "flavor_profile": "umami e salino",
  "best_uses": "carne, folhas, brócolis",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-E89ACA468C"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T027Chipotle yogurt dressing
ver dados
{
  "id": "T027",
  "name": "Chipotle yogurt dressing",
  "flavor_profile": "defumado, picante, cremoso",
  "best_uses": "frango, carne; iogurte zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-2D67B9DFAE"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T028Yogurt dressing
ver dados
{
  "id": "T028",
  "name": "Yogurt dressing",
  "flavor_profile": "ácido e cremoso",
  "best_uses": "frango, saladas; iogurte zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-C62E07B5AD"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T029Sesame dressing
ver dados
{
  "id": "T029",
  "name": "Sesame dressing",
  "flavor_profile": "gergelim tostado, umami",
  "best_uses": "vagem, frango, peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-6F9226DA82"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T030Watercress mayonnaise
ver dados
{
  "id": "T030",
  "name": "Watercress mayonnaise",
  "flavor_profile": "herbal e cremoso",
  "best_uses": "peixe/frango; usar pouca quantidade e contabilizar",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-778302BBCB"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T031Classic vinaigrette
ver dados
{
  "id": "T031",
  "name": "Classic vinaigrette",
  "flavor_profile": "ácido, azeite e mostarda",
  "best_uses": "folhas e legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-1E5EE3F844"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T032Chimichurri
ver dados
{
  "id": "T032",
  "name": "Chimichurri",
  "flavor_profile": "herbal, ácido, alho",
  "best_uses": "carne, frango, peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-3C1D56DA69"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T033Herby yogurt dressing
ver dados
{
  "id": "T033",
  "name": "Herby yogurt dressing",
  "flavor_profile": "ervas frescas e acidez",
  "best_uses": "frango, legumes; iogurte zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-22556F65B2"
  ],
  "rating_note": "coleção Good Food; avaliação publicada quando disponível"
}
T034Tomato sauce
ver dados
{
  "id": "T034",
  "name": "Tomato sauce",
  "flavor_profile": "tomate, alho e ervas",
  "best_uses": "carne, frango, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-07CF820CC3"
  ],
  "rating_note": "coleção Good Food"
}
T035Pesto clássico
ver dados
{
  "id": "T035",
  "name": "Pesto clássico",
  "flavor_profile": "manjericão, alho, queijo/nozes",
  "best_uses": "frango, peixe, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-A589F971FA"
  ],
  "rating_note": "coleção Good Food"
}
T036Rich ragù
ver dados
{
  "id": "T036",
  "name": "Rich ragù",
  "flavor_profile": "tomate e carne, longo cozimento",
  "best_uses": "carne moída e vegetais",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-BCA308B52D"
  ],
  "rating_note": "coleção Good Food"
}
T037Alfredo
ver dados
{
  "id": "T037",
  "name": "Alfredo",
  "flavor_profile": "cremoso, queijo e pimenta",
  "best_uses": "uso eventual; adaptar para zero lactose e pequena porção",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-8230D6214F"
  ],
  "rating_note": "coleção Good Food"
}
T038Cheese sauce
ver dados
{
  "id": "T038",
  "name": "Cheese sauce",
  "flavor_profile": "queijo e cremosidade",
  "best_uses": "legumes; versão zero lactose e dose medida",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-F23699F41A"
  ],
  "rating_note": "coleção Good Food"
}
T040Roasted pepper sauce
ver dados
{
  "id": "T040",
  "name": "Roasted pepper sauce",
  "flavor_profile": "pimentão assado, doce e defumado",
  "best_uses": "frango, peixe, carne",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-B5D0279EE4"
  ],
  "rating_note": "coleção Good Food"
}
T041White wine sauce
ver dados
{
  "id": "T041",
  "name": "White wine sauce",
  "flavor_profile": "ácido/aromático e amanteigado",
  "best_uses": "frango, peixe; adaptar gordura/lácteos",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-BB36DB7471"
  ],
  "rating_note": "coleção Good Food"
}
T042Basil pesto
ver dados
{
  "id": "T042",
  "name": "Basil pesto",
  "flavor_profile": "manjericão, alho, azeite",
  "best_uses": "frango, peixe, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-BA7A210FDE"
  ],
  "rating_note": "coleção Good Food"
}
T043Béchamel
ver dados
{
  "id": "T043",
  "name": "Béchamel",
  "flavor_profile": "cremoso, noz-moscada",
  "best_uses": "uso eventual; leite zero lactose e porção medida",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-703F211DF1"
  ],
  "rating_note": "coleção Good Food"
}
T044Healthy ragù
ver dados
{
  "id": "T044",
  "name": "Healthy ragù",
  "flavor_profile": "tomate, legumes e carne",
  "best_uses": "carne e legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-5D6663FD73"
  ],
  "rating_note": "coleção Good Food"
}
T045Squished tomato sauce
ver dados
{
  "id": "T045",
  "name": "Squished tomato sauce",
  "flavor_profile": "tomate fresco e rústico",
  "best_uses": "frango, peixe, carne",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-03F720EB4A"
  ],
  "rating_note": "coleção Good Food"
}
T046Mushroom sauce
ver dados
{
  "id": "T046",
  "name": "Mushroom sauce",
  "flavor_profile": "terroso e cremoso",
  "best_uses": "carne, frango; base zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-73F9A157BF"
  ],
  "rating_note": "coleção Good Food"
}
T047Kale pesto
ver dados
{
  "id": "T047",
  "name": "Kale pesto",
  "flavor_profile": "verde, herbal, alho/nozes",
  "best_uses": "frango e legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-2B8EFB3CCC"
  ],
  "rating_note": "coleção Good Food"
}
T048Marinara
ver dados
{
  "id": "T048",
  "name": "Marinara",
  "flavor_profile": "tomate, alho e ervas",
  "best_uses": "peixe, carne, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-4EE3018C6C"
  ],
  "rating_note": "coleção Good Food"
}
T049Roasted red pepper sauce
ver dados
{
  "id": "T049",
  "name": "Roasted red pepper sauce",
  "flavor_profile": "doce, tostado, levemente ácido",
  "best_uses": "frango, peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-0214292851"
  ],
  "rating_note": "coleção Good Food"
}
T050Marsala sauce
ver dados
{
  "id": "T050",
  "name": "Marsala sauce",
  "flavor_profile": "doce-aromático e umami",
  "best_uses": "carne; uso pequeno",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-D1A3FDBFBD"
  ],
  "rating_note": "coleção Good Food"
}
T051Wild garlic pesto
ver dados
{
  "id": "T051",
  "name": "Wild garlic pesto",
  "flavor_profile": "alho verde e herbal",
  "best_uses": "frango, peixe, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-745976BD58"
  ],
  "rating_note": "coleção Good Food"
}
T052Fresh herb sauce
ver dados
{
  "id": "T052",
  "name": "Fresh herb sauce",
  "flavor_profile": "herbal e ácido",
  "best_uses": "frango, peixe, carne",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-200BB48213"
  ],
  "rating_note": "coleção Good Food"
}
T053Rocket pesto
ver dados
{
  "id": "T053",
  "name": "Rocket pesto",
  "flavor_profile": "rúcula, alho e azeite",
  "best_uses": "frango, carne, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-18A3609784"
  ],
  "rating_note": "coleção Good Food"
}
T054Avocado hummus
ver dados
{
  "id": "T054",
  "name": "Avocado hummus",
  "flavor_profile": "cremoso, vegetal, limão",
  "best_uses": "frango, carne, legumes; contabilizar abacate/grão-de-bico",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-378B3E3365"
  ],
  "rating_note": "coleção Good Food"
}
T055Lemon & coriander hummus
ver dados
{
  "id": "T055",
  "name": "Lemon & coriander hummus",
  "flavor_profile": "cítrico, coentro e tahini",
  "best_uses": "frango/legumes; porção pequena",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-F1EB28DBAF"
  ],
  "rating_note": "coleção Good Food"
}
T056Tzatziki
ver dados
{
  "id": "T056",
  "name": "Tzatziki",
  "flavor_profile": "iogurte, pepino, alho, hortelã",
  "best_uses": "frango, peixe; iogurte zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-E1C3886561"
  ],
  "rating_note": "coleção Good Food"
}
T057Ultimate tomato salsa
ver dados
{
  "id": "T057",
  "name": "Ultimate tomato salsa",
  "flavor_profile": "tomate, cebola, chilli, limão",
  "best_uses": "carne, frango, peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-4C5E352285"
  ],
  "rating_note": "coleção Good Food"
}
T058Chickpea & red pepper dip
ver dados
{
  "id": "T058",
  "name": "Chickpea & red pepper dip",
  "flavor_profile": "terroso, doce de pimentão",
  "best_uses": "legumes/frango; carboidrato relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-8739FE7108"
  ],
  "rating_note": "coleção Good Food"
}
T059Smoky Spanish tomato & garlic dip
ver dados
{
  "id": "T059",
  "name": "Smoky Spanish tomato & garlic dip",
  "flavor_profile": "tomate, alho, defumado",
  "best_uses": "carne, frango, legumes",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-BD02CB717C"
  ],
  "rating_note": "coleção Good Food"
}
T061Spicy sweet potato hummus
ver dados
{
  "id": "T061",
  "name": "Spicy sweet potato hummus",
  "flavor_profile": "doce, especiado, tahini",
  "best_uses": "uso pequeno; carboidrato relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-CBD62AC4DF"
  ],
  "rating_note": "coleção Good Food"
}
T062Burnt aubergine raita
ver dados
{
  "id": "T062",
  "name": "Burnt aubergine raita",
  "flavor_profile": "defumado, iogurte e especiarias",
  "best_uses": "carne, frango; iogurte zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-B4E600A53B"
  ],
  "rating_note": "coleção Good Food"
}
T063Butternut harissa hummus
ver dados
{
  "id": "T063",
  "name": "Butternut harissa hummus",
  "flavor_profile": "abóbora, picância e tahini",
  "best_uses": "frango/legumes; contabilizar porção",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-F472C1B934"
  ],
  "rating_note": "coleção Good Food"
}
T065Peanut hummus
ver dados
{
  "id": "T065",
  "name": "Peanut hummus",
  "flavor_profile": "amendoim, tahini, limão",
  "best_uses": "frango; gordura relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-CF64E7C200"
  ],
  "rating_note": "coleção Good Food"
}
T066Pepper & walnut hummus
ver dados
{
  "id": "T066",
  "name": "Pepper & walnut hummus",
  "flavor_profile": "pimentão, noz, tahini",
  "best_uses": "carne/frango; gordura relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-C93F24B73D"
  ],
  "rating_note": "coleção Good Food"
}
T067Red pepper & tomato relish
ver dados
{
  "id": "T067",
  "name": "Red pepper & tomato relish",
  "flavor_profile": "doce-ácido e vegetal",
  "best_uses": "carne, frango, peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-AB0BD3A4F6"
  ],
  "rating_note": "coleção Good Food"
}
T068Tomato chilli harissa
ver dados
{
  "id": "T068",
  "name": "Tomato chilli harissa",
  "flavor_profile": "tomate e picância intensa",
  "best_uses": "frango, peixe, carne",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-F27BD25D8A"
  ],
  "rating_note": "coleção Good Food"
}
T069Smoky chipotle salsa
ver dados
{
  "id": "T069",
  "name": "Smoky chipotle salsa",
  "flavor_profile": "defumado e picante",
  "best_uses": "carne, frango, peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-E9DA34AF41"
  ],
  "rating_note": "coleção Good Food"
}
T070Pumpkin hummus
ver dados
{
  "id": "T070",
  "name": "Pumpkin hummus",
  "flavor_profile": "abóbora, tahini, especiarias",
  "best_uses": "frango/legumes; contabilizar",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-928668A1AC"
  ],
  "rating_note": "coleção Good Food"
}
T071Tomatillo salsa
ver dados
{
  "id": "T071",
  "name": "Tomatillo salsa",
  "flavor_profile": "ácido, verde, herbal",
  "best_uses": "frango, peixe, carne",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-18D1234114"
  ],
  "rating_note": "coleção Good Food"
}
T072Red onion Indian-spiced hummus
ver dados
{
  "id": "T072",
  "name": "Red onion Indian-spiced hummus",
  "flavor_profile": "especiado, cebola e tahini",
  "best_uses": "frango; porção pequena",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-CC753AAA09"
  ],
  "rating_note": "coleção Good Food"
}
T073Smashed bean dip
ver dados
{
  "id": "T073",
  "name": "Smashed bean dip",
  "flavor_profile": "terroso, cítrico",
  "best_uses": "legumes/carne; carboidrato relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-BE8A4D6631"
  ],
  "rating_note": "coleção Good Food"
}
T074Guacamole salsa
ver dados
{
  "id": "T074",
  "name": "Guacamole salsa",
  "flavor_profile": "abacate, limão e chilli",
  "best_uses": "frango, peixe, carne",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-16734F2576"
  ],
  "rating_note": "coleção Good Food"
}
T075Pineapple salsa
ver dados
{
  "id": "T075",
  "name": "Pineapple salsa",
  "flavor_profile": "frutado, ácido e picante",
  "best_uses": "peixe/frango; porção pequena pelo açúcar",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-122AB869FA"
  ],
  "rating_note": "coleção Good Food"
}
T076Sweetcorn salsa
ver dados
{
  "id": "T076",
  "name": "Sweetcorn salsa",
  "flavor_profile": "doce, ácido e crocante",
  "best_uses": "frango; carboidrato relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-9EF0CE3D2F"
  ],
  "rating_note": "coleção Good Food"
}
T077Crunchy corn & pepper salsa
ver dados
{
  "id": "T077",
  "name": "Crunchy corn & pepper salsa",
  "flavor_profile": "crocante, vegetal e cítrico",
  "best_uses": "carne/frango; carboidrato relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-4BC7A7CD2C"
  ],
  "rating_note": "coleção Good Food"
}
T078Salsa verde
ver dados
{
  "id": "T078",
  "name": "Salsa verde",
  "flavor_profile": "ervas, alcaparras/ácido",
  "best_uses": "peixe, carne, frango",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-1466307781"
  ],
  "rating_note": "coleção Good Food"
}
T079Tomato & avocado salsa
ver dados
{
  "id": "T079",
  "name": "Tomato & avocado salsa",
  "flavor_profile": "fresco, cremoso e cítrico",
  "best_uses": "frango, peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-3BE1991214"
  ],
  "rating_note": "coleção Good Food"
}
T080Smoky corn & avocado salsa
ver dados
{
  "id": "T080",
  "name": "Smoky corn & avocado salsa",
  "flavor_profile": "defumado, cremoso, doce",
  "best_uses": "frango/carne; controlar porção",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-4EB4703A44"
  ],
  "rating_note": "coleção Good Food"
}
T081Corn & black bean salsa
ver dados
{
  "id": "T081",
  "name": "Corn & black bean salsa",
  "flavor_profile": "terroso, cítrico, crocante",
  "best_uses": "frango; carboidrato relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-8B03BE0E6B"
  ],
  "rating_note": "coleção Good Food"
}
T082Red pepper & tomato salsa
ver dados
{
  "id": "T082",
  "name": "Red pepper & tomato salsa",
  "flavor_profile": "doce vegetal e ácido",
  "best_uses": "peixe/frango",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-11B373E180"
  ],
  "rating_note": "coleção Good Food"
}
T083Mexican corn salsa
ver dados
{
  "id": "T083",
  "name": "Mexican corn salsa",
  "flavor_profile": "milho, limão, chilli",
  "best_uses": "frango/carne; carboidrato relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-BE5878846F"
  ],
  "rating_note": "coleção Good Food"
}
T084Smoky tomato & pepper salsa
ver dados
{
  "id": "T084",
  "name": "Smoky tomato & pepper salsa",
  "flavor_profile": "defumado, tomate, pimentão",
  "best_uses": "carne/frango/peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-9E0303E95D"
  ],
  "rating_note": "coleção Good Food"
}
T086Charred sweetcorn salsa
ver dados
{
  "id": "T086",
  "name": "Charred sweetcorn salsa",
  "flavor_profile": "milho tostado, limão, chilli",
  "best_uses": "frango/carne; carboidrato relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-615F519BF5"
  ],
  "rating_note": "coleção Good Food"
}
T087Pico de gallo
ver dados
{
  "id": "T087",
  "name": "Pico de gallo",
  "flavor_profile": "tomate, cebola, jalapeño, coentro e limão",
  "best_uses": "carne, frango, peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-50DD8DE246"
  ],
  "rating_note": "coleção Good Food"
}
T088Peppercorn sauce
ver dados
{
  "id": "T088",
  "name": "Peppercorn sauce",
  "flavor_profile": "pimenta, cremoso e intenso",
  "best_uses": "carne; adaptar para zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-4A1A6FBE32"
  ],
  "rating_note": "coleção Good Food"
}
T089Dill sauce
ver dados
{
  "id": "T089",
  "name": "Dill sauce",
  "flavor_profile": "endro, ácido e herbal",
  "best_uses": "peixe/frango",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-EAEDA0D97D"
  ],
  "rating_note": "coleção Good Food"
}
T090Red wine jus
ver dados
{
  "id": "T090",
  "name": "Red wine jus",
  "flavor_profile": "vinho reduzido, profundo e ácido",
  "best_uses": "carne; uso pequeno",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-AE4921DC07"
  ],
  "rating_note": "coleção Good Food"
}
T091Whisky sauce
ver dados
{
  "id": "T091",
  "name": "Whisky sauce",
  "flavor_profile": "aromático, cremoso",
  "best_uses": "carne; uso eventual, base zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-A187187D06"
  ],
  "rating_note": "coleção Good Food"
}
T092Blue cheese sauce
ver dados
{
  "id": "T092",
  "name": "Blue cheese sauce",
  "flavor_profile": "forte, salgado e cremoso",
  "best_uses": "carne; usar queijo tolerado/zero lactose e pouco",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-AFD49200BB"
  ],
  "rating_note": "coleção Good Food"
}
T093Horseradish sauce
ver dados
{
  "id": "T093",
  "name": "Horseradish sauce",
  "flavor_profile": "picante nasal, ácido",
  "best_uses": "carne e peixe",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-E5B3620E2D"
  ],
  "rating_note": "coleção Good Food"
}
T094Creamy mushroom sauce
ver dados
{
  "id": "T094",
  "name": "Creamy mushroom sauce",
  "flavor_profile": "terroso e cremoso",
  "best_uses": "carne/frango; base zero lactose",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-288C1B6A2F"
  ],
  "rating_note": "coleção Good Food"
}
T095Béarnaise
ver dados
{
  "id": "T095",
  "name": "Béarnaise",
  "flavor_profile": "estragão, acidez, manteiga",
  "best_uses": "carne; muito energética, porção pequena",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-C0DE9A2FD6"
  ],
  "rating_note": "coleção Good Food"
}
T096Shallot & red wine sauce
ver dados
{
  "id": "T096",
  "name": "Shallot & red wine sauce",
  "flavor_profile": "cebola doce, vinho, acidez",
  "best_uses": "carne",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-074950F67D"
  ],
  "rating_note": "coleção Good Food"
}
T097Cacio e pepe butter
ver dados
{
  "id": "T097",
  "name": "Cacio e pepe butter",
  "flavor_profile": "pimenta e queijo",
  "best_uses": "legumes/carne; gordura relevante",
  "lactose_macro_note": "Sem lactose por natureza; confirmar ingredientes industrializados.",
  "source_ids": [
    "SRC-5E9C728B23"
  ],
  "rating_note": "coleção Good Food"
}
T098Cajun seasoning
ver dados
{
  "id": "T098",
  "name": "Cajun seasoning",
  "flavor_profile": "páprica, cayenne, cominho, alho, tomilho, orégano",
  "best_uses": "frango, peixe, carne",
  "lactose_macro_note": "Sem lactose.",
  "source_ids": [
    "SRC-4946CC88E7"
  ],
  "rating_note": "4.7/5 (19)"
}
T099Garam masala
ver dados
{
  "id": "T099",
  "name": "Garam masala",
  "flavor_profile": "coentro, cominho, pimenta, canela, cardamomo, cravo",
  "best_uses": "frango, carne, peixe",
  "lactose_macro_note": "Sem lactose.",
  "source_ids": [
    "SRC-19CE09B4C3"
  ],
  "rating_note": "5.0/5 (4)"
}
T100Spiced meat rub
ver dados
{
  "id": "T100",
  "name": "Spiced meat rub",
  "flavor_profile": "chilli, tomilho, alecrim, louro, aipo, pimenta",
  "best_uses": "carne, frango",
  "lactose_macro_note": "Sem lactose.",
  "source_ids": [
    "SRC-D724022058"
  ],
  "rating_note": "Good Food"
}
T101Jerk seasoning/marinade
ver dados
{
  "id": "T101",
  "name": "Jerk seasoning/marinade",
  "flavor_profile": "tomilho, pimenta-da-jamaica, chilli, alho, gengibre",
  "best_uses": "frango, porco, peixe",
  "lactose_macro_note": "Sem lactose.",
  "source_ids": [
    "SRC-4C16A79506"
  ],
  "rating_note": "Good Food"
}
T102Za’atar
ver dados
{
  "id": "T102",
  "name": "Za’atar",
  "flavor_profile": "gergelim, sumagre e ervas",
  "best_uses": "frango, peixe, legumes",
  "lactose_macro_note": "Sem lactose.",
  "source_ids": [
    "SRC-190D9CC93E"
  ],
  "rating_note": "4.6/5 em receita de referência"
}
T103Harissa
ver dados
{
  "id": "T103",
  "name": "Harissa",
  "flavor_profile": "chilli, especiarias, alho",
  "best_uses": "frango, peixe, carne, legumes",
  "lactose_macro_note": "Sem lactose; conferir pasta pronta.",
  "source_ids": [
    "SRC-1B9EE4F594"
  ],
  "rating_note": "coleção Good Food"
}
T104Green curry paste
ver dados
{
  "id": "T104",
  "name": "Green curry paste",
  "flavor_profile": "erva-cidreira/limão, chilli, coentro e especiarias",
  "best_uses": "frango, peixe, legumes",
  "lactose_macro_note": "Sem lactose; conferir pasta pronta.",
  "source_ids": [
    "SRC-DD1C8BA1DF"
  ],
  "rating_note": "4.6/5 (7)"
}
T105Homemade ketchup
ver dados
{
  "id": "T105",
  "name": "Homemade ketchup",
  "flavor_profile": "tomate, vinagre, especiarias, doce",
  "best_uses": "carne/frango; pequena dose",
  "lactose_macro_note": "Sem lactose; açúcar relevante.",
  "source_ids": [
    "SRC-519197AAC2"
  ],
  "rating_note": "4.3/5 (21)"
}
T106Brown sauce
ver dados
{
  "id": "T106",
  "name": "Brown sauce",
  "flavor_profile": "ácido, especiado, frutado",
  "best_uses": "carne; pequena dose",
  "lactose_macro_note": "Sem lactose; açúcar relevante.",
  "source_ids": [
    "SRC-A996D9396D"
  ],
  "rating_note": "4.0/5 (3)"
}
T107Mango chutney
ver dados
{
  "id": "T107",
  "name": "Mango chutney",
  "flavor_profile": "doce, ácido, especiado",
  "best_uses": "curry/frango; pequena dose",
  "lactose_macro_note": "Sem lactose; açúcar relevante.",
  "source_ids": [
    "SRC-E8CE4A5820"
  ],
  "rating_note": "4.3/5 (25)"
}
T108Guacamole
ver dados
{
  "id": "T108",
  "name": "Guacamole",
  "flavor_profile": "abacate, limão, coentro, chilli",
  "best_uses": "frango, peixe, carne",
  "lactose_macro_note": "Sem lactose; gordura relevante.",
  "source_ids": [
    "SRC-F4AC8174AF"
  ],
  "rating_note": "4.8/5 (210)"
}
T109Hoisin sauce
ver dados
{
  "id": "T109",
  "name": "Hoisin sauce",
  "flavor_profile": "doce, salgado e umami",
  "best_uses": "frango/carne; pequena dose",
  "lactose_macro_note": "Sem lactose em geral; conferir rótulo; açúcar relevante.",
  "source_ids": [
    "SRC-20E7353166"
  ],
  "rating_note": "3.8/5 (30)"
}
T110Baunilha e canela
ver dados
{
  "id": "T110",
  "name": "Baunilha e canela",
  "flavor_profile": "doce, quente e aromático",
  "best_uses": "panquecas, waffles, creme de ovos",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-63E09E4CC0"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T111Limão e baunilha
ver dados
{
  "id": "T111",
  "name": "Limão e baunilha",
  "flavor_profile": "cítrico, fresco e doce",
  "best_uses": "panquecas, custards, cremes",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-3E8E96B92A"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T112Café e canela
ver dados
{
  "id": "T112",
  "name": "Café e canela",
  "flavor_profile": "tostado, aromático e levemente amargo",
  "best_uses": "mug cake, cremes, panquecas",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-0D69818314"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T113Morango e baunilha
ver dados
{
  "id": "T113",
  "name": "Morango e baunilha",
  "flavor_profile": "frutado, ácido e doce",
  "best_uses": "parfaits, frozen yogurt, panquecas",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-E6C55B7F2D"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T114Noz-moscada e baunilha
ver dados
{
  "id": "T114",
  "name": "Noz-moscada e baunilha",
  "flavor_profile": "quente, custard clássico",
  "best_uses": "custards e preparos de ovos doces",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-3E8E96B92A"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T115Canela estilo cinnamon-roll
ver dados
{
  "id": "T115",
  "name": "Canela estilo cinnamon-roll",
  "flavor_profile": "canela intensa e doce",
  "best_uses": "panquecas e waffles",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-A8DDED5CA2"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T116Chocolate/cacau e baunilha
ver dados
{
  "id": "T116",
  "name": "Chocolate/cacau e baunilha",
  "flavor_profile": "chocolate amargo e doce",
  "best_uses": "mug cakes, brownies, cremes",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-4AEC2DDA8E"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T117Pumpkin spice
ver dados
{
  "id": "T117",
  "name": "Pumpkin spice",
  "flavor_profile": "canela, gengibre e especiarias quentes",
  "best_uses": "panquecas e bolos",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-AD6F9E9285"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T118Laranja e canela
ver dados
{
  "id": "T118",
  "name": "Laranja e canela",
  "flavor_profile": "cítrico doce e quente",
  "best_uses": "custards, panquecas e cremes",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-BDEFB6DD8B"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T119Cardamomo e baunilha
ver dados
{
  "id": "T119",
  "name": "Cardamomo e baunilha",
  "flavor_profile": "floral, quente e doce",
  "best_uses": "cremes e panquecas",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-BDEFB6DD8B"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T120Gengibre e canela
ver dados
{
  "id": "T120",
  "name": "Gengibre e canela",
  "flavor_profile": "picante, quente e doce",
  "best_uses": "bolos e panquecas",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-0D69818314"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}
T121Limão e canela
ver dados
{
  "id": "T121",
  "name": "Limão e canela",
  "flavor_profile": "cítrico e quente",
  "best_uses": "crepes e panquecas",
  "lactose_macro_note": "Sem lactose por natureza nos aromáticos; adoçante sem calorias quando usado.",
  "source_ids": [
    "SRC-2254C533D0"
  ],
  "rating_note": "Fonte culinária conhecida; perfil adaptado sem açúcar adicionado."
}

Receitas internas (361)

IDNomeDados
LEG-B01Omelete clássica de queijo + frango churrasco de limão e alho
ver dados
{
  "id": "LEG-B01",
  "name": "Omelete clássica de queijo + frango churrasco de limão e alho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira antiaderente; omelete dobrada; grelhado/chapado em tiras",
  "seasoning_text": "sal, pimenta-do-reino; limão, alho, páprica, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-4E6E7E712F",
    "SRC-EC9CFA9DDA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: sal, pimenta-do-reino; limão, alho, páprica, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete clássica de queijo",
        "source_method_ids": [
          "PM-SRC-4E6E7E712F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "batedor ou garfo",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços."
          },
          {
            "order": 4,
            "instruction": "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
          }
        ],
        "source_time_reference": [
          "cerca de 5 min de cocção na receita básica"
        ],
        "source_temperature_reference": [
          "fogo médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "omelete firme por fora e ainda macia/úmida no interior"
        ],
        "adaptation_guardrails": [
          "Usar apenas o queijo e demais recheios presentes na porção adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango churrasco de limão e alho",
        "source_method_ids": [
          "PM-SRC-EC9CFA9DDA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira antiaderente; omelete dobrada; grelhado/chapado em tiras",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4E6E7E712F",
        "PM-SRC-EC9CFA9DDA"
      ]
    }
  }
}
LEG-B02Omelete clássica de queijo + frango ao limão e tomilho
ver dados
{
  "id": "LEG-B02",
  "name": "Omelete clássica de queijo + frango ao limão e tomilho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira antiaderente; omelete dobrada; grelha bem quente; exterior marcado",
  "seasoning_text": "sal, pimenta-do-reino; limão, tomilho, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-4E6E7E712F",
    "SRC-ECA8E1F8D9"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: sal, pimenta-do-reino; limão, tomilho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 117,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete clássica de queijo",
        "source_method_ids": [
          "PM-SRC-4E6E7E712F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "batedor ou garfo",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços."
          },
          {
            "order": 4,
            "instruction": "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
          }
        ],
        "source_time_reference": [
          "cerca de 5 min de cocção na receita básica"
        ],
        "source_temperature_reference": [
          "fogo médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "omelete firme por fora e ainda macia/úmida no interior"
        ],
        "adaptation_guardrails": [
          "Usar apenas o queijo e demais recheios presentes na porção adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e tomilho",
        "source_method_ids": [
          "PM-SRC-ECA8E1F8D9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar peito de frango com raspas/suco de limão, alho, tomilho e azeite autorizado."
          },
          {
            "order": 2,
            "instruction": "Temperar e colocar em chapa/grelha já quente."
          },
          {
            "order": 3,
            "instruction": "Grelhar dos dois lados até bem marcado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 4–5 min por lado para peito"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "exterior marcado; interior cozido e suculento"
        ],
        "adaptation_guardrails": [
          "Não adicionar acompanhamentos da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira antiaderente; omelete dobrada; grelha bem quente; exterior marcado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4E6E7E712F",
        "PM-SRC-ECA8E1F8D9"
      ]
    }
  }
}
LEG-B03Omelete clássica de queijo + frango jerk
ver dados
{
  "id": "LEG-B03",
  "name": "Omelete clássica de queijo + frango jerk",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira antiaderente; omelete dobrada; grelhado/assado; marinada intensa",
  "seasoning_text": "sal, pimenta-do-reino; pimenta, tomilho, pimenta-da-jamaica, alho, gengibre",
  "seasoning_refs": [
    "T101",
    "T098"
  ],
  "source_ids": [
    "SRC-4E6E7E712F",
    "SRC-BA7CAF57D8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: sal, pimenta-do-reino; pimenta, tomilho, pimenta-da-jamaica, alho, gengibre — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 117,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete clássica de queijo",
        "source_method_ids": [
          "PM-SRC-4E6E7E712F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "batedor ou garfo",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços."
          },
          {
            "order": 4,
            "instruction": "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
          }
        ],
        "source_time_reference": [
          "cerca de 5 min de cocção na receita básica"
        ],
        "source_temperature_reference": [
          "fogo médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "omelete firme por fora e ainda macia/úmida no interior"
        ],
        "adaptation_guardrails": [
          "Usar apenas o queijo e demais recheios presentes na porção adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango jerk",
        "source_method_ids": [
          "PM-SRC-BA7CAF57D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira antiaderente; omelete dobrada; grelhado/assado; marinada intensa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4E6E7E712F",
        "PM-SRC-BA7CAF57D8"
      ]
    }
  }
}
LEG-B04Omelete clássica de queijo + frango ao iogurte e limão
ver dados
{
  "id": "LEG-B04",
  "name": "Omelete clássica de queijo + frango ao iogurte e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira antiaderente; omelete dobrada; marinado no iogurte e grelhado",
  "seasoning_text": "sal, pimenta-do-reino; limão, alho, ervas",
  "seasoning_refs": [
    "T028",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-4E6E7E712F",
    "SRC-2F02D19B19"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: sal, pimenta-do-reino; limão, alho, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 117,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete clássica de queijo",
        "source_method_ids": [
          "PM-SRC-4E6E7E712F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "batedor ou garfo",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços."
          },
          {
            "order": 4,
            "instruction": "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
          }
        ],
        "source_time_reference": [
          "cerca de 5 min de cocção na receita básica"
        ],
        "source_temperature_reference": [
          "fogo médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "omelete firme por fora e ainda macia/úmida no interior"
        ],
        "adaptation_guardrails": [
          "Usar apenas o queijo e demais recheios presentes na porção adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao iogurte e limão",
        "source_method_ids": [
          "PM-SRC-2F02D19B19"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Aplicar esta característica operacional da ficha: frigideira antiaderente."
          },
          {
            "order": 2,
            "instruction": "Aplicar esta característica operacional da ficha: omelete dobrada."
          },
          {
            "order": 3,
            "instruction": "Executar a etapa de selagem/grelha descrita no overview da receita, buscando dourado sem ressecar."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira antiaderente; omelete dobrada; marinado no iogurte e grelhado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-4E6E7E712F",
        "PM-SRC-2F02D19B19"
      ]
    }
  }
}
LEG-B05Omelete grega de tomate e cebola + frango ao limão e orégano
ver dados
{
  "id": "LEG-B05",
  "name": "Omelete grega de tomate e cebola + frango ao limão e orégano",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; recheio úmido de tomate/cebola; assado ou grelhado em cubos",
  "seasoning_text": "orégano, pimenta; limão, orégano, alho",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-09216EB51F",
    "SRC-E54E273CF8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, pimenta; limão, orégano, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 63,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete grega de tomate e cebola",
        "source_method_ids": [
          "PM-SRC-09216EB51F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill/forno",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer o grill/forno superior e bater os ovos."
          },
          {
            "order": 2,
            "instruction": "Dourar cebola em fogo alto; adicionar tomate e cozinhar brevemente até começar a amolecer."
          },
          {
            "order": 3,
            "instruction": "Baixar para fogo médio, adicionar os ovos e mexer enquanto começam a firmar, deixando pontos ainda líquidos."
          },
          {
            "order": 4,
            "instruction": "Distribuir o queijo da versão adaptada e finalizar sob grill até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "cebola ~4 min; tomate 1–2 min; ovos ~2 min no fogão; grill 5–6 min"
        ],
        "source_temperature_reference": [
          "fogo alto → médio; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "inflada, dourada e firme, sem ressecar"
        ],
        "adaptation_guardrails": [
          "Feta/azeitonas só entram se constarem na versão adaptada; quando indicado, muçarela zero lactose substitui feta.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; recheio úmido de tomate/cebola; assado ou grelhado em cubos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-09216EB51F",
        "PM-SRC-E54E273CF8"
      ]
    }
  }
}
LEG-B06Omelete grega de tomate e cebola + frango souvlaki
ver dados
{
  "id": "LEG-B06",
  "name": "Omelete grega de tomate e cebola + frango souvlaki",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; recheio úmido de tomate/cebola; cubos em espetos ou frigideira bem quente",
  "seasoning_text": "orégano, pimenta; limão, alho, orégano",
  "seasoning_refs": [
    "T002",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-09216EB51F",
    "SRC-48B8FB322E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, pimenta; limão, alho, orégano — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete grega de tomate e cebola",
        "source_method_ids": [
          "PM-SRC-09216EB51F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill/forno",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer o grill/forno superior e bater os ovos."
          },
          {
            "order": 2,
            "instruction": "Dourar cebola em fogo alto; adicionar tomate e cozinhar brevemente até começar a amolecer."
          },
          {
            "order": 3,
            "instruction": "Baixar para fogo médio, adicionar os ovos e mexer enquanto começam a firmar, deixando pontos ainda líquidos."
          },
          {
            "order": 4,
            "instruction": "Distribuir o queijo da versão adaptada e finalizar sob grill até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "cebola ~4 min; tomate 1–2 min; ovos ~2 min no fogão; grill 5–6 min"
        ],
        "source_temperature_reference": [
          "fogo alto → médio; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "inflada, dourada e firme, sem ressecar"
        ],
        "adaptation_guardrails": [
          "Feta/azeitonas só entram se constarem na versão adaptada; quando indicado, muçarela zero lactose substitui feta.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; recheio úmido de tomate/cebola; cubos em espetos ou frigideira bem quente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-09216EB51F",
        "PM-SRC-48B8FB322E"
      ]
    }
  }
}
LEG-B07Omelete grega de tomate e cebola + frango ao iogurte e limão
ver dados
{
  "id": "LEG-B07",
  "name": "Omelete grega de tomate e cebola + frango ao iogurte e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; recheio úmido de tomate/cebola; marinado no iogurte e grelhado",
  "seasoning_text": "orégano, pimenta; limão, alho, ervas",
  "seasoning_refs": [
    "T028",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-09216EB51F",
    "SRC-2F02D19B19"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, pimenta; limão, alho, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 63,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete grega de tomate e cebola",
        "source_method_ids": [
          "PM-SRC-09216EB51F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill/forno",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer o grill/forno superior e bater os ovos."
          },
          {
            "order": 2,
            "instruction": "Dourar cebola em fogo alto; adicionar tomate e cozinhar brevemente até começar a amolecer."
          },
          {
            "order": 3,
            "instruction": "Baixar para fogo médio, adicionar os ovos e mexer enquanto começam a firmar, deixando pontos ainda líquidos."
          },
          {
            "order": 4,
            "instruction": "Distribuir o queijo da versão adaptada e finalizar sob grill até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "cebola ~4 min; tomate 1–2 min; ovos ~2 min no fogão; grill 5–6 min"
        ],
        "source_temperature_reference": [
          "fogo alto → médio; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "inflada, dourada e firme, sem ressecar"
        ],
        "adaptation_guardrails": [
          "Feta/azeitonas só entram se constarem na versão adaptada; quando indicado, muçarela zero lactose substitui feta.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao iogurte e limão",
        "source_method_ids": [
          "PM-SRC-2F02D19B19"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Aplicar esta característica operacional da ficha: frigideira."
          },
          {
            "order": 2,
            "instruction": "Aplicar esta característica operacional da ficha: recheio úmido de tomate/cebola."
          },
          {
            "order": 3,
            "instruction": "Executar a etapa de selagem/grelha descrita no overview da receita, buscando dourado sem ressecar."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; recheio úmido de tomate/cebola; marinado no iogurte e grelhado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-09216EB51F",
        "PM-SRC-2F02D19B19"
      ]
    }
  }
}
LEG-B08Omelete grega de tomate e cebola + paillard de frango com limão e ervas
ver dados
{
  "id": "LEG-B08",
  "name": "Omelete grega de tomate e cebola + paillard de frango com limão e ervas",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; recheio úmido de tomate/cebola; filé fino batido e grelhado rapidamente",
  "seasoning_text": "orégano, pimenta; limão, salsa, ervas",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-09216EB51F",
    "SRC-1A3490590C"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, pimenta; limão, salsa, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 63,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete grega de tomate e cebola",
        "source_method_ids": [
          "PM-SRC-09216EB51F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill/forno",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer o grill/forno superior e bater os ovos."
          },
          {
            "order": 2,
            "instruction": "Dourar cebola em fogo alto; adicionar tomate e cozinhar brevemente até começar a amolecer."
          },
          {
            "order": 3,
            "instruction": "Baixar para fogo médio, adicionar os ovos e mexer enquanto começam a firmar, deixando pontos ainda líquidos."
          },
          {
            "order": 4,
            "instruction": "Distribuir o queijo da versão adaptada e finalizar sob grill até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "cebola ~4 min; tomate 1–2 min; ovos ~2 min no fogão; grill 5–6 min"
        ],
        "source_temperature_reference": [
          "fogo alto → médio; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "inflada, dourada e firme, sem ressecar"
        ],
        "adaptation_guardrails": [
          "Feta/azeitonas só entram se constarem na versão adaptada; quando indicado, muçarela zero lactose substitui feta.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "paillard de frango com limão e ervas",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; recheio úmido de tomate/cebola; filé fino batido e grelhado rapidamente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-09216EB51F",
        "PM-SRC-1A3490590C"
      ]
    }
  }
}
LEG-B09Omelete de cogumelos e manjericão + paillard de frango com limão e ervas
ver dados
{
  "id": "LEG-B09",
  "name": "Omelete de cogumelos e manjericão + paillard de frango com limão e ervas",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "cogumelo salteado; omelete macia; filé fino batido e grelhado rapidamente",
  "seasoning_text": "manjericão, alho, pimenta; limão, salsa, ervas",
  "seasoning_refs": [
    "T046",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-AA1FF0AF1B",
    "SRC-1A3490590C"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: manjericão, alho, pimenta; limão, salsa, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING025"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de cogumelos e manjericão",
        "source_method_ids": [
          "PM-SRC-AA1FF0AF1B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "tigela",
          "garfo/batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar/cozinhar os cogumelos primeiro até macios e com pouca água residual; a fonte usa 5–8 min."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos com os temperos/ervas autorizados."
          },
          {
            "order": 3,
            "instruction": "Adicionar à frigideira quente e, nos primeiros segundos, mover delicadamente partes firmes para permitir que ovo líquido alcance o fundo."
          },
          {
            "order": 4,
            "instruction": "Enquanto o centro ainda estiver ligeiramente úmido, adicionar cogumelos e demais recheios autorizados, dobrar e terminar brevemente; a fonte usa cerca de 1 min após rechear."
          }
        ],
        "source_time_reference": [
          "fonte: cogumelos 5–8 min; omelete ~1 min após rechear"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "cogumelos macios/dourados e omelete recém-firme, ainda macia"
        ],
        "adaptation_guardrails": [
          "Tomate e cream cheese da fonte só entram se autorizados; priorizar zero lactose quando aplicável.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "paillard de frango com limão e ervas",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "cogumelo salteado; omelete macia; filé fino batido e grelhado rapidamente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA1FF0AF1B",
        "PM-SRC-1A3490590C"
      ]
    }
  }
}
LEG-B10Omelete de cogumelos e manjericão + frango gyros
ver dados
{
  "id": "LEG-B10",
  "name": "Omelete de cogumelos e manjericão + frango gyros",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "cogumelo salteado; omelete macia; tiras bem douradas, molho de iogurte à parte",
  "seasoning_text": "manjericão, alho, pimenta; orégano, alho, limão, páprica",
  "seasoning_refs": [
    "T002",
    "T028",
    "T046"
  ],
  "source_ids": [
    "SRC-AA1FF0AF1B",
    "SRC-E18543333B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: manjericão, alho, pimenta; orégano, alho, limão, páprica — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.6,
    "best_rating_count": 100,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING025"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de cogumelos e manjericão",
        "source_method_ids": [
          "PM-SRC-AA1FF0AF1B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "tigela",
          "garfo/batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar/cozinhar os cogumelos primeiro até macios e com pouca água residual; a fonte usa 5–8 min."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos com os temperos/ervas autorizados."
          },
          {
            "order": 3,
            "instruction": "Adicionar à frigideira quente e, nos primeiros segundos, mover delicadamente partes firmes para permitir que ovo líquido alcance o fundo."
          },
          {
            "order": 4,
            "instruction": "Enquanto o centro ainda estiver ligeiramente úmido, adicionar cogumelos e demais recheios autorizados, dobrar e terminar brevemente; a fonte usa cerca de 1 min após rechear."
          }
        ],
        "source_time_reference": [
          "fonte: cogumelos 5–8 min; omelete ~1 min após rechear"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "cogumelos macios/dourados e omelete recém-firme, ainda macia"
        ],
        "adaptation_guardrails": [
          "Tomate e cream cheese da fonte só entram se autorizados; priorizar zero lactose quando aplicável.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango gyros",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "cogumelo salteado; omelete macia; tiras bem douradas, molho de iogurte à parte",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA1FF0AF1B",
        "PM-SRC-E18543333B"
      ]
    }
  }
}
LEG-B11Omelete de cogumelos e manjericão + frango churrasco de limão e alho
ver dados
{
  "id": "LEG-B11",
  "name": "Omelete de cogumelos e manjericão + frango churrasco de limão e alho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "cogumelo salteado; omelete macia; grelhado/chapado em tiras",
  "seasoning_text": "manjericão, alho, pimenta; limão, alho, páprica, pimenta",
  "seasoning_refs": [
    "T046",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-AA1FF0AF1B",
    "SRC-EC9CFA9DDA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: manjericão, alho, pimenta; limão, alho, páprica, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING025"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de cogumelos e manjericão",
        "source_method_ids": [
          "PM-SRC-AA1FF0AF1B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "tigela",
          "garfo/batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar/cozinhar os cogumelos primeiro até macios e com pouca água residual; a fonte usa 5–8 min."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos com os temperos/ervas autorizados."
          },
          {
            "order": 3,
            "instruction": "Adicionar à frigideira quente e, nos primeiros segundos, mover delicadamente partes firmes para permitir que ovo líquido alcance o fundo."
          },
          {
            "order": 4,
            "instruction": "Enquanto o centro ainda estiver ligeiramente úmido, adicionar cogumelos e demais recheios autorizados, dobrar e terminar brevemente; a fonte usa cerca de 1 min após rechear."
          }
        ],
        "source_time_reference": [
          "fonte: cogumelos 5–8 min; omelete ~1 min após rechear"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "cogumelos macios/dourados e omelete recém-firme, ainda macia"
        ],
        "adaptation_guardrails": [
          "Tomate e cream cheese da fonte só entram se autorizados; priorizar zero lactose quando aplicável.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango churrasco de limão e alho",
        "source_method_ids": [
          "PM-SRC-EC9CFA9DDA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "cogumelo salteado; omelete macia; grelhado/chapado em tiras",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA1FF0AF1B",
        "PM-SRC-EC9CFA9DDA"
      ]
    }
  }
}
LEG-B12Omelete de cogumelos e manjericão + frango ao limão e tomilho
ver dados
{
  "id": "LEG-B12",
  "name": "Omelete de cogumelos e manjericão + frango ao limão e tomilho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "cogumelo salteado; omelete macia; grelha bem quente; exterior marcado",
  "seasoning_text": "manjericão, alho, pimenta; limão, tomilho, pimenta",
  "seasoning_refs": [
    "T046",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-AA1FF0AF1B",
    "SRC-ECA8E1F8D9"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: manjericão, alho, pimenta; limão, tomilho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.4,
    "best_rating_count": 24,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING025"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de cogumelos e manjericão",
        "source_method_ids": [
          "PM-SRC-AA1FF0AF1B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "tigela",
          "garfo/batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar/cozinhar os cogumelos primeiro até macios e com pouca água residual; a fonte usa 5–8 min."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos com os temperos/ervas autorizados."
          },
          {
            "order": 3,
            "instruction": "Adicionar à frigideira quente e, nos primeiros segundos, mover delicadamente partes firmes para permitir que ovo líquido alcance o fundo."
          },
          {
            "order": 4,
            "instruction": "Enquanto o centro ainda estiver ligeiramente úmido, adicionar cogumelos e demais recheios autorizados, dobrar e terminar brevemente; a fonte usa cerca de 1 min após rechear."
          }
        ],
        "source_time_reference": [
          "fonte: cogumelos 5–8 min; omelete ~1 min após rechear"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "cogumelos macios/dourados e omelete recém-firme, ainda macia"
        ],
        "adaptation_guardrails": [
          "Tomate e cream cheese da fonte só entram se autorizados; priorizar zero lactose quando aplicável.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e tomilho",
        "source_method_ids": [
          "PM-SRC-ECA8E1F8D9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar peito de frango com raspas/suco de limão, alho, tomilho e azeite autorizado."
          },
          {
            "order": 2,
            "instruction": "Temperar e colocar em chapa/grelha já quente."
          },
          {
            "order": 3,
            "instruction": "Grelhar dos dois lados até bem marcado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 4–5 min por lado para peito"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "exterior marcado; interior cozido e suculento"
        ],
        "adaptation_guardrails": [
          "Não adicionar acompanhamentos da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "cogumelo salteado; omelete macia; grelha bem quente; exterior marcado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA1FF0AF1B",
        "PM-SRC-ECA8E1F8D9"
      ]
    }
  }
}
LEG-B13Omelete de tomate e ervas + frango ao limão e tomilho
ver dados
{
  "id": "LEG-B13",
  "name": "Omelete de tomate e ervas + frango ao limão e tomilho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "tomate selado e omelete fina; grelha bem quente; exterior marcado",
  "seasoning_text": "ervas frescas, pimenta; limão, tomilho, pimenta",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-A280B37386",
    "SRC-ECA8E1F8D9"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: ervas frescas, pimenta; limão, tomilho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.3,
    "best_rating_count": 40,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e ervas",
        "source_method_ids": [
          "PM-SRC-A280B37386"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira pequena antiaderente",
          "tigela",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Se tomate estiver autorizado, dourá-lo com o lado cortado para baixo até começar a amolecer e ganhar cor; reservar."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos com as ervas e pimenta autorizadas."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos à frigideira e mover delicadamente a parte que firma no fundo para permitir que ovo ainda líquido ocupe o espaço."
          },
          {
            "order": 4,
            "instruction": "Parar de mexer quando estiver quase cozido e deixar firmar em formato de omelete."
          }
        ],
        "source_time_reference": [
          "fonte: receita cozinha em ~5 min"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "omelete recém-firme e macia"
        ],
        "adaptation_guardrails": [
          "Tomate entra somente quando constar da adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e tomilho",
        "source_method_ids": [
          "PM-SRC-ECA8E1F8D9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar peito de frango com raspas/suco de limão, alho, tomilho e azeite autorizado."
          },
          {
            "order": 2,
            "instruction": "Temperar e colocar em chapa/grelha já quente."
          },
          {
            "order": 3,
            "instruction": "Grelhar dos dois lados até bem marcado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 4–5 min por lado para peito"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "exterior marcado; interior cozido e suculento"
        ],
        "adaptation_guardrails": [
          "Não adicionar acompanhamentos da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "tomate selado e omelete fina; grelha bem quente; exterior marcado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A280B37386",
        "PM-SRC-ECA8E1F8D9"
      ]
    }
  }
}
LEG-B14Omelete de tomate e ervas + frango assado com alecrim e limão
ver dados
{
  "id": "LEG-B14",
  "name": "Omelete de tomate e ervas + frango assado com alecrim e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "tomate selado e omelete fina; assado; finalizar sob grill para dourar",
  "seasoning_text": "ervas frescas, pimenta; alecrim, limão, alho, pimenta",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-A280B37386",
    "SRC-D6E6893D01"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: ervas frescas, pimenta; alecrim, limão, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e ervas",
        "source_method_ids": [
          "PM-SRC-A280B37386"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira pequena antiaderente",
          "tigela",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Se tomate estiver autorizado, dourá-lo com o lado cortado para baixo até começar a amolecer e ganhar cor; reservar."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos com as ervas e pimenta autorizadas."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos à frigideira e mover delicadamente a parte que firma no fundo para permitir que ovo ainda líquido ocupe o espaço."
          },
          {
            "order": 4,
            "instruction": "Parar de mexer quando estiver quase cozido e deixar firmar em formato de omelete."
          }
        ],
        "source_time_reference": [
          "fonte: receita cozinha em ~5 min"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "omelete recém-firme e macia"
        ],
        "adaptation_guardrails": [
          "Tomate entra somente quando constar da adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango assado com alecrim e limão",
        "source_method_ids": [
          "PM-SRC-D6E6893D01"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar alecrim, alho, limão e temperos autorizados com a gordura da porção."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango com essa mistura e assar até dourar."
          },
          {
            "order": 3,
            "instruction": "Descansar antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para frango inteiro: 1 h 10 min + 10 min de descanso"
        ],
        "source_temperature_reference": [
          "190°C / 170°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido; repousado antes do corte"
        ],
        "adaptation_guardrails": [
          "A fonte é para ave inteira; para peito/cubos, usar somente o perfil aromático e técnica de assar, não o tempo de 1 h 10 min.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "tomate selado e omelete fina; assado; finalizar sob grill para dourar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A280B37386",
        "PM-SRC-D6E6893D01"
      ]
    }
  }
}
LEG-B15Omelete de tomate e ervas + frango ao limão e orégano
ver dados
{
  "id": "LEG-B15",
  "name": "Omelete de tomate e ervas + frango ao limão e orégano",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "tomate selado e omelete fina; assado ou grelhado em cubos",
  "seasoning_text": "ervas frescas, pimenta; limão, orégano, alho",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-A280B37386",
    "SRC-E54E273CF8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: ervas frescas, pimenta; limão, orégano, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 141,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e ervas",
        "source_method_ids": [
          "PM-SRC-A280B37386"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira pequena antiaderente",
          "tigela",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Se tomate estiver autorizado, dourá-lo com o lado cortado para baixo até começar a amolecer e ganhar cor; reservar."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos com as ervas e pimenta autorizadas."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos à frigideira e mover delicadamente a parte que firma no fundo para permitir que ovo ainda líquido ocupe o espaço."
          },
          {
            "order": 4,
            "instruction": "Parar de mexer quando estiver quase cozido e deixar firmar em formato de omelete."
          }
        ],
        "source_time_reference": [
          "fonte: receita cozinha em ~5 min"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "omelete recém-firme e macia"
        ],
        "adaptation_guardrails": [
          "Tomate entra somente quando constar da adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "tomate selado e omelete fina; assado ou grelhado em cubos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A280B37386",
        "PM-SRC-E54E273CF8"
      ]
    }
  }
}
LEG-B16Omelete de tomate e ervas + frango souvlaki
ver dados
{
  "id": "LEG-B16",
  "name": "Omelete de tomate e ervas + frango souvlaki",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "tomate selado e omelete fina; cubos em espetos ou frigideira bem quente",
  "seasoning_text": "ervas frescas, pimenta; limão, alho, orégano",
  "seasoning_refs": [
    "T002",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-A280B37386",
    "SRC-48B8FB322E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: ervas frescas, pimenta; limão, alho, orégano — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e ervas",
        "source_method_ids": [
          "PM-SRC-A280B37386"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira pequena antiaderente",
          "tigela",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Se tomate estiver autorizado, dourá-lo com o lado cortado para baixo até começar a amolecer e ganhar cor; reservar."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos com as ervas e pimenta autorizadas."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos à frigideira e mover delicadamente a parte que firma no fundo para permitir que ovo ainda líquido ocupe o espaço."
          },
          {
            "order": 4,
            "instruction": "Parar de mexer quando estiver quase cozido e deixar firmar em formato de omelete."
          }
        ],
        "source_time_reference": [
          "fonte: receita cozinha em ~5 min"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "omelete recém-firme e macia"
        ],
        "adaptation_guardrails": [
          "Tomate entra somente quando constar da adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "tomate selado e omelete fina; cubos em espetos ou frigideira bem quente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A280B37386",
        "PM-SRC-48B8FB322E"
      ]
    }
  }
}
LEG-B17Omelete de tomate em estilo panqueca + frango souvlaki
ver dados
{
  "id": "LEG-B17",
  "name": "Omelete de tomate em estilo panqueca + frango souvlaki",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "omelete fina tipo panqueca, molho rápido de tomate; cubos em espetos ou frigideira bem quente",
  "seasoning_text": "pimenta, ervas; limão, alho, orégano",
  "seasoning_refs": [
    "T002",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-306EB737D8",
    "SRC-48B8FB322E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: pimenta, ervas; limão, alho, orégano — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate em estilo panqueca",
        "source_method_ids": [
          "PM-SRC-306EB737D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira grande para molho",
          "frigideira pequena antiaderente",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar pimentão/alho autorizados e reduzir o molho de tomate; a fonte cozinha vegetais ~5 min e depois reduz o molho 10–15 min."
          },
          {
            "order": 2,
            "instruction": "Bater o ovo com os temperos autorizados e pequena quantidade de água quando desejado."
          },
          {
            "order": 3,
            "instruction": "Cozinhar cada lâmina de omelete em frigideira pequena com película mínima de gordura por cerca de 1–2 min, até firme."
          },
          {
            "order": 4,
            "instruction": "Enrolar e servir com apenas o molho autorizado, evitando encharcar."
          }
        ],
        "source_time_reference": [
          "fonte: molho 5 min + 10–15 min; omelete fina 1–2 min cada"
        ],
        "source_temperature_reference": [
          "fogo médio; fervura suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "molho espesso e omelete fina, firme e flexível"
        ],
        "adaptation_guardrails": [
          "Pimentão, tomate e demais componentes só entram se autorizados pela porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "omelete fina tipo panqueca, molho rápido de tomate; cubos em espetos ou frigideira bem quente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-306EB737D8",
        "PM-SRC-48B8FB322E"
      ]
    }
  }
}
LEG-B18Omelete de tomate em estilo panqueca + frango ao iogurte e limão
ver dados
{
  "id": "LEG-B18",
  "name": "Omelete de tomate em estilo panqueca + frango ao iogurte e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "omelete fina tipo panqueca, molho rápido de tomate; marinado no iogurte e grelhado",
  "seasoning_text": "pimenta, ervas; limão, alho, ervas",
  "seasoning_refs": [
    "T028",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-306EB737D8",
    "SRC-2F02D19B19"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: pimenta, ervas; limão, alho, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 14,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate em estilo panqueca",
        "source_method_ids": [
          "PM-SRC-306EB737D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira grande para molho",
          "frigideira pequena antiaderente",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar pimentão/alho autorizados e reduzir o molho de tomate; a fonte cozinha vegetais ~5 min e depois reduz o molho 10–15 min."
          },
          {
            "order": 2,
            "instruction": "Bater o ovo com os temperos autorizados e pequena quantidade de água quando desejado."
          },
          {
            "order": 3,
            "instruction": "Cozinhar cada lâmina de omelete em frigideira pequena com película mínima de gordura por cerca de 1–2 min, até firme."
          },
          {
            "order": 4,
            "instruction": "Enrolar e servir com apenas o molho autorizado, evitando encharcar."
          }
        ],
        "source_time_reference": [
          "fonte: molho 5 min + 10–15 min; omelete fina 1–2 min cada"
        ],
        "source_temperature_reference": [
          "fogo médio; fervura suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "molho espesso e omelete fina, firme e flexível"
        ],
        "adaptation_guardrails": [
          "Pimentão, tomate e demais componentes só entram se autorizados pela porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao iogurte e limão",
        "source_method_ids": [
          "PM-SRC-2F02D19B19"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Aplicar esta característica operacional da ficha: omelete fina tipo panqueca, molho rápido de tomate."
          },
          {
            "order": 2,
            "instruction": "Executar a etapa de selagem/grelha descrita no overview da receita, buscando dourado sem ressecar."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "omelete fina tipo panqueca, molho rápido de tomate; marinado no iogurte e grelhado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-306EB737D8",
        "PM-SRC-2F02D19B19"
      ]
    }
  }
}
LEG-B19Omelete de tomate em estilo panqueca + paillard de frango com limão e ervas
ver dados
{
  "id": "LEG-B19",
  "name": "Omelete de tomate em estilo panqueca + paillard de frango com limão e ervas",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "omelete fina tipo panqueca, molho rápido de tomate; filé fino batido e grelhado rapidamente",
  "seasoning_text": "pimenta, ervas; limão, salsa, ervas",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-306EB737D8",
    "SRC-1A3490590C"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: pimenta, ervas; limão, salsa, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate em estilo panqueca",
        "source_method_ids": [
          "PM-SRC-306EB737D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira grande para molho",
          "frigideira pequena antiaderente",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar pimentão/alho autorizados e reduzir o molho de tomate; a fonte cozinha vegetais ~5 min e depois reduz o molho 10–15 min."
          },
          {
            "order": 2,
            "instruction": "Bater o ovo com os temperos autorizados e pequena quantidade de água quando desejado."
          },
          {
            "order": 3,
            "instruction": "Cozinhar cada lâmina de omelete em frigideira pequena com película mínima de gordura por cerca de 1–2 min, até firme."
          },
          {
            "order": 4,
            "instruction": "Enrolar e servir com apenas o molho autorizado, evitando encharcar."
          }
        ],
        "source_time_reference": [
          "fonte: molho 5 min + 10–15 min; omelete fina 1–2 min cada"
        ],
        "source_temperature_reference": [
          "fogo médio; fervura suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "molho espesso e omelete fina, firme e flexível"
        ],
        "adaptation_guardrails": [
          "Pimentão, tomate e demais componentes só entram se autorizados pela porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "paillard de frango com limão e ervas",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "omelete fina tipo panqueca, molho rápido de tomate; filé fino batido e grelhado rapidamente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-306EB737D8",
        "PM-SRC-1A3490590C"
      ]
    }
  }
}
LEG-B20Omelete de tomate em estilo panqueca + frango gyros
ver dados
{
  "id": "LEG-B20",
  "name": "Omelete de tomate em estilo panqueca + frango gyros",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "omelete fina tipo panqueca, molho rápido de tomate; tiras bem douradas, molho de iogurte à parte",
  "seasoning_text": "pimenta, ervas; orégano, alho, limão, páprica",
  "seasoning_refs": [
    "T002",
    "T028",
    "T034"
  ],
  "source_ids": [
    "SRC-306EB737D8",
    "SRC-E18543333B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: pimenta, ervas; orégano, alho, limão, páprica — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 14,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate em estilo panqueca",
        "source_method_ids": [
          "PM-SRC-306EB737D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira grande para molho",
          "frigideira pequena antiaderente",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar pimentão/alho autorizados e reduzir o molho de tomate; a fonte cozinha vegetais ~5 min e depois reduz o molho 10–15 min."
          },
          {
            "order": 2,
            "instruction": "Bater o ovo com os temperos autorizados e pequena quantidade de água quando desejado."
          },
          {
            "order": 3,
            "instruction": "Cozinhar cada lâmina de omelete em frigideira pequena com película mínima de gordura por cerca de 1–2 min, até firme."
          },
          {
            "order": 4,
            "instruction": "Enrolar e servir com apenas o molho autorizado, evitando encharcar."
          }
        ],
        "source_time_reference": [
          "fonte: molho 5 min + 10–15 min; omelete fina 1–2 min cada"
        ],
        "source_temperature_reference": [
          "fogo médio; fervura suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "molho espesso e omelete fina, firme e flexível"
        ],
        "adaptation_guardrails": [
          "Pimentão, tomate e demais componentes só entram se autorizados pela porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango gyros",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "omelete fina tipo panqueca, molho rápido de tomate; tiras bem douradas, molho de iogurte à parte",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-306EB737D8",
        "PM-SRC-E18543333B"
      ]
    }
  }
}
LEG-B21Frittata masala com salsa de abacate + frango jerk
ver dados
{
  "id": "LEG-B21",
  "name": "Frittata masala com salsa de abacate + frango jerk",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; salsa fresca servida à parte; grelhado/assado; marinada intensa",
  "seasoning_text": "garam masala, coentro, limão; pimenta, tomilho, pimenta-da-jamaica, alho, gengibre",
  "seasoning_refs": [
    "T101",
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-A3FD77E7A4",
    "SRC-BA7CAF57D8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala, coentro, limão; pimenta, tomilho, pimenta-da-jamaica, alho, gengibre — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 70,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024",
        "ING026"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata masala com salsa de abacate",
        "source_method_ids": [
          "PM-SRC-A3FD77E7A4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar a cebola lentamente e adicionar a pasta/especiarias masala por cerca de 1 min para liberar aroma."
          },
          {
            "order": 2,
            "instruction": "Adicionar tomate e pimenta autorizados e cozinhar até o tomate concentrar."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos batidos e ervas; cozinhar em fogo baixo até quase firmes."
          },
          {
            "order": 4,
            "instruction": "Finalizar sob grill alto até firmar e dourar levemente; servir a salsa/abacate à parte quando constar na porção."
          }
        ],
        "source_time_reference": [
          "cebola ~10 min; ovos 8–10 min; grill 3–5 min"
        ],
        "source_temperature_reference": [
          "fogo médio/baixo; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "frittata quase firme antes do grill e dourada no final"
        ],
        "adaptation_guardrails": [
          "Salsa/abacate só quando presentes na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango jerk",
        "source_method_ids": [
          "PM-SRC-BA7CAF57D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; salsa fresca servida à parte; grelhado/assado; marinada intensa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A3FD77E7A4",
        "PM-SRC-BA7CAF57D8"
      ]
    }
  }
}
LEG-B22Frittata masala com salsa de abacate + frango tikka
ver dados
{
  "id": "LEG-B22",
  "name": "Frittata masala com salsa de abacate + frango tikka",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; salsa fresca servida à parte; cubos marinados e grelhados/espetados",
  "seasoning_text": "garam masala, coentro, limão; curry/garam masala, gengibre, alho, limão",
  "seasoning_refs": [
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-A3FD77E7A4",
    "SRC-BF10506C58"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala, coentro, limão; curry/garam masala, gengibre, alho, limão — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024",
        "ING026"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata masala com salsa de abacate",
        "source_method_ids": [
          "PM-SRC-A3FD77E7A4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar a cebola lentamente e adicionar a pasta/especiarias masala por cerca de 1 min para liberar aroma."
          },
          {
            "order": 2,
            "instruction": "Adicionar tomate e pimenta autorizados e cozinhar até o tomate concentrar."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos batidos e ervas; cozinhar em fogo baixo até quase firmes."
          },
          {
            "order": 4,
            "instruction": "Finalizar sob grill alto até firmar e dourar levemente; servir a salsa/abacate à parte quando constar na porção."
          }
        ],
        "source_time_reference": [
          "cebola ~10 min; ovos 8–10 min; grill 3–5 min"
        ],
        "source_temperature_reference": [
          "fogo médio/baixo; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "frittata quase firme antes do grill e dourada no final"
        ],
        "adaptation_guardrails": [
          "Salsa/abacate só quando presentes na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango tikka",
        "source_method_ids": [
          "PM-SRC-BF10506C58"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; salsa fresca servida à parte; cubos marinados e grelhados/espetados",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A3FD77E7A4",
        "PM-SRC-BF10506C58"
      ]
    }
  }
}
LEG-B23Frittata masala com salsa de abacate + frango com limão e five-spice
ver dados
{
  "id": "LEG-B23",
  "name": "Frittata masala com salsa de abacate + frango com limão e five-spice",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; salsa fresca servida à parte; tiras salteadas rapidamente",
  "seasoning_text": "garam masala, coentro, limão; five-spice, limão, alho",
  "seasoning_refs": [
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-A3FD77E7A4",
    "SRC-025FA125E0"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala, coentro, limão; five-spice, limão, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 70,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024",
        "ING026"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata masala com salsa de abacate",
        "source_method_ids": [
          "PM-SRC-A3FD77E7A4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar a cebola lentamente e adicionar a pasta/especiarias masala por cerca de 1 min para liberar aroma."
          },
          {
            "order": 2,
            "instruction": "Adicionar tomate e pimenta autorizados e cozinhar até o tomate concentrar."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos batidos e ervas; cozinhar em fogo baixo até quase firmes."
          },
          {
            "order": 4,
            "instruction": "Finalizar sob grill alto até firmar e dourar levemente; servir a salsa/abacate à parte quando constar na porção."
          }
        ],
        "source_time_reference": [
          "cebola ~10 min; ovos 8–10 min; grill 3–5 min"
        ],
        "source_temperature_reference": [
          "fogo médio/baixo; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "frittata quase firme antes do grill e dourada no final"
        ],
        "adaptation_guardrails": [
          "Salsa/abacate só quando presentes na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango com limão e five-spice",
        "source_method_ids": [
          "PM-SRC-025FA125E0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "saco/tigela de marinada",
          "grelha ou barbecue"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar limão, gengibre, alho, five-spice e demais temperos autorizados; envolver o frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por pelo menos 10 min; a fonte permite até 24 h."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada e grelhar, virando ocasionalmente, até escurecer/dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte: ~20 min para coxas; marinada 10 min–24 h"
        ],
        "source_temperature_reference": [
          "grill alto/BBQ; controlar para não queimar"
        ],
        "texture_or_doneness_endpoint": [
          "escuro/dourado por fora e cozido"
        ],
        "adaptation_guardrails": [
          "Açúcar, sherry e molho de soja só entram se estiverem autorizados; para peito, reduzir tempo conforme espessura.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; salsa fresca servida à parte; tiras salteadas rapidamente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A3FD77E7A4",
        "PM-SRC-025FA125E0"
      ]
    }
  }
}
LEG-B24Frittata masala com salsa de abacate + frango curry caseiro
ver dados
{
  "id": "LEG-B24",
  "name": "Frittata masala com salsa de abacate + frango curry caseiro",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; salsa fresca servida à parte; cubos em molho curto e espesso",
  "seasoning_text": "garam masala, coentro, limão; curry, cominho, coentro, gengibre, alho",
  "seasoning_refs": [
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-A3FD77E7A4",
    "SRC-5F81012DF2"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala, coentro, limão; curry, cominho, coentro, gengibre, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 70,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024",
        "ING026"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata masala com salsa de abacate",
        "source_method_ids": [
          "PM-SRC-A3FD77E7A4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar a cebola lentamente e adicionar a pasta/especiarias masala por cerca de 1 min para liberar aroma."
          },
          {
            "order": 2,
            "instruction": "Adicionar tomate e pimenta autorizados e cozinhar até o tomate concentrar."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos batidos e ervas; cozinhar em fogo baixo até quase firmes."
          },
          {
            "order": 4,
            "instruction": "Finalizar sob grill alto até firmar e dourar levemente; servir a salsa/abacate à parte quando constar na porção."
          }
        ],
        "source_time_reference": [
          "cebola ~10 min; ovos 8–10 min; grill 3–5 min"
        ],
        "source_temperature_reference": [
          "fogo médio/baixo; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "frittata quase firme antes do grill e dourada no final"
        ],
        "adaptation_guardrails": [
          "Salsa/abacate só quando presentes na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango curry caseiro",
        "source_method_ids": [
          "PM-SRC-5F81012DF2"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira/panela larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e aromáticos; adicionar alho/gengibre e cozinhar brevemente."
          },
          {
            "order": 2,
            "instruction": "Adicionar o frango e dourar os cubos."
          },
          {
            "order": 3,
            "instruction": "Adicionar especiarias/pasta e os componentes de molho autorizados; cozinhar em fervura suave até o molho reduzir e aderir."
          },
          {
            "order": 4,
            "instruction": "Quando houver iogurte na adaptação, incorporar no final e evitar fervura forte."
          }
        ],
        "source_time_reference": [
          "fonte: cebola 8–10 min; aromáticos ~1 min; frango ~5 min antes do molho; molho 25–30 min"
        ],
        "source_temperature_reference": [
          "médio → fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "frango cozido e molho concentrado"
        ],
        "adaptation_guardrails": [
          "A versão “curry seco” pode omitir tomate/água/iogurte; nesse caso parar quando especiarias estiverem aderidas ao frango.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; salsa fresca servida à parte; cubos em molho curto e espesso",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A3FD77E7A4",
        "PM-SRC-5F81012DF2"
      ]
    }
  }
}
LEG-B25Frittata de tomate e queijo + frango assado com alecrim e limão
ver dados
{
  "id": "LEG-B25",
  "name": "Frittata de tomate e queijo + frango assado com alecrim e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; ricota original trocada por muçarela zero lactose; assado; finalizar sob grill para dourar",
  "seasoning_text": "ervas, pimenta; alecrim, limão, alho, pimenta",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-4B593C7FA1",
    "SRC-D6E6893D01"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: ervas, pimenta; alecrim, limão, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de tomate e queijo",
        "source_method_ids": [
          "PM-SRC-4B593C7FA1"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "forma/recipiente de forno",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar a cebola; adicionar tomate e cozinhar brevemente; murchar folhas/ervas quando previstas."
          },
          {
            "order": 2,
            "instruction": "Transferir para recipiente untado, distribuir o queijo autorizado e cobrir com ovos batidos."
          },
          {
            "order": 3,
            "instruction": "Assar até firme e levemente dourada."
          }
        ],
        "source_time_reference": [
          "forno 20–25 min na fonte"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro firme e superfície levemente dourada"
        ],
        "adaptation_guardrails": [
          "Ricota pode ser substituída por muçarela zero lactose conforme ficha; não reintroduzir espinafre se não estiver na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango assado com alecrim e limão",
        "source_method_ids": [
          "PM-SRC-D6E6893D01"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar alecrim, alho, limão e temperos autorizados com a gordura da porção."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango com essa mistura e assar até dourar."
          },
          {
            "order": 3,
            "instruction": "Descansar antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para frango inteiro: 1 h 10 min + 10 min de descanso"
        ],
        "source_temperature_reference": [
          "190°C / 170°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido; repousado antes do corte"
        ],
        "adaptation_guardrails": [
          "A fonte é para ave inteira; para peito/cubos, usar somente o perfil aromático e técnica de assar, não o tempo de 1 h 10 min.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; ricota original trocada por muçarela zero lactose; assado; finalizar sob grill para dourar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4B593C7FA1",
        "PM-SRC-D6E6893D01"
      ]
    }
  }
}
LEG-B26Frittata de tomate e queijo + frango ao limão e orégano
ver dados
{
  "id": "LEG-B26",
  "name": "Frittata de tomate e queijo + frango ao limão e orégano",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; ricota original trocada por muçarela zero lactose; assado ou grelhado em cubos",
  "seasoning_text": "ervas, pimenta; limão, orégano, alho",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-4B593C7FA1",
    "SRC-E54E273CF8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: ervas, pimenta; limão, orégano, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 141,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de tomate e queijo",
        "source_method_ids": [
          "PM-SRC-4B593C7FA1"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "forma/recipiente de forno",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar a cebola; adicionar tomate e cozinhar brevemente; murchar folhas/ervas quando previstas."
          },
          {
            "order": 2,
            "instruction": "Transferir para recipiente untado, distribuir o queijo autorizado e cobrir com ovos batidos."
          },
          {
            "order": 3,
            "instruction": "Assar até firme e levemente dourada."
          }
        ],
        "source_time_reference": [
          "forno 20–25 min na fonte"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro firme e superfície levemente dourada"
        ],
        "adaptation_guardrails": [
          "Ricota pode ser substituída por muçarela zero lactose conforme ficha; não reintroduzir espinafre se não estiver na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; ricota original trocada por muçarela zero lactose; assado ou grelhado em cubos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4B593C7FA1",
        "PM-SRC-E54E273CF8"
      ]
    }
  }
}
LEG-B27Frittata de tomate e queijo + frango souvlaki
ver dados
{
  "id": "LEG-B27",
  "name": "Frittata de tomate e queijo + frango souvlaki",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; ricota original trocada por muçarela zero lactose; cubos em espetos ou frigideira bem quente",
  "seasoning_text": "ervas, pimenta; limão, alho, orégano",
  "seasoning_refs": [
    "T002",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-4B593C7FA1",
    "SRC-48B8FB322E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: ervas, pimenta; limão, alho, orégano — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de tomate e queijo",
        "source_method_ids": [
          "PM-SRC-4B593C7FA1"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "forma/recipiente de forno",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar a cebola; adicionar tomate e cozinhar brevemente; murchar folhas/ervas quando previstas."
          },
          {
            "order": 2,
            "instruction": "Transferir para recipiente untado, distribuir o queijo autorizado e cobrir com ovos batidos."
          },
          {
            "order": 3,
            "instruction": "Assar até firme e levemente dourada."
          }
        ],
        "source_time_reference": [
          "forno 20–25 min na fonte"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro firme e superfície levemente dourada"
        ],
        "adaptation_guardrails": [
          "Ricota pode ser substituída por muçarela zero lactose conforme ficha; não reintroduzir espinafre se não estiver na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; ricota original trocada por muçarela zero lactose; cubos em espetos ou frigideira bem quente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4B593C7FA1",
        "PM-SRC-48B8FB322E"
      ]
    }
  }
}
LEG-B28Frittata de tomate e queijo + frango ao iogurte e limão
ver dados
{
  "id": "LEG-B28",
  "name": "Frittata de tomate e queijo + frango ao iogurte e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; ricota original trocada por muçarela zero lactose; marinado no iogurte e grelhado",
  "seasoning_text": "ervas, pimenta; limão, alho, ervas",
  "seasoning_refs": [
    "T028",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-4B593C7FA1",
    "SRC-2F02D19B19"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: ervas, pimenta; limão, alho, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.5,
    "best_rating_count": 34,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de tomate e queijo",
        "source_method_ids": [
          "PM-SRC-4B593C7FA1"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "forma/recipiente de forno",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar a cebola; adicionar tomate e cozinhar brevemente; murchar folhas/ervas quando previstas."
          },
          {
            "order": 2,
            "instruction": "Transferir para recipiente untado, distribuir o queijo autorizado e cobrir com ovos batidos."
          },
          {
            "order": 3,
            "instruction": "Assar até firme e levemente dourada."
          }
        ],
        "source_time_reference": [
          "forno 20–25 min na fonte"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro firme e superfície levemente dourada"
        ],
        "adaptation_guardrails": [
          "Ricota pode ser substituída por muçarela zero lactose conforme ficha; não reintroduzir espinafre se não estiver na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao iogurte e limão",
        "source_method_ids": [
          "PM-SRC-2F02D19B19"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Executar a etapa de forno/air fryer descrita no overview, usando o dourado e a textura como endpoint."
          },
          {
            "order": 2,
            "instruction": "Aplicar esta característica operacional da ficha: ricota original trocada por muçarela zero lactose."
          },
          {
            "order": 3,
            "instruction": "Executar a etapa de selagem/grelha descrita no overview da receita, buscando dourado sem ressecar."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; ricota original trocada por muçarela zero lactose; marinado no iogurte e grelhado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-4B593C7FA1",
        "PM-SRC-2F02D19B19"
      ]
    }
  }
}
LEG-B29Frittata de queijo + frango assado com alecrim e limão
ver dados
{
  "id": "LEG-B29",
  "name": "Frittata de queijo + frango assado com alecrim e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "forno ou air fryer; centro firme e bordas douradas; assado; finalizar sob grill para dourar",
  "seasoning_text": "cebolinha, pimenta; alecrim, limão, alho, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-DB8D4382D5",
    "SRC-D6E6893D01"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cebolinha, pimenta; alecrim, limão, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de queijo",
        "source_method_ids": [
          "PM-SRC-DB8D4382D5"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "recipiente redondo de forno (~16 cm na fonte)",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Preparar apenas os recheios autorizados e distribuir no recipiente de forno."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos e misturar aos componentes autorizados."
          },
          {
            "order": 3,
            "instruction": "Untar usando apenas a gordura prevista na alternativa e transferir para o recipiente."
          },
          {
            "order": 4,
            "instruction": "Assar até o ovo estar completamente firme; a fonte usa 180°C/160°C ventilado por cerca de 30 min."
          }
        ],
        "source_time_reference": [
          "fonte: ~30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro totalmente firme"
        ],
        "adaptation_guardrails": [
          "A fonte contém courgette/abobrinha; ela é explicitamente proibida nesta adaptação. Preservar apenas a técnica de frittata assada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango assado com alecrim e limão",
        "source_method_ids": [
          "PM-SRC-D6E6893D01"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar alecrim, alho, limão e temperos autorizados com a gordura da porção."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango com essa mistura e assar até dourar."
          },
          {
            "order": 3,
            "instruction": "Descansar antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para frango inteiro: 1 h 10 min + 10 min de descanso"
        ],
        "source_temperature_reference": [
          "190°C / 170°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido; repousado antes do corte"
        ],
        "adaptation_guardrails": [
          "A fonte é para ave inteira; para peito/cubos, usar somente o perfil aromático e técnica de assar, não o tempo de 1 h 10 min.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "forno ou air fryer; centro firme e bordas douradas; assado; finalizar sob grill para dourar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DB8D4382D5",
        "PM-SRC-D6E6893D01"
      ]
    }
  }
}
LEG-B30Frittata de queijo + frango churrasco de limão e alho
ver dados
{
  "id": "LEG-B30",
  "name": "Frittata de queijo + frango churrasco de limão e alho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "forno ou air fryer; centro firme e bordas douradas; grelhado/chapado em tiras",
  "seasoning_text": "cebolinha, pimenta; limão, alho, páprica, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-DB8D4382D5",
    "SRC-EC9CFA9DDA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cebolinha, pimenta; limão, alho, páprica, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de queijo",
        "source_method_ids": [
          "PM-SRC-DB8D4382D5"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "recipiente redondo de forno (~16 cm na fonte)",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Preparar apenas os recheios autorizados e distribuir no recipiente de forno."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos e misturar aos componentes autorizados."
          },
          {
            "order": 3,
            "instruction": "Untar usando apenas a gordura prevista na alternativa e transferir para o recipiente."
          },
          {
            "order": 4,
            "instruction": "Assar até o ovo estar completamente firme; a fonte usa 180°C/160°C ventilado por cerca de 30 min."
          }
        ],
        "source_time_reference": [
          "fonte: ~30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro totalmente firme"
        ],
        "adaptation_guardrails": [
          "A fonte contém courgette/abobrinha; ela é explicitamente proibida nesta adaptação. Preservar apenas a técnica de frittata assada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango churrasco de limão e alho",
        "source_method_ids": [
          "PM-SRC-EC9CFA9DDA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "forno ou air fryer; centro firme e bordas douradas; grelhado/chapado em tiras",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DB8D4382D5",
        "PM-SRC-EC9CFA9DDA"
      ]
    }
  }
}
LEG-B31Frittata de queijo + frango ao limão e tomilho
ver dados
{
  "id": "LEG-B31",
  "name": "Frittata de queijo + frango ao limão e tomilho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "forno ou air fryer; centro firme e bordas douradas; grelha bem quente; exterior marcado",
  "seasoning_text": "cebolinha, pimenta; limão, tomilho, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-DB8D4382D5",
    "SRC-ECA8E1F8D9"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cebolinha, pimenta; limão, tomilho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.5,
    "best_rating_count": 21,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de queijo",
        "source_method_ids": [
          "PM-SRC-DB8D4382D5"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "recipiente redondo de forno (~16 cm na fonte)",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Preparar apenas os recheios autorizados e distribuir no recipiente de forno."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos e misturar aos componentes autorizados."
          },
          {
            "order": 3,
            "instruction": "Untar usando apenas a gordura prevista na alternativa e transferir para o recipiente."
          },
          {
            "order": 4,
            "instruction": "Assar até o ovo estar completamente firme; a fonte usa 180°C/160°C ventilado por cerca de 30 min."
          }
        ],
        "source_time_reference": [
          "fonte: ~30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro totalmente firme"
        ],
        "adaptation_guardrails": [
          "A fonte contém courgette/abobrinha; ela é explicitamente proibida nesta adaptação. Preservar apenas a técnica de frittata assada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e tomilho",
        "source_method_ids": [
          "PM-SRC-ECA8E1F8D9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar peito de frango com raspas/suco de limão, alho, tomilho e azeite autorizado."
          },
          {
            "order": 2,
            "instruction": "Temperar e colocar em chapa/grelha já quente."
          },
          {
            "order": 3,
            "instruction": "Grelhar dos dois lados até bem marcado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 4–5 min por lado para peito"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "exterior marcado; interior cozido e suculento"
        ],
        "adaptation_guardrails": [
          "Não adicionar acompanhamentos da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "forno ou air fryer; centro firme e bordas douradas; grelha bem quente; exterior marcado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DB8D4382D5",
        "PM-SRC-ECA8E1F8D9"
      ]
    }
  }
}
LEG-B32Frittata de queijo + frango jerk
ver dados
{
  "id": "LEG-B32",
  "name": "Frittata de queijo + frango jerk",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "forno ou air fryer; centro firme e bordas douradas; grelhado/assado; marinada intensa",
  "seasoning_text": "cebolinha, pimenta; pimenta, tomilho, pimenta-da-jamaica, alho, gengibre",
  "seasoning_refs": [
    "T101",
    "T098"
  ],
  "source_ids": [
    "SRC-DB8D4382D5",
    "SRC-BA7CAF57D8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cebolinha, pimenta; pimenta, tomilho, pimenta-da-jamaica, alho, gengibre — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.5,
    "best_rating_count": 21,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de queijo",
        "source_method_ids": [
          "PM-SRC-DB8D4382D5"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "recipiente redondo de forno (~16 cm na fonte)",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Preparar apenas os recheios autorizados e distribuir no recipiente de forno."
          },
          {
            "order": 2,
            "instruction": "Bater os ovos e misturar aos componentes autorizados."
          },
          {
            "order": 3,
            "instruction": "Untar usando apenas a gordura prevista na alternativa e transferir para o recipiente."
          },
          {
            "order": 4,
            "instruction": "Assar até o ovo estar completamente firme; a fonte usa 180°C/160°C ventilado por cerca de 30 min."
          }
        ],
        "source_time_reference": [
          "fonte: ~30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro totalmente firme"
        ],
        "adaptation_guardrails": [
          "A fonte contém courgette/abobrinha; ela é explicitamente proibida nesta adaptação. Preservar apenas a técnica de frittata assada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango jerk",
        "source_method_ids": [
          "PM-SRC-BA7CAF57D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "forno ou air fryer; centro firme e bordas douradas; grelhado/assado; marinada intensa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DB8D4382D5",
        "PM-SRC-BA7CAF57D8"
      ]
    }
  }
}
LEG-B33Frittata estilo lorraine com frango + frango com limão e five-spice
ver dados
{
  "id": "LEG-B33",
  "name": "Frittata estilo lorraine com frango + frango com limão e five-spice",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; frango substitui bacon; tiras salteadas rapidamente",
  "seasoning_text": "noz-moscada, pimenta; five-spice, limão, alho",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-F0896CC580",
    "SRC-025FA125E0"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: noz-moscada, pimenta; five-spice, limão, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata estilo lorraine com frango",
        "source_method_ids": [
          "PM-SRC-F0896CC580"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "forma/ramequim",
          "batedor",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e incorporar os componentes autorizados da versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Distribuir o queijo e proteína previstos de modo uniforme na forma."
          },
          {
            "order": 3,
            "instruction": "Assar até o centro ficar firme e a superfície dourada."
          }
        ],
        "source_time_reference": [
          "30–35 min na fonte"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourada e completamente firme"
        ],
        "adaptation_guardrails": [
          "Na adaptação, frango pode substituir bacon/presunto; não adicionar leite/creme se não constar na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango com limão e five-spice",
        "source_method_ids": [
          "PM-SRC-025FA125E0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "saco/tigela de marinada",
          "grelha ou barbecue"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar limão, gengibre, alho, five-spice e demais temperos autorizados; envolver o frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por pelo menos 10 min; a fonte permite até 24 h."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada e grelhar, virando ocasionalmente, até escurecer/dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte: ~20 min para coxas; marinada 10 min–24 h"
        ],
        "source_temperature_reference": [
          "grill alto/BBQ; controlar para não queimar"
        ],
        "texture_or_doneness_endpoint": [
          "escuro/dourado por fora e cozido"
        ],
        "adaptation_guardrails": [
          "Açúcar, sherry e molho de soja só entram se estiverem autorizados; para peito, reduzir tempo conforme espessura.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; frango substitui bacon; tiras salteadas rapidamente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F0896CC580",
        "PM-SRC-025FA125E0"
      ]
    }
  }
}
LEG-B34Frittata estilo lorraine com frango + frango ao limão e orégano
ver dados
{
  "id": "LEG-B34",
  "name": "Frittata estilo lorraine com frango + frango ao limão e orégano",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; frango substitui bacon; assado ou grelhado em cubos",
  "seasoning_text": "noz-moscada, pimenta; limão, orégano, alho",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-F0896CC580",
    "SRC-E54E273CF8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: noz-moscada, pimenta; limão, orégano, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata estilo lorraine com frango",
        "source_method_ids": [
          "PM-SRC-F0896CC580"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "forma/ramequim",
          "batedor",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e incorporar os componentes autorizados da versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Distribuir o queijo e proteína previstos de modo uniforme na forma."
          },
          {
            "order": 3,
            "instruction": "Assar até o centro ficar firme e a superfície dourada."
          }
        ],
        "source_time_reference": [
          "30–35 min na fonte"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourada e completamente firme"
        ],
        "adaptation_guardrails": [
          "Na adaptação, frango pode substituir bacon/presunto; não adicionar leite/creme se não constar na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; frango substitui bacon; assado ou grelhado em cubos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F0896CC580",
        "PM-SRC-E54E273CF8"
      ]
    }
  }
}
LEG-B35Frittata estilo lorraine com frango + frango souvlaki
ver dados
{
  "id": "LEG-B35",
  "name": "Frittata estilo lorraine com frango + frango souvlaki",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; frango substitui bacon; cubos em espetos ou frigideira bem quente",
  "seasoning_text": "noz-moscada, pimenta; limão, alho, orégano",
  "seasoning_refs": [
    "T002",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-F0896CC580",
    "SRC-48B8FB322E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: noz-moscada, pimenta; limão, alho, orégano — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata estilo lorraine com frango",
        "source_method_ids": [
          "PM-SRC-F0896CC580"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "forma/ramequim",
          "batedor",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e incorporar os componentes autorizados da versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Distribuir o queijo e proteína previstos de modo uniforme na forma."
          },
          {
            "order": 3,
            "instruction": "Assar até o centro ficar firme e a superfície dourada."
          }
        ],
        "source_time_reference": [
          "30–35 min na fonte"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourada e completamente firme"
        ],
        "adaptation_guardrails": [
          "Na adaptação, frango pode substituir bacon/presunto; não adicionar leite/creme se não constar na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; frango substitui bacon; cubos em espetos ou frigideira bem quente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F0896CC580",
        "PM-SRC-48B8FB322E"
      ]
    }
  }
}
LEG-B36Frittata estilo lorraine com frango + frango assado com alecrim e limão
ver dados
{
  "id": "LEG-B36",
  "name": "Frittata estilo lorraine com frango + frango assado com alecrim e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frittata assada; frango substitui bacon; assado; finalizar sob grill para dourar",
  "seasoning_text": "noz-moscada, pimenta; alecrim, limão, alho, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-F0896CC580",
    "SRC-D6E6893D01"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: noz-moscada, pimenta; alecrim, limão, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata estilo lorraine com frango",
        "source_method_ids": [
          "PM-SRC-F0896CC580"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "forma/ramequim",
          "batedor",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e incorporar os componentes autorizados da versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Distribuir o queijo e proteína previstos de modo uniforme na forma."
          },
          {
            "order": 3,
            "instruction": "Assar até o centro ficar firme e a superfície dourada."
          }
        ],
        "source_time_reference": [
          "30–35 min na fonte"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourada e completamente firme"
        ],
        "adaptation_guardrails": [
          "Na adaptação, frango pode substituir bacon/presunto; não adicionar leite/creme se não constar na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango assado com alecrim e limão",
        "source_method_ids": [
          "PM-SRC-D6E6893D01"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar alecrim, alho, limão e temperos autorizados com a gordura da porção."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango com essa mistura e assar até dourar."
          },
          {
            "order": 3,
            "instruction": "Descansar antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para frango inteiro: 1 h 10 min + 10 min de descanso"
        ],
        "source_temperature_reference": [
          "190°C / 170°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido; repousado antes do corte"
        ],
        "adaptation_guardrails": [
          "A fonte é para ave inteira; para peito/cubos, usar somente o perfil aromático e técnica de assar, não o tempo de 1 h 10 min.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frittata assada; frango substitui bacon; assado; finalizar sob grill para dourar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F0896CC580",
        "PM-SRC-D6E6893D01"
      ]
    }
  }
}
LEG-B37Omelete de abóbora e chilli + frango tikka
ver dados
{
  "id": "LEG-B37",
  "name": "Omelete de abóbora e chilli + frango tikka",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "abóbora pré-cozida; omelete dobrada; cubos marinados e grelhados/espetados",
  "seasoning_text": "chilli, coentro ou salsinha; curry/garam masala, gengibre, alho, limão",
  "seasoning_refs": [
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-2583A03398",
    "SRC-BF10506C58"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: chilli, coentro ou salsinha; curry/garam masala, gengibre, alho, limão — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING017"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING017",
          "raw_state": "Abóbora moranga crua, sem sementes, descascada e em cubos, pronta para cozinhar",
          "yield_factor": 0.28,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de abóbora e chilli",
        "source_method_ids": [
          "PM-SRC-2583A03398"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-cozinhar/dourar a abóbora até macia nas bordas."
          },
          {
            "order": 2,
            "instruction": "Adicionar alho/pimenta autorizados brevemente para perfumar."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos e queijo da adaptação; firmar a base no fogão."
          },
          {
            "order": 4,
            "instruction": "Finalizar sob grill até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "fonte: abóbora ~10 min; aromáticos ~2 min; fogão ~5 min; grill ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira média; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "abóbora macia; omelete inflada e dourada"
        ],
        "adaptation_guardrails": [
          "Halloumi só é usado se autorizado; normalmente a adaptação usa outro queijo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango tikka",
        "source_method_ids": [
          "PM-SRC-BF10506C58"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "abóbora pré-cozida; omelete dobrada; cubos marinados e grelhados/espetados",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2583A03398",
        "PM-SRC-BF10506C58"
      ]
    }
  }
}
LEG-B38Omelete de abóbora e chilli + frango assado com alecrim e limão
ver dados
{
  "id": "LEG-B38",
  "name": "Omelete de abóbora e chilli + frango assado com alecrim e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "abóbora pré-cozida; omelete dobrada; assado; finalizar sob grill para dourar",
  "seasoning_text": "chilli, coentro ou salsinha; alecrim, limão, alho, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-2583A03398",
    "SRC-D6E6893D01"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: chilli, coentro ou salsinha; alecrim, limão, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING017"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING017",
          "raw_state": "Abóbora moranga crua, sem sementes, descascada e em cubos, pronta para cozinhar",
          "yield_factor": 0.28,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de abóbora e chilli",
        "source_method_ids": [
          "PM-SRC-2583A03398"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-cozinhar/dourar a abóbora até macia nas bordas."
          },
          {
            "order": 2,
            "instruction": "Adicionar alho/pimenta autorizados brevemente para perfumar."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos e queijo da adaptação; firmar a base no fogão."
          },
          {
            "order": 4,
            "instruction": "Finalizar sob grill até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "fonte: abóbora ~10 min; aromáticos ~2 min; fogão ~5 min; grill ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira média; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "abóbora macia; omelete inflada e dourada"
        ],
        "adaptation_guardrails": [
          "Halloumi só é usado se autorizado; normalmente a adaptação usa outro queijo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango assado com alecrim e limão",
        "source_method_ids": [
          "PM-SRC-D6E6893D01"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar alecrim, alho, limão e temperos autorizados com a gordura da porção."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango com essa mistura e assar até dourar."
          },
          {
            "order": 3,
            "instruction": "Descansar antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para frango inteiro: 1 h 10 min + 10 min de descanso"
        ],
        "source_temperature_reference": [
          "190°C / 170°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido; repousado antes do corte"
        ],
        "adaptation_guardrails": [
          "A fonte é para ave inteira; para peito/cubos, usar somente o perfil aromático e técnica de assar, não o tempo de 1 h 10 min.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "abóbora pré-cozida; omelete dobrada; assado; finalizar sob grill para dourar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2583A03398",
        "PM-SRC-D6E6893D01"
      ]
    }
  }
}
LEG-B39Omelete de abóbora e chilli + frango ao limão e tomilho
ver dados
{
  "id": "LEG-B39",
  "name": "Omelete de abóbora e chilli + frango ao limão e tomilho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "abóbora pré-cozida; omelete dobrada; grelha bem quente; exterior marcado",
  "seasoning_text": "chilli, coentro ou salsinha; limão, tomilho, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-2583A03398",
    "SRC-ECA8E1F8D9"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: chilli, coentro ou salsinha; limão, tomilho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING017"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING017",
          "raw_state": "Abóbora moranga crua, sem sementes, descascada e em cubos, pronta para cozinhar",
          "yield_factor": 0.28,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de abóbora e chilli",
        "source_method_ids": [
          "PM-SRC-2583A03398"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-cozinhar/dourar a abóbora até macia nas bordas."
          },
          {
            "order": 2,
            "instruction": "Adicionar alho/pimenta autorizados brevemente para perfumar."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos e queijo da adaptação; firmar a base no fogão."
          },
          {
            "order": 4,
            "instruction": "Finalizar sob grill até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "fonte: abóbora ~10 min; aromáticos ~2 min; fogão ~5 min; grill ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira média; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "abóbora macia; omelete inflada e dourada"
        ],
        "adaptation_guardrails": [
          "Halloumi só é usado se autorizado; normalmente a adaptação usa outro queijo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e tomilho",
        "source_method_ids": [
          "PM-SRC-ECA8E1F8D9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar peito de frango com raspas/suco de limão, alho, tomilho e azeite autorizado."
          },
          {
            "order": 2,
            "instruction": "Temperar e colocar em chapa/grelha já quente."
          },
          {
            "order": 3,
            "instruction": "Grelhar dos dois lados até bem marcado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 4–5 min por lado para peito"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "exterior marcado; interior cozido e suculento"
        ],
        "adaptation_guardrails": [
          "Não adicionar acompanhamentos da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "abóbora pré-cozida; omelete dobrada; grelha bem quente; exterior marcado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2583A03398",
        "PM-SRC-ECA8E1F8D9"
      ]
    }
  }
}
LEG-B40Omelete de abóbora e chilli + frango curry caseiro
ver dados
{
  "id": "LEG-B40",
  "name": "Omelete de abóbora e chilli + frango curry caseiro",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "abóbora pré-cozida; omelete dobrada; cubos em molho curto e espesso",
  "seasoning_text": "chilli, coentro ou salsinha; curry, cominho, coentro, gengibre, alho",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-2583A03398",
    "SRC-5F81012DF2"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: chilli, coentro ou salsinha; curry, cominho, coentro, gengibre, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING017",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING017",
          "raw_state": "Abóbora moranga crua, sem sementes, descascada e em cubos, pronta para cozinhar",
          "yield_factor": 0.28,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de abóbora e chilli",
        "source_method_ids": [
          "PM-SRC-2583A03398"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-cozinhar/dourar a abóbora até macia nas bordas."
          },
          {
            "order": 2,
            "instruction": "Adicionar alho/pimenta autorizados brevemente para perfumar."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos e queijo da adaptação; firmar a base no fogão."
          },
          {
            "order": 4,
            "instruction": "Finalizar sob grill até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "fonte: abóbora ~10 min; aromáticos ~2 min; fogão ~5 min; grill ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira média; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "abóbora macia; omelete inflada e dourada"
        ],
        "adaptation_guardrails": [
          "Halloumi só é usado se autorizado; normalmente a adaptação usa outro queijo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango curry caseiro",
        "source_method_ids": [
          "PM-SRC-5F81012DF2"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira/panela larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e aromáticos; adicionar alho/gengibre e cozinhar brevemente."
          },
          {
            "order": 2,
            "instruction": "Adicionar o frango e dourar os cubos."
          },
          {
            "order": 3,
            "instruction": "Adicionar especiarias/pasta e os componentes de molho autorizados; cozinhar em fervura suave até o molho reduzir e aderir."
          },
          {
            "order": 4,
            "instruction": "Quando houver iogurte na adaptação, incorporar no final e evitar fervura forte."
          }
        ],
        "source_time_reference": [
          "fonte: cebola 8–10 min; aromáticos ~1 min; frango ~5 min antes do molho; molho 25–30 min"
        ],
        "source_temperature_reference": [
          "médio → fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "frango cozido e molho concentrado"
        ],
        "adaptation_guardrails": [
          "A versão “curry seco” pode omitir tomate/água/iogurte; nesse caso parar quando especiarias estiverem aderidas ao frango.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "abóbora pré-cozida; omelete dobrada; cubos em molho curto e espesso",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2583A03398",
        "PM-SRC-5F81012DF2"
      ]
    }
  }
}
LEG-B41Omelete de tomate e queijo tipo feta + paillard de frango com limão e ervas
ver dados
{
  "id": "LEG-B41",
  "name": "Omelete de tomate e queijo tipo feta + paillard de frango com limão e ervas",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; muçarela zero lactose substitui feta; filé fino batido e grelhado rapidamente",
  "seasoning_text": "orégano, pimenta; limão, salsa, ervas",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-39E3863860",
    "SRC-1A3490590C"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, pimenta; limão, salsa, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e queijo tipo feta",
        "source_method_ids": [
          "PM-SRC-39E3863860"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "garfo ou batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer uma fina camada da gordura prevista e adicionar os ovos batidos."
          },
          {
            "order": 2,
            "instruction": "Mover o ovo com o garfo/espátula enquanto firma, preservando centro ligeiramente úmido."
          },
          {
            "order": 3,
            "instruction": "Adicionar tomate e o queijo permitido pela adaptação, dobrar e cozinhar brevemente para terminar de firmar."
          }
        ],
        "source_time_reference": [
          "aprox. 5 min de cocção"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "dobrada, macia e com centro recém-firme"
        ],
        "adaptation_guardrails": [
          "Na adaptação, usar somente o queijo e tomate previstos na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "paillard de frango com limão e ervas",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; muçarela zero lactose substitui feta; filé fino batido e grelhado rapidamente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-39E3863860",
        "PM-SRC-1A3490590C"
      ]
    }
  }
}
LEG-B42Omelete de tomate e queijo tipo feta + frango gyros
ver dados
{
  "id": "LEG-B42",
  "name": "Omelete de tomate e queijo tipo feta + frango gyros",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; muçarela zero lactose substitui feta; tiras bem douradas, molho de iogurte à parte",
  "seasoning_text": "orégano, pimenta; orégano, alho, limão, páprica",
  "seasoning_refs": [
    "T002",
    "T028",
    "T034"
  ],
  "source_ids": [
    "SRC-39E3863860",
    "SRC-E18543333B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, pimenta; orégano, alho, limão, páprica — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e queijo tipo feta",
        "source_method_ids": [
          "PM-SRC-39E3863860"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "garfo ou batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer uma fina camada da gordura prevista e adicionar os ovos batidos."
          },
          {
            "order": 2,
            "instruction": "Mover o ovo com o garfo/espátula enquanto firma, preservando centro ligeiramente úmido."
          },
          {
            "order": 3,
            "instruction": "Adicionar tomate e o queijo permitido pela adaptação, dobrar e cozinhar brevemente para terminar de firmar."
          }
        ],
        "source_time_reference": [
          "aprox. 5 min de cocção"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "dobrada, macia e com centro recém-firme"
        ],
        "adaptation_guardrails": [
          "Na adaptação, usar somente o queijo e tomate previstos na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango gyros",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; muçarela zero lactose substitui feta; tiras bem douradas, molho de iogurte à parte",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-39E3863860",
        "PM-SRC-E18543333B"
      ]
    }
  }
}
LEG-B43Omelete de tomate e queijo tipo feta + frango churrasco de limão e alho
ver dados
{
  "id": "LEG-B43",
  "name": "Omelete de tomate e queijo tipo feta + frango churrasco de limão e alho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; muçarela zero lactose substitui feta; grelhado/chapado em tiras",
  "seasoning_text": "orégano, pimenta; limão, alho, páprica, pimenta",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-39E3863860",
    "SRC-EC9CFA9DDA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, pimenta; limão, alho, páprica, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e queijo tipo feta",
        "source_method_ids": [
          "PM-SRC-39E3863860"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "garfo ou batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer uma fina camada da gordura prevista e adicionar os ovos batidos."
          },
          {
            "order": 2,
            "instruction": "Mover o ovo com o garfo/espátula enquanto firma, preservando centro ligeiramente úmido."
          },
          {
            "order": 3,
            "instruction": "Adicionar tomate e o queijo permitido pela adaptação, dobrar e cozinhar brevemente para terminar de firmar."
          }
        ],
        "source_time_reference": [
          "aprox. 5 min de cocção"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "dobrada, macia e com centro recém-firme"
        ],
        "adaptation_guardrails": [
          "Na adaptação, usar somente o queijo e tomate previstos na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango churrasco de limão e alho",
        "source_method_ids": [
          "PM-SRC-EC9CFA9DDA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; muçarela zero lactose substitui feta; grelhado/chapado em tiras",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-39E3863860",
        "PM-SRC-EC9CFA9DDA"
      ]
    }
  }
}
LEG-B44Omelete de tomate e queijo tipo feta + frango ao limão e tomilho
ver dados
{
  "id": "LEG-B44",
  "name": "Omelete de tomate e queijo tipo feta + frango ao limão e tomilho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; muçarela zero lactose substitui feta; grelha bem quente; exterior marcado",
  "seasoning_text": "orégano, pimenta; limão, tomilho, pimenta",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-39E3863860",
    "SRC-ECA8E1F8D9"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, pimenta; limão, tomilho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e queijo tipo feta",
        "source_method_ids": [
          "PM-SRC-39E3863860"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "garfo ou batedor",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer uma fina camada da gordura prevista e adicionar os ovos batidos."
          },
          {
            "order": 2,
            "instruction": "Mover o ovo com o garfo/espátula enquanto firma, preservando centro ligeiramente úmido."
          },
          {
            "order": 3,
            "instruction": "Adicionar tomate e o queijo permitido pela adaptação, dobrar e cozinhar brevemente para terminar de firmar."
          }
        ],
        "source_time_reference": [
          "aprox. 5 min de cocção"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "dobrada, macia e com centro recém-firme"
        ],
        "adaptation_guardrails": [
          "Na adaptação, usar somente o queijo e tomate previstos na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e tomilho",
        "source_method_ids": [
          "PM-SRC-ECA8E1F8D9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar peito de frango com raspas/suco de limão, alho, tomilho e azeite autorizado."
          },
          {
            "order": 2,
            "instruction": "Temperar e colocar em chapa/grelha já quente."
          },
          {
            "order": 3,
            "instruction": "Grelhar dos dois lados até bem marcado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 4–5 min por lado para peito"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "exterior marcado; interior cozido e suculento"
        ],
        "adaptation_guardrails": [
          "Não adicionar acompanhamentos da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; muçarela zero lactose substitui feta; grelha bem quente; exterior marcado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-39E3863860",
        "PM-SRC-ECA8E1F8D9"
      ]
    }
  }
}
LEG-B45Omelete de tomate e pimentão, adaptada + frango ao limão e tomilho
ver dados
{
  "id": "LEG-B45",
  "name": "Omelete de tomate e pimentão, adaptada + frango ao limão e tomilho",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; frango substitui presunto; grelha bem quente; exterior marcado",
  "seasoning_text": "páprica, pimenta; pimentão em pequena quantidade opcional; limão, tomilho, pimenta",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-1780962D35",
    "SRC-ECA8E1F8D9"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: páprica, pimenta; pimentão em pequena quantidade opcional; limão, tomilho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.6,
    "best_rating_count": 41,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e pimentão, adaptada",
        "source_method_ids": [
          "PM-SRC-1780962D35"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Aplicar esta característica operacional da ficha: frigideira."
          },
          {
            "order": 2,
            "instruction": "Aplicar esta característica operacional da ficha: frango substitui presunto."
          },
          {
            "order": 3,
            "instruction": "Executar a etapa de selagem/grelha descrita no overview da receita, buscando dourado sem ressecar."
          },
          {
            "order": 4,
            "instruction": "Aplicar esta característica operacional da ficha: exterior marcado."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e tomilho",
        "source_method_ids": [
          "PM-SRC-ECA8E1F8D9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar peito de frango com raspas/suco de limão, alho, tomilho e azeite autorizado."
          },
          {
            "order": 2,
            "instruction": "Temperar e colocar em chapa/grelha já quente."
          },
          {
            "order": 3,
            "instruction": "Grelhar dos dois lados até bem marcado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 4–5 min por lado para peito"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "exterior marcado; interior cozido e suculento"
        ],
        "adaptation_guardrails": [
          "Não adicionar acompanhamentos da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; frango substitui presunto; grelha bem quente; exterior marcado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-1780962D35",
        "PM-SRC-ECA8E1F8D9"
      ]
    }
  }
}
LEG-B46Omelete de tomate e pimentão, adaptada + frango assado com alecrim e limão
ver dados
{
  "id": "LEG-B46",
  "name": "Omelete de tomate e pimentão, adaptada + frango assado com alecrim e limão",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; frango substitui presunto; assado; finalizar sob grill para dourar",
  "seasoning_text": "páprica, pimenta; pimentão em pequena quantidade opcional; alecrim, limão, alho, pimenta",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-1780962D35",
    "SRC-D6E6893D01"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: páprica, pimenta; pimentão em pequena quantidade opcional; alecrim, limão, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e pimentão, adaptada",
        "source_method_ids": [
          "PM-SRC-1780962D35"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Aplicar esta característica operacional da ficha: frigideira."
          },
          {
            "order": 2,
            "instruction": "Aplicar esta característica operacional da ficha: frango substitui presunto."
          },
          {
            "order": 3,
            "instruction": "Executar a etapa de forno/air fryer descrita no overview, usando o dourado e a textura como endpoint."
          },
          {
            "order": 4,
            "instruction": "Aplicar esta característica operacional da ficha: finalizar sob grill para dourar."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango assado com alecrim e limão",
        "source_method_ids": [
          "PM-SRC-D6E6893D01"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar alecrim, alho, limão e temperos autorizados com a gordura da porção."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango com essa mistura e assar até dourar."
          },
          {
            "order": 3,
            "instruction": "Descansar antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para frango inteiro: 1 h 10 min + 10 min de descanso"
        ],
        "source_temperature_reference": [
          "190°C / 170°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido; repousado antes do corte"
        ],
        "adaptation_guardrails": [
          "A fonte é para ave inteira; para peito/cubos, usar somente o perfil aromático e técnica de assar, não o tempo de 1 h 10 min.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; frango substitui presunto; assado; finalizar sob grill para dourar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-1780962D35",
        "PM-SRC-D6E6893D01"
      ]
    }
  }
}
LEG-B47Omelete de tomate e pimentão, adaptada + frango ao limão e orégano
ver dados
{
  "id": "LEG-B47",
  "name": "Omelete de tomate e pimentão, adaptada + frango ao limão e orégano",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; frango substitui presunto; assado ou grelhado em cubos",
  "seasoning_text": "páprica, pimenta; pimentão em pequena quantidade opcional; limão, orégano, alho",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-1780962D35",
    "SRC-E54E273CF8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: páprica, pimenta; pimentão em pequena quantidade opcional; limão, orégano, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 141,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e pimentão, adaptada",
        "source_method_ids": [
          "PM-SRC-1780962D35"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Aplicar esta característica operacional da ficha: frigideira."
          },
          {
            "order": 2,
            "instruction": "Aplicar esta característica operacional da ficha: frango substitui presunto."
          },
          {
            "order": 3,
            "instruction": "Executar a etapa de selagem/grelha descrita no overview da receita, buscando dourado sem ressecar."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; frango substitui presunto; assado ou grelhado em cubos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-1780962D35",
        "PM-SRC-E54E273CF8"
      ]
    }
  }
}
LEG-B48Omelete de tomate e pimentão, adaptada + frango souvlaki
ver dados
{
  "id": "LEG-B48",
  "name": "Omelete de tomate e pimentão, adaptada + frango souvlaki",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "frigideira; frango substitui presunto; cubos em espetos ou frigideira bem quente",
  "seasoning_text": "páprica, pimenta; pimentão em pequena quantidade opcional; limão, alho, orégano",
  "seasoning_refs": [
    "T002",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-1780962D35",
    "SRC-48B8FB322E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: páprica, pimenta; pimentão em pequena quantidade opcional; limão, alho, orégano — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING023",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete de tomate e pimentão, adaptada",
        "source_method_ids": [
          "PM-SRC-1780962D35"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Aplicar esta característica operacional da ficha: frigideira."
          },
          {
            "order": 2,
            "instruction": "Aplicar esta característica operacional da ficha: frango substitui presunto."
          },
          {
            "order": 3,
            "instruction": "Aplicar esta característica operacional da ficha: cubos em espetos ou frigideira bem quente."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "frigideira; frango substitui presunto; cubos em espetos ou frigideira bem quente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-1780962D35",
        "PM-SRC-48B8FB322E"
      ]
    }
  }
}
LEG-B49Omelete na air fryer + paillard de frango com limão e ervas
ver dados
{
  "id": "LEG-B49",
  "name": "Omelete na air fryer + paillard de frango com limão e ervas",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "air fryer em recipiente raso; sem imersão em óleo; filé fino batido e grelhado rapidamente",
  "seasoning_text": "pimenta, cebolinha; limão, salsa, ervas",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-5EDCD23E60",
    "SRC-1A3490590C"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: pimenta, cebolinha; limão, salsa, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 7,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete na air fryer",
        "source_method_ids": [
          "PM-SRC-5EDCD23E60"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "air fryer",
          "recipiente baixo antiaderente resistente ao calor",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-aquecer a air fryer com o recipiente dentro."
          },
          {
            "order": 2,
            "instruction": "Bater ovos e misturar somente os recheios autorizados."
          },
          {
            "order": 3,
            "instruction": "Adicionar a gordura prevista ao recipiente, despejar a mistura e cozinhar até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "8–10 min"
        ],
        "source_temperature_reference": [
          "180°C"
        ],
        "texture_or_doneness_endpoint": [
          "inflada, dourada e recém-firme"
        ],
        "adaptation_guardrails": [
          "A quantidade de gordura é a da porção, não a da receita-fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "paillard de frango com limão e ervas",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "air fryer em recipiente raso; sem imersão em óleo; filé fino batido e grelhado rapidamente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5EDCD23E60",
        "PM-SRC-1A3490590C"
      ]
    }
  }
}
LEG-B50Omelete na air fryer + frango gyros
ver dados
{
  "id": "LEG-B50",
  "name": "Omelete na air fryer + frango gyros",
  "category": "breakfast",
  "origin": "legacy_docx",
  "method_overview": "air fryer em recipiente raso; sem imersão em óleo; tiras bem douradas, molho de iogurte à parte",
  "seasoning_text": "pimenta, cebolinha; orégano, alho, limão, páprica",
  "seasoning_refs": [
    "T002",
    "T028",
    "T021"
  ],
  "source_ids": [
    "SRC-5EDCD23E60",
    "SRC-E18543333B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: pimenta, cebolinha; orégano, alho, limão, páprica — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 7,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete na air fryer",
        "source_method_ids": [
          "PM-SRC-5EDCD23E60"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "air fryer",
          "recipiente baixo antiaderente resistente ao calor",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-aquecer a air fryer com o recipiente dentro."
          },
          {
            "order": 2,
            "instruction": "Bater ovos e misturar somente os recheios autorizados."
          },
          {
            "order": 3,
            "instruction": "Adicionar a gordura prevista ao recipiente, despejar a mistura e cozinhar até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "8–10 min"
        ],
        "source_temperature_reference": [
          "180°C"
        ],
        "texture_or_doneness_endpoint": [
          "inflada, dourada e recém-firme"
        ],
        "adaptation_guardrails": [
          "A quantidade de gordura é a da porção, não a da receita-fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "frango gyros",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "A muçarela é tratada como zero lactose na compra, mantendo os macros da referência padrão para cálculo."
    ],
    "original_method_overview": "air fryer em recipiente raso; sem imersão em óleo; tiras bem douradas, molho de iogurte à parte",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5EDCD23E60",
        "PM-SRC-E18543333B"
      ]
    }
  }
}
LEG-L02Strogonoff de carne com cogumelos e iogurte zero lactose + vagem com alho + folhas
ver dados
{
  "id": "LEG-L02",
  "name": "Strogonoff de carne com cogumelos e iogurte zero lactose + vagem com alho + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "carne selada; molho curto; iogurte entra fora do fogo; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
  "seasoning_text": "mostarda, páprica, pimenta; alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T046",
    "T004"
  ],
  "source_ids": [
    "SRC-C1DE9F5FD9",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Creme original reduzido/substituído por iogurte zero lactose; sem acompanhamento amiláceo; porções reescaladas. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 24,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING024",
        "ING025",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Strogonoff de carne com cogumelos e iogurte zero lactose",
        "source_method_ids": [
          "PM-SRC-C1DE9F5FD9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e alho; dourar cogumelos separadamente para perderem água."
          },
          {
            "order": 2,
            "instruction": "Secar/temperar a carne e selar rapidamente em frigideira quente sem lotar."
          },
          {
            "order": 3,
            "instruction": "Reunir os componentes e reduzir o molho curto com mostarda/caldo/tomate apenas quando previstos."
          },
          {
            "order": 4,
            "instruction": "Retirar do calor forte e incorporar o iogurte zero lactose da adaptação para manter cremosidade sem talhar."
          }
        ],
        "source_time_reference": [
          "fonte: cebola ~15 min; alho 2–3 min; cogumelos ~5 min; carne 3–4 min; molho ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira quente para selar; calor médio/baixo no molho"
        ],
        "texture_or_doneness_endpoint": [
          "carne dourada; cogumelos sem excesso de líquido; molho cremoso e curto"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha/crème fraîche; omitir farinha e trocar o lácteo conforme a adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Creme original reduzido/substituído por iogurte zero lactose; sem acompanhamento amiláceo; porções reescaladas.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "carne selada; molho curto; iogurte entra fora do fogo; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C1DE9F5FD9",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-L03Strogonoff de carne com cogumelos e iogurte zero lactose + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-L03",
  "name": "Strogonoff de carne com cogumelos e iogurte zero lactose + vagem com amêndoas tostadas + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "carne selada; molho curto; iogurte entra fora do fogo; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
  "seasoning_text": "mostarda, páprica, pimenta; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T028",
    "T046",
    "T004"
  ],
  "source_ids": [
    "SRC-C1DE9F5FD9",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Creme original reduzido/substituído por iogurte zero lactose; sem acompanhamento amiláceo; porções reescaladas. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 13,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING024",
        "ING025",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Strogonoff de carne com cogumelos e iogurte zero lactose",
        "source_method_ids": [
          "PM-SRC-C1DE9F5FD9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e alho; dourar cogumelos separadamente para perderem água."
          },
          {
            "order": 2,
            "instruction": "Secar/temperar a carne e selar rapidamente em frigideira quente sem lotar."
          },
          {
            "order": 3,
            "instruction": "Reunir os componentes e reduzir o molho curto com mostarda/caldo/tomate apenas quando previstos."
          },
          {
            "order": 4,
            "instruction": "Retirar do calor forte e incorporar o iogurte zero lactose da adaptação para manter cremosidade sem talhar."
          }
        ],
        "source_time_reference": [
          "fonte: cebola ~15 min; alho 2–3 min; cogumelos ~5 min; carne 3–4 min; molho ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira quente para selar; calor médio/baixo no molho"
        ],
        "texture_or_doneness_endpoint": [
          "carne dourada; cogumelos sem excesso de líquido; molho cremoso e curto"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha/crème fraîche; omitir farinha e trocar o lácteo conforme a adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Creme original reduzido/substituído por iogurte zero lactose; sem acompanhamento amiláceo; porções reescaladas.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "carne selada; molho curto; iogurte entra fora do fogo; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C1DE9F5FD9",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-L04Carne ao curry + vagem com alho + folhas
ver dados
{
  "id": "LEG-L04",
  "name": "Carne ao curry + vagem com alho + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "cozimento úmido curto até molho aderente; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
  "seasoning_text": "curry, cominho, coentro, gengibre, alho; alho, pimenta",
  "seasoning_refs": [
    "T099",
    "T098"
  ],
  "source_ids": [
    "SRC-419B2CE79F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, cominho, coentro, gengibre, alho; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 80,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne ao curry + vagem com alho + folhas",
        "source_method_ids": [
          "PM-SRC-419B2CE79F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela larga",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer parte da gordura prevista e dourar a carne moída em fogo alto, quebrando os grumos; retirar e reservar quando bem colorida."
          },
          {
            "order": 2,
            "instruction": "Na mesma panela, amaciar cebola, alho e gengibre autorizados até ficarem macios."
          },
          {
            "order": 3,
            "instruction": "Adicionar curry/especiarias e cozinhar brevemente para liberar aroma."
          },
          {
            "order": 4,
            "instruction": "Juntar tomate/líquido apenas nas quantidades autorizadas e retornar a carne; cozinhar em fogo médio até o molho curto aderir à carne."
          },
          {
            "order": 5,
            "instruction": "Finalizar com ervas ou iogurte somente quando previstos na versão adaptada."
          }
        ],
        "source_time_reference": [
          "fonte: dourar a carne; aromáticos ~8 min; depois ~20 min em fogo médio com os componentes do curry"
        ],
        "source_temperature_reference": [
          "fogo alto para dourar; médio para terminar"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada, grumos soltos e molho reduzido/aderente"
        ],
        "adaptation_guardrails": [
          "Batata, cenoura, arroz e chutney da fonte são omitidos; água/caldo é reduzido na adaptação para manter o curry curto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "cozimento úmido curto até molho aderente; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-419B2CE79F"
      ]
    }
  }
}
LEG-L05Carne ao curry + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-L05",
  "name": "Carne ao curry + purê de couve-flor + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "cozimento úmido curto até molho aderente; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
  "seasoning_text": "curry, cominho, coentro, gengibre, alho; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T099",
    "T098"
  ],
  "source_ids": [
    "SRC-419B2CE79F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, cominho, coentro, gengibre, alho; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 80,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING019",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne ao curry + purê de couve-flor + folhas",
        "source_method_ids": [
          "PM-SRC-419B2CE79F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela larga",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer parte da gordura prevista e dourar a carne moída em fogo alto, quebrando os grumos; retirar e reservar quando bem colorida."
          },
          {
            "order": 2,
            "instruction": "Na mesma panela, amaciar cebola, alho e gengibre autorizados até ficarem macios."
          },
          {
            "order": 3,
            "instruction": "Adicionar curry/especiarias e cozinhar brevemente para liberar aroma."
          },
          {
            "order": 4,
            "instruction": "Juntar tomate/líquido apenas nas quantidades autorizadas e retornar a carne; cozinhar em fogo médio até o molho curto aderir à carne."
          },
          {
            "order": 5,
            "instruction": "Finalizar com ervas ou iogurte somente quando previstos na versão adaptada."
          }
        ],
        "source_time_reference": [
          "fonte: dourar a carne; aromáticos ~8 min; depois ~20 min em fogo médio com os componentes do curry"
        ],
        "source_temperature_reference": [
          "fogo alto para dourar; médio para terminar"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada, grumos soltos e molho reduzido/aderente"
        ],
        "adaptation_guardrails": [
          "Batata, cenoura, arroz e chutney da fonte são omitidos; água/caldo é reduzido na adaptação para manter o curry curto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "cozimento úmido curto até molho aderente; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-419B2CE79F"
      ]
    }
  }
}
LEG-L07Ragù de carne e tomate + vagem ao limão e parmesão + folhas
ver dados
{
  "id": "LEG-L07",
  "name": "Ragù de carne e tomate + vagem ao limão e parmesão + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "carne bem dourada e molho de tomate reduzido; cozida al dente e finalizada com limão/parmesão; folhas cruas separadas para preservar textura",
  "seasoning_text": "alho, manjericão, orégano, pimenta; limão, pimenta",
  "seasoning_refs": [
    "T036",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-B1518DE66A",
    "SRC-F0447AD9EA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, manjericão, orégano, pimenta; limão, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING005",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Ragù de carne e tomate",
        "source_method_ids": [
          "PM-SRC-B1518DE66A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela pesada",
          "frigideira auxiliar opcional",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar aromáticos autorizados; em paralelo, dourar a carne moída em lotes para não cozinhar no próprio vapor."
          },
          {
            "order": 2,
            "instruction": "Juntar carne e aromáticos, adicionar tomate/purê autorizados e levar a fogo baixo."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até o molho reduzir e concentrar; mexer ocasionalmente."
          },
          {
            "order": 4,
            "instruction": "Finalizar com ervas/queijo apenas se previstos na adaptação."
          }
        ],
        "source_time_reference": [
          "fonte: base de carne/tomate 1½–2 h em fogo muito baixo, seguida de ~30 min após adição final de lácteo"
        ],
        "source_temperature_reference": [
          "dourar em fogo médio-alto; reduzir em fogo muito baixo"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada e molho denso, sem água livre"
        ],
        "adaptation_guardrails": [
          "A versão sem massa omite spaghetti/mascarpone; leite e outros vegetais só entram se estiverem listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem ao limão e parmesão",
        "source_method_ids": [
          "PM-SRC-F0447AD9EA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela/vaporizador",
          "tigela"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada."
          },
          {
            "order": 2,
            "instruction": "Secar bem."
          },
          {
            "order": 3,
            "instruction": "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
          }
        ],
        "source_time_reference": [
          "fonte: vapor ~5 min ou fervura ~3 min"
        ],
        "source_temperature_reference": [
          "cozimento curto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem verde e firme; parmesão aderido sem virar pasta"
        ],
        "adaptation_guardrails": [
          "Usar somente a quantidade de parmesão/azeite contabilizada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "carne bem dourada e molho de tomate reduzido; cozida al dente e finalizada com limão/parmesão; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-B1518DE66A",
        "PM-SRC-F0447AD9EA"
      ]
    }
  }
}
LEG-L08Ragù de carne e tomate + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-L08",
  "name": "Ragù de carne e tomate + purê de couve-flor + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "carne bem dourada e molho de tomate reduzido; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
  "seasoning_text": "alho, manjericão, orégano, pimenta; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T036",
    "T034"
  ],
  "source_ids": [
    "SRC-B1518DE66A",
    "SRC-98F3FC1410"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, manjericão, orégano, pimenta; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING019",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Ragù de carne e tomate",
        "source_method_ids": [
          "PM-SRC-B1518DE66A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela pesada",
          "frigideira auxiliar opcional",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar aromáticos autorizados; em paralelo, dourar a carne moída em lotes para não cozinhar no próprio vapor."
          },
          {
            "order": 2,
            "instruction": "Juntar carne e aromáticos, adicionar tomate/purê autorizados e levar a fogo baixo."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até o molho reduzir e concentrar; mexer ocasionalmente."
          },
          {
            "order": 4,
            "instruction": "Finalizar com ervas/queijo apenas se previstos na adaptação."
          }
        ],
        "source_time_reference": [
          "fonte: base de carne/tomate 1½–2 h em fogo muito baixo, seguida de ~30 min após adição final de lácteo"
        ],
        "source_temperature_reference": [
          "dourar em fogo médio-alto; reduzir em fogo muito baixo"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada e molho denso, sem água livre"
        ],
        "adaptation_guardrails": [
          "A versão sem massa omite spaghetti/mascarpone; leite e outros vegetais só entram se estiverem listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-98F3FC1410"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "carne bem dourada e molho de tomate reduzido; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-B1518DE66A",
        "PM-SRC-98F3FC1410"
      ]
    }
  }
}
LEG-L10Bolonhesa sem massa + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-L10",
  "name": "Bolonhesa sem massa + vagem com amêndoas tostadas + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "carne moída em molho longo de tomate; servida com vegetal; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
  "seasoning_text": "alho, ervas italianas, pimenta; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T044",
    "T034",
    "T098"
  ],
  "source_ids": [
    "SRC-A3A876CA09",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, ervas italianas, pimenta; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 1207,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolonhesa sem massa",
        "source_method_ids": [
          "PM-SRC-A3A876CA09"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar a carne moída e amaciar os aromáticos previstos."
          },
          {
            "order": 2,
            "instruction": "Adicionar tomate e temperos autorizados, raspar o fundo da panela e levar a fervura suave."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até reduzir e desenvolver sabor; servir sem massa quando a ficha disser “sem massa”."
          }
        ],
        "source_time_reference": [
          "receita-fonte de bolonhesa longa (~2 h total)"
        ],
        "source_temperature_reference": [
          "fogo baixo após dourar"
        ],
        "texture_or_doneness_endpoint": [
          "molho espesso e carne macia"
        ],
        "adaptation_guardrails": [
          "Massa, vinho e demais ingredientes da fonte são omitidos se não constarem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "carne moída em molho longo de tomate; servida com vegetal; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A3A876CA09",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-L13Kofta bovina com molho de iogurte e hortelã + berinjela com tomate e iogurte + folhas
ver dados
{
  "id": "LEG-L13",
  "name": "Kofta bovina com molho de iogurte e hortelã + berinjela com tomate e iogurte + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
  "seasoning_text": "cominho, coentro, hortelã, alho; alho, hortelã, pimenta",
  "seasoning_refs": [
    "T028",
    "T034",
    "T098"
  ],
  "source_ids": [
    "SRC-E9D3F66FB7",
    "SRC-0E25C4C87F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, hortelã, alho; alho, hortelã, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 95,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING020",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta bovina com molho de iogurte e hortelã",
        "source_method_ids": [
          "PM-SRC-E9D3F66FB7"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira antiaderente",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com os temperos/aromáticos autorizados e moldar pequenas koftas ovais."
          },
          {
            "order": 2,
            "instruction": "Selar em lotes na frigideira; a fonte usa 2–3 min nesta etapa."
          },
          {
            "order": 3,
            "instruction": "Transferir para assadeira e terminar no forno; a fonte usa 200°C/180°C ventilado por 10 min."
          },
          {
            "order": 4,
            "instruction": "Preparar o molho de iogurte/hortelã somente com os ingredientes autorizados e servir separado ou sobre as koftas. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: frigideira 2–3 min; forno 10 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "koftas seladas por fora e totalmente cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Chutney, flatbread e acompanhamentos não entram se não constarem da alternativa; usar iogurte zero lactose quando previsto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "berinjela com tomate e iogurte",
        "source_method_ids": [
          "PM-SRC-0E25C4C87F"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "frigideira/grelha ou forno",
          "tigelas para molhos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Assar/grelhar a berinjela até macia e bem dourada."
          },
          {
            "order": 2,
            "instruction": "Preparar o componente de tomate até concentrar e esfriar levemente."
          },
          {
            "order": 3,
            "instruction": "Preparar o molho de iogurte zero lactose frio com os temperos autorizados."
          },
          {
            "order": 4,
            "instruction": "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
          }
        ],
        "source_time_reference": [
          "receita-fonte ~30 min total"
        ],
        "source_temperature_reference": [
          "calor alto para a berinjela; molhos em calor suave/frio"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia; tomate espesso; iogurte frio e cremoso"
        ],
        "adaptation_guardrails": [
          "Usar apenas quantidades/ingredientes da versão adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E9D3F66FB7",
        "PM-SRC-0E25C4C87F"
      ]
    }
  }
}
LEG-L15Kofta bovina com molho de iogurte e hortelã + vagem com alho + folhas
ver dados
{
  "id": "LEG-L15",
  "name": "Kofta bovina com molho de iogurte e hortelã + vagem com alho + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
  "seasoning_text": "cominho, coentro, hortelã, alho; alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T098"
  ],
  "source_ids": [
    "SRC-E9D3F66FB7",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, hortelã, alho; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 95,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING022",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta bovina com molho de iogurte e hortelã",
        "source_method_ids": [
          "PM-SRC-E9D3F66FB7"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira antiaderente",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com os temperos/aromáticos autorizados e moldar pequenas koftas ovais."
          },
          {
            "order": 2,
            "instruction": "Selar em lotes na frigideira; a fonte usa 2–3 min nesta etapa."
          },
          {
            "order": 3,
            "instruction": "Transferir para assadeira e terminar no forno; a fonte usa 200°C/180°C ventilado por 10 min."
          },
          {
            "order": 4,
            "instruction": "Preparar o molho de iogurte/hortelã somente com os ingredientes autorizados e servir separado ou sobre as koftas. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: frigideira 2–3 min; forno 10 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "koftas seladas por fora e totalmente cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Chutney, flatbread e acompanhamentos não entram se não constarem da alternativa; usar iogurte zero lactose quando previsto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E9D3F66FB7",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-L17Kofte marroquino ao tomate + brócolis assado + folhas
ver dados
{
  "id": "LEG-L17",
  "name": "Kofte marroquino ao tomate + brócolis assado + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "almôndegas/koftas douradas e finalizadas no molho; forno/air fryer, pontas tostadas; folhas cruas separadas para preservar textura",
  "seasoning_text": "cominho, páprica, canela em traço, coentro; alho, pimenta, limão opcional",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-8E365AEB6D",
    "SRC-D97E9277C4"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, páprica, canela em traço, coentro; alho, pimenta, limão opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING018",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofte marroquino ao tomate",
        "source_method_ids": [
          "PM-SRC-8E365AEB6D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/churrasqueira",
          "panela para molho"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos."
          },
          {
            "order": 2,
            "instruction": "Reduzir o molho de tomate/harissa autorizado por 15–20 min ou até espesso."
          },
          {
            "order": 3,
            "instruction": "Grelhar as koftas por cerca de 6–8 min no total, virando, até douradas e cozidas no centro."
          },
          {
            "order": 4,
            "instruction": "porcionar pelo peso cru indicado antes da cocção e aplicar apenas os molhos previstos na alternativa."
          }
        ],
        "source_time_reference": [
          "fonte: molho 15–20 min; koftas 6–8 min"
        ],
        "source_temperature_reference": [
          "grill quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "koftas douradas e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir iogurte, pinoli, açúcar ou acompanhamentos quando não autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "brócolis assado",
        "source_method_ids": [
          "PM-SRC-D97E9277C4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos."
          },
          {
            "order": 2,
            "instruction": "Espalhar em camada única sem amontoar."
          },
          {
            "order": 3,
            "instruction": "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
          }
        ],
        "source_time_reference": [
          "25–30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado na fonte"
        ],
        "texture_or_doneness_endpoint": [
          "macio com bordas crocantes/tostadas"
        ],
        "adaptation_guardrails": [
          "Limão/alho entram apenas conforme tempero autorizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "almôndegas/koftas douradas e finalizadas no molho; forno/air fryer, pontas tostadas; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8E365AEB6D",
        "PM-SRC-D97E9277C4"
      ]
    }
  }
}
LEG-L18Kofte marroquino ao tomate + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-L18",
  "name": "Kofte marroquino ao tomate + vagem com mostarda em grãos + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "almôndegas/koftas douradas e finalizadas no molho; cozida al dente e envolvida em molho leve; folhas cruas separadas para preservar textura",
  "seasoning_text": "cominho, páprica, canela em traço, coentro; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T034",
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-8E365AEB6D",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, páprica, canela em traço, coentro; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING022",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofte marroquino ao tomate",
        "source_method_ids": [
          "PM-SRC-8E365AEB6D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/churrasqueira",
          "panela para molho"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos."
          },
          {
            "order": 2,
            "instruction": "Reduzir o molho de tomate/harissa autorizado por 15–20 min ou até espesso."
          },
          {
            "order": 3,
            "instruction": "Grelhar as koftas por cerca de 6–8 min no total, virando, até douradas e cozidas no centro."
          },
          {
            "order": 4,
            "instruction": "porcionar pelo peso cru indicado antes da cocção e aplicar apenas os molhos previstos na alternativa."
          }
        ],
        "source_time_reference": [
          "fonte: molho 15–20 min; koftas 6–8 min"
        ],
        "source_temperature_reference": [
          "grill quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "koftas douradas e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir iogurte, pinoli, açúcar ou acompanhamentos quando não autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "almôndegas/koftas douradas e finalizadas no molho; cozida al dente e envolvida em molho leve; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8E365AEB6D",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
LEG-L20Hambúrguer kofta caseiro + vagem ao limão e parmesão + folhas
ver dados
{
  "id": "LEG-L20",
  "name": "Hambúrguer kofta caseiro + vagem ao limão e parmesão + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão; cozida al dente e finalizada com limão/parmesão; folhas cruas separadas para preservar textura",
  "seasoning_text": "cominho, coentro, salsa, alho; limão, pimenta",
  "seasoning_refs": [
    "T021",
    "T098",
    "T017"
  ],
  "source_ids": [
    "SRC-31F2558DC1",
    "SRC-F0447AD9EA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, salsa, alho; limão, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING022",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Hambúrguer kofta caseiro",
        "source_method_ids": [
          "PM-SRC-31F2558DC1"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "grelha/chapa ou air fryer",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne moída com as especiarias/ervas autorizadas até distribuir uniformemente, sem compactar em excesso."
          },
          {
            "order": 2,
            "instruction": "Moldar em cilindros, koftas, discos ou espetos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear ou usar air fryer, virando quando necessário para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir molho de iogurte/hortelã separado quando previsto; em versões ao tomate, terminar as koftas no molho reduzido."
          }
        ],
        "source_time_reference": [
          "fontes de kofta: normalmente ~20–50 min total conforme receita/formato"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "superfície bem dourada; centro cozido; molho reduzido quando aplicável"
        ],
        "adaptation_guardrails": [
          "As fontes frequentemente usam cordeiro/pão; aqui manter a carne e ingredientes da nossa porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem ao limão e parmesão",
        "source_method_ids": [
          "PM-SRC-F0447AD9EA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela/vaporizador",
          "tigela"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada."
          },
          {
            "order": 2,
            "instruction": "Secar bem."
          },
          {
            "order": 3,
            "instruction": "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
          }
        ],
        "source_time_reference": [
          "fonte: vapor ~5 min ou fervura ~3 min"
        ],
        "source_temperature_reference": [
          "cozimento curto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem verde e firme; parmesão aderido sem virar pasta"
        ],
        "adaptation_guardrails": [
          "Usar somente a quantidade de parmesão/azeite contabilizada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão; cozida al dente e finalizada com limão/parmesão; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-31F2558DC1",
        "PM-SRC-F0447AD9EA"
      ]
    }
  }
}
LEG-L21Hambúrguer kofta caseiro + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-L21",
  "name": "Hambúrguer kofta caseiro + purê de couve-flor + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
  "seasoning_text": "cominho, coentro, salsa, alho; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T098"
  ],
  "source_ids": [
    "SRC-31F2558DC1",
    "SRC-98F3FC1410"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, salsa, alho; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING019",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Hambúrguer kofta caseiro",
        "source_method_ids": [
          "PM-SRC-31F2558DC1"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "grelha/chapa ou air fryer",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne moída com as especiarias/ervas autorizadas até distribuir uniformemente, sem compactar em excesso."
          },
          {
            "order": 2,
            "instruction": "Moldar em cilindros, koftas, discos ou espetos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear ou usar air fryer, virando quando necessário para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir molho de iogurte/hortelã separado quando previsto; em versões ao tomate, terminar as koftas no molho reduzido."
          }
        ],
        "source_time_reference": [
          "fontes de kofta: normalmente ~20–50 min total conforme receita/formato"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "superfície bem dourada; centro cozido; molho reduzido quando aplicável"
        ],
        "adaptation_guardrails": [
          "As fontes frequentemente usam cordeiro/pão; aqui manter a carne e ingredientes da nossa porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-98F3FC1410"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-31F2558DC1",
        "PM-SRC-98F3FC1410"
      ]
    }
  }
}
LEG-L22Almôndegas ao strogonoff + vagem com alho + folhas
ver dados
{
  "id": "LEG-L22",
  "name": "Almôndegas ao strogonoff + vagem com alho + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "almôndegas assadas/air fryer e finalizadas no molho; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
  "seasoning_text": "mostarda, páprica, pimenta; alho, pimenta",
  "seasoning_refs": [
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-567AB4BDA3",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 24,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING024",
        "ING025",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Almôndegas ao strogonoff",
        "source_method_ids": [
          "PM-SRC-567AB4BDA3"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga com tampa",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar a carne crua moída autorizada e moldar almôndegas uniformes, sem compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dourar as almôndegas em todos os lados e reservar."
          },
          {
            "order": 3,
            "instruction": "Amaciar a cebola; adicionar alho e cogumelos e cozinhar até começarem a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar os componentes de molho autorizados e cozinhar brevemente para retirar sabor cru; acrescentar o líquido permitido aos poucos."
          },
          {
            "order": 5,
            "instruction": "Retornar as almôndegas, tampar e cozinhar em fervura suave até o centro estar cozido; a fonte usa 15 min."
          },
          {
            "order": 6,
            "instruction": "Incorporar o iogurte/lácteo adaptado fora de fervura forte. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~15 min de fervura suave das almôndegas no molho após dourar"
        ],
        "source_temperature_reference": [
          "fogo médio para dourar; fervura suave para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "almôndegas douradas, cozidas no centro e molho cremoso"
        ],
        "adaptation_guardrails": [
          "A farinha, creme azedo e acompanhamentos da fonte não entram automaticamente. Usar apenas os componentes autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "almôndegas assadas/air fryer e finalizadas no molho; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-567AB4BDA3",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-L23Almôndegas ao strogonoff + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-L23",
  "name": "Almôndegas ao strogonoff + vagem com amêndoas tostadas + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "almôndegas assadas/air fryer e finalizadas no molho; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
  "seasoning_text": "mostarda, páprica, pimenta; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-567AB4BDA3",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 13,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING024",
        "ING025",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Almôndegas ao strogonoff",
        "source_method_ids": [
          "PM-SRC-567AB4BDA3"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga com tampa",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar a carne crua moída autorizada e moldar almôndegas uniformes, sem compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dourar as almôndegas em todos os lados e reservar."
          },
          {
            "order": 3,
            "instruction": "Amaciar a cebola; adicionar alho e cogumelos e cozinhar até começarem a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar os componentes de molho autorizados e cozinhar brevemente para retirar sabor cru; acrescentar o líquido permitido aos poucos."
          },
          {
            "order": 5,
            "instruction": "Retornar as almôndegas, tampar e cozinhar em fervura suave até o centro estar cozido; a fonte usa 15 min."
          },
          {
            "order": 6,
            "instruction": "Incorporar o iogurte/lácteo adaptado fora de fervura forte. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~15 min de fervura suave das almôndegas no molho após dourar"
        ],
        "source_temperature_reference": [
          "fogo médio para dourar; fervura suave para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "almôndegas douradas, cozidas no centro e molho cremoso"
        ],
        "adaptation_guardrails": [
          "A farinha, creme azedo e acompanhamentos da fonte não entram automaticamente. Usar apenas os componentes autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "almôndegas assadas/air fryer e finalizadas no molho; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-567AB4BDA3",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-L25Carne de panela leve + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-L25",
  "name": "Carne de panela leve + vagem com mostarda em grãos + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "pressão/cozimento lento; molho reduzido, sem farinha; cozida al dente e envolvida em molho leve; folhas cruas separadas para preservar textura",
  "seasoning_text": "louro, alho, pimenta, tomilho; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-5F8FE8416C",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: louro, alho, pimenta, tomilho; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 682,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne de panela leve",
        "source_method_ids": [
          "PM-SRC-5F8FE8416C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "panela de cozimento lento ou panela pesada"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola/aromáticos autorizados e preparar a base do molho."
          },
          {
            "order": 2,
            "instruction": "Dourar a carne em lotes antes do cozimento lento para obter sabor de Maillard."
          },
          {
            "order": 3,
            "instruction": "Transferir para cozimento lento com os líquidos/temperos autorizados e cozinhar até a carne ficar muito macia."
          },
          {
            "order": 4,
            "instruction": "Se o molho estiver ralo, reduzir em panela aberta; a adaptação não usa farinha/amido quando não listado."
          }
        ],
        "source_time_reference": [
          "fonte: 8–10 h em low ou ~4 h em high"
        ],
        "source_temperature_reference": [
          "slow cooker low/high; selagem em frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "carne muito macia; molho reduzido e aderente"
        ],
        "adaptation_guardrails": [
          "Omitir cenoura/celery/cornflour e outros itens não listados; pode usar pressão/cozimento lento equivalente conforme ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "pressão/cozimento lento; molho reduzido, sem farinha; cozida al dente e envolvida em molho leve; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5F8FE8416C",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
LEG-L26Carne de panela leve + berinjela com tomate e iogurte + folhas
ver dados
{
  "id": "LEG-L26",
  "name": "Carne de panela leve + berinjela com tomate e iogurte + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "pressão/cozimento lento; molho reduzido, sem farinha; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
  "seasoning_text": "louro, alho, pimenta, tomilho; alho, hortelã, pimenta",
  "seasoning_refs": [
    "T028",
    "T034",
    "T098"
  ],
  "source_ids": [
    "SRC-5F8FE8416C",
    "SRC-0E25C4C87F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: louro, alho, pimenta, tomilho; alho, hortelã, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 682,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING020",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne de panela leve",
        "source_method_ids": [
          "PM-SRC-5F8FE8416C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "panela de cozimento lento ou panela pesada"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola/aromáticos autorizados e preparar a base do molho."
          },
          {
            "order": 2,
            "instruction": "Dourar a carne em lotes antes do cozimento lento para obter sabor de Maillard."
          },
          {
            "order": 3,
            "instruction": "Transferir para cozimento lento com os líquidos/temperos autorizados e cozinhar até a carne ficar muito macia."
          },
          {
            "order": 4,
            "instruction": "Se o molho estiver ralo, reduzir em panela aberta; a adaptação não usa farinha/amido quando não listado."
          }
        ],
        "source_time_reference": [
          "fonte: 8–10 h em low ou ~4 h em high"
        ],
        "source_temperature_reference": [
          "slow cooker low/high; selagem em frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "carne muito macia; molho reduzido e aderente"
        ],
        "adaptation_guardrails": [
          "Omitir cenoura/celery/cornflour e outros itens não listados; pode usar pressão/cozimento lento equivalente conforme ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "berinjela com tomate e iogurte",
        "source_method_ids": [
          "PM-SRC-0E25C4C87F"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "frigideira/grelha ou forno",
          "tigelas para molhos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Assar/grelhar a berinjela até macia e bem dourada."
          },
          {
            "order": 2,
            "instruction": "Preparar o componente de tomate até concentrar e esfriar levemente."
          },
          {
            "order": 3,
            "instruction": "Preparar o molho de iogurte zero lactose frio com os temperos autorizados."
          },
          {
            "order": 4,
            "instruction": "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
          }
        ],
        "source_time_reference": [
          "receita-fonte ~30 min total"
        ],
        "source_temperature_reference": [
          "calor alto para a berinjela; molhos em calor suave/frio"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia; tomate espesso; iogurte frio e cremoso"
        ],
        "adaptation_guardrails": [
          "Usar apenas quantidades/ingredientes da versão adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "pressão/cozimento lento; molho reduzido, sem farinha; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5F8FE8416C",
        "PM-SRC-0E25C4C87F"
      ]
    }
  }
}
LEG-L28Carne com cebola estilo pot-roast + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-L28",
  "name": "Carne com cebola estilo pot-roast + purê de couve-flor + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "cozimento lento com cebola bem dourada; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
  "seasoning_text": "tomilho, alho, pimenta; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T098"
  ],
  "source_ids": [
    "SRC-D0DC37E945",
    "SRC-98F3FC1410"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: tomilho, alho, pimenta; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING019",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne com cebola estilo pot-roast",
        "source_method_ids": [
          "PM-SRC-D0DC37E945"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada com tampa ou slow cooker",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar bem a carne e retirar."
          },
          {
            "order": 2,
            "instruction": "Cozinhar a cebola até bem caramelizada/dourada, aproveitando o fundo da panela."
          },
          {
            "order": 3,
            "instruction": "Retornar a carne com o líquido/temperos autorizados e cozinhar lentamente, tampado, até macia."
          },
          {
            "order": 4,
            "instruction": "Retirar a carne, descansar/fatiar e reduzir o molho de cebola se necessário."
          }
        ],
        "source_time_reference": [
          "fonte de pot-roast/cozimento lento; tempo depende do corte e equipamento"
        ],
        "source_temperature_reference": [
          "selagem alta; cozimento baixo e lento"
        ],
        "texture_or_doneness_endpoint": [
          "carne macia; cebola bem dourada; molho concentrado"
        ],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da gravy original que não estejam autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-98F3FC1410"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "cozimento lento com cebola bem dourada; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-D0DC37E945",
        "PM-SRC-98F3FC1410"
      ]
    }
  }
}
LEG-L30Carne com cebola estilo pot-roast + brócolis assado + folhas
ver dados
{
  "id": "LEG-L30",
  "name": "Carne com cebola estilo pot-roast + brócolis assado + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "cozimento lento com cebola bem dourada; forno/air fryer, pontas tostadas; folhas cruas separadas para preservar textura",
  "seasoning_text": "tomilho, alho, pimenta; alho, pimenta, limão opcional",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-D0DC37E945",
    "SRC-D97E9277C4"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: tomilho, alho, pimenta; alho, pimenta, limão opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.5,
    "best_rating_count": 210,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING018",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne com cebola estilo pot-roast",
        "source_method_ids": [
          "PM-SRC-D0DC37E945"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada com tampa ou slow cooker",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar bem a carne e retirar."
          },
          {
            "order": 2,
            "instruction": "Cozinhar a cebola até bem caramelizada/dourada, aproveitando o fundo da panela."
          },
          {
            "order": 3,
            "instruction": "Retornar a carne com o líquido/temperos autorizados e cozinhar lentamente, tampado, até macia."
          },
          {
            "order": 4,
            "instruction": "Retirar a carne, descansar/fatiar e reduzir o molho de cebola se necessário."
          }
        ],
        "source_time_reference": [
          "fonte de pot-roast/cozimento lento; tempo depende do corte e equipamento"
        ],
        "source_temperature_reference": [
          "selagem alta; cozimento baixo e lento"
        ],
        "texture_or_doneness_endpoint": [
          "carne macia; cebola bem dourada; molho concentrado"
        ],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da gravy original que não estejam autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "brócolis assado",
        "source_method_ids": [
          "PM-SRC-D97E9277C4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos."
          },
          {
            "order": 2,
            "instruction": "Espalhar em camada única sem amontoar."
          },
          {
            "order": 3,
            "instruction": "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
          }
        ],
        "source_time_reference": [
          "25–30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado na fonte"
        ],
        "texture_or_doneness_endpoint": [
          "macio com bordas crocantes/tostadas"
        ],
        "adaptation_guardrails": [
          "Limão/alho entram apenas conforme tempero autorizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "cozimento lento com cebola bem dourada; forno/air fryer, pontas tostadas; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-D0DC37E945",
        "PM-SRC-D97E9277C4"
      ]
    }
  }
}
LEG-L33Frango churrasco de limão e alho + vagem ao limão e parmesão + folhas
ver dados
{
  "id": "LEG-L33",
  "name": "Frango churrasco de limão e alho + vagem ao limão e parmesão + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "grelhado em filé ou cubos; sem fritura por imersão; cozida al dente e finalizada com limão/parmesão; folhas cruas separadas para preservar textura",
  "seasoning_text": "limão, alho, páprica, pimenta; limão, pimenta",
  "seasoning_refs": [
    "T021",
    "T098",
    "T017"
  ],
  "source_ids": [
    "SRC-EC9CFA9DDA",
    "SRC-F0447AD9EA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, páprica, pimenta; limão, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango churrasco de limão e alho",
        "source_method_ids": [
          "PM-SRC-EC9CFA9DDA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem ao limão e parmesão",
        "source_method_ids": [
          "PM-SRC-F0447AD9EA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela/vaporizador",
          "tigela"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada."
          },
          {
            "order": 2,
            "instruction": "Secar bem."
          },
          {
            "order": 3,
            "instruction": "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
          }
        ],
        "source_time_reference": [
          "fonte: vapor ~5 min ou fervura ~3 min"
        ],
        "source_temperature_reference": [
          "cozimento curto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem verde e firme; parmesão aderido sem virar pasta"
        ],
        "adaptation_guardrails": [
          "Usar somente a quantidade de parmesão/azeite contabilizada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "grelhado em filé ou cubos; sem fritura por imersão; cozida al dente e finalizada com limão/parmesão; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-EC9CFA9DDA",
        "PM-SRC-F0447AD9EA"
      ]
    }
  }
}
LEG-L35Paillard de frango com limão e ervas + vagem com alho + folhas
ver dados
{
  "id": "LEG-L35",
  "name": "Paillard de frango com limão e ervas + vagem com alho + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "filé fino e grelhado em chapa muito quente; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
  "seasoning_text": "limão, salsa, ervas; alho, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-1A3490590C",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, salsa, ervas; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Paillard de frango com limão e ervas",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "filé fino e grelhado em chapa muito quente; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1A3490590C",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-L36Paillard de frango com limão e ervas + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-L36",
  "name": "Paillard de frango com limão e ervas + vagem com amêndoas tostadas + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "filé fino e grelhado em chapa muito quente; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
  "seasoning_text": "limão, salsa, ervas; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-1A3490590C",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, salsa, ervas; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Paillard de frango com limão e ervas",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "filé fino e grelhado em chapa muito quente; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1A3490590C",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-L37Frango ao limão e orégano + brócolis assado + folhas
ver dados
{
  "id": "LEG-L37",
  "name": "Frango ao limão e orégano + brócolis assado + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "assado em cubos ou tiras, dourando bem as bordas; forno/air fryer, pontas tostadas; folhas cruas separadas para preservar textura",
  "seasoning_text": "limão, orégano, alho; alho, pimenta, limão opcional",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-E54E273CF8",
    "SRC-D97E9277C4"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, orégano, alho; alho, pimenta, limão opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 141,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING018",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "brócolis assado",
        "source_method_ids": [
          "PM-SRC-D97E9277C4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos."
          },
          {
            "order": 2,
            "instruction": "Espalhar em camada única sem amontoar."
          },
          {
            "order": 3,
            "instruction": "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
          }
        ],
        "source_time_reference": [
          "25–30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado na fonte"
        ],
        "texture_or_doneness_endpoint": [
          "macio com bordas crocantes/tostadas"
        ],
        "adaptation_guardrails": [
          "Limão/alho entram apenas conforme tempero autorizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "assado em cubos ou tiras, dourando bem as bordas; forno/air fryer, pontas tostadas; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E54E273CF8",
        "PM-SRC-D97E9277C4"
      ]
    }
  }
}
LEG-L38Frango ao limão e orégano + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-L38",
  "name": "Frango ao limão e orégano + vagem com mostarda em grãos + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "assado em cubos ou tiras, dourando bem as bordas; cozida al dente e envolvida em molho leve; folhas cruas separadas para preservar textura",
  "seasoning_text": "limão, orégano, alho; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T021",
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-E54E273CF8",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, orégano, alho; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 141,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "assado em cubos ou tiras, dourando bem as bordas; cozida al dente e envolvida em molho leve; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E54E273CF8",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
LEG-L39Frango ao limão e orégano + berinjela com tomate e iogurte + folhas
ver dados
{
  "id": "LEG-L39",
  "name": "Frango ao limão e orégano + berinjela com tomate e iogurte + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "assado em cubos ou tiras, dourando bem as bordas; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
  "seasoning_text": "limão, orégano, alho; alho, hortelã, pimenta",
  "seasoning_refs": [
    "T028",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-E54E273CF8",
    "SRC-0E25C4C87F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, orégano, alho; alho, hortelã, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 141,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING020",
        "ING023",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "berinjela com tomate e iogurte",
        "source_method_ids": [
          "PM-SRC-0E25C4C87F"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "frigideira/grelha ou forno",
          "tigelas para molhos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Assar/grelhar a berinjela até macia e bem dourada."
          },
          {
            "order": 2,
            "instruction": "Preparar o componente de tomate até concentrar e esfriar levemente."
          },
          {
            "order": 3,
            "instruction": "Preparar o molho de iogurte zero lactose frio com os temperos autorizados."
          },
          {
            "order": 4,
            "instruction": "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
          }
        ],
        "source_time_reference": [
          "receita-fonte ~30 min total"
        ],
        "source_temperature_reference": [
          "calor alto para a berinjela; molhos em calor suave/frio"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia; tomate espesso; iogurte frio e cremoso"
        ],
        "adaptation_guardrails": [
          "Usar apenas quantidades/ingredientes da versão adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "assado em cubos ou tiras, dourando bem as bordas; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E54E273CF8",
        "PM-SRC-0E25C4C87F"
      ]
    }
  }
}
LEG-L41Frango tikka com iogurte zero lactose + vagem com alho + folhas
ver dados
{
  "id": "LEG-L41",
  "name": "Frango tikka com iogurte zero lactose + vagem com alho + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "marinado e grelhado/espetado; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
  "seasoning_text": "garam masala/curry, gengibre, alho, limão; alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-BF10506C58",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala/curry, gengibre, alho, limão; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango tikka com iogurte zero lactose",
        "source_method_ids": [
          "PM-SRC-BF10506C58"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "marinado e grelhado/espetado; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BF10506C58",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-L42Frango tikka com iogurte zero lactose + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-L42",
  "name": "Frango tikka com iogurte zero lactose + purê de couve-flor + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "marinado e grelhado/espetado; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
  "seasoning_text": "garam masala/curry, gengibre, alho, limão; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-BF10506C58",
    "SRC-98F3FC1410"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala/curry, gengibre, alho, limão; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING019",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango tikka com iogurte zero lactose",
        "source_method_ids": [
          "PM-SRC-BF10506C58"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-98F3FC1410"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "marinado e grelhado/espetado; cozida e processada; iogurte zero lactose para cremosidade; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BF10506C58",
        "PM-SRC-98F3FC1410"
      ]
    }
  }
}
LEG-L43Frango souvlaki + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-L43",
  "name": "Frango souvlaki + vagem com amêndoas tostadas + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "espetos ou cubos muito bem dourados; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
  "seasoning_text": "limão, alho, orégano; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T002",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-48B8FB322E",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, orégano; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "espetos ou cubos muito bem dourados; vagem firme com amêndoas tostadas por cima; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-48B8FB322E",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-L46Frango gyros + berinjela com tomate e iogurte + folhas
ver dados
{
  "id": "LEG-L46",
  "name": "Frango gyros + berinjela com tomate e iogurte + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "tiras bem douradas; molho frio separado para marmita; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
  "seasoning_text": "orégano, alho, limão, páprica; alho, hortelã, pimenta",
  "seasoning_refs": [
    "T002",
    "T028",
    "T034"
  ],
  "source_ids": [
    "SRC-E18543333B",
    "SRC-0E25C4C87F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, alho, limão, páprica; alho, hortelã, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.6,
    "best_rating_count": 100,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING020",
        "ING023",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango gyros",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "berinjela com tomate e iogurte",
        "source_method_ids": [
          "PM-SRC-0E25C4C87F"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "frigideira/grelha ou forno",
          "tigelas para molhos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Assar/grelhar a berinjela até macia e bem dourada."
          },
          {
            "order": 2,
            "instruction": "Preparar o componente de tomate até concentrar e esfriar levemente."
          },
          {
            "order": 3,
            "instruction": "Preparar o molho de iogurte zero lactose frio com os temperos autorizados."
          },
          {
            "order": 4,
            "instruction": "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
          }
        ],
        "source_time_reference": [
          "receita-fonte ~30 min total"
        ],
        "source_temperature_reference": [
          "calor alto para a berinjela; molhos em calor suave/frio"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia; tomate espesso; iogurte frio e cremoso"
        ],
        "adaptation_guardrails": [
          "Usar apenas quantidades/ingredientes da versão adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Embalar molho frio separadamente e adicionar apenas no consumo.",
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "tiras bem douradas; molho frio separado para marmita; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E18543333B",
        "PM-SRC-0E25C4C87F"
      ]
    }
  }
}
LEG-L48Frango gyros + vagem com alho + folhas
ver dados
{
  "id": "LEG-L48",
  "name": "Frango gyros + vagem com alho + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "tiras bem douradas; molho frio separado para marmita; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
  "seasoning_text": "orégano, alho, limão, páprica; alho, pimenta",
  "seasoning_refs": [
    "T002",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-E18543333B",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, alho, limão, páprica; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 24,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango gyros",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Embalar molho frio separadamente e adicionar apenas no consumo."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "tiras bem douradas; molho frio separado para marmita; salteada rapidamente, ainda firme; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E18543333B",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-L49Frango jerk + berinjela com tomate e iogurte + folhas
ver dados
{
  "id": "LEG-L49",
  "name": "Frango jerk + berinjela com tomate e iogurte + folhas",
  "category": "lunch",
  "origin": "legacy_docx",
  "method_overview": "marinado e assado/grelhado; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
  "seasoning_text": "tomilho, pimenta-da-jamaica, chilli, alho, gengibre; alho, hortelã, pimenta",
  "seasoning_refs": [
    "T101",
    "T028",
    "T034"
  ],
  "source_ids": [
    "SRC-BA7CAF57D8",
    "SRC-0E25C4C87F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Creatina mantida em 6 g, separada da contagem energética.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: tomilho, pimenta-da-jamaica, chilli, alho, gengibre; alho, hortelã, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.3,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING020",
        "ING023",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028",
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango jerk",
        "source_method_ids": [
          "PM-SRC-BA7CAF57D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "berinjela com tomate e iogurte",
        "source_method_ids": [
          "PM-SRC-0E25C4C87F"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "frigideira/grelha ou forno",
          "tigelas para molhos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Assar/grelhar a berinjela até macia e bem dourada."
          },
          {
            "order": 2,
            "instruction": "Preparar o componente de tomate até concentrar e esfriar levemente."
          },
          {
            "order": 3,
            "instruction": "Preparar o molho de iogurte zero lactose frio com os temperos autorizados."
          },
          {
            "order": 4,
            "instruction": "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
          }
        ],
        "source_time_reference": [
          "receita-fonte ~30 min total"
        ],
        "source_temperature_reference": [
          "calor alto para a berinjela; molhos em calor suave/frio"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia; tomate espesso; iogurte frio e cremoso"
        ],
        "adaptation_guardrails": [
          "Usar apenas quantidades/ingredientes da versão adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Manter folhas cruas separadas da comida quente e temperar somente ao servir.",
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Creatina mantida em 6 g, separada da contagem energética."
    ],
    "original_method_overview": "marinado e assado/grelhado; berinjela assada/grelhada; molhos em camadas; folhas cruas separadas para preservar textura",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BA7CAF57D8",
        "PM-SRC-0E25C4C87F"
      ]
    }
  }
}
LEG-SD01Iogurte proteico gelado instantâneo de morango
ver dados
{
  "id": "LEG-SD01",
  "name": "Iogurte proteico gelado instantâneo de morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "bater com morango congelado até textura de frozen yogurt",
  "seasoning_text": "adoçante opcional; baunilha em traço",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-02A27AA42E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: adoçante opcional; baunilha em traço — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Iogurte proteico gelado instantâneo de morango",
        "source_method_ids": [
          "PM-SRC-02A27AA42E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "bater com morango congelado até textura de frozen yogurt",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-02A27AA42E"
      ]
    }
  }
}
LEG-SD02Frozen yogurt proteico de morango
ver dados
{
  "id": "LEG-SD02",
  "name": "Frozen yogurt proteico de morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "bater e congelar; mexer durante congelamento para reduzir cristais",
  "seasoning_text": "baunilha; sem leite condensado",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-4D44157866"
  ],
  "adaptation_notes": "Leite condensado removido; whey zero lactose introduzido para recuperar proteína; porções reescaladas. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha; sem leite condensado — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 50,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Frozen yogurt proteico de morango",
        "source_method_ids": [
          "PM-SRC-4D44157866"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Leite condensado removido; whey zero lactose introduzido para recuperar proteína; porções reescaladas.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "bater e congelar; mexer durante congelamento para reduzir cristais",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4D44157866"
      ]
    }
  }
}
LEG-SD03Sundae proteico de iogurte e morango
ver dados
{
  "id": "LEG-SD03",
  "name": "Sundae proteico de iogurte e morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "morango amassado em swirl, iogurte e whey misturados; fruta em pedaços",
  "seasoning_text": "baunilha ou canela em traço",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-DE379BFD3B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha ou canela em traço — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 3,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Sundae proteico de iogurte e morango",
        "source_method_ids": [
          "PM-SRC-DE379BFD3B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela/copo",
          "garfo ou mixer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e whey até formar creme liso."
          },
          {
            "order": 2,
            "instruction": "Amassar/processar parte da fruta em purê e deixar parte em pedaços quando a ficha pedir contraste."
          },
          {
            "order": 3,
            "instruction": "Fazer swirl ou camadas sem homogeneizar totalmente."
          },
          {
            "order": 4,
            "instruction": "Adicionar componentes crocantes somente na hora de servir."
          }
        ],
        "source_time_reference": [
          "montagem imediata, sem cocção"
        ],
        "source_temperature_reference": [
          "frio"
        ],
        "texture_or_doneness_endpoint": [
          "camadas/swirl visíveis e texturas distintas"
        ],
        "adaptation_guardrails": [
          "Usar somente frutas/amêndoas da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "morango amassado em swirl, iogurte e whey misturados; fruta em pedaços",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DE379BFD3B"
      ]
    }
  }
}
LEG-SD04Picolé proteico de morango e iogurte
ver dados
{
  "id": "LEG-SD04",
  "name": "Picolé proteico de morango e iogurte",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "bater, colocar em formas e congelar",
  "seasoning_text": "adoçante opcional",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-20D4788A6F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: adoçante opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Picolé proteico de morango e iogurte",
        "source_method_ids": [
          "PM-SRC-20D4788A6F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador",
          "formas de picolé",
          "freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar morango até purê e misturar com iogurte/whey autorizados."
          },
          {
            "order": 2,
            "instruction": "Distribuir nas formas, deixando espaço adequado para o palito."
          },
          {
            "order": 3,
            "instruction": "Congelar até sólido."
          }
        ],
        "source_time_reference": [
          "fonte: pelo menos 4 h de freezer"
        ],
        "source_temperature_reference": [
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "completamente firme"
        ],
        "adaptation_guardrails": [
          "Açúcar/mel da fonte não entra; pequenos pedaços de morango podem ser incorporados quando a ficha pedir textura.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "bater, colocar em formas e congelar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-20D4788A6F"
      ]
    }
  }
}
LEG-SD05Parfait proteico de morango
ver dados
{
  "id": "LEG-SD05",
  "name": "Parfait proteico de morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "camadas de iogurte+whey, morango amassado e crocante mínimo de amêndoa",
  "seasoning_text": "baunilha; biscoito amaretti original removido",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-BFB52B879B"
  ],
  "adaptation_notes": "Amaretti removido para manter carboidratos; whey acrescentado; amêndoa opcional em porção mínima para textura. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha; biscoito amaretti original removido — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 4,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Parfait proteico de morango",
        "source_method_ids": [
          "PM-SRC-BFB52B879B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "copo/pote",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção"
        ],
        "source_temperature_reference": [
          "refrigerado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Amaretti removido para manter carboidratos; whey acrescentado; amêndoa opcional em porção mínima para textura.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "camadas de iogurte+whey, morango amassado e crocante mínimo de amêndoa",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BFB52B879B"
      ]
    }
  }
}
LEG-SD06Smoothie proteico de morango e banana
ver dados
{
  "id": "LEG-SD06",
  "name": "Smoothie proteico de morango e banana",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "bater muito frio; banana usada apenas na fração que cabe no alvo",
  "seasoning_text": "canela em traço",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-8CFAC315C0"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: canela em traço — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Smoothie proteico de morango e banana",
        "source_method_ids": [
          "PM-SRC-8CFAC315C0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Adicionar fruta, iogurte/whey e demais ingredientes autorizados ao liquidificador."
          },
          {
            "order": 2,
            "instruction": "Bater até ficar completamente liso."
          },
          {
            "order": 3,
            "instruction": "Servir imediatamente bem frio."
          }
        ],
        "source_time_reference": [
          "processar apenas até liso"
        ],
        "source_temperature_reference": [
          "sem cocção; frio"
        ],
        "texture_or_doneness_endpoint": [
          "bebida homogênea sem pedaços grandes"
        ],
        "adaptation_guardrails": [
          "Leite/amêndoa da fonte entram apenas nas quantidades autorizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "bater muito frio; banana usada apenas na fração que cabe no alvo",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8CFAC315C0"
      ]
    }
  }
}
LEG-SD07Creme proteico aerado de morango
ver dados
{
  "id": "LEG-SD07",
  "name": "Creme proteico aerado de morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "bater iogurte e whey até aerar; incorporar purê de morango sem congelar",
  "seasoning_text": "baunilha",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-02A27AA42E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Creme proteico aerado de morango",
        "source_method_ids": [
          "PM-SRC-02A27AA42E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "bater iogurte e whey até aerar; incorporar purê de morango sem congelar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-02A27AA42E"
      ]
    }
  }
}
LEG-SD08Iogurte proteico com morango macerado
ver dados
{
  "id": "LEG-SD08",
  "name": "Iogurte proteico com morango macerado",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "macerar o morango com limão; servir sobre creme de iogurte+whey",
  "seasoning_text": "raspas de limão; adoçante opcional",
  "seasoning_refs": [
    "T028",
    "T021"
  ],
  "source_ids": [
    "SRC-DE379BFD3B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: raspas de limão; adoçante opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 3,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Iogurte proteico com morango macerado",
        "source_method_ids": [
          "PM-SRC-DE379BFD3B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela/copo",
          "garfo ou mixer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e whey até formar creme liso."
          },
          {
            "order": 2,
            "instruction": "Amassar/processar parte da fruta em purê e deixar parte em pedaços quando a ficha pedir contraste."
          },
          {
            "order": 3,
            "instruction": "Fazer swirl ou camadas sem homogeneizar totalmente."
          },
          {
            "order": 4,
            "instruction": "Adicionar componentes crocantes somente na hora de servir."
          }
        ],
        "source_time_reference": [
          "montagem imediata, sem cocção"
        ],
        "source_temperature_reference": [
          "frio"
        ],
        "texture_or_doneness_endpoint": [
          "camadas/swirl visíveis e texturas distintas"
        ],
        "adaptation_guardrails": [
          "Usar somente frutas/amêndoas da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "macerar o morango com limão; servir sobre creme de iogurte+whey",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DE379BFD3B"
      ]
    }
  }
}
LEG-SD09Frozen proteico marmorizado de morango
ver dados
{
  "id": "LEG-SD09",
  "name": "Frozen proteico marmorizado de morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "congelar creme de iogurte+whey com purê de morango em swirl",
  "seasoning_text": "baunilha",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-4D44157866"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 50,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Frozen proteico marmorizado de morango",
        "source_method_ids": [
          "PM-SRC-4D44157866"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "congelar creme de iogurte+whey com purê de morango em swirl",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4D44157866"
      ]
    }
  }
}
LEG-SD10Pote gelado de morango com crocante de amêndoa
ver dados
{
  "id": "LEG-SD10",
  "name": "Pote gelado de morango com crocante de amêndoa",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "camadas frias; amêndoa tostada adicionada só ao servir",
  "seasoning_text": "canela ou baunilha",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-BFB52B879B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: canela ou baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 4,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Pote gelado de morango com crocante de amêndoa",
        "source_method_ids": [
          "PM-SRC-BFB52B879B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "copo/pote",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção"
        ],
        "source_temperature_reference": [
          "refrigerado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "camadas frias; amêndoa tostada adicionada só ao servir",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BFB52B879B"
      ]
    }
  }
}
LEG-SD11Iogurte proteico tipo sorbet de morango
ver dados
{
  "id": "LEG-SD11",
  "name": "Iogurte proteico tipo sorbet de morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "maior proporção de fruta congelada, processada até textura de sorbet cremoso",
  "seasoning_text": "limão em traço",
  "seasoning_refs": [
    "T028",
    "T021"
  ],
  "source_ids": [
    "SRC-02A27AA42E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão em traço — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Iogurte proteico tipo sorbet de morango",
        "source_method_ids": [
          "PM-SRC-02A27AA42E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "maior proporção de fruta congelada, processada até textura de sorbet cremoso",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-02A27AA42E"
      ]
    }
  }
}
LEG-SD12Mousse rápida de iogurte, whey e morango
ver dados
{
  "id": "LEG-SD12",
  "name": "Mousse rápida de iogurte, whey e morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "bater iogurte+whey até espessar e dobrar morango picado",
  "seasoning_text": "baunilha",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-DE379BFD3B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 3,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Mousse rápida de iogurte, whey e morango",
        "source_method_ids": [
          "PM-SRC-DE379BFD3B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela/copo",
          "garfo ou mixer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e whey até formar creme liso."
          },
          {
            "order": 2,
            "instruction": "Amassar/processar parte da fruta em purê e deixar parte em pedaços quando a ficha pedir contraste."
          },
          {
            "order": 3,
            "instruction": "Fazer swirl ou camadas sem homogeneizar totalmente."
          },
          {
            "order": 4,
            "instruction": "Adicionar componentes crocantes somente na hora de servir."
          }
        ],
        "source_time_reference": [
          "montagem imediata, sem cocção"
        ],
        "source_temperature_reference": [
          "frio"
        ],
        "texture_or_doneness_endpoint": [
          "camadas/swirl visíveis e texturas distintas"
        ],
        "adaptation_guardrails": [
          "Usar somente frutas/amêndoas da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "bater iogurte+whey até espessar e dobrar morango picado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DE379BFD3B"
      ]
    }
  }
}
LEG-SD13Creme gelado de morango com canela
ver dados
{
  "id": "LEG-SD13",
  "name": "Creme gelado de morango com canela",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "morango congelado batido com creme proteico",
  "seasoning_text": "canela",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-02A27AA42E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: canela — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Creme gelado de morango com canela",
        "source_method_ids": [
          "PM-SRC-02A27AA42E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "morango congelado batido com creme proteico",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-02A27AA42E"
      ]
    }
  }
}
LEG-SD14Picolé marmorizado de morango
ver dados
{
  "id": "LEG-SD14",
  "name": "Picolé marmorizado de morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "purê de morango e creme proteico colocados sem homogeneizar totalmente",
  "seasoning_text": "baunilha",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-20D4788A6F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Picolé marmorizado de morango",
        "source_method_ids": [
          "PM-SRC-20D4788A6F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador",
          "formas de picolé",
          "freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar morango até purê e misturar com iogurte/whey autorizados."
          },
          {
            "order": 2,
            "instruction": "Distribuir nas formas, deixando espaço adequado para o palito."
          },
          {
            "order": 3,
            "instruction": "Congelar até sólido."
          }
        ],
        "source_time_reference": [
          "fonte: pelo menos 4 h de freezer"
        ],
        "source_temperature_reference": [
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "completamente firme"
        ],
        "adaptation_guardrails": [
          "Açúcar/mel da fonte não entra; pequenos pedaços de morango podem ser incorporados quando a ficha pedir textura.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "purê de morango e creme proteico colocados sem homogeneizar totalmente",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-20D4788A6F"
      ]
    }
  }
}
LEG-SD15Parfait de morango amassado e creme proteico
ver dados
{
  "id": "LEG-SD15",
  "name": "Parfait de morango amassado e creme proteico",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "camadas com duas texturas de morango: purê e cubos",
  "seasoning_text": "raspas de limão",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-BFB52B879B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: raspas de limão — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 4,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Parfait de morango amassado e creme proteico",
        "source_method_ids": [
          "PM-SRC-BFB52B879B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "copo/pote",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção"
        ],
        "source_temperature_reference": [
          "refrigerado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "camadas com duas texturas de morango: purê e cubos",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BFB52B879B"
      ]
    }
  }
}
LEG-SD16Smoothie espesso de morango
ver dados
{
  "id": "LEG-SD16",
  "name": "Smoothie espesso de morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "pouco líquido; bater até consistência de colher",
  "seasoning_text": "baunilha",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-8CFAC315C0"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Smoothie espesso de morango",
        "source_method_ids": [
          "PM-SRC-8CFAC315C0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Adicionar fruta, iogurte/whey e demais ingredientes autorizados ao liquidificador."
          },
          {
            "order": 2,
            "instruction": "Bater até ficar completamente liso."
          },
          {
            "order": 3,
            "instruction": "Servir imediatamente bem frio."
          }
        ],
        "source_time_reference": [
          "processar apenas até liso"
        ],
        "source_temperature_reference": [
          "sem cocção; frio"
        ],
        "texture_or_doneness_endpoint": [
          "bebida homogênea sem pedaços grandes"
        ],
        "adaptation_guardrails": [
          "Leite/amêndoa da fonte entram apenas nas quantidades autorizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "pouco líquido; bater até consistência de colher",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8CFAC315C0"
      ]
    }
  }
}
LEG-SD17Frozen yogurt proteico com morango em pedaços
ver dados
{
  "id": "LEG-SD17",
  "name": "Frozen yogurt proteico com morango em pedaços",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "metade do morango vira purê; metade permanece em cubos",
  "seasoning_text": "baunilha",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-4D44157866"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 50,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Frozen yogurt proteico com morango em pedaços",
        "source_method_ids": [
          "PM-SRC-4D44157866"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "metade do morango vira purê; metade permanece em cubos",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-4D44157866"
      ]
    }
  }
}
LEG-SD18Copinho gelado de iogurte e morango
ver dados
{
  "id": "LEG-SD18",
  "name": "Copinho gelado de iogurte e morango",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "montar em copo; morango esmagado no fundo, creme proteico acima",
  "seasoning_text": "limão em traço",
  "seasoning_refs": [
    "T028",
    "T021"
  ],
  "source_ids": [
    "SRC-DE379BFD3B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão em traço — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 3,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Copinho gelado de iogurte e morango",
        "source_method_ids": [
          "PM-SRC-DE379BFD3B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela/copo",
          "garfo ou mixer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e whey até formar creme liso."
          },
          {
            "order": 2,
            "instruction": "Amassar/processar parte da fruta em purê e deixar parte em pedaços quando a ficha pedir contraste."
          },
          {
            "order": 3,
            "instruction": "Fazer swirl ou camadas sem homogeneizar totalmente."
          },
          {
            "order": 4,
            "instruction": "Adicionar componentes crocantes somente na hora de servir."
          }
        ],
        "source_time_reference": [
          "montagem imediata, sem cocção"
        ],
        "source_temperature_reference": [
          "frio"
        ],
        "texture_or_doneness_endpoint": [
          "camadas/swirl visíveis e texturas distintas"
        ],
        "adaptation_guardrails": [
          "Usar somente frutas/amêndoas da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "montar em copo; morango esmagado no fundo, creme proteico acima",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DE379BFD3B"
      ]
    }
  }
}
LEG-SD19Bowl proteico de morango e mamão
ver dados
{
  "id": "LEG-SD19",
  "name": "Bowl proteico de morango e mamão",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "frutas bem frias batidas parcialmente, mantendo pedaços",
  "seasoning_text": "limão; sem mel",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-643FE5F773"
  ],
  "adaptation_notes": "Mistura tropical original reduzida a mamão em pequena porção + morango; mel removido e whey incluído. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão; sem mel — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 12,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING014"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Bowl proteico de morango e mamão",
        "source_method_ids": [
          "PM-SRC-643FE5F773"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador de alimentos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Colocar no processador o iogurte e as frutas que serão batidas, usando apenas os ingredientes autorizados pela adaptação."
          },
          {
            "order": 2,
            "instruction": "Processar até atingir a textura desejada: homogênea para creme, ou por menos tempo quando a ficha pede pedaços."
          },
          {
            "order": 3,
            "instruction": "Para a versão bowl/gelada, servir imediatamente; se a preparação for congelada, transferir para recipiente próprio e amolecer brevemente antes de servir."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 15 min de preparo; o método principal é bater e servir/congelar"
        ],
        "source_temperature_reference": [
          "preparo frio"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso; pedaços preservados quando a ficha assim especificar"
        ],
        "adaptation_guardrails": [
          "A fonte usa fruta tropical congelada e mel/maple; na adaptação usar apenas morango/mamão, whey e iogurte zero lactose previstos.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Mistura tropical original reduzida a mamão em pequena porção + morango; mel removido e whey incluído.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "frutas bem frias batidas parcialmente, mantendo pedaços",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-643FE5F773"
      ]
    }
  }
}
LEG-SD20Creme proteico de morango com mamão em cubos
ver dados
{
  "id": "LEG-SD20",
  "name": "Creme proteico de morango com mamão em cubos",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "creme de iogurte+whey com fruta fresca em cubos",
  "seasoning_text": "baunilha",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-643FE5F773"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 12,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING014"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Creme proteico de morango com mamão em cubos",
        "source_method_ids": [
          "PM-SRC-643FE5F773"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador de alimentos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Colocar no processador o iogurte e as frutas que serão batidas, usando apenas os ingredientes autorizados pela adaptação."
          },
          {
            "order": 2,
            "instruction": "Processar até atingir a textura desejada: homogênea para creme, ou por menos tempo quando a ficha pede pedaços."
          },
          {
            "order": 3,
            "instruction": "Para a versão bowl/gelada, servir imediatamente; se a preparação for congelada, transferir para recipiente próprio e amolecer brevemente antes de servir."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 15 min de preparo; o método principal é bater e servir/congelar"
        ],
        "source_temperature_reference": [
          "preparo frio"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso; pedaços preservados quando a ficha assim especificar"
        ],
        "adaptation_guardrails": [
          "A fonte usa fruta tropical congelada e mel/maple; na adaptação usar apenas morango/mamão, whey e iogurte zero lactose previstos.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "creme de iogurte+whey com fruta fresca em cubos",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-643FE5F773"
      ]
    }
  }
}
LEG-SD21Frozen proteico de morango com toque de banana
ver dados
{
  "id": "LEG-SD21",
  "name": "Frozen proteico de morango com toque de banana",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "banana congelada em pequena quantidade para corpo; morango dominante",
  "seasoning_text": "canela",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-8CFAC315C0"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: canela — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING015"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Frozen proteico de morango com toque de banana",
        "source_method_ids": [
          "PM-SRC-8CFAC315C0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Adicionar fruta, iogurte/whey e demais ingredientes autorizados ao liquidificador."
          },
          {
            "order": 2,
            "instruction": "Bater até ficar completamente liso."
          },
          {
            "order": 3,
            "instruction": "Servir imediatamente bem frio."
          }
        ],
        "source_time_reference": [
          "processar apenas até liso"
        ],
        "source_temperature_reference": [
          "sem cocção; frio"
        ],
        "texture_or_doneness_endpoint": [
          "bebida homogênea sem pedaços grandes"
        ],
        "adaptation_guardrails": [
          "Leite/amêndoa da fonte entram apenas nas quantidades autorizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "banana congelada em pequena quantidade para corpo; morango dominante",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8CFAC315C0"
      ]
    }
  }
}
LEG-SD22Iogurte proteico batido com morango e amêndoa
ver dados
{
  "id": "LEG-SD22",
  "name": "Iogurte proteico batido com morango e amêndoa",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "bater amêndoa finamente com o creme para textura mais densa",
  "seasoning_text": "canela",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-8CFAC315C0"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: canela — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Iogurte proteico batido com morango e amêndoa",
        "source_method_ids": [
          "PM-SRC-8CFAC315C0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Adicionar fruta, iogurte/whey e demais ingredientes autorizados ao liquidificador."
          },
          {
            "order": 2,
            "instruction": "Bater até ficar completamente liso."
          },
          {
            "order": 3,
            "instruction": "Servir imediatamente bem frio."
          }
        ],
        "source_time_reference": [
          "processar apenas até liso"
        ],
        "source_temperature_reference": [
          "sem cocção; frio"
        ],
        "texture_or_doneness_endpoint": [
          "bebida homogênea sem pedaços grandes"
        ],
        "adaptation_guardrails": [
          "Leite/amêndoa da fonte entram apenas nas quantidades autorizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "bater amêndoa finamente com o creme para textura mais densa",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8CFAC315C0"
      ]
    }
  }
}
LEG-SD23Parfait gelado de morango com amêndoa
ver dados
{
  "id": "LEG-SD23",
  "name": "Parfait gelado de morango com amêndoa",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "camadas; amêndoa tostada somente na finalização",
  "seasoning_text": "baunilha",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-BFB52B879B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 4,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Parfait gelado de morango com amêndoa",
        "source_method_ids": [
          "PM-SRC-BFB52B879B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "copo/pote",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção"
        ],
        "source_temperature_reference": [
          "refrigerado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "camadas; amêndoa tostada somente na finalização",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BFB52B879B"
      ]
    }
  }
}
LEG-SD24Picolé proteico de morango com swirl
ver dados
{
  "id": "LEG-SD24",
  "name": "Picolé proteico de morango com swirl",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "parte do purê misturada e parte adicionada em swirl antes de congelar",
  "seasoning_text": "raspas de limão",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-20D4788A6F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: raspas de limão — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Picolé proteico de morango com swirl",
        "source_method_ids": [
          "PM-SRC-20D4788A6F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador",
          "formas de picolé",
          "freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar morango até purê e misturar com iogurte/whey autorizados."
          },
          {
            "order": 2,
            "instruction": "Distribuir nas formas, deixando espaço adequado para o palito."
          },
          {
            "order": 3,
            "instruction": "Congelar até sólido."
          }
        ],
        "source_time_reference": [
          "fonte: pelo menos 4 h de freezer"
        ],
        "source_temperature_reference": [
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "completamente firme"
        ],
        "adaptation_guardrails": [
          "Açúcar/mel da fonte não entra; pequenos pedaços de morango podem ser incorporados quando a ficha pedir textura.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "parte do purê misturada e parte adicionada em swirl antes de congelar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-20D4788A6F"
      ]
    }
  }
}
LEG-SD25Frozen proteico de morango em textura soft-serve
ver dados
{
  "id": "LEG-SD25",
  "name": "Frozen proteico de morango em textura soft-serve",
  "category": "afternoon_snack_sweet",
  "origin": "legacy_docx",
  "method_overview": "processar fruta congelada e consumir imediatamente, sem recongelar",
  "seasoning_text": "baunilha",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-02A27AA42E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: baunilha — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Frozen proteico de morango em textura soft-serve",
        "source_method_ids": [
          "PM-SRC-02A27AA42E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Iogurte deve ser versão zero lactose e o whey é o mesmo produto do plano original."
    ],
    "original_method_overview": "processar fruta congelada e consumir imediatamente, sem recongelar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-02A27AA42E"
      ]
    }
  }
}
LEG-SS01Strogonoff de carne com cogumelos e iogurte zero lactose - porção de lanche
ver dados
{
  "id": "LEG-SS01",
  "name": "Strogonoff de carne com cogumelos e iogurte zero lactose - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "carne selada; molho curto; iogurte entra fora do fogo",
  "seasoning_text": "mostarda, páprica, pimenta",
  "seasoning_refs": [
    "T028",
    "T046",
    "T004"
  ],
  "source_ids": [
    "SRC-C1DE9F5FD9"
  ],
  "adaptation_notes": "Creme original reduzido/substituído por iogurte zero lactose; sem acompanhamento amiláceo; porções reescaladas. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 343,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Strogonoff de carne com cogumelos e iogurte zero lactose - porção de lanche",
        "source_method_ids": [
          "PM-SRC-C1DE9F5FD9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e alho; dourar cogumelos separadamente para perderem água."
          },
          {
            "order": 2,
            "instruction": "Secar/temperar a carne e selar rapidamente em frigideira quente sem lotar."
          },
          {
            "order": 3,
            "instruction": "Reunir os componentes e reduzir o molho curto com mostarda/caldo/tomate apenas quando previstos."
          },
          {
            "order": 4,
            "instruction": "Retirar do calor forte e incorporar o iogurte zero lactose da adaptação para manter cremosidade sem talhar."
          }
        ],
        "source_time_reference": [
          "fonte: cebola ~15 min; alho 2–3 min; cogumelos ~5 min; carne 3–4 min; molho ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira quente para selar; calor médio/baixo no molho"
        ],
        "texture_or_doneness_endpoint": [
          "carne dourada; cogumelos sem excesso de líquido; molho cremoso e curto"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha/crème fraîche; omitir farinha e trocar o lácteo conforme a adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Creme original reduzido/substituído por iogurte zero lactose; sem acompanhamento amiláceo; porções reescaladas.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "carne selada; molho curto; iogurte entra fora do fogo",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C1DE9F5FD9"
      ]
    }
  }
}
LEG-SS02Carne ao curry - porção de lanche
ver dados
{
  "id": "LEG-SS02",
  "name": "Carne ao curry - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "cozimento úmido curto até molho aderente",
  "seasoning_text": "curry, cominho, coentro, gengibre, alho",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-419B2CE79F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, cominho, coentro, gengibre, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 80,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne ao curry - porção de lanche",
        "source_method_ids": [
          "PM-SRC-419B2CE79F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela larga",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer parte da gordura prevista e dourar a carne moída em fogo alto, quebrando os grumos; retirar e reservar quando bem colorida."
          },
          {
            "order": 2,
            "instruction": "Na mesma panela, amaciar cebola, alho e gengibre autorizados até ficarem macios."
          },
          {
            "order": 3,
            "instruction": "Adicionar curry/especiarias e cozinhar brevemente para liberar aroma."
          },
          {
            "order": 4,
            "instruction": "Juntar tomate/líquido apenas nas quantidades autorizadas e retornar a carne; cozinhar em fogo médio até o molho curto aderir à carne."
          },
          {
            "order": 5,
            "instruction": "Finalizar com ervas ou iogurte somente quando previstos na versão adaptada."
          }
        ],
        "source_time_reference": [
          "fonte: dourar a carne; aromáticos ~8 min; depois ~20 min em fogo médio com os componentes do curry"
        ],
        "source_temperature_reference": [
          "fogo alto para dourar; médio para terminar"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada, grumos soltos e molho reduzido/aderente"
        ],
        "adaptation_guardrails": [
          "Batata, cenoura, arroz e chutney da fonte são omitidos; água/caldo é reduzido na adaptação para manter o curry curto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "cozimento úmido curto até molho aderente",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-419B2CE79F"
      ]
    }
  }
}
LEG-SS03Ragù de carne e tomate - porção de lanche
ver dados
{
  "id": "LEG-SS03",
  "name": "Ragù de carne e tomate - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "carne bem dourada e molho de tomate reduzido",
  "seasoning_text": "alho, manjericão, orégano, pimenta",
  "seasoning_refs": [
    "T036",
    "T034",
    "T098"
  ],
  "source_ids": [
    "SRC-B1518DE66A"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, manjericão, orégano, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Ragù de carne e tomate - porção de lanche",
        "source_method_ids": [
          "PM-SRC-B1518DE66A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela pesada",
          "frigideira auxiliar opcional",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar aromáticos autorizados; em paralelo, dourar a carne moída em lotes para não cozinhar no próprio vapor."
          },
          {
            "order": 2,
            "instruction": "Juntar carne e aromáticos, adicionar tomate/purê autorizados e levar a fogo baixo."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até o molho reduzir e concentrar; mexer ocasionalmente."
          },
          {
            "order": 4,
            "instruction": "Finalizar com ervas/queijo apenas se previstos na adaptação."
          }
        ],
        "source_time_reference": [
          "fonte: base de carne/tomate 1½–2 h em fogo muito baixo, seguida de ~30 min após adição final de lácteo"
        ],
        "source_temperature_reference": [
          "dourar em fogo médio-alto; reduzir em fogo muito baixo"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada e molho denso, sem água livre"
        ],
        "adaptation_guardrails": [
          "A versão sem massa omite spaghetti/mascarpone; leite e outros vegetais só entram se estiverem listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "carne bem dourada e molho de tomate reduzido",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-B1518DE66A"
      ]
    }
  }
}
LEG-SS04Bolonhesa sem massa - porção de lanche
ver dados
{
  "id": "LEG-SS04",
  "name": "Bolonhesa sem massa - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "carne moída em molho longo de tomate; servida com vegetal",
  "seasoning_text": "alho, ervas italianas, pimenta",
  "seasoning_refs": [
    "T044",
    "T034",
    "T098"
  ],
  "source_ids": [
    "SRC-A3A876CA09"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, ervas italianas, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 1207,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolonhesa sem massa - porção de lanche",
        "source_method_ids": [
          "PM-SRC-A3A876CA09"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar a carne moída e amaciar os aromáticos previstos."
          },
          {
            "order": 2,
            "instruction": "Adicionar tomate e temperos autorizados, raspar o fundo da panela e levar a fervura suave."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até reduzir e desenvolver sabor; servir sem massa quando a ficha disser “sem massa”."
          }
        ],
        "source_time_reference": [
          "receita-fonte de bolonhesa longa (~2 h total)"
        ],
        "source_temperature_reference": [
          "fogo baixo após dourar"
        ],
        "texture_or_doneness_endpoint": [
          "molho espesso e carne macia"
        ],
        "adaptation_guardrails": [
          "Massa, vinho e demais ingredientes da fonte são omitidos se não constarem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "carne moída em molho longo de tomate; servida com vegetal",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A3A876CA09"
      ]
    }
  }
}
LEG-SS05Kofta bovina com molho de iogurte e hortelã - porção de lanche
ver dados
{
  "id": "LEG-SS05",
  "name": "Kofta bovina com molho de iogurte e hortelã - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte",
  "seasoning_text": "cominho, coentro, hortelã, alho",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-E9D3F66FB7"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, hortelã, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 95,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta bovina com molho de iogurte e hortelã - porção de lanche",
        "source_method_ids": [
          "PM-SRC-E9D3F66FB7"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira antiaderente",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com os temperos/aromáticos autorizados e moldar pequenas koftas ovais."
          },
          {
            "order": 2,
            "instruction": "Selar em lotes na frigideira; a fonte usa 2–3 min nesta etapa."
          },
          {
            "order": 3,
            "instruction": "Transferir para assadeira e terminar no forno; a fonte usa 200°C/180°C ventilado por 10 min."
          },
          {
            "order": 4,
            "instruction": "Preparar o molho de iogurte/hortelã somente com os ingredientes autorizados e servir separado ou sobre as koftas. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: frigideira 2–3 min; forno 10 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "koftas seladas por fora e totalmente cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Chutney, flatbread e acompanhamentos não entram se não constarem da alternativa; usar iogurte zero lactose quando previsto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E9D3F66FB7"
      ]
    }
  }
}
LEG-SS06Kofte marroquino ao tomate - porção de lanche
ver dados
{
  "id": "LEG-SS06",
  "name": "Kofte marroquino ao tomate - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "almôndegas/koftas douradas e finalizadas no molho",
  "seasoning_text": "cominho, páprica, canela em traço, coentro",
  "seasoning_refs": [
    "T034"
  ],
  "source_ids": [
    "SRC-8E365AEB6D"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, páprica, canela em traço, coentro — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofte marroquino ao tomate - porção de lanche",
        "source_method_ids": [
          "PM-SRC-8E365AEB6D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/churrasqueira",
          "panela para molho"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos."
          },
          {
            "order": 2,
            "instruction": "Reduzir o molho de tomate/harissa autorizado por 15–20 min ou até espesso."
          },
          {
            "order": 3,
            "instruction": "Grelhar as koftas por cerca de 6–8 min no total, virando, até douradas e cozidas no centro."
          },
          {
            "order": 4,
            "instruction": "porcionar pelo peso cru indicado antes da cocção e aplicar apenas os molhos previstos na alternativa."
          }
        ],
        "source_time_reference": [
          "fonte: molho 15–20 min; koftas 6–8 min"
        ],
        "source_temperature_reference": [
          "grill quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "koftas douradas e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir iogurte, pinoli, açúcar ou acompanhamentos quando não autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "almôndegas/koftas douradas e finalizadas no molho",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8E365AEB6D"
      ]
    }
  }
}
LEG-SS07Hambúrguer kofta caseiro - porção de lanche
ver dados
{
  "id": "LEG-SS07",
  "name": "Hambúrguer kofta caseiro - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão",
  "seasoning_text": "cominho, coentro, salsa, alho",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-31F2558DC1"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, salsa, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 53,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Hambúrguer kofta caseiro - porção de lanche",
        "source_method_ids": [
          "PM-SRC-31F2558DC1"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "grelha/chapa ou air fryer",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne moída com as especiarias/ervas autorizadas até distribuir uniformemente, sem compactar em excesso."
          },
          {
            "order": 2,
            "instruction": "Moldar em cilindros, koftas, discos ou espetos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear ou usar air fryer, virando quando necessário para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir molho de iogurte/hortelã separado quando previsto; em versões ao tomate, terminar as koftas no molho reduzido."
          }
        ],
        "source_time_reference": [
          "fontes de kofta: normalmente ~20–50 min total conforme receita/formato"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "superfície bem dourada; centro cozido; molho reduzido quando aplicável"
        ],
        "adaptation_guardrails": [
          "As fontes frequentemente usam cordeiro/pão; aqui manter a carne e ingredientes da nossa porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-31F2558DC1"
      ]
    }
  }
}
LEG-SS08Almôndegas ao strogonoff - porção de lanche
ver dados
{
  "id": "LEG-SS08",
  "name": "Almôndegas ao strogonoff - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "almôndegas assadas/air fryer e finalizadas no molho",
  "seasoning_text": "mostarda, páprica, pimenta",
  "seasoning_refs": [
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-567AB4BDA3"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 64,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Almôndegas ao strogonoff - porção de lanche",
        "source_method_ids": [
          "PM-SRC-567AB4BDA3"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga com tampa",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar a carne crua moída autorizada e moldar almôndegas uniformes, sem compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dourar as almôndegas em todos os lados e reservar."
          },
          {
            "order": 3,
            "instruction": "Amaciar a cebola; adicionar alho e cogumelos e cozinhar até começarem a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar os componentes de molho autorizados e cozinhar brevemente para retirar sabor cru; acrescentar o líquido permitido aos poucos."
          },
          {
            "order": 5,
            "instruction": "Retornar as almôndegas, tampar e cozinhar em fervura suave até o centro estar cozido; a fonte usa 15 min."
          },
          {
            "order": 6,
            "instruction": "Incorporar o iogurte/lácteo adaptado fora de fervura forte. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~15 min de fervura suave das almôndegas no molho após dourar"
        ],
        "source_temperature_reference": [
          "fogo médio para dourar; fervura suave para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "almôndegas douradas, cozidas no centro e molho cremoso"
        ],
        "adaptation_guardrails": [
          "A farinha, creme azedo e acompanhamentos da fonte não entram automaticamente. Usar apenas os componentes autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "almôndegas assadas/air fryer e finalizadas no molho",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-567AB4BDA3"
      ]
    }
  }
}
LEG-SS09Carne de panela leve - porção de lanche
ver dados
{
  "id": "LEG-SS09",
  "name": "Carne de panela leve - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "pressão/cozimento lento; molho reduzido, sem farinha",
  "seasoning_text": "louro, alho, pimenta, tomilho",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-5F8FE8416C"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: louro, alho, pimenta, tomilho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 682,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne de panela leve - porção de lanche",
        "source_method_ids": [
          "PM-SRC-5F8FE8416C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "panela de cozimento lento ou panela pesada"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola/aromáticos autorizados e preparar a base do molho."
          },
          {
            "order": 2,
            "instruction": "Dourar a carne em lotes antes do cozimento lento para obter sabor de Maillard."
          },
          {
            "order": 3,
            "instruction": "Transferir para cozimento lento com os líquidos/temperos autorizados e cozinhar até a carne ficar muito macia."
          },
          {
            "order": 4,
            "instruction": "Se o molho estiver ralo, reduzir em panela aberta; a adaptação não usa farinha/amido quando não listado."
          }
        ],
        "source_time_reference": [
          "fonte: 8–10 h em low ou ~4 h em high"
        ],
        "source_temperature_reference": [
          "slow cooker low/high; selagem em frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "carne muito macia; molho reduzido e aderente"
        ],
        "adaptation_guardrails": [
          "Omitir cenoura/celery/cornflour e outros itens não listados; pode usar pressão/cozimento lento equivalente conforme ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "pressão/cozimento lento; molho reduzido, sem farinha",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5F8FE8416C"
      ]
    }
  }
}
LEG-SS10Carne com cebola estilo pot-roast - porção de lanche
ver dados
{
  "id": "LEG-SS10",
  "name": "Carne com cebola estilo pot-roast - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "cozimento lento com cebola bem dourada",
  "seasoning_text": "tomilho, alho, pimenta",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-D0DC37E945"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: tomilho, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 210,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne com cebola estilo pot-roast - porção de lanche",
        "source_method_ids": [
          "PM-SRC-D0DC37E945"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada com tampa ou slow cooker",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar bem a carne e retirar."
          },
          {
            "order": 2,
            "instruction": "Cozinhar a cebola até bem caramelizada/dourada, aproveitando o fundo da panela."
          },
          {
            "order": 3,
            "instruction": "Retornar a carne com o líquido/temperos autorizados e cozinhar lentamente, tampado, até macia."
          },
          {
            "order": 4,
            "instruction": "Retirar a carne, descansar/fatiar e reduzir o molho de cebola se necessário."
          }
        ],
        "source_time_reference": [
          "fonte de pot-roast/cozimento lento; tempo depende do corte e equipamento"
        ],
        "source_temperature_reference": [
          "selagem alta; cozimento baixo e lento"
        ],
        "texture_or_doneness_endpoint": [
          "carne macia; cebola bem dourada; molho concentrado"
        ],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da gravy original que não estejam autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "cozimento lento com cebola bem dourada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-D0DC37E945"
      ]
    }
  }
}
LEG-SS11Frango churrasco de limão e alho - porção de lanche
ver dados
{
  "id": "LEG-SS11",
  "name": "Frango churrasco de limão e alho - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "grelhado em filé ou cubos; sem fritura por imersão",
  "seasoning_text": "limão, alho, páprica, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-EC9CFA9DDA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, páprica, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.9,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango churrasco de limão e alho - porção de lanche",
        "source_method_ids": [
          "PM-SRC-EC9CFA9DDA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "grelhado em filé ou cubos; sem fritura por imersão",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-EC9CFA9DDA"
      ]
    }
  }
}
LEG-SS12Paillard de frango com limão e ervas - porção de lanche
ver dados
{
  "id": "LEG-SS12",
  "name": "Paillard de frango com limão e ervas - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "filé fino e grelhado em chapa muito quente",
  "seasoning_text": "limão, salsa, ervas",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-1A3490590C"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, salsa, ervas — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Paillard de frango com limão e ervas - porção de lanche",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "filé fino e grelhado em chapa muito quente",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1A3490590C"
      ]
    }
  }
}
LEG-SS13Frango ao limão e orégano - porção de lanche
ver dados
{
  "id": "LEG-SS13",
  "name": "Frango ao limão e orégano - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "assado em cubos ou tiras, dourando bem as bordas",
  "seasoning_text": "limão, orégano, alho",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-E54E273CF8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, orégano, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 141,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao limão e orégano - porção de lanche",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "assado em cubos ou tiras, dourando bem as bordas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E54E273CF8"
      ]
    }
  }
}
LEG-SS14Frango tikka com iogurte zero lactose - porção de lanche
ver dados
{
  "id": "LEG-SS14",
  "name": "Frango tikka com iogurte zero lactose - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "marinado e grelhado/espetado",
  "seasoning_text": "garam masala/curry, gengibre, alho, limão",
  "seasoning_refs": [
    "T028",
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-BF10506C58"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala/curry, gengibre, alho, limão — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango tikka com iogurte zero lactose - porção de lanche",
        "source_method_ids": [
          "PM-SRC-BF10506C58"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "marinado e grelhado/espetado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BF10506C58"
      ]
    }
  }
}
LEG-SS15Frango souvlaki - porção de lanche
ver dados
{
  "id": "LEG-SS15",
  "name": "Frango souvlaki - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "espetos ou cubos muito bem dourados",
  "seasoning_text": "limão, alho, orégano",
  "seasoning_refs": [
    "T002",
    "T021"
  ],
  "source_ids": [
    "SRC-48B8FB322E"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, orégano — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango souvlaki - porção de lanche",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "espetos ou cubos muito bem dourados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-48B8FB322E"
      ]
    }
  }
}
LEG-SS16Frango gyros - porção de lanche
ver dados
{
  "id": "LEG-SS16",
  "name": "Frango gyros - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "tiras bem douradas; molho frio separado para marmita",
  "seasoning_text": "orégano, alho, limão, páprica",
  "seasoning_refs": [
    "T002",
    "T021"
  ],
  "source_ids": [
    "SRC-E18543333B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, alho, limão, páprica — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 100,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango gyros - porção de lanche",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Embalar molho frio separadamente e adicionar apenas no consumo."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "tiras bem douradas; molho frio separado para marmita",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E18543333B"
      ]
    }
  }
}
LEG-SS17Frango jerk - porção de lanche
ver dados
{
  "id": "LEG-SS17",
  "name": "Frango jerk - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "marinado e assado/grelhado",
  "seasoning_text": "tomilho, pimenta-da-jamaica, chilli, alho, gengibre",
  "seasoning_refs": [
    "T101",
    "T098"
  ],
  "source_ids": [
    "SRC-BA7CAF57D8"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: tomilho, pimenta-da-jamaica, chilli, alho, gengibre — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango jerk - porção de lanche",
        "source_method_ids": [
          "PM-SRC-BA7CAF57D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "marinado e assado/grelhado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BA7CAF57D8"
      ]
    }
  }
}
LEG-SS18Frango ao curry - porção de lanche
ver dados
{
  "id": "LEG-SS18",
  "name": "Frango ao curry - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "cubos em molho reduzido; sem leite de coco",
  "seasoning_text": "curry, cominho, gengibre, alho",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-5F81012DF2"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, cominho, gengibre, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 360,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao curry - porção de lanche",
        "source_method_ids": [
          "PM-SRC-5F81012DF2"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira/panela larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e aromáticos; adicionar alho/gengibre e cozinhar brevemente."
          },
          {
            "order": 2,
            "instruction": "Adicionar o frango e dourar os cubos."
          },
          {
            "order": 3,
            "instruction": "Adicionar especiarias/pasta e os componentes de molho autorizados; cozinhar em fervura suave até o molho reduzir e aderir."
          },
          {
            "order": 4,
            "instruction": "Quando houver iogurte na adaptação, incorporar no final e evitar fervura forte."
          }
        ],
        "source_time_reference": [
          "fonte: cebola 8–10 min; aromáticos ~1 min; frango ~5 min antes do molho; molho 25–30 min"
        ],
        "source_temperature_reference": [
          "médio → fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "frango cozido e molho concentrado"
        ],
        "adaptation_guardrails": [
          "A versão “curry seco” pode omitir tomate/água/iogurte; nesse caso parar quando especiarias estiverem aderidas ao frango.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "cubos em molho reduzido; sem leite de coco",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5F81012DF2"
      ]
    }
  }
}
LEG-SS19Tilápia ao curry de tomate - porção de lanche
ver dados
{
  "id": "LEG-SS19",
  "name": "Tilápia ao curry de tomate - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "filés/cubos cozidos delicadamente no molho",
  "seasoning_text": "curry, coentro, gengibre, alho",
  "seasoning_refs": [
    "T034",
    "T099"
  ],
  "source_ids": [
    "SRC-5DCE2A5D16"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, coentro, gengibre, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 179,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao curry de tomate - porção de lanche",
        "source_method_ids": [
          "PM-SRC-5DCE2A5D16"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela funda",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e alho autorizados em fogo moderado; a fonte usa cerca de 5 min."
          },
          {
            "order": 2,
            "instruction": "Adicionar a pasta/especiarias de curry e cozinhar por 1–2 min para perfumar."
          },
          {
            "order": 3,
            "instruction": "Adicionar tomate e somente o líquido autorizado e levar a fervura suave."
          },
          {
            "order": 4,
            "instruction": "Adicionar a tilápia/peixe em pedaços e cozinhar delicadamente até lascar com facilidade; a fonte usa 4–5 min."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~5 min; curry 1–2 min; peixe 4–5 min"
        ],
        "source_temperature_reference": [
          "fogo moderado; fervura suave para o peixe"
        ],
        "texture_or_doneness_endpoint": [
          "peixe opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir arroz/naan ou caldo adicional se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "filés/cubos cozidos delicadamente no molho",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5DCE2A5D16"
      ]
    }
  }
}
LEG-SS20Tilápia ao curry cremoso de iogurte - porção de lanche
ver dados
{
  "id": "LEG-SS20",
  "name": "Tilápia ao curry cremoso de iogurte - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "cozimento suave; iogurte zero lactose estabilizado fora de fervura forte",
  "seasoning_text": "curry, coentro, gengibre, alho",
  "seasoning_refs": [
    "T028",
    "T099"
  ],
  "source_ids": [
    "SRC-627B49D664"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, coentro, gengibre, alho — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao curry cremoso de iogurte - porção de lanche",
        "source_method_ids": [
          "PM-SRC-627B49D664"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira/panela com tampa",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a pasta/especiarias de curry com pequena quantidade do líquido autorizado e adicionar a cebola; cozinhar suavemente até macia."
          },
          {
            "order": 2,
            "instruction": "Adicionar somente o componente cremoso/líquido permitido e levar a fervura suave para formar molho homogêneo."
          },
          {
            "order": 3,
            "instruction": "Adicionar os vegetais autorizados e posicionar o peixe por cima."
          },
          {
            "order": 4,
            "instruction": "Tampar e cozinhar suavemente até o peixe estar recém-cozido; a fonte usa 10–12 min para pedaços grandes."
          }
        ],
        "source_time_reference": [
          "fonte: peixe coberto em fervura suave 10–12 min"
        ],
        "source_temperature_reference": [
          "fogo suave/médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "peixe recém-cozido, opaco e ainda úmido"
        ],
        "adaptation_guardrails": [
          "Leite de coco, vagem, arroz e caldo da fonte só entram se autorizados pela porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "cozimento suave; iogurte zero lactose estabilizado fora de fervura forte",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-627B49D664"
      ]
    }
  }
}
LEG-SS21Tilápia mappas adaptada - porção de lanche
ver dados
{
  "id": "LEG-SS21",
  "name": "Tilápia mappas adaptada - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "cozimento suave em molho aromático; iogurte substitui parte cremosa",
  "seasoning_text": "cúrcuma, coentro, gengibre, chilli",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-7F8EF76EB6"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cúrcuma, coentro, gengibre, chilli — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 139,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia mappas adaptada - porção de lanche",
        "source_method_ids": [
          "PM-SRC-7F8EF76EB6"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a cebola em fogo médio até amolecer e começar a dourar; a fonte usa 5–10 min."
          },
          {
            "order": 2,
            "instruction": "Adicionar alho e tomate autorizados e cozinhar brevemente; na fonte, 2 min."
          },
          {
            "order": 3,
            "instruction": "Adicionar pasta/especiarias de curry e cozinhar mais cerca de 2 min para perfumar."
          },
          {
            "order": 4,
            "instruction": "Adicionar somente o líquido cremoso permitido e levar à fervura."
          },
          {
            "order": 5,
            "instruction": "Adicionar o peixe e reduzir para fervura suave até recém-cozido; a fonte usa 5–8 min."
          }
        ],
        "source_time_reference": [
          "fonte: cebola 5–10 min; alho/tomate 2 min; curry 2 min; peixe 5–8 min"
        ],
        "source_temperature_reference": [
          "fogo médio; fervura suave após adicionar o peixe"
        ],
        "texture_or_doneness_endpoint": [
          "peixe macio, opaco e recém-cozido"
        ],
        "adaptation_guardrails": [
          "Leite de coco, arroz e outros acompanhamentos da fonte só entram se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "cozimento suave em molho aromático; iogurte substitui parte cremosa",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7F8EF76EB6"
      ]
    }
  }
}
LEG-SS22Tilápia ao tomate em air fryer - porção de lanche
ver dados
{
  "id": "LEG-SS22",
  "name": "Tilápia ao tomate em air fryer - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "peixe na air fryer/forno, não imerso em óleo; molho de tomate separado",
  "seasoning_text": "curry, alho, coentro, limão",
  "seasoning_refs": [
    "T034",
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-D6F2695600"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, alho, coentro, limão — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 48,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao tomate em air fryer - porção de lanche",
        "source_method_ids": [
          "PM-SRC-D6F2695600"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira antiaderente",
          "processador ou mixer opcional",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar e dourar levemente a cebola; a fonte usa cerca de 8 min."
          },
          {
            "order": 2,
            "instruction": "Preparar a base de tomate, alho e gengibre autorizados; adicionar a pasta/especiarias e cozinhar para perfumar."
          },
          {
            "order": 3,
            "instruction": "Reduzir a base de tomate até espessar; a fonte usa cerca de 10 min antes do componente cremoso."
          },
          {
            "order": 4,
            "instruction": "Selar rapidamente o peixe em frigideira quente usando somente a gordura contabilizada; a fonte usa cerca de 1 min por lado antes de transferir ao molho."
          },
          {
            "order": 5,
            "instruction": "Finalizar o peixe no molho em fervura suave apenas até cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte: cebola ~8 min; base de tomate ~10 min; selagem do peixe ~1 min por lado"
        ],
        "source_temperature_reference": [
          "alto para selagem; suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "peixe levemente dourado fora e recém-cozido dentro; molho reduzido"
        ],
        "adaptation_guardrails": [
          "A farinha de empanar da fonte não deve ser usada se não estiver na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "peixe na air fryer/forno, não imerso em óleo; molho de tomate separado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-D6F2695600"
      ]
    }
  }
}
LEG-SS23Tilápia gratinada com parmesão - porção de lanche
ver dados
{
  "id": "LEG-SS23",
  "name": "Tilápia gratinada com parmesão - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "forno/grill alto; camada fina de parmesão, sem maionese",
  "seasoning_text": "limão, manjericão, pimenta, alho em pó",
  "seasoning_refs": [
    "T021",
    "T098",
    "T017"
  ],
  "source_ids": [
    "SRC-F6B78FAB13"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, manjericão, pimenta, alho em pó — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia gratinada com parmesão - porção de lanche",
        "source_method_ids": [
          "PM-SRC-F6B78FAB13"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira rasa",
          "grill/broiler ou air fryer",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar/temperar os filés e dispor em camada única."
          },
          {
            "order": 2,
            "instruction": "Pré-cozinhar sob grill forte, virando na metade quando a espessura permitir."
          },
          {
            "order": 3,
            "instruction": "Aplicar uma camada fina da cobertura de parmesão adaptada."
          },
          {
            "order": 4,
            "instruction": "Voltar ao grill/air fryer apenas até dourar a cobertura e o peixe lascar."
          }
        ],
        "source_time_reference": [
          "fonte: ~4 min de grill inicial (virando na metade) + ~2 min após a cobertura"
        ],
        "source_temperature_reference": [
          "broiler/grill alto, filé próximo da fonte de calor"
        ],
        "texture_or_doneness_endpoint": [
          "parmesão dourado; peixe lascando"
        ],
        "adaptation_guardrails": [
          "A fonte usa maionese e manteiga; nossa adaptação não deve adicioná-las salvo se explicitamente contabilizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "forno/grill alto; camada fina de parmesão, sem maionese",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F6B78FAB13"
      ]
    }
  }
}
LEG-SS24Lombo suíno ao tomate e ervas - porção de lanche
ver dados
{
  "id": "LEG-SS24",
  "name": "Lombo suíno ao tomate e ervas - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "lombo em medalhões/tiras, selado e finalizado no tomate",
  "seasoning_text": "alho, alecrim, orégano, pimenta",
  "seasoning_refs": [
    "T034",
    "T098"
  ],
  "source_ids": [
    "SRC-B1518DE66A"
  ],
  "adaptation_notes": "Técnica de ragù/tomate aplicada ao lombo; gordura adicionada medida e molho reduzido. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, alecrim, orégano, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno ao tomate e ervas - porção de lanche",
        "source_method_ids": [
          "PM-SRC-B1518DE66A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela pesada",
          "frigideira auxiliar opcional",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar aromáticos autorizados; em paralelo, dourar a carne moída em lotes para não cozinhar no próprio vapor."
          },
          {
            "order": 2,
            "instruction": "Juntar carne e aromáticos, adicionar tomate/purê autorizados e levar a fogo baixo."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até o molho reduzir e concentrar; mexer ocasionalmente."
          },
          {
            "order": 4,
            "instruction": "Finalizar com ervas/queijo apenas se previstos na adaptação."
          }
        ],
        "source_time_reference": [
          "fonte: base de carne/tomate 1½–2 h em fogo muito baixo, seguida de ~30 min após adição final de lácteo"
        ],
        "source_temperature_reference": [
          "dourar em fogo médio-alto; reduzir em fogo muito baixo"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada e molho denso, sem água livre"
        ],
        "adaptation_guardrails": [
          "A versão sem massa omite spaghetti/mascarpone; leite e outros vegetais só entram se estiverem listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Técnica de ragù/tomate aplicada ao lombo; gordura adicionada medida e molho reduzido.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "lombo em medalhões/tiras, selado e finalizado no tomate",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-B1518DE66A"
      ]
    }
  }
}
LEG-SS25Lombo suíno com limão, alho e alecrim - porção de lanche
ver dados
{
  "id": "LEG-SS25",
  "name": "Lombo suíno com limão, alho e alecrim - porção de lanche",
  "category": "afternoon_snack_savory",
  "origin": "legacy_docx",
  "method_overview": "medalhões grelhados/assados; mesma família aromática do assado de referência",
  "seasoning_text": "limão, alho, alecrim, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-D6E6893D01"
  ],
  "adaptation_notes": "Proteína trocada por lombo suíno magro; perfil limão-alho-alecrim e método de assar/grelhar preservados. Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, alecrim, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.9,
    "best_rating_count": 31,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno com limão, alho e alecrim - porção de lanche",
        "source_method_ids": [
          "PM-SRC-D6E6893D01"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar alecrim, alho, limão e temperos autorizados com a gordura da porção."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango com essa mistura e assar até dourar."
          },
          {
            "order": 3,
            "instruction": "Descansar antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para frango inteiro: 1 h 10 min + 10 min de descanso"
        ],
        "source_temperature_reference": [
          "190°C / 170°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido; repousado antes do corte"
        ],
        "adaptation_guardrails": [
          "A fonte é para ave inteira; para peito/cubos, usar somente o perfil aromático e técnica de assar, não o tempo de 1 h 10 min.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Proteína trocada por lombo suíno magro; perfil limão-alho-alecrim e método de assar/grelhar preservados.",
      "Molhos ricos em carboidrato foram reduzidos a traços; gordura é ajustada com azeite pesado e/ou pequena porção de queijo zero lactose."
    ],
    "original_method_overview": "medalhões grelhados/assados; mesma família aromática do assado de referência",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-D6E6893D01"
      ]
    }
  }
}
LEG-D02Strogonoff de carne com cogumelos e iogurte zero lactose + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-D02",
  "name": "Strogonoff de carne com cogumelos e iogurte zero lactose + vagem com mostarda em grãos + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "carne selada; molho curto; iogurte entra fora do fogo; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "mostarda, páprica, pimenta; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T028",
    "T046",
    "T004"
  ],
  "source_ids": [
    "SRC-C1DE9F5FD9",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Creme original reduzido/substituído por iogurte zero lactose; sem acompanhamento amiláceo; porções reescaladas. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 343,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING024",
        "ING025",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Strogonoff de carne com cogumelos e iogurte zero lactose",
        "source_method_ids": [
          "PM-SRC-C1DE9F5FD9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e alho; dourar cogumelos separadamente para perderem água."
          },
          {
            "order": 2,
            "instruction": "Secar/temperar a carne e selar rapidamente em frigideira quente sem lotar."
          },
          {
            "order": 3,
            "instruction": "Reunir os componentes e reduzir o molho curto com mostarda/caldo/tomate apenas quando previstos."
          },
          {
            "order": 4,
            "instruction": "Retirar do calor forte e incorporar o iogurte zero lactose da adaptação para manter cremosidade sem talhar."
          }
        ],
        "source_time_reference": [
          "fonte: cebola ~15 min; alho 2–3 min; cogumelos ~5 min; carne 3–4 min; molho ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira quente para selar; calor médio/baixo no molho"
        ],
        "texture_or_doneness_endpoint": [
          "carne dourada; cogumelos sem excesso de líquido; molho cremoso e curto"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha/crème fraîche; omitir farinha e trocar o lácteo conforme a adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Creme original reduzido/substituído por iogurte zero lactose; sem acompanhamento amiláceo; porções reescaladas.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "carne selada; molho curto; iogurte entra fora do fogo; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C1DE9F5FD9",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
LEG-D04Carne ao curry + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-D04",
  "name": "Carne ao curry + vagem com amêndoas tostadas + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "cozimento úmido curto até molho aderente; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "curry, cominho, coentro, gengibre, alho; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T099",
    "T098"
  ],
  "source_ids": [
    "SRC-419B2CE79F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, cominho, coentro, gengibre, alho; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 80,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne ao curry + vagem com amêndoas tostadas + folhas",
        "source_method_ids": [
          "PM-SRC-419B2CE79F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela larga",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer parte da gordura prevista e dourar a carne moída em fogo alto, quebrando os grumos; retirar e reservar quando bem colorida."
          },
          {
            "order": 2,
            "instruction": "Na mesma panela, amaciar cebola, alho e gengibre autorizados até ficarem macios."
          },
          {
            "order": 3,
            "instruction": "Adicionar curry/especiarias e cozinhar brevemente para liberar aroma."
          },
          {
            "order": 4,
            "instruction": "Juntar tomate/líquido apenas nas quantidades autorizadas e retornar a carne; cozinhar em fogo médio até o molho curto aderir à carne."
          },
          {
            "order": 5,
            "instruction": "Finalizar com ervas ou iogurte somente quando previstos na versão adaptada."
          }
        ],
        "source_time_reference": [
          "fonte: dourar a carne; aromáticos ~8 min; depois ~20 min em fogo médio com os componentes do curry"
        ],
        "source_temperature_reference": [
          "fogo alto para dourar; médio para terminar"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada, grumos soltos e molho reduzido/aderente"
        ],
        "adaptation_guardrails": [
          "Batata, cenoura, arroz e chutney da fonte são omitidos; água/caldo é reduzido na adaptação para manter o curry curto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "cozimento úmido curto até molho aderente; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-419B2CE79F"
      ]
    }
  }
}
LEG-D06Carne ao curry + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-D06",
  "name": "Carne ao curry + vagem com mostarda em grãos + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "cozimento úmido curto até molho aderente; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "curry, cominho, coentro, gengibre, alho; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T099",
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-419B2CE79F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: curry, cominho, coentro, gengibre, alho; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 80,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne ao curry + vagem com mostarda em grãos + folhas",
        "source_method_ids": [
          "PM-SRC-419B2CE79F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela larga",
          "colher de pau/espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer parte da gordura prevista e dourar a carne moída em fogo alto, quebrando os grumos; retirar e reservar quando bem colorida."
          },
          {
            "order": 2,
            "instruction": "Na mesma panela, amaciar cebola, alho e gengibre autorizados até ficarem macios."
          },
          {
            "order": 3,
            "instruction": "Adicionar curry/especiarias e cozinhar brevemente para liberar aroma."
          },
          {
            "order": 4,
            "instruction": "Juntar tomate/líquido apenas nas quantidades autorizadas e retornar a carne; cozinhar em fogo médio até o molho curto aderir à carne."
          },
          {
            "order": 5,
            "instruction": "Finalizar com ervas ou iogurte somente quando previstos na versão adaptada."
          }
        ],
        "source_time_reference": [
          "fonte: dourar a carne; aromáticos ~8 min; depois ~20 min em fogo médio com os componentes do curry"
        ],
        "source_temperature_reference": [
          "fogo alto para dourar; médio para terminar"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada, grumos soltos e molho reduzido/aderente"
        ],
        "adaptation_guardrails": [
          "Batata, cenoura, arroz e chutney da fonte são omitidos; água/caldo é reduzido na adaptação para manter o curry curto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "cozimento úmido curto até molho aderente; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-419B2CE79F"
      ]
    }
  }
}
LEG-D07Ragù de carne e tomate + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-D07",
  "name": "Ragù de carne e tomate + purê de couve-flor + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "carne bem dourada e molho de tomate reduzido; cozida e processada; iogurte zero lactose para cremosidade; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "alho, manjericão, orégano, pimenta; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T036",
    "T034"
  ],
  "source_ids": [
    "SRC-B1518DE66A",
    "SRC-98F3FC1410"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, manjericão, orégano, pimenta; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING019",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Ragù de carne e tomate",
        "source_method_ids": [
          "PM-SRC-B1518DE66A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela pesada",
          "frigideira auxiliar opcional",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar aromáticos autorizados; em paralelo, dourar a carne moída em lotes para não cozinhar no próprio vapor."
          },
          {
            "order": 2,
            "instruction": "Juntar carne e aromáticos, adicionar tomate/purê autorizados e levar a fogo baixo."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até o molho reduzir e concentrar; mexer ocasionalmente."
          },
          {
            "order": 4,
            "instruction": "Finalizar com ervas/queijo apenas se previstos na adaptação."
          }
        ],
        "source_time_reference": [
          "fonte: base de carne/tomate 1½–2 h em fogo muito baixo, seguida de ~30 min após adição final de lácteo"
        ],
        "source_temperature_reference": [
          "dourar em fogo médio-alto; reduzir em fogo muito baixo"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada e molho denso, sem água livre"
        ],
        "adaptation_guardrails": [
          "A versão sem massa omite spaghetti/mascarpone; leite e outros vegetais só entram se estiverem listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-98F3FC1410"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "carne bem dourada e molho de tomate reduzido; cozida e processada; iogurte zero lactose para cremosidade; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-B1518DE66A",
        "PM-SRC-98F3FC1410"
      ]
    }
  }
}
LEG-D09Ragù de carne e tomate + vagem ao limão e parmesão + folhas
ver dados
{
  "id": "LEG-D09",
  "name": "Ragù de carne e tomate + vagem ao limão e parmesão + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "carne bem dourada e molho de tomate reduzido; cozida al dente e finalizada com limão/parmesão; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "alho, manjericão, orégano, pimenta; limão, pimenta",
  "seasoning_refs": [
    "T036",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-B1518DE66A",
    "SRC-F0447AD9EA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, manjericão, orégano, pimenta; limão, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING005"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Ragù de carne e tomate",
        "source_method_ids": [
          "PM-SRC-B1518DE66A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela pesada",
          "frigideira auxiliar opcional",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar aromáticos autorizados; em paralelo, dourar a carne moída em lotes para não cozinhar no próprio vapor."
          },
          {
            "order": 2,
            "instruction": "Juntar carne e aromáticos, adicionar tomate/purê autorizados e levar a fogo baixo."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até o molho reduzir e concentrar; mexer ocasionalmente."
          },
          {
            "order": 4,
            "instruction": "Finalizar com ervas/queijo apenas se previstos na adaptação."
          }
        ],
        "source_time_reference": [
          "fonte: base de carne/tomate 1½–2 h em fogo muito baixo, seguida de ~30 min após adição final de lácteo"
        ],
        "source_temperature_reference": [
          "dourar em fogo médio-alto; reduzir em fogo muito baixo"
        ],
        "texture_or_doneness_endpoint": [
          "carne bem dourada e molho denso, sem água livre"
        ],
        "adaptation_guardrails": [
          "A versão sem massa omite spaghetti/mascarpone; leite e outros vegetais só entram se estiverem listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem ao limão e parmesão",
        "source_method_ids": [
          "PM-SRC-F0447AD9EA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela/vaporizador",
          "tigela"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada."
          },
          {
            "order": 2,
            "instruction": "Secar bem."
          },
          {
            "order": 3,
            "instruction": "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
          }
        ],
        "source_time_reference": [
          "fonte: vapor ~5 min ou fervura ~3 min"
        ],
        "source_temperature_reference": [
          "cozimento curto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem verde e firme; parmesão aderido sem virar pasta"
        ],
        "adaptation_guardrails": [
          "Usar somente a quantidade de parmesão/azeite contabilizada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "carne bem dourada e molho de tomate reduzido; cozida al dente e finalizada com limão/parmesão; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-B1518DE66A",
        "PM-SRC-F0447AD9EA"
      ]
    }
  }
}
LEG-D11Bolonhesa sem massa + vagem com alho + folhas
ver dados
{
  "id": "LEG-D11",
  "name": "Bolonhesa sem massa + vagem com alho + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "carne moída em molho longo de tomate; servida com vegetal; salteada rapidamente, ainda firme; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "alho, ervas italianas, pimenta; alho, pimenta",
  "seasoning_refs": [
    "T044",
    "T034",
    "T098"
  ],
  "source_ids": [
    "SRC-A3A876CA09",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, ervas italianas, pimenta; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 1207,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolonhesa sem massa",
        "source_method_ids": [
          "PM-SRC-A3A876CA09"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar a carne moída e amaciar os aromáticos previstos."
          },
          {
            "order": 2,
            "instruction": "Adicionar tomate e temperos autorizados, raspar o fundo da panela e levar a fervura suave."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até reduzir e desenvolver sabor; servir sem massa quando a ficha disser “sem massa”."
          }
        ],
        "source_time_reference": [
          "receita-fonte de bolonhesa longa (~2 h total)"
        ],
        "source_temperature_reference": [
          "fogo baixo após dourar"
        ],
        "texture_or_doneness_endpoint": [
          "molho espesso e carne macia"
        ],
        "adaptation_guardrails": [
          "Massa, vinho e demais ingredientes da fonte são omitidos se não constarem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "carne moída em molho longo de tomate; servida com vegetal; salteada rapidamente, ainda firme; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A3A876CA09",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-D12Bolonhesa sem massa + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-D12",
  "name": "Bolonhesa sem massa + purê de couve-flor + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "carne moída em molho longo de tomate; servida com vegetal; cozida e processada; iogurte zero lactose para cremosidade; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "alho, ervas italianas, pimenta; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T044",
    "T034"
  ],
  "source_ids": [
    "SRC-A3A876CA09",
    "SRC-98F3FC1410"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: alho, ervas italianas, pimenta; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING019",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolonhesa sem massa",
        "source_method_ids": [
          "PM-SRC-A3A876CA09"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada",
          "colher"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar a carne moída e amaciar os aromáticos previstos."
          },
          {
            "order": 2,
            "instruction": "Adicionar tomate e temperos autorizados, raspar o fundo da panela e levar a fervura suave."
          },
          {
            "order": 3,
            "instruction": "Cozinhar lentamente até reduzir e desenvolver sabor; servir sem massa quando a ficha disser “sem massa”."
          }
        ],
        "source_time_reference": [
          "receita-fonte de bolonhesa longa (~2 h total)"
        ],
        "source_temperature_reference": [
          "fogo baixo após dourar"
        ],
        "texture_or_doneness_endpoint": [
          "molho espesso e carne macia"
        ],
        "adaptation_guardrails": [
          "Massa, vinho e demais ingredientes da fonte são omitidos se não constarem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-98F3FC1410"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "carne moída em molho longo de tomate; servida com vegetal; cozida e processada; iogurte zero lactose para cremosidade; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A3A876CA09",
        "PM-SRC-98F3FC1410"
      ]
    }
  }
}
LEG-D13Kofta bovina com molho de iogurte e hortelã + brócolis assado + folhas
ver dados
{
  "id": "LEG-D13",
  "name": "Kofta bovina com molho de iogurte e hortelã + brócolis assado + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte; forno/air fryer, pontas tostadas; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "cominho, coentro, hortelã, alho; alho, pimenta, limão opcional",
  "seasoning_refs": [
    "T028",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-E9D3F66FB7",
    "SRC-D97E9277C4"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, hortelã, alho; alho, pimenta, limão opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 95,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING018",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta bovina com molho de iogurte e hortelã",
        "source_method_ids": [
          "PM-SRC-E9D3F66FB7"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira antiaderente",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com os temperos/aromáticos autorizados e moldar pequenas koftas ovais."
          },
          {
            "order": 2,
            "instruction": "Selar em lotes na frigideira; a fonte usa 2–3 min nesta etapa."
          },
          {
            "order": 3,
            "instruction": "Transferir para assadeira e terminar no forno; a fonte usa 200°C/180°C ventilado por 10 min."
          },
          {
            "order": 4,
            "instruction": "Preparar o molho de iogurte/hortelã somente com os ingredientes autorizados e servir separado ou sobre as koftas. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: frigideira 2–3 min; forno 10 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "koftas seladas por fora e totalmente cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Chutney, flatbread e acompanhamentos não entram se não constarem da alternativa; usar iogurte zero lactose quando previsto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "brócolis assado",
        "source_method_ids": [
          "PM-SRC-D97E9277C4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos."
          },
          {
            "order": 2,
            "instruction": "Espalhar em camada única sem amontoar."
          },
          {
            "order": 3,
            "instruction": "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
          }
        ],
        "source_time_reference": [
          "25–30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado na fonte"
        ],
        "texture_or_doneness_endpoint": [
          "macio com bordas crocantes/tostadas"
        ],
        "adaptation_guardrails": [
          "Limão/alho entram apenas conforme tempero autorizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte; forno/air fryer, pontas tostadas; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E9D3F66FB7",
        "PM-SRC-D97E9277C4"
      ]
    }
  }
}
LEG-D14Kofta bovina com molho de iogurte e hortelã + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-D14",
  "name": "Kofta bovina com molho de iogurte e hortelã + vagem com amêndoas tostadas + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "cominho, coentro, hortelã, alho; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T028",
    "T098"
  ],
  "source_ids": [
    "SRC-E9D3F66FB7",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, hortelã, alho; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 95,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING022",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta bovina com molho de iogurte e hortelã",
        "source_method_ids": [
          "PM-SRC-E9D3F66FB7"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira antiaderente",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com os temperos/aromáticos autorizados e moldar pequenas koftas ovais."
          },
          {
            "order": 2,
            "instruction": "Selar em lotes na frigideira; a fonte usa 2–3 min nesta etapa."
          },
          {
            "order": 3,
            "instruction": "Transferir para assadeira e terminar no forno; a fonte usa 200°C/180°C ventilado por 10 min."
          },
          {
            "order": 4,
            "instruction": "Preparar o molho de iogurte/hortelã somente com os ingredientes autorizados e servir separado ou sobre as koftas. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: frigideira 2–3 min; forno 10 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "koftas seladas por fora e totalmente cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Chutney, flatbread e acompanhamentos não entram se não constarem da alternativa; usar iogurte zero lactose quando previsto.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "formato de kofta; grelha/air fryer; molho frio de iogurte; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E9D3F66FB7",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-D16Kofte marroquino ao tomate + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-D16",
  "name": "Kofte marroquino ao tomate + vagem com mostarda em grãos + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "almôndegas/koftas douradas e finalizadas no molho; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "cominho, páprica, canela em traço, coentro; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T034",
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-8E365AEB6D",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, páprica, canela em traço, coentro; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING022",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofte marroquino ao tomate",
        "source_method_ids": [
          "PM-SRC-8E365AEB6D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/churrasqueira",
          "panela para molho"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos."
          },
          {
            "order": 2,
            "instruction": "Reduzir o molho de tomate/harissa autorizado por 15–20 min ou até espesso."
          },
          {
            "order": 3,
            "instruction": "Grelhar as koftas por cerca de 6–8 min no total, virando, até douradas e cozidas no centro."
          },
          {
            "order": 4,
            "instruction": "porcionar pelo peso cru indicado antes da cocção e aplicar apenas os molhos previstos na alternativa."
          }
        ],
        "source_time_reference": [
          "fonte: molho 15–20 min; koftas 6–8 min"
        ],
        "source_temperature_reference": [
          "grill quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "koftas douradas e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir iogurte, pinoli, açúcar ou acompanhamentos quando não autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "almôndegas/koftas douradas e finalizadas no molho; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8E365AEB6D",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
LEG-D18Kofte marroquino ao tomate + brócolis assado + folhas
ver dados
{
  "id": "LEG-D18",
  "name": "Kofte marroquino ao tomate + brócolis assado + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "almôndegas/koftas douradas e finalizadas no molho; forno/air fryer, pontas tostadas; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "cominho, páprica, canela em traço, coentro; alho, pimenta, limão opcional",
  "seasoning_refs": [
    "T034",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-8E365AEB6D",
    "SRC-D97E9277C4"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, páprica, canela em traço, coentro; alho, pimenta, limão opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING018",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofte marroquino ao tomate",
        "source_method_ids": [
          "PM-SRC-8E365AEB6D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/churrasqueira",
          "panela para molho"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos."
          },
          {
            "order": 2,
            "instruction": "Reduzir o molho de tomate/harissa autorizado por 15–20 min ou até espesso."
          },
          {
            "order": 3,
            "instruction": "Grelhar as koftas por cerca de 6–8 min no total, virando, até douradas e cozidas no centro."
          },
          {
            "order": 4,
            "instruction": "porcionar pelo peso cru indicado antes da cocção e aplicar apenas os molhos previstos na alternativa."
          }
        ],
        "source_time_reference": [
          "fonte: molho 15–20 min; koftas 6–8 min"
        ],
        "source_temperature_reference": [
          "grill quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "koftas douradas e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir iogurte, pinoli, açúcar ou acompanhamentos quando não autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "brócolis assado",
        "source_method_ids": [
          "PM-SRC-D97E9277C4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos."
          },
          {
            "order": 2,
            "instruction": "Espalhar em camada única sem amontoar."
          },
          {
            "order": 3,
            "instruction": "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
          }
        ],
        "source_time_reference": [
          "25–30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado na fonte"
        ],
        "texture_or_doneness_endpoint": [
          "macio com bordas crocantes/tostadas"
        ],
        "adaptation_guardrails": [
          "Limão/alho entram apenas conforme tempero autorizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "almôndegas/koftas douradas e finalizadas no molho; forno/air fryer, pontas tostadas; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8E365AEB6D",
        "PM-SRC-D97E9277C4"
      ]
    }
  }
}
LEG-D19Hambúrguer kofta caseiro + berinjela com tomate e iogurte + folhas
ver dados
{
  "id": "LEG-D19",
  "name": "Hambúrguer kofta caseiro + berinjela com tomate e iogurte + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão; berinjela assada/grelhada; molhos em camadas; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "cominho, coentro, salsa, alho; alho, hortelã, pimenta",
  "seasoning_refs": [
    "T028",
    "T034",
    "T098"
  ],
  "source_ids": [
    "SRC-31F2558DC1",
    "SRC-0E25C4C87F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, salsa, alho; alho, hortelã, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.6,
    "best_rating_count": 53,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING020",
        "ING023",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Hambúrguer kofta caseiro",
        "source_method_ids": [
          "PM-SRC-31F2558DC1"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "grelha/chapa ou air fryer",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne moída com as especiarias/ervas autorizadas até distribuir uniformemente, sem compactar em excesso."
          },
          {
            "order": 2,
            "instruction": "Moldar em cilindros, koftas, discos ou espetos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear ou usar air fryer, virando quando necessário para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir molho de iogurte/hortelã separado quando previsto; em versões ao tomate, terminar as koftas no molho reduzido."
          }
        ],
        "source_time_reference": [
          "fontes de kofta: normalmente ~20–50 min total conforme receita/formato"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "superfície bem dourada; centro cozido; molho reduzido quando aplicável"
        ],
        "adaptation_guardrails": [
          "As fontes frequentemente usam cordeiro/pão; aqui manter a carne e ingredientes da nossa porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "berinjela com tomate e iogurte",
        "source_method_ids": [
          "PM-SRC-0E25C4C87F"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "frigideira/grelha ou forno",
          "tigelas para molhos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Assar/grelhar a berinjela até macia e bem dourada."
          },
          {
            "order": 2,
            "instruction": "Preparar o componente de tomate até concentrar e esfriar levemente."
          },
          {
            "order": 3,
            "instruction": "Preparar o molho de iogurte zero lactose frio com os temperos autorizados."
          },
          {
            "order": 4,
            "instruction": "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
          }
        ],
        "source_time_reference": [
          "receita-fonte ~30 min total"
        ],
        "source_temperature_reference": [
          "calor alto para a berinjela; molhos em calor suave/frio"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia; tomate espesso; iogurte frio e cremoso"
        ],
        "adaptation_guardrails": [
          "Usar apenas quantidades/ingredientes da versão adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância.",
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão; berinjela assada/grelhada; molhos em camadas; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-31F2558DC1",
        "PM-SRC-0E25C4C87F"
      ]
    }
  }
}
LEG-D21Hambúrguer kofta caseiro + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-D21",
  "name": "Hambúrguer kofta caseiro + vagem com mostarda em grãos + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "cominho, coentro, salsa, alho; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-31F2558DC1",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: cominho, coentro, salsa, alho; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.6,
    "best_rating_count": 53,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008",
        "ING022",
        "ING024",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Hambúrguer kofta caseiro",
        "source_method_ids": [
          "PM-SRC-31F2558DC1"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "grelha/chapa ou air fryer",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne moída com as especiarias/ervas autorizadas até distribuir uniformemente, sem compactar em excesso."
          },
          {
            "order": 2,
            "instruction": "Moldar em cilindros, koftas, discos ou espetos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear ou usar air fryer, virando quando necessário para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir molho de iogurte/hortelã separado quando previsto; em versões ao tomate, terminar as koftas no molho reduzido."
          }
        ],
        "source_time_reference": [
          "fontes de kofta: normalmente ~20–50 min total conforme receita/formato"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "superfície bem dourada; centro cozido; molho reduzido quando aplicável"
        ],
        "adaptation_guardrails": [
          "As fontes frequentemente usam cordeiro/pão; aqui manter a carne e ingredientes da nossa porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "hambúrguer moldado, chapa ou air fryer; sem pão; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-31F2558DC1",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
LEG-D23Almôndegas ao strogonoff + vagem ao limão e parmesão + folhas
ver dados
{
  "id": "LEG-D23",
  "name": "Almôndegas ao strogonoff + vagem ao limão e parmesão + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "almôndegas assadas/air fryer e finalizadas no molho; cozida al dente e finalizada com limão/parmesão; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "mostarda, páprica, pimenta; limão, pimenta",
  "seasoning_refs": [
    "T021",
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-567AB4BDA3",
    "SRC-F0447AD9EA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta; limão, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING024",
        "ING025",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING005",
        "ING011"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Almôndegas ao strogonoff",
        "source_method_ids": [
          "PM-SRC-567AB4BDA3"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga com tampa",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar a carne crua moída autorizada e moldar almôndegas uniformes, sem compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dourar as almôndegas em todos os lados e reservar."
          },
          {
            "order": 3,
            "instruction": "Amaciar a cebola; adicionar alho e cogumelos e cozinhar até começarem a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar os componentes de molho autorizados e cozinhar brevemente para retirar sabor cru; acrescentar o líquido permitido aos poucos."
          },
          {
            "order": 5,
            "instruction": "Retornar as almôndegas, tampar e cozinhar em fervura suave até o centro estar cozido; a fonte usa 15 min."
          },
          {
            "order": 6,
            "instruction": "Incorporar o iogurte/lácteo adaptado fora de fervura forte. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~15 min de fervura suave das almôndegas no molho após dourar"
        ],
        "source_temperature_reference": [
          "fogo médio para dourar; fervura suave para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "almôndegas douradas, cozidas no centro e molho cremoso"
        ],
        "adaptation_guardrails": [
          "A farinha, creme azedo e acompanhamentos da fonte não entram automaticamente. Usar apenas os componentes autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem ao limão e parmesão",
        "source_method_ids": [
          "PM-SRC-F0447AD9EA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela/vaporizador",
          "tigela"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada."
          },
          {
            "order": 2,
            "instruction": "Secar bem."
          },
          {
            "order": 3,
            "instruction": "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
          }
        ],
        "source_time_reference": [
          "fonte: vapor ~5 min ou fervura ~3 min"
        ],
        "source_temperature_reference": [
          "cozimento curto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem verde e firme; parmesão aderido sem virar pasta"
        ],
        "adaptation_guardrails": [
          "Usar somente a quantidade de parmesão/azeite contabilizada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "almôndegas assadas/air fryer e finalizadas no molho; cozida al dente e finalizada com limão/parmesão; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-567AB4BDA3",
        "PM-SRC-F0447AD9EA"
      ]
    }
  }
}
LEG-D24Almôndegas ao strogonoff + berinjela com tomate e iogurte + folhas
ver dados
{
  "id": "LEG-D24",
  "name": "Almôndegas ao strogonoff + berinjela com tomate e iogurte + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "almôndegas assadas/air fryer e finalizadas no molho; berinjela assada/grelhada; molhos em camadas; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "mostarda, páprica, pimenta; alho, hortelã, pimenta",
  "seasoning_refs": [
    "T028",
    "T034",
    "T004"
  ],
  "source_ids": [
    "SRC-567AB4BDA3",
    "SRC-0E25C4C87F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: mostarda, páprica, pimenta; alho, hortelã, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 64,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING020",
        "ING023",
        "ING024",
        "ING025",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Almôndegas ao strogonoff",
        "source_method_ids": [
          "PM-SRC-567AB4BDA3"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga com tampa",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar a carne crua moída autorizada e moldar almôndegas uniformes, sem compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dourar as almôndegas em todos os lados e reservar."
          },
          {
            "order": 3,
            "instruction": "Amaciar a cebola; adicionar alho e cogumelos e cozinhar até começarem a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar os componentes de molho autorizados e cozinhar brevemente para retirar sabor cru; acrescentar o líquido permitido aos poucos."
          },
          {
            "order": 5,
            "instruction": "Retornar as almôndegas, tampar e cozinhar em fervura suave até o centro estar cozido; a fonte usa 15 min."
          },
          {
            "order": 6,
            "instruction": "Incorporar o iogurte/lácteo adaptado fora de fervura forte. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~15 min de fervura suave das almôndegas no molho após dourar"
        ],
        "source_temperature_reference": [
          "fogo médio para dourar; fervura suave para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "almôndegas douradas, cozidas no centro e molho cremoso"
        ],
        "adaptation_guardrails": [
          "A farinha, creme azedo e acompanhamentos da fonte não entram automaticamente. Usar apenas os componentes autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "berinjela com tomate e iogurte",
        "source_method_ids": [
          "PM-SRC-0E25C4C87F"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "frigideira/grelha ou forno",
          "tigelas para molhos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Assar/grelhar a berinjela até macia e bem dourada."
          },
          {
            "order": 2,
            "instruction": "Preparar o componente de tomate até concentrar e esfriar levemente."
          },
          {
            "order": 3,
            "instruction": "Preparar o molho de iogurte zero lactose frio com os temperos autorizados."
          },
          {
            "order": 4,
            "instruction": "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
          }
        ],
        "source_time_reference": [
          "receita-fonte ~30 min total"
        ],
        "source_temperature_reference": [
          "calor alto para a berinjela; molhos em calor suave/frio"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia; tomate espesso; iogurte frio e cremoso"
        ],
        "adaptation_guardrails": [
          "Usar apenas quantidades/ingredientes da versão adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância.",
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "almôndegas assadas/air fryer e finalizadas no molho; berinjela assada/grelhada; molhos em camadas; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-567AB4BDA3",
        "PM-SRC-0E25C4C87F"
      ]
    }
  }
}
LEG-D25Carne de panela leve + vagem com alho + folhas
ver dados
{
  "id": "LEG-D25",
  "name": "Carne de panela leve + vagem com alho + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "pressão/cozimento lento; molho reduzido, sem farinha; salteada rapidamente, ainda firme; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "louro, alho, pimenta, tomilho; alho, pimenta",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-5F8FE8416C",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: louro, alho, pimenta, tomilho; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 682,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne de panela leve",
        "source_method_ids": [
          "PM-SRC-5F8FE8416C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "panela de cozimento lento ou panela pesada"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola/aromáticos autorizados e preparar a base do molho."
          },
          {
            "order": 2,
            "instruction": "Dourar a carne em lotes antes do cozimento lento para obter sabor de Maillard."
          },
          {
            "order": 3,
            "instruction": "Transferir para cozimento lento com os líquidos/temperos autorizados e cozinhar até a carne ficar muito macia."
          },
          {
            "order": 4,
            "instruction": "Se o molho estiver ralo, reduzir em panela aberta; a adaptação não usa farinha/amido quando não listado."
          }
        ],
        "source_time_reference": [
          "fonte: 8–10 h em low ou ~4 h em high"
        ],
        "source_temperature_reference": [
          "slow cooker low/high; selagem em frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "carne muito macia; molho reduzido e aderente"
        ],
        "adaptation_guardrails": [
          "Omitir cenoura/celery/cornflour e outros itens não listados; pode usar pressão/cozimento lento equivalente conforme ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "pressão/cozimento lento; molho reduzido, sem farinha; salteada rapidamente, ainda firme; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5F8FE8416C",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-D26Carne de panela leve + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-D26",
  "name": "Carne de panela leve + purê de couve-flor + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "pressão/cozimento lento; molho reduzido, sem farinha; cozida e processada; iogurte zero lactose para cremosidade; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "louro, alho, pimenta, tomilho; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T028",
    "T098"
  ],
  "source_ids": [
    "SRC-5F8FE8416C",
    "SRC-98F3FC1410"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: louro, alho, pimenta, tomilho; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING019",
        "ING023",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne de panela leve",
        "source_method_ids": [
          "PM-SRC-5F8FE8416C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira",
          "panela de cozimento lento ou panela pesada"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola/aromáticos autorizados e preparar a base do molho."
          },
          {
            "order": 2,
            "instruction": "Dourar a carne em lotes antes do cozimento lento para obter sabor de Maillard."
          },
          {
            "order": 3,
            "instruction": "Transferir para cozimento lento com os líquidos/temperos autorizados e cozinhar até a carne ficar muito macia."
          },
          {
            "order": 4,
            "instruction": "Se o molho estiver ralo, reduzir em panela aberta; a adaptação não usa farinha/amido quando não listado."
          }
        ],
        "source_time_reference": [
          "fonte: 8–10 h em low ou ~4 h em high"
        ],
        "source_temperature_reference": [
          "slow cooker low/high; selagem em frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "carne muito macia; molho reduzido e aderente"
        ],
        "adaptation_guardrails": [
          "Omitir cenoura/celery/cornflour e outros itens não listados; pode usar pressão/cozimento lento equivalente conforme ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-98F3FC1410"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "pressão/cozimento lento; molho reduzido, sem farinha; cozida e processada; iogurte zero lactose para cremosidade; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-5F8FE8416C",
        "PM-SRC-98F3FC1410"
      ]
    }
  }
}
LEG-D28Carne com cebola estilo pot-roast + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-D28",
  "name": "Carne com cebola estilo pot-roast + vagem com amêndoas tostadas + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "cozimento lento com cebola bem dourada; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "tomilho, alho, pimenta; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-D0DC37E945",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: tomilho, alho, pimenta; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 13,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne com cebola estilo pot-roast",
        "source_method_ids": [
          "PM-SRC-D0DC37E945"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada com tampa ou slow cooker",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar bem a carne e retirar."
          },
          {
            "order": 2,
            "instruction": "Cozinhar a cebola até bem caramelizada/dourada, aproveitando o fundo da panela."
          },
          {
            "order": 3,
            "instruction": "Retornar a carne com o líquido/temperos autorizados e cozinhar lentamente, tampado, até macia."
          },
          {
            "order": 4,
            "instruction": "Retirar a carne, descansar/fatiar e reduzir o molho de cebola se necessário."
          }
        ],
        "source_time_reference": [
          "fonte de pot-roast/cozimento lento; tempo depende do corte e equipamento"
        ],
        "source_temperature_reference": [
          "selagem alta; cozimento baixo e lento"
        ],
        "texture_or_doneness_endpoint": [
          "carne macia; cebola bem dourada; molho concentrado"
        ],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da gravy original que não estejam autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "cozimento lento com cebola bem dourada; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-D0DC37E945",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-D30Carne com cebola estilo pot-roast + vagem com alho + folhas
ver dados
{
  "id": "LEG-D30",
  "name": "Carne com cebola estilo pot-roast + vagem com alho + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "cozimento lento com cebola bem dourada; salteada rapidamente, ainda firme; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "tomilho, alho, pimenta; alho, pimenta",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-D0DC37E945",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: tomilho, alho, pimenta; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 24,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING022",
        "ING024",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne com cebola estilo pot-roast",
        "source_method_ids": [
          "PM-SRC-D0DC37E945"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela pesada com tampa ou slow cooker",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar bem a carne e retirar."
          },
          {
            "order": 2,
            "instruction": "Cozinhar a cebola até bem caramelizada/dourada, aproveitando o fundo da panela."
          },
          {
            "order": 3,
            "instruction": "Retornar a carne com o líquido/temperos autorizados e cozinhar lentamente, tampado, até macia."
          },
          {
            "order": 4,
            "instruction": "Retirar a carne, descansar/fatiar e reduzir o molho de cebola se necessário."
          }
        ],
        "source_time_reference": [
          "fonte de pot-roast/cozimento lento; tempo depende do corte e equipamento"
        ],
        "source_temperature_reference": [
          "selagem alta; cozimento baixo e lento"
        ],
        "texture_or_doneness_endpoint": [
          "carne macia; cebola bem dourada; molho concentrado"
        ],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da gravy original que não estejam autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "cozimento lento com cebola bem dourada; salteada rapidamente, ainda firme; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-D0DC37E945",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-D32Frango churrasco de limão e alho + brócolis assado + folhas
ver dados
{
  "id": "LEG-D32",
  "name": "Frango churrasco de limão e alho + brócolis assado + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "grelhado em filé ou cubos; sem fritura por imersão; forno/air fryer, pontas tostadas; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "limão, alho, páprica, pimenta; alho, pimenta, limão opcional",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-EC9CFA9DDA",
    "SRC-D97E9277C4"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, páprica, pimenta; alho, pimenta, limão opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING018",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango churrasco de limão e alho",
        "source_method_ids": [
          "PM-SRC-EC9CFA9DDA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "brócolis assado",
        "source_method_ids": [
          "PM-SRC-D97E9277C4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos."
          },
          {
            "order": 2,
            "instruction": "Espalhar em camada única sem amontoar."
          },
          {
            "order": 3,
            "instruction": "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
          }
        ],
        "source_time_reference": [
          "25–30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado na fonte"
        ],
        "texture_or_doneness_endpoint": [
          "macio com bordas crocantes/tostadas"
        ],
        "adaptation_guardrails": [
          "Limão/alho entram apenas conforme tempero autorizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "grelhado em filé ou cubos; sem fritura por imersão; forno/air fryer, pontas tostadas; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-EC9CFA9DDA",
        "PM-SRC-D97E9277C4"
      ]
    }
  }
}
LEG-D33Frango churrasco de limão e alho + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-D33",
  "name": "Frango churrasco de limão e alho + vagem com amêndoas tostadas + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "grelhado em filé ou cubos; sem fritura por imersão; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "limão, alho, páprica, pimenta; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-EC9CFA9DDA",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, páprica, pimenta; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.9,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango churrasco de limão e alho",
        "source_method_ids": [
          "PM-SRC-EC9CFA9DDA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "grelhado em filé ou cubos; sem fritura por imersão; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-EC9CFA9DDA",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-D35Paillard de frango com limão e ervas + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-D35",
  "name": "Paillard de frango com limão e ervas + vagem com mostarda em grãos + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "filé fino e grelhado em chapa muito quente; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "limão, salsa, ervas; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T021",
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-1A3490590C",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, salsa, ervas; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 43,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Paillard de frango com limão e ervas",
        "source_method_ids": [
          "PM-SRC-1A3490590C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "martelo de carne ou rolo",
          "papel manteiga/filme",
          "grelha/chapa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm."
          },
          {
            "order": 2,
            "instruction": "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração."
          },
          {
            "order": 3,
            "instruction": "Grelhar rapidamente em superfície muito quente, virando uma vez."
          },
          {
            "order": 4,
            "instruction": "Descansar por alguns minutos antes de servir ou fatiar."
          }
        ],
        "source_time_reference": [
          "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "marcas de grelha e centro cozido sem ressecar"
        ],
        "adaptation_guardrails": [
          "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "filé fino e grelhado em chapa muito quente; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1A3490590C",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
LEG-D37Frango ao limão e orégano + vagem ao limão e parmesão + folhas
ver dados
{
  "id": "LEG-D37",
  "name": "Frango ao limão e orégano + vagem ao limão e parmesão + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "assado em cubos ou tiras, dourando bem as bordas; cozida al dente e finalizada com limão/parmesão; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "limão, orégano, alho; limão, pimenta",
  "seasoning_refs": [
    "T021",
    "T098",
    "T017"
  ],
  "source_ids": [
    "SRC-E54E273CF8",
    "SRC-F0447AD9EA"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, orégano, alho; limão, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem ao limão e parmesão",
        "source_method_ids": [
          "PM-SRC-F0447AD9EA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela/vaporizador",
          "tigela"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada."
          },
          {
            "order": 2,
            "instruction": "Secar bem."
          },
          {
            "order": 3,
            "instruction": "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
          }
        ],
        "source_time_reference": [
          "fonte: vapor ~5 min ou fervura ~3 min"
        ],
        "source_temperature_reference": [
          "cozimento curto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem verde e firme; parmesão aderido sem virar pasta"
        ],
        "adaptation_guardrails": [
          "Usar somente a quantidade de parmesão/azeite contabilizada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "assado em cubos ou tiras, dourando bem as bordas; cozida al dente e finalizada com limão/parmesão; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E54E273CF8",
        "PM-SRC-F0447AD9EA"
      ]
    }
  }
}
LEG-D38Frango ao limão e orégano + berinjela com tomate e iogurte + folhas
ver dados
{
  "id": "LEG-D38",
  "name": "Frango ao limão e orégano + berinjela com tomate e iogurte + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "assado em cubos ou tiras, dourando bem as bordas; berinjela assada/grelhada; molhos em camadas; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "limão, orégano, alho; alho, hortelã, pimenta",
  "seasoning_refs": [
    "T028",
    "T034",
    "T021"
  ],
  "source_ids": [
    "SRC-E54E273CF8",
    "SRC-0E25C4C87F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, orégano, alho; alho, hortelã, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 141,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING020",
        "ING023",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao limão e orégano",
        "source_method_ids": [
          "PM-SRC-E54E273CF8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Temperar o frango com limão, orégano e a gordura prevista."
          },
          {
            "order": 2,
            "instruction": "Assar em assadeira quente, deixando espaço entre os pedaços para dourar."
          },
          {
            "order": 3,
            "instruction": "Virar/reorganizar se necessário e retirar quando dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "berinjela com tomate e iogurte",
        "source_method_ids": [
          "PM-SRC-0E25C4C87F"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "frigideira/grelha ou forno",
          "tigelas para molhos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Assar/grelhar a berinjela até macia e bem dourada."
          },
          {
            "order": 2,
            "instruction": "Preparar o componente de tomate até concentrar e esfriar levemente."
          },
          {
            "order": 3,
            "instruction": "Preparar o molho de iogurte zero lactose frio com os temperos autorizados."
          },
          {
            "order": 4,
            "instruction": "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
          }
        ],
        "source_time_reference": [
          "receita-fonte ~30 min total"
        ],
        "source_temperature_reference": [
          "calor alto para a berinjela; molhos em calor suave/frio"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia; tomate espesso; iogurte frio e cremoso"
        ],
        "adaptation_guardrails": [
          "Usar apenas quantidades/ingredientes da versão adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância.",
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "assado em cubos ou tiras, dourando bem as bordas; berinjela assada/grelhada; molhos em camadas; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E54E273CF8",
        "PM-SRC-0E25C4C87F"
      ]
    }
  }
}
LEG-D40Frango tikka com iogurte zero lactose + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-D40",
  "name": "Frango tikka com iogurte zero lactose + vagem com amêndoas tostadas + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "marinado e grelhado/espetado; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "garam masala/curry, gengibre, alho, limão; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T028",
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-BF10506C58",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala/curry, gengibre, alho, limão; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango tikka com iogurte zero lactose",
        "source_method_ids": [
          "PM-SRC-BF10506C58"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "marinado e grelhado/espetado; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BF10506C58",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-D42Frango tikka com iogurte zero lactose + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-D42",
  "name": "Frango tikka com iogurte zero lactose + vagem com mostarda em grãos + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "marinado e grelhado/espetado; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "garam masala/curry, gengibre, alho, limão; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T028",
    "T099",
    "T021"
  ],
  "source_ids": [
    "SRC-BF10506C58",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: garam masala/curry, gengibre, alho, limão; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango tikka com iogurte zero lactose",
        "source_method_ids": [
          "PM-SRC-BF10506C58"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "marinado e grelhado/espetado; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BF10506C58",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
LEG-D44Frango souvlaki + vagem com alho + folhas
ver dados
{
  "id": "LEG-D44",
  "name": "Frango souvlaki + vagem com alho + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "espetos ou cubos muito bem dourados; salteada rapidamente, ainda firme; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "limão, alho, orégano; alho, pimenta",
  "seasoning_refs": [
    "T002",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-48B8FB322E",
    "SRC-89DE384F5F"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, orégano; alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 230,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com alho",
        "source_method_ids": [
          "PM-SRC-89DE384F5F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "wok ou frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura contabilizada no wok/frigideira."
          },
          {
            "order": 2,
            "instruction": "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme."
          },
          {
            "order": 3,
            "instruction": "Adicionar o alho e continuar apenas até o alho começar a dourar."
          },
          {
            "order": 4,
            "instruction": "Adicionar o molho/tempero autorizado no final e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~5 min antes do alho"
        ],
        "source_temperature_reference": [
          "fogo alto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente com pontos dourados; alho dourado sem queimar"
        ],
        "adaptation_guardrails": [
          "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "espetos ou cubos muito bem dourados; salteada rapidamente, ainda firme; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-48B8FB322E",
        "PM-SRC-89DE384F5F"
      ]
    }
  }
}
LEG-D45Frango souvlaki + purê de couve-flor + folhas
ver dados
{
  "id": "LEG-D45",
  "name": "Frango souvlaki + purê de couve-flor + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "espetos ou cubos muito bem dourados; cozida e processada; iogurte zero lactose para cremosidade; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "limão, alho, orégano; noz-moscada, alho, pimenta",
  "seasoning_refs": [
    "T002",
    "T028",
    "T021"
  ],
  "source_ids": [
    "SRC-48B8FB322E",
    "SRC-98F3FC1410"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: limão, alho, orégano; noz-moscada, alho, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING019",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango souvlaki",
        "source_method_ids": [
          "PM-SRC-48B8FB322E"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-98F3FC1410"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "espetos ou cubos muito bem dourados; cozida e processada; iogurte zero lactose para cremosidade; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-48B8FB322E",
        "PM-SRC-98F3FC1410"
      ]
    }
  }
}
LEG-D46Frango gyros + brócolis assado + folhas
ver dados
{
  "id": "LEG-D46",
  "name": "Frango gyros + brócolis assado + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "tiras bem douradas; molho frio separado para marmita; forno/air fryer, pontas tostadas; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "orégano, alho, limão, páprica; alho, pimenta, limão opcional",
  "seasoning_refs": [
    "T002",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-E18543333B",
    "SRC-D97E9277C4"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, alho, limão, páprica; alho, pimenta, limão opcional — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.6,
    "best_rating_count": 100,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING018",
        "ING027",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango gyros",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "brócolis assado",
        "source_method_ids": [
          "PM-SRC-D97E9277C4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos."
          },
          {
            "order": 2,
            "instruction": "Espalhar em camada única sem amontoar."
          },
          {
            "order": 3,
            "instruction": "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
          }
        ],
        "source_time_reference": [
          "25–30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado na fonte"
        ],
        "texture_or_doneness_endpoint": [
          "macio com bordas crocantes/tostadas"
        ],
        "adaptation_guardrails": [
          "Limão/alho entram apenas conforme tempero autorizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância.",
      "Embalar molho frio separadamente e adicionar apenas no consumo."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "tiras bem douradas; molho frio separado para marmita; forno/air fryer, pontas tostadas; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E18543333B",
        "PM-SRC-D97E9277C4"
      ]
    }
  }
}
LEG-D47Frango gyros + vagem com amêndoas tostadas + folhas
ver dados
{
  "id": "LEG-D47",
  "name": "Frango gyros + vagem com amêndoas tostadas + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "tiras bem douradas; molho frio separado para marmita; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "orégano, alho, limão, páprica; alho, chalota/cebola em traço, pimenta",
  "seasoning_refs": [
    "T002",
    "T021",
    "T098"
  ],
  "source_ids": [
    "SRC-E18543333B",
    "SRC-E309A5D52B"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: orégano, alho, limão, páprica; alho, chalota/cebola em traço, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.8,
    "best_rating_count": 13,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango gyros",
        "source_method_ids": [
          "PM-SRC-E18543333B"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "tigela",
          "espetos ou frigideira/grelha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada."
          },
          {
            "order": 2,
            "instruction": "Marinar quando a ficha permitir."
          },
          {
            "order": 3,
            "instruction": "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados."
          },
          {
            "order": 4,
            "instruction": "Servir o molho de iogurte separadamente quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte de família de barbecue/souvlaki; tempo varia com o corte"
        ],
        "source_temperature_reference": [
          "grelha/chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "cubos/tiras bem dourados e cozidos"
        ],
        "adaptation_guardrails": [
          "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-E309A5D52B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância.",
      "Embalar molho frio separadamente e adicionar apenas no consumo."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "tiras bem douradas; molho frio separado para marmita; vagem firme com amêndoas tostadas por cima; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E18543333B",
        "PM-SRC-E309A5D52B"
      ]
    }
  }
}
LEG-D50Frango jerk + vagem com mostarda em grãos + folhas
ver dados
{
  "id": "LEG-D50",
  "name": "Frango jerk + vagem com mostarda em grãos + folhas",
  "category": "dinner",
  "origin": "legacy_docx",
  "method_overview": "marinado e assado/grelhado; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
  "seasoning_text": "tomilho, pimenta-da-jamaica, chilli, alho, gengibre; mostarda em grãos, vinagre, pimenta",
  "seasoning_refs": [
    "T101",
    "T004",
    "T098"
  ],
  "source_ids": [
    "SRC-BA7CAF57D8",
    "SRC-A67220CDDD"
  ],
  "adaptation_notes": "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados. Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados.",
  "trace_ingredients": [
    "Aromáticos/ácidos em traço: tomilho, pimenta-da-jamaica, chilli, alho, gengibre; mostarda em grãos, vinagre, pimenta — contribuição energética não modelada individualmente; manter uso culinário pequeno (<~5 kcal agregado)."
  ],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.5,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006",
        "ING022",
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango jerk",
        "source_method_ids": [
          "PM-SRC-BA7CAF57D8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "vagem com mostarda em grãos",
        "source_method_ids": [
          "PM-SRC-A67220CDDD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira rasa"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância."
          },
          {
            "order": 2,
            "instruction": "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver."
          },
          {
            "order": 3,
            "instruction": "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
          }
        ],
        "source_time_reference": [
          "fonte: vagem 4–5 min"
        ],
        "source_temperature_reference": [
          "fervura para vagem; calor moderado no molho"
        ],
        "texture_or_doneness_endpoint": [
          "vagem al dente, revestida por molho leve"
        ],
        "adaptation_guardrails": [
          "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      },
      {
        "name": "folhas",
        "source_method_ids": [],
        "grounding_level": "recipe_assembly_rule",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Manter as folhas cruas separadas dos componentes quentes até servir, para preservar a textura."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Adicionar amêndoas após o reaquecimento/na hora de servir para manter crocância."
    ],
    "adaptation_application": [
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Quantidades ajustadas proporcionalmente ao alvo; técnica e perfil de tempero preservados.",
      "Amêndoa/azeite são ajustadores deliberados de gordura, sempre pesados."
    ],
    "original_method_overview": "marinado e assado/grelhado; cozida al dente e envolvida em molho leve; amêndoa, quando presente, adicionada após reaquecer",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BA7CAF57D8",
        "PM-SRC-A67220CDDD"
      ]
    }
  }
}
NEW-MAIN-M01Strogonoff bovino leve
ver dados
{
  "id": "NEW-MAIN-M01",
  "name": "Strogonoff bovino leve",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "carne selada; molho curto; iogurte entra fora do fogo",
  "seasoning_text": "mostarda, páprica, cogumelos",
  "seasoning_refs": [
    "T094"
  ],
  "source_ids": [
    "SRC-8AB2C3072E"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 343,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING025"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Strogonoff bovino leve",
        "source_method_ids": [
          "PM-SRC-8AB2C3072E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e alho; dourar cogumelos separadamente para perderem água."
          },
          {
            "order": 2,
            "instruction": "Secar/temperar a carne e selar rapidamente em frigideira quente sem lotar."
          },
          {
            "order": 3,
            "instruction": "Reunir os componentes e reduzir o molho curto com mostarda/caldo/tomate apenas quando previstos."
          },
          {
            "order": 4,
            "instruction": "Retirar do calor forte e incorporar o iogurte zero lactose da adaptação para manter cremosidade sem talhar."
          }
        ],
        "source_time_reference": [
          "fonte: cebola ~15 min; alho 2–3 min; cogumelos ~5 min; carne 3–4 min; molho ~5 min"
        ],
        "source_temperature_reference": [
          "frigideira quente para selar; calor médio/baixo no molho"
        ],
        "texture_or_doneness_endpoint": [
          "carne dourada; cogumelos sem excesso de líquido; molho cremoso e curto"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha/crème fraîche; omitir farinha e trocar o lácteo conforme a adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "carne selada; molho curto; iogurte entra fora do fogo",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-8AB2C3072E"
      ]
    }
  }
}
NEW-MAIN-M02Bife com chimichurri
ver dados
{
  "id": "NEW-MAIN-M02",
  "name": "Bife com chimichurri",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "bife selado em frigideira/grelha; fatiado contra a fibra",
  "seasoning_text": "chimichurri",
  "seasoning_refs": [
    "T032"
  ],
  "source_ids": [
    "SRC-AEF5B9DDD4"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 27,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife com chimichurri",
        "source_method_ids": [
          "PM-SRC-AEF5B9DDD4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou faca",
          "tigela",
          "chapa ou frigideira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Picar/processar ervas, alho e aromáticos autorizados do chimichurri e combinar com o ácido e a gordura contabilizada até virar molho rústico."
          },
          {
            "order": 2,
            "instruction": "Secar/temperar o bife e esfregar somente a gordura autorizada na superfície."
          },
          {
            "order": 3,
            "instruction": "Selar em chapa/frigideira quente; a fonte usa 2–3 min por lado para bifes de 125 g, mas o tempo deve seguir espessura e ponto."
          },
          {
            "order": 4,
            "instruction": "Descansar alguns minutos antes de fatiar e só então aplicar o chimichurri."
          }
        ],
        "source_time_reference": [
          "fonte: 2–3 min por lado; descanso de alguns minutos"
        ],
        "source_temperature_reference": [
          "chapa/frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta externa, ponto interno desejado e sucos redistribuídos após descanso"
        ],
        "adaptation_guardrails": [
          "Batata/fritas e salada da fonte não são parte automática da adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bife selado em frigideira/grelha; fatiado contra a fibra",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AEF5B9DDD4"
      ]
    }
  }
}
NEW-MAIN-M03Bife ao miso
ver dados
{
  "id": "NEW-MAIN-M03",
  "name": "Bife ao miso",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "marinado rapidamente e selado em fogo alto",
  "seasoning_text": "miso, gengibre e cebolinha em traço",
  "seasoning_refs": [
    "T012"
  ],
  "source_ids": [
    "SRC-58CC1ECA0E"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 30,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife ao miso",
        "source_method_ids": [
          "PM-SRC-58CC1ECA0E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "saco ou recipiente para marinar",
          "frigideira pesada, chapa ou churrasqueira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar o miso e aromáticos autorizados e cobrir uniformemente o bife."
          },
          {
            "order": 2,
            "instruction": "Marinar refrigerado; a fonte usa no mínimo 1 h e permite até 2 dias."
          },
          {
            "order": 3,
            "instruction": "Antes de selar, retirar o excesso de marinada superficial para reduzir queima."
          },
          {
            "order": 4,
            "instruction": "Aquecer muito bem a chapa/frigideira/churrasqueira e selar dos dois lados. A fonte usa cerca de 3 min por lado para malpassado ao ponto em bife semelhante."
          },
          {
            "order": 5,
            "instruction": "Descansar antes de fatiar contra a fibra."
          }
        ],
        "source_time_reference": [
          "fonte: marinada ≥1 h (até 2 dias); ~3 min por lado para medium-rare; descanso ~1 min"
        ],
        "source_temperature_reference": [
          "superfície muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta bem selada e ponto interno desejado"
        ],
        "adaptation_guardrails": [
          "Não usar açúcar, saquê/xerez ou acompanhamentos da fonte se não estiverem autorizados. Tempo de chapa depende da espessura e do corte real.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "marinado rapidamente e selado em fogo alto",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-58CC1ECA0E"
      ]
    }
  }
}
NEW-MAIN-M04Bife simples na chapa
ver dados
{
  "id": "NEW-MAIN-M04",
  "name": "Bife simples na chapa",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "chapa muito quente; descanso antes de fatiar",
  "seasoning_text": "sal, pimenta e alho",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-28230B968D"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.4,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife simples na chapa",
        "source_method_ids": [
          "PM-SRC-28230B968D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira pesada",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Retirar o bife da geladeira com antecedência curta, secar a superfície e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo alto com a gordura prevista; reduzir levemente quando a gordura estiver quente."
          },
          {
            "order": 3,
            "instruction": "Selar virando a cada 30–60 s para desenvolver crosta uniforme."
          },
          {
            "order": 4,
            "instruction": "Retirar no ponto desejado, repousar e fatiar contra a fibra quando aplicável."
          }
        ],
        "source_time_reference": [
          "fonte para steak ~2 cm: ~3 min rare; 4–5 min medium; 7–8 min well done"
        ],
        "source_temperature_reference": [
          "fogo alto → médio-alto; fonte cita 50°C rare, 60°C medium, 70°C well done"
        ],
        "texture_or_doneness_endpoint": [
          "crosta marrom; ponto interno escolhido"
        ],
        "adaptation_guardrails": [
          "Usar somente a gordura prevista; manteiga/alho/ervas da fonte só entram se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "chapa muito quente; descanso antes de fatiar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-28230B968D"
      ]
    }
  }
}
NEW-MAIN-M05Bife apimentado
ver dados
{
  "id": "NEW-MAIN-M05",
  "name": "Bife apimentado",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "selado; crosta de pimenta moída grosseiramente",
  "seasoning_text": "pimenta-do-reino e ervas",
  "seasoning_refs": [
    "T088"
  ],
  "source_ids": [
    "SRC-FF4DBC0D5A"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 17,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife apimentado",
        "source_method_ids": [
          "PM-SRC-FF4DBC0D5A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "chapa/griddle",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar a carne, usar somente a gordura contabilizada e pressionar pimenta moída grosseiramente na superfície."
          },
          {
            "order": 2,
            "instruction": "Aquecer bem a chapa e selar os bifes sem movimentar excessivamente."
          },
          {
            "order": 3,
            "instruction": "Como referência da fonte para filés de ~140 g: 2,5 min por lado malpassado ao ponto, 3,5 min por lado ao ponto e 4,5 min por lado bem-passado. Ajustar à espessura real."
          },
          {
            "order": 4,
            "instruction": "Descansar cerca de 5 min antes de servir/fatiar."
          }
        ],
        "source_time_reference": [
          "fonte: 2,5–4,5 min por lado conforme ponto; descanso 5 min"
        ],
        "source_temperature_reference": [
          "chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta apimentada e ponto interno desejado"
        ],
        "adaptation_guardrails": [
          "Manteiga e batatas da fonte só entram se estiverem autorizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "selado; crosta de pimenta moída grosseiramente",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-FF4DBC0D5A"
      ]
    }
  }
}
NEW-MAIN-M06Hambúrguer bovino caseiro sem pão
ver dados
{
  "id": "NEW-MAIN-M06",
  "name": "Hambúrguer bovino caseiro sem pão",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "moldado em disco e grelhado/chapado",
  "seasoning_text": "sal, pimenta, cebola em pequena quantidade",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-2D6228D97C"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 108,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING024"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Hambúrguer bovino caseiro sem pão",
        "source_method_ids": [
          "PM-SRC-2D6228D97C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "chapa/grelha",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Moldar discos uniformes com a carne e temperos autorizados, manipulando o mínimo necessário."
          },
          {
            "order": 2,
            "instruction": "Resfriar os discos por cerca de 30 min se houver tempo para firmar."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear em calor médio-alto sem pressionar o hambúrguer."
          },
          {
            "order": 4,
            "instruction": "Virar uma vez ou conforme necessário; retirar no ponto definido para a carne moída e deixar repousar brevemente."
          }
        ],
        "source_time_reference": [
          "fonte: ~5 min por lado para hambúrguer de ~3 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa média-quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta dourada e interior cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa cebola/ovo; omitir se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "moldado em disco e grelhado/chapado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2D6228D97C"
      ]
    }
  }
}
NEW-MAIN-M07Kofta bovina grelhada
ver dados
{
  "id": "NEW-MAIN-M07",
  "name": "Kofta bovina grelhada",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "moldada em cilindros/espetos e grelhada",
  "seasoning_text": "cominho, coentro, alho e ervas",
  "seasoning_refs": [
    "T103"
  ],
  "source_ids": [
    "SRC-2F77203D66"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 148,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta bovina grelhada",
        "source_method_ids": [
          "PM-SRC-2F77203D66"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos metálicos",
          "chapa/griddle ou churrasqueira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cominho, coentro, alho, hortelã e demais temperos autorizados até distribuir; evitar compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dividir e moldar em ovais/cilindros, espetar e pincelar somente a gordura autorizada."
          },
          {
            "order": 3,
            "instruction": "Aquecer bem a chapa e cozinhar sem tentar virar antes de a superfície selar."
          },
          {
            "order": 4,
            "instruction": "A fonte usa cerca de 3–4 min por lado; ajustar à espessura da adaptação. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~3–4 min por lado"
        ],
        "source_temperature_reference": [
          "chapa/churrasqueira bem quente"
        ],
        "texture_or_doneness_endpoint": [
          "superfície selada/dourada e centro cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa cordeiro; nas versões bovinas, preservar técnica/formato, mas usar apenas a carne prevista na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "moldada em cilindros/espetos e grelhada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2F77203D66"
      ]
    }
  }
}
NEW-MAIN-M08Kofte marroquino ao tomate
ver dados
{
  "id": "NEW-MAIN-M08",
  "name": "Kofte marroquino ao tomate",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "almôndegas/koftas douradas com molho de tomate reduzido",
  "seasoning_text": "harissa, cominho e tomate",
  "seasoning_refs": [
    "T103"
  ],
  "source_ids": [
    "SRC-2F1142BB4F"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofte marroquino ao tomate",
        "source_method_ids": [
          "PM-SRC-2F1142BB4F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/churrasqueira",
          "panela para molho"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos."
          },
          {
            "order": 2,
            "instruction": "Para o molho, perfumar o alho e reduzir tomate/harissa autorizados até espessar; a fonte reduz por 15–20 min."
          },
          {
            "order": 3,
            "instruction": "Grelhar as koftas, virando para dourar por igual; a fonte usa 6–8 min no total."
          },
          {
            "order": 4,
            "instruction": "Montar com o molho autorizado e, quando previsto, iogurte zero lactose. A carne deve ser pesada crua na gramagem desta página antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: molho 15–20 min; koftas 6–8 min no grill"
        ],
        "source_temperature_reference": [
          "grill quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "koftas bem douradas e cozidas no centro; molho espesso"
        ],
        "adaptation_guardrails": [
          "Iogurte, pinoli, açúcar e acompanhamentos só entram se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "almôndegas/koftas douradas com molho de tomate reduzido",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2F1142BB4F"
      ]
    }
  }
}
NEW-MAIN-M09Frango grelhado com limão e alho
ver dados
{
  "id": "NEW-MAIN-M09",
  "name": "Frango grelhado com limão e alho",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "grelhado/chapado em tiras ou filés finos",
  "seasoning_text": "limão, alho, páprica e pimenta",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango grelhado com limão e alho",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhado/chapado em tiras ou filés finos",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-MAIN-M10Frango jerk
ver dados
{
  "id": "NEW-MAIN-M10",
  "name": "Frango jerk",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "marinado e grelhado/assado",
  "seasoning_text": "jerk: tomilho, pimenta-da-jamaica, alho e gengibre",
  "seasoning_refs": [
    "T101"
  ],
  "source_ids": [
    "SRC-A9091F6283"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango jerk",
        "source_method_ids": [
          "PM-SRC-A9091F6283"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "marinado e grelhado/assado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A9091F6283"
      ]
    }
  }
}
NEW-MAIN-M11Frango tikka
ver dados
{
  "id": "NEW-MAIN-M11",
  "name": "Frango tikka",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "cubos/espetos marinados e assados/grelhados",
  "seasoning_text": "garam masala, iogurte, alho e gengibre",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-C52DCF7F9D"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango tikka",
        "source_method_ids": [
          "PM-SRC-C52DCF7F9D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cubos/espetos marinados e assados/grelhados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C52DCF7F9D"
      ]
    }
  }
}
NEW-MAIN-M12Frango ao curry seco
ver dados
{
  "id": "NEW-MAIN-M12",
  "name": "Frango ao curry seco",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "cubos salteados até molho aderente",
  "seasoning_text": "curry/garam masala, cominho, coentro",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-A400F927EE"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 360,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao curry seco",
        "source_method_ids": [
          "PM-SRC-A400F927EE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira/panela larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e aromáticos; adicionar alho/gengibre e cozinhar brevemente."
          },
          {
            "order": 2,
            "instruction": "Adicionar o frango e dourar os cubos."
          },
          {
            "order": 3,
            "instruction": "Adicionar especiarias/pasta e os componentes de molho autorizados; cozinhar em fervura suave até o molho reduzir e aderir."
          },
          {
            "order": 4,
            "instruction": "Quando houver iogurte na adaptação, incorporar no final e evitar fervura forte."
          }
        ],
        "source_time_reference": [
          "fonte: cebola 8–10 min; aromáticos ~1 min; frango ~5 min antes do molho; molho 25–30 min"
        ],
        "source_temperature_reference": [
          "médio → fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "frango cozido e molho concentrado"
        ],
        "adaptation_guardrails": [
          "A versão “curry seco” pode omitir tomate/água/iogurte; nesse caso parar quando especiarias estiverem aderidas ao frango.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cubos salteados até molho aderente",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A400F927EE"
      ]
    }
  }
}
NEW-MAIN-M13Almôndegas de frango com limão e manjericão
ver dados
{
  "id": "NEW-MAIN-M13",
  "name": "Almôndegas de frango com limão e manjericão",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "assadas ou douradas em frigideira antiaderente",
  "seasoning_text": "limão, manjericão, alho e pimenta",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-BAAEF5D467"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 4,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Almôndegas de frango com limão e manjericão",
        "source_method_ids": [
          "PM-SRC-BAAEF5D467"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a proteína crua moída com limão, manjericão, alho e somente os ligantes/queijo que estejam autorizados."
          },
          {
            "order": 2,
            "instruction": "Moldar almôndegas uniformes; a fonte usa unidades de cerca de 35 g cruas."
          },
          {
            "order": 3,
            "instruction": "Dourar as almôndegas em fogo médio-alto, movimentando para colorir todos os lados."
          },
          {
            "order": 4,
            "instruction": "Quando houver molho de tomate autorizado, terminar o cozimento em fervura suave até o centro estar cozido; sem molho, concluir na frigideira/forno conforme a ficha."
          }
        ],
        "source_time_reference": [
          "fonte: dourar 6–8 min; depois 15 min no molho"
        ],
        "source_temperature_reference": [
          "médio-alto para dourar; fervura suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "douradas por fora e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Breadcrumbs, leite, pesto, tomate e açúcar só entram se estiverem autorizados; para nossa versão simples, preservar principalmente limão/manjericão/alho e a técnica de moldar+dourar.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assadas ou douradas em frigideira antiaderente",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BAAEF5D467"
      ]
    }
  }
}
NEW-MAIN-M14Tilápia com alho e páprica
ver dados
{
  "id": "NEW-MAIN-M14",
  "name": "Tilápia com alho e páprica",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "filé grelhado ou assado até lascar",
  "seasoning_text": "alho, páprica e limão",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia com alho e páprica",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "filé grelhado ou assado até lascar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-MAIN-M15Tilápia ao parmesão na air fryer/forno
ver dados
{
  "id": "NEW-MAIN-M15",
  "name": "Tilápia ao parmesão na air fryer/forno",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "camada fina de parmesão; forno/air fryer até dourar",
  "seasoning_text": "parmesão, alho e pimenta",
  "seasoning_refs": [
    "T017"
  ],
  "source_ids": [
    "SRC-62670668F4"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 10279,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING005",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao parmesão na air fryer/forno",
        "source_method_ids": [
          "PM-SRC-62670668F4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira rasa",
          "grill/broiler ou air fryer",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar/temperar os filés e dispor em camada única."
          },
          {
            "order": 2,
            "instruction": "Pré-cozinhar sob grill forte, virando na metade quando a espessura permitir."
          },
          {
            "order": 3,
            "instruction": "Aplicar uma camada fina da cobertura de parmesão adaptada."
          },
          {
            "order": 4,
            "instruction": "Voltar ao grill/air fryer apenas até dourar a cobertura e o peixe lascar."
          }
        ],
        "source_time_reference": [
          "fonte: ~4 min de grill inicial (virando na metade) + ~2 min após a cobertura"
        ],
        "source_temperature_reference": [
          "broiler/grill alto, filé próximo da fonte de calor"
        ],
        "texture_or_doneness_endpoint": [
          "parmesão dourado; peixe lascando"
        ],
        "adaptation_guardrails": [
          "A fonte usa maionese e manteiga; nossa adaptação não deve adicioná-las salvo se explicitamente contabilizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "camada fina de parmesão; forno/air fryer até dourar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-62670668F4"
      ]
    }
  }
}
NEW-MAIN-M16Lombo suíno com limão, alho e alecrim
ver dados
{
  "id": "NEW-MAIN-M16",
  "name": "Lombo suíno com limão, alho e alecrim",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "fatias/medalhões grelhados ou assados",
  "seasoning_text": "limão, alho, alecrim e pimenta",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-14024CE8FA"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 26,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno com limão, alho e alecrim",
        "source_method_ids": [
          "PM-SRC-14024CE8FA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira antiaderente",
          "pegador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar azeite contabilizado, alecrim, alho, suco/raspas de limão e temperos; envolver os medalhões/fatias de porco."
          },
          {
            "order": 2,
            "instruction": "Marinar sob refrigeração por cerca de 30 min quando houver tempo."
          },
          {
            "order": 3,
            "instruction": "Aquecer bem a frigideira antiaderente, retirar excesso superficial de marinada e cozinhar a carne dos dois lados."
          },
          {
            "order": 4,
            "instruction": "Retirar ao atingir o ponto de cocção e deixar repousar antes de porcionar pelo peso cru indicado antes da cocção."
          }
        ],
        "source_time_reference": [
          "fonte: 3–4 min de cada lado para pork steaks; marinada opcional ~30 min"
        ],
        "source_temperature_reference": [
          "frigideira bem quente"
        ],
        "texture_or_doneness_endpoint": [
          "dourado por fora e cozido; repousado antes de pesar/porcionar"
        ],
        "adaptation_guardrails": [
          "Grão-de-bico, cebola e salada da fonte não entram na receita de lombo; o tempo depende da espessura do corte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "fatias/medalhões grelhados ou assados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14024CE8FA"
      ]
    }
  }
}
NEW-MAIN-M17Lombo suíno estilo stroganoff leve
ver dados
{
  "id": "NEW-MAIN-M17",
  "name": "Lombo suíno estilo stroganoff leve",
  "category": "main",
  "origin": "generated_v3",
  "method_overview": "tiras seladas; molho curto com cogumelo e iogurte",
  "seasoning_text": "páprica, mostarda, cogumelo e iogurte",
  "seasoning_refs": [
    "T094"
  ],
  "source_ids": [
    "SRC-2227CA24C9"
  ],
  "adaptation_notes": "Porções reescaladas para o alvo da refeição. Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 47,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009",
        "ING025"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno estilo stroganoff leve",
        "source_method_ids": [
          "PM-SRC-2227CA24C9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula ou pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar os cogumelos em lotes até a água liberada evaporar e reservar."
          },
          {
            "order": 2,
            "instruction": "Selar o lombo em pedaços/tiras na gordura contabilizada; a fonte usa 5–8 min para cubos de 1 cm, mas a adaptação deve seguir o tamanho real do corte."
          },
          {
            "order": 3,
            "instruction": "Cozinhar a cebola/aromáticos autorizados em fogo baixo-médio até amaciar e começar a caramelizar; na fonte, cerca de 10–12 min."
          },
          {
            "order": 4,
            "instruction": "Reunir carne e cogumelos, adicionar páprica, mostarda e somente o líquido autorizado, raspando o fundo da panela."
          },
          {
            "order": 5,
            "instruction": "Incorporar o iogurte/lácteo zero lactose previsto no final, em calor suave, apenas até aquecer e homogeneizar."
          }
        ],
        "source_time_reference": [
          "fonte: porco 5–8 min; cebola 10–12 min; lácteo final ~2 min"
        ],
        "source_temperature_reference": [
          "médio para cogumelos/carne; baixo-médio para cebola; suave após o lácteo"
        ],
        "texture_or_doneness_endpoint": [
          "carne cozida sem ressecar, cogumelos dourados e molho cremoso sem separar"
        ],
        "adaptation_guardrails": [
          "Usar iogurte/lácteo zero lactose apenas se estiver na porção. Não ferver vigorosamente após incorporá-lo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porções reescaladas para o alvo da refeição.",
      "Acompanhamentos ricos em amido das receitas-fonte foram omitidos; técnica e perfil de sabor foram preservados.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "tiras seladas; molho curto com cogumelo e iogurte",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2227CA24C9"
      ]
    }
  }
}
NEW-SIDE-S01Brócolis assado com alho e limão
ver dados
{
  "id": "NEW-SIDE-S01",
  "name": "Brócolis assado com alho e limão",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "forno/air fryer em camada única até bordas tostadas",
  "seasoning_text": "alho, limão e pimenta",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-BA4DE63859"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING018"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Brócolis assado com alho e limão",
        "source_method_ids": [
          "PM-SRC-BA4DE63859"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos."
          },
          {
            "order": 2,
            "instruction": "Espalhar em camada única sem amontoar."
          },
          {
            "order": 3,
            "instruction": "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
          }
        ],
        "source_time_reference": [
          "25–30 min"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado na fonte"
        ],
        "texture_or_doneness_endpoint": [
          "macio com bordas crocantes/tostadas"
        ],
        "adaptation_guardrails": [
          "Limão/alho entram apenas conforme tempero autorizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "forno/air fryer em camada única até bordas tostadas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BA4DE63859"
      ]
    }
  }
}
NEW-SIDE-S02Brócolis com ervas
ver dados
{
  "id": "NEW-SIDE-S02",
  "name": "Brócolis com ervas",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "cozido al dente e finalizado rapidamente na frigideira",
  "seasoning_text": "ervas frescas, limão e pimenta",
  "seasoning_refs": [
    "T052"
  ],
  "source_ids": [
    "SRC-E83E0CA483"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING018"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING018",
          "raw_state": "Brócolis cru, aparado e pronto para cozinhar",
          "yield_factor": 1.0,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Brócolis com ervas",
        "source_method_ids": [
          "PM-SRC-E83E0CA483"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela de vapor ou panela com cesta",
          "tigela pequena"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar o brócolis no vapor até macio porém estruturado; a fonte usa 5–8 min."
          },
          {
            "order": 2,
            "instruction": "Enquanto isso, preparar o tempero/herb mix autorizado."
          },
          {
            "order": 3,
            "instruction": "Escorrer/retirar o brócolis e aplicar o tempero apenas no final, preservando cor e textura."
          }
        ],
        "source_time_reference": [
          "fonte: vapor 5–8 min"
        ],
        "source_temperature_reference": [
          "vapor"
        ],
        "texture_or_doneness_endpoint": [
          "brócolis macio/al dente, verde e sem desmanchar"
        ],
        "adaptation_guardrails": [
          "Pesto e pinoli da fonte não entram se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cozido al dente e finalizado rapidamente na frigideira",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E83E0CA483"
      ]
    }
  }
}
NEW-SIDE-S03Purê de couve-flor
ver dados
{
  "id": "NEW-SIDE-S03",
  "name": "Purê de couve-flor",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "cozida e processada até purê; sem farinha",
  "seasoning_text": "sal, pimenta, noz-moscada em traço",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-76B58D0101"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING019"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Purê de couve-flor",
        "source_method_ids": [
          "PM-SRC-76B58D0101"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "panela ou vaporizador",
          "processador/liquidificador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a couve-flor até ficar completamente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer e deixar o vapor sair para evitar purê aguado."
          },
          {
            "order": 3,
            "instruction": "Processar até liso com somente os componentes cremosos/gordura autorizados."
          },
          {
            "order": 4,
            "instruction": "Ajustar temperos e manter aquecido sem ferver vigorosamente."
          }
        ],
        "source_time_reference": [
          "fonte de purê; tempo depende do tamanho dos floretes"
        ],
        "source_temperature_reference": [
          "cozimento até maciez; processar quente"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso, espesso e sem água livre"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose apenas quando constar; sem farinha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cozida e processada até purê; sem farinha",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-76B58D0101"
      ]
    }
  }
}
NEW-SIDE-S04Couve-flor assada com especiarias
ver dados
{
  "id": "NEW-SIDE-S04",
  "name": "Couve-flor assada com especiarias",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "assada em floretes até caramelizar",
  "seasoning_text": "cominho, páprica e limão",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-67BF43F16C"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 44,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING019"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Couve-flor assada com especiarias",
        "source_method_ids": [
          "PM-SRC-67BF43F16C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira/wok com tampa",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a gordura e perfumar gengibre/especiarias por poucos segundos."
          },
          {
            "order": 2,
            "instruction": "Adicionar a couve-flor, reduzir o calor e tampar."
          },
          {
            "order": 3,
            "instruction": "Cozinhar mexendo ocasionalmente até amaciar e as especiarias aderirem."
          },
          {
            "order": 4,
            "instruction": "Finalizar com ervas autorizadas."
          }
        ],
        "source_time_reference": [
          "fonte: ~10 min tampada após as especiarias"
        ],
        "source_temperature_reference": [
          "início quente; depois calor reduzido"
        ],
        "texture_or_doneness_endpoint": [
          "floretes macios, ainda estruturados, cobertos de especiarias"
        ],
        "adaptation_guardrails": [
          "Usar apenas especiarias autorizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assada em floretes até caramelizar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-67BF43F16C"
      ]
    }
  }
}
NEW-SIDE-S05Vagem com alho e amêndoas tostadas
ver dados
{
  "id": "NEW-SIDE-S05",
  "name": "Vagem com alho e amêndoas tostadas",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "vagem al dente; amêndoas adicionadas no final",
  "seasoning_text": "alho, limão e amêndoas",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-94F9CB1526"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 13,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING022",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        },
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Vagem com alho e amêndoas tostadas",
        "source_method_ids": [
          "PM-SRC-94F9CB1526"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem até al dente, escorrer e secar."
          },
          {
            "order": 2,
            "instruction": "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem apenas para aquecer e envolver."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
          }
        ],
        "source_time_reference": [
          "fonte: aromáticos ~8 min; vagem cozida previamente"
        ],
        "source_temperature_reference": [
          "calor suave para aromáticos"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme; amêndoas crocantes"
        ],
        "adaptation_guardrails": [
          "Quantidade de amêndoa e azeite deve seguir a porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "vagem al dente; amêndoas adicionadas no final",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-94F9CB1526"
      ]
    }
  }
}
NEW-SIDE-S06Vagem com gergelim e gengibre
ver dados
{
  "id": "NEW-SIDE-S06",
  "name": "Vagem com gergelim e gengibre",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "salteada rapidamente mantendo crocância",
  "seasoning_text": "gergelim/gengibre; molho de soja em traço",
  "seasoning_refs": [
    "T029"
  ],
  "source_ids": [
    "SRC-430616225D"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING022"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Vagem com gergelim e gengibre",
        "source_method_ids": [
          "PM-SRC-430616225D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela",
          "wok/frigideira"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Ferver a vagem brevemente e escorrer muito bem."
          },
          {
            "order": 2,
            "instruction": "Aquecer a gordura, perfumar gengibre/alho por cerca de 1 min."
          },
          {
            "order": 3,
            "instruction": "Adicionar a vagem e saltear; finalizar com gergelim/temperos autorizados por poucos segundos."
          }
        ],
        "source_time_reference": [
          "fonte: vagem ~3 min; aromáticos ~1 min; finalização ~30 s"
        ],
        "source_temperature_reference": [
          "frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "vagem firme e aromática"
        ],
        "adaptation_guardrails": [
          "Se óleo de gergelim não estiver contabilizado, usar o azeite previsto e gergelim/condimentos apenas conforme ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "salteada rapidamente mantendo crocância",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-430616225D"
      ]
    }
  }
}
NEW-SIDE-S07Abóbora moranga assada com tomilho e parmesão
ver dados
{
  "id": "NEW-SIDE-S07",
  "name": "Abóbora moranga assada com tomilho e parmesão",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "cubos assados até dourar; parmesão no final",
  "seasoning_text": "tomilho, pimenta e parmesão",
  "seasoning_refs": [
    "T017"
  ],
  "source_ids": [
    "SRC-9FAF756059"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING017"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING005"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING017",
          "raw_state": "Abóbora moranga crua, sem sementes, descascada e em cubos, pronta para cozinhar",
          "yield_factor": 0.28,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Abóbora moranga assada com tomilho e parmesão",
        "source_method_ids": [
          "PM-SRC-9FAF756059"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cortar a abóbora no formato da adaptação e temperar com tomilho/alho e azeite autorizados."
          },
          {
            "order": 2,
            "instruction": "Assar até ficar macia e começar a dourar."
          },
          {
            "order": 3,
            "instruction": "Adicionar a camada fina de parmesão no final e aumentar o calor/grill somente para dourar."
          }
        ],
        "source_time_reference": [
          "fonte inteira: 1½ h em forno baixo + ~15 min em forno mais alto; cubos exigem bem menos"
        ],
        "source_temperature_reference": [
          "fonte: 150°C/130°C ventilado, final 200°C/180°C"
        ],
        "texture_or_doneness_endpoint": [
          "abóbora macia e bordas/queijo dourados"
        ],
        "adaptation_guardrails": [
          "A fonte usa creme/leite dentro de abóbora inteira; não reintroduzir. Para cubos, usar endpoint e não o tempo de 1½ h.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cubos assados até dourar; parmesão no final",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-9FAF756059"
      ]
    }
  }
}
NEW-SIDE-S08Cogumelos ao alho e ervas
ver dados
{
  "id": "NEW-SIDE-S08",
  "name": "Cogumelos ao alho e ervas",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "frigideira muito quente; dourar antes de adicionar alho e ervas",
  "seasoning_text": "alho, salsa e pimenta",
  "seasoning_refs": [
    "T046"
  ],
  "source_ids": [
    "SRC-FC94FE0E5A"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 28,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING025"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Cogumelos ao alho e ervas",
        "source_method_ids": [
          "PM-SRC-FC94FE0E5A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira pesada"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer a frigideira antes de adicionar os cogumelos; evitar lotar a panela."
          },
          {
            "order": 2,
            "instruction": "Dourar em fogo muito alto até a água evaporar e a superfície começar a caramelizar."
          },
          {
            "order": 3,
            "instruction": "Adicionar alho somente depois do dourado principal; cozinhar brevemente."
          },
          {
            "order": 4,
            "instruction": "Finalizar com ervas autorizadas."
          }
        ],
        "source_time_reference": [
          "fonte: cogumelos 4–5 min + alho ~2 min + ervas ~30 s"
        ],
        "source_temperature_reference": [
          "muito alto para cogumelos"
        ],
        "texture_or_doneness_endpoint": [
          "dourados, sem líquido acumulado"
        ],
        "adaptation_guardrails": [
          "Substituir manteiga por azeite quando a manteiga não estiver na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira muito quente; dourar antes de adicionar alho e ervas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-FC94FE0E5A"
      ]
    }
  }
}
NEW-SIDE-S09Arroz de couve-flor com cominho e coentro
ver dados
{
  "id": "NEW-SIDE-S09",
  "name": "Arroz de couve-flor com cominho e coentro",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "processar em grãos e cozinhar rapidamente sem encharcar",
  "seasoning_text": "cominho e coentro",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-2E05C79E02"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 47,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING019"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING019",
          "raw_state": "Couve-flor crua, sem talo grosso e pronta para cozinhar",
          "yield_factor": 0.98,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Arroz de couve-flor com cominho e coentro",
        "source_method_ids": [
          "PM-SRC-2E05C79E02"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "processador ou ralador",
          "frigideira larga"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/ralar a couve-flor em pulsos até obter grãos do tamanho de arroz, evitando virar pasta."
          },
          {
            "order": 2,
            "instruction": "Cozinhar rapidamente em frigideira larga com a gordura/temperos autorizados."
          },
          {
            "order": 3,
            "instruction": "Mexer somente até perder o sabor cru e evaporar umidade; não adicionar água."
          }
        ],
        "source_time_reference": [
          "técnica rápida; poucos minutos na frigideira"
        ],
        "source_temperature_reference": [
          "fogo médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "grãos separados e secos, não pastosos"
        ],
        "adaptation_guardrails": [
          "Cominho/coentro entram conforme ficha.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "processar em grãos e cozinhar rapidamente sem encharcar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2E05C79E02"
      ]
    }
  }
}
NEW-SIDE-S10Purê de abóbora moranga
ver dados
{
  "id": "NEW-SIDE-S10",
  "name": "Purê de abóbora moranga",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "assar/cozinhar e processar; sem farinha",
  "seasoning_text": "noz-moscada e pimenta em traço",
  "seasoning_refs": [
    "T028"
  ],
  "source_ids": [
    "SRC-27DD56ED21"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 10,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING017"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING017",
          "raw_state": "Abóbora moranga crua, sem sementes, descascada e em cubos, pronta para cozinhar",
          "yield_factor": 0.28,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Purê de abóbora moranga",
        "source_method_ids": [
          "PM-SRC-27DD56ED21"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "assadeira ou panela",
          "processador/amassador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar ou assar a abóbora até ficar totalmente macia."
          },
          {
            "order": 2,
            "instruction": "Escorrer/evaporar o excesso de água."
          },
          {
            "order": 3,
            "instruction": "Processar ou amassar até textura lisa; ajustar apenas com os ingredientes autorizados."
          }
        ],
        "source_time_reference": [
          "fonte ~40 min total"
        ],
        "source_temperature_reference": [
          "forno/cozimento conforme método; ponto de maciez controla"
        ],
        "texture_or_doneness_endpoint": [
          "purê liso e espesso"
        ],
        "adaptation_guardrails": [
          "Sem farinha; evitar adicionar líquido que não esteja contabilizado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assar/cozinhar e processar; sem farinha",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-27DD56ED21"
      ]
    }
  }
}
NEW-SIDE-S11Vagem com limão e parmesão
ver dados
{
  "id": "NEW-SIDE-S11",
  "name": "Vagem com limão e parmesão",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "vagem al dente; parmesão e limão no final",
  "seasoning_text": "limão, pimenta e parmesão",
  "seasoning_refs": [
    "T017"
  ],
  "source_ids": [
    "SRC-B14D4E6F34"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING022"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING005"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING022",
          "raw_state": "Vagem crua, aparada e cortada, pronta para cozinhar",
          "yield_factor": 0.89,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Vagem com limão e parmesão",
        "source_method_ids": [
          "PM-SRC-B14D4E6F34"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "panela/vaporizador",
          "tigela"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada."
          },
          {
            "order": 2,
            "instruction": "Secar bem."
          },
          {
            "order": 3,
            "instruction": "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
          }
        ],
        "source_time_reference": [
          "fonte: vapor ~5 min ou fervura ~3 min"
        ],
        "source_temperature_reference": [
          "cozimento curto"
        ],
        "texture_or_doneness_endpoint": [
          "vagem verde e firme; parmesão aderido sem virar pasta"
        ],
        "adaptation_guardrails": [
          "Usar somente a quantidade de parmesão/azeite contabilizada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "vagem al dente; parmesão e limão no final",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-B14D4E6F34"
      ]
    }
  }
}
NEW-SIDE-S12Berinjela assada com tomate e manjericão
ver dados
{
  "id": "NEW-SIDE-S12",
  "name": "Berinjela assada com tomate e manjericão",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "cubos assados em alta temperatura; tomate entra no final",
  "seasoning_text": "alho, tomate, manjericão e balsâmico em traço",
  "seasoning_refs": [
    "T034"
  ],
  "source_ids": [
    "SRC-04F03C7B96"
  ],
  "adaptation_notes": "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING020",
        "ING023"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING020",
          "raw_state": "Berinjela crua, sem pedúnculo, em cubos ou fatias, pronta para cozinhar",
          "yield_factor": 0.94,
          "yield_source_id": "SRC-YIELD-USDA-AH102",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Berinjela assada com tomate e manjericão",
        "source_method_ids": [
          "PM-SRC-04F03C7B96"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Aquecer forno alto e distribuir cubos de berinjela com azeite autorizado e alho em camada única."
          },
          {
            "order": 2,
            "instruction": "Assar inicialmente até começar a dourar."
          },
          {
            "order": 3,
            "instruction": "Adicionar tomate e continuar apenas até amaciar/concentrar sem transformar tudo em purê."
          },
          {
            "order": 4,
            "instruction": "Finalizar com manjericão/ervas autorizadas."
          }
        ],
        "source_time_reference": [
          "fonte: berinjela ~10 min antes de adicionar tomate; tomate ~5 min adicionais"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "berinjela macia e tostada; tomate concentrado"
        ],
        "adaptation_guardrails": [
          "Omitir massa, açúcar e vinagre se não estiverem autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; óleo e coberturas foram limitados e contabilizados separadamente quando relevantes.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cubos assados em alta temperatura; tomate entra no final",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-04F03C7B96"
      ]
    }
  }
}
NEW-SIDE-SALADSalada de folhas simples
ver dados
{
  "id": "NEW-SIDE-SALAD",
  "name": "Salada de folhas simples",
  "category": "side",
  "origin": "generated_v3",
  "method_overview": "folhas cruas mantidas separadas até servir",
  "seasoning_text": "sal, limão/vinagre e pimenta em traço",
  "seasoning_refs": [
    "T031"
  ],
  "source_ids": [
    "SRC-1E5EE3F844"
  ],
  "adaptation_notes": "Mantida a porção de 50 g da dieta original; tempero sem óleo adicional salvo quando explicitado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING030"
      ],
      "as_purchased_weight_ingredient_ids": [],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Salada de folhas simples",
        "source_method_ids": [
          "PM-SRC-1E5EE3F844"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "pote com tampa ou batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Combinar ácido, mostarda/aromáticos autorizados e temperos."
          },
          {
            "order": 2,
            "instruction": "Adicionar a gordura contabilizada em fio ou agitar vigorosamente até emulsificar."
          },
          {
            "order": 3,
            "instruction": "Aplicar somente no momento de servir as folhas para preservar crocância."
          }
        ],
        "source_time_reference": [
          "1–2 min de emulsificação/montagem"
        ],
        "source_temperature_reference": [
          "frio"
        ],
        "texture_or_doneness_endpoint": [
          "emulsão temporariamente homogênea"
        ],
        "adaptation_guardrails": [
          "A quantidade de óleo deve ser exatamente a da porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Mantida a porção de 50 g da dieta original; tempero sem óleo adicional salvo quando explicitado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "folhas cruas mantidas separadas até servir",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1E5EE3F844"
      ]
    }
  }
}
SUP-CREATINE-VITAFORCreatina monohidratada Vitafor — 6 g
ver dados
{
  "id": "SUP-CREATINE-VITAFOR",
  "name": "Creatina monohidratada Vitafor — 6 g",
  "category": "supplement",
  "origin": "generated_v3",
  "method_overview": "dissolver/ingerir conforme orientação da nutricionista",
  "seasoning_text": null,
  "seasoning_refs": [],
  "source_ids": [
    "SRC-D4E6A3162D"
  ],
  "adaptation_notes": "Mantidos os 6 g prescritos no almoço original; suplemento registrado separadamente das receitas culinárias. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [],
      "as_purchased_weight_ingredient_ids": [
        "ING032"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Creatina monohidratada Vitafor — 6 g",
        "source_method_ids": [
          "PM-SRC-D4E6A3162D"
        ],
        "grounding_level": "existing_sourced_overview",
        "equipment": [],
        "steps": [
          {
            "order": 1,
            "instruction": "Aplicar esta característica operacional da ficha: dissolver/ingerir conforme orientação da nutricionista."
          }
        ],
        "source_time_reference": [],
        "source_temperature_reference": [],
        "texture_or_doneness_endpoint": [],
        "adaptation_guardrails": [
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Mantidos os 6 g prescritos no almoço original; suplemento registrado separadamente das receitas culinárias.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "dissolver/ingerir conforme orientação da nutricionista",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 1,
      "all_source_method_ids": [
        "PM-SRC-D4E6A3162D"
      ]
    }
  }
}
NEW-B-EGG-E01Omelete francesa dobrada
ver dados
{
  "id": "NEW-B-EGG-E01",
  "name": "Omelete francesa dobrada",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "frigideira antiaderente; centro ainda úmido antes de dobrar",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-9E9B51B6F8"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 117,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Omelete francesa dobrada",
        "source_method_ids": [
          "PM-SRC-9E9B51B6F8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "batedor ou garfo",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços."
          },
          {
            "order": 4,
            "instruction": "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
          }
        ],
        "source_time_reference": [
          "cerca de 5 min de cocção na receita básica"
        ],
        "source_temperature_reference": [
          "fogo médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "omelete firme por fora e ainda macia/úmida no interior"
        ],
        "adaptation_guardrails": [
          "Usar apenas o queijo e demais recheios presentes na porção adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira antiaderente; centro ainda úmido antes de dobrar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-9E9B51B6F8"
      ]
    }
  }
}
NEW-B-EGG-E02Omelete na air fryer
ver dados
{
  "id": "NEW-B-EGG-E02",
  "name": "Omelete na air fryer",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "air fryer em recipiente baixo até firmar sem ressecar",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-A07C37A0EF"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 7,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Omelete na air fryer",
        "source_method_ids": [
          "PM-SRC-A07C37A0EF"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "air fryer",
          "recipiente baixo antiaderente resistente ao calor",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-aquecer a air fryer com o recipiente dentro."
          },
          {
            "order": 2,
            "instruction": "Bater ovos e misturar somente os recheios autorizados."
          },
          {
            "order": 3,
            "instruction": "Adicionar a gordura prevista ao recipiente, despejar a mistura e cozinhar até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "8–10 min"
        ],
        "source_temperature_reference": [
          "180°C"
        ],
        "texture_or_doneness_endpoint": [
          "inflada, dourada e recém-firme"
        ],
        "adaptation_guardrails": [
          "A quantidade de gordura é a da porção, não a da receita-fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "air fryer em recipiente baixo até firmar sem ressecar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A07C37A0EF"
      ]
    }
  }
}
NEW-B-EGG-E03Quiche sem massa
ver dados
{
  "id": "NEW-B-EGG-E03",
  "name": "Quiche sem massa",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "assada em ramequim/forma pequena; textura de custard salgado",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-73EC562C77"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 49,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Quiche sem massa",
        "source_method_ids": [
          "PM-SRC-73EC562C77"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "forma/ramequim",
          "frigideira",
          "batedor",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-cozinhar recheios úmidos para retirar excesso de água."
          },
          {
            "order": 2,
            "instruction": "Bater ovos com os lácteos/queijo que realmente constem na adaptação e temperar."
          },
          {
            "order": 3,
            "instruction": "Combinar recheio e ovos, colocar na forma e finalizar com o queijo autorizado."
          },
          {
            "order": 4,
            "instruction": "Assar até dourar, mantendo apenas leve tremor central antes do descanso."
          }
        ],
        "source_time_reference": [
          "25–30 min de forno após o pré-preparo"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourada com leve tremor central que termina de firmar no descanso"
        ],
        "adaptation_guardrails": [
          "A fonte usa creme/pancetta; omitir quando não constarem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assada em ramequim/forma pequena; textura de custard salgado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-73EC562C77"
      ]
    }
  }
}
NEW-B-EGG-E04Omelete enrolada
ver dados
{
  "id": "NEW-B-EGG-E04",
  "name": "Omelete enrolada",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "omelete fina enrolada; boa para marmita",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-0FB2713DE2"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 25,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Omelete enrolada",
        "source_method_ids": [
          "PM-SRC-0FB2713DE2"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "garfo/batedor",
          "frigideira média antiaderente",
          "tábua"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater o ovo com pequena quantidade de água somente se compatível com a porção."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira antiaderente com apenas a gordura prevista."
          },
          {
            "order": 3,
            "instruction": "Adicionar o ovo e girar para cobrir a base como uma panqueca; cozinhar até firmar, sem necessidade de virar."
          },
          {
            "order": 4,
            "instruction": "Deslizar para uma tábua, adicionar apenas o recheio/molho autorizado e enrolar ainda flexível."
          }
        ],
        "source_time_reference": [
          "fonte: ~10 min de cocção total da receita; lâmina de ovo cozinha em poucos minutos"
        ],
        "source_temperature_reference": [
          "fogo moderado"
        ],
        "texture_or_doneness_endpoint": [
          "lâmina fina de omelete totalmente firme, mas flexível para enrolar"
        ],
        "adaptation_guardrails": [
          "Salsa e coentro da fonte só entram se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "omelete fina enrolada; boa para marmita",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-0FB2713DE2"
      ]
    }
  }
}
NEW-B-EGG-E05Muffins de omelete
ver dados
{
  "id": "NEW-B-EGG-E05",
  "name": "Muffins de omelete",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "assados em forminhas individuais",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-55FF831328"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 14,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Muffins de omelete",
        "source_method_ids": [
          "PM-SRC-55FF831328"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela/jarra",
          "batedor",
          "ramequins/formas",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Preparar os vegetais/aromáticos autorizados e remover excesso de água quando necessário."
          },
          {
            "order": 2,
            "instruction": "Bater ovos com especiarias e demais recheios autorizados."
          },
          {
            "order": 3,
            "instruction": "Distribuir nos ramequins/formas, sem adicionar ingredientes ausentes da adaptação."
          },
          {
            "order": 4,
            "instruction": "Assar até crescer e firmar; a fonte usa 220°C/200°C ventilado por 20–25 min."
          }
        ],
        "source_time_reference": [
          "fonte: 20–25 min"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "muffins inflados e firmes no centro"
        ],
        "adaptation_guardrails": [
          "A fonte contém courgette/abobrinha; ela é proibida nesta adaptação. Feta/ervilhas entram somente se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assados em forminhas individuais",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-55FF831328"
      ]
    }
  }
}
NEW-B-EGG-E06Frittata assada
ver dados
{
  "id": "NEW-B-EGG-E06",
  "name": "Frittata assada",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "começa no fogão e termina no forno/grill",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-F2BCABD66D"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 3.8,
    "best_rating_count": 80,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Frittata assada",
        "source_method_ids": [
          "PM-SRC-F2BCABD66D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "recipiente de forno",
          "tigela/jarra",
          "batedor",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-aquecer o forno e untar o recipiente somente com a gordura prevista, quando houver."
          },
          {
            "order": 2,
            "instruction": "Bater ovos/claras e misturar o queijo e temperos autorizados."
          },
          {
            "order": 3,
            "instruction": "Despejar no recipiente e distribuir os sólidos uniformemente."
          },
          {
            "order": 4,
            "instruction": "Assar até o centro firmar e a superfície ficar levemente dourada; repousar alguns minutos antes de cortar."
          }
        ],
        "source_time_reference": [
          "fonte: 35–40 min de forno"
        ],
        "source_temperature_reference": [
          "190°C / 170°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "centro firme e topo dourado"
        ],
        "adaptation_guardrails": [
          "Pasta, milho, ervilha, pimentão e leite da fonte não entram na versão simplificada salvo se presentes na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "começa no fogão e termina no forno/grill",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F2BCABD66D"
      ]
    }
  }
}
NEW-B-EGG-E07Egg bites
ver dados
{
  "id": "NEW-B-EGG-E07",
  "name": "Egg bites",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "mistura batida e assada em moldes; textura macia",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-7C7CF77559"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Egg bites",
        "source_method_ids": [
          "PM-SRC-7C7CF77559"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador",
          "forma de muffin/silicone",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater ovos/claras com o queijo e temperos efetivamente previstos até a mistura ficar homogênea."
          },
          {
            "order": 2,
            "instruction": "Distribuir qualquer recheio já cozido autorizado nas cavidades e completar com a mistura de ovos."
          },
          {
            "order": 3,
            "instruction": "Assar até os bites inflarem e o centro firmar; deixar repousar brevemente antes de desenformar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 25 min"
        ],
        "source_temperature_reference": [
          "350°F / ~177°C"
        ],
        "texture_or_doneness_endpoint": [
          "inflados e firmes no centro"
        ],
        "adaptation_guardrails": [
          "A fonte usa cottage cheese, cheddar e sausage; substituir/omitir conforme a porção. Frango, quando presente na nossa versão, entra já cozido como recheio.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "mistura batida e assada em moldes; textura macia",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7C7CF77559"
      ]
    }
  }
}
NEW-B-EGG-E08Omelete de caneca no micro-ondas
ver dados
{
  "id": "NEW-B-EGG-E08",
  "name": "Omelete de caneca no micro-ondas",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "cozimento curto em pulsos; mexer uma vez para textura uniforme",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-415FA9B3F1"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.4,
    "best_rating_count": 6,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Omelete de caneca no micro-ondas",
        "source_method_ids": [
          "PM-SRC-415FA9B3F1"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "caneca grande própria para micro-ondas",
          "garfo"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Untar/coating da caneca apenas com a gordura prevista na porção."
          },
          {
            "order": 2,
            "instruction": "Bater ovos e misturar recheios autorizados."
          },
          {
            "order": 3,
            "instruction": "Cozinhar em pulsos curtos, mexendo entre os primeiros pulsos para uniformizar."
          },
          {
            "order": 4,
            "instruction": "Descansar 1 min; se necessário, terminar em potência reduzida por um pulso curto."
          }
        ],
        "source_time_reference": [
          "fonte: pulsos de 20 s, descanso de 1 min"
        ],
        "source_temperature_reference": [
          "micro-ondas; finalização opcional a 50% de potência"
        ],
        "texture_or_doneness_endpoint": [
          "firme sem ficar borrachuda"
        ],
        "adaptation_guardrails": [
          "A potência varia; usar os pulsos como referência, não como garantia.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cozimento curto em pulsos; mexer uma vez para textura uniforme",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-415FA9B3F1"
      ]
    }
  }
}
NEW-B-EGG-E09Frittata de cogumelos adaptada
ver dados
{
  "id": "NEW-B-EGG-E09",
  "name": "Frittata de cogumelos adaptada",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "cogumelos salteados; ovos finalizados no forno",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-7A4C9CE916"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 55,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING025",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING025",
          "raw_state": "Cogumelo Paris cru, limpo e fatiado, pronto para cozinhar",
          "yield_factor": 0.44,
          "yield_source_id": "SRC-YIELD-USDA-VEG",
          "quality": "medium",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frittata de cogumelos adaptada",
        "source_method_ids": [
          "PM-SRC-7A4C9CE916"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente apta para grill",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar os cogumelos para remover umidade."
          },
          {
            "order": 2,
            "instruction": "Adicionar a proteína/folhas autorizadas e aquecer brevemente."
          },
          {
            "order": 3,
            "instruction": "Adicionar ovos batidos, cozinhar em fogo baixo até quase firmes e finalizar sob grill com queijo quando previsto."
          }
        ],
        "source_time_reference": [
          "fonte: cogumelos ~2 min, recheio ~1 min, ovos ~3 min, grill ~2 min"
        ],
        "source_temperature_reference": [
          "fogo alto para cogumelos; baixo para ovos; grill alto"
        ],
        "texture_or_doneness_endpoint": [
          "base firme e topo recém-dourado"
        ],
        "adaptation_guardrails": [
          "Frango pode substituir presunto; espinafre só se estiver na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cogumelos salteados; ovos finalizados no forno",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A4C9CE916"
      ]
    }
  }
}
NEW-B-EGG-E10Omelete de queijo
ver dados
{
  "id": "NEW-B-EGG-E10",
  "name": "Omelete de queijo",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "frigideira antiaderente; queijo incorporado antes de dobrar",
  "seasoning_text": "sal, pimenta; queijo/ervas conforme opção",
  "seasoning_refs": [],
  "source_ids": [
    "SRC-2FEC385533"
  ],
  "adaptation_notes": "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados. Porção calculada no uso da receita. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 12,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": []
    },
    "components": [
      {
        "name": "Omelete de queijo",
        "source_method_ids": [
          "PM-SRC-2FEC385533"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente",
          "batedor ou garfo",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ovos e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção."
          },
          {
            "order": 3,
            "instruction": "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços."
          },
          {
            "order": 4,
            "instruction": "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
          }
        ],
        "source_time_reference": [
          "cerca de 5 min de cocção na receita básica"
        ],
        "source_temperature_reference": [
          "fogo médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "omelete firme por fora e ainda macia/úmida no interior"
        ],
        "adaptation_guardrails": [
          "Usar apenas o queijo e demais recheios presentes na porção adaptada.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Base técnica preservada; farinha, massa ou acompanhamentos amiláceos não são usados.",
      "Porção calculada no uso da receita.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira antiaderente; queijo incorporado antes de dobrar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2FEC385533"
      ]
    }
  }
}
NEW-B-CH-C01frango ao limão e alho
ver dados
{
  "id": "NEW-B-CH-C01",
  "name": "frango ao limão e alho",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "grelhado/chapado em tiras",
  "seasoning_text": "limão, alho, páprica e pimenta",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "frango ao limão e alho",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhado/chapado em tiras",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-B-CH-C02frango jerk
ver dados
{
  "id": "NEW-B-CH-C02",
  "name": "frango jerk",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "grelhado/assado; marinada intensa",
  "seasoning_text": "tomilho, pimenta-da-jamaica, alho e gengibre",
  "seasoning_refs": [
    "T101"
  ],
  "source_ids": [
    "SRC-A9091F6283"
  ],
  "adaptation_notes": "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "frango jerk",
        "source_method_ids": [
          "PM-SRC-A9091F6283"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhado/assado; marinada intensa",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A9091F6283"
      ]
    }
  }
}
NEW-B-CH-C03frango tikka
ver dados
{
  "id": "NEW-B-CH-C03",
  "name": "frango tikka",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "cubos/espetos grelhados",
  "seasoning_text": "garam masala, alho, gengibre e iogurte em traço",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-C52DCF7F9D"
  ],
  "adaptation_notes": "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "frango tikka",
        "source_method_ids": [
          "PM-SRC-C52DCF7F9D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cubos/espetos grelhados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C52DCF7F9D"
      ]
    }
  }
}
NEW-B-CH-C04frango ao curry seco
ver dados
{
  "id": "NEW-B-CH-C04",
  "name": "frango ao curry seco",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "cubos salteados até especiarias aderirem",
  "seasoning_text": "curry, cominho e coentro",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-A400F927EE"
  ],
  "adaptation_notes": "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 360,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "frango ao curry seco",
        "source_method_ids": [
          "PM-SRC-A400F927EE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira/panela larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e aromáticos; adicionar alho/gengibre e cozinhar brevemente."
          },
          {
            "order": 2,
            "instruction": "Adicionar o frango e dourar os cubos."
          },
          {
            "order": 3,
            "instruction": "Adicionar especiarias/pasta e os componentes de molho autorizados; cozinhar em fervura suave até o molho reduzir e aderir."
          },
          {
            "order": 4,
            "instruction": "Quando houver iogurte na adaptação, incorporar no final e evitar fervura forte."
          }
        ],
        "source_time_reference": [
          "fonte: cebola 8–10 min; aromáticos ~1 min; frango ~5 min antes do molho; molho 25–30 min"
        ],
        "source_temperature_reference": [
          "médio → fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "frango cozido e molho concentrado"
        ],
        "adaptation_guardrails": [
          "A versão “curry seco” pode omitir tomate/água/iogurte; nesse caso parar quando especiarias estiverem aderidas ao frango.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cubos salteados até especiarias aderirem",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A400F927EE"
      ]
    }
  }
}
NEW-B-CH-C05almôndegas de frango com limão e manjericão
ver dados
{
  "id": "NEW-B-CH-C05",
  "name": "almôndegas de frango com limão e manjericão",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "assadas ou douradas; formato de almôndegas pequenas",
  "seasoning_text": "limão, manjericão e alho",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-BAAEF5D467"
  ],
  "adaptation_notes": "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 4,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "almôndegas de frango com limão e manjericão",
        "source_method_ids": [
          "PM-SRC-BAAEF5D467"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a proteína crua moída com limão, manjericão, alho e somente os ligantes/queijo que estejam autorizados."
          },
          {
            "order": 2,
            "instruction": "Moldar almôndegas uniformes; a fonte usa unidades de cerca de 35 g cruas."
          },
          {
            "order": 3,
            "instruction": "Dourar as almôndegas em fogo médio-alto, movimentando para colorir todos os lados."
          },
          {
            "order": 4,
            "instruction": "Quando houver molho de tomate autorizado, terminar o cozimento em fervura suave até o centro estar cozido; sem molho, concluir na frigideira/forno conforme a ficha."
          }
        ],
        "source_time_reference": [
          "fonte: dourar 6–8 min; depois 15 min no molho"
        ],
        "source_temperature_reference": [
          "médio-alto para dourar; fervura suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "douradas por fora e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Breadcrumbs, leite, pesto, tomate e açúcar só entram se estiverem autorizados; para nossa versão simples, preservar principalmente limão/manjericão/alho e a técnica de moldar+dourar.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assadas ou douradas; formato de almôndegas pequenas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BAAEF5D467"
      ]
    }
  }
}
NEW-B-CH-C06frango estilo souvlaki
ver dados
{
  "id": "NEW-B-CH-C06",
  "name": "frango estilo souvlaki",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "cubos/espetos grelhados",
  "seasoning_text": "limão, orégano e alho",
  "seasoning_refs": [
    "T002"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "frango estilo souvlaki",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cubos/espetos grelhados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-B-CH-C07frango com za’atar e limão
ver dados
{
  "id": "NEW-B-CH-C07",
  "name": "frango com za’atar e limão",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "assado ou grelhado",
  "seasoning_text": "za’atar e limão",
  "seasoning_refs": [
    "T102"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "frango com za’atar e limão",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assado ou grelhado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-B-CH-C08frango com mostarda e ervas
ver dados
{
  "id": "NEW-B-CH-C08",
  "name": "frango com mostarda e ervas",
  "category": "breakfast_component",
  "origin": "generated_v3",
  "method_overview": "grelhado; mostarda em camada fina",
  "seasoning_text": "mostarda e ervas",
  "seasoning_refs": [
    "T004"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "frango com mostarda e ervas",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada; marinadas açucaradas foram omitidas ou reduzidas a traços.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhado; mostarda em camada fina",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-B-SWEET-01Panqueca proteica low-carb — baunilha e canela
ver dados
{
  "id": "NEW-B-SWEET-01",
  "name": "Panqueca proteica low-carb — baunilha e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira antiaderente; discos pequenos",
  "seasoning_text": "baunilha e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca proteica low-carb — baunilha e canela",
        "source_method_ids": [
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 4,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira antiaderente; discos pequenos",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-02Panqueca proteica low-carb — limão e baunilha
ver dados
{
  "id": "NEW-B-SWEET-02",
  "name": "Panqueca proteica low-carb — limão e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira antiaderente; discos pequenos",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-63E09E4CC0",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca proteica low-carb — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-63E09E4CC0",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "frigideira antiaderente",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 4,
            "instruction": "Virar e terminar apenas até o centro firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 2–3 min primeiro lado + ~2 min segundo",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "médio-baixo",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "bordas firmes, exterior dourado e centro cozido",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira antiaderente; discos pequenos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-63E09E4CC0",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-03Panqueca proteica low-carb — morango e baunilha
ver dados
{
  "id": "NEW-B-SWEET-03",
  "name": "Panqueca proteica low-carb — morango e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira antiaderente; discos pequenos",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-63E09E4CC0",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING013",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca proteica low-carb — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-63E09E4CC0",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "frigideira antiaderente",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 4,
            "instruction": "Virar e terminar apenas até o centro firmar."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte: 2–3 min primeiro lado + ~2 min segundo",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "médio-baixo",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "bordas firmes, exterior dourado e centro cozido",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira antiaderente; discos pequenos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-63E09E4CC0",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-B-SWEET-04Panqueca proteica low-carb — canela estilo cinnamon-roll
ver dados
{
  "id": "NEW-B-SWEET-04",
  "name": "Panqueca proteica low-carb — canela estilo cinnamon-roll",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira antiaderente; discos pequenos",
  "seasoning_text": "canela estilo cinnamon-roll",
  "seasoning_refs": [
    "T115"
  ],
  "source_ids": [
    "SRC-63E09E4CC0",
    "SRC-A8DDED5CA2"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.6,
    "best_rating_count": 17,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca proteica low-carb — canela estilo cinnamon-roll",
        "source_method_ids": [
          "PM-SRC-63E09E4CC0",
          "PM-SRC-A8DDED5CA2"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "frigideira antiaderente",
          "tigela/jarra",
          "squeeze bottle ou saco de confeitar opcional",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 4,
            "instruction": "Virar e terminar apenas até o centro firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar a massa adaptada até lisa e homogênea."
          },
          {
            "order": 6,
            "instruction": "Preparar o componente de canela/swirl somente com ingredientes autorizados e, se aplicável, colocar em bico/saco para dosar."
          },
          {
            "order": 7,
            "instruction": "Cozinhar a panqueca em fogo baixo-médio; quando as bordas firmarem e surgirem bolhas, aplicar o swirl autorizado e virar com cuidado."
          },
          {
            "order": 8,
            "instruction": "Terminar o segundo lado apenas até o centro estar cozido; a fonte usa cerca de 2–3 min no segundo lado para sua massa original."
          }
        ],
        "source_time_reference": [
          "fonte: 2–3 min primeiro lado + ~2 min segundo",
          "fonte: segundo lado ~2–3 min; primeiro lado guiado por bordas firmes/bolhas"
        ],
        "source_temperature_reference": [
          "médio-baixo",
          "fogo baixo-médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas firmes, exterior dourado e centro cozido",
          "superfície firme, centro cozido e desenho de canela preservado"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Açúcar, maple syrup, manteiga, farinha e iogurte da fonte não entram automaticamente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira antiaderente; discos pequenos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-63E09E4CC0",
        "PM-SRC-A8DDED5CA2"
      ]
    }
  }
}
NEW-B-SWEET-05Panqueca proteica low-carb — pumpkin spice
ver dados
{
  "id": "NEW-B-SWEET-05",
  "name": "Panqueca proteica low-carb — pumpkin spice",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira antiaderente; discos pequenos",
  "seasoning_text": "pumpkin spice",
  "seasoning_refs": [
    "T117"
  ],
  "source_ids": [
    "SRC-63E09E4CC0",
    "SRC-AD6F9E9285"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca proteica low-carb — pumpkin spice",
        "source_method_ids": [
          "PM-SRC-63E09E4CC0",
          "PM-SRC-AD6F9E9285"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "batedor",
          "frigideira antiaderente",
          "tigelas",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 4,
            "instruction": "Virar e terminar apenas até o centro firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar a base líquida autorizada com o purê de abóbora e a gema quando presentes."
          },
          {
            "order": 6,
            "instruction": "Formar uma massa homogênea, sem grumos."
          },
          {
            "order": 7,
            "instruction": "Bater a clara até firme e incorporar delicadamente para dar leveza quando a versão adaptada contiver clara separada."
          },
          {
            "order": 8,
            "instruction": "Cozinhar em frigideira antiaderente e virar somente quando muitas bolhas surgirem e a superfície começar a secar."
          },
          {
            "order": 9,
            "instruction": "Terminar o segundo lado sem escurecer excessivamente."
          }
        ],
        "source_time_reference": [
          "fonte: 2–3 min primeiro lado + ~2 min segundo",
          "fonte: guiado visualmente por bolhas e secagem da superfície"
        ],
        "source_temperature_reference": [
          "médio-baixo",
          "fogo médio a médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "bordas firmes, exterior dourado e centro cozido",
          "panqueca leve, firme e cozida no centro, sem base queimada"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Farinha e leite da fonte não entram se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira antiaderente; discos pequenos",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-63E09E4CC0",
        "PM-SRC-AD6F9E9285"
      ]
    }
  }
}
NEW-B-SWEET-06Panqueca proteica de whey — banana e canela
ver dados
{
  "id": "NEW-B-SWEET-06",
  "name": "Panqueca proteica de whey — banana e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "massa batida; frigideira antiaderente",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-88BF8D7441",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.2,
    "best_rating_count": 86,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING015",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca proteica de whey — banana e canela",
        "source_method_ids": [
          "PM-SRC-88BF8D7441",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador",
          "frigideira antiaderente",
          "espátula",
          "tigela",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ingredientes da massa até ficar lisa; se houver fruta, incorporar na quantidade prevista."
          },
          {
            "order": 2,
            "instruction": "Aquecer uma película da gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Formar discos com espaço entre eles; virar quando surgirem bolhas/firmar a superfície e a base estiver dourada."
          },
          {
            "order": 4,
            "instruction": "Cozinhar o segundo lado até firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: 1–2 min primeiro lado + ~1 min segundo",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "frigideira quente/moderada",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "douradas e cozidas no centro",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Aveia/leite/coberturas da fonte só entram se constarem na versão adaptada.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "massa batida; frigideira antiaderente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-88BF8D7441",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-07Panqueca proteica de whey — laranja e canela
ver dados
{
  "id": "NEW-B-SWEET-07",
  "name": "Panqueca proteica de whey — laranja e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "massa batida; frigideira antiaderente",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-88BF8D7441",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.2,
    "best_rating_count": 86,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca proteica de whey — laranja e canela",
        "source_method_ids": [
          "PM-SRC-88BF8D7441",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador",
          "frigideira antiaderente",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ingredientes da massa até ficar lisa; se houver fruta, incorporar na quantidade prevista."
          },
          {
            "order": 2,
            "instruction": "Aquecer uma película da gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Formar discos com espaço entre eles; virar quando surgirem bolhas/firmar a superfície e a base estiver dourada."
          },
          {
            "order": 4,
            "instruction": "Cozinhar o segundo lado até firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 1–2 min primeiro lado + ~1 min segundo",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "frigideira quente/moderada",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "douradas e cozidas no centro",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Aveia/leite/coberturas da fonte só entram se constarem na versão adaptada.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "massa batida; frigideira antiaderente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-88BF8D7441",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-08Panqueca proteica de whey — cardamomo e baunilha
ver dados
{
  "id": "NEW-B-SWEET-08",
  "name": "Panqueca proteica de whey — cardamomo e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "massa batida; frigideira antiaderente",
  "seasoning_text": "cardamomo e baunilha",
  "seasoning_refs": [
    "T119"
  ],
  "source_ids": [
    "SRC-88BF8D7441",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.2,
    "best_rating_count": 86,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca proteica de whey — cardamomo e baunilha",
        "source_method_ids": [
          "PM-SRC-88BF8D7441",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador",
          "frigideira antiaderente",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater os ingredientes da massa até ficar lisa; se houver fruta, incorporar na quantidade prevista."
          },
          {
            "order": 2,
            "instruction": "Aquecer uma película da gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Formar discos com espaço entre eles; virar quando surgirem bolhas/firmar a superfície e a base estiver dourada."
          },
          {
            "order": 4,
            "instruction": "Cozinhar o segundo lado até firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 1–2 min primeiro lado + ~1 min segundo",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "frigideira quente/moderada",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "douradas e cozidas no centro",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Aveia/leite/coberturas da fonte só entram se constarem na versão adaptada.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "massa batida; frigideira antiaderente",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-88BF8D7441",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-09Panqueca soufflé proteica — baunilha e canela
ver dados
{
  "id": "NEW-B-SWEET-09",
  "name": "Panqueca soufflé proteica — baunilha e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "claras aeradas e cocção baixa com tampa",
  "seasoning_text": "baunilha e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-BBDD66BAD5",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca soufflé proteica — baunilha e canela",
        "source_method_ids": [
          "PM-SRC-BBDD66BAD5",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "batedeira/batedor elétrico",
          "frigideira antiaderente com tampa",
          "espátula",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater claras até picos firmes; preparar separadamente a base proteica/aromática autorizada."
          },
          {
            "order": 2,
            "instruction": "Incorporar as claras delicadamente para preservar ar."
          },
          {
            "order": 3,
            "instruction": "Aquecer frigideira em fogo muito baixo com filme mínimo da gordura prevista e montar panquecas altas."
          },
          {
            "order": 4,
            "instruction": "Cozinhar tampado; adicionar uma segunda pequena camada de massa se a versão permitir; virar com cuidado e terminar tampado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: 2–4 min + 8 min tampado antes de virar; 4–6 min após virar",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "fogo muito baixo",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "altas, douradas, com leve elasticidade sem colapsar",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "A nossa massa remove açúcar/farinha quando não listados; por isso o tempo da fonte é só referência e o endpoint prevalece.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "claras aeradas e cocção baixa com tampa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BBDD66BAD5",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-10Panqueca soufflé proteica — morango e baunilha
ver dados
{
  "id": "NEW-B-SWEET-10",
  "name": "Panqueca soufflé proteica — morango e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "claras aeradas e cocção baixa com tampa",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-BBDD66BAD5",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING013",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca soufflé proteica — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-BBDD66BAD5",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "batedeira/batedor elétrico",
          "frigideira antiaderente com tampa",
          "espátula",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater claras até picos firmes; preparar separadamente a base proteica/aromática autorizada."
          },
          {
            "order": 2,
            "instruction": "Incorporar as claras delicadamente para preservar ar."
          },
          {
            "order": 3,
            "instruction": "Aquecer frigideira em fogo muito baixo com filme mínimo da gordura prevista e montar panquecas altas."
          },
          {
            "order": 4,
            "instruction": "Cozinhar tampado; adicionar uma segunda pequena camada de massa se a versão permitir; virar com cuidado e terminar tampado."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte: 2–4 min + 8 min tampado antes de virar; 4–6 min após virar",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "fogo muito baixo",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "altas, douradas, com leve elasticidade sem colapsar",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "A nossa massa remove açúcar/farinha quando não listados; por isso o tempo da fonte é só referência e o endpoint prevalece.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "claras aeradas e cocção baixa com tampa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BBDD66BAD5",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-B-SWEET-11Panqueca soufflé proteica — limão e baunilha
ver dados
{
  "id": "NEW-B-SWEET-11",
  "name": "Panqueca soufflé proteica — limão e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "claras aeradas e cocção baixa com tampa",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-BBDD66BAD5",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca soufflé proteica — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-BBDD66BAD5",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "batedeira/batedor elétrico",
          "frigideira antiaderente com tampa",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater claras até picos firmes; preparar separadamente a base proteica/aromática autorizada."
          },
          {
            "order": 2,
            "instruction": "Incorporar as claras delicadamente para preservar ar."
          },
          {
            "order": 3,
            "instruction": "Aquecer frigideira em fogo muito baixo com filme mínimo da gordura prevista e montar panquecas altas."
          },
          {
            "order": 4,
            "instruction": "Cozinhar tampado; adicionar uma segunda pequena camada de massa se a versão permitir; virar com cuidado e terminar tampado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 2–4 min + 8 min tampado antes de virar; 4–6 min após virar",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fogo muito baixo",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "altas, douradas, com leve elasticidade sem colapsar",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A nossa massa remove açúcar/farinha quando não listados; por isso o tempo da fonte é só referência e o endpoint prevalece.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "claras aeradas e cocção baixa com tampa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BBDD66BAD5",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-12Panqueca soufflé proteica — laranja e canela
ver dados
{
  "id": "NEW-B-SWEET-12",
  "name": "Panqueca soufflé proteica — laranja e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "claras aeradas e cocção baixa com tampa",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-BBDD66BAD5",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca soufflé proteica — laranja e canela",
        "source_method_ids": [
          "PM-SRC-BBDD66BAD5",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "batedeira/batedor elétrico",
          "frigideira antiaderente com tampa",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater claras até picos firmes; preparar separadamente a base proteica/aromática autorizada."
          },
          {
            "order": 2,
            "instruction": "Incorporar as claras delicadamente para preservar ar."
          },
          {
            "order": 3,
            "instruction": "Aquecer frigideira em fogo muito baixo com filme mínimo da gordura prevista e montar panquecas altas."
          },
          {
            "order": 4,
            "instruction": "Cozinhar tampado; adicionar uma segunda pequena camada de massa se a versão permitir; virar com cuidado e terminar tampado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 2–4 min + 8 min tampado antes de virar; 4–6 min após virar",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fogo muito baixo",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "altas, douradas, com leve elasticidade sem colapsar",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A nossa massa remove açúcar/farinha quando não listados; por isso o tempo da fonte é só referência e o endpoint prevalece.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "claras aeradas e cocção baixa com tampa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BBDD66BAD5",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-13Panqueca soufflé proteica — canela estilo cinnamon-roll
ver dados
{
  "id": "NEW-B-SWEET-13",
  "name": "Panqueca soufflé proteica — canela estilo cinnamon-roll",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "claras aeradas e cocção baixa com tampa",
  "seasoning_text": "canela estilo cinnamon-roll",
  "seasoning_refs": [
    "T115"
  ],
  "source_ids": [
    "SRC-BBDD66BAD5",
    "SRC-A8DDED5CA2"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 17,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca soufflé proteica — canela estilo cinnamon-roll",
        "source_method_ids": [
          "PM-SRC-BBDD66BAD5",
          "PM-SRC-A8DDED5CA2"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "batedeira/batedor elétrico",
          "frigideira antiaderente com tampa",
          "espátula",
          "tigela/jarra",
          "batedor",
          "squeeze bottle ou saco de confeitar opcional",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater claras até picos firmes; preparar separadamente a base proteica/aromática autorizada."
          },
          {
            "order": 2,
            "instruction": "Incorporar as claras delicadamente para preservar ar."
          },
          {
            "order": 3,
            "instruction": "Aquecer frigideira em fogo muito baixo com filme mínimo da gordura prevista e montar panquecas altas."
          },
          {
            "order": 4,
            "instruction": "Cozinhar tampado; adicionar uma segunda pequena camada de massa se a versão permitir; virar com cuidado e terminar tampado."
          },
          {
            "order": 5,
            "instruction": "Misturar a massa adaptada até lisa e homogênea."
          },
          {
            "order": 6,
            "instruction": "Preparar o componente de canela/swirl somente com ingredientes autorizados e, se aplicável, colocar em bico/saco para dosar."
          },
          {
            "order": 7,
            "instruction": "Cozinhar a panqueca em fogo baixo-médio; quando as bordas firmarem e surgirem bolhas, aplicar o swirl autorizado e virar com cuidado."
          },
          {
            "order": 8,
            "instruction": "Terminar o segundo lado apenas até o centro estar cozido; a fonte usa cerca de 2–3 min no segundo lado para sua massa original."
          }
        ],
        "source_time_reference": [
          "fonte: 2–4 min + 8 min tampado antes de virar; 4–6 min após virar",
          "fonte: segundo lado ~2–3 min; primeiro lado guiado por bordas firmes/bolhas"
        ],
        "source_temperature_reference": [
          "fogo muito baixo",
          "fogo baixo-médio"
        ],
        "texture_or_doneness_endpoint": [
          "altas, douradas, com leve elasticidade sem colapsar",
          "superfície firme, centro cozido e desenho de canela preservado"
        ],
        "adaptation_guardrails": [
          "A nossa massa remove açúcar/farinha quando não listados; por isso o tempo da fonte é só referência e o endpoint prevalece.",
          "Açúcar, maple syrup, manteiga, farinha e iogurte da fonte não entram automaticamente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "claras aeradas e cocção baixa com tampa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BBDD66BAD5",
        "PM-SRC-A8DDED5CA2"
      ]
    }
  }
}
NEW-B-SWEET-14Panqueca soufflé proteica — noz-moscada e baunilha
ver dados
{
  "id": "NEW-B-SWEET-14",
  "name": "Panqueca soufflé proteica — noz-moscada e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "claras aeradas e cocção baixa com tampa",
  "seasoning_text": "noz-moscada e baunilha",
  "seasoning_refs": [
    "T114"
  ],
  "source_ids": [
    "SRC-BBDD66BAD5",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Panqueca soufflé proteica — noz-moscada e baunilha",
        "source_method_ids": [
          "PM-SRC-BBDD66BAD5",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "batedeira/batedor elétrico",
          "frigideira antiaderente com tampa",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater claras até picos firmes; preparar separadamente a base proteica/aromática autorizada."
          },
          {
            "order": 2,
            "instruction": "Incorporar as claras delicadamente para preservar ar."
          },
          {
            "order": 3,
            "instruction": "Aquecer frigideira em fogo muito baixo com filme mínimo da gordura prevista e montar panquecas altas."
          },
          {
            "order": 4,
            "instruction": "Cozinhar tampado; adicionar uma segunda pequena camada de massa se a versão permitir; virar com cuidado e terminar tampado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 2–4 min + 8 min tampado antes de virar; 4–6 min após virar",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fogo muito baixo",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "altas, douradas, com leve elasticidade sem colapsar",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A nossa massa remove açúcar/farinha quando não listados; por isso o tempo da fonte é só referência e o endpoint prevalece.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "claras aeradas e cocção baixa com tampa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BBDD66BAD5",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-15Waffle proteico low-carb — baunilha e canela
ver dados
{
  "id": "NEW-B-SWEET-15",
  "name": "Waffle proteico low-carb — baunilha e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "waffleira bem aquecida; exterior dourado",
  "seasoning_text": "baunilha e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-F5D734DB70",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.2,
    "best_rating_count": 124,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Waffle proteico low-carb — baunilha e canela",
        "source_method_ids": [
          "PM-SRC-F5D734DB70",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "waffleira",
          "tigela/batedor ou liquidificador",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar."
          },
          {
            "order": 2,
            "instruction": "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Adicionar massa suficiente para cobrir a superfície sem transbordar."
          },
          {
            "order": 4,
            "instruction": "Cozinhar até exterior dourado/crocante e centro firme."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: normalmente 5–6 min na waffleira",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "conforme fabricante da waffleira",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e crocante por fora; firme por dentro",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "waffleira bem aquecida; exterior dourado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F5D734DB70",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-16Waffle proteico low-carb — morango e baunilha
ver dados
{
  "id": "NEW-B-SWEET-16",
  "name": "Waffle proteico low-carb — morango e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "waffleira bem aquecida; exterior dourado",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-F5D734DB70",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.2,
    "best_rating_count": 124,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING013",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Waffle proteico low-carb — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-F5D734DB70",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "waffleira",
          "tigela/batedor ou liquidificador",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar."
          },
          {
            "order": 2,
            "instruction": "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Adicionar massa suficiente para cobrir a superfície sem transbordar."
          },
          {
            "order": 4,
            "instruction": "Cozinhar até exterior dourado/crocante e centro firme."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte: normalmente 5–6 min na waffleira",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "conforme fabricante da waffleira",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e crocante por fora; firme por dentro",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "waffleira bem aquecida; exterior dourado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F5D734DB70",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-B-SWEET-17Waffle proteico low-carb — banana e canela
ver dados
{
  "id": "NEW-B-SWEET-17",
  "name": "Waffle proteico low-carb — banana e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "waffleira bem aquecida; exterior dourado",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-F5D734DB70",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.2,
    "best_rating_count": 124,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING015",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Waffle proteico low-carb — banana e canela",
        "source_method_ids": [
          "PM-SRC-F5D734DB70",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "waffleira",
          "tigela/batedor ou liquidificador",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar."
          },
          {
            "order": 2,
            "instruction": "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Adicionar massa suficiente para cobrir a superfície sem transbordar."
          },
          {
            "order": 4,
            "instruction": "Cozinhar até exterior dourado/crocante e centro firme."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: normalmente 5–6 min na waffleira",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "conforme fabricante da waffleira",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e crocante por fora; firme por dentro",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "waffleira bem aquecida; exterior dourado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F5D734DB70",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-18Waffle proteico low-carb — limão e baunilha
ver dados
{
  "id": "NEW-B-SWEET-18",
  "name": "Waffle proteico low-carb — limão e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "waffleira bem aquecida; exterior dourado",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-F5D734DB70",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Waffle proteico low-carb — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-F5D734DB70",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "waffleira",
          "tigela/batedor ou liquidificador",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar."
          },
          {
            "order": 2,
            "instruction": "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Adicionar massa suficiente para cobrir a superfície sem transbordar."
          },
          {
            "order": 4,
            "instruction": "Cozinhar até exterior dourado/crocante e centro firme."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: normalmente 5–6 min na waffleira",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "conforme fabricante da waffleira",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e crocante por fora; firme por dentro",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "waffleira bem aquecida; exterior dourado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F5D734DB70",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-19Waffle proteico low-carb — pumpkin spice
ver dados
{
  "id": "NEW-B-SWEET-19",
  "name": "Waffle proteico low-carb — pumpkin spice",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "waffleira bem aquecida; exterior dourado",
  "seasoning_text": "pumpkin spice",
  "seasoning_refs": [
    "T117"
  ],
  "source_ids": [
    "SRC-F5D734DB70",
    "SRC-AD6F9E9285"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.2,
    "best_rating_count": 124,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Waffle proteico low-carb — pumpkin spice",
        "source_method_ids": [
          "PM-SRC-F5D734DB70",
          "PM-SRC-AD6F9E9285"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "waffleira",
          "tigela/batedor ou liquidificador",
          "tigelas",
          "batedor",
          "frigideira antiaderente",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar."
          },
          {
            "order": 2,
            "instruction": "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Adicionar massa suficiente para cobrir a superfície sem transbordar."
          },
          {
            "order": 4,
            "instruction": "Cozinhar até exterior dourado/crocante e centro firme."
          },
          {
            "order": 5,
            "instruction": "Misturar a base líquida autorizada com o purê de abóbora e a gema quando presentes."
          },
          {
            "order": 6,
            "instruction": "Formar uma massa homogênea, sem grumos."
          },
          {
            "order": 7,
            "instruction": "Bater a clara até firme e incorporar delicadamente para dar leveza quando a versão adaptada contiver clara separada."
          },
          {
            "order": 8,
            "instruction": "Cozinhar em frigideira antiaderente e virar somente quando muitas bolhas surgirem e a superfície começar a secar."
          },
          {
            "order": 9,
            "instruction": "Terminar o segundo lado sem escurecer excessivamente."
          }
        ],
        "source_time_reference": [
          "fonte: normalmente 5–6 min na waffleira",
          "fonte: guiado visualmente por bolhas e secagem da superfície"
        ],
        "source_temperature_reference": [
          "conforme fabricante da waffleira",
          "fogo médio a médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e crocante por fora; firme por dentro",
          "panqueca leve, firme e cozida no centro, sem base queimada"
        ],
        "adaptation_guardrails": [
          "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção.",
          "Farinha e leite da fonte não entram se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "waffleira bem aquecida; exterior dourado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F5D734DB70",
        "PM-SRC-AD6F9E9285"
      ]
    }
  }
}
NEW-B-SWEET-20Waffle proteico low-carb — canela estilo cinnamon-roll
ver dados
{
  "id": "NEW-B-SWEET-20",
  "name": "Waffle proteico low-carb — canela estilo cinnamon-roll",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "waffleira bem aquecida; exterior dourado",
  "seasoning_text": "canela estilo cinnamon-roll",
  "seasoning_refs": [
    "T115"
  ],
  "source_ids": [
    "SRC-F5D734DB70",
    "SRC-A8DDED5CA2"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.6,
    "best_rating_count": 17,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Waffle proteico low-carb — canela estilo cinnamon-roll",
        "source_method_ids": [
          "PM-SRC-F5D734DB70",
          "PM-SRC-A8DDED5CA2"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "waffleira",
          "tigela/batedor ou liquidificador",
          "tigela/jarra",
          "batedor",
          "squeeze bottle ou saco de confeitar opcional",
          "frigideira antiaderente",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar."
          },
          {
            "order": 2,
            "instruction": "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Adicionar massa suficiente para cobrir a superfície sem transbordar."
          },
          {
            "order": 4,
            "instruction": "Cozinhar até exterior dourado/crocante e centro firme."
          },
          {
            "order": 5,
            "instruction": "Misturar a massa adaptada até lisa e homogênea."
          },
          {
            "order": 6,
            "instruction": "Preparar o componente de canela/swirl somente com ingredientes autorizados e, se aplicável, colocar em bico/saco para dosar."
          },
          {
            "order": 7,
            "instruction": "Cozinhar a panqueca em fogo baixo-médio; quando as bordas firmarem e surgirem bolhas, aplicar o swirl autorizado e virar com cuidado."
          },
          {
            "order": 8,
            "instruction": "Terminar o segundo lado apenas até o centro estar cozido; a fonte usa cerca de 2–3 min no segundo lado para sua massa original."
          }
        ],
        "source_time_reference": [
          "fonte: normalmente 5–6 min na waffleira",
          "fonte: segundo lado ~2–3 min; primeiro lado guiado por bordas firmes/bolhas"
        ],
        "source_temperature_reference": [
          "conforme fabricante da waffleira",
          "fogo baixo-médio"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e crocante por fora; firme por dentro",
          "superfície firme, centro cozido e desenho de canela preservado"
        ],
        "adaptation_guardrails": [
          "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção.",
          "Açúcar, maple syrup, manteiga, farinha e iogurte da fonte não entram automaticamente.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "waffleira bem aquecida; exterior dourado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F5D734DB70",
        "PM-SRC-A8DDED5CA2"
      ]
    }
  }
}
NEW-B-SWEET-21Waffle proteico low-carb — laranja e canela
ver dados
{
  "id": "NEW-B-SWEET-21",
  "name": "Waffle proteico low-carb — laranja e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "waffleira bem aquecida; exterior dourado",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-F5D734DB70",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.2,
    "best_rating_count": 124,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Waffle proteico low-carb — laranja e canela",
        "source_method_ids": [
          "PM-SRC-F5D734DB70",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "waffleira",
          "tigela/batedor ou liquidificador",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar."
          },
          {
            "order": 2,
            "instruction": "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Adicionar massa suficiente para cobrir a superfície sem transbordar."
          },
          {
            "order": 4,
            "instruction": "Cozinhar até exterior dourado/crocante e centro firme."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: normalmente 5–6 min na waffleira",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "conforme fabricante da waffleira",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e crocante por fora; firme por dentro",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "waffleira bem aquecida; exterior dourado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F5D734DB70",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-22Waffle proteico low-carb — cardamomo e baunilha
ver dados
{
  "id": "NEW-B-SWEET-22",
  "name": "Waffle proteico low-carb — cardamomo e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "waffleira bem aquecida; exterior dourado",
  "seasoning_text": "cardamomo e baunilha",
  "seasoning_refs": [
    "T119"
  ],
  "source_ids": [
    "SRC-F5D734DB70",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.2,
    "best_rating_count": 124,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Waffle proteico low-carb — cardamomo e baunilha",
        "source_method_ids": [
          "PM-SRC-F5D734DB70",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "waffleira",
          "tigela/batedor ou liquidificador",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar."
          },
          {
            "order": 2,
            "instruction": "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada."
          },
          {
            "order": 3,
            "instruction": "Adicionar massa suficiente para cobrir a superfície sem transbordar."
          },
          {
            "order": 4,
            "instruction": "Cozinhar até exterior dourado/crocante e centro firme."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: normalmente 5–6 min na waffleira",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "conforme fabricante da waffleira",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado e crocante por fora; firme por dentro",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "waffleira bem aquecida; exterior dourado",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-F5D734DB70",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-23Crepe proteico fino — limão e baunilha
ver dados
{
  "id": "NEW-B-SWEET-23",
  "name": "Crepe proteico fino — limão e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira larga; camada fina e flexível",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-14CCEF0B5D",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Crepe proteico fino — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-14CCEF0B5D",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela ou jarra",
          "batedor",
          "frigideira larga antiaderente",
          "concha pequena",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até ficar totalmente lisa e homogênea."
          },
          {
            "order": 2,
            "instruction": "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min."
          },
          {
            "order": 3,
            "instruction": "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina."
          },
          {
            "order": 4,
            "instruction": "Colocar pouca massa e girar a frigideira para formar uma camada fina."
          },
          {
            "order": 5,
            "instruction": "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
          },
          {
            "order": 6,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 7,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 8,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 9,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fogo médio",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "crêpe fino, flexível, levemente dourado e sem centro cru",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira larga; camada fina e flexível",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14CCEF0B5D",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-24Crepe proteico fino — laranja e canela
ver dados
{
  "id": "NEW-B-SWEET-24",
  "name": "Crepe proteico fino — laranja e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira larga; camada fina e flexível",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-14CCEF0B5D",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 123,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Crepe proteico fino — laranja e canela",
        "source_method_ids": [
          "PM-SRC-14CCEF0B5D",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela ou jarra",
          "batedor",
          "frigideira larga antiaderente",
          "concha pequena",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até ficar totalmente lisa e homogênea."
          },
          {
            "order": 2,
            "instruction": "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min."
          },
          {
            "order": 3,
            "instruction": "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina."
          },
          {
            "order": 4,
            "instruction": "Colocar pouca massa e girar a frigideira para formar uma camada fina."
          },
          {
            "order": 5,
            "instruction": "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
          },
          {
            "order": 6,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 7,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 8,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 9,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fogo médio",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "crêpe fino, flexível, levemente dourado e sem centro cru",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira larga; camada fina e flexível",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14CCEF0B5D",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-25Crepe proteico fino — morango e baunilha
ver dados
{
  "id": "NEW-B-SWEET-25",
  "name": "Crepe proteico fino — morango e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira larga; camada fina e flexível",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-14CCEF0B5D",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.3,
    "best_rating_count": 123,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING013",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Crepe proteico fino — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-14CCEF0B5D",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela ou jarra",
          "batedor",
          "frigideira larga antiaderente",
          "concha pequena",
          "espátula",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até ficar totalmente lisa e homogênea."
          },
          {
            "order": 2,
            "instruction": "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min."
          },
          {
            "order": 3,
            "instruction": "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina."
          },
          {
            "order": 4,
            "instruction": "Colocar pouca massa e girar a frigideira para formar uma camada fina."
          },
          {
            "order": 5,
            "instruction": "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
          },
          {
            "order": 6,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 7,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 8,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 9,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "fogo médio",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "crêpe fino, flexível, levemente dourado e sem centro cru",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira larga; camada fina e flexível",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14CCEF0B5D",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-B-SWEET-26Crepe proteico fino — banana e canela
ver dados
{
  "id": "NEW-B-SWEET-26",
  "name": "Crepe proteico fino — banana e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira larga; camada fina e flexível",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-14CCEF0B5D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.3,
    "best_rating_count": 123,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING015",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Crepe proteico fino — banana e canela",
        "source_method_ids": [
          "PM-SRC-14CCEF0B5D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela ou jarra",
          "batedor",
          "frigideira larga antiaderente",
          "concha pequena",
          "espátula",
          "tigela",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até ficar totalmente lisa e homogênea."
          },
          {
            "order": 2,
            "instruction": "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min."
          },
          {
            "order": 3,
            "instruction": "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina."
          },
          {
            "order": 4,
            "instruction": "Colocar pouca massa e girar a frigideira para formar uma camada fina."
          },
          {
            "order": 5,
            "instruction": "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
          },
          {
            "order": 6,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 8,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 9,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "fogo médio",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "crêpe fino, flexível, levemente dourado e sem centro cru",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira larga; camada fina e flexível",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14CCEF0B5D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-27Crepe proteico fino — baunilha e canela
ver dados
{
  "id": "NEW-B-SWEET-27",
  "name": "Crepe proteico fino — baunilha e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira larga; camada fina e flexível",
  "seasoning_text": "baunilha e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-14CCEF0B5D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.3,
    "best_rating_count": 123,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Crepe proteico fino — baunilha e canela",
        "source_method_ids": [
          "PM-SRC-14CCEF0B5D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela ou jarra",
          "batedor",
          "frigideira larga antiaderente",
          "concha pequena",
          "espátula",
          "tigela",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até ficar totalmente lisa e homogênea."
          },
          {
            "order": 2,
            "instruction": "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min."
          },
          {
            "order": 3,
            "instruction": "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina."
          },
          {
            "order": 4,
            "instruction": "Colocar pouca massa e girar a frigideira para formar uma camada fina."
          },
          {
            "order": 5,
            "instruction": "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
          },
          {
            "order": 6,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 8,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 9,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "fogo médio",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "crêpe fino, flexível, levemente dourado e sem centro cru",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira larga; camada fina e flexível",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14CCEF0B5D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-28Crepe proteico fino — cardamomo e baunilha
ver dados
{
  "id": "NEW-B-SWEET-28",
  "name": "Crepe proteico fino — cardamomo e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira larga; camada fina e flexível",
  "seasoning_text": "cardamomo e baunilha",
  "seasoning_refs": [
    "T119"
  ],
  "source_ids": [
    "SRC-14CCEF0B5D",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 123,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Crepe proteico fino — cardamomo e baunilha",
        "source_method_ids": [
          "PM-SRC-14CCEF0B5D",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela ou jarra",
          "batedor",
          "frigideira larga antiaderente",
          "concha pequena",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até ficar totalmente lisa e homogênea."
          },
          {
            "order": 2,
            "instruction": "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min."
          },
          {
            "order": 3,
            "instruction": "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina."
          },
          {
            "order": 4,
            "instruction": "Colocar pouca massa e girar a frigideira para formar uma camada fina."
          },
          {
            "order": 5,
            "instruction": "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
          },
          {
            "order": 6,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 7,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 8,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 9,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fogo médio",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "crêpe fino, flexível, levemente dourado e sem centro cru",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira larga; camada fina e flexível",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14CCEF0B5D",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-29Crepe proteico fino — limão e canela
ver dados
{
  "id": "NEW-B-SWEET-29",
  "name": "Crepe proteico fino — limão e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira larga; camada fina e flexível",
  "seasoning_text": "limão e canela",
  "seasoning_refs": [
    "T121"
  ],
  "source_ids": [
    "SRC-14CCEF0B5D",
    "SRC-2254C533D0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 123,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Crepe proteico fino — limão e canela",
        "source_method_ids": [
          "PM-SRC-14CCEF0B5D",
          "PM-SRC-2254C533D0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela ou jarra",
          "batedor",
          "frigideira larga antiaderente",
          "concha pequena",
          "espátula",
          "frigideira antiaderente larga",
          "concha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até ficar totalmente lisa e homogênea."
          },
          {
            "order": 2,
            "instruction": "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min."
          },
          {
            "order": 3,
            "instruction": "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina."
          },
          {
            "order": 4,
            "instruction": "Colocar pouca massa e girar a frigideira para formar uma camada fina."
          },
          {
            "order": 5,
            "instruction": "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater a massa adaptada até ficar fluida e homogênea."
          },
          {
            "order": 7,
            "instruction": "Aquecer frigideira larga com película mínima da gordura prevista."
          },
          {
            "order": 8,
            "instruction": "Adicionar pouca massa e girar a frigideira para formar camada fina."
          },
          {
            "order": 9,
            "instruction": "Cozinhar até soltar das bordas, virar e terminar rapidamente o outro lado."
          }
        ],
        "source_time_reference": [
          "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
          "crêpes cozinham rapidamente; usar aparência das bordas como guia"
        ],
        "source_temperature_reference": [
          "fogo médio"
        ],
        "texture_or_doneness_endpoint": [
          "crêpe fino, flexível, levemente dourado e sem centro cru",
          "fina, flexível, com leves pontos dourados"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica.",
          "A massa é proteica/low-carb; não adicionar farinha/leite da fonte se ausentes.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira larga; camada fina e flexível",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14CCEF0B5D",
        "PM-SRC-2254C533D0"
      ]
    }
  }
}
NEW-B-SWEET-30Crepe proteico fino — noz-moscada e baunilha
ver dados
{
  "id": "NEW-B-SWEET-30",
  "name": "Crepe proteico fino — noz-moscada e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "frigideira larga; camada fina e flexível",
  "seasoning_text": "noz-moscada e baunilha",
  "seasoning_refs": [
    "T114"
  ],
  "source_ids": [
    "SRC-14CCEF0B5D",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Crepe proteico fino — noz-moscada e baunilha",
        "source_method_ids": [
          "PM-SRC-14CCEF0B5D",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela ou jarra",
          "batedor",
          "frigideira larga antiaderente",
          "concha pequena",
          "espátula",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a massa adaptada até ficar totalmente lisa e homogênea."
          },
          {
            "order": 2,
            "instruction": "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min."
          },
          {
            "order": 3,
            "instruction": "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina."
          },
          {
            "order": 4,
            "instruction": "Colocar pouca massa e girar a frigideira para formar uma camada fina."
          },
          {
            "order": 5,
            "instruction": "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
          },
          {
            "order": 6,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 7,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 8,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 9,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fogo médio",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "crêpe fino, flexível, levemente dourado e sem centro cru",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira larga; camada fina e flexível",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14CCEF0B5D",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-31Mug cake proteico — baunilha e canela
ver dados
{
  "id": "NEW-B-SWEET-31",
  "name": "Mug cake proteico — baunilha e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
  "seasoning_text": "baunilha e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AA7390D783",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.3,
    "best_rating_count": 10,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mug cake proteico — baunilha e canela",
        "source_method_ids": [
          "PM-SRC-AA7390D783",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "caneca grande própria para micro-ondas",
          "garfo/colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Untar a caneca somente se houver gordura contabilizada."
          },
          {
            "order": 2,
            "instruction": "Misturar primeiro os líquidos/ovo e depois os componentes secos da versão adaptada até não haver bolsões."
          },
          {
            "order": 3,
            "instruction": "Cozinhar no micro-ondas em intervalos curtos, observando a expansão."
          },
          {
            "order": 4,
            "instruction": "Retirar ainda ligeiramente úmido no centro e descansar para terminar de firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte 750 W: 3 intervalos de 30 s + 2 min de descanso",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "micro-ondas alta potência na fonte",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme após descanso, sem ressecar",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "A massa adaptada é diferente da fonte; usar intervalos como referência e endpoint como controle.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA7390D783",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-32Mug cake proteico — limão e baunilha
ver dados
{
  "id": "NEW-B-SWEET-32",
  "name": "Mug cake proteico — limão e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-AA7390D783",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mug cake proteico — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-AA7390D783",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "caneca grande própria para micro-ondas",
          "garfo/colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Untar a caneca somente se houver gordura contabilizada."
          },
          {
            "order": 2,
            "instruction": "Misturar primeiro os líquidos/ovo e depois os componentes secos da versão adaptada até não haver bolsões."
          },
          {
            "order": 3,
            "instruction": "Cozinhar no micro-ondas em intervalos curtos, observando a expansão."
          },
          {
            "order": 4,
            "instruction": "Retirar ainda ligeiramente úmido no centro e descansar para terminar de firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte 750 W: 3 intervalos de 30 s + 2 min de descanso",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "micro-ondas alta potência na fonte",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme após descanso, sem ressecar",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A massa adaptada é diferente da fonte; usar intervalos como referência e endpoint como controle.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA7390D783",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-33Mug cake proteico — café e canela
ver dados
{
  "id": "NEW-B-SWEET-33",
  "name": "Mug cake proteico — café e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
  "seasoning_text": "café e canela",
  "seasoning_refs": [
    "T112"
  ],
  "source_ids": [
    "SRC-AA7390D783",
    "SRC-0D69818314"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 10,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mug cake proteico — café e canela",
        "source_method_ids": [
          "PM-SRC-AA7390D783",
          "PM-SRC-0D69818314"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "caneca grande própria para micro-ondas",
          "garfo/colher",
          "forma/ramequim/molde indicado",
          "forno ou air fryer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Untar a caneca somente se houver gordura contabilizada."
          },
          {
            "order": 2,
            "instruction": "Misturar primeiro os líquidos/ovo e depois os componentes secos da versão adaptada até não haver bolsões."
          },
          {
            "order": 3,
            "instruction": "Cozinhar no micro-ondas em intervalos curtos, observando a expansão."
          },
          {
            "order": 4,
            "instruction": "Retirar ainda ligeiramente úmido no centro e descansar para terminar de firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar os ingredientes líquidos e secos da versão adaptada até homogêneo, evitando bater em excesso depois que a estrutura estiver formada."
          },
          {
            "order": 6,
            "instruction": "Distribuir no molde indicado na ficha."
          },
          {
            "order": 7,
            "instruction": "Assar/air fry até as bordas firmarem e o centro passar de líquido para elástico/firme."
          },
          {
            "order": 8,
            "instruction": "Descansar antes de desenformar para estabilizar a estrutura."
          }
        ],
        "source_time_reference": [
          "fonte 750 W: 3 intervalos de 30 s + 2 min de descanso",
          "tempo depende do molde e da composição adaptada"
        ],
        "source_temperature_reference": [
          "micro-ondas alta potência na fonte",
          "forno/air fryer moderado; usar endpoint"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme após descanso, sem ressecar",
          "bordas firmes, centro cozido e estrutura que se mantém ao esfriar"
        ],
        "adaptation_guardrails": [
          "A massa adaptada é diferente da fonte; usar intervalos como referência e endpoint como controle.",
          "Não importar farinhas/adoçantes/gorduras da fonte que não constem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA7390D783",
        "PM-SRC-0D69818314"
      ]
    }
  }
}
NEW-B-SWEET-34Mug cake proteico — morango e baunilha
ver dados
{
  "id": "NEW-B-SWEET-34",
  "name": "Mug cake proteico — morango e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-AA7390D783",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.3,
    "best_rating_count": 10,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING013",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mug cake proteico — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-AA7390D783",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "caneca grande própria para micro-ondas",
          "garfo/colher",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Untar a caneca somente se houver gordura contabilizada."
          },
          {
            "order": 2,
            "instruction": "Misturar primeiro os líquidos/ovo e depois os componentes secos da versão adaptada até não haver bolsões."
          },
          {
            "order": 3,
            "instruction": "Cozinhar no micro-ondas em intervalos curtos, observando a expansão."
          },
          {
            "order": 4,
            "instruction": "Retirar ainda ligeiramente úmido no centro e descansar para terminar de firmar."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte 750 W: 3 intervalos de 30 s + 2 min de descanso",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "micro-ondas alta potência na fonte",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme após descanso, sem ressecar",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "A massa adaptada é diferente da fonte; usar intervalos como referência e endpoint como controle.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA7390D783",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-B-SWEET-35Mug cake proteico — pumpkin spice
ver dados
{
  "id": "NEW-B-SWEET-35",
  "name": "Mug cake proteico — pumpkin spice",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
  "seasoning_text": "pumpkin spice",
  "seasoning_refs": [
    "T117"
  ],
  "source_ids": [
    "SRC-AA7390D783",
    "SRC-AD6F9E9285"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.3,
    "best_rating_count": 10,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mug cake proteico — pumpkin spice",
        "source_method_ids": [
          "PM-SRC-AA7390D783",
          "PM-SRC-AD6F9E9285"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "caneca grande própria para micro-ondas",
          "garfo/colher",
          "tigelas",
          "batedor",
          "frigideira antiaderente",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Untar a caneca somente se houver gordura contabilizada."
          },
          {
            "order": 2,
            "instruction": "Misturar primeiro os líquidos/ovo e depois os componentes secos da versão adaptada até não haver bolsões."
          },
          {
            "order": 3,
            "instruction": "Cozinhar no micro-ondas em intervalos curtos, observando a expansão."
          },
          {
            "order": 4,
            "instruction": "Retirar ainda ligeiramente úmido no centro e descansar para terminar de firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar a base líquida autorizada com o purê de abóbora e a gema quando presentes."
          },
          {
            "order": 6,
            "instruction": "Formar uma massa homogênea, sem grumos."
          },
          {
            "order": 7,
            "instruction": "Bater a clara até firme e incorporar delicadamente para dar leveza quando a versão adaptada contiver clara separada."
          },
          {
            "order": 8,
            "instruction": "Cozinhar em frigideira antiaderente e virar somente quando muitas bolhas surgirem e a superfície começar a secar."
          },
          {
            "order": 9,
            "instruction": "Terminar o segundo lado sem escurecer excessivamente."
          }
        ],
        "source_time_reference": [
          "fonte 750 W: 3 intervalos de 30 s + 2 min de descanso",
          "fonte: guiado visualmente por bolhas e secagem da superfície"
        ],
        "source_temperature_reference": [
          "micro-ondas alta potência na fonte",
          "fogo médio a médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme após descanso, sem ressecar",
          "panqueca leve, firme e cozida no centro, sem base queimada"
        ],
        "adaptation_guardrails": [
          "A massa adaptada é diferente da fonte; usar intervalos como referência e endpoint como controle.",
          "Farinha e leite da fonte não entram se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA7390D783",
        "PM-SRC-AD6F9E9285"
      ]
    }
  }
}
NEW-B-SWEET-36Mug cake proteico — gengibre e canela
ver dados
{
  "id": "NEW-B-SWEET-36",
  "name": "Mug cake proteico — gengibre e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
  "seasoning_text": "gengibre e canela",
  "seasoning_refs": [
    "T120"
  ],
  "source_ids": [
    "SRC-AA7390D783",
    "SRC-0D69818314"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 10,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mug cake proteico — gengibre e canela",
        "source_method_ids": [
          "PM-SRC-AA7390D783",
          "PM-SRC-0D69818314"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "caneca grande própria para micro-ondas",
          "garfo/colher",
          "forma/ramequim/molde indicado",
          "forno ou air fryer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Untar a caneca somente se houver gordura contabilizada."
          },
          {
            "order": 2,
            "instruction": "Misturar primeiro os líquidos/ovo e depois os componentes secos da versão adaptada até não haver bolsões."
          },
          {
            "order": 3,
            "instruction": "Cozinhar no micro-ondas em intervalos curtos, observando a expansão."
          },
          {
            "order": 4,
            "instruction": "Retirar ainda ligeiramente úmido no centro e descansar para terminar de firmar."
          },
          {
            "order": 5,
            "instruction": "Misturar os ingredientes líquidos e secos da versão adaptada até homogêneo, evitando bater em excesso depois que a estrutura estiver formada."
          },
          {
            "order": 6,
            "instruction": "Distribuir no molde indicado na ficha."
          },
          {
            "order": 7,
            "instruction": "Assar/air fry até as bordas firmarem e o centro passar de líquido para elástico/firme."
          },
          {
            "order": 8,
            "instruction": "Descansar antes de desenformar para estabilizar a estrutura."
          }
        ],
        "source_time_reference": [
          "fonte 750 W: 3 intervalos de 30 s + 2 min de descanso",
          "tempo depende do molde e da composição adaptada"
        ],
        "source_temperature_reference": [
          "micro-ondas alta potência na fonte",
          "forno/air fryer moderado; usar endpoint"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme após descanso, sem ressecar",
          "bordas firmes, centro cozido e estrutura que se mantém ao esfriar"
        ],
        "adaptation_guardrails": [
          "A massa adaptada é diferente da fonte; usar intervalos como referência e endpoint como controle.",
          "Não importar farinhas/adoçantes/gorduras da fonte que não constem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "micro-ondas em caneca; retirar ainda úmido no centro",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AA7390D783",
        "PM-SRC-0D69818314"
      ]
    }
  }
}
NEW-B-SWEET-37Bolo proteico de baunilha low-carb — baunilha e canela
ver dados
{
  "id": "NEW-B-SWEET-37",
  "name": "Bolo proteico de baunilha low-carb — baunilha e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "assado em ramequim/forma pequena",
  "seasoning_text": "baunilha e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-C40AB88FCF",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolo proteico de baunilha low-carb — baunilha e canela",
        "source_method_ids": [
          "PM-SRC-C40AB88FCF",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "peneira/tecido para iogurte",
          "batedeira ou fouet",
          "tigelas",
          "forma",
          "forno",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Quando houver cobertura de iogurte, escorrer o iogurte para ganhar corpo; a fonte usa pelo menos 2 h."
          },
          {
            "order": 2,
            "instruction": "Separar ovos e bater as claras até picos firmes."
          },
          {
            "order": 3,
            "instruction": "Misturar gemas e demais ingredientes autorizados da massa até homogêneo."
          },
          {
            "order": 4,
            "instruction": "Incorporar as claras delicadamente para preservar aeração e transferir para a forma."
          },
          {
            "order": 5,
            "instruction": "Assar seguindo a geometria da versão adaptada e retirar quando o centro estiver assado sem ressecar; resfriar antes de montar."
          },
          {
            "order": 6,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 8,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 9,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: iogurte ≥2 h; assamento em dois estágios conforme a receita original",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "fonte usa forno em estágios; adaptar ao tamanho da porção",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "bolo firme, aerado e sem massa líquida no centro",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas de amêndoa/sementes, adoçantes ou cobertura quando não autorizados. Como a nossa massa pode ser muito menor, o endpoint prevalece sobre o tempo da fonte.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assado em ramequim/forma pequena",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C40AB88FCF",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-38Bolo proteico de baunilha low-carb — limão e baunilha
ver dados
{
  "id": "NEW-B-SWEET-38",
  "name": "Bolo proteico de baunilha low-carb — limão e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "assado em ramequim/forma pequena",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-C40AB88FCF",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolo proteico de baunilha low-carb — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-C40AB88FCF",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "peneira/tecido para iogurte",
          "batedeira ou fouet",
          "tigelas",
          "forma",
          "forno",
          "ramequim/forma",
          "assadeira funda para banho-maria"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Quando houver cobertura de iogurte, escorrer o iogurte para ganhar corpo; a fonte usa pelo menos 2 h."
          },
          {
            "order": 2,
            "instruction": "Separar ovos e bater as claras até picos firmes."
          },
          {
            "order": 3,
            "instruction": "Misturar gemas e demais ingredientes autorizados da massa até homogêneo."
          },
          {
            "order": 4,
            "instruction": "Incorporar as claras delicadamente para preservar aeração e transferir para a forma."
          },
          {
            "order": 5,
            "instruction": "Assar seguindo a geometria da versão adaptada e retirar quando o centro estiver assado sem ressecar; resfriar antes de montar."
          },
          {
            "order": 6,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 7,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 8,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 9,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: iogurte ≥2 h; assamento em dois estágios conforme a receita original",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fonte usa forno em estágios; adaptar ao tamanho da porção",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "bolo firme, aerado e sem massa líquida no centro",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas de amêndoa/sementes, adoçantes ou cobertura quando não autorizados. Como a nossa massa pode ser muito menor, o endpoint prevalece sobre o tempo da fonte.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assado em ramequim/forma pequena",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C40AB88FCF",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-39Bolo proteico de baunilha low-carb — morango e baunilha
ver dados
{
  "id": "NEW-B-SWEET-39",
  "name": "Bolo proteico de baunilha low-carb — morango e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "assado em ramequim/forma pequena",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-C40AB88FCF",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING013",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolo proteico de baunilha low-carb — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-C40AB88FCF",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "peneira/tecido para iogurte",
          "batedeira ou fouet",
          "tigelas",
          "forma",
          "forno",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Quando houver cobertura de iogurte, escorrer o iogurte para ganhar corpo; a fonte usa pelo menos 2 h."
          },
          {
            "order": 2,
            "instruction": "Separar ovos e bater as claras até picos firmes."
          },
          {
            "order": 3,
            "instruction": "Misturar gemas e demais ingredientes autorizados da massa até homogêneo."
          },
          {
            "order": 4,
            "instruction": "Incorporar as claras delicadamente para preservar aeração e transferir para a forma."
          },
          {
            "order": 5,
            "instruction": "Assar seguindo a geometria da versão adaptada e retirar quando o centro estiver assado sem ressecar; resfriar antes de montar."
          },
          {
            "order": 6,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 7,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 8,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 9,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte: iogurte ≥2 h; assamento em dois estágios conforme a receita original",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "fonte usa forno em estágios; adaptar ao tamanho da porção",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "bolo firme, aerado e sem massa líquida no centro",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas de amêndoa/sementes, adoçantes ou cobertura quando não autorizados. Como a nossa massa pode ser muito menor, o endpoint prevalece sobre o tempo da fonte.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assado em ramequim/forma pequena",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C40AB88FCF",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-B-SWEET-40Bolo proteico de baunilha low-carb — pumpkin spice
ver dados
{
  "id": "NEW-B-SWEET-40",
  "name": "Bolo proteico de baunilha low-carb — pumpkin spice",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "assado em ramequim/forma pequena",
  "seasoning_text": "pumpkin spice",
  "seasoning_refs": [
    "T117"
  ],
  "source_ids": [
    "SRC-C40AB88FCF",
    "SRC-AD6F9E9285"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolo proteico de baunilha low-carb — pumpkin spice",
        "source_method_ids": [
          "PM-SRC-C40AB88FCF",
          "PM-SRC-AD6F9E9285"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "peneira/tecido para iogurte",
          "batedeira ou fouet",
          "tigelas",
          "forma",
          "forno",
          "batedor",
          "frigideira antiaderente",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Quando houver cobertura de iogurte, escorrer o iogurte para ganhar corpo; a fonte usa pelo menos 2 h."
          },
          {
            "order": 2,
            "instruction": "Separar ovos e bater as claras até picos firmes."
          },
          {
            "order": 3,
            "instruction": "Misturar gemas e demais ingredientes autorizados da massa até homogêneo."
          },
          {
            "order": 4,
            "instruction": "Incorporar as claras delicadamente para preservar aeração e transferir para a forma."
          },
          {
            "order": 5,
            "instruction": "Assar seguindo a geometria da versão adaptada e retirar quando o centro estiver assado sem ressecar; resfriar antes de montar."
          },
          {
            "order": 6,
            "instruction": "Misturar a base líquida autorizada com o purê de abóbora e a gema quando presentes."
          },
          {
            "order": 7,
            "instruction": "Formar uma massa homogênea, sem grumos."
          },
          {
            "order": 8,
            "instruction": "Bater a clara até firme e incorporar delicadamente para dar leveza quando a versão adaptada contiver clara separada."
          },
          {
            "order": 9,
            "instruction": "Cozinhar em frigideira antiaderente e virar somente quando muitas bolhas surgirem e a superfície começar a secar."
          },
          {
            "order": 10,
            "instruction": "Terminar o segundo lado sem escurecer excessivamente."
          }
        ],
        "source_time_reference": [
          "fonte: iogurte ≥2 h; assamento em dois estágios conforme a receita original",
          "fonte: guiado visualmente por bolhas e secagem da superfície"
        ],
        "source_temperature_reference": [
          "fonte usa forno em estágios; adaptar ao tamanho da porção",
          "fogo médio a médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "bolo firme, aerado e sem massa líquida no centro",
          "panqueca leve, firme e cozida no centro, sem base queimada"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas de amêndoa/sementes, adoçantes ou cobertura quando não autorizados. Como a nossa massa pode ser muito menor, o endpoint prevalece sobre o tempo da fonte.",
          "Farinha e leite da fonte não entram se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assado em ramequim/forma pequena",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C40AB88FCF",
        "PM-SRC-AD6F9E9285"
      ]
    }
  }
}
NEW-B-SWEET-41Bolo proteico de baunilha low-carb — laranja e canela
ver dados
{
  "id": "NEW-B-SWEET-41",
  "name": "Bolo proteico de baunilha low-carb — laranja e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "assado em ramequim/forma pequena",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-C40AB88FCF",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 2,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bolo proteico de baunilha low-carb — laranja e canela",
        "source_method_ids": [
          "PM-SRC-C40AB88FCF",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "peneira/tecido para iogurte",
          "batedeira ou fouet",
          "tigelas",
          "forma",
          "forno",
          "ramequim/forma",
          "assadeira funda para banho-maria"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Quando houver cobertura de iogurte, escorrer o iogurte para ganhar corpo; a fonte usa pelo menos 2 h."
          },
          {
            "order": 2,
            "instruction": "Separar ovos e bater as claras até picos firmes."
          },
          {
            "order": 3,
            "instruction": "Misturar gemas e demais ingredientes autorizados da massa até homogêneo."
          },
          {
            "order": 4,
            "instruction": "Incorporar as claras delicadamente para preservar aeração e transferir para a forma."
          },
          {
            "order": 5,
            "instruction": "Assar seguindo a geometria da versão adaptada e retirar quando o centro estiver assado sem ressecar; resfriar antes de montar."
          },
          {
            "order": 6,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 7,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 8,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 9,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: iogurte ≥2 h; assamento em dois estágios conforme a receita original",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "fonte usa forno em estágios; adaptar ao tamanho da porção",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "bolo firme, aerado e sem massa líquida no centro",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas de amêndoa/sementes, adoçantes ou cobertura quando não autorizados. Como a nossa massa pode ser muito menor, o endpoint prevalece sobre o tempo da fonte.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assado em ramequim/forma pequena",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C40AB88FCF",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-42Donut proteico assado — baunilha e canela
ver dados
{
  "id": "NEW-B-SWEET-42",
  "name": "Donut proteico assado — baunilha e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "molde de donut; forno/air fryer, sem imersão",
  "seasoning_text": "baunilha e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-A119C27396",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 3,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Donut proteico assado — baunilha e canela",
        "source_method_ids": [
          "PM-SRC-A119C27396",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigelas",
          "batedor/espátula",
          "forma de doughnut",
          "forno",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar separadamente secos e líquidos autorizados e então combinar apenas até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Distribuir nos moldes sem preencher completamente; a fonte usa cerca de 3/4 da altura."
          },
          {
            "order": 3,
            "instruction": "Assar inicialmente em forno mais quente para firmar a estrutura; a fonte usa 200°C/180°C ventilado por 12 min."
          },
          {
            "order": 4,
            "instruction": "Reduzir o forno e terminar a cocção; a fonte usa 180°C/160°C ventilado por mais 5–10 min."
          },
          {
            "order": 5,
            "instruction": "Esfriar antes de desenformar para evitar quebra."
          },
          {
            "order": 6,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 8,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 9,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: 12 min + 5–10 min",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "200°C/180°C ventilado, depois 180°C/160°C ventilado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme, assada e estável para desenformar após esfriar",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas, adoçantes ou coberturas da fonte que não estejam na adaptação. A massa adaptada pode exigir tempo menor.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "molde de donut; forno/air fryer, sem imersão",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A119C27396",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-43Donut proteico assado — limão e baunilha
ver dados
{
  "id": "NEW-B-SWEET-43",
  "name": "Donut proteico assado — limão e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "molde de donut; forno/air fryer, sem imersão",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-A119C27396",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 3,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Donut proteico assado — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-A119C27396",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigelas",
          "batedor/espátula",
          "forma de doughnut",
          "forno",
          "ramequim/forma",
          "assadeira funda para banho-maria"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar separadamente secos e líquidos autorizados e então combinar apenas até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Distribuir nos moldes sem preencher completamente; a fonte usa cerca de 3/4 da altura."
          },
          {
            "order": 3,
            "instruction": "Assar inicialmente em forno mais quente para firmar a estrutura; a fonte usa 200°C/180°C ventilado por 12 min."
          },
          {
            "order": 4,
            "instruction": "Reduzir o forno e terminar a cocção; a fonte usa 180°C/160°C ventilado por mais 5–10 min."
          },
          {
            "order": 5,
            "instruction": "Esfriar antes de desenformar para evitar quebra."
          },
          {
            "order": 6,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 7,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 8,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 9,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 12 min + 5–10 min",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C/180°C ventilado, depois 180°C/160°C ventilado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme, assada e estável para desenformar após esfriar",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas, adoçantes ou coberturas da fonte que não estejam na adaptação. A massa adaptada pode exigir tempo menor.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "molde de donut; forno/air fryer, sem imersão",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A119C27396",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-44Donut proteico assado — morango e baunilha
ver dados
{
  "id": "NEW-B-SWEET-44",
  "name": "Donut proteico assado — morango e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "molde de donut; forno/air fryer, sem imersão",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-A119C27396",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 3,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING013",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Donut proteico assado — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-A119C27396",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigelas",
          "batedor/espátula",
          "forma de doughnut",
          "forno",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar separadamente secos e líquidos autorizados e então combinar apenas até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Distribuir nos moldes sem preencher completamente; a fonte usa cerca de 3/4 da altura."
          },
          {
            "order": 3,
            "instruction": "Assar inicialmente em forno mais quente para firmar a estrutura; a fonte usa 200°C/180°C ventilado por 12 min."
          },
          {
            "order": 4,
            "instruction": "Reduzir o forno e terminar a cocção; a fonte usa 180°C/160°C ventilado por mais 5–10 min."
          },
          {
            "order": 5,
            "instruction": "Esfriar antes de desenformar para evitar quebra."
          },
          {
            "order": 6,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 7,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 8,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 9,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte: 12 min + 5–10 min",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "200°C/180°C ventilado, depois 180°C/160°C ventilado",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme, assada e estável para desenformar após esfriar",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas, adoçantes ou coberturas da fonte que não estejam na adaptação. A massa adaptada pode exigir tempo menor.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "molde de donut; forno/air fryer, sem imersão",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A119C27396",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-B-SWEET-45Donut proteico assado — pumpkin spice
ver dados
{
  "id": "NEW-B-SWEET-45",
  "name": "Donut proteico assado — pumpkin spice",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "molde de donut; forno/air fryer, sem imersão",
  "seasoning_text": "pumpkin spice",
  "seasoning_refs": [
    "T117"
  ],
  "source_ids": [
    "SRC-A119C27396",
    "SRC-AD6F9E9285"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 5.0,
    "best_rating_count": 3,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Donut proteico assado — pumpkin spice",
        "source_method_ids": [
          "PM-SRC-A119C27396",
          "PM-SRC-AD6F9E9285"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigelas",
          "batedor/espátula",
          "forma de doughnut",
          "forno",
          "batedor",
          "frigideira antiaderente",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar separadamente secos e líquidos autorizados e então combinar apenas até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Distribuir nos moldes sem preencher completamente; a fonte usa cerca de 3/4 da altura."
          },
          {
            "order": 3,
            "instruction": "Assar inicialmente em forno mais quente para firmar a estrutura; a fonte usa 200°C/180°C ventilado por 12 min."
          },
          {
            "order": 4,
            "instruction": "Reduzir o forno e terminar a cocção; a fonte usa 180°C/160°C ventilado por mais 5–10 min."
          },
          {
            "order": 5,
            "instruction": "Esfriar antes de desenformar para evitar quebra."
          },
          {
            "order": 6,
            "instruction": "Misturar a base líquida autorizada com o purê de abóbora e a gema quando presentes."
          },
          {
            "order": 7,
            "instruction": "Formar uma massa homogênea, sem grumos."
          },
          {
            "order": 8,
            "instruction": "Bater a clara até firme e incorporar delicadamente para dar leveza quando a versão adaptada contiver clara separada."
          },
          {
            "order": 9,
            "instruction": "Cozinhar em frigideira antiaderente e virar somente quando muitas bolhas surgirem e a superfície começar a secar."
          },
          {
            "order": 10,
            "instruction": "Terminar o segundo lado sem escurecer excessivamente."
          }
        ],
        "source_time_reference": [
          "fonte: 12 min + 5–10 min",
          "fonte: guiado visualmente por bolhas e secagem da superfície"
        ],
        "source_temperature_reference": [
          "200°C/180°C ventilado, depois 180°C/160°C ventilado",
          "fogo médio a médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "estrutura firme, assada e estável para desenformar após esfriar",
          "panqueca leve, firme e cozida no centro, sem base queimada"
        ],
        "adaptation_guardrails": [
          "Não reintroduzir farinhas, adoçantes ou coberturas da fonte que não estejam na adaptação. A massa adaptada pode exigir tempo menor.",
          "Farinha e leite da fonte não entram se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "molde de donut; forno/air fryer, sem imersão",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A119C27396",
        "PM-SRC-AD6F9E9285"
      ]
    }
  }
}
NEW-B-SWEET-46Custard proteico de ovos — noz-moscada e baunilha
ver dados
{
  "id": "NEW-B-SWEET-46",
  "name": "Custard proteico de ovos — noz-moscada e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "banho-maria/forno baixo; textura cremosa",
  "seasoning_text": "noz-moscada e baunilha",
  "seasoning_refs": [
    "T114"
  ],
  "source_ids": [
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Custard proteico de ovos — noz-moscada e baunilha",
        "source_method_ids": [
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 2,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 3,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 4,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "banho-maria/forno baixo; textura cremosa",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-47Custard proteico de ovos — baunilha e canela
ver dados
{
  "id": "NEW-B-SWEET-47",
  "name": "Custard proteico de ovos — baunilha e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "banho-maria/forno baixo; textura cremosa",
  "seasoning_text": "baunilha e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-3E8E96B92A",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Custard proteico de ovos — baunilha e canela",
        "source_method_ids": [
          "PM-SRC-3E8E96B92A",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 2,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 3,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 4,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: 45–50 min",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "150°C / 130°C ventilado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "recém-firme com leve tremor central",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "banho-maria/forno baixo; textura cremosa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-3E8E96B92A",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-B-SWEET-48Custard proteico de ovos — limão e baunilha
ver dados
{
  "id": "NEW-B-SWEET-48",
  "name": "Custard proteico de ovos — limão e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "banho-maria/forno baixo; textura cremosa",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Custard proteico de ovos — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 2,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 3,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 4,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "banho-maria/forno baixo; textura cremosa",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-B-SWEET-49Custard proteico de ovos — laranja e canela
ver dados
{
  "id": "NEW-B-SWEET-49",
  "name": "Custard proteico de ovos — laranja e canela",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "banho-maria/forno baixo; textura cremosa",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-3E8E96B92A",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Custard proteico de ovos — laranja e canela",
        "source_method_ids": [
          "PM-SRC-3E8E96B92A",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 2,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 3,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 4,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "banho-maria/forno baixo; textura cremosa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-3E8E96B92A",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-B-SWEET-50Custard proteico de ovos — cardamomo e baunilha
ver dados
{
  "id": "NEW-B-SWEET-50",
  "name": "Custard proteico de ovos — cardamomo e baunilha",
  "category": "breakfast_sweet",
  "origin": "generated_v3",
  "method_overview": "banho-maria/forno baixo; textura cremosa",
  "seasoning_text": "cardamomo e baunilha",
  "seasoning_refs": [
    "T119"
  ],
  "source_ids": [
    "SRC-3E8E96B92A",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Receita-fonte usada como técnica-base. Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais. Amêndoas são moídas quando entram na massa. Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING027",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Custard proteico de ovos — cardamomo e baunilha",
        "source_method_ids": [
          "PM-SRC-3E8E96B92A",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 2,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 3,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 4,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Receita-fonte usada como técnica-base.",
      "Açúcares e coberturas ricas em carboidrato foram omitidos; whey zero lactose e claras substituem parte dos ingredientes proteicos/estruturais.",
      "Amêndoas são moídas quando entram na massa.",
      "Adoçante sem calorias é opcional; óleo é medido e contabilizado quando necessário.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "banho-maria/forno baixo; textura cremosa",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-3E8E96B92A",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-SD-01Frozen yogurt proteico — morango e baunilha
ver dados
{
  "id": "NEW-SD-01",
  "name": "Frozen yogurt proteico — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater e congelar; mexer durante congelamento",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt proteico — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater e congelar; mexer durante congelamento",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-02Frozen yogurt proteico — morango e canela
ver dados
{
  "id": "NEW-SD-02",
  "name": "Frozen yogurt proteico — morango e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater e congelar; mexer durante congelamento",
  "seasoning_text": "morango e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-E6C55B7F2D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt proteico — morango e canela",
        "source_method_ids": [
          "PM-SRC-E6C55B7F2D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "freezer",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater e congelar; mexer durante congelamento",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E6C55B7F2D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-03Frozen yogurt proteico — banana e canela
ver dados
{
  "id": "NEW-SD-03",
  "name": "Frozen yogurt proteico — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater e congelar; mexer durante congelamento",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-E6C55B7F2D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt proteico — banana e canela",
        "source_method_ids": [
          "PM-SRC-E6C55B7F2D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "freezer",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater e congelar; mexer durante congelamento",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E6C55B7F2D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-04Frozen yogurt proteico — limão e baunilha
ver dados
{
  "id": "NEW-SD-04",
  "name": "Frozen yogurt proteico — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater e congelar; mexer durante congelamento",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-E6C55B7F2D",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt proteico — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-E6C55B7F2D",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "freezer",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater e congelar; mexer durante congelamento",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E6C55B7F2D",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-05Frozen yogurt proteico — laranja e canela
ver dados
{
  "id": "NEW-SD-05",
  "name": "Frozen yogurt proteico — laranja e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater e congelar; mexer durante congelamento",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-E6C55B7F2D",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt proteico — laranja e canela",
        "source_method_ids": [
          "PM-SRC-E6C55B7F2D",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "freezer",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater e congelar; mexer durante congelamento",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E6C55B7F2D",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-SD-06Frozen yogurt proteico — mamão e canela
ver dados
{
  "id": "NEW-SD-06",
  "name": "Frozen yogurt proteico — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater e congelar; mexer durante congelamento",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-E6C55B7F2D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt proteico — mamão e canela",
        "source_method_ids": [
          "PM-SRC-E6C55B7F2D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador/processador",
          "recipiente de freezer",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 2,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 3,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 4,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "freezer",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "cremoso/congelado com cristais pequenos",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater e congelar; mexer durante congelamento",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E6C55B7F2D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-07Frozen yogurt instantâneo — morango e baunilha
ver dados
{
  "id": "NEW-SD-07",
  "name": "Frozen yogurt instantâneo — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt instantâneo — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 5,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 7,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-08Frozen yogurt instantâneo — banana e canela
ver dados
{
  "id": "NEW-SD-08",
  "name": "Frozen yogurt instantâneo — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt instantâneo — banana e canela",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 5,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 6,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 7,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-09Frozen yogurt instantâneo — mamão e canela
ver dados
{
  "id": "NEW-SD-09",
  "name": "Frozen yogurt instantâneo — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt instantâneo — mamão e canela",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 5,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 6,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 7,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-10Frozen yogurt instantâneo — limão e baunilha
ver dados
{
  "id": "NEW-SD-10",
  "name": "Frozen yogurt instantâneo — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt instantâneo — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 5,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 6,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 7,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-11Frozen yogurt instantâneo — morango e canela
ver dados
{
  "id": "NEW-SD-11",
  "name": "Frozen yogurt instantâneo — morango e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
  "seasoning_text": "morango e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frozen yogurt instantâneo — morango e canela",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 5,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 6,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 7,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater fruta congelada e creme proteico até textura de sorvete",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-12Parfait proteico — morango e baunilha
ver dados
{
  "id": "NEW-SD-12",
  "name": "Parfait proteico — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "montar camadas; fruta em pedaços para contraste",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Parfait proteico — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "montar camadas; fruta em pedaços para contraste",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-13Parfait proteico — morango e canela
ver dados
{
  "id": "NEW-SD-13",
  "name": "Parfait proteico — morango e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "montar camadas; fruta em pedaços para contraste",
  "seasoning_text": "morango e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Parfait proteico — morango e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "montar camadas; fruta em pedaços para contraste",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-14Parfait proteico — mamão e canela
ver dados
{
  "id": "NEW-SD-14",
  "name": "Parfait proteico — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "montar camadas; fruta em pedaços para contraste",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Parfait proteico — mamão e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "montar camadas; fruta em pedaços para contraste",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-15Parfait proteico — banana e canela
ver dados
{
  "id": "NEW-SD-15",
  "name": "Parfait proteico — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "montar camadas; fruta em pedaços para contraste",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Parfait proteico — banana e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "montar camadas; fruta em pedaços para contraste",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-16Parfait proteico — laranja e canela
ver dados
{
  "id": "NEW-SD-16",
  "name": "Parfait proteico — laranja e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "montar camadas; fruta em pedaços para contraste",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Parfait proteico — laranja e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "montar camadas; fruta em pedaços para contraste",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-SD-17Parfait proteico — limão e baunilha
ver dados
{
  "id": "NEW-SD-17",
  "name": "Parfait proteico — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "montar camadas; fruta em pedaços para contraste",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Parfait proteico — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "montar camadas; fruta em pedaços para contraste",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-18Sundae proteico — morango e baunilha
ver dados
{
  "id": "NEW-SD-18",
  "name": "Sundae proteico — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "creme de iogurte/whey com fruta em swirl",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Sundae proteico — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "creme de iogurte/whey com fruta em swirl",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-19Sundae proteico — banana e canela
ver dados
{
  "id": "NEW-SD-19",
  "name": "Sundae proteico — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "creme de iogurte/whey com fruta em swirl",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Sundae proteico — banana e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "creme de iogurte/whey com fruta em swirl",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-20Sundae proteico — mamão e canela
ver dados
{
  "id": "NEW-SD-20",
  "name": "Sundae proteico — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "creme de iogurte/whey com fruta em swirl",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Sundae proteico — mamão e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "creme de iogurte/whey com fruta em swirl",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-21Sundae proteico — café e canela
ver dados
{
  "id": "NEW-SD-21",
  "name": "Sundae proteico — café e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "creme de iogurte/whey com fruta em swirl",
  "seasoning_text": "café e canela",
  "seasoning_refs": [
    "T112"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-0D69818314"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Sundae proteico — café e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-0D69818314"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "copo/pote",
          "colher",
          "forma/ramequim/molde indicado",
          "forno ou air fryer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os ingredientes líquidos e secos da versão adaptada até homogêneo, evitando bater em excesso depois que a estrutura estiver formada."
          },
          {
            "order": 6,
            "instruction": "Distribuir no molde indicado na ficha."
          },
          {
            "order": 7,
            "instruction": "Assar/air fry até as bordas firmarem e o centro passar de líquido para elástico/firme."
          },
          {
            "order": 8,
            "instruction": "Descansar antes de desenformar para estabilizar a estrutura."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "tempo depende do molde e da composição adaptada"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "forno/air fryer moderado; usar endpoint"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, centro cozido e estrutura que se mantém ao esfriar"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Não importar farinhas/adoçantes/gorduras da fonte que não constem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "creme de iogurte/whey com fruta em swirl",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-0D69818314"
      ]
    }
  }
}
NEW-SD-22Sundae proteico — limão e baunilha
ver dados
{
  "id": "NEW-SD-22",
  "name": "Sundae proteico — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "creme de iogurte/whey com fruta em swirl",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Sundae proteico — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [
      "Preservar a montagem em camadas/swirl; não homogeneizar antes de servir."
    ],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "creme de iogurte/whey com fruta em swirl",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-23Picolé proteico — morango e baunilha
ver dados
{
  "id": "NEW-SD-23",
  "name": "Picolé proteico — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "congelar em moldes individuais",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Picolé proteico — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "congelar em moldes individuais",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-24Picolé proteico — banana e canela
ver dados
{
  "id": "NEW-SD-24",
  "name": "Picolé proteico — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "congelar em moldes individuais",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Picolé proteico — banana e canela",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "congelar em moldes individuais",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-25Picolé proteico — mamão e canela
ver dados
{
  "id": "NEW-SD-25",
  "name": "Picolé proteico — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "congelar em moldes individuais",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Picolé proteico — mamão e canela",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "congelar em moldes individuais",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-26Picolé proteico — limão e baunilha
ver dados
{
  "id": "NEW-SD-26",
  "name": "Picolé proteico — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "congelar em moldes individuais",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Picolé proteico — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "congelar em moldes individuais",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-27Picolé proteico — laranja e canela
ver dados
{
  "id": "NEW-SD-27",
  "name": "Picolé proteico — laranja e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "congelar em moldes individuais",
  "seasoning_text": "laranja e canela",
  "seasoning_refs": [
    "T118"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-BDEFB6DD8B"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Picolé proteico — laranja e canela",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-BDEFB6DD8B"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "congelar em moldes individuais",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-BDEFB6DD8B"
      ]
    }
  }
}
NEW-SD-28Yogurt bark proteico — morango e baunilha
ver dados
{
  "id": "NEW-SD-28",
  "name": "Yogurt bark proteico — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "espalhar camada fina e congelar; quebrar em placas",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Yogurt bark proteico — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "espalhar camada fina e congelar; quebrar em placas",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-29Yogurt bark proteico — morango e canela
ver dados
{
  "id": "NEW-SD-29",
  "name": "Yogurt bark proteico — morango e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "espalhar camada fina e congelar; quebrar em placas",
  "seasoning_text": "morango e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Yogurt bark proteico — morango e canela",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "espalhar camada fina e congelar; quebrar em placas",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-30Yogurt bark proteico — banana e canela
ver dados
{
  "id": "NEW-SD-30",
  "name": "Yogurt bark proteico — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "espalhar camada fina e congelar; quebrar em placas",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Yogurt bark proteico — banana e canela",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "espalhar camada fina e congelar; quebrar em placas",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-31Yogurt bark proteico — limão e baunilha
ver dados
{
  "id": "NEW-SD-31",
  "name": "Yogurt bark proteico — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "espalhar camada fina e congelar; quebrar em placas",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Yogurt bark proteico — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "espalhar camada fina e congelar; quebrar em placas",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-32Bites congelados de iogurte — morango e baunilha
ver dados
{
  "id": "NEW-SD-32",
  "name": "Bites congelados de iogurte — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "porções pequenas congeladas em molde",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bites congelados de iogurte — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "porções pequenas congeladas em molde",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-33Bites congelados de iogurte — mamão e canela
ver dados
{
  "id": "NEW-SD-33",
  "name": "Bites congelados de iogurte — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "porções pequenas congeladas em molde",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bites congelados de iogurte — mamão e canela",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "porções pequenas congeladas em molde",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-34Bites congelados de iogurte — banana e canela
ver dados
{
  "id": "NEW-SD-34",
  "name": "Bites congelados de iogurte — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "porções pequenas congeladas em molde",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bites congelados de iogurte — banana e canela",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "porções pequenas congeladas em molde",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-35Bites congelados de iogurte — morango e canela
ver dados
{
  "id": "NEW-SD-35",
  "name": "Bites congelados de iogurte — morango e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "porções pequenas congeladas em molde",
  "seasoning_text": "morango e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-1916763C6B",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bites congelados de iogurte — morango e canela",
        "source_method_ids": [
          "PM-SRC-1916763C6B",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "porções pequenas congeladas em molde",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-1916763C6B",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-36Mousse rápida de iogurte e whey — morango e baunilha
ver dados
{
  "id": "NEW-SD-36",
  "name": "Mousse rápida de iogurte e whey — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater/incorporar ar e gelar",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mousse rápida de iogurte e whey — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater/incorporar ar e gelar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-37Mousse rápida de iogurte e whey — mamão e canela
ver dados
{
  "id": "NEW-SD-37",
  "name": "Mousse rápida de iogurte e whey — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater/incorporar ar e gelar",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mousse rápida de iogurte e whey — mamão e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater/incorporar ar e gelar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-38Mousse rápida de iogurte e whey — banana e canela
ver dados
{
  "id": "NEW-SD-38",
  "name": "Mousse rápida de iogurte e whey — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater/incorporar ar e gelar",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mousse rápida de iogurte e whey — banana e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater/incorporar ar e gelar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-39Mousse rápida de iogurte e whey — limão e baunilha
ver dados
{
  "id": "NEW-SD-39",
  "name": "Mousse rápida de iogurte e whey — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater/incorporar ar e gelar",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mousse rápida de iogurte e whey — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater/incorporar ar e gelar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-40Mousse rápida de iogurte e whey — café e canela
ver dados
{
  "id": "NEW-SD-40",
  "name": "Mousse rápida de iogurte e whey — café e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater/incorporar ar e gelar",
  "seasoning_text": "café e canela",
  "seasoning_refs": [
    "T112"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-0D69818314"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mousse rápida de iogurte e whey — café e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-0D69818314"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "copo/pote",
          "colher",
          "forma/ramequim/molde indicado",
          "forno ou air fryer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os ingredientes líquidos e secos da versão adaptada até homogêneo, evitando bater em excesso depois que a estrutura estiver formada."
          },
          {
            "order": 6,
            "instruction": "Distribuir no molde indicado na ficha."
          },
          {
            "order": 7,
            "instruction": "Assar/air fry até as bordas firmarem e o centro passar de líquido para elástico/firme."
          },
          {
            "order": 8,
            "instruction": "Descansar antes de desenformar para estabilizar a estrutura."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "tempo depende do molde e da composição adaptada"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "forno/air fryer moderado; usar endpoint"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, centro cozido e estrutura que se mantém ao esfriar"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Não importar farinhas/adoçantes/gorduras da fonte que não constem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater/incorporar ar e gelar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-0D69818314"
      ]
    }
  }
}
NEW-SD-41Creme proteico gelado — morango e baunilha
ver dados
{
  "id": "NEW-SD-41",
  "name": "Creme proteico gelado — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "misturar até creme espesso e resfriar",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 3.2,
    "best_rating_count": 5,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Creme proteico gelado — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 6,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 7,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 8,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "misturar até creme espesso e resfriar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-42Creme proteico gelado — morango e canela
ver dados
{
  "id": "NEW-SD-42",
  "name": "Creme proteico gelado — morango e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "misturar até creme espesso e resfriar",
  "seasoning_text": "morango e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Creme proteico gelado — morango e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "misturar até creme espesso e resfriar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-43Creme proteico gelado — mamão e canela
ver dados
{
  "id": "NEW-SD-43",
  "name": "Creme proteico gelado — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "misturar até creme espesso e resfriar",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Creme proteico gelado — mamão e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 7,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 8,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "misturar até creme espesso e resfriar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-44Creme proteico gelado — limão e baunilha
ver dados
{
  "id": "NEW-SD-44",
  "name": "Creme proteico gelado — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "misturar até creme espesso e resfriar",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 32,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Creme proteico gelado — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "copo/pote",
          "colher",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 6,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 7,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 8,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "misturar até creme espesso e resfriar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 1,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-45Creme proteico gelado — café e canela
ver dados
{
  "id": "NEW-SD-45",
  "name": "Creme proteico gelado — café e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "misturar até creme espesso e resfriar",
  "seasoning_text": "café e canela",
  "seasoning_refs": [
    "T112"
  ],
  "source_ids": [
    "SRC-AB34D47A8D",
    "SRC-0D69818314"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Creme proteico gelado — café e canela",
        "source_method_ids": [
          "PM-SRC-AB34D47A8D",
          "PM-SRC-0D69818314"
        ],
        "grounding_level": "source_family_or_existing_overview",
        "equipment": [
          "copo/pote",
          "colher",
          "forma/ramequim/molde indicado",
          "forno ou air fryer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte zero lactose e whey até homogêneo."
          },
          {
            "order": 2,
            "instruction": "Preparar fruta em purê, macerada ou cubos conforme o nome da receita."
          },
          {
            "order": 3,
            "instruction": "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver."
          },
          {
            "order": 4,
            "instruction": "Manter refrigerado."
          },
          {
            "order": 5,
            "instruction": "Misturar os ingredientes líquidos e secos da versão adaptada até homogêneo, evitando bater em excesso depois que a estrutura estiver formada."
          },
          {
            "order": 6,
            "instruction": "Distribuir no molde indicado na ficha."
          },
          {
            "order": 7,
            "instruction": "Assar/air fry até as bordas firmarem e o centro passar de líquido para elástico/firme."
          },
          {
            "order": 8,
            "instruction": "Descansar antes de desenformar para estabilizar a estrutura."
          }
        ],
        "source_time_reference": [
          "montagem fria; sem cocção",
          "tempo depende do molde e da composição adaptada"
        ],
        "source_temperature_reference": [
          "refrigerado",
          "forno/air fryer moderado; usar endpoint"
        ],
        "texture_or_doneness_endpoint": [
          "creme espesso, camadas definidas e crocante seco",
          "bordas firmes, centro cozido e estrutura que se mantém ao esfriar"
        ],
        "adaptation_guardrails": [
          "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados.",
          "Não importar farinhas/adoçantes/gorduras da fonte que não constem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "misturar até creme espesso e resfriar",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 0,
      "source_family_or_overview_sources": 2,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AB34D47A8D",
        "PM-SRC-0D69818314"
      ]
    }
  }
}
NEW-SD-46Smoothie proteico espesso — morango e baunilha
ver dados
{
  "id": "NEW-SD-46",
  "name": "Smoothie proteico espesso — morango e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater com gelo e pouca fruta",
  "seasoning_text": "morango e baunilha",
  "seasoning_refs": [
    "T113"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-E6C55B7F2D"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Smoothie proteico espesso — morango e baunilha",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-E6C55B7F2D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "liquidificador/processador",
          "recipiente de freezer"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Processar a fruta até purê ou textura desejada."
          },
          {
            "order": 5,
            "instruction": "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo."
          },
          {
            "order": 6,
            "instruction": "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais."
          },
          {
            "order": 7,
            "instruction": "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "freezer"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "cremoso/congelado com cristais pequenos"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater com gelo e pouca fruta",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-E6C55B7F2D"
      ]
    }
  }
}
NEW-SD-47Smoothie proteico espesso — banana e canela
ver dados
{
  "id": "NEW-SD-47",
  "name": "Smoothie proteico espesso — banana e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater com gelo e pouca fruta",
  "seasoning_text": "banana e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING015",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Smoothie proteico espesso — banana e canela",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 5,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 6,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 7,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater com gelo e pouca fruta",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-48Smoothie proteico espesso — mamão e canela
ver dados
{
  "id": "NEW-SD-48",
  "name": "Smoothie proteico espesso — mamão e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater com gelo e pouca fruta",
  "seasoning_text": "mamão e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING014",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Smoothie proteico espesso — mamão e canela",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 5,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 6,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 7,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater com gelo e pouca fruta",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SD-49Smoothie proteico espesso — limão e baunilha
ver dados
{
  "id": "NEW-SD-49",
  "name": "Smoothie proteico espesso — limão e baunilha",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater com gelo e pouca fruta",
  "seasoning_text": "limão e baunilha",
  "seasoning_refs": [
    "T111"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-3E8E96B92A"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Smoothie proteico espesso — limão e baunilha",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-3E8E96B92A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "ramequim/forma",
          "assadeira funda para banho-maria",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado."
          },
          {
            "order": 5,
            "instruction": "Transferir para ramequim/forma."
          },
          {
            "order": 6,
            "instruction": "Colocar em banho-maria com água quente subindo parcialmente pelas laterais."
          },
          {
            "order": 7,
            "instruction": "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fonte: 45–50 min"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "150°C / 130°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "recém-firme com leve tremor central"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater com gelo e pouca fruta",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-3E8E96B92A"
      ]
    }
  }
}
NEW-SD-50Smoothie proteico espesso — morango e canela
ver dados
{
  "id": "NEW-SD-50",
  "name": "Smoothie proteico espesso — morango e canela",
  "category": "afternoon_snack_sweet",
  "origin": "generated_v3",
  "method_overview": "bater com gelo e pouca fruta",
  "seasoning_text": "morango e canela",
  "seasoning_refs": [
    "T110"
  ],
  "source_ids": [
    "SRC-7A6D11BAC7",
    "SRC-63E09E4CC0"
  ],
  "adaptation_notes": "Açúcares adicionados e leite condensado das referências foram omitidos. Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 2,
    "rated_source_count": 2,
    "best_rating": 4.7,
    "best_rating_count": 76,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING013",
        "ING027"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING011",
        "ING012"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING027",
          "raw_state": "Amêndoa natural crua, sem casca",
          "yield_factor": 0.97,
          "yield_source_id": "SRC-YIELD-USDA-ALMOND",
          "quality": "low_estimate",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Smoothie proteico espesso — morango e canela",
        "source_method_ids": [
          "PM-SRC-7A6D11BAC7",
          "PM-SRC-63E09E4CC0"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador potente",
          "tigela",
          "batedor",
          "frigideira antiaderente"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Usar a fruta congelada e o iogurte zero lactose bem frio."
          },
          {
            "order": 2,
            "instruction": "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete."
          },
          {
            "order": 3,
            "instruction": "Consumir imediatamente para preservar a textura."
          },
          {
            "order": 4,
            "instruction": "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo."
          },
          {
            "order": 5,
            "instruction": "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada."
          },
          {
            "order": 6,
            "instruction": "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar."
          },
          {
            "order": 7,
            "instruction": "Virar e terminar apenas até o centro firmar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 20 s de processamento",
          "fonte: 2–3 min primeiro lado + ~2 min segundo"
        ],
        "source_temperature_reference": [
          "sem cocção; ingredientes congelados/frios",
          "médio-baixo"
        ],
        "texture_or_doneness_endpoint": [
          "textura lisa de sorvete soft, sem derreter",
          "bordas firmes, exterior dourado e centro cozido"
        ],
        "adaptation_guardrails": [
          "Mel/agave não entra salvo se listado.",
          "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Açúcares adicionados e leite condensado das referências foram omitidos.",
      "Whey zero lactose foi usado para atingir proteína; fruta, iogurte e amêndoas são reescalados ao alvo.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bater com gelo e pouca fruta",
    "source_method_coverage": {
      "total_sources": 2,
      "direct_method_sources": 2,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7A6D11BAC7",
        "PM-SRC-63E09E4CC0"
      ]
    }
  }
}
NEW-SS-BV01Bife com chimichurri em tiras
ver dados
{
  "id": "NEW-SS-BV01",
  "name": "Bife com chimichurri em tiras",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "selar e fatiar fino",
  "seasoning_text": "chimichurri",
  "seasoning_refs": [
    "T032"
  ],
  "source_ids": [
    "SRC-AEF5B9DDD4"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 27,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife com chimichurri em tiras",
        "source_method_ids": [
          "PM-SRC-AEF5B9DDD4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou faca",
          "tigela",
          "chapa ou frigideira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Picar/processar ervas, alho e aromáticos autorizados do chimichurri e combinar com o ácido e a gordura contabilizada até virar molho rústico."
          },
          {
            "order": 2,
            "instruction": "Secar/temperar o bife e esfregar somente a gordura autorizada na superfície."
          },
          {
            "order": 3,
            "instruction": "Selar em chapa/frigideira quente; a fonte usa 2–3 min por lado para bifes de 125 g, mas o tempo deve seguir espessura e ponto."
          },
          {
            "order": 4,
            "instruction": "Descansar alguns minutos antes de fatiar e só então aplicar o chimichurri."
          }
        ],
        "source_time_reference": [
          "fonte: 2–3 min por lado; descanso de alguns minutos"
        ],
        "source_temperature_reference": [
          "chapa/frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta externa, ponto interno desejado e sucos redistribuídos após descanso"
        ],
        "adaptation_guardrails": [
          "Batata/fritas e salada da fonte não são parte automática da adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "selar e fatiar fino",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AEF5B9DDD4"
      ]
    }
  }
}
NEW-SS-BV02Bife ao miso em tiras
ver dados
{
  "id": "NEW-SS-BV02",
  "name": "Bife ao miso em tiras",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "marinar e selar",
  "seasoning_text": "miso e gengibre",
  "seasoning_refs": [
    "T012"
  ],
  "source_ids": [
    "SRC-58CC1ECA0E"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 30,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife ao miso em tiras",
        "source_method_ids": [
          "PM-SRC-58CC1ECA0E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "saco ou recipiente para marinar",
          "frigideira pesada, chapa ou churrasqueira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar o miso e aromáticos autorizados e cobrir uniformemente o bife."
          },
          {
            "order": 2,
            "instruction": "Marinar refrigerado; a fonte usa no mínimo 1 h e permite até 2 dias."
          },
          {
            "order": 3,
            "instruction": "Antes de selar, retirar o excesso de marinada superficial para reduzir queima."
          },
          {
            "order": 4,
            "instruction": "Aquecer muito bem a chapa/frigideira/churrasqueira e selar dos dois lados. A fonte usa cerca de 3 min por lado para malpassado ao ponto em bife semelhante."
          },
          {
            "order": 5,
            "instruction": "Descansar antes de fatiar contra a fibra."
          }
        ],
        "source_time_reference": [
          "fonte: marinada ≥1 h (até 2 dias); ~3 min por lado para medium-rare; descanso ~1 min"
        ],
        "source_temperature_reference": [
          "superfície muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta bem selada e ponto interno desejado"
        ],
        "adaptation_guardrails": [
          "Não usar açúcar, saquê/xerez ou acompanhamentos da fonte se não estiverem autorizados. Tempo de chapa depende da espessura e do corte real.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "marinar e selar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-58CC1ECA0E"
      ]
    }
  }
}
NEW-SS-BV03Bife apimentado
ver dados
{
  "id": "NEW-SS-BV03",
  "name": "Bife apimentado",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "selar com crosta de pimenta",
  "seasoning_text": "pimenta-do-reino",
  "seasoning_refs": [
    "T088"
  ],
  "source_ids": [
    "SRC-FF4DBC0D5A"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 17,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife apimentado",
        "source_method_ids": [
          "PM-SRC-FF4DBC0D5A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "chapa/griddle",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar a carne, usar somente a gordura contabilizada e pressionar pimenta moída grosseiramente na superfície."
          },
          {
            "order": 2,
            "instruction": "Aquecer bem a chapa e selar os bifes sem movimentar excessivamente."
          },
          {
            "order": 3,
            "instruction": "Como referência da fonte para filés de ~140 g: 2,5 min por lado malpassado ao ponto, 3,5 min por lado ao ponto e 4,5 min por lado bem-passado. Ajustar à espessura real."
          },
          {
            "order": 4,
            "instruction": "Descansar cerca de 5 min antes de servir/fatiar."
          }
        ],
        "source_time_reference": [
          "fonte: 2,5–4,5 min por lado conforme ponto; descanso 5 min"
        ],
        "source_temperature_reference": [
          "chapa quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta apimentada e ponto interno desejado"
        ],
        "adaptation_guardrails": [
          "Manteiga e batatas da fonte só entram se estiverem autorizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "selar com crosta de pimenta",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-FF4DBC0D5A"
      ]
    }
  }
}
NEW-SS-BV04Bife simples na chapa
ver dados
{
  "id": "NEW-SS-BV04",
  "name": "Bife simples na chapa",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "chapa quente; descanso curto",
  "seasoning_text": "sal, alho e pimenta",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-28230B968D"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.4,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife simples na chapa",
        "source_method_ids": [
          "PM-SRC-28230B968D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira pesada",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Retirar o bife da geladeira com antecedência curta, secar a superfície e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo alto com a gordura prevista; reduzir levemente quando a gordura estiver quente."
          },
          {
            "order": 3,
            "instruction": "Selar virando a cada 30–60 s para desenvolver crosta uniforme."
          },
          {
            "order": 4,
            "instruction": "Retirar no ponto desejado, repousar e fatiar contra a fibra quando aplicável."
          }
        ],
        "source_time_reference": [
          "fonte para steak ~2 cm: ~3 min rare; 4–5 min medium; 7–8 min well done"
        ],
        "source_temperature_reference": [
          "fogo alto → médio-alto; fonte cita 50°C rare, 60°C medium, 70°C well done"
        ],
        "texture_or_doneness_endpoint": [
          "crosta marrom; ponto interno escolhido"
        ],
        "adaptation_guardrails": [
          "Usar somente a gordura prevista; manteiga/alho/ervas da fonte só entram se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "chapa quente; descanso curto",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-28230B968D"
      ]
    }
  }
}
NEW-SS-BV05Bife na air fryer
ver dados
{
  "id": "NEW-SS-BV05",
  "name": "Bife na air fryer",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "air fryer; virar uma vez",
  "seasoning_text": "sal e pimenta",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-28230B968D"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.4,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING008"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING008",
          "raw_state": "Patinho bovino cru, sem osso e aparado, pronto para cozinhar",
          "yield_factor": 0.65,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Bife na air fryer",
        "source_method_ids": [
          "PM-SRC-28230B968D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira pesada",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Retirar o bife da geladeira com antecedência curta, secar a superfície e temperar."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira em fogo alto com a gordura prevista; reduzir levemente quando a gordura estiver quente."
          },
          {
            "order": 3,
            "instruction": "Selar virando a cada 30–60 s para desenvolver crosta uniforme."
          },
          {
            "order": 4,
            "instruction": "Retirar no ponto desejado, repousar e fatiar contra a fibra quando aplicável."
          }
        ],
        "source_time_reference": [
          "fonte para steak ~2 cm: ~3 min rare; 4–5 min medium; 7–8 min well done"
        ],
        "source_temperature_reference": [
          "fogo alto → médio-alto; fonte cita 50°C rare, 60°C medium, 70°C well done"
        ],
        "texture_or_doneness_endpoint": [
          "crosta marrom; ponto interno escolhido"
        ],
        "adaptation_guardrails": [
          "Usar somente a gordura prevista; manteiga/alho/ervas da fonte só entram se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "air fryer; virar uma vez",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-28230B968D"
      ]
    }
  }
}
NEW-SS-BV06Hambúrguer bovino sem pão
ver dados
{
  "id": "NEW-SS-BV06",
  "name": "Hambúrguer bovino sem pão",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "moldar disco e chapear",
  "seasoning_text": "sal, pimenta e alho",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-2D6228D97C"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 108,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Hambúrguer bovino sem pão",
        "source_method_ids": [
          "PM-SRC-2D6228D97C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "chapa/grelha",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Moldar discos uniformes com a carne e temperos autorizados, manipulando o mínimo necessário."
          },
          {
            "order": 2,
            "instruction": "Resfriar os discos por cerca de 30 min se houver tempo para firmar."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear em calor médio-alto sem pressionar o hambúrguer."
          },
          {
            "order": 4,
            "instruction": "Virar uma vez ou conforme necessário; retirar no ponto definido para a carne moída e deixar repousar brevemente."
          }
        ],
        "source_time_reference": [
          "fonte: ~5 min por lado para hambúrguer de ~3 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa média-quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta dourada e interior cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa cebola/ovo; omitir se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "moldar disco e chapear",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2D6228D97C"
      ]
    }
  }
}
NEW-SS-BV07Kofta bovina no espeto
ver dados
{
  "id": "NEW-SS-BV07",
  "name": "Kofta bovina no espeto",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "moldar no espeto e grelhar",
  "seasoning_text": "cominho, alho e ervas",
  "seasoning_refs": [
    "T103"
  ],
  "source_ids": [
    "SRC-2F77203D66"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 148,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta bovina no espeto",
        "source_method_ids": [
          "PM-SRC-2F77203D66"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos metálicos",
          "chapa/griddle ou churrasqueira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cominho, coentro, alho, hortelã e demais temperos autorizados até distribuir; evitar compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dividir e moldar em ovais/cilindros, espetar e pincelar somente a gordura autorizada."
          },
          {
            "order": 3,
            "instruction": "Aquecer bem a chapa e cozinhar sem tentar virar antes de a superfície selar."
          },
          {
            "order": 4,
            "instruction": "A fonte usa cerca de 3–4 min por lado; ajustar à espessura da adaptação. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~3–4 min por lado"
        ],
        "source_temperature_reference": [
          "chapa/churrasqueira bem quente"
        ],
        "texture_or_doneness_endpoint": [
          "superfície selada/dourada e centro cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa cordeiro; nas versões bovinas, preservar técnica/formato, mas usar apenas a carne prevista na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "moldar no espeto e grelhar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2F77203D66"
      ]
    }
  }
}
NEW-SS-BV08Kofta bovina em mini-hambúrguer
ver dados
{
  "id": "NEW-SS-BV08",
  "name": "Kofta bovina em mini-hambúrguer",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "moldar discos pequenos e grelhar",
  "seasoning_text": "cominho e ervas",
  "seasoning_refs": [
    "T103"
  ],
  "source_ids": [
    "SRC-2F77203D66"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 148,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta bovina em mini-hambúrguer",
        "source_method_ids": [
          "PM-SRC-2F77203D66"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos metálicos",
          "chapa/griddle ou churrasqueira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cominho, coentro, alho, hortelã e demais temperos autorizados até distribuir; evitar compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dividir e moldar em ovais/cilindros, espetar e pincelar somente a gordura autorizada."
          },
          {
            "order": 3,
            "instruction": "Aquecer bem a chapa e cozinhar sem tentar virar antes de a superfície selar."
          },
          {
            "order": 4,
            "instruction": "A fonte usa cerca de 3–4 min por lado; ajustar à espessura da adaptação. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~3–4 min por lado"
        ],
        "source_temperature_reference": [
          "chapa/churrasqueira bem quente"
        ],
        "texture_or_doneness_endpoint": [
          "superfície selada/dourada e centro cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa cordeiro; nas versões bovinas, preservar técnica/formato, mas usar apenas a carne prevista na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "moldar discos pequenos e grelhar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2F77203D66"
      ]
    }
  }
}
NEW-SS-BV09Kofte marroquino seco
ver dados
{
  "id": "NEW-SS-BV09",
  "name": "Kofte marroquino seco",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "almôndegas douradas; tomate apenas em traço",
  "seasoning_text": "harissa e cominho",
  "seasoning_refs": [
    "T103"
  ],
  "source_ids": [
    "SRC-2F1142BB4F"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 42,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofte marroquino seco",
        "source_method_ids": [
          "PM-SRC-2F1142BB4F"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/churrasqueira",
          "panela para molho"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos."
          },
          {
            "order": 2,
            "instruction": "Para o molho, perfumar o alho e reduzir tomate/harissa autorizados até espessar; a fonte reduz por 15–20 min."
          },
          {
            "order": 3,
            "instruction": "Grelhar as koftas, virando para dourar por igual; a fonte usa 6–8 min no total."
          },
          {
            "order": 4,
            "instruction": "Montar com o molho autorizado e, quando previsto, iogurte zero lactose. A carne deve ser pesada crua na gramagem desta página antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: molho 15–20 min; koftas 6–8 min no grill"
        ],
        "source_temperature_reference": [
          "grill quente; molho em fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "koftas bem douradas e cozidas no centro; molho espesso"
        ],
        "adaptation_guardrails": [
          "Iogurte, pinoli, açúcar e acompanhamentos só entram se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "almôndegas douradas; tomate apenas em traço",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2F1142BB4F"
      ]
    }
  }
}
NEW-SS-BV10Carne moída cajun em bolinhos
ver dados
{
  "id": "NEW-SS-BV10",
  "name": "Carne moída cajun em bolinhos",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "bolinhos pequenos assados/air fryer",
  "seasoning_text": "cajun",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-2D6228D97C"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 108,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne moída cajun em bolinhos",
        "source_method_ids": [
          "PM-SRC-2D6228D97C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "chapa/grelha",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Moldar discos uniformes com a carne e temperos autorizados, manipulando o mínimo necessário."
          },
          {
            "order": 2,
            "instruction": "Resfriar os discos por cerca de 30 min se houver tempo para firmar."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear em calor médio-alto sem pressionar o hambúrguer."
          },
          {
            "order": 4,
            "instruction": "Virar uma vez ou conforme necessário; retirar no ponto definido para a carne moída e deixar repousar brevemente."
          }
        ],
        "source_time_reference": [
          "fonte: ~5 min por lado para hambúrguer de ~3 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa média-quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta dourada e interior cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa cebola/ovo; omitir se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bolinhos pequenos assados/air fryer",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2D6228D97C"
      ]
    }
  }
}
NEW-SS-BV11Carne moída com ervas em almôndegas
ver dados
{
  "id": "NEW-SS-BV11",
  "name": "Carne moída com ervas em almôndegas",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assadas ou douradas",
  "seasoning_text": "ervas, alho e pimenta",
  "seasoning_refs": [
    "T052"
  ],
  "source_ids": [
    "SRC-D2DB83ACE8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.2,
    "best_rating_count": 12,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne moída com ervas em almôndegas",
        "source_method_ids": [
          "PM-SRC-D2DB83ACE8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com ervas e demais ingredientes autorizados, manipulando apenas até ligar."
          },
          {
            "order": 2,
            "instruction": "Moldar almôndegas uniformes."
          },
          {
            "order": 3,
            "instruction": "Dourar em lotes, movimentando para colorir todos os lados."
          },
          {
            "order": 4,
            "instruction": "Se houver molho autorizado, terminar nele em fervura suave; na versão de lanche, concluir a cocção sem os acompanhamentos/molho da fonte."
          }
        ],
        "source_time_reference": [
          "fonte: após dourar, 15 min no molho"
        ],
        "source_temperature_reference": [
          "frigideira quente para dourar; fervura suave para finalizar"
        ],
        "texture_or_doneness_endpoint": [
          "douradas e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Salsicha, breadcrumbs, parmesão, ovo, molho e massa da fonte só entram se autorizados; aqui a fonte é usada principalmente para técnica de mistura, moldagem e dourado.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assadas ou douradas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-D2DB83ACE8"
      ]
    }
  }
}
NEW-SS-BV12Carne moída estilo burger smash
ver dados
{
  "id": "NEW-SS-BV12",
  "name": "Carne moída estilo burger smash",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "bolas pequenas prensadas na chapa",
  "seasoning_text": "sal e pimenta",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-2D6228D97C"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.0,
    "best_rating_count": 108,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING007"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING007",
          "raw_state": "Acém bovino cru, moído, pronto para cozinhar",
          "yield_factor": 0.75,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Carne moída estilo burger smash",
        "source_method_ids": [
          "PM-SRC-2D6228D97C"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "chapa/grelha",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Moldar discos uniformes com a carne e temperos autorizados, manipulando o mínimo necessário."
          },
          {
            "order": 2,
            "instruction": "Resfriar os discos por cerca de 30 min se houver tempo para firmar."
          },
          {
            "order": 3,
            "instruction": "Grelhar/chapear em calor médio-alto sem pressionar o hambúrguer."
          },
          {
            "order": 4,
            "instruction": "Virar uma vez ou conforme necessário; retirar no ponto definido para a carne moída e deixar repousar brevemente."
          }
        ],
        "source_time_reference": [
          "fonte: ~5 min por lado para hambúrguer de ~3 cm"
        ],
        "source_temperature_reference": [
          "grelha/chapa média-quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta dourada e interior cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa cebola/ovo; omitir se não estiverem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "bolas pequenas prensadas na chapa",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2D6228D97C"
      ]
    }
  }
}
NEW-SS-CV01Frango grelhado ao limão e alho
ver dados
{
  "id": "NEW-SS-CV01",
  "name": "Frango grelhado ao limão e alho",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhar em tiras",
  "seasoning_text": "limão, alho e páprica",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango grelhado ao limão e alho",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhar em tiras",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-SS-CV02Frango ao limão e tomilho
ver dados
{
  "id": "NEW-SS-CV02",
  "name": "Frango ao limão e tomilho",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelha bem quente",
  "seasoning_text": "limão, tomilho e pimenta",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango ao limão e tomilho",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelha bem quente",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-SS-CV03Frango jerk
ver dados
{
  "id": "NEW-SS-CV03",
  "name": "Frango jerk",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "marinar e grelhar",
  "seasoning_text": "jerk",
  "seasoning_refs": [
    "T101"
  ],
  "source_ids": [
    "SRC-A9091F6283"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 36,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango jerk",
        "source_method_ids": [
          "PM-SRC-A9091F6283"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou pilão",
          "assadeira",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta."
          },
          {
            "order": 2,
            "instruction": "Cobrir o frango uniformemente com a pasta."
          },
          {
            "order": 3,
            "instruction": "Assar ou grelhar até dourar e cozinhar por completo."
          }
        ],
        "source_time_reference": [
          "fonte para coxas com osso: 45–50 min"
        ],
        "source_temperature_reference": [
          "200°C / 180°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourado, aromático e cozido"
        ],
        "adaptation_guardrails": [
          "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "marinar e grelhar",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A9091F6283"
      ]
    }
  }
}
NEW-SS-CV04Frango tikka em espetos
ver dados
{
  "id": "NEW-SS-CV04",
  "name": "Frango tikka em espetos",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "espetos grelhados",
  "seasoning_text": "garam masala, alho e gengibre",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-C52DCF7F9D"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 84,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango tikka em espetos",
        "source_method_ids": [
          "PM-SRC-C52DCF7F9D"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango."
          },
          {
            "order": 2,
            "instruction": "Marinar por cerca de 1 h quando possível."
          },
          {
            "order": 3,
            "instruction": "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente."
          },
          {
            "order": 4,
            "instruction": "Retirar quando bem dourado e cozido."
          }
        ],
        "source_time_reference": [
          "fonte: 15–20 min sob grill médio; marinada opcional ~1 h"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "bordas douradas e centro cozido"
        ],
        "adaptation_guardrails": [
          "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "espetos grelhados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-C52DCF7F9D"
      ]
    }
  }
}
NEW-SS-CV05Frango curry seco
ver dados
{
  "id": "NEW-SS-CV05",
  "name": "Frango curry seco",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "cubos salteados",
  "seasoning_text": "curry, cominho e coentro",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-A400F927EE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 360,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango curry seco",
        "source_method_ids": [
          "PM-SRC-A400F927EE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira/panela larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Amaciar cebola e aromáticos; adicionar alho/gengibre e cozinhar brevemente."
          },
          {
            "order": 2,
            "instruction": "Adicionar o frango e dourar os cubos."
          },
          {
            "order": 3,
            "instruction": "Adicionar especiarias/pasta e os componentes de molho autorizados; cozinhar em fervura suave até o molho reduzir e aderir."
          },
          {
            "order": 4,
            "instruction": "Quando houver iogurte na adaptação, incorporar no final e evitar fervura forte."
          }
        ],
        "source_time_reference": [
          "fonte: cebola 8–10 min; aromáticos ~1 min; frango ~5 min antes do molho; molho 25–30 min"
        ],
        "source_temperature_reference": [
          "médio → fervura suave"
        ],
        "texture_or_doneness_endpoint": [
          "frango cozido e molho concentrado"
        ],
        "adaptation_guardrails": [
          "A versão “curry seco” pode omitir tomate/água/iogurte; nesse caso parar quando especiarias estiverem aderidas ao frango.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "cubos salteados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A400F927EE"
      ]
    }
  }
}
NEW-SS-CV06Frango souvlaki em espetos
ver dados
{
  "id": "NEW-SS-CV06",
  "name": "Frango souvlaki em espetos",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "espetos grelhados",
  "seasoning_text": "limão, orégano e alho",
  "seasoning_refs": [
    "T002"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango souvlaki em espetos",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "espetos grelhados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-SS-CV07Frango gyros em tiras
ver dados
{
  "id": "NEW-SS-CV07",
  "name": "Frango gyros em tiras",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "tiras bem douradas",
  "seasoning_text": "orégano, alho e limão",
  "seasoning_refs": [
    "T002"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango gyros em tiras",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "tiras bem douradas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-SS-CV08Almôndegas de frango com limão e manjericão
ver dados
{
  "id": "NEW-SS-CV08",
  "name": "Almôndegas de frango com limão e manjericão",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assadas",
  "seasoning_text": "limão, manjericão e alho",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-BAAEF5D467"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 4,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Almôndegas de frango com limão e manjericão",
        "source_method_ids": [
          "PM-SRC-BAAEF5D467"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira larga",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a proteína crua moída com limão, manjericão, alho e somente os ligantes/queijo que estejam autorizados."
          },
          {
            "order": 2,
            "instruction": "Moldar almôndegas uniformes; a fonte usa unidades de cerca de 35 g cruas."
          },
          {
            "order": 3,
            "instruction": "Dourar as almôndegas em fogo médio-alto, movimentando para colorir todos os lados."
          },
          {
            "order": 4,
            "instruction": "Quando houver molho de tomate autorizado, terminar o cozimento em fervura suave até o centro estar cozido; sem molho, concluir na frigideira/forno conforme a ficha."
          }
        ],
        "source_time_reference": [
          "fonte: dourar 6–8 min; depois 15 min no molho"
        ],
        "source_temperature_reference": [
          "médio-alto para dourar; fervura suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "douradas por fora e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Breadcrumbs, leite, pesto, tomate e açúcar só entram se estiverem autorizados; para nossa versão simples, preservar principalmente limão/manjericão/alho e a técnica de moldar+dourar.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assadas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-BAAEF5D467"
      ]
    }
  }
}
NEW-SS-CV09Mini hambúrguer de frango
ver dados
{
  "id": "NEW-SS-CV09",
  "name": "Mini hambúrguer de frango",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "moldado e grelhado",
  "seasoning_text": "ervas e pimenta",
  "seasoning_refs": [
    "T052"
  ],
  "source_ids": [
    "SRC-E7030B5E00"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 12,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Mini hambúrguer de frango",
        "source_method_ids": [
          "PM-SRC-E7030B5E00"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "assadeira",
          "grill/forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne de frango crua moída com alho/ervas e demais ingredientes autorizados."
          },
          {
            "order": 2,
            "instruction": "Dividir e moldar discos uniformes."
          },
          {
            "order": 3,
            "instruction": "Pincelar somente o azeite contabilizado e grelhar/assar, virando uma vez, até dourar e cozinhar no centro."
          },
          {
            "order": 4,
            "instruction": "Após a cocção, porcionar pelo peso cru indicado antes da cocção indicado na alternativa."
          }
        ],
        "source_time_reference": [
          "fonte: ~10 min sob grill, virando uma vez"
        ],
        "source_temperature_reference": [
          "grill médio"
        ],
        "texture_or_doneness_endpoint": [
          "discos firmes, dourados e cozidos no centro"
        ],
        "adaptation_guardrails": [
          "Grão-de-bico, batata-doce, bagel, maionese e acompanhamentos da fonte são omitidos na versão de lanche.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "moldado e grelhado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-E7030B5E00"
      ]
    }
  }
}
NEW-SS-CV10Kofta de frango
ver dados
{
  "id": "NEW-SS-CV10",
  "name": "Kofta de frango",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "moldada e grelhada",
  "seasoning_text": "cominho, coentro e alho",
  "seasoning_refs": [
    "T103"
  ],
  "source_ids": [
    "SRC-DB4B66F04A"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 9,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta de frango",
        "source_method_ids": [
          "PM-SRC-DB4B66F04A"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira antiaderente ou churrasqueira",
          "espátula/espetos"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango cru moído com ovo/aveia apenas se autorizados e com orégano, limão, cominho, coentro e ervas previstas."
          },
          {
            "order": 2,
            "instruction": "Moldar koftas/bolas uniformes."
          },
          {
            "order": 3,
            "instruction": "Cozinhar em frigideira antiaderente com o azeite contabilizado, dourando dos dois lados; alternativamente finalizar em churrasqueira conforme a técnica da fonte."
          },
          {
            "order": 4,
            "instruction": "Depois de cozidas, pesar a porção final de proteína conforme a alternativa."
          }
        ],
        "source_time_reference": [
          "fonte: frigideira ~5 min por lado; churrasqueira ~4 min por lado após firmar"
        ],
        "source_temperature_reference": [
          "fogo médio / churrasqueira quente"
        ],
        "texture_or_doneness_endpoint": [
          "bem douradas e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Hummus, salada, aveia e ovo só entram se autorizados; a nossa versão preserva formato e perfil de especiarias.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "moldada e grelhada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-DB4B66F04A"
      ]
    }
  }
}
NEW-SS-CV11Frango em cubos na air fryer com páprica
ver dados
{
  "id": "NEW-SS-CV11",
  "name": "Frango em cubos na air fryer com páprica",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "air fryer até bordas douradas",
  "seasoning_text": "páprica e alho",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango em cubos na air fryer com páprica",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "air fryer até bordas douradas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-SS-CV12Frango grelhado com za’atar
ver dados
{
  "id": "NEW-SS-CV12",
  "name": "Frango grelhado com za’atar",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelha/chapado",
  "seasoning_text": "za’atar e limão",
  "seasoning_refs": [
    "T102"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango grelhado com za’atar",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelha/chapado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-SS-CV13Frango com harissa seca
ver dados
{
  "id": "NEW-SS-CV13",
  "name": "Frango com harissa seca",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assado/air fryer",
  "seasoning_text": "harissa e limão",
  "seasoning_refs": [
    "T103"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango com harissa seca",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assado/air fryer",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-SS-CV14Frango com mostarda e ervas
ver dados
{
  "id": "NEW-SS-CV14",
  "name": "Frango com mostarda e ervas",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhado; mostarda em camada fina",
  "seasoning_text": "mostarda e ervas",
  "seasoning_refs": [
    "T004"
  ],
  "source_ids": [
    "SRC-08D66807B8"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.8,
    "best_rating_count": 18,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING006"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Frango com mostarda e ervas",
        "source_method_ids": [
          "PM-SRC-08D66807B8"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela não metálica",
          "grelha/chapa ou grill",
          "espetos opcionais"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada."
          },
          {
            "order": 2,
            "instruction": "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro."
          },
          {
            "order": 3,
            "instruction": "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada."
          },
          {
            "order": 4,
            "instruction": "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
          }
        ],
        "source_time_reference": [
          "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h"
        ],
        "source_temperature_reference": [
          "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido"
        ],
        "texture_or_doneness_endpoint": [
          "bem dourado por fora e cozido por completo"
        ],
        "adaptation_guardrails": [
          "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
          "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhado; mostarda em camada fina",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-08D66807B8"
      ]
    }
  }
}
NEW-SS-FV01Tilápia com alho e páprica
ver dados
{
  "id": "NEW-SS-FV01",
  "name": "Tilápia com alho e páprica",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhada/assada",
  "seasoning_text": "alho, páprica e limão",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia com alho e páprica",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhada/assada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-FV02Tilápia ao limão e ervas
ver dados
{
  "id": "NEW-SS-FV02",
  "name": "Tilápia ao limão e ervas",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhada",
  "seasoning_text": "limão e ervas",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao limão e ervas",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-FV03Tilápia ao parmesão
ver dados
{
  "id": "NEW-SS-FV03",
  "name": "Tilápia ao parmesão",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "air fryer/forno com camada fina de parmesão",
  "seasoning_text": "parmesão e pimenta",
  "seasoning_refs": [
    "T017"
  ],
  "source_ids": [
    "SRC-62670668F4"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 10279,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao parmesão",
        "source_method_ids": [
          "PM-SRC-62670668F4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "assadeira rasa",
          "grill/broiler ou air fryer",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar/temperar os filés e dispor em camada única."
          },
          {
            "order": 2,
            "instruction": "Pré-cozinhar sob grill forte, virando na metade quando a espessura permitir."
          },
          {
            "order": 3,
            "instruction": "Aplicar uma camada fina da cobertura de parmesão adaptada."
          },
          {
            "order": 4,
            "instruction": "Voltar ao grill/air fryer apenas até dourar a cobertura e o peixe lascar."
          }
        ],
        "source_time_reference": [
          "fonte: ~4 min de grill inicial (virando na metade) + ~2 min após a cobertura"
        ],
        "source_temperature_reference": [
          "broiler/grill alto, filé próximo da fonte de calor"
        ],
        "texture_or_doneness_endpoint": [
          "parmesão dourado; peixe lascando"
        ],
        "adaptation_guardrails": [
          "A fonte usa maionese e manteiga; nossa adaptação não deve adicioná-las salvo se explicitamente contabilizadas.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "air fryer/forno com camada fina de parmesão",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-62670668F4"
      ]
    }
  }
}
NEW-SS-FV04Tilápia cajun
ver dados
{
  "id": "NEW-SS-FV04",
  "name": "Tilápia cajun",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhada com rub seco",
  "seasoning_text": "cajun",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia cajun",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhada com rub seco",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-FV05Tilápia com za’atar e limão
ver dados
{
  "id": "NEW-SS-FV05",
  "name": "Tilápia com za’atar e limão",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assada",
  "seasoning_text": "za’atar e limão",
  "seasoning_refs": [
    "T102"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia com za’atar e limão",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-FV06Tilápia ao curry seco
ver dados
{
  "id": "NEW-SS-FV06",
  "name": "Tilápia ao curry seco",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "frigideira; especiarias aderentes",
  "seasoning_text": "curry e coentro",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao curry seco",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "frigideira; especiarias aderentes",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-FV07Tilápia com harissa
ver dados
{
  "id": "NEW-SS-FV07",
  "name": "Tilápia com harissa",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "forno/air fryer",
  "seasoning_text": "harissa e limão",
  "seasoning_refs": [
    "T103"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia com harissa",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "forno/air fryer",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-FV08Tilápia ao miso
ver dados
{
  "id": "NEW-SS-FV08",
  "name": "Tilápia ao miso",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "forno; camada fina de miso",
  "seasoning_text": "miso e gengibre",
  "seasoning_refs": [
    "T012"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao miso",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "forno; camada fina de miso",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-FV09Tilápia ao dill e limão
ver dados
{
  "id": "NEW-SS-FV09",
  "name": "Tilápia ao dill e limão",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhada",
  "seasoning_text": "dill e limão",
  "seasoning_refs": [
    "T089"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia ao dill e limão",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-FV10Tilápia com chimichurri
ver dados
{
  "id": "NEW-SS-FV10",
  "name": "Tilápia com chimichurri",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhada; chimichurri aplicado ao final",
  "seasoning_text": "chimichurri",
  "seasoning_refs": [
    "T032"
  ],
  "source_ids": [
    "SRC-86C8B417AE"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.7,
    "best_rating_count": 860,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING010"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING010",
          "raw_state": "Filé de tilápia cru, sem pele, pronto para cozinhar",
          "yield_factor": 0.7,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Tilápia com chimichurri",
        "source_method_ids": [
          "PM-SRC-86C8B417AE"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira antiaderente ou pesada",
          "espátula de peixe",
          "papel-toalha"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Secar muito bem os filés e temperar os dois lados."
          },
          {
            "order": 2,
            "instruction": "Aquecer o azeite previsto em fogo médio-alto."
          },
          {
            "order": 3,
            "instruction": "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado."
          },
          {
            "order": 4,
            "instruction": "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 4 min por lado"
        ],
        "source_temperature_reference": [
          "médio-alto"
        ],
        "texture_or_doneness_endpoint": [
          "opaco, úmido e lascando facilmente"
        ],
        "adaptation_guardrails": [
          "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhada; chimichurri aplicado ao final",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-86C8B417AE"
      ]
    }
  }
}
NEW-SS-PV01Lombo suíno com limão, alho e alecrim
ver dados
{
  "id": "NEW-SS-PV01",
  "name": "Lombo suíno com limão, alho e alecrim",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "medalhões grelhados",
  "seasoning_text": "limão, alho e alecrim",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-14024CE8FA"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 26,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno com limão, alho e alecrim",
        "source_method_ids": [
          "PM-SRC-14024CE8FA"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira antiaderente",
          "pegador"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar azeite contabilizado, alecrim, alho, suco/raspas de limão e temperos; envolver os medalhões/fatias de porco."
          },
          {
            "order": 2,
            "instruction": "Marinar sob refrigeração por cerca de 30 min quando houver tempo."
          },
          {
            "order": 3,
            "instruction": "Aquecer bem a frigideira antiaderente, retirar excesso superficial de marinada e cozinhar a carne dos dois lados."
          },
          {
            "order": 4,
            "instruction": "Retirar ao atingir o ponto de cocção e deixar repousar antes de porcionar pelo peso cru indicado antes da cocção."
          }
        ],
        "source_time_reference": [
          "fonte: 3–4 min de cada lado para pork steaks; marinada opcional ~30 min"
        ],
        "source_temperature_reference": [
          "frigideira bem quente"
        ],
        "texture_or_doneness_endpoint": [
          "dourado por fora e cozido; repousado antes de pesar/porcionar"
        ],
        "adaptation_guardrails": [
          "Grão-de-bico, cebola e salada da fonte não entram na receita de lombo; o tempo depende da espessura do corte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "medalhões grelhados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-14024CE8FA"
      ]
    }
  }
}
NEW-SS-PV02Lombo suíno com mostarda e ervas
ver dados
{
  "id": "NEW-SS-PV02",
  "name": "Lombo suíno com mostarda e ervas",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "medalhões grelhados",
  "seasoning_text": "mostarda e ervas",
  "seasoning_refs": [
    "T004"
  ],
  "source_ids": [
    "SRC-2227CA24C9"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 47,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno com mostarda e ervas",
        "source_method_ids": [
          "PM-SRC-2227CA24C9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula ou pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar os cogumelos em lotes até a água liberada evaporar e reservar."
          },
          {
            "order": 2,
            "instruction": "Selar o lombo em pedaços/tiras na gordura contabilizada; a fonte usa 5–8 min para cubos de 1 cm, mas a adaptação deve seguir o tamanho real do corte."
          },
          {
            "order": 3,
            "instruction": "Cozinhar a cebola/aromáticos autorizados em fogo baixo-médio até amaciar e começar a caramelizar; na fonte, cerca de 10–12 min."
          },
          {
            "order": 4,
            "instruction": "Reunir carne e cogumelos, adicionar páprica, mostarda e somente o líquido autorizado, raspando o fundo da panela."
          },
          {
            "order": 5,
            "instruction": "Incorporar o iogurte/lácteo zero lactose previsto no final, em calor suave, apenas até aquecer e homogeneizar."
          }
        ],
        "source_time_reference": [
          "fonte: porco 5–8 min; cebola 10–12 min; lácteo final ~2 min"
        ],
        "source_temperature_reference": [
          "médio para cogumelos/carne; baixo-médio para cebola; suave após o lácteo"
        ],
        "texture_or_doneness_endpoint": [
          "carne cozida sem ressecar, cogumelos dourados e molho cremoso sem separar"
        ],
        "adaptation_guardrails": [
          "Usar iogurte/lácteo zero lactose apenas se estiver na porção. Não ferver vigorosamente após incorporá-lo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "medalhões grelhados",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2227CA24C9"
      ]
    }
  }
}
NEW-SS-PV03Lombo suíno cajun
ver dados
{
  "id": "NEW-SS-PV03",
  "name": "Lombo suíno cajun",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhado/air fryer",
  "seasoning_text": "cajun",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-2227CA24C9"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 47,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno cajun",
        "source_method_ids": [
          "PM-SRC-2227CA24C9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula ou pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar os cogumelos em lotes até a água liberada evaporar e reservar."
          },
          {
            "order": 2,
            "instruction": "Selar o lombo em pedaços/tiras na gordura contabilizada; a fonte usa 5–8 min para cubos de 1 cm, mas a adaptação deve seguir o tamanho real do corte."
          },
          {
            "order": 3,
            "instruction": "Cozinhar a cebola/aromáticos autorizados em fogo baixo-médio até amaciar e começar a caramelizar; na fonte, cerca de 10–12 min."
          },
          {
            "order": 4,
            "instruction": "Reunir carne e cogumelos, adicionar páprica, mostarda e somente o líquido autorizado, raspando o fundo da panela."
          },
          {
            "order": 5,
            "instruction": "Incorporar o iogurte/lácteo zero lactose previsto no final, em calor suave, apenas até aquecer e homogeneizar."
          }
        ],
        "source_time_reference": [
          "fonte: porco 5–8 min; cebola 10–12 min; lácteo final ~2 min"
        ],
        "source_temperature_reference": [
          "médio para cogumelos/carne; baixo-médio para cebola; suave após o lácteo"
        ],
        "texture_or_doneness_endpoint": [
          "carne cozida sem ressecar, cogumelos dourados e molho cremoso sem separar"
        ],
        "adaptation_guardrails": [
          "Usar iogurte/lácteo zero lactose apenas se estiver na porção. Não ferver vigorosamente após incorporá-lo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhado/air fryer",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2227CA24C9"
      ]
    }
  }
}
NEW-SS-PV04Lombo suíno ao za’atar
ver dados
{
  "id": "NEW-SS-PV04",
  "name": "Lombo suíno ao za’atar",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assado/grelhado",
  "seasoning_text": "za’atar e limão",
  "seasoning_refs": [
    "T102"
  ],
  "source_ids": [
    "SRC-2227CA24C9"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 47,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno ao za’atar",
        "source_method_ids": [
          "PM-SRC-2227CA24C9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula ou pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar os cogumelos em lotes até a água liberada evaporar e reservar."
          },
          {
            "order": 2,
            "instruction": "Selar o lombo em pedaços/tiras na gordura contabilizada; a fonte usa 5–8 min para cubos de 1 cm, mas a adaptação deve seguir o tamanho real do corte."
          },
          {
            "order": 3,
            "instruction": "Cozinhar a cebola/aromáticos autorizados em fogo baixo-médio até amaciar e começar a caramelizar; na fonte, cerca de 10–12 min."
          },
          {
            "order": 4,
            "instruction": "Reunir carne e cogumelos, adicionar páprica, mostarda e somente o líquido autorizado, raspando o fundo da panela."
          },
          {
            "order": 5,
            "instruction": "Incorporar o iogurte/lácteo zero lactose previsto no final, em calor suave, apenas até aquecer e homogeneizar."
          }
        ],
        "source_time_reference": [
          "fonte: porco 5–8 min; cebola 10–12 min; lácteo final ~2 min"
        ],
        "source_temperature_reference": [
          "médio para cogumelos/carne; baixo-médio para cebola; suave após o lácteo"
        ],
        "texture_or_doneness_endpoint": [
          "carne cozida sem ressecar, cogumelos dourados e molho cremoso sem separar"
        ],
        "adaptation_guardrails": [
          "Usar iogurte/lácteo zero lactose apenas se estiver na porção. Não ferver vigorosamente após incorporá-lo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assado/grelhado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2227CA24C9"
      ]
    }
  }
}
NEW-SS-PV05Almôndegas suínas com limão e erva-doce
ver dados
{
  "id": "NEW-SS-PV05",
  "name": "Almôndegas suínas com limão e erva-doce",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assadas/douradas",
  "seasoning_text": "limão, erva-doce e pimenta",
  "seasoning_refs": [
    "T021"
  ],
  "source_ids": [
    "SRC-001A054ACD"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 3.9,
    "best_rating_count": 19,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Almôndegas suínas com limão e erva-doce",
        "source_method_ids": [
          "PM-SRC-001A054ACD"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "frigideira com tampa",
          "espátula"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar carne suína crua moída, raspas de limão, sementes de erva-doce e temperos autorizados."
          },
          {
            "order": 2,
            "instruction": "Moldar em bolas uniformes."
          },
          {
            "order": 3,
            "instruction": "Dourar em fogo médio até formar cor em toda a superfície."
          },
          {
            "order": 4,
            "instruction": "Quando houver molho autorizado, terminar nele em fervura suave; na versão sem molho, concluir a cocção na frigideira/forno sem acrescentar ingredientes da fonte."
          }
        ],
        "source_time_reference": [
          "fonte: dourar ~5 min; depois ~10 min no molho (mais 5 min com kale na receita original)"
        ],
        "source_temperature_reference": [
          "fogo médio; fervura suave no molho"
        ],
        "texture_or_doneness_endpoint": [
          "douradas e cozidas no centro"
        ],
        "adaptation_guardrails": [
          "Tomate, kale, pinoli e acompanhamentos da fonte são omitidos na versão de lanche.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assadas/douradas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-001A054ACD"
      ]
    }
  }
}
NEW-SS-PV06Kofta suína mexicana adaptada
ver dados
{
  "id": "NEW-SS-PV06",
  "name": "Kofta suína mexicana adaptada",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "moldada e grelhada",
  "seasoning_text": "cominho, páprica e chilli",
  "seasoning_refs": [
    "T098"
  ],
  "source_ids": [
    "SRC-2F77203D66"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 148,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Kofta suína mexicana adaptada",
        "source_method_ids": [
          "PM-SRC-2F77203D66"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "espetos metálicos",
          "chapa/griddle ou churrasqueira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar a carne crua moída com cominho, coentro, alho, hortelã e demais temperos autorizados até distribuir; evitar compactar excessivamente."
          },
          {
            "order": 2,
            "instruction": "Dividir e moldar em ovais/cilindros, espetar e pincelar somente a gordura autorizada."
          },
          {
            "order": 3,
            "instruction": "Aquecer bem a chapa e cozinhar sem tentar virar antes de a superfície selar."
          },
          {
            "order": 4,
            "instruction": "A fonte usa cerca de 3–4 min por lado; ajustar à espessura da adaptação. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
          }
        ],
        "source_time_reference": [
          "fonte: ~3–4 min por lado"
        ],
        "source_temperature_reference": [
          "chapa/churrasqueira bem quente"
        ],
        "texture_or_doneness_endpoint": [
          "superfície selada/dourada e centro cozido"
        ],
        "adaptation_guardrails": [
          "A fonte usa cordeiro; nas versões bovinas, preservar técnica/formato, mas usar apenas a carne prevista na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "moldada e grelhada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2F77203D66"
      ]
    }
  }
}
NEW-SS-PV07Lombo suíno com miso
ver dados
{
  "id": "NEW-SS-PV07",
  "name": "Lombo suíno com miso",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "marinado e grelhado",
  "seasoning_text": "miso e gengibre",
  "seasoning_refs": [
    "T012"
  ],
  "source_ids": [
    "SRC-58CC1ECA0E"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 30,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno com miso",
        "source_method_ids": [
          "PM-SRC-58CC1ECA0E"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "saco ou recipiente para marinar",
          "frigideira pesada, chapa ou churrasqueira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Misturar o miso e aromáticos autorizados e cobrir uniformemente o bife."
          },
          {
            "order": 2,
            "instruction": "Marinar refrigerado; a fonte usa no mínimo 1 h e permite até 2 dias."
          },
          {
            "order": 3,
            "instruction": "Antes de selar, retirar o excesso de marinada superficial para reduzir queima."
          },
          {
            "order": 4,
            "instruction": "Aquecer muito bem a chapa/frigideira/churrasqueira e selar dos dois lados. A fonte usa cerca de 3 min por lado para malpassado ao ponto em bife semelhante."
          },
          {
            "order": 5,
            "instruction": "Descansar antes de fatiar contra a fibra."
          }
        ],
        "source_time_reference": [
          "fonte: marinada ≥1 h (até 2 dias); ~3 min por lado para medium-rare; descanso ~1 min"
        ],
        "source_temperature_reference": [
          "superfície muito quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta bem selada e ponto interno desejado"
        ],
        "adaptation_guardrails": [
          "Não usar açúcar, saquê/xerez ou acompanhamentos da fonte se não estiverem autorizados. Tempo de chapa depende da espessura e do corte real.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "marinado e grelhado",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-58CC1ECA0E"
      ]
    }
  }
}
NEW-SS-PV08Lombo suíno com chimichurri
ver dados
{
  "id": "NEW-SS-PV08",
  "name": "Lombo suíno com chimichurri",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "grelhado; chimichurri no final",
  "seasoning_text": "chimichurri",
  "seasoning_refs": [
    "T032"
  ],
  "source_ids": [
    "SRC-AEF5B9DDD4"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 27,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno com chimichurri",
        "source_method_ids": [
          "PM-SRC-AEF5B9DDD4"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "processador ou faca",
          "tigela",
          "chapa ou frigideira",
          "pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Picar/processar ervas, alho e aromáticos autorizados do chimichurri e combinar com o ácido e a gordura contabilizada até virar molho rústico."
          },
          {
            "order": 2,
            "instruction": "Secar/temperar o bife e esfregar somente a gordura autorizada na superfície."
          },
          {
            "order": 3,
            "instruction": "Selar em chapa/frigideira quente; a fonte usa 2–3 min por lado para bifes de 125 g, mas o tempo deve seguir espessura e ponto."
          },
          {
            "order": 4,
            "instruction": "Descansar alguns minutos antes de fatiar e só então aplicar o chimichurri."
          }
        ],
        "source_time_reference": [
          "fonte: 2–3 min por lado; descanso de alguns minutos"
        ],
        "source_temperature_reference": [
          "chapa/frigideira quente"
        ],
        "texture_or_doneness_endpoint": [
          "crosta externa, ponto interno desejado e sucos redistribuídos após descanso"
        ],
        "adaptation_guardrails": [
          "Batata/fritas e salada da fonte não são parte automática da adaptação.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "grelhado; chimichurri no final",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-AEF5B9DDD4"
      ]
    }
  }
}
NEW-SS-PV09Lombo suíno com pimenta e alho
ver dados
{
  "id": "NEW-SS-PV09",
  "name": "Lombo suíno com pimenta e alho",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "chapado em tiras",
  "seasoning_text": "pimenta e alho",
  "seasoning_refs": [
    "T088"
  ],
  "source_ids": [
    "SRC-2227CA24C9"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 47,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING009"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING009",
          "raw_state": "Lombo suíno cru, sem osso e com gordura aparente removida, pronto para cozinhar",
          "yield_factor": 0.64,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "high",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Lombo suíno com pimenta e alho",
        "source_method_ids": [
          "PM-SRC-2227CA24C9"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "frigideira larga",
          "espátula ou pinça"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Dourar os cogumelos em lotes até a água liberada evaporar e reservar."
          },
          {
            "order": 2,
            "instruction": "Selar o lombo em pedaços/tiras na gordura contabilizada; a fonte usa 5–8 min para cubos de 1 cm, mas a adaptação deve seguir o tamanho real do corte."
          },
          {
            "order": 3,
            "instruction": "Cozinhar a cebola/aromáticos autorizados em fogo baixo-médio até amaciar e começar a caramelizar; na fonte, cerca de 10–12 min."
          },
          {
            "order": 4,
            "instruction": "Reunir carne e cogumelos, adicionar páprica, mostarda e somente o líquido autorizado, raspando o fundo da panela."
          },
          {
            "order": 5,
            "instruction": "Incorporar o iogurte/lácteo zero lactose previsto no final, em calor suave, apenas até aquecer e homogeneizar."
          }
        ],
        "source_time_reference": [
          "fonte: porco 5–8 min; cebola 10–12 min; lácteo final ~2 min"
        ],
        "source_temperature_reference": [
          "médio para cogumelos/carne; baixo-médio para cebola; suave após o lácteo"
        ],
        "texture_or_doneness_endpoint": [
          "carne cozida sem ressecar, cogumelos dourados e molho cremoso sem separar"
        ],
        "adaptation_guardrails": [
          "Usar iogurte/lácteo zero lactose apenas se estiver na porção. Não ferver vigorosamente após incorporá-lo.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "chapado em tiras",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-2227CA24C9"
      ]
    }
  }
}
NEW-SS-EV01Omelette roll-up proteico
ver dados
{
  "id": "NEW-SS-EV01",
  "name": "Omelette roll-up proteico",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "omelete fina enrolada",
  "seasoning_text": "sal, pimenta e ervas",
  "seasoning_refs": [
    "T052"
  ],
  "source_ids": [
    "SRC-0FB2713DE2"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.5,
    "best_rating_count": 25,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelette roll-up proteico",
        "source_method_ids": [
          "PM-SRC-0FB2713DE2"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela",
          "garfo/batedor",
          "frigideira média antiaderente",
          "tábua"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater o ovo com pequena quantidade de água somente se compatível com a porção."
          },
          {
            "order": 2,
            "instruction": "Aquecer a frigideira antiaderente com apenas a gordura prevista."
          },
          {
            "order": 3,
            "instruction": "Adicionar o ovo e girar para cobrir a base como uma panqueca; cozinhar até firmar, sem necessidade de virar."
          },
          {
            "order": 4,
            "instruction": "Deslizar para uma tábua, adicionar apenas o recheio/molho autorizado e enrolar ainda flexível."
          }
        ],
        "source_time_reference": [
          "fonte: ~10 min de cocção total da receita; lâmina de ovo cozinha em poucos minutos"
        ],
        "source_temperature_reference": [
          "fogo moderado"
        ],
        "texture_or_doneness_endpoint": [
          "lâmina fina de omelete totalmente firme, mas flexível para enrolar"
        ],
        "adaptation_guardrails": [
          "Salsa e coentro da fonte só entram se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "omelete fina enrolada",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-0FB2713DE2"
      ]
    }
  }
}
NEW-SS-EV02Egg bites proteicos
ver dados
{
  "id": "NEW-SS-EV02",
  "name": "Egg bites proteicos",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assados em moldes",
  "seasoning_text": "sal, pimenta e ervas",
  "seasoning_refs": [
    "T052"
  ],
  "source_ids": [
    "SRC-7C7CF77559"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 0,
    "best_rating": null,
    "best_rating_count": null,
    "rating_status": "no_numeric_rating_on_referenced_source"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Egg bites proteicos",
        "source_method_ids": [
          "PM-SRC-7C7CF77559"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "liquidificador",
          "forma de muffin/silicone",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Bater ovos/claras com o queijo e temperos efetivamente previstos até a mistura ficar homogênea."
          },
          {
            "order": 2,
            "instruction": "Distribuir qualquer recheio já cozido autorizado nas cavidades e completar com a mistura de ovos."
          },
          {
            "order": 3,
            "instruction": "Assar até os bites inflarem e o centro firmar; deixar repousar brevemente antes de desenformar."
          }
        ],
        "source_time_reference": [
          "fonte: cerca de 25 min"
        ],
        "source_temperature_reference": [
          "350°F / ~177°C"
        ],
        "texture_or_doneness_endpoint": [
          "inflados e firmes no centro"
        ],
        "adaptation_guardrails": [
          "A fonte usa cottage cheese, cheddar e sausage; substituir/omitir conforme a porção. Frango, quando presente na nossa versão, entra já cozido como recheio.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assados em moldes",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-7C7CF77559"
      ]
    }
  }
}
NEW-SS-EV03Omelete na air fryer proteico
ver dados
{
  "id": "NEW-SS-EV03",
  "name": "Omelete na air fryer proteico",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "air fryer em ramequim",
  "seasoning_text": "sal e pimenta",
  "seasoning_refs": [
    "T052"
  ],
  "source_ids": [
    "SRC-A07C37A0EF"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 5.0,
    "best_rating_count": 7,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Omelete na air fryer proteico",
        "source_method_ids": [
          "PM-SRC-A07C37A0EF"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "air fryer",
          "recipiente baixo antiaderente resistente ao calor",
          "batedor"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-aquecer a air fryer com o recipiente dentro."
          },
          {
            "order": 2,
            "instruction": "Bater ovos e misturar somente os recheios autorizados."
          },
          {
            "order": 3,
            "instruction": "Adicionar a gordura prevista ao recipiente, despejar a mistura e cozinhar até inflar e dourar."
          }
        ],
        "source_time_reference": [
          "8–10 min"
        ],
        "source_temperature_reference": [
          "180°C"
        ],
        "texture_or_doneness_endpoint": [
          "inflada, dourada e recém-firme"
        ],
        "adaptation_guardrails": [
          "A quantidade de gordura é a da porção, não a da receita-fonte.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "air fryer em ramequim",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-A07C37A0EF"
      ]
    }
  }
}
NEW-SS-EV04Quiche sem massa proteica
ver dados
{
  "id": "NEW-SS-EV04",
  "name": "Quiche sem massa proteica",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assada em porção individual",
  "seasoning_text": "noz-moscada, sal e pimenta",
  "seasoning_refs": [
    "T052"
  ],
  "source_ids": [
    "SRC-73EC562C77"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.6,
    "best_rating_count": 49,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Quiche sem massa proteica",
        "source_method_ids": [
          "PM-SRC-73EC562C77"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "forma/ramequim",
          "frigideira",
          "batedor",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Pré-cozinhar recheios úmidos para retirar excesso de água."
          },
          {
            "order": 2,
            "instruction": "Bater ovos com os lácteos/queijo que realmente constem na adaptação e temperar."
          },
          {
            "order": 3,
            "instruction": "Combinar recheio e ovos, colocar na forma e finalizar com o queijo autorizado."
          },
          {
            "order": 4,
            "instruction": "Assar até dourar, mantendo apenas leve tremor central antes do descanso."
          }
        ],
        "source_time_reference": [
          "25–30 min de forno após o pré-preparo"
        ],
        "source_temperature_reference": [
          "180°C / 160°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "dourada com leve tremor central que termina de firmar no descanso"
        ],
        "adaptation_guardrails": [
          "A fonte usa creme/pancetta; omitir quando não constarem na porção.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assada em porção individual",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-73EC562C77"
      ]
    }
  }
}
NEW-SS-EV05Muffins de omelete proteicos
ver dados
{
  "id": "NEW-SS-EV05",
  "name": "Muffins de omelete proteicos",
  "category": "afternoon_snack_savory",
  "origin": "generated_v3",
  "method_overview": "assados em forminhas",
  "seasoning_text": "garam masala suave ou ervas",
  "seasoning_refs": [
    "T099"
  ],
  "source_ids": [
    "SRC-55FF831328"
  ],
  "adaptation_notes": "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos. Óleo culinário é medido e contabilizado. Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas.",
  "trace_ingredients": [],
  "source_quality": {
    "has_source": true,
    "source_count": 1,
    "rated_source_count": 1,
    "best_rating": 4.3,
    "best_rating_count": 14,
    "rating_status": "rated_source_available"
  },
  "preparation": {
    "version": "1.1",
    "detail_level": "operational_source_grounded",
    "portioning_note": "Usar as gramagens exatas de cada recipe_use.portion da alternativa escolhida. Os passos descrevem técnica e ordem; não substituem as gramagens da alternativa. Quando a técnica começa com proteína crua mas o ingrediente nutricional está definido como cozido, preparar em lote e pesar a porção crua antes da cocção.",
    "ingredient_authority": "Ingredientes autorizados = recipe_use.portion.ingredients + seasoning_text/seasoning_refs + trace_ingredients. Ingredientes presentes apenas na fonte original NÃO são autorizados automaticamente.",
    "weight_basis": {
      "primary_measurement_rule": "Todas as gramagens operacionais de ingredientes que sofrem cocção são dadas no estado cru/pronto para cozinhar. Itens sem conversão são pesados como comprados/prontos para uso.",
      "raw_weight_ingredient_ids": [
        "ING001",
        "ING006",
        "ING031"
      ],
      "as_purchased_weight_ingredient_ids": [
        "ING004",
        "ING028"
      ],
      "cooked_weight_ingredient_ids": [],
      "raw_yield_notes": [
        {
          "ingredient_id": "ING006",
          "raw_state": "Peito de frango cru, sem pele e sem osso, pronto para cozinhar",
          "yield_factor": 0.73,
          "yield_source_id": "SRC-YIELD-USDA-MEAT",
          "quality": "medium_high_proxy",
          "instruction": "Pesar a gramagem crua indicada na página da refeição antes de cozinhar. O fator de rendimento serve apenas para manter equivalência com a base nutricional histórica; não é necessário pesar novamente depois de pronto."
        }
      ]
    },
    "components": [
      {
        "name": "Muffins de omelete proteicos",
        "source_method_ids": [
          "PM-SRC-55FF831328"
        ],
        "grounding_level": "direct_source_method",
        "equipment": [
          "tigela/jarra",
          "batedor",
          "ramequins/formas",
          "forno"
        ],
        "steps": [
          {
            "order": 1,
            "instruction": "Preparar os vegetais/aromáticos autorizados e remover excesso de água quando necessário."
          },
          {
            "order": 2,
            "instruction": "Bater ovos com especiarias e demais recheios autorizados."
          },
          {
            "order": 3,
            "instruction": "Distribuir nos ramequins/formas, sem adicionar ingredientes ausentes da adaptação."
          },
          {
            "order": 4,
            "instruction": "Assar até crescer e firmar; a fonte usa 220°C/200°C ventilado por 20–25 min."
          }
        ],
        "source_time_reference": [
          "fonte: 20–25 min"
        ],
        "source_temperature_reference": [
          "220°C / 200°C ventilado"
        ],
        "texture_or_doneness_endpoint": [
          "muffins inflados e firmes no centro"
        ],
        "adaptation_guardrails": [
          "A fonte contém courgette/abobrinha; ela é proibida nesta adaptação. Feta/ervilhas entram somente se autorizados.",
          "Não adicionar ingredientes da receita-fonte que não estejam na porção da alternativa, em seasoning_text/seasoning_refs ou em trace_ingredients."
        ]
      }
    ],
    "assembly_and_storage_notes": [],
    "adaptation_application": [
      "Porção reescalada ao alvo do lanche; molhos açucarados, pães e acompanhamentos amiláceos foram omitidos.",
      "Óleo culinário é medido e contabilizado.",
      "Quando a referência principal funciona como técnica-base (por exemplo, grelhar tilápia ou frango), o perfil de sabor específico também é sustentado pelos seasoning_refs; isso não representa um cruzamento cartesiano, pois apenas combinações culinariamente compatíveis foram curadas."
    ],
    "original_method_overview": "assados em forminhas",
    "source_method_coverage": {
      "total_sources": 1,
      "direct_method_sources": 1,
      "source_family_or_overview_sources": 0,
      "existing_overview_only_sources": 0,
      "all_source_method_ids": [
        "PM-SRC-55FF831328"
      ]
    }
  }
}

Biblioteca de métodos (117)

IDNomeDados
PM-SRC-001A054ACDPM-SRC-001A054ACD
ver dados
{
  "id": "PM-SRC-001A054ACD",
  "source_id": "SRC-001A054ACD",
  "source_title": "Lemon & fennel pork meatballs",
  "source_url": "https://www.bbcgoodfood.com/recipes/lemon-fennel-pork-meatballs",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "frigideira com tampa",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Misturar carne suína crua moída, raspas de limão, sementes de erva-doce e temperos autorizados.",
    "Moldar em bolas uniformes.",
    "Dourar em fogo médio até formar cor em toda a superfície.",
    "Quando houver molho autorizado, terminar nele em fervura suave; na versão sem molho, concluir a cocção na frigideira/forno sem acrescentar ingredientes da fonte."
  ],
  "source_time_reference": "fonte: dourar ~5 min; depois ~10 min no molho (mais 5 min com kale na receita original)",
  "source_temperature_reference": "fogo médio; fervura suave no molho",
  "source_endpoint_reference": "douradas e cozidas no centro",
  "adaptation_guardrails": [
    "Tomate, kale, pinoli e acompanhamentos da fonte são omitidos na versão de lanche."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-025FA125E0PM-SRC-025FA125E0
ver dados
{
  "id": "PM-SRC-025FA125E0",
  "source_id": "SRC-025FA125E0",
  "source_title": "Lemon & five-spice chicken — 4.4/5 (13)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/lemon-chicken-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "saco/tigela de marinada",
    "grelha ou barbecue"
  ],
  "source_method_paraphrase": [
    "Misturar limão, gengibre, alho, five-spice e demais temperos autorizados; envolver o frango.",
    "Marinar por pelo menos 10 min; a fonte permite até 24 h.",
    "Retirar excesso de marinada e grelhar, virando ocasionalmente, até escurecer/dourar e cozinhar por completo."
  ],
  "source_time_reference": "fonte: ~20 min para coxas; marinada 10 min–24 h",
  "source_temperature_reference": "grill alto/BBQ; controlar para não queimar",
  "source_endpoint_reference": "escuro/dourado por fora e cozido",
  "adaptation_guardrails": [
    "Açúcar, sherry e molho de soja só entram se estiverem autorizados; para peito, reduzir tempo conforme espessura."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-02A27AA42EPM-SRC-02A27AA42E
ver dados
{
  "id": "PM-SRC-02A27AA42E",
  "source_id": "SRC-02A27AA42E",
  "source_title": "Instant frozen berry yogurt — 4.7/5 (76)",
  "source_url": "https://www.bbcgoodfood.com/recipes/instant-frozen-berry-yogurt",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "processador potente"
  ],
  "source_method_paraphrase": [
    "Usar a fruta congelada e o iogurte zero lactose bem frio.",
    "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete.",
    "Consumir imediatamente para preservar a textura."
  ],
  "source_time_reference": "fonte: cerca de 20 s de processamento",
  "source_temperature_reference": "sem cocção; ingredientes congelados/frios",
  "source_endpoint_reference": "textura lisa de sorvete soft, sem derreter",
  "adaptation_guardrails": [
    "Mel/agave não entra salvo se listado."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-04F03C7B96PM-SRC-04F03C7B96
ver dados
{
  "id": "PM-SRC-04F03C7B96",
  "source_id": "SRC-04F03C7B96",
  "source_title": "Roasted aubergine, tomato & basil pasta",
  "source_url": "https://www.bbcgoodfood.com/recipes/roasted-aubergine-tomato-basil-pasta",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Aquecer forno alto e distribuir cubos de berinjela com azeite autorizado e alho em camada única.",
    "Assar inicialmente até começar a dourar.",
    "Adicionar tomate e continuar apenas até amaciar/concentrar sem transformar tudo em purê.",
    "Finalizar com manjericão/ervas autorizadas."
  ],
  "source_time_reference": "fonte: berinjela ~10 min antes de adicionar tomate; tomate ~5 min adicionais",
  "source_temperature_reference": "220°C / 200°C ventilado",
  "source_endpoint_reference": "berinjela macia e tostada; tomate concentrado",
  "adaptation_guardrails": [
    "Omitir massa, açúcar e vinagre se não estiverem autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-08D66807B8PM-SRC-08D66807B8
ver dados
{
  "id": "PM-SRC-08D66807B8",
  "source_id": "SRC-08D66807B8",
  "source_title": "Frango churrasco (Grilled lemon & garlic chicken)",
  "source_url": "https://www.bbcgoodfood.com/recipes/frango-churrasco-grilled-lemon-garlic-chicken",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela não metálica",
    "grelha/chapa ou grill",
    "espetos opcionais"
  ],
  "source_method_paraphrase": [
    "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada.",
    "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro.",
    "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada.",
    "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
  ],
  "source_time_reference": "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h",
  "source_temperature_reference": "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido",
  "source_endpoint_reference": "bem dourado por fora e cozido por completo",
  "adaptation_guardrails": [
    "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
    "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-09216EB51FPM-SRC-09216EB51F
ver dados
{
  "id": "PM-SRC-09216EB51F",
  "source_id": "SRC-09216EB51F",
  "source_title": "Greek salad omelette — 4.8/5 (63)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/omelette-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente apta para grill/forno",
    "batedor",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Aquecer o grill/forno superior e bater os ovos.",
    "Dourar cebola em fogo alto; adicionar tomate e cozinhar brevemente até começar a amolecer.",
    "Baixar para fogo médio, adicionar os ovos e mexer enquanto começam a firmar, deixando pontos ainda líquidos.",
    "Distribuir o queijo da versão adaptada e finalizar sob grill até inflar e dourar."
  ],
  "source_time_reference": "cebola ~4 min; tomate 1–2 min; ovos ~2 min no fogão; grill 5–6 min",
  "source_temperature_reference": "fogo alto → médio; grill alto",
  "source_endpoint_reference": "inflada, dourada e firme, sem ressecar",
  "adaptation_guardrails": [
    "Feta/azeitonas só entram se constarem na versão adaptada; quando indicado, muçarela zero lactose substitui feta."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-0D69818314PM-SRC-0D69818314
ver dados
{
  "id": "PM-SRC-0D69818314",
  "source_id": "SRC-0D69818314",
  "source_title": "Keto dessert recipes",
  "source_url": "https://www.bbcgoodfood.com/recipes/keto-dessert-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "forma/ramequim/molde indicado",
    "forno ou air fryer"
  ],
  "source_method_paraphrase": [
    "Misturar os ingredientes líquidos e secos da versão adaptada até homogêneo, evitando bater em excesso depois que a estrutura estiver formada.",
    "Distribuir no molde indicado na ficha.",
    "Assar/air fry até as bordas firmarem e o centro passar de líquido para elástico/firme.",
    "Descansar antes de desenformar para estabilizar a estrutura."
  ],
  "source_time_reference": "tempo depende do molde e da composição adaptada",
  "source_temperature_reference": "forno/air fryer moderado; usar endpoint",
  "source_endpoint_reference": "bordas firmes, centro cozido e estrutura que se mantém ao esfriar",
  "adaptation_guardrails": [
    "Não importar farinhas/adoçantes/gorduras da fonte que não constem na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-0E25C4C87FPM-SRC-0E25C4C87F
ver dados
{
  "id": "PM-SRC-0E25C4C87F",
  "source_id": "SRC-0E25C4C87F",
  "source_title": "Aubergine with yogurt & tomato sauces — 4.0/5 (2)",
  "source_url": "https://www.bbcgoodfood.com/recipes/aubergine-yogurt-tomato-sauces",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "frigideira/grelha ou forno",
    "tigelas para molhos"
  ],
  "source_method_paraphrase": [
    "Assar/grelhar a berinjela até macia e bem dourada.",
    "Preparar o componente de tomate até concentrar e esfriar levemente.",
    "Preparar o molho de iogurte zero lactose frio com os temperos autorizados.",
    "Montar em camadas apenas ao servir ou manter os molhos separados para marmita."
  ],
  "source_time_reference": "receita-fonte ~30 min total",
  "source_temperature_reference": "calor alto para a berinjela; molhos em calor suave/frio",
  "source_endpoint_reference": "berinjela macia; tomate espesso; iogurte frio e cremoso",
  "adaptation_guardrails": [
    "Usar apenas quantidades/ingredientes da versão adaptada."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-0FB2713DE2PM-SRC-0FB2713DE2
ver dados
{
  "id": "PM-SRC-0FB2713DE2",
  "source_id": "SRC-0FB2713DE2",
  "source_title": "Omelette roll-up",
  "source_url": "https://www.bbcgoodfood.com/recipes/mexican-egg-roll",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "garfo/batedor",
    "frigideira média antiaderente",
    "tábua"
  ],
  "source_method_paraphrase": [
    "Bater o ovo com pequena quantidade de água somente se compatível com a porção.",
    "Aquecer a frigideira antiaderente com apenas a gordura prevista.",
    "Adicionar o ovo e girar para cobrir a base como uma panqueca; cozinhar até firmar, sem necessidade de virar.",
    "Deslizar para uma tábua, adicionar apenas o recheio/molho autorizado e enrolar ainda flexível."
  ],
  "source_time_reference": "fonte: ~10 min de cocção total da receita; lâmina de ovo cozinha em poucos minutos",
  "source_temperature_reference": "fogo moderado",
  "source_endpoint_reference": "lâmina fina de omelete totalmente firme, mas flexível para enrolar",
  "adaptation_guardrails": [
    "Salsa e coentro da fonte só entram se autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-14024CE8FAPM-SRC-14024CE8FA
ver dados
{
  "id": "PM-SRC-14024CE8FA",
  "source_id": "SRC-14024CE8FA",
  "source_title": "Lemon & rosemary pork with chickpea salad",
  "source_url": "https://www.bbcgoodfood.com/recipes/lemon-rosemary-pork-chickpea-salad",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "frigideira antiaderente",
    "pegador"
  ],
  "source_method_paraphrase": [
    "Misturar azeite contabilizado, alecrim, alho, suco/raspas de limão e temperos; envolver os medalhões/fatias de porco.",
    "Marinar sob refrigeração por cerca de 30 min quando houver tempo.",
    "Aquecer bem a frigideira antiaderente, retirar excesso superficial de marinada e cozinhar a carne dos dois lados.",
    "Retirar ao atingir o ponto de cocção e deixar repousar antes de porcionar pelo peso cru indicado antes da cocção."
  ],
  "source_time_reference": "fonte: 3–4 min de cada lado para pork steaks; marinada opcional ~30 min",
  "source_temperature_reference": "frigideira bem quente",
  "source_endpoint_reference": "dourado por fora e cozido; repousado antes de pesar/porcionar",
  "adaptation_guardrails": [
    "Grão-de-bico, cebola e salada da fonte não entram na receita de lombo; o tempo depende da espessura do corte."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-14CCEF0B5DPM-SRC-14CCEF0B5D
ver dados
{
  "id": "PM-SRC-14CCEF0B5D",
  "source_id": "SRC-14CCEF0B5D",
  "source_title": "Classic crêpes",
  "source_url": "https://www.bbcgoodfood.com/recipes/classic-crepes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela ou jarra",
    "batedor",
    "frigideira larga antiaderente",
    "concha pequena",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Misturar a massa adaptada até ficar totalmente lisa e homogênea.",
    "Quando a estrutura da massa permitir, deixar repousar antes da cocção; a fonte clássica repousa a massa por 30 min.",
    "Aquecer a frigideira em fogo médio e usar somente a gordura contabilizada, formando uma película muito fina.",
    "Colocar pouca massa e girar a frigideira para formar uma camada fina.",
    "Cozinhar o primeiro lado até dourar e soltar; virar e terminar rapidamente o segundo lado. A fonte usa cerca de 45 s no primeiro lado e 30 s no segundo."
  ],
  "source_time_reference": "fonte: repouso 30 min; ~45 s no primeiro lado e ~30 s no segundo por crêpe",
  "source_temperature_reference": "fogo médio",
  "source_endpoint_reference": "crêpe fino, flexível, levemente dourado e sem centro cru",
  "adaptation_guardrails": [
    "Não reintroduzir farinha, leite, açúcar ou manteiga da fonte se não constarem na porção adaptada. O tempo deve ser encurtado se a massa adaptada for menor/mais proteica."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-1780962D35PM-SRC-1780962D35
ver dados
{
  "id": "PM-SRC-1780962D35",
  "source_id": "SRC-1780962D35",
  "source_title": "Healthy pepper, tomato & ham omelette — 4.6/5 (41)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/healthy-omelette-recipes",
  "extraction_status": "existing_source_overview_only",
  "equipment": [],
  "source_method_paraphrase": [],
  "source_time_reference": null,
  "source_temperature_reference": null,
  "source_endpoint_reference": null,
  "adaptation_guardrails": [],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-1916763C6BPM-SRC-1916763C6B
ver dados
{
  "id": "PM-SRC-1916763C6B",
  "source_id": "SRC-1916763C6B",
  "source_title": "Healthy snacks with yogurt",
  "source_url": "https://www.eatingwell.com/healthy-yogurt-snack-recipes-11963153",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "copo/pote",
    "colher"
  ],
  "source_method_paraphrase": [
    "Misturar iogurte zero lactose e whey até homogêneo.",
    "Preparar fruta em purê, macerada ou cubos conforme o nome da receita.",
    "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver.",
    "Manter refrigerado."
  ],
  "source_time_reference": "montagem fria; sem cocção",
  "source_temperature_reference": "refrigerado",
  "source_endpoint_reference": "creme espesso, camadas definidas e crocante seco",
  "adaptation_guardrails": [
    "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-1A3490590CPM-SRC-1A3490590C
ver dados
{
  "id": "PM-SRC-1A3490590C",
  "source_id": "SRC-1A3490590C",
  "source_title": "Chicken paillard with lemon & herbs — 4.8/5 (43)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/lemon-chicken-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "martelo de carne ou rolo",
    "papel manteiga/filme",
    "grelha/chapa"
  ],
  "source_method_paraphrase": [
    "Achatar o peito entre folhas até espessura uniforme de aproximadamente 0,5 cm.",
    "Misturar alho, ervas, limão, azeite e temperos autorizados; cobrir o frango e marinar sob refrigeração.",
    "Grelhar rapidamente em superfície muito quente, virando uma vez.",
    "Descansar por alguns minutos antes de servir ou fatiar."
  ],
  "source_time_reference": "marinada ≥2 h; fonte: 1–2 min por lado para 0,5 cm",
  "source_temperature_reference": "grelha/chapa muito quente",
  "source_endpoint_reference": "marcas de grelha e centro cozido sem ressecar",
  "adaptation_guardrails": [
    "O tempo de 1–2 min/lado pressupõe a espessura fina da fonte."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-1E5EE3F844PM-SRC-1E5EE3F844
ver dados
{
  "id": "PM-SRC-1E5EE3F844",
  "source_id": "SRC-1E5EE3F844",
  "source_title": "Classic vinaigrette",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/salad-dressing-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "pote com tampa ou batedor"
  ],
  "source_method_paraphrase": [
    "Combinar ácido, mostarda/aromáticos autorizados e temperos.",
    "Adicionar a gordura contabilizada em fio ou agitar vigorosamente até emulsificar.",
    "Aplicar somente no momento de servir as folhas para preservar crocância."
  ],
  "source_time_reference": "1–2 min de emulsificação/montagem",
  "source_temperature_reference": "frio",
  "source_endpoint_reference": "emulsão temporariamente homogênea",
  "adaptation_guardrails": [
    "A quantidade de óleo deve ser exatamente a da porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-20D4788A6FPM-SRC-20D4788A6F
ver dados
{
  "id": "PM-SRC-20D4788A6F",
  "source_id": "SRC-20D4788A6F",
  "source_title": "Strawberry ice lollies — 5.0/5 (5)",
  "source_url": "https://www.bbcgoodfood.com/recipes/strawberry-ice-lollies",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "liquidificador",
    "formas de picolé",
    "freezer"
  ],
  "source_method_paraphrase": [
    "Processar morango até purê e misturar com iogurte/whey autorizados.",
    "Distribuir nas formas, deixando espaço adequado para o palito.",
    "Congelar até sólido."
  ],
  "source_time_reference": "fonte: pelo menos 4 h de freezer",
  "source_temperature_reference": "freezer",
  "source_endpoint_reference": "completamente firme",
  "adaptation_guardrails": [
    "Açúcar/mel da fonte não entra; pequenos pedaços de morango podem ser incorporados quando a ficha pedir textura."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-2227CA24C9PM-SRC-2227CA24C9
ver dados
{
  "id": "PM-SRC-2227CA24C9",
  "source_id": "SRC-2227CA24C9",
  "source_title": "Pork stroganoff",
  "source_url": "https://www.bbcgoodfood.com/recipes/pork-stroganoff",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira larga",
    "espátula ou pinça"
  ],
  "source_method_paraphrase": [
    "Dourar os cogumelos em lotes até a água liberada evaporar e reservar.",
    "Selar o lombo em pedaços/tiras na gordura contabilizada; a fonte usa 5–8 min para cubos de 1 cm, mas a adaptação deve seguir o tamanho real do corte.",
    "Cozinhar a cebola/aromáticos autorizados em fogo baixo-médio até amaciar e começar a caramelizar; na fonte, cerca de 10–12 min.",
    "Reunir carne e cogumelos, adicionar páprica, mostarda e somente o líquido autorizado, raspando o fundo da panela.",
    "Incorporar o iogurte/lácteo zero lactose previsto no final, em calor suave, apenas até aquecer e homogeneizar."
  ],
  "source_time_reference": "fonte: porco 5–8 min; cebola 10–12 min; lácteo final ~2 min",
  "source_temperature_reference": "médio para cogumelos/carne; baixo-médio para cebola; suave após o lácteo",
  "source_endpoint_reference": "carne cozida sem ressecar, cogumelos dourados e molho cremoso sem separar",
  "adaptation_guardrails": [
    "Usar iogurte/lácteo zero lactose apenas se estiver na porção. Não ferver vigorosamente após incorporá-lo."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-2254C533D0PM-SRC-2254C533D0
ver dados
{
  "id": "PM-SRC-2254C533D0",
  "source_id": "SRC-2254C533D0",
  "source_title": "Breakfast pancake recipes",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/breakfast-pancake-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "frigideira antiaderente larga",
    "concha",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Misturar/bater a massa adaptada até ficar fluida e homogênea.",
    "Aquecer frigideira larga com película mínima da gordura prevista.",
    "Adicionar pouca massa e girar a frigideira para formar camada fina.",
    "Cozinhar até soltar das bordas, virar e terminar rapidamente o outro lado."
  ],
  "source_time_reference": "crêpes cozinham rapidamente; usar aparência das bordas como guia",
  "source_temperature_reference": "fogo médio",
  "source_endpoint_reference": "fina, flexível, com leves pontos dourados",
  "adaptation_guardrails": [
    "A massa é proteica/low-carb; não adicionar farinha/leite da fonte se ausentes."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-2583A03398PM-SRC-2583A03398
ver dados
{
  "id": "PM-SRC-2583A03398",
  "source_id": "SRC-2583A03398",
  "source_title": "Pumpkin, halloumi & chilli omelette — 4.7/5 (31)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/omelette-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente apta para grill",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Pré-cozinhar/dourar a abóbora até macia nas bordas.",
    "Adicionar alho/pimenta autorizados brevemente para perfumar.",
    "Adicionar ovos e queijo da adaptação; firmar a base no fogão.",
    "Finalizar sob grill até inflar e dourar."
  ],
  "source_time_reference": "fonte: abóbora ~10 min; aromáticos ~2 min; fogão ~5 min; grill ~5 min",
  "source_temperature_reference": "frigideira média; grill alto",
  "source_endpoint_reference": "abóbora macia; omelete inflada e dourada",
  "adaptation_guardrails": [
    "Halloumi só é usado se autorizado; normalmente a adaptação usa outro queijo."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-27DD56ED21PM-SRC-27DD56ED21
ver dados
{
  "id": "PM-SRC-27DD56ED21",
  "source_id": "SRC-27DD56ED21",
  "source_title": "Pumpkin purée",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/pumpkin-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "assadeira ou panela",
    "processador/amassador"
  ],
  "source_method_paraphrase": [
    "Cozinhar ou assar a abóbora até ficar totalmente macia.",
    "Escorrer/evaporar o excesso de água.",
    "Processar ou amassar até textura lisa; ajustar apenas com os ingredientes autorizados."
  ],
  "source_time_reference": "fonte ~40 min total",
  "source_temperature_reference": "forno/cozimento conforme método; ponto de maciez controla",
  "source_endpoint_reference": "purê liso e espesso",
  "adaptation_guardrails": [
    "Sem farinha; evitar adicionar líquido que não esteja contabilizado."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-28230B968DPM-SRC-28230B968D
ver dados
{
  "id": "PM-SRC-28230B968D",
  "source_id": "SRC-28230B968D",
  "source_title": "Simple sirloin steak",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/steak-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira pesada",
    "pinça"
  ],
  "source_method_paraphrase": [
    "Retirar o bife da geladeira com antecedência curta, secar a superfície e temperar.",
    "Aquecer a frigideira em fogo alto com a gordura prevista; reduzir levemente quando a gordura estiver quente.",
    "Selar virando a cada 30–60 s para desenvolver crosta uniforme.",
    "Retirar no ponto desejado, repousar e fatiar contra a fibra quando aplicável."
  ],
  "source_time_reference": "fonte para steak ~2 cm: ~3 min rare; 4–5 min medium; 7–8 min well done",
  "source_temperature_reference": "fogo alto → médio-alto; fonte cita 50°C rare, 60°C medium, 70°C well done",
  "source_endpoint_reference": "crosta marrom; ponto interno escolhido",
  "adaptation_guardrails": [
    "Usar somente a gordura prevista; manteiga/alho/ervas da fonte só entram se autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-2D6228D97CPM-SRC-2D6228D97C
ver dados
{
  "id": "PM-SRC-2D6228D97C",
  "source_id": "SRC-2D6228D97C",
  "source_title": "Homemade beef burgers",
  "source_url": "https://www.bbcgoodfood.com/recipes/beef-burgers-learn-make",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "chapa/grelha",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Moldar discos uniformes com a carne e temperos autorizados, manipulando o mínimo necessário.",
    "Resfriar os discos por cerca de 30 min se houver tempo para firmar.",
    "Grelhar/chapear em calor médio-alto sem pressionar o hambúrguer.",
    "Virar uma vez ou conforme necessário; retirar no ponto definido para a carne moída e deixar repousar brevemente."
  ],
  "source_time_reference": "fonte: ~5 min por lado para hambúrguer de ~3 cm",
  "source_temperature_reference": "grelha/chapa média-quente",
  "source_endpoint_reference": "crosta dourada e interior cozido",
  "adaptation_guardrails": [
    "A fonte usa cebola/ovo; omitir se não estiverem na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-2E05C79E02PM-SRC-2E05C79E02
ver dados
{
  "id": "PM-SRC-2E05C79E02",
  "source_id": "SRC-2E05C79E02",
  "source_title": "How to make cauliflower rice",
  "source_url": "https://www.bbcgoodfood.com/videos/techniques/how-make-cauliflower-rice-video",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "processador ou ralador",
    "frigideira larga"
  ],
  "source_method_paraphrase": [
    "Processar/ralar a couve-flor em pulsos até obter grãos do tamanho de arroz, evitando virar pasta.",
    "Cozinhar rapidamente em frigideira larga com a gordura/temperos autorizados.",
    "Mexer somente até perder o sabor cru e evaporar umidade; não adicionar água."
  ],
  "source_time_reference": "técnica rápida; poucos minutos na frigideira",
  "source_temperature_reference": "fogo médio-alto",
  "source_endpoint_reference": "grãos separados e secos, não pastosos",
  "adaptation_guardrails": [
    "Cominho/coentro entram conforme ficha."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-2F02D19B19PM-SRC-2F02D19B19
ver dados
{
  "id": "PM-SRC-2F02D19B19",
  "source_id": "SRC-2F02D19B19",
  "source_title": "Lemon yogurt chicken — 4.5/5 (34)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/lemon-chicken-recipes",
  "extraction_status": "existing_source_overview_only",
  "equipment": [],
  "source_method_paraphrase": [],
  "source_time_reference": null,
  "source_temperature_reference": null,
  "source_endpoint_reference": null,
  "adaptation_guardrails": [],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-2F1142BB4FPM-SRC-2F1142BB4F
ver dados
{
  "id": "PM-SRC-2F1142BB4F",
  "source_id": "SRC-2F1142BB4F",
  "source_title": "Moroccan kofte with spicy tomato sauce",
  "source_url": "https://www.bbcgoodfood.com/recipes/moroccan-kofte-spicy-tomato-sauce",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "espetos",
    "grill/churrasqueira",
    "panela para molho"
  ],
  "source_method_paraphrase": [
    "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos.",
    "Para o molho, perfumar o alho e reduzir tomate/harissa autorizados até espessar; a fonte reduz por 15–20 min.",
    "Grelhar as koftas, virando para dourar por igual; a fonte usa 6–8 min no total.",
    "Montar com o molho autorizado e, quando previsto, iogurte zero lactose. A carne deve ser pesada crua na gramagem desta página antes da cocção; não é necessário repesar para porcionar."
  ],
  "source_time_reference": "fonte: molho 15–20 min; koftas 6–8 min no grill",
  "source_temperature_reference": "grill quente; molho em fervura suave",
  "source_endpoint_reference": "koftas bem douradas e cozidas no centro; molho espesso",
  "adaptation_guardrails": [
    "Iogurte, pinoli, açúcar e acompanhamentos só entram se autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-2F77203D66PM-SRC-2F77203D66
ver dados
{
  "id": "PM-SRC-2F77203D66",
  "source_id": "SRC-2F77203D66",
  "source_title": "Lamb koftas",
  "source_url": "https://www.bbcgoodfood.com/recipes/lamb-koftas",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "espetos metálicos",
    "chapa/griddle ou churrasqueira",
    "pinça"
  ],
  "source_method_paraphrase": [
    "Misturar a carne crua moída com cominho, coentro, alho, hortelã e demais temperos autorizados até distribuir; evitar compactar excessivamente.",
    "Dividir e moldar em ovais/cilindros, espetar e pincelar somente a gordura autorizada.",
    "Aquecer bem a chapa e cozinhar sem tentar virar antes de a superfície selar.",
    "A fonte usa cerca de 3–4 min por lado; ajustar à espessura da adaptação. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
  ],
  "source_time_reference": "fonte: ~3–4 min por lado",
  "source_temperature_reference": "chapa/churrasqueira bem quente",
  "source_endpoint_reference": "superfície selada/dourada e centro cozido",
  "adaptation_guardrails": [
    "A fonte usa cordeiro; nas versões bovinas, preservar técnica/formato, mas usar apenas a carne prevista na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-2FEC385533PM-SRC-2FEC385533
ver dados
{
  "id": "PM-SRC-2FEC385533",
  "source_id": "SRC-2FEC385533",
  "source_title": "Cheese omelette",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/omelette-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente",
    "batedor ou garfo",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Bater os ovos e temperar.",
    "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção.",
    "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços.",
    "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
  ],
  "source_time_reference": "cerca de 5 min de cocção na receita básica",
  "source_temperature_reference": "fogo médio-baixo",
  "source_endpoint_reference": "omelete firme por fora e ainda macia/úmida no interior",
  "adaptation_guardrails": [
    "Usar apenas o queijo e demais recheios presentes na porção adaptada."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-306EB737D8PM-SRC-306EB737D8
ver dados
{
  "id": "PM-SRC-306EB737D8",
  "source_id": "SRC-306EB737D8",
  "source_title": "Omelette pancakes with tomato & pepper sauce",
  "source_url": "https://www.bbcgoodfood.com/recipes/omelette-pancakes-tomato-pepper-sauce",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira grande para molho",
    "frigideira pequena antiaderente",
    "batedor",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Amaciar pimentão/alho autorizados e reduzir o molho de tomate; a fonte cozinha vegetais ~5 min e depois reduz o molho 10–15 min.",
    "Bater o ovo com os temperos autorizados e pequena quantidade de água quando desejado.",
    "Cozinhar cada lâmina de omelete em frigideira pequena com película mínima de gordura por cerca de 1–2 min, até firme.",
    "Enrolar e servir com apenas o molho autorizado, evitando encharcar."
  ],
  "source_time_reference": "fonte: molho 5 min + 10–15 min; omelete fina 1–2 min cada",
  "source_temperature_reference": "fogo médio; fervura suave no molho",
  "source_endpoint_reference": "molho espesso e omelete fina, firme e flexível",
  "adaptation_guardrails": [
    "Pimentão, tomate e demais componentes só entram se autorizados pela porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-31F2558DC1PM-SRC-31F2558DC1
ver dados
{
  "id": "PM-SRC-31F2558DC1",
  "source_id": "SRC-31F2558DC1",
  "source_title": "DIY kofta burgers — 4.6/5 (53)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/kofta-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "tigela",
    "grelha/chapa ou air fryer",
    "espetos opcionais"
  ],
  "source_method_paraphrase": [
    "Misturar a carne moída com as especiarias/ervas autorizadas até distribuir uniformemente, sem compactar em excesso.",
    "Moldar em cilindros, koftas, discos ou espetos conforme o nome da receita.",
    "Grelhar/chapear ou usar air fryer, virando quando necessário para dourar todos os lados.",
    "Servir molho de iogurte/hortelã separado quando previsto; em versões ao tomate, terminar as koftas no molho reduzido."
  ],
  "source_time_reference": "fontes de kofta: normalmente ~20–50 min total conforme receita/formato",
  "source_temperature_reference": "grelha/chapa quente; molho em fervura suave",
  "source_endpoint_reference": "superfície bem dourada; centro cozido; molho reduzido quando aplicável",
  "adaptation_guardrails": [
    "As fontes frequentemente usam cordeiro/pão; aqui manter a carne e ingredientes da nossa porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-39E3863860PM-SRC-39E3863860
ver dados
{
  "id": "PM-SRC-39E3863860",
  "source_id": "SRC-39E3863860",
  "source_title": "Feta & semi-dried tomato omelette — 4.7/5 (43)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/omelette-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente",
    "garfo ou batedor",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Aquecer uma fina camada da gordura prevista e adicionar os ovos batidos.",
    "Mover o ovo com o garfo/espátula enquanto firma, preservando centro ligeiramente úmido.",
    "Adicionar tomate e o queijo permitido pela adaptação, dobrar e cozinhar brevemente para terminar de firmar."
  ],
  "source_time_reference": "aprox. 5 min de cocção",
  "source_temperature_reference": "fogo médio",
  "source_endpoint_reference": "dobrada, macia e com centro recém-firme",
  "adaptation_guardrails": [
    "Na adaptação, usar somente o queijo e tomate previstos na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-3E8E96B92APM-SRC-3E8E96B92A
ver dados
{
  "id": "PM-SRC-3E8E96B92A",
  "source_id": "SRC-3E8E96B92A",
  "source_title": "Egg custard",
  "source_url": "https://www.bbcgoodfood.com/recipes/egg-custard",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "ramequim/forma",
    "assadeira funda para banho-maria",
    "forno"
  ],
  "source_method_paraphrase": [
    "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado.",
    "Transferir para ramequim/forma.",
    "Colocar em banho-maria com água quente subindo parcialmente pelas laterais.",
    "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
  ],
  "source_time_reference": "fonte: 45–50 min",
  "source_temperature_reference": "150°C / 130°C ventilado",
  "source_endpoint_reference": "recém-firme com leve tremor central",
  "adaptation_guardrails": [
    "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-415FA9B3F1PM-SRC-415FA9B3F1
ver dados
{
  "id": "PM-SRC-415FA9B3F1",
  "source_id": "SRC-415FA9B3F1",
  "source_title": "Microwave mug omelette",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/omelette-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "caneca grande própria para micro-ondas",
    "garfo"
  ],
  "source_method_paraphrase": [
    "Untar/coating da caneca apenas com a gordura prevista na porção.",
    "Bater ovos e misturar recheios autorizados.",
    "Cozinhar em pulsos curtos, mexendo entre os primeiros pulsos para uniformizar.",
    "Descansar 1 min; se necessário, terminar em potência reduzida por um pulso curto."
  ],
  "source_time_reference": "fonte: pulsos de 20 s, descanso de 1 min",
  "source_temperature_reference": "micro-ondas; finalização opcional a 50% de potência",
  "source_endpoint_reference": "firme sem ficar borrachuda",
  "adaptation_guardrails": [
    "A potência varia; usar os pulsos como referência, não como garantia."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-419B2CE79FPM-SRC-419B2CE79F
ver dados
{
  "id": "PM-SRC-419B2CE79F",
  "source_id": "SRC-419B2CE79F",
  "source_title": "Indian beef keema with carrots & potatoes",
  "source_url": "https://www.bbcgoodfood.com/recipes/indian-beef-keema-carrots-potatoes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela larga",
    "colher de pau/espátula"
  ],
  "source_method_paraphrase": [
    "Aquecer parte da gordura prevista e dourar a carne moída em fogo alto, quebrando os grumos; retirar e reservar quando bem colorida.",
    "Na mesma panela, amaciar cebola, alho e gengibre autorizados até ficarem macios.",
    "Adicionar curry/especiarias e cozinhar brevemente para liberar aroma.",
    "Juntar tomate/líquido apenas nas quantidades autorizadas e retornar a carne; cozinhar em fogo médio até o molho curto aderir à carne.",
    "Finalizar com ervas ou iogurte somente quando previstos na versão adaptada."
  ],
  "source_time_reference": "fonte: dourar a carne; aromáticos ~8 min; depois ~20 min em fogo médio com os componentes do curry",
  "source_temperature_reference": "fogo alto para dourar; médio para terminar",
  "source_endpoint_reference": "carne bem dourada, grumos soltos e molho reduzido/aderente",
  "adaptation_guardrails": [
    "Batata, cenoura, arroz e chutney da fonte são omitidos; água/caldo é reduzido na adaptação para manter o curry curto."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-430616225DPM-SRC-430616225D
ver dados
{
  "id": "PM-SRC-430616225D",
  "source_id": "SRC-430616225D",
  "source_title": "Sesame & ginger green beans",
  "source_url": "https://www.bbcgoodfood.com/recipes/sesame-ginger-green-beans",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela",
    "wok/frigideira"
  ],
  "source_method_paraphrase": [
    "Ferver a vagem brevemente e escorrer muito bem.",
    "Aquecer a gordura, perfumar gengibre/alho por cerca de 1 min.",
    "Adicionar a vagem e saltear; finalizar com gergelim/temperos autorizados por poucos segundos."
  ],
  "source_time_reference": "fonte: vagem ~3 min; aromáticos ~1 min; finalização ~30 s",
  "source_temperature_reference": "frigideira quente",
  "source_endpoint_reference": "vagem firme e aromática",
  "adaptation_guardrails": [
    "Se óleo de gergelim não estiver contabilizado, usar o azeite previsto e gergelim/condimentos apenas conforme ficha."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-48B8FB322EPM-SRC-48B8FB322E
ver dados
{
  "id": "PM-SRC-48B8FB322E",
  "source_id": "SRC-48B8FB322E",
  "source_title": "Chicken souvlaki — 4.8/5 (230)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/barbecue-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "tigela",
    "espetos ou frigideira/grelha"
  ],
  "source_method_paraphrase": [
    "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada.",
    "Marinar quando a ficha permitir.",
    "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados.",
    "Servir o molho de iogurte separadamente quando previsto."
  ],
  "source_time_reference": "fonte de família de barbecue/souvlaki; tempo varia com o corte",
  "source_temperature_reference": "grelha/chapa quente",
  "source_endpoint_reference": "cubos/tiras bem dourados e cozidos",
  "adaptation_guardrails": [
    "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-4B593C7FA1PM-SRC-4B593C7FA1
ver dados
{
  "id": "PM-SRC-4B593C7FA1",
  "source_id": "SRC-4B593C7FA1",
  "source_title": "Ricotta, tomato & spinach frittata — 4.3/5 (157)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/fritatta-recipes/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira",
    "forma/recipiente de forno",
    "batedor"
  ],
  "source_method_paraphrase": [
    "Amaciar a cebola; adicionar tomate e cozinhar brevemente; murchar folhas/ervas quando previstas.",
    "Transferir para recipiente untado, distribuir o queijo autorizado e cobrir com ovos batidos.",
    "Assar até firme e levemente dourada."
  ],
  "source_time_reference": "forno 20–25 min na fonte",
  "source_temperature_reference": "200°C / 180°C ventilado",
  "source_endpoint_reference": "centro firme e superfície levemente dourada",
  "adaptation_guardrails": [
    "Ricota pode ser substituída por muçarela zero lactose conforme ficha; não reintroduzir espinafre se não estiver na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-4D44157866PM-SRC-4D44157866
ver dados
{
  "id": "PM-SRC-4D44157866",
  "source_id": "SRC-4D44157866",
  "source_title": "Strawberry frozen yogurt — 4.0/5 (50)",
  "source_url": "https://www.bbcgoodfood.com/recipes/frozen-strawberry-yogurt",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "liquidificador/processador",
    "recipiente de freezer"
  ],
  "source_method_paraphrase": [
    "Processar a fruta até purê ou textura desejada.",
    "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo.",
    "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais.",
    "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
  ],
  "source_time_reference": "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes",
  "source_temperature_reference": "freezer",
  "source_endpoint_reference": "cremoso/congelado com cristais pequenos",
  "adaptation_guardrails": [
    "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-4E6E7E712FPM-SRC-4E6E7E712F
ver dados
{
  "id": "PM-SRC-4E6E7E712F",
  "source_id": "SRC-4E6E7E712F",
  "source_title": "Basic omelette — 4.7/5 (117 avaliações)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/omelette-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente",
    "batedor ou garfo",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Bater os ovos e temperar.",
    "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção.",
    "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços.",
    "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
  ],
  "source_time_reference": "cerca de 5 min de cocção na receita básica",
  "source_temperature_reference": "fogo médio-baixo",
  "source_endpoint_reference": "omelete firme por fora e ainda macia/úmida no interior",
  "adaptation_guardrails": [
    "Usar apenas o queijo e demais recheios presentes na porção adaptada."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-55FF831328PM-SRC-55FF831328
ver dados
{
  "id": "PM-SRC-55FF831328",
  "source_id": "SRC-55FF831328",
  "source_title": "Masala omelette muffins",
  "source_url": "https://www.bbcgoodfood.com/recipes/masala-omelette-muffins",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela/jarra",
    "batedor",
    "ramequins/formas",
    "forno"
  ],
  "source_method_paraphrase": [
    "Preparar os vegetais/aromáticos autorizados e remover excesso de água quando necessário.",
    "Bater ovos com especiarias e demais recheios autorizados.",
    "Distribuir nos ramequins/formas, sem adicionar ingredientes ausentes da adaptação.",
    "Assar até crescer e firmar; a fonte usa 220°C/200°C ventilado por 20–25 min."
  ],
  "source_time_reference": "fonte: 20–25 min",
  "source_temperature_reference": "220°C / 200°C ventilado",
  "source_endpoint_reference": "muffins inflados e firmes no centro",
  "adaptation_guardrails": [
    "A fonte contém courgette/abobrinha; ela é proibida nesta adaptação. Feta/ervilhas entram somente se autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-567AB4BDA3PM-SRC-567AB4BDA3
ver dados
{
  "id": "PM-SRC-567AB4BDA3",
  "source_id": "SRC-567AB4BDA3",
  "source_title": "Meatball stroganoff",
  "source_url": "https://www.bbcgoodfood.com/recipes/meatball-stroganoff",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "frigideira larga com tampa",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Temperar a carne crua moída autorizada e moldar almôndegas uniformes, sem compactar excessivamente.",
    "Dourar as almôndegas em todos os lados e reservar.",
    "Amaciar a cebola; adicionar alho e cogumelos e cozinhar até começarem a dourar.",
    "Adicionar os componentes de molho autorizados e cozinhar brevemente para retirar sabor cru; acrescentar o líquido permitido aos poucos.",
    "Retornar as almôndegas, tampar e cozinhar em fervura suave até o centro estar cozido; a fonte usa 15 min.",
    "Incorporar o iogurte/lácteo adaptado fora de fervura forte. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
  ],
  "source_time_reference": "fonte: ~15 min de fervura suave das almôndegas no molho após dourar",
  "source_temperature_reference": "fogo médio para dourar; fervura suave para finalizar",
  "source_endpoint_reference": "almôndegas douradas, cozidas no centro e molho cremoso",
  "adaptation_guardrails": [
    "A farinha, creme azedo e acompanhamentos da fonte não entram automaticamente. Usar apenas os componentes autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-58CC1ECA0EPM-SRC-58CC1ECA0E
ver dados
{
  "id": "PM-SRC-58CC1ECA0E",
  "source_id": "SRC-58CC1ECA0E",
  "source_title": "Miso steak",
  "source_url": "https://www.bbcgoodfood.com/recipes/miso-steak",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "saco ou recipiente para marinar",
    "frigideira pesada, chapa ou churrasqueira",
    "pinça"
  ],
  "source_method_paraphrase": [
    "Misturar o miso e aromáticos autorizados e cobrir uniformemente o bife.",
    "Marinar refrigerado; a fonte usa no mínimo 1 h e permite até 2 dias.",
    "Antes de selar, retirar o excesso de marinada superficial para reduzir queima.",
    "Aquecer muito bem a chapa/frigideira/churrasqueira e selar dos dois lados. A fonte usa cerca de 3 min por lado para malpassado ao ponto em bife semelhante.",
    "Descansar antes de fatiar contra a fibra."
  ],
  "source_time_reference": "fonte: marinada ≥1 h (até 2 dias); ~3 min por lado para medium-rare; descanso ~1 min",
  "source_temperature_reference": "superfície muito quente",
  "source_endpoint_reference": "crosta bem selada e ponto interno desejado",
  "adaptation_guardrails": [
    "Não usar açúcar, saquê/xerez ou acompanhamentos da fonte se não estiverem autorizados. Tempo de chapa depende da espessura e do corte real."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-5DCE2A5D16PM-SRC-5DCE2A5D16
ver dados
{
  "id": "PM-SRC-5DCE2A5D16",
  "source_id": "SRC-5DCE2A5D16",
  "source_title": "Super-quick fish curry",
  "source_url": "https://www.bbcgoodfood.com/recipes/super-quick-fish-curry",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela funda",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Amaciar cebola e alho autorizados em fogo moderado; a fonte usa cerca de 5 min.",
    "Adicionar a pasta/especiarias de curry e cozinhar por 1–2 min para perfumar.",
    "Adicionar tomate e somente o líquido autorizado e levar a fervura suave.",
    "Adicionar a tilápia/peixe em pedaços e cozinhar delicadamente até lascar com facilidade; a fonte usa 4–5 min."
  ],
  "source_time_reference": "fonte: aromáticos ~5 min; curry 1–2 min; peixe 4–5 min",
  "source_temperature_reference": "fogo moderado; fervura suave para o peixe",
  "source_endpoint_reference": "peixe opaco, úmido e lascando facilmente",
  "adaptation_guardrails": [
    "Não reintroduzir arroz/naan ou caldo adicional se não estiverem na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-5EDCD23E60PM-SRC-5EDCD23E60
ver dados
{
  "id": "PM-SRC-5EDCD23E60",
  "source_id": "SRC-5EDCD23E60",
  "source_title": "Air fryer omelette — 5.0/5 (7)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/omelette-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "air fryer",
    "recipiente baixo antiaderente resistente ao calor",
    "batedor"
  ],
  "source_method_paraphrase": [
    "Pré-aquecer a air fryer com o recipiente dentro.",
    "Bater ovos e misturar somente os recheios autorizados.",
    "Adicionar a gordura prevista ao recipiente, despejar a mistura e cozinhar até inflar e dourar."
  ],
  "source_time_reference": "8–10 min",
  "source_temperature_reference": "180°C",
  "source_endpoint_reference": "inflada, dourada e recém-firme",
  "adaptation_guardrails": [
    "A quantidade de gordura é a da porção, não a da receita-fonte."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-5F81012DF2PM-SRC-5F81012DF2
ver dados
{
  "id": "PM-SRC-5F81012DF2",
  "source_id": "SRC-5F81012DF2",
  "source_title": "Easy chicken curry — 4.5/5 (360)",
  "source_url": "https://www.bbcgoodfood.com/recipes/easy-chicken-curry",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira/panela larga",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Amaciar cebola e aromáticos; adicionar alho/gengibre e cozinhar brevemente.",
    "Adicionar o frango e dourar os cubos.",
    "Adicionar especiarias/pasta e os componentes de molho autorizados; cozinhar em fervura suave até o molho reduzir e aderir.",
    "Quando houver iogurte na adaptação, incorporar no final e evitar fervura forte."
  ],
  "source_time_reference": "fonte: cebola 8–10 min; aromáticos ~1 min; frango ~5 min antes do molho; molho 25–30 min",
  "source_temperature_reference": "médio → fervura suave",
  "source_endpoint_reference": "frango cozido e molho concentrado",
  "adaptation_guardrails": [
    "A versão “curry seco” pode omitir tomate/água/iogurte; nesse caso parar quando especiarias estiverem aderidas ao frango."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-5F8FE8416CPM-SRC-5F8FE8416C
ver dados
{
  "id": "PM-SRC-5F8FE8416C",
  "source_id": "SRC-5F8FE8416C",
  "source_title": "Slow-cooker beef stew — 4.8/5 (682)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/beef-recipes/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira",
    "panela de cozimento lento ou panela pesada"
  ],
  "source_method_paraphrase": [
    "Amaciar cebola/aromáticos autorizados e preparar a base do molho.",
    "Dourar a carne em lotes antes do cozimento lento para obter sabor de Maillard.",
    "Transferir para cozimento lento com os líquidos/temperos autorizados e cozinhar até a carne ficar muito macia.",
    "Se o molho estiver ralo, reduzir em panela aberta; a adaptação não usa farinha/amido quando não listado."
  ],
  "source_time_reference": "fonte: 8–10 h em low ou ~4 h em high",
  "source_temperature_reference": "slow cooker low/high; selagem em frigideira quente",
  "source_endpoint_reference": "carne muito macia; molho reduzido e aderente",
  "adaptation_guardrails": [
    "Omitir cenoura/celery/cornflour e outros itens não listados; pode usar pressão/cozimento lento equivalente conforme ficha."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-62670668F4PM-SRC-62670668F4
ver dados
{
  "id": "PM-SRC-62670668F4",
  "source_id": "SRC-62670668F4",
  "source_title": "Broiled Tilapia Parmesan",
  "source_url": "https://www.allrecipes.com/recipe/50644/broiled-tilapia-parmesan/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "assadeira rasa",
    "grill/broiler ou air fryer",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Secar/temperar os filés e dispor em camada única.",
    "Pré-cozinhar sob grill forte, virando na metade quando a espessura permitir.",
    "Aplicar uma camada fina da cobertura de parmesão adaptada.",
    "Voltar ao grill/air fryer apenas até dourar a cobertura e o peixe lascar."
  ],
  "source_time_reference": "fonte: ~4 min de grill inicial (virando na metade) + ~2 min após a cobertura",
  "source_temperature_reference": "broiler/grill alto, filé próximo da fonte de calor",
  "source_endpoint_reference": "parmesão dourado; peixe lascando",
  "adaptation_guardrails": [
    "A fonte usa maionese e manteiga; nossa adaptação não deve adicioná-las salvo se explicitamente contabilizadas."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-627B49D664PM-SRC-627B49D664
ver dados
{
  "id": "PM-SRC-627B49D664",
  "source_id": "SRC-627B49D664",
  "source_title": "Creamy fish curry",
  "source_url": "https://www.bbcgoodfood.com/recipes/creamy-fish-curry",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira/panela com tampa",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Aquecer a pasta/especiarias de curry com pequena quantidade do líquido autorizado e adicionar a cebola; cozinhar suavemente até macia.",
    "Adicionar somente o componente cremoso/líquido permitido e levar a fervura suave para formar molho homogêneo.",
    "Adicionar os vegetais autorizados e posicionar o peixe por cima.",
    "Tampar e cozinhar suavemente até o peixe estar recém-cozido; a fonte usa 10–12 min para pedaços grandes."
  ],
  "source_time_reference": "fonte: peixe coberto em fervura suave 10–12 min",
  "source_temperature_reference": "fogo suave/médio-baixo",
  "source_endpoint_reference": "peixe recém-cozido, opaco e ainda úmido",
  "adaptation_guardrails": [
    "Leite de coco, vagem, arroz e caldo da fonte só entram se autorizados pela porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-63E09E4CC0PM-SRC-63E09E4CC0
ver dados
{
  "id": "PM-SRC-63E09E4CC0",
  "source_id": "SRC-63E09E4CC0",
  "source_title": "Keto pancakes",
  "source_url": "https://www.bbcgoodfood.com/recipes/keto-pancakes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "batedor",
    "frigideira antiaderente"
  ],
  "source_method_paraphrase": [
    "Misturar os componentes líquidos previstos; incorporar whey/claras/ingredientes secos e aromáticos da adaptação até homogêneo.",
    "Aquecer frigideira antiaderente em fogo médio-baixo com somente a gordura contabilizada.",
    "Fazer discos pequenos; cozinhar até as bordas firmarem e a base dourar.",
    "Virar e terminar apenas até o centro firmar."
  ],
  "source_time_reference": "fonte: 2–3 min primeiro lado + ~2 min segundo",
  "source_temperature_reference": "médio-baixo",
  "source_endpoint_reference": "bordas firmes, exterior dourado e centro cozido",
  "adaptation_guardrails": [
    "A fonte usa farinha de amêndoa/leite; só usar componentes da nossa massa. O tempo é referência e pode mudar com a composição proteica."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-643FE5F773PM-SRC-643FE5F773
ver dados
{
  "id": "PM-SRC-643FE5F773",
  "source_id": "SRC-643FE5F773",
  "source_title": "Frozen tropical fruit yogurt — 4.7/5 (12)",
  "source_url": "https://www.bbcgoodfood.com/recipes/frozen-tropical-fruit-yogurt",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "processador de alimentos"
  ],
  "source_method_paraphrase": [
    "Colocar no processador o iogurte e as frutas que serão batidas, usando apenas os ingredientes autorizados pela adaptação.",
    "Processar até atingir a textura desejada: homogênea para creme, ou por menos tempo quando a ficha pede pedaços.",
    "Para a versão bowl/gelada, servir imediatamente; se a preparação for congelada, transferir para recipiente próprio e amolecer brevemente antes de servir."
  ],
  "source_time_reference": "fonte: cerca de 15 min de preparo; o método principal é bater e servir/congelar",
  "source_temperature_reference": "preparo frio",
  "source_endpoint_reference": "cremoso; pedaços preservados quando a ficha assim especificar",
  "adaptation_guardrails": [
    "A fonte usa fruta tropical congelada e mel/maple; na adaptação usar apenas morango/mamão, whey e iogurte zero lactose previstos."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-67BF43F16CPM-SRC-67BF43F16C
ver dados
{
  "id": "PM-SRC-67BF43F16C",
  "source_id": "SRC-67BF43F16C",
  "source_title": "Spicy cauliflower",
  "source_url": "https://www.bbcgoodfood.com/recipes/spicy-cauliflower",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira/wok com tampa",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Aquecer a gordura e perfumar gengibre/especiarias por poucos segundos.",
    "Adicionar a couve-flor, reduzir o calor e tampar.",
    "Cozinhar mexendo ocasionalmente até amaciar e as especiarias aderirem.",
    "Finalizar com ervas autorizadas."
  ],
  "source_time_reference": "fonte: ~10 min tampada após as especiarias",
  "source_temperature_reference": "início quente; depois calor reduzido",
  "source_endpoint_reference": "floretes macios, ainda estruturados, cobertos de especiarias",
  "adaptation_guardrails": [
    "Usar apenas especiarias autorizadas."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-73EC562C77PM-SRC-73EC562C77
ver dados
{
  "id": "PM-SRC-73EC562C77",
  "source_id": "SRC-73EC562C77",
  "source_title": "Crustless quiche",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/fritatta-recipes/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "forma/ramequim",
    "frigideira",
    "batedor",
    "forno"
  ],
  "source_method_paraphrase": [
    "Pré-cozinhar recheios úmidos para retirar excesso de água.",
    "Bater ovos com os lácteos/queijo que realmente constem na adaptação e temperar.",
    "Combinar recheio e ovos, colocar na forma e finalizar com o queijo autorizado.",
    "Assar até dourar, mantendo apenas leve tremor central antes do descanso."
  ],
  "source_time_reference": "25–30 min de forno após o pré-preparo",
  "source_temperature_reference": "180°C / 160°C ventilado",
  "source_endpoint_reference": "dourada com leve tremor central que termina de firmar no descanso",
  "adaptation_guardrails": [
    "A fonte usa creme/pancetta; omitir quando não constarem na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-76B58D0101PM-SRC-76B58D0101
ver dados
{
  "id": "PM-SRC-76B58D0101",
  "source_id": "SRC-76B58D0101",
  "source_title": "Cauliflower purée",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/cauliflower-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "panela ou vaporizador",
    "processador/liquidificador"
  ],
  "source_method_paraphrase": [
    "Cozinhar a couve-flor até ficar completamente macia.",
    "Escorrer e deixar o vapor sair para evitar purê aguado.",
    "Processar até liso com somente os componentes cremosos/gordura autorizados.",
    "Ajustar temperos e manter aquecido sem ferver vigorosamente."
  ],
  "source_time_reference": "fonte de purê; tempo depende do tamanho dos floretes",
  "source_temperature_reference": "cozimento até maciez; processar quente",
  "source_endpoint_reference": "purê liso, espesso e sem água livre",
  "adaptation_guardrails": [
    "Usar iogurte zero lactose apenas quando constar; sem farinha."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-7A4C9CE916PM-SRC-7A4C9CE916
ver dados
{
  "id": "PM-SRC-7A4C9CE916",
  "source_id": "SRC-7A4C9CE916",
  "source_title": "Ham, mushroom & spinach frittata",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/fritatta-recipes/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente apta para grill",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Dourar os cogumelos para remover umidade.",
    "Adicionar a proteína/folhas autorizadas e aquecer brevemente.",
    "Adicionar ovos batidos, cozinhar em fogo baixo até quase firmes e finalizar sob grill com queijo quando previsto."
  ],
  "source_time_reference": "fonte: cogumelos ~2 min, recheio ~1 min, ovos ~3 min, grill ~2 min",
  "source_temperature_reference": "fogo alto para cogumelos; baixo para ovos; grill alto",
  "source_endpoint_reference": "base firme e topo recém-dourado",
  "adaptation_guardrails": [
    "Frango pode substituir presunto; espinafre só se estiver na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-7A6D11BAC7PM-SRC-7A6D11BAC7
ver dados
{
  "id": "PM-SRC-7A6D11BAC7",
  "source_id": "SRC-7A6D11BAC7",
  "source_title": "Instant frozen berry yogurt",
  "source_url": "https://www.bbcgoodfood.com/recipes/instant-frozen-berry-yogurt",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "processador potente"
  ],
  "source_method_paraphrase": [
    "Usar a fruta congelada e o iogurte zero lactose bem frio.",
    "Processar junto com whey/ingredientes autorizados somente até formar textura lisa de sorvete.",
    "Consumir imediatamente para preservar a textura."
  ],
  "source_time_reference": "fonte: cerca de 20 s de processamento",
  "source_temperature_reference": "sem cocção; ingredientes congelados/frios",
  "source_endpoint_reference": "textura lisa de sorvete soft, sem derreter",
  "adaptation_guardrails": [
    "Mel/agave não entra salvo se listado."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-7C7CF77559PM-SRC-7C7CF77559
ver dados
{
  "id": "PM-SRC-7C7CF77559",
  "source_id": "SRC-7C7CF77559",
  "source_title": "High-protein low-carb egg bites",
  "source_url": "https://www.eatingwell.com/al-roker-high-protein-egg-bite-recipe-11928644",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "liquidificador",
    "forma de muffin/silicone",
    "forno"
  ],
  "source_method_paraphrase": [
    "Bater ovos/claras com o queijo e temperos efetivamente previstos até a mistura ficar homogênea.",
    "Distribuir qualquer recheio já cozido autorizado nas cavidades e completar com a mistura de ovos.",
    "Assar até os bites inflarem e o centro firmar; deixar repousar brevemente antes de desenformar."
  ],
  "source_time_reference": "fonte: cerca de 25 min",
  "source_temperature_reference": "350°F / ~177°C",
  "source_endpoint_reference": "inflados e firmes no centro",
  "adaptation_guardrails": [
    "A fonte usa cottage cheese, cheddar e sausage; substituir/omitir conforme a porção. Frango, quando presente na nossa versão, entra já cozido como recheio."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-7F8EF76EB6PM-SRC-7F8EF76EB6
ver dados
{
  "id": "PM-SRC-7F8EF76EB6",
  "source_id": "SRC-7F8EF76EB6",
  "source_title": "Fish mappas",
  "source_url": "https://www.bbcgoodfood.com/recipes/fish-mappas",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela larga",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Cozinhar a cebola em fogo médio até amolecer e começar a dourar; a fonte usa 5–10 min.",
    "Adicionar alho e tomate autorizados e cozinhar brevemente; na fonte, 2 min.",
    "Adicionar pasta/especiarias de curry e cozinhar mais cerca de 2 min para perfumar.",
    "Adicionar somente o líquido cremoso permitido e levar à fervura.",
    "Adicionar o peixe e reduzir para fervura suave até recém-cozido; a fonte usa 5–8 min."
  ],
  "source_time_reference": "fonte: cebola 5–10 min; alho/tomate 2 min; curry 2 min; peixe 5–8 min",
  "source_temperature_reference": "fogo médio; fervura suave após adicionar o peixe",
  "source_endpoint_reference": "peixe macio, opaco e recém-cozido",
  "adaptation_guardrails": [
    "Leite de coco, arroz e outros acompanhamentos da fonte só entram se autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-86C8B417AEPM-SRC-86C8B417AE
ver dados
{
  "id": "PM-SRC-86C8B417AE",
  "source_id": "SRC-86C8B417AE",
  "source_title": "Pan-Seared Tilapia",
  "source_url": "https://www.allrecipes.com/recipe/201934/pan-seared-tilapia/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente ou pesada",
    "espátula de peixe",
    "papel-toalha"
  ],
  "source_method_paraphrase": [
    "Secar muito bem os filés e temperar os dois lados.",
    "Aquecer o azeite previsto em fogo médio-alto.",
    "Colocar os filés sem sobrepor e selar até dourar; virar com cuidado e terminar o segundo lado.",
    "Finalizar com limão/ervas autorizados e retirar assim que o peixe lascar facilmente."
  ],
  "source_time_reference": "fonte: cerca de 4 min por lado",
  "source_temperature_reference": "médio-alto",
  "source_endpoint_reference": "opaco, úmido e lascando facilmente",
  "adaptation_guardrails": [
    "A fonte usa farinha e manteiga; omitir quando não constarem. Não é necessário lavar o peixe; apenas secar a superfície."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-88BF8D7441PM-SRC-88BF8D7441
ver dados
{
  "id": "PM-SRC-88BF8D7441",
  "source_id": "SRC-88BF8D7441",
  "source_title": "Easy protein pancakes",
  "source_url": "https://www.bbcgoodfood.com/recipes/easy-protein-pancakes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "liquidificador",
    "frigideira antiaderente",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Bater os ingredientes da massa até ficar lisa; se houver fruta, incorporar na quantidade prevista.",
    "Aquecer uma película da gordura contabilizada.",
    "Formar discos com espaço entre eles; virar quando surgirem bolhas/firmar a superfície e a base estiver dourada.",
    "Cozinhar o segundo lado até firmar."
  ],
  "source_time_reference": "fonte: 1–2 min primeiro lado + ~1 min segundo",
  "source_temperature_reference": "frigideira quente/moderada",
  "source_endpoint_reference": "douradas e cozidas no centro",
  "adaptation_guardrails": [
    "Aveia/leite/coberturas da fonte só entram se constarem na versão adaptada."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-89DE384F5FPM-SRC-89DE384F5F
ver dados
{
  "id": "PM-SRC-89DE384F5F",
  "source_id": "SRC-89DE384F5F",
  "source_title": "Stir-fried garlic green beans",
  "source_url": "https://www.bbcgoodfood.com/recipes/stir-fried-garlic-green-beans",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "wok ou frigideira larga",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Aquecer a gordura contabilizada no wok/frigideira.",
    "Saltear a vagem em fogo alto por cerca de 5 min, até começar a dourar e continuar firme.",
    "Adicionar o alho e continuar apenas até o alho começar a dourar.",
    "Adicionar o molho/tempero autorizado no final e servir."
  ],
  "source_time_reference": "fonte: vagem ~5 min antes do alho",
  "source_temperature_reference": "fogo alto",
  "source_endpoint_reference": "vagem al dente com pontos dourados; alho dourado sem queimar",
  "adaptation_guardrails": [
    "Molho de ostra/soja só entra se estiver autorizado; não adicionar óleo além da porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-8AB2C3072EPM-SRC-8AB2C3072E
ver dados
{
  "id": "PM-SRC-8AB2C3072E",
  "source_id": "SRC-8AB2C3072E",
  "source_title": "Beef stroganoff",
  "source_url": "https://www.bbcgoodfood.com/recipes/beef-stroganoff",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira larga",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Amaciar cebola e alho; dourar cogumelos separadamente para perderem água.",
    "Secar/temperar a carne e selar rapidamente em frigideira quente sem lotar.",
    "Reunir os componentes e reduzir o molho curto com mostarda/caldo/tomate apenas quando previstos.",
    "Retirar do calor forte e incorporar o iogurte zero lactose da adaptação para manter cremosidade sem talhar."
  ],
  "source_time_reference": "fonte: cebola ~15 min; alho 2–3 min; cogumelos ~5 min; carne 3–4 min; molho ~5 min",
  "source_temperature_reference": "frigideira quente para selar; calor médio/baixo no molho",
  "source_endpoint_reference": "carne dourada; cogumelos sem excesso de líquido; molho cremoso e curto",
  "adaptation_guardrails": [
    "A fonte usa farinha/crème fraîche; omitir farinha e trocar o lácteo conforme a adaptação."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-8CFAC315C0PM-SRC-8CFAC315C0
ver dados
{
  "id": "PM-SRC-8CFAC315C0",
  "source_id": "SRC-8CFAC315C0",
  "source_title": "Strawberry & banana almond smoothie — 4.6/5 (18)",
  "source_url": "https://www.bbcgoodfood.com/recipes/strawberry-banana-almond-smoothie",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "liquidificador"
  ],
  "source_method_paraphrase": [
    "Adicionar fruta, iogurte/whey e demais ingredientes autorizados ao liquidificador.",
    "Bater até ficar completamente liso.",
    "Servir imediatamente bem frio."
  ],
  "source_time_reference": "processar apenas até liso",
  "source_temperature_reference": "sem cocção; frio",
  "source_endpoint_reference": "bebida homogênea sem pedaços grandes",
  "adaptation_guardrails": [
    "Leite/amêndoa da fonte entram apenas nas quantidades autorizadas."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-8E365AEB6DPM-SRC-8E365AEB6D
ver dados
{
  "id": "PM-SRC-8E365AEB6D",
  "source_id": "SRC-8E365AEB6D",
  "source_title": "Moroccan kofte with spicy tomato sauce",
  "source_url": "https://www.bbcgoodfood.com/recipes/moroccan-kofte-spicy-tomato-sauce",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "espetos",
    "grill/churrasqueira",
    "panela para molho"
  ],
  "source_method_paraphrase": [
    "Misturar a carne crua moída com cebola/ervas/especiarias autorizadas e moldar cilindros uniformes em espetos.",
    "Reduzir o molho de tomate/harissa autorizado por 15–20 min ou até espesso.",
    "Grelhar as koftas por cerca de 6–8 min no total, virando, até douradas e cozidas no centro.",
    "porcionar pelo peso cru indicado antes da cocção e aplicar apenas os molhos previstos na alternativa."
  ],
  "source_time_reference": "fonte: molho 15–20 min; koftas 6–8 min",
  "source_temperature_reference": "grill quente; molho em fervura suave",
  "source_endpoint_reference": "koftas douradas e cozidas no centro",
  "adaptation_guardrails": [
    "Não reintroduzir iogurte, pinoli, açúcar ou acompanhamentos quando não autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-94F9CB1526PM-SRC-94F9CB1526
ver dados
{
  "id": "PM-SRC-94F9CB1526",
  "source_id": "SRC-94F9CB1526",
  "source_title": "Green beans with shallots, garlic & toasted almonds",
  "source_url": "https://www.bbcgoodfood.com/recipes/green-beans-shallots-garlic-toasted-almonds",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela",
    "frigideira"
  ],
  "source_method_paraphrase": [
    "Cozinhar a vagem até al dente, escorrer e secar.",
    "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar.",
    "Adicionar a vagem apenas para aquecer e envolver.",
    "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
  ],
  "source_time_reference": "fonte: aromáticos ~8 min; vagem cozida previamente",
  "source_temperature_reference": "calor suave para aromáticos",
  "source_endpoint_reference": "vagem firme; amêndoas crocantes",
  "adaptation_guardrails": [
    "Quantidade de amêndoa e azeite deve seguir a porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-98F3FC1410PM-SRC-98F3FC1410
ver dados
{
  "id": "PM-SRC-98F3FC1410",
  "source_id": "SRC-98F3FC1410",
  "source_title": "Cauliflower purée — 5.0/5 (2)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/cauliflower-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "panela ou vaporizador",
    "processador/liquidificador"
  ],
  "source_method_paraphrase": [
    "Cozinhar a couve-flor até ficar completamente macia.",
    "Escorrer e deixar o vapor sair para evitar purê aguado.",
    "Processar até liso com somente os componentes cremosos/gordura autorizados.",
    "Ajustar temperos e manter aquecido sem ferver vigorosamente."
  ],
  "source_time_reference": "fonte de purê; tempo depende do tamanho dos floretes",
  "source_temperature_reference": "cozimento até maciez; processar quente",
  "source_endpoint_reference": "purê liso, espesso e sem água livre",
  "adaptation_guardrails": [
    "Usar iogurte zero lactose apenas quando constar; sem farinha."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-9E9B51B6F8PM-SRC-9E9B51B6F8
ver dados
{
  "id": "PM-SRC-9E9B51B6F8",
  "source_id": "SRC-9E9B51B6F8",
  "source_title": "Basic omelette recipe",
  "source_url": "https://www.bbcgoodfood.com/recipes/basic-omelette",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente",
    "batedor ou garfo",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Bater os ovos e temperar.",
    "Aquecer a frigideira em fogo médio-baixo com a gordura prevista na porção.",
    "Adicionar os ovos; à medida que firmarem, puxar as partes cozidas para o centro e inclinar a frigideira para o ovo ainda líquido ocupar os espaços.",
    "Quando estiver quase firme, adicionar o recheio autorizado, dobrar e retirar antes de ressecar."
  ],
  "source_time_reference": "cerca de 5 min de cocção na receita básica",
  "source_temperature_reference": "fogo médio-baixo",
  "source_endpoint_reference": "omelete firme por fora e ainda macia/úmida no interior",
  "adaptation_guardrails": [
    "Usar apenas o queijo e demais recheios presentes na porção adaptada."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-9FAF756059PM-SRC-9FAF756059
ver dados
{
  "id": "PM-SRC-9FAF756059",
  "source_id": "SRC-9FAF756059",
  "source_title": "Roast pumpkin with cream, thyme & Parmesan",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/pumpkin-soup-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Cortar a abóbora no formato da adaptação e temperar com tomilho/alho e azeite autorizados.",
    "Assar até ficar macia e começar a dourar.",
    "Adicionar a camada fina de parmesão no final e aumentar o calor/grill somente para dourar."
  ],
  "source_time_reference": "fonte inteira: 1½ h em forno baixo + ~15 min em forno mais alto; cubos exigem bem menos",
  "source_temperature_reference": "fonte: 150°C/130°C ventilado, final 200°C/180°C",
  "source_endpoint_reference": "abóbora macia e bordas/queijo dourados",
  "adaptation_guardrails": [
    "A fonte usa creme/leite dentro de abóbora inteira; não reintroduzir. Para cubos, usar endpoint e não o tempo de 1½ h."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-A07C37A0EFPM-SRC-A07C37A0EF
ver dados
{
  "id": "PM-SRC-A07C37A0EF",
  "source_id": "SRC-A07C37A0EF",
  "source_title": "Air fryer omelette",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/omelette-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "air fryer",
    "recipiente baixo antiaderente resistente ao calor",
    "batedor"
  ],
  "source_method_paraphrase": [
    "Pré-aquecer a air fryer com o recipiente dentro.",
    "Bater ovos e misturar somente os recheios autorizados.",
    "Adicionar a gordura prevista ao recipiente, despejar a mistura e cozinhar até inflar e dourar."
  ],
  "source_time_reference": "8–10 min",
  "source_temperature_reference": "180°C",
  "source_endpoint_reference": "inflada, dourada e recém-firme",
  "adaptation_guardrails": [
    "A quantidade de gordura é a da porção, não a da receita-fonte."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-A119C27396PM-SRC-A119C27396
ver dados
{
  "id": "PM-SRC-A119C27396",
  "source_id": "SRC-A119C27396",
  "source_title": "Keto doughnuts",
  "source_url": "https://www.bbcgoodfood.com/recipes/keto-donuts",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigelas",
    "batedor/espátula",
    "forma de doughnut",
    "forno"
  ],
  "source_method_paraphrase": [
    "Misturar separadamente secos e líquidos autorizados e então combinar apenas até homogêneo.",
    "Distribuir nos moldes sem preencher completamente; a fonte usa cerca de 3/4 da altura.",
    "Assar inicialmente em forno mais quente para firmar a estrutura; a fonte usa 200°C/180°C ventilado por 12 min.",
    "Reduzir o forno e terminar a cocção; a fonte usa 180°C/160°C ventilado por mais 5–10 min.",
    "Esfriar antes de desenformar para evitar quebra."
  ],
  "source_time_reference": "fonte: 12 min + 5–10 min",
  "source_temperature_reference": "200°C/180°C ventilado, depois 180°C/160°C ventilado",
  "source_endpoint_reference": "estrutura firme, assada e estável para desenformar após esfriar",
  "adaptation_guardrails": [
    "Não reintroduzir farinhas, adoçantes ou coberturas da fonte que não estejam na adaptação. A massa adaptada pode exigir tempo menor."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-A280B37386PM-SRC-A280B37386
ver dados
{
  "id": "PM-SRC-A280B37386",
  "source_id": "SRC-A280B37386",
  "source_title": "Herb omelette with fried tomatoes",
  "source_url": "https://www.bbcgoodfood.com/recipes/herb-omelette-fried-tomatoes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira pequena antiaderente",
    "tigela",
    "colher de pau/espátula"
  ],
  "source_method_paraphrase": [
    "Se tomate estiver autorizado, dourá-lo com o lado cortado para baixo até começar a amolecer e ganhar cor; reservar.",
    "Bater os ovos com as ervas e pimenta autorizadas.",
    "Adicionar os ovos à frigideira e mover delicadamente a parte que firma no fundo para permitir que ovo ainda líquido ocupe o espaço.",
    "Parar de mexer quando estiver quase cozido e deixar firmar em formato de omelete."
  ],
  "source_time_reference": "fonte: receita cozinha em ~5 min",
  "source_temperature_reference": "fogo médio",
  "source_endpoint_reference": "omelete recém-firme e macia",
  "adaptation_guardrails": [
    "Tomate entra somente quando constar da adaptação."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-A3A876CA09PM-SRC-A3A876CA09
ver dados
{
  "id": "PM-SRC-A3A876CA09",
  "source_id": "SRC-A3A876CA09",
  "source_title": "Spaghetti bolognese — 4.8/5 (1207)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/beef-mince-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "panela pesada",
    "colher"
  ],
  "source_method_paraphrase": [
    "Dourar a carne moída e amaciar os aromáticos previstos.",
    "Adicionar tomate e temperos autorizados, raspar o fundo da panela e levar a fervura suave.",
    "Cozinhar lentamente até reduzir e desenvolver sabor; servir sem massa quando a ficha disser “sem massa”."
  ],
  "source_time_reference": "receita-fonte de bolonhesa longa (~2 h total)",
  "source_temperature_reference": "fogo baixo após dourar",
  "source_endpoint_reference": "molho espesso e carne macia",
  "adaptation_guardrails": [
    "Massa, vinho e demais ingredientes da fonte são omitidos se não constarem na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-A3FD77E7A4PM-SRC-A3FD77E7A4
ver dados
{
  "id": "PM-SRC-A3FD77E7A4",
  "source_id": "SRC-A3FD77E7A4",
  "source_title": "Masala frittata with avocado salsa — 4.7/5 (70)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/fritatta-recipes/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente apta para grill",
    "batedor",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Dourar a cebola lentamente e adicionar a pasta/especiarias masala por cerca de 1 min para liberar aroma.",
    "Adicionar tomate e pimenta autorizados e cozinhar até o tomate concentrar.",
    "Adicionar ovos batidos e ervas; cozinhar em fogo baixo até quase firmes.",
    "Finalizar sob grill alto até firmar e dourar levemente; servir a salsa/abacate à parte quando constar na porção."
  ],
  "source_time_reference": "cebola ~10 min; ovos 8–10 min; grill 3–5 min",
  "source_temperature_reference": "fogo médio/baixo; grill alto",
  "source_endpoint_reference": "frittata quase firme antes do grill e dourada no final",
  "adaptation_guardrails": [
    "Salsa/abacate só quando presentes na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-A400F927EEPM-SRC-A400F927EE
ver dados
{
  "id": "PM-SRC-A400F927EE",
  "source_id": "SRC-A400F927EE",
  "source_title": "Easy chicken curry",
  "source_url": "https://www.bbcgoodfood.com/recipes/easy-chicken-curry",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira/panela larga",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Amaciar cebola e aromáticos; adicionar alho/gengibre e cozinhar brevemente.",
    "Adicionar o frango e dourar os cubos.",
    "Adicionar especiarias/pasta e os componentes de molho autorizados; cozinhar em fervura suave até o molho reduzir e aderir.",
    "Quando houver iogurte na adaptação, incorporar no final e evitar fervura forte."
  ],
  "source_time_reference": "fonte: cebola 8–10 min; aromáticos ~1 min; frango ~5 min antes do molho; molho 25–30 min",
  "source_temperature_reference": "médio → fervura suave",
  "source_endpoint_reference": "frango cozido e molho concentrado",
  "adaptation_guardrails": [
    "A versão “curry seco” pode omitir tomate/água/iogurte; nesse caso parar quando especiarias estiverem aderidas ao frango."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-A67220CDDDPM-SRC-A67220CDDD
ver dados
{
  "id": "PM-SRC-A67220CDDD",
  "source_id": "SRC-A67220CDDD",
  "source_title": "Green beans with wholegrain mustard — 4.5/5 (9)",
  "source_url": "https://www.bbcgoodfood.com/recipes/green-beans-wholegrain-mustard",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela",
    "frigideira rasa"
  ],
  "source_method_paraphrase": [
    "Cozinhar a vagem em água fervente até ficar verde viva e ainda com leve crocância.",
    "Amaciar o aromático autorizado na gordura prevista; adicionar mostarda e o componente cremoso apenas se houver.",
    "Adicionar vagem escorrida e limão, envolver rapidamente e servir."
  ],
  "source_time_reference": "fonte: vagem 4–5 min",
  "source_temperature_reference": "fervura para vagem; calor moderado no molho",
  "source_endpoint_reference": "vagem al dente, revestida por molho leve",
  "adaptation_guardrails": [
    "Crème fraîche da fonte pode ser omitido/trocado por iogurte zero lactose somente se isso constar na ficha."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-A8DDED5CA2PM-SRC-A8DDED5CA2
ver dados
{
  "id": "PM-SRC-A8DDED5CA2",
  "source_id": "SRC-A8DDED5CA2",
  "source_title": "Cinnamon roll pancakes",
  "source_url": "https://www.bbcgoodfood.com/recipes/cinnamon-roll-pancakes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela/jarra",
    "batedor",
    "squeeze bottle ou saco de confeitar opcional",
    "frigideira antiaderente",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Misturar a massa adaptada até lisa e homogênea.",
    "Preparar o componente de canela/swirl somente com ingredientes autorizados e, se aplicável, colocar em bico/saco para dosar.",
    "Cozinhar a panqueca em fogo baixo-médio; quando as bordas firmarem e surgirem bolhas, aplicar o swirl autorizado e virar com cuidado.",
    "Terminar o segundo lado apenas até o centro estar cozido; a fonte usa cerca de 2–3 min no segundo lado para sua massa original."
  ],
  "source_time_reference": "fonte: segundo lado ~2–3 min; primeiro lado guiado por bordas firmes/bolhas",
  "source_temperature_reference": "fogo baixo-médio",
  "source_endpoint_reference": "superfície firme, centro cozido e desenho de canela preservado",
  "adaptation_guardrails": [
    "Açúcar, maple syrup, manteiga, farinha e iogurte da fonte não entram automaticamente."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-A9091F6283PM-SRC-A9091F6283
ver dados
{
  "id": "PM-SRC-A9091F6283",
  "source_id": "SRC-A9091F6283",
  "source_title": "Jerk chicken",
  "source_url": "https://www.bbcgoodfood.com/recipes/jerk-chicken/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "processador ou pilão",
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta.",
    "Cobrir o frango uniformemente com a pasta.",
    "Assar ou grelhar até dourar e cozinhar por completo."
  ],
  "source_time_reference": "fonte para coxas com osso: 45–50 min",
  "source_temperature_reference": "200°C / 180°C ventilado",
  "source_endpoint_reference": "dourado, aromático e cozido",
  "adaptation_guardrails": [
    "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-AA1FF0AF1BPM-SRC-AA1FF0AF1B
ver dados
{
  "id": "PM-SRC-AA1FF0AF1B",
  "source_id": "SRC-AA1FF0AF1B",
  "source_title": "Mushroom & basil omelette with smashed tomato",
  "source_url": "https://www.bbcgoodfood.com/recipes/mushroom-basil-omelette-smashed-tomato",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira antiaderente",
    "tigela",
    "garfo/batedor",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Dourar/cozinhar os cogumelos primeiro até macios e com pouca água residual; a fonte usa 5–8 min.",
    "Bater os ovos com os temperos/ervas autorizados.",
    "Adicionar à frigideira quente e, nos primeiros segundos, mover delicadamente partes firmes para permitir que ovo líquido alcance o fundo.",
    "Enquanto o centro ainda estiver ligeiramente úmido, adicionar cogumelos e demais recheios autorizados, dobrar e terminar brevemente; a fonte usa cerca de 1 min após rechear."
  ],
  "source_time_reference": "fonte: cogumelos 5–8 min; omelete ~1 min após rechear",
  "source_temperature_reference": "fogo médio",
  "source_endpoint_reference": "cogumelos macios/dourados e omelete recém-firme, ainda macia",
  "adaptation_guardrails": [
    "Tomate e cream cheese da fonte só entram se autorizados; priorizar zero lactose quando aplicável."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-AA7390D783PM-SRC-AA7390D783
ver dados
{
  "id": "PM-SRC-AA7390D783",
  "source_id": "SRC-AA7390D783",
  "source_title": "Keto mug cake",
  "source_url": "https://www.bbcgoodfood.com/recipes/keto-dessert-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "caneca grande própria para micro-ondas",
    "garfo/colher"
  ],
  "source_method_paraphrase": [
    "Untar a caneca somente se houver gordura contabilizada.",
    "Misturar primeiro os líquidos/ovo e depois os componentes secos da versão adaptada até não haver bolsões.",
    "Cozinhar no micro-ondas em intervalos curtos, observando a expansão.",
    "Retirar ainda ligeiramente úmido no centro e descansar para terminar de firmar."
  ],
  "source_time_reference": "fonte 750 W: 3 intervalos de 30 s + 2 min de descanso",
  "source_temperature_reference": "micro-ondas alta potência na fonte",
  "source_endpoint_reference": "estrutura firme após descanso, sem ressecar",
  "adaptation_guardrails": [
    "A massa adaptada é diferente da fonte; usar intervalos como referência e endpoint como controle."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-AB34D47A8DPM-SRC-AB34D47A8D
ver dados
{
  "id": "PM-SRC-AB34D47A8D",
  "source_id": "SRC-AB34D47A8D",
  "source_title": "Yogurt recipes",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/yogurt-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "copo/pote",
    "colher"
  ],
  "source_method_paraphrase": [
    "Misturar iogurte zero lactose e whey até homogêneo.",
    "Preparar fruta em purê, macerada ou cubos conforme o nome da receita.",
    "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver.",
    "Manter refrigerado."
  ],
  "source_time_reference": "montagem fria; sem cocção",
  "source_temperature_reference": "refrigerado",
  "source_endpoint_reference": "creme espesso, camadas definidas e crocante seco",
  "adaptation_guardrails": [
    "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-AD6F9E9285PM-SRC-AD6F9E9285
ver dados
{
  "id": "PM-SRC-AD6F9E9285",
  "source_id": "SRC-AD6F9E9285",
  "source_title": "Healthy pumpkin pancakes",
  "source_url": "https://www.bbcgoodfood.com/recipes/healthy-pumpkin-pancakes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigelas",
    "batedor",
    "frigideira antiaderente",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Misturar a base líquida autorizada com o purê de abóbora e a gema quando presentes.",
    "Formar uma massa homogênea, sem grumos.",
    "Bater a clara até firme e incorporar delicadamente para dar leveza quando a versão adaptada contiver clara separada.",
    "Cozinhar em frigideira antiaderente e virar somente quando muitas bolhas surgirem e a superfície começar a secar.",
    "Terminar o segundo lado sem escurecer excessivamente."
  ],
  "source_time_reference": "fonte: guiado visualmente por bolhas e secagem da superfície",
  "source_temperature_reference": "fogo médio a médio-baixo",
  "source_endpoint_reference": "panqueca leve, firme e cozida no centro, sem base queimada",
  "adaptation_guardrails": [
    "Farinha e leite da fonte não entram se não estiverem na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-AEF5B9DDD4PM-SRC-AEF5B9DDD4
ver dados
{
  "id": "PM-SRC-AEF5B9DDD4",
  "source_id": "SRC-AEF5B9DDD4",
  "source_title": "Steak with chimichurri sauce",
  "source_url": "https://www.bbcgoodfood.com/recipes/steak-chimichurri-sauce",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "processador ou faca",
    "tigela",
    "chapa ou frigideira",
    "pinça"
  ],
  "source_method_paraphrase": [
    "Picar/processar ervas, alho e aromáticos autorizados do chimichurri e combinar com o ácido e a gordura contabilizada até virar molho rústico.",
    "Secar/temperar o bife e esfregar somente a gordura autorizada na superfície.",
    "Selar em chapa/frigideira quente; a fonte usa 2–3 min por lado para bifes de 125 g, mas o tempo deve seguir espessura e ponto.",
    "Descansar alguns minutos antes de fatiar e só então aplicar o chimichurri."
  ],
  "source_time_reference": "fonte: 2–3 min por lado; descanso de alguns minutos",
  "source_temperature_reference": "chapa/frigideira quente",
  "source_endpoint_reference": "crosta externa, ponto interno desejado e sucos redistribuídos após descanso",
  "adaptation_guardrails": [
    "Batata/fritas e salada da fonte não são parte automática da adaptação."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-B14D4E6F34PM-SRC-B14D4E6F34
ver dados
{
  "id": "PM-SRC-B14D4E6F34",
  "source_id": "SRC-B14D4E6F34",
  "source_title": "Green beans with lemon & parmesan",
  "source_url": "https://www.bbcgoodfood.com/recipes/green-beans-with-lemon-parmesan",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela/vaporizador",
    "tigela"
  ],
  "source_method_paraphrase": [
    "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada.",
    "Secar bem.",
    "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
  ],
  "source_time_reference": "fonte: vapor ~5 min ou fervura ~3 min",
  "source_temperature_reference": "cozimento curto",
  "source_endpoint_reference": "vagem verde e firme; parmesão aderido sem virar pasta",
  "adaptation_guardrails": [
    "Usar somente a quantidade de parmesão/azeite contabilizada."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-B1518DE66APM-SRC-B1518DE66A
ver dados
{
  "id": "PM-SRC-B1518DE66A",
  "source_id": "SRC-B1518DE66A",
  "source_title": "Beef mince & tomato ragu — 4.5/5 (18)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/beef-mince-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela pesada",
    "frigideira auxiliar opcional",
    "colher"
  ],
  "source_method_paraphrase": [
    "Amaciar aromáticos autorizados; em paralelo, dourar a carne moída em lotes para não cozinhar no próprio vapor.",
    "Juntar carne e aromáticos, adicionar tomate/purê autorizados e levar a fogo baixo.",
    "Cozinhar lentamente até o molho reduzir e concentrar; mexer ocasionalmente.",
    "Finalizar com ervas/queijo apenas se previstos na adaptação."
  ],
  "source_time_reference": "fonte: base de carne/tomate 1½–2 h em fogo muito baixo, seguida de ~30 min após adição final de lácteo",
  "source_temperature_reference": "dourar em fogo médio-alto; reduzir em fogo muito baixo",
  "source_endpoint_reference": "carne bem dourada e molho denso, sem água livre",
  "adaptation_guardrails": [
    "A versão sem massa omite spaghetti/mascarpone; leite e outros vegetais só entram se estiverem listados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-BA4DE63859PM-SRC-BA4DE63859
ver dados
{
  "id": "PM-SRC-BA4DE63859",
  "source_id": "SRC-BA4DE63859",
  "source_title": "Roasted broccoli",
  "source_url": "https://www.bbcgoodfood.com/recipes/roasted-broccoli",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos.",
    "Espalhar em camada única sem amontoar.",
    "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
  ],
  "source_time_reference": "25–30 min",
  "source_temperature_reference": "180°C / 160°C ventilado na fonte",
  "source_endpoint_reference": "macio com bordas crocantes/tostadas",
  "adaptation_guardrails": [
    "Limão/alho entram apenas conforme tempero autorizado."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-BA7CAF57D8PM-SRC-BA7CAF57D8
ver dados
{
  "id": "PM-SRC-BA7CAF57D8",
  "source_id": "SRC-BA7CAF57D8",
  "source_title": "Jerk chicken — 4.3/5 (36)",
  "source_url": "https://www.bbcgoodfood.com/recipes/jerk-chicken/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "processador ou pilão",
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Processar/misturar os temperos jerk, alho, gengibre, tomilho, pimenta e limão/lima autorizados até formar pasta.",
    "Cobrir o frango uniformemente com a pasta.",
    "Assar ou grelhar até dourar e cozinhar por completo."
  ],
  "source_time_reference": "fonte para coxas com osso: 45–50 min",
  "source_temperature_reference": "200°C / 180°C ventilado",
  "source_endpoint_reference": "dourado, aromático e cozido",
  "adaptation_guardrails": [
    "Coconut cream e demais ingredientes da fonte só entram se constarem na adaptação; tempo da coxa não deve ser aplicado ao peito."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-BAAEF5D467PM-SRC-BAAEF5D467
ver dados
{
  "id": "PM-SRC-BAAEF5D467",
  "source_id": "SRC-BAAEF5D467",
  "source_title": "Basil & lemon chicken meatballs",
  "source_url": "https://www.bbcgoodfood.com/recipes/basil-lemon-chicken-meatballs",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "frigideira larga",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Misturar a proteína crua moída com limão, manjericão, alho e somente os ligantes/queijo que estejam autorizados.",
    "Moldar almôndegas uniformes; a fonte usa unidades de cerca de 35 g cruas.",
    "Dourar as almôndegas em fogo médio-alto, movimentando para colorir todos os lados.",
    "Quando houver molho de tomate autorizado, terminar o cozimento em fervura suave até o centro estar cozido; sem molho, concluir na frigideira/forno conforme a ficha."
  ],
  "source_time_reference": "fonte: dourar 6–8 min; depois 15 min no molho",
  "source_temperature_reference": "médio-alto para dourar; fervura suave no molho",
  "source_endpoint_reference": "douradas por fora e cozidas no centro",
  "adaptation_guardrails": [
    "Breadcrumbs, leite, pesto, tomate e açúcar só entram se estiverem autorizados; para nossa versão simples, preservar principalmente limão/manjericão/alho e a técnica de moldar+dourar."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-BBDD66BAD5PM-SRC-BBDD66BAD5
ver dados
{
  "id": "PM-SRC-BBDD66BAD5",
  "source_id": "SRC-BBDD66BAD5",
  "source_title": "Soufflé pancakes",
  "source_url": "https://www.bbcgoodfood.com/recipes/souffle-pancakes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "batedeira/batedor elétrico",
    "frigideira antiaderente com tampa",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Bater claras até picos firmes; preparar separadamente a base proteica/aromática autorizada.",
    "Incorporar as claras delicadamente para preservar ar.",
    "Aquecer frigideira em fogo muito baixo com filme mínimo da gordura prevista e montar panquecas altas.",
    "Cozinhar tampado; adicionar uma segunda pequena camada de massa se a versão permitir; virar com cuidado e terminar tampado."
  ],
  "source_time_reference": "fonte: 2–4 min + 8 min tampado antes de virar; 4–6 min após virar",
  "source_temperature_reference": "fogo muito baixo",
  "source_endpoint_reference": "altas, douradas, com leve elasticidade sem colapsar",
  "adaptation_guardrails": [
    "A nossa massa remove açúcar/farinha quando não listados; por isso o tempo da fonte é só referência e o endpoint prevalece."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-BDEFB6DD8BPM-SRC-BDEFB6DD8B
ver dados
{
  "id": "PM-SRC-BDEFB6DD8B",
  "source_id": "SRC-BDEFB6DD8B",
  "source_title": "Egg custard recipes",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/egg-custard-recipes/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "ramequim/forma",
    "assadeira funda para banho-maria",
    "forno"
  ],
  "source_method_paraphrase": [
    "Misturar ovos e aromáticos suavemente, sem incorporar ar em excesso; adicionar somente o lácteo autorizado.",
    "Transferir para ramequim/forma.",
    "Colocar em banho-maria com água quente subindo parcialmente pelas laterais.",
    "Assar em forno baixo até as bordas firmarem e o centro ainda apresentar leve tremor; resfriar."
  ],
  "source_time_reference": "fonte: 45–50 min",
  "source_temperature_reference": "150°C / 130°C ventilado",
  "source_endpoint_reference": "recém-firme com leve tremor central",
  "adaptation_guardrails": [
    "A fonte usa leite/cream/açúcar; nossa versão pode usar iogurte/whey e deve manter apenas ingredientes contabilizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-BF10506C58PM-SRC-BF10506C58
ver dados
{
  "id": "PM-SRC-BF10506C58",
  "source_id": "SRC-BF10506C58",
  "source_title": "Chicken tikka skewers — 4.8/5 (84)",
  "source_url": "https://www.bbcgoodfood.com/recipes/chicken-tikka-skewers",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "espetos",
    "grill/forno"
  ],
  "source_method_paraphrase": [
    "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango.",
    "Marinar por cerca de 1 h quando possível.",
    "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente.",
    "Retirar quando bem dourado e cozido."
  ],
  "source_time_reference": "fonte: 15–20 min sob grill médio; marinada opcional ~1 h",
  "source_temperature_reference": "grill médio",
  "source_endpoint_reference": "bordas douradas e centro cozido",
  "adaptation_guardrails": [
    "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-BFB52B879BPM-SRC-BFB52B879B
ver dados
{
  "id": "PM-SRC-BFB52B879B",
  "source_id": "SRC-BFB52B879B",
  "source_title": "Yogurt parfaits with crushed strawberries & amaretti — 5.0/5 (4)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/yogurt-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "copo/pote",
    "colher"
  ],
  "source_method_paraphrase": [
    "Misturar iogurte zero lactose e whey até homogêneo.",
    "Preparar fruta em purê, macerada ou cubos conforme o nome da receita.",
    "Montar em camadas; manter amêndoas/crocantes separados até o consumo quando houver.",
    "Manter refrigerado."
  ],
  "source_time_reference": "montagem fria; sem cocção",
  "source_temperature_reference": "refrigerado",
  "source_endpoint_reference": "creme espesso, camadas definidas e crocante seco",
  "adaptation_guardrails": [
    "Biscoitos/amaretti e adoçantes da fonte não entram salvo se listados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-C1DE9F5FD9PM-SRC-C1DE9F5FD9
ver dados
{
  "id": "PM-SRC-C1DE9F5FD9",
  "source_id": "SRC-C1DE9F5FD9",
  "source_title": "Beef stroganoff — 4.7/5 (343)",
  "source_url": "https://www.bbcgoodfood.com/recipes/beef-stroganoff",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira larga",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Amaciar cebola e alho; dourar cogumelos separadamente para perderem água.",
    "Secar/temperar a carne e selar rapidamente em frigideira quente sem lotar.",
    "Reunir os componentes e reduzir o molho curto com mostarda/caldo/tomate apenas quando previstos.",
    "Retirar do calor forte e incorporar o iogurte zero lactose da adaptação para manter cremosidade sem talhar."
  ],
  "source_time_reference": "fonte: cebola ~15 min; alho 2–3 min; cogumelos ~5 min; carne 3–4 min; molho ~5 min",
  "source_temperature_reference": "frigideira quente para selar; calor médio/baixo no molho",
  "source_endpoint_reference": "carne dourada; cogumelos sem excesso de líquido; molho cremoso e curto",
  "adaptation_guardrails": [
    "A fonte usa farinha/crème fraîche; omitir farinha e trocar o lácteo conforme a adaptação."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-C40AB88FCFPM-SRC-C40AB88FCF
ver dados
{
  "id": "PM-SRC-C40AB88FCF",
  "source_id": "SRC-C40AB88FCF",
  "source_title": "Keto vanilla cake",
  "source_url": "https://www.bbcgoodfood.com/recipes/keto-vanilla-cake",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "peneira/tecido para iogurte",
    "batedeira ou fouet",
    "tigelas",
    "forma",
    "forno"
  ],
  "source_method_paraphrase": [
    "Quando houver cobertura de iogurte, escorrer o iogurte para ganhar corpo; a fonte usa pelo menos 2 h.",
    "Separar ovos e bater as claras até picos firmes.",
    "Misturar gemas e demais ingredientes autorizados da massa até homogêneo.",
    "Incorporar as claras delicadamente para preservar aeração e transferir para a forma.",
    "Assar seguindo a geometria da versão adaptada e retirar quando o centro estiver assado sem ressecar; resfriar antes de montar."
  ],
  "source_time_reference": "fonte: iogurte ≥2 h; assamento em dois estágios conforme a receita original",
  "source_temperature_reference": "fonte usa forno em estágios; adaptar ao tamanho da porção",
  "source_endpoint_reference": "bolo firme, aerado e sem massa líquida no centro",
  "adaptation_guardrails": [
    "Não reintroduzir farinhas de amêndoa/sementes, adoçantes ou cobertura quando não autorizados. Como a nossa massa pode ser muito menor, o endpoint prevalece sobre o tempo da fonte."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-C52DCF7F9DPM-SRC-C52DCF7F9D
ver dados
{
  "id": "PM-SRC-C52DCF7F9D",
  "source_id": "SRC-C52DCF7F9D",
  "source_title": "Chicken tikka skewers",
  "source_url": "https://www.bbcgoodfood.com/recipes/chicken-tikka-skewers",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "espetos",
    "grill/forno"
  ],
  "source_method_paraphrase": [
    "Misturar iogurte e pasta/especiarias tikka autorizadas; envolver os cubos de frango.",
    "Marinar por cerca de 1 h quando possível.",
    "Retirar excesso de marinada, colocar nos espetos e grelhar, virando periodicamente.",
    "Retirar quando bem dourado e cozido."
  ],
  "source_time_reference": "fonte: 15–20 min sob grill médio; marinada opcional ~1 h",
  "source_temperature_reference": "grill médio",
  "source_endpoint_reference": "bordas douradas e centro cozido",
  "adaptation_guardrails": [
    "Usar iogurte zero lactose; tomate/chapati/salada da fonte não entram salvo se listados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-D0DC37E945PM-SRC-D0DC37E945
ver dados
{
  "id": "PM-SRC-D0DC37E945",
  "source_id": "SRC-D0DC37E945",
  "source_title": "Pot-roast beef with French onion gravy — 4.5/5 (210)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/beef-recipes/",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "panela pesada com tampa ou slow cooker",
    "frigideira"
  ],
  "source_method_paraphrase": [
    "Dourar bem a carne e retirar.",
    "Cozinhar a cebola até bem caramelizada/dourada, aproveitando o fundo da panela.",
    "Retornar a carne com o líquido/temperos autorizados e cozinhar lentamente, tampado, até macia.",
    "Retirar a carne, descansar/fatiar e reduzir o molho de cebola se necessário."
  ],
  "source_time_reference": "fonte de pot-roast/cozimento lento; tempo depende do corte e equipamento",
  "source_temperature_reference": "selagem alta; cozimento baixo e lento",
  "source_endpoint_reference": "carne macia; cebola bem dourada; molho concentrado",
  "adaptation_guardrails": [
    "Não adicionar ingredientes da gravy original que não estejam autorizados."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-D2DB83ACE8PM-SRC-D2DB83ACE8
ver dados
{
  "id": "PM-SRC-D2DB83ACE8",
  "source_id": "SRC-D2DB83ACE8",
  "source_title": "Easy meatballs",
  "source_url": "https://www.bbcgoodfood.com/recipes/maisies-marvellous-meatballs",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "frigideira larga",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Misturar a carne crua moída com ervas e demais ingredientes autorizados, manipulando apenas até ligar.",
    "Moldar almôndegas uniformes.",
    "Dourar em lotes, movimentando para colorir todos os lados.",
    "Se houver molho autorizado, terminar nele em fervura suave; na versão de lanche, concluir a cocção sem os acompanhamentos/molho da fonte."
  ],
  "source_time_reference": "fonte: após dourar, 15 min no molho",
  "source_temperature_reference": "frigideira quente para dourar; fervura suave para finalizar",
  "source_endpoint_reference": "douradas e cozidas no centro",
  "adaptation_guardrails": [
    "Salsicha, breadcrumbs, parmesão, ovo, molho e massa da fonte só entram se autorizados; aqui a fonte é usada principalmente para técnica de mistura, moldagem e dourado."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-D4E6A3162DPM-SRC-D4E6A3162D
ver dados
{
  "id": "PM-SRC-D4E6A3162D",
  "source_id": "SRC-D4E6A3162D",
  "source_title": "Vitafor — CREATINE: Creatina Monohidratada 300g",
  "source_url": "https://www.vitafor.com.br/creatine---300g---vitafor/p",
  "extraction_status": "existing_source_overview_only",
  "equipment": [],
  "source_method_paraphrase": [],
  "source_time_reference": null,
  "source_temperature_reference": null,
  "source_endpoint_reference": null,
  "adaptation_guardrails": [],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-D6E6893D01PM-SRC-D6E6893D01
ver dados
{
  "id": "PM-SRC-D6E6893D01",
  "source_id": "SRC-D6E6893D01",
  "source_title": "Rosemary & lemon roast chicken — 4.9/5 (31)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/lemon-chicken-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Misturar alecrim, alho, limão e temperos autorizados com a gordura da porção.",
    "Cobrir o frango com essa mistura e assar até dourar.",
    "Descansar antes de fatiar/porcionar."
  ],
  "source_time_reference": "fonte para frango inteiro: 1 h 10 min + 10 min de descanso",
  "source_temperature_reference": "190°C / 170°C ventilado",
  "source_endpoint_reference": "dourado e cozido; repousado antes do corte",
  "adaptation_guardrails": [
    "A fonte é para ave inteira; para peito/cubos, usar somente o perfil aromático e técnica de assar, não o tempo de 1 h 10 min."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-D6F2695600PM-SRC-D6F2695600
ver dados
{
  "id": "PM-SRC-D6F2695600",
  "source_id": "SRC-D6F2695600",
  "source_title": "Fried fish & tomato curry",
  "source_url": "https://www.bbcgoodfood.com/recipes/fried-fish-tomato-curry",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela",
    "frigideira antiaderente",
    "processador ou mixer opcional",
    "pinça"
  ],
  "source_method_paraphrase": [
    "Amaciar e dourar levemente a cebola; a fonte usa cerca de 8 min.",
    "Preparar a base de tomate, alho e gengibre autorizados; adicionar a pasta/especiarias e cozinhar para perfumar.",
    "Reduzir a base de tomate até espessar; a fonte usa cerca de 10 min antes do componente cremoso.",
    "Selar rapidamente o peixe em frigideira quente usando somente a gordura contabilizada; a fonte usa cerca de 1 min por lado antes de transferir ao molho.",
    "Finalizar o peixe no molho em fervura suave apenas até cozinhar por completo."
  ],
  "source_time_reference": "fonte: cebola ~8 min; base de tomate ~10 min; selagem do peixe ~1 min por lado",
  "source_temperature_reference": "alto para selagem; suave no molho",
  "source_endpoint_reference": "peixe levemente dourado fora e recém-cozido dentro; molho reduzido",
  "adaptation_guardrails": [
    "A farinha de empanar da fonte não deve ser usada se não estiver na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-D97E9277C4PM-SRC-D97E9277C4
ver dados
{
  "id": "PM-SRC-D97E9277C4",
  "source_id": "SRC-D97E9277C4",
  "source_title": "Roasted broccoli — 4.0/5 (9)",
  "source_url": "https://www.bbcgoodfood.com/recipes/roasted-broccoli",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Secar bem o brócolis, misturar com a quantidade de azeite prevista e temperos.",
    "Espalhar em camada única sem amontoar.",
    "Assar até macio no interior e com pontas/bordas tostadas, movimentando a assadeira aproximadamente na metade."
  ],
  "source_time_reference": "25–30 min",
  "source_temperature_reference": "180°C / 160°C ventilado na fonte",
  "source_endpoint_reference": "macio com bordas crocantes/tostadas",
  "adaptation_guardrails": [
    "Limão/alho entram apenas conforme tempero autorizado."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-DB4B66F04APM-SRC-DB4B66F04A
ver dados
{
  "id": "PM-SRC-DB4B66F04A",
  "source_id": "SRC-DB4B66F04A",
  "source_title": "Chicken koftas with hummus & salad",
  "source_url": "https://www.bbcgoodfood.com/recipes/chicken-koftas-with-hummus-salad",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "frigideira antiaderente ou churrasqueira",
    "espátula/espetos"
  ],
  "source_method_paraphrase": [
    "Misturar frango cru moído com ovo/aveia apenas se autorizados e com orégano, limão, cominho, coentro e ervas previstas.",
    "Moldar koftas/bolas uniformes.",
    "Cozinhar em frigideira antiaderente com o azeite contabilizado, dourando dos dois lados; alternativamente finalizar em churrasqueira conforme a técnica da fonte.",
    "Depois de cozidas, pesar a porção final de proteína conforme a alternativa."
  ],
  "source_time_reference": "fonte: frigideira ~5 min por lado; churrasqueira ~4 min por lado após firmar",
  "source_temperature_reference": "fogo médio / churrasqueira quente",
  "source_endpoint_reference": "bem douradas e cozidas no centro",
  "adaptation_guardrails": [
    "Hummus, salada, aveia e ovo só entram se autorizados; a nossa versão preserva formato e perfil de especiarias."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-DB8D4382D5PM-SRC-DB8D4382D5
ver dados
{
  "id": "PM-SRC-DB8D4382D5",
  "source_id": "SRC-DB8D4382D5",
  "source_title": "Easy cheesy frittata",
  "source_url": "https://www.bbcgoodfood.com/recipes/easy-cheesy-frittata",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "batedor",
    "recipiente redondo de forno (~16 cm na fonte)",
    "forno"
  ],
  "source_method_paraphrase": [
    "Preparar apenas os recheios autorizados e distribuir no recipiente de forno.",
    "Bater os ovos e misturar aos componentes autorizados.",
    "Untar usando apenas a gordura prevista na alternativa e transferir para o recipiente.",
    "Assar até o ovo estar completamente firme; a fonte usa 180°C/160°C ventilado por cerca de 30 min."
  ],
  "source_time_reference": "fonte: ~30 min",
  "source_temperature_reference": "180°C / 160°C ventilado",
  "source_endpoint_reference": "centro totalmente firme",
  "adaptation_guardrails": [
    "A fonte contém courgette/abobrinha; ela é explicitamente proibida nesta adaptação. Preservar apenas a técnica de frittata assada."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-DE379BFD3BPM-SRC-DE379BFD3B
ver dados
{
  "id": "PM-SRC-DE379BFD3B",
  "source_id": "SRC-DE379BFD3B",
  "source_title": "Fruity sundae — 4.3/5 (3)",
  "source_url": "https://www.bbcgoodfood.com/recipes/fruity-sundae",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela/copo",
    "garfo ou mixer"
  ],
  "source_method_paraphrase": [
    "Misturar iogurte e whey até formar creme liso.",
    "Amassar/processar parte da fruta em purê e deixar parte em pedaços quando a ficha pedir contraste.",
    "Fazer swirl ou camadas sem homogeneizar totalmente.",
    "Adicionar componentes crocantes somente na hora de servir."
  ],
  "source_time_reference": "montagem imediata, sem cocção",
  "source_temperature_reference": "frio",
  "source_endpoint_reference": "camadas/swirl visíveis e texturas distintas",
  "adaptation_guardrails": [
    "Usar somente frutas/amêndoas da porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-E18543333BPM-SRC-E18543333B
ver dados
{
  "id": "PM-SRC-E18543333B",
  "source_id": "SRC-E18543333B",
  "source_title": "Chicken gyros — 4.6/5 (100)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/barbecue-recipes",
  "extraction_status": "source_family_or_existing_overview",
  "equipment": [
    "tigela",
    "espetos ou frigideira/grelha"
  ],
  "source_method_paraphrase": [
    "Cortar o frango em pedaços uniformes e envolver com limão, alho, orégano/ervas e gordura autorizada.",
    "Marinar quando a ficha permitir.",
    "Grelhar em espetos ou em frigideira bem quente em camada única, virando para dourar todos os lados.",
    "Servir o molho de iogurte separadamente quando previsto."
  ],
  "source_time_reference": "fonte de família de barbecue/souvlaki; tempo varia com o corte",
  "source_temperature_reference": "grelha/chapa quente",
  "source_endpoint_reference": "cubos/tiras bem dourados e cozidos",
  "adaptation_guardrails": [
    "Não usar pão, beterraba ou acompanhamentos da fonte que não constem na alternativa."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-E309A5D52BPM-SRC-E309A5D52B
ver dados
{
  "id": "PM-SRC-E309A5D52B",
  "source_id": "SRC-E309A5D52B",
  "source_title": "Green beans with shallots, garlic & toasted almonds — 4.8/5 (13)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/green-bean-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela",
    "frigideira"
  ],
  "source_method_paraphrase": [
    "Cozinhar a vagem até al dente, escorrer e secar.",
    "Amaciar cebola/shallot e alho lentamente na gordura prevista sem deixar queimar.",
    "Adicionar a vagem apenas para aquecer e envolver.",
    "Finalizar com limão e amêndoas tostadas; para marmita, manter as amêndoas separadas até servir."
  ],
  "source_time_reference": "fonte: aromáticos ~8 min; vagem cozida previamente",
  "source_temperature_reference": "calor suave para aromáticos",
  "source_endpoint_reference": "vagem firme; amêndoas crocantes",
  "adaptation_guardrails": [
    "Quantidade de amêndoa e azeite deve seguir a porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-E54E273CF8PM-SRC-E54E273CF8
ver dados
{
  "id": "PM-SRC-E54E273CF8",
  "source_id": "SRC-E54E273CF8",
  "source_title": "Lemon & oregano chicken traybake — 4.7/5 (141)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/lemon-chicken-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Temperar o frango com limão, orégano e a gordura prevista.",
    "Assar em assadeira quente, deixando espaço entre os pedaços para dourar.",
    "Virar/reorganizar se necessário e retirar quando dourado e cozido."
  ],
  "source_time_reference": "fonte para coxas usa etapas de 20 min e total ~40 min após entrar o frango",
  "source_temperature_reference": "220°C / 200°C ventilado",
  "source_endpoint_reference": "dourado e cozido por completo",
  "adaptation_guardrails": [
    "A adaptação normalmente usa peito/cubos e remove batata, bacon, vinho e caldo; portanto o tempo da fonte não é transferível literalmente."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-E6C55B7F2DPM-SRC-E6C55B7F2D
ver dados
{
  "id": "PM-SRC-E6C55B7F2D",
  "source_id": "SRC-E6C55B7F2D",
  "source_title": "Frozen yogurt",
  "source_url": "https://www.bbcgoodfood.com/recipes/frozen-yogurt",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "liquidificador/processador",
    "recipiente de freezer"
  ],
  "source_method_paraphrase": [
    "Processar a fruta até purê ou textura desejada.",
    "Misturar/bater com iogurte zero lactose e whey/ingredientes autorizados até homogêneo.",
    "Transferir para recipiente e congelar; para textura mais fina, mexer durante o congelamento para quebrar cristais.",
    "Retirar alguns minutos antes de servir quando estiver totalmente congelado."
  ],
  "source_time_reference": "fontes: congelar até sólido/overnight; uma versão recomenda mexer a cada hora e retirar ~10 min antes",
  "source_temperature_reference": "freezer",
  "source_endpoint_reference": "cremoso/congelado com cristais pequenos",
  "adaptation_guardrails": [
    "Condensed milk/açúcar da fonte não entram; whey é incorporado na nossa versão."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-E7030B5E00PM-SRC-E7030B5E00
ver dados
{
  "id": "PM-SRC-E7030B5E00",
  "source_id": "SRC-E7030B5E00",
  "source_title": "Mini chicken bagel burgers",
  "source_url": "https://www.bbcgoodfood.com/recipes/mini-chicken-bagel-burgers",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "assadeira",
    "grill/forno"
  ],
  "source_method_paraphrase": [
    "Misturar a carne de frango crua moída com alho/ervas e demais ingredientes autorizados.",
    "Dividir e moldar discos uniformes.",
    "Pincelar somente o azeite contabilizado e grelhar/assar, virando uma vez, até dourar e cozinhar no centro.",
    "Após a cocção, porcionar pelo peso cru indicado antes da cocção indicado na alternativa."
  ],
  "source_time_reference": "fonte: ~10 min sob grill, virando uma vez",
  "source_temperature_reference": "grill médio",
  "source_endpoint_reference": "discos firmes, dourados e cozidos no centro",
  "adaptation_guardrails": [
    "Grão-de-bico, batata-doce, bagel, maionese e acompanhamentos da fonte são omitidos na versão de lanche."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-E83E0CA483PM-SRC-E83E0CA483
ver dados
{
  "id": "PM-SRC-E83E0CA483",
  "source_id": "SRC-E83E0CA483",
  "source_title": "Herby broccoli",
  "source_url": "https://www.bbcgoodfood.com/recipes/herby-broccoli",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela de vapor ou panela com cesta",
    "tigela pequena"
  ],
  "source_method_paraphrase": [
    "Cozinhar o brócolis no vapor até macio porém estruturado; a fonte usa 5–8 min.",
    "Enquanto isso, preparar o tempero/herb mix autorizado.",
    "Escorrer/retirar o brócolis e aplicar o tempero apenas no final, preservando cor e textura."
  ],
  "source_time_reference": "fonte: vapor 5–8 min",
  "source_temperature_reference": "vapor",
  "source_endpoint_reference": "brócolis macio/al dente, verde e sem desmanchar",
  "adaptation_guardrails": [
    "Pesto e pinoli da fonte não entram se não estiverem na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-E9D3F66FB7PM-SRC-E9D3F66FB7
ver dados
{
  "id": "PM-SRC-E9D3F66FB7",
  "source_id": "SRC-E9D3F66FB7",
  "source_title": "Indian koftas with mint yogurt & flatbreads",
  "source_url": "https://www.bbcgoodfood.com/recipes/indian-koftas-mint-yogurt-flatbreads",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela",
    "frigideira antiaderente",
    "assadeira",
    "forno"
  ],
  "source_method_paraphrase": [
    "Misturar a carne crua moída com os temperos/aromáticos autorizados e moldar pequenas koftas ovais.",
    "Selar em lotes na frigideira; a fonte usa 2–3 min nesta etapa.",
    "Transferir para assadeira e terminar no forno; a fonte usa 200°C/180°C ventilado por 10 min.",
    "Preparar o molho de iogurte/hortelã somente com os ingredientes autorizados e servir separado ou sobre as koftas. A gramagem desta página já deve ser pesada antes da cocção; não é necessário repesar para porcionar."
  ],
  "source_time_reference": "fonte: frigideira 2–3 min; forno 10 min",
  "source_temperature_reference": "200°C / 180°C ventilado para finalizar",
  "source_endpoint_reference": "koftas seladas por fora e totalmente cozidas no centro",
  "adaptation_guardrails": [
    "Chutney, flatbread e acompanhamentos não entram se não constarem da alternativa; usar iogurte zero lactose quando previsto."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}
PM-SRC-EC9CFA9DDAPM-SRC-EC9CFA9DDA
ver dados
{
  "id": "PM-SRC-EC9CFA9DDA",
  "source_id": "SRC-EC9CFA9DDA",
  "source_title": "Frango churrasco (grilled lemon & garlic chicken) — 4.9/5 (18)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/lemon-chicken-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "tigela não metálica",
    "grelha/chapa ou grill",
    "espetos opcionais"
  ],
  "source_method_paraphrase": [
    "Misturar frango com limão, alho, páprica/pimenta, ervas e a quantidade de azeite prevista na versão adaptada.",
    "Cobrir e marinar sob refrigeração; a fonte usa no mínimo 2 h e permite deixar de um dia para o outro.",
    "Levar à grelha/chapa bem aquecida; virar para obter dourado uniforme sem queimar a marinada.",
    "Retirar quando cozido e deixar repousar brevemente antes de fatiar/porcionar."
  ],
  "source_time_reference": "fonte para coxa em espetos: ~6 min de um lado + 4 min do outro, com ajuste se necessário; marinada ≥2 h",
  "source_temperature_reference": "grelha/grill quente; reduzir para calor médio se a superfície escurecer rápido",
  "source_endpoint_reference": "bem dourado por fora e cozido por completo",
  "adaptation_guardrails": [
    "A fonte usa açúcar; não adicionar se não constar na versão adaptada.",
    "Para peito/tiras, não copiar o tempo da coxa: usar espessura e ponto como controle."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-ECA8E1F8D9PM-SRC-ECA8E1F8D9
ver dados
{
  "id": "PM-SRC-ECA8E1F8D9",
  "source_id": "SRC-ECA8E1F8D9",
  "source_title": "Griddled lemon & thyme chicken — 4.0/5 (9)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/lemon-chicken-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "grelha/chapa"
  ],
  "source_method_paraphrase": [
    "Misturar peito de frango com raspas/suco de limão, alho, tomilho e azeite autorizado.",
    "Temperar e colocar em chapa/grelha já quente.",
    "Grelhar dos dois lados até bem marcado e cozido."
  ],
  "source_time_reference": "fonte: 4–5 min por lado para peito",
  "source_temperature_reference": "grelha/chapa quente",
  "source_endpoint_reference": "exterior marcado; interior cozido e suculento",
  "adaptation_guardrails": [
    "Não adicionar acompanhamentos da fonte."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-F0447AD9EAPM-SRC-F0447AD9EA
ver dados
{
  "id": "PM-SRC-F0447AD9EA",
  "source_id": "SRC-F0447AD9EA",
  "source_title": "Green beans with lemon & parmesan — 5.0/5 (9)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/green-bean-recipes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "panela/vaporizador",
    "tigela"
  ],
  "source_method_paraphrase": [
    "Cozinhar a vagem brevemente até al dente; opcionalmente resfriar para preservar cor quando será armazenada.",
    "Secar bem.",
    "Misturar com limão/mostarda/azeite autorizados e finalizar com parmesão no momento de servir ou após reaquecer."
  ],
  "source_time_reference": "fonte: vapor ~5 min ou fervura ~3 min",
  "source_temperature_reference": "cozimento curto",
  "source_endpoint_reference": "vagem verde e firme; parmesão aderido sem virar pasta",
  "adaptation_guardrails": [
    "Usar somente a quantidade de parmesão/azeite contabilizada."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-F0896CC580PM-SRC-F0896CC580
ver dados
{
  "id": "PM-SRC-F0896CC580",
  "source_id": "SRC-F0896CC580",
  "source_title": "Quiche Lorraine frittata — 4.8/5 (42)",
  "source_url": "https://www.bbcgoodfood.com/recipes/collection/fritatta-recipes/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "forma/ramequim",
    "batedor",
    "forno"
  ],
  "source_method_paraphrase": [
    "Bater os ovos e incorporar os componentes autorizados da versão adaptada.",
    "Distribuir o queijo e proteína previstos de modo uniforme na forma.",
    "Assar até o centro ficar firme e a superfície dourada."
  ],
  "source_time_reference": "30–35 min na fonte",
  "source_temperature_reference": "180°C / 160°C ventilado",
  "source_endpoint_reference": "dourada e completamente firme",
  "adaptation_guardrails": [
    "Na adaptação, frango pode substituir bacon/presunto; não adicionar leite/creme se não constar na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-F2BCABD66DPM-SRC-F2BCABD66D
ver dados
{
  "id": "PM-SRC-F2BCABD66D",
  "source_id": "SRC-F2BCABD66D",
  "source_title": "Easy oven frittata",
  "source_url": "https://www.bbcgoodfood.com/recipes/easy-oven-frittata",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "recipiente de forno",
    "tigela/jarra",
    "batedor",
    "forno"
  ],
  "source_method_paraphrase": [
    "Pré-aquecer o forno e untar o recipiente somente com a gordura prevista, quando houver.",
    "Bater ovos/claras e misturar o queijo e temperos autorizados.",
    "Despejar no recipiente e distribuir os sólidos uniformemente.",
    "Assar até o centro firmar e a superfície ficar levemente dourada; repousar alguns minutos antes de cortar."
  ],
  "source_time_reference": "fonte: 35–40 min de forno",
  "source_temperature_reference": "190°C / 170°C ventilado",
  "source_endpoint_reference": "centro firme e topo dourado",
  "adaptation_guardrails": [
    "Pasta, milho, ervilha, pimentão e leite da fonte não entram na versão simplificada salvo se presentes na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-F5D734DB70PM-SRC-F5D734DB70
ver dados
{
  "id": "PM-SRC-F5D734DB70",
  "source_id": "SRC-F5D734DB70",
  "source_title": "Classic waffles",
  "source_url": "https://www.bbcgoodfood.com/recipes/classic-waffles/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "waffleira",
    "tigela/batedor ou liquidificador"
  ],
  "source_method_paraphrase": [
    "Misturar a massa adaptada até homogênea; para versão aerada, incorporar claras batidas por último quando a ficha indicar.",
    "Pré-aquecer a waffleira conforme o fabricante e untar apenas com a gordura contabilizada.",
    "Adicionar massa suficiente para cobrir a superfície sem transbordar.",
    "Cozinhar até exterior dourado/crocante e centro firme."
  ],
  "source_time_reference": "fonte: normalmente 5–6 min na waffleira",
  "source_temperature_reference": "conforme fabricante da waffleira",
  "source_endpoint_reference": "dourado e crocante por fora; firme por dentro",
  "adaptation_guardrails": [
    "Farinha, açúcar, manteiga e leite da fonte não entram salvo se listados na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-F6B78FAB13PM-SRC-F6B78FAB13
ver dados
{
  "id": "PM-SRC-F6B78FAB13",
  "source_id": "SRC-F6B78FAB13",
  "source_title": "Broiled Tilapia Parmesan — >7.900 avaliações 5 estrelas citadas pelo Allrecipes",
  "source_url": "https://www.allrecipes.com/recipe/50644/broiled-tilapia-parmesan/",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "assadeira rasa",
    "grill/broiler ou air fryer",
    "espátula"
  ],
  "source_method_paraphrase": [
    "Secar/temperar os filés e dispor em camada única.",
    "Pré-cozinhar sob grill forte, virando na metade quando a espessura permitir.",
    "Aplicar uma camada fina da cobertura de parmesão adaptada.",
    "Voltar ao grill/air fryer apenas até dourar a cobertura e o peixe lascar."
  ],
  "source_time_reference": "fonte: ~4 min de grill inicial (virando na metade) + ~2 min após a cobertura",
  "source_temperature_reference": "broiler/grill alto, filé próximo da fonte de calor",
  "source_endpoint_reference": "parmesão dourado; peixe lascando",
  "adaptation_guardrails": [
    "A fonte usa maionese e manteiga; nossa adaptação não deve adicioná-las salvo se explicitamente contabilizadas."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-FC94FE0E5APM-SRC-FC94FE0E5A
ver dados
{
  "id": "PM-SRC-FC94FE0E5A",
  "source_id": "SRC-FC94FE0E5A",
  "source_title": "Garlic mushrooms",
  "source_url": "https://www.bbcgoodfood.com/recipes/garlic-mushrooms",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "frigideira pesada"
  ],
  "source_method_paraphrase": [
    "Aquecer a frigideira antes de adicionar os cogumelos; evitar lotar a panela.",
    "Dourar em fogo muito alto até a água evaporar e a superfície começar a caramelizar.",
    "Adicionar alho somente depois do dourado principal; cozinhar brevemente.",
    "Finalizar com ervas autorizadas."
  ],
  "source_time_reference": "fonte: cogumelos 4–5 min + alho ~2 min + ervas ~30 s",
  "source_temperature_reference": "muito alto para cogumelos",
  "source_endpoint_reference": "dourados, sem líquido acumulado",
  "adaptation_guardrails": [
    "Substituir manteiga por azeite quando a manteiga não estiver na porção."
  ],
  "copyright_note": "Resumo/paráfrase operacional; consultar a URL para a receita original completa."
}
PM-SRC-FF4DBC0D5APM-SRC-FF4DBC0D5A
ver dados
{
  "id": "PM-SRC-FF4DBC0D5A",
  "source_id": "SRC-FF4DBC0D5A",
  "source_title": "Peppered fillet steak with parsley potatoes",
  "source_url": "https://www.bbcgoodfood.com/recipes/peppered-fillet-steak-parsley-potatoes",
  "extraction_status": "direct_method_paraphrase",
  "equipment": [
    "chapa/griddle",
    "pinça"
  ],
  "source_method_paraphrase": [
    "Secar a carne, usar somente a gordura contabilizada e pressionar pimenta moída grosseiramente na superfície.",
    "Aquecer bem a chapa e selar os bifes sem movimentar excessivamente.",
    "Como referência da fonte para filés de ~140 g: 2,5 min por lado malpassado ao ponto, 3,5 min por lado ao ponto e 4,5 min por lado bem-passado. Ajustar à espessura real.",
    "Descansar cerca de 5 min antes de servir/fatiar."
  ],
  "source_time_reference": "fonte: 2,5–4,5 min por lado conforme ponto; descanso 5 min",
  "source_temperature_reference": "chapa quente",
  "source_endpoint_reference": "crosta apimentada e ponto interno desejado",
  "adaptation_guardrails": [
    "Manteiga e batatas da fonte só entram se estiverem autorizadas."
  ],
  "copyright_note": "Resumo/paráfrase operacional da página específica da receita; consultar a URL para o original completo."
}

Fontes (244)

IDFonteSiteTipoNotas
SRC-5DAF94EBE0TBCA - Tabela Brasileira de Composição de AlimentosTBCAnutrition
SRC-88AF49BBAFTBCA - Tabela Brasileira de Composição de AlimentosTBCAnutrition
SRC-94152E8BF0TBCA - Tabela Brasileira de Composição de AlimentosTBCAnutrition
SRC-996808AA1CTACO 4ª ed. - NEPA/UNICAMP—nutrition
SRC-33060FD30FTBCA - Tabela Brasileira de Composição de AlimentosTBCAnutrition
SRC-C49CD862DDTBCA - Tabela Brasileira de Composição de AlimentosTBCAnutrition
SRC-4CEF6F81D9TBCA - Tabela Brasileira de Composição de AlimentosTBCAnutrition
SRC-721CE1AA4ERótulo do produto / páginas de produto consultadas—nutrition
SRC-A295CA3A0FTBCA - Tabela Brasileira de Composição de AlimentosTBCAnutrition
SRC-57A1D234A8TBCA - Tabela Brasileira de Composição de AlimentosTBCAnutrition
SRC-89E10BE714TBCA — Ovo, galinha, clara, crua, BrasilTBCAnutrition
SRC-D4E6A3162DVitafor — CREATINE: Creatina Monohidratada 300gVitaforproduct
SRC-BB905BA93AMolho de alcaparras e limãoGood Foodseasoning
SRC-BEC833BD84Greek-style dressingGood Foodseasoning
SRC-598D920C5ECaesar dressingGood Foodseasoning
SRC-AF40B8B9A9Honey-mustard dressingGood Foodseasoning
SRC-1F461F7B31Green goddess dressingGood Foodseasoning
SRC-3F757B26B9Tahini dressingGood Foodseasoning
SRC-E896E0D89DSaffron dressingGood Foodseasoning
SRC-65E09C76F8Pomegranate dressingGood Foodseasoning
SRC-8711449663Easy salad dressingGood Foodseasoning
SRC-E6D348BC0FPesto dressingGood Foodseasoning
SRC-52AB353C84Creamy kefir dressingGood Foodseasoning
SRC-69116DB631Miso dressingGood Foodseasoning
SRC-31F13B7FE6Chipotle & lime dressingGood Foodseasoning
SRC-80AD3979A8French dressingGood Foodseasoning
SRC-7A24C0245CZhoug-style dressingGood Foodseasoning
SRC-002DE5342EBloody Mary dressingGood Foodseasoning
SRC-F66A693CBFLemon & parmesan vinaigretteGood Foodseasoning
SRC-C9235888B5Berry vinaigretteGood Foodseasoning
SRC-DA38AE4C89Charred lemon dressingGood Foodseasoning
SRC-B78F61FFB7Green olive & herb dressingGood Foodseasoning
SRC-F19C64EE87Lemon dressingGood Foodseasoning
SRC-E07B5B9F15Buttermilk dressingGood Foodseasoning
SRC-4DD72881AECitrus dressingGood Foodseasoning
SRC-EC44C57F6AMint & elderflower dressingGood Foodseasoning
SRC-70BB7B5806Watercress dressingGood Foodseasoning
SRC-E89ACA468CAnchovy dressingGood Foodseasoning
SRC-2D67B9DFAEChipotle yogurt dressingGood Foodseasoning
SRC-C62E07B5ADYogurt dressingGood Foodseasoning
SRC-6F9226DA82Sesame dressingGood Foodseasoning
SRC-778302BBCBWatercress mayonnaiseGood Foodseasoning
SRC-1E5EE3F844Classic vinaigretteGood Foodseasoning
SRC-3C1D56DA69ChimichurriGood Foodseasoning
SRC-22556F65B2Herby yogurt dressingGood Foodseasoning
SRC-07CF820CC3Tomato sauceGood Foodseasoning
SRC-A589F971FAPesto clássicoGood Foodseasoning
SRC-BCA308B52DRich ragùGood Foodseasoning
SRC-8230D6214FAlfredoGood Foodseasoning
SRC-F23699F41ACheese sauceGood Foodseasoning
SRC-B5D0279EE4Roasted pepper sauceGood Foodseasoning
SRC-BB36DB7471White wine sauceGood Foodseasoning
SRC-BA7A210FDEBasil pestoGood Foodseasoning
SRC-703F211DF1BéchamelGood Foodseasoning
SRC-5D6663FD73Healthy ragùGood Foodseasoning
SRC-03F720EB4ASquished tomato sauceGood Foodseasoning
SRC-73F9A157BFMushroom sauceGood Foodseasoning
SRC-2B8EFB3CCCKale pestoGood Foodseasoning
SRC-4EE3018C6CMarinaraGood Foodseasoning
SRC-0214292851Roasted red pepper sauceGood Foodseasoning
SRC-D1A3FDBFBDMarsala sauceGood Foodseasoning
SRC-745976BD58Wild garlic pestoGood Foodseasoning
SRC-200BB48213Fresh herb sauceGood Foodseasoning
SRC-18A3609784Rocket pestoGood Foodseasoning
SRC-378B3E3365Avocado hummusGood Foodseasoning
SRC-F1EB28DBAFLemon & coriander hummusGood Foodseasoning
SRC-E1C3886561TzatzikiGood Foodseasoning
SRC-4C5E352285Ultimate tomato salsaGood Foodseasoning
SRC-8739FE7108Chickpea & red pepper dipGood Foodseasoning
SRC-BD02CB717CSmoky Spanish tomato & garlic dipGood Foodseasoning
SRC-CBD62AC4DFSpicy sweet potato hummusGood Foodseasoning
SRC-B4E600A53BBurnt aubergine raitaGood Foodseasoning
SRC-F472C1B934Butternut harissa hummusGood Foodseasoning
SRC-CF64E7C200Peanut hummusGood Foodseasoning
SRC-C93F24B73DPepper & walnut hummusGood Foodseasoning
SRC-AB0BD3A4F6Red pepper & tomato relishGood Foodseasoning
SRC-F27BD25D8ATomato chilli harissaGood Foodseasoning
SRC-E9DA34AF41Smoky chipotle salsaGood Foodseasoning
SRC-928668A1ACPumpkin hummusGood Foodseasoning
SRC-18D1234114Tomatillo salsaGood Foodseasoning
SRC-CC753AAA09Red onion Indian-spiced hummusGood Foodseasoning
SRC-BE8A4D6631Smashed bean dipGood Foodseasoning
SRC-16734F2576Guacamole salsaGood Foodseasoning
SRC-122AB869FAPineapple salsaGood Foodseasoning
SRC-9EF0CE3D2FSweetcorn salsaGood Foodseasoning
SRC-4BC7A7CD2CCrunchy corn & pepper salsaGood Foodseasoning
SRC-1466307781Salsa verdeGood Foodseasoning
SRC-3BE1991214Tomato & avocado salsaGood Foodseasoning
SRC-4EB4703A44Smoky corn & avocado salsaGood Foodseasoning
SRC-8B03BE0E6BCorn & black bean salsaGood Foodseasoning
SRC-11B373E180Red pepper & tomato salsaGood Foodseasoning
SRC-BE5878846FMexican corn salsaGood Foodseasoning
SRC-9E0303E95DSmoky tomato & pepper salsaGood Foodseasoning
SRC-615F519BF5Charred sweetcorn salsaGood Foodseasoning
SRC-50DD8DE246Pico de galloGood Foodseasoning
SRC-4A1A6FBE32Peppercorn sauceGood Foodseasoning
SRC-EAEDA0D97DDill sauceGood Foodseasoning
SRC-AE4921DC07Red wine jusGood Foodseasoning
SRC-A187187D06Whisky sauceGood Foodseasoning
SRC-AFD49200BBBlue cheese sauceGood Foodseasoning
SRC-E5B3620E2DHorseradish sauceGood Foodseasoning
SRC-288C1B6A2FCreamy mushroom sauceGood Foodseasoning
SRC-C0DE9A2FD6BéarnaiseGood Foodseasoning
SRC-074950F67DShallot & red wine sauceGood Foodseasoning
SRC-5E9C728B23Cacio e pepe butterGood Foodseasoning
SRC-4946CC88E7Cajun seasoningGood Foodseasoning
SRC-19CE09B4C3Garam masalaGood Foodseasoning
SRC-D724022058Spiced meat rubGood Foodseasoning
SRC-4C16A79506Jerk seasoning/marinadeGood Foodseasoning
SRC-190D9CC93EZa’atarGood Foodseasoning
SRC-1B9EE4F594HarissaGood Foodseasoning
SRC-DD1C8BA1DFGreen curry pasteGood Foodseasoning
SRC-519197AAC2Homemade ketchupGood Foodseasoning
SRC-A996D9396DBrown sauceGood Foodseasoning
SRC-E8CE4A5820Mango chutneyGood Foodseasoning
SRC-F4AC8174AFGuacamoleGood Foodseasoning
SRC-20E7353166Hoisin sauceGood Foodseasoning
SRC-63E09E4CC0Keto pancakesGood Foodseasoning
SRC-3E8E96B92AEgg custardGood Foodseasoning
SRC-0D69818314Keto dessert recipesGood Foodseasoning
SRC-E6C55B7F2DFrozen yogurtGood Foodseasoning
SRC-A8DDED5CA2Cinnamon roll pancakesGood Foodseasoning
SRC-4AEC2DDA8EKeto brownies / keto chocolate cakeGood Foodseasoning
SRC-AD6F9E9285Healthy pumpkin pancakesGood Foodseasoning
SRC-BDEFB6DD8BEgg custard recipesGood Foodseasoning
SRC-2254C533D0Breakfast pancake recipesGood Foodseasoning
SRC-4E6E7E712FBasic omelette — 4.7/5 (117 avaliações)Good Foodrecipe
SRC-EC9CFA9DDAFrango churrasco (grilled lemon & garlic chicken) — 4.9/5 (18)Good Foodrecipe
SRC-ECA8E1F8D9Griddled lemon & thyme chicken — 4.0/5 (9)Good Foodrecipe
SRC-BA7CAF57D8Jerk chicken — 4.3/5 (36)Good Foodrecipe
SRC-2F02D19B19Lemon yogurt chicken — 4.5/5 (34)Good Foodrecipe
SRC-09216EB51FGreek salad omelette — 4.8/5 (63)Good Foodrecipe
SRC-E54E273CF8Lemon & oregano chicken traybake — 4.7/5 (141)Good Foodrecipe
SRC-48B8FB322EChicken souvlaki — 4.8/5 (230)Good Foodrecipe
SRC-1A3490590CChicken paillard with lemon & herbs — 4.8/5 (43)Good Foodrecipe
SRC-AA1FF0AF1BMushroom & basil omelette with smashed tomatoGood Foodrecipe
SRC-E18543333BChicken gyros — 4.6/5 (100)Good Foodrecipe
SRC-A280B37386Herb omelette with fried tomatoesGood Foodrecipe
SRC-D6E6893D01Rosemary & lemon roast chicken — 4.9/5 (31)Good Foodrecipe
SRC-306EB737D8Omelette pancakes with tomato & pepper sauceGood Foodrecipe
SRC-A3FD77E7A4Masala frittata with avocado salsa — 4.7/5 (70)Good Foodrecipe
SRC-BF10506C58Chicken tikka skewers — 4.8/5 (84)Good Foodrecipe
SRC-025FA125E0Lemon & five-spice chicken — 4.4/5 (13)Good Foodrecipe
SRC-5F81012DF2Easy chicken curry — 4.5/5 (360)Good Foodrecipe
SRC-4B593C7FA1Ricotta, tomato & spinach frittata — 4.3/5 (157)Good Foodrecipe
SRC-DB8D4382D5Easy cheesy frittataGood Foodrecipe
SRC-F0896CC580Quiche Lorraine frittata — 4.8/5 (42)Good Foodrecipe
SRC-2583A03398Pumpkin, halloumi & chilli omelette — 4.7/5 (31)Good Foodrecipe
SRC-39E3863860Feta & semi-dried tomato omelette — 4.7/5 (43)Good Foodrecipe
SRC-1780962D35Healthy pepper, tomato & ham omelette — 4.6/5 (41)Good Foodrecipe
SRC-5EDCD23E60Air fryer omelette — 5.0/5 (7)Good Foodrecipe
SRC-C1DE9F5FD9Beef stroganoff — 4.7/5 (343)Good Foodrecipe
SRC-89DE384F5FStir-fried garlic green beansGood Foodrecipe
SRC-E309A5D52BGreen beans with shallots, garlic & toasted almonds — 4.8/5 (13)Good Foodrecipe
SRC-CC482A5FC3Beef curry — 4.7/5 (286)Good Foodrecipe
SRC-98F3FC1410Cauliflower purée — 5.0/5 (2)Good Foodrecipe
SRC-B1518DE66ABeef mince & tomato ragu — 4.5/5 (18)Good Foodrecipe
SRC-F0447AD9EAGreen beans with lemon & parmesan — 5.0/5 (9)Good Foodrecipe
SRC-A3A876CA09Spaghetti bolognese — 4.8/5 (1207)Good Foodrecipe
SRC-E9D3F66FB7Indian koftas with mint yogurt & flatbreadsGood Foodrecipe
SRC-0E25C4C87FAubergine with yogurt & tomato sauces — 4.0/5 (2)Good Foodrecipe
SRC-8E365AEB6DMoroccan kofte with spicy tomato sauceGood Foodrecipe
SRC-D97E9277C4Roasted broccoli — 4.0/5 (9)Good Foodrecipe
SRC-A67220CDDDGreen beans with wholegrain mustard — 4.5/5 (9)Good Foodrecipe
SRC-31F2558DC1DIY kofta burgers — 4.6/5 (53)Good Foodrecipe
SRC-567AB4BDA3Meatball stroganoffGood Foodrecipe
SRC-5F8FE8416CSlow-cooker beef stew — 4.8/5 (682)Good Foodrecipe
SRC-D0DC37E945Pot-roast beef with French onion gravy — 4.5/5 (210)Good Foodrecipe
SRC-02A27AA42EInstant frozen berry yogurt — 4.7/5 (76)Good Foodrecipe
SRC-4D44157866Strawberry frozen yogurt — 4.0/5 (50)Good Foodrecipe
SRC-DE379BFD3BFruity sundae — 4.3/5 (3)Good Foodrecipe
SRC-20D4788A6FStrawberry ice lollies — 5.0/5 (5)Good Foodrecipe
SRC-BFB52B879BYogurt parfaits with crushed strawberries & amaretti — 5.0/5 (4)Good Foodrecipe
SRC-8CFAC315C0Strawberry & banana almond smoothie — 4.6/5 (18)Good Foodrecipe
SRC-643FE5F773Frozen tropical fruit yogurt — 4.7/5 (12)Good Foodrecipe
SRC-5DCE2A5D16Super-quick fish curryGood Foodrecipe
SRC-627B49D664Creamy fish curryGood Foodrecipe
SRC-7F8EF76EB6Fish mappasGood Foodrecipe
SRC-D6F2695600Fried fish & tomato curryGood Foodrecipe
SRC-F6B78FAB13Broiled Tilapia Parmesan — >7.900 avaliações 5 estrelas citadas pelo AllrecipesAllrecipesrecipe
SRC-9E9B51B6F8Basic omelette recipeGood Foodrecipe
SRC-A07C37A0EFAir fryer omeletteGood Foodrecipe
SRC-73EC562C77Crustless quicheGood Foodrecipe
SRC-0FB2713DE2Omelette roll-upGood Foodrecipe
SRC-55FF831328Masala omelette muffinsGood Foodrecipe
SRC-7A4C9CE916Ham, mushroom & spinach frittataGood Foodrecipe
SRC-7C7CF77559High-protein low-carb egg bitesEatingWellrecipe
SRC-F2BCABD66DEasy oven frittataGood Foodrecipe
SRC-415FA9B3F1Microwave mug omeletteGood Foodrecipe
SRC-2FEC385533Cheese omeletteGood Foodrecipe
SRC-88BF8D7441Easy protein pancakesGood Foodrecipe
SRC-F5D734DB70Classic wafflesGood Foodrecipe
SRC-14CCEF0B5DClassic crêpesGood Foodrecipe
SRC-AA7390D783Keto mug cakeGood Foodrecipe
SRC-EA0A3CFBE2Keto browniesGood Foodrecipe
SRC-C40AB88FCFKeto vanilla cakeGood Foodrecipe
SRC-571CE1D10CKeto chocolate cakeGood Foodrecipe
SRC-A119C27396Keto doughnutsGood Foodrecipe
SRC-8AB2C3072EBeef stroganoffGood Foodrecipe
SRC-AEF5B9DDD4Steak with chimichurri sauceGood Foodrecipe
SRC-58CC1ECA0EMiso steakGood Foodrecipe
SRC-28230B968DSimple sirloin steakGood Foodrecipe
SRC-FF4DBC0D5APeppered fillet steak with parsley potatoesGood Foodrecipe
SRC-2D6228D97CHomemade beef burgersGood Foodrecipe
SRC-2F77203D66Lamb koftasGood Foodrecipe
SRC-2F1142BB4FMoroccan kofte with spicy tomato sauceGood Foodrecipe
SRC-08D66807B8Frango churrasco (Grilled lemon & garlic chicken)Good FoodrecipeFonte técnica-base para frango grelhado/marinado; perfis adicionais são sustentados por seasoning_refs e adaptações registradas.
SRC-A9091F6283Jerk chickenGood Foodrecipe
SRC-C52DCF7F9DChicken tikka skewersGood Foodrecipe
SRC-A400F927EEEasy chicken curryGood Foodrecipe
SRC-BAAEF5D467Basil & lemon chicken meatballsGood Foodrecipe
SRC-86C8B417AEPan-Seared TilapiaAllrecipesrecipeFonte técnica-base de tilápia; farinha/manteiga da receita-fonte são omitidas quando incompatíveis com o alvo, e o perfil aromático é sustentado por seasoning_refs.
SRC-62670668F4Broiled Tilapia ParmesanAllrecipesrecipe
SRC-850D6A5D3APork meatball bitesGood Foodrecipe
SRC-2227CA24C9Pork stroganoffGood Foodrecipe
SRC-BA4DE63859Roasted broccoliGood Foodrecipe
SRC-E83E0CA483Herby broccoliGood Foodrecipe
SRC-76B58D0101Cauliflower puréeGood Foodrecipe
SRC-67BF43F16CSpicy cauliflowerGood Foodrecipe
SRC-94F9CB1526Green beans with shallots, garlic & toasted almondsGood Foodrecipe
SRC-430616225DSesame & ginger green beansGood Foodrecipe
SRC-9FAF756059Roast pumpkin with cream, thyme & ParmesanGood Foodrecipe
SRC-FC94FE0E5AGarlic mushroomsGood Foodrecipe
SRC-2E05C79E02How to make cauliflower riceGood Foodrecipe
SRC-27DD56ED21Pumpkin puréeGood Foodrecipe
SRC-04F03C7B96Roasted aubergine, tomato & basil pastaGood Foodrecipe
SRC-B14D4E6F34Green beans with lemon & parmesanGood Foodrecipe
SRC-BBDD66BAD5Soufflé pancakesGood Foodrecipe
SRC-F1DBEB9274Fluffy Japanese soufflé pancakesGood Foodrecipe
SRC-7A6D11BAC7Instant frozen berry yogurtGood Foodrecipe
SRC-AB34D47A8DYogurt recipesGood Foodrecipe
SRC-1916763C6BHealthy snacks with yogurtEatingWellrecipe
SRC-F3BE9AEE4431 high-protein snacksGood Foodrecipe
SRC-D2DB83ACE8Easy meatballsGood Foodrecipe
SRC-657D2CF965Chicken mince recipesGood Foodrecipe
SRC-14024CE8FALemon & rosemary pork with chickpea saladGood Foodrecipe
SRC-001A054ACDLemon & fennel pork meatballsGood Foodrecipe
SRC-E7030B5E00Mini chicken bagel burgersGood Foodrecipe
SRC-DB4B66F04AChicken koftas with hummus & saladGood Foodrecipe
SRC-419B2CE79FIndian beef keema with carrots & potatoesGood Foodrecipe
SRC-YIELD-USDA-MEATUSDA Food Buying Guide — Meats/Meat Alternates Yield TableUSDAyield_referenceRaw-to-cooked production yields for meat, poultry and fish. Updated USDA FBG table.
SRC-YIELD-USDA-VEGUSDA Food Buying Guide — Vegetables Yield TableUSDAyield_referencePreparation and raw-to-cooked yields for vegetables.
SRC-YIELD-USDA-AH102USDA Agriculture Handbook 102 — Food Yields Summarized by Different Stages of PreparationUSDAyield_referenceHistorical USDA empirical yield table used where the current Food Buying Guide does not expose a direct raw-ready-to-cook → cooked factor.
SRC-YIELD-USDA-ALMONDUSDA AMS Section 32 Specification for Whole Shelled AlmondsUSDAyield_referenceUSDA maximum-moisture specifications used only to derive a low-confidence dry-roasting planning approximation: roasted <3.5%; natural pasteurized <6.5%.

Fechamentos diários (150)

IDCaféAlmoçoLancheJantarTotal
DAY001B01L02SD01D021942 kcal · P 225,5 g · C 31,7 g · G 99,4 g
DAY002B02L03SS01D042158 kcal · P 253,4 g · C 24,6 g · G 113 g
DAY003B03L04SD02D061935 kcal · P 225,5 g · C 31,6 g · G 99,2 g
DAY004B04L05SS02D072152 kcal · P 253,6 g · C 24,8 g · G 112,6 g
DAY005B05L07SD03D091932 kcal · P 225,7 g · C 32,5 g · G 98,9 g
DAY006B06L08SS03D112149 kcal · P 253,2 g · C 25,6 g · G 112,2 g
DAY007B07L10SD04D121930 kcal · P 225,2 g · C 32,6 g · G 98,7 g
DAY008B08L13SS04D132142 kcal · P 254,8 g · C 26,6 g · G 114,4 g
DAY009B09L15SD05D141925 kcal · P 226,3 g · C 33,5 g · G 100,9 g
DAY010B10L17SS05D162145 kcal · P 254,9 g · C 27,1 g · G 115,5 g
DAY011B11L18SD06D181926 kcal · P 226,7 g · C 33,4 g · G 100,8 g
DAY012B12L20SS06D192146 kcal · P 255 g · C 26,9 g · G 115,2 g
DAY013B13L21SD07D211920 kcal · P 226,8 g · C 33,1 g · G 100,6 g
DAY014B14L22SS07D232151 kcal · P 253,5 g · C 25,5 g · G 113 g
DAY015B15L23SD08D241930 kcal · P 225,1 g · C 32,1 g · G 97,8 g
DAY016B16L25SS08D252149 kcal · P 253,5 g · C 25,3 g · G 111,9 g
DAY017B17L26SD09D261934 kcal · P 224,5 g · C 33,5 g · G 98,7 g
DAY018B18L28SS09D282157 kcal · P 253,5 g · C 26,2 g · G 112,4 g
DAY019B19L30SD10D301929 kcal · P 225,6 g · C 32,9 g · G 98,1 g
DAY020B20L33SS10D322149 kcal · P 254,7 g · C 26,8 g · G 115,3 g
DAY021B21L35SD11D331925 kcal · P 226,8 g · C 33,4 g · G 101,2 g
DAY022B22L36SS11D352152 kcal · P 255 g · C 27 g · G 116,2 g
DAY023B23L37SD12D371927 kcal · P 227,1 g · C 33,4 g · G 101,8 g
DAY024B24L38SS12D382151 kcal · P 254,5 g · C 27,6 g · G 115,4 g
DAY025B25L39SD13D401915 kcal · P 226,4 g · C 33,2 g · G 99,7 g
DAY026B26L41SS13D422139 kcal · P 254,7 g · C 26,5 g · G 114,7 g
DAY027B27L42SD14D441920 kcal · P 226,5 g · C 33,2 g · G 100,5 g
DAY028B28L43SS14D452156 kcal · P 254,9 g · C 26,7 g · G 116,3 g
DAY029B29L46SD15D461930 kcal · P 226,8 g · C 32,4 g · G 101,7 g
DAY030B30L48SS15D472161 kcal · P 254,9 g · C 25,7 g · G 117,2 g
DAY031B31L49SD16D501924 kcal · P 226,5 g · C 32,5 g · G 101,2 g
DAY032B32L032SS16D0322163,7 kcal · P 253,2 g · C 24,8 g · G 114,0 g
DAY033B33L033SD17D0331936,4 kcal · P 223,1 g · C 32,5 g · G 99,4 g
DAY034B34L034SS17D0342150,5 kcal · P 254,0 g · C 25,4 g · G 112,9 g
DAY035B35L035SD18D0351930,7 kcal · P 224,8 g · C 31,9 g · G 98,2 g
DAY036B36L036SS18D0362154,2 kcal · P 253,2 g · C 25,3 g · G 113,2 g
DAY037B37L037SD19D0371940,6 kcal · P 223,7 g · C 32,6 g · G 99,4 g
DAY038B38L038SS19D0382146,5 kcal · P 254,2 g · C 25,8 g · G 112,3 g
DAY039B39L039SD20D0391912,2 kcal · P 226,9 g · C 32,9 g · G 101,3 g
DAY040B40L040SS20D0402136,5 kcal · P 255,0 g · C 26,1 g · G 115,2 g
DAY041B41L041SD21D0411916,5 kcal · P 226,4 g · C 32,8 g · G 101,0 g
DAY042B42L042SS21D0422135,1 kcal · P 254,8 g · C 26,1 g · G 115,6 g
DAY043B43L043SD22D0431913,6 kcal · P 227,1 g · C 32,7 g · G 100,8 g
DAY044B44L044SS22D0442131,9 kcal · P 255,5 g · C 26,0 g · G 114,5 g
DAY045B45L045SD23D0451920,6 kcal · P 226,5 g · C 33,1 g · G 100,4 g
DAY046B46L046SS23D0462136,3 kcal · P 255,1 g · C 26,5 g · G 115,0 g
DAY047B47L047SD24D0471917,5 kcal · P 226,9 g · C 32,2 g · G 101,0 g
DAY048B48L048SS24D0482133,2 kcal · P 255,2 g · C 26,7 g · G 115,7 g
DAY049B49L049SD25D0491922,5 kcal · P 226,9 g · C 30,9 g · G 102,0 g
DAY050B50L050SS25D0502133,5 kcal · P 254,7 g · C 25,4 g · G 115,5 g
DAY051B051L051SD026D0511937,4 kcal · P 225,1 g · C 29,7 g · G 100,4 g
DAY052B052L052SS026D0522139,9 kcal · P 255,3 g · C 24,6 g · G 116,9 g
DAY053B053L053SD027D0531918,0 kcal · P 226,7 g · C 30,3 g · G 103,1 g
DAY054B054L054SS027D0542140,8 kcal · P 254,9 g · C 23,6 g · G 117,0 g
DAY055B055L055SD028D0551921,1 kcal · P 226,5 g · C 31,6 g · G 101,8 g
DAY056B056L056SS028D0562140,3 kcal · P 254,7 g · C 24,7 g · G 117,2 g
DAY057B057L057SD029D0571935,8 kcal · P 225,2 g · C 28,1 g · G 100,8 g
DAY058B058L058SS029D0582139,2 kcal · P 255,3 g · C 24,7 g · G 116,2 g
DAY059B059L059SD030D0591922,7 kcal · P 226,4 g · C 28,5 g · G 102,8 g
DAY060B060L060SS030D0602140,8 kcal · P 254,9 g · C 23,6 g · G 117,0 g
DAY061B061L061SD031D0611920,9 kcal · P 226,1 g · C 31,1 g · G 102,3 g
DAY062B062L062SS031D0622158,2 kcal · P 253,1 g · C 24,1 g · G 113,3 g
DAY063B063L063SD032D0631918,0 kcal · P 226,7 g · C 30,3 g · G 103,1 g
DAY064B064L064SS032D0642140,2 kcal · P 255,1 g · C 24,6 g · G 115,7 g
DAY065B065L065SD033D0651918,5 kcal · P 227,3 g · C 31,7 g · G 101,1 g
DAY066B066L066SS033D0662145,2 kcal · P 254,4 g · C 24,5 g · G 115,3 g
DAY067B067L067SD034D0671934,1 kcal · P 224,7 g · C 30,8 g · G 100,7 g
DAY068B068L068SS034D0682154,1 kcal · P 253,3 g · C 24,3 g · G 112,9 g
DAY069B069L069SD035D0691940,2 kcal · P 223,0 g · C 28,2 g · G 102,5 g
DAY070B070L070SS035D0702165,7 kcal · P 252,3 g · C 23,7 g · G 110,7 g
DAY071B071L071SD036D0711933,3 kcal · P 225,3 g · C 29,9 g · G 99,9 g
DAY072B072L072SS036D0722152,3 kcal · P 253,4 g · C 24,3 g · G 113,0 g
DAY073B073L073SD037D0731938,5 kcal · P 224,7 g · C 29,7 g · G 100,0 g
DAY074B074L074SS037D0742153,2 kcal · P 253,7 g · C 23,5 g · G 113,0 g
DAY075B075L075SD038D0751942,1 kcal · P 223,2 g · C 29,8 g · G 102,0 g
DAY076B076L076SS038D0762151,5 kcal · P 253,0 g · C 24,3 g · G 114,7 g
DAY077B077L077SD039D0771932 kcal · P 225,5 g · C 29,9 g · G 99,6 g
DAY078B078L078SS039D0782148,4 kcal · P 254,4 g · C 24,3 g · G 113,6 g
DAY079B079L079SD040D0791937,2 kcal · P 224,4 g · C 31,2 g · G 100,1 g
DAY080B080L080SS040D0802155,2 kcal · P 253,3 g · C 24,1 g · G 113,6 g
DAY081B081L081SD041D0811931,7 kcal · P 225,5 g · C 28,2 g · G 100,4 g
DAY082B082L082SS041D0822152,6 kcal · P 252,9 g · C 24,3 g · G 114,8 g
DAY083B083L083SD042D0831931,7 kcal · P 225,5 g · C 28,2 g · G 100,4 g
DAY084B084L084SS042D0842149,4 kcal · P 254,3 g · C 24,3 g · G 113,6 g
DAY085B085L085SD043D0851942,3 kcal · P 223,1 g · C 29,7 g · G 102,1 g
DAY086B086L086SS043D0862155,0 kcal · P 252,8 g · C 24,2 g · G 114,5 g
DAY087B087L087SD044D0871933,2 kcal · P 225,6 g · C 31,2 g · G 99,1 g
DAY088B088L088SS044D0882140,3 kcal · P 254,8 g · C 24,5 g · G 117,1 g
DAY089B089L089SD045D0891922,8 kcal · P 225,9 g · C 30,9 g · G 103,2 g
DAY090B090L090SS045D0902137,0 kcal · P 255,4 g · C 24,7 g · G 115,4 g
DAY091B091L091SD046D0911917,4 kcal · P 227,3 g · C 29,3 g · G 102,2 g
DAY092B092L092SS046D0922136,8 kcal · P 255,7 g · C 25,3 g · G 115,4 g
DAY093B093L093SD047D0931920,0 kcal · P 226,9 g · C 29,3 g · G 102,0 g
DAY094B094L094SS047D0942146,3 kcal · P 254,6 g · C 25,1 g · G 115,7 g
DAY095B095L095SD048D0951922,5 kcal · P 226,4 g · C 30,8 g · G 102,9 g
DAY096B096L096SS048D0962137,0 kcal · P 255,4 g · C 24,7 g · G 115,4 g
DAY097B097L097SD049D0971923,7 kcal · P 226,7 g · C 31,5 g · G 101,5 g
DAY098B098L098SS049D0982136,9 kcal · P 255,6 g · C 24,6 g · G 115,9 g
DAY099B099L099SD050D0991922,9 kcal · P 226,2 g · C 30,0 g · G 102,4 g
DAY100B100L100SS050D1002137,4 kcal · P 255,3 g · C 24,6 g · G 116,1 g
DAY101B101L101SD051D1011932,7 kcal · P 224,9 g · C 35,1 g · G 101,6 g
DAY102B102L102SS051D1022139,7 kcal · P 255,0 g · C 31,3 g · G 114,2 g
DAY103B103L103SD052D1031927,2 kcal · P 225,4 g · C 35,3 g · G 101,4 g
DAY104B104L104SS052D1042148,8 kcal · P 253,5 g · C 31,2 g · G 114,9 g
DAY105B105L105SD053D1051931,9 kcal · P 224,9 g · C 36,7 g · G 101,4 g
DAY106B106L106SS053D1062149,6 kcal · P 253,0 g · C 33,8 g · G 114,7 g
DAY107B107L107SD054D1071927,4 kcal · P 225,6 g · C 36,3 g · G 100,9 g
DAY108B108L108SS054D1082149,6 kcal · P 253,4 g · C 31,2 g · G 115,6 g
DAY109B109L109SD055D1091928,2 kcal · P 225,3 g · C 37,5 g · G 101,3 g
DAY110B110L110SS055D1102150,4 kcal · P 253,4 g · C 30,2 g · G 115,5 g
DAY111B111L111SD056D1111923,4 kcal · P 225,9 g · C 34,7 g · G 101,0 g
DAY112B112L112SS056D1122149,1 kcal · P 253,7 g · C 30,5 g · G 115,1 g
DAY113B113L113SD057D1131925,0 kcal · P 226,0 g · C 36,2 g · G 101,0 g
DAY114B114L114SS057D1142148,4 kcal · P 253,6 g · C 29,6 g · G 115,5 g
DAY115B115L115SD058D1151924,5 kcal · P 225,7 g · C 37,8 g · G 100,4 g
DAY116B116L116SS058D1162149,3 kcal · P 253,2 g · C 31,8 g · G 116,0 g
DAY117B117L117SD059D1171929,4 kcal · P 225,1 g · C 40,7 g · G 100,3 g
DAY118B118L118SS059D1182144,4 kcal · P 254,1 g · C 31,4 g · G 114,2 g
DAY119B119L119SD060D1191924,4 kcal · P 226,2 g · C 36,9 g · G 100,7 g
DAY120B120L120SS060D1202144,8 kcal · P 253,9 g · C 31,3 g · G 114,9 g
DAY121B121L121SD061D1211927,0 kcal · P 225,8 g · C 36,9 g · G 100,5 g
DAY122B122L122SS061D1222154,3 kcal · P 252,9 g · C 31,1 g · G 115,2 g
DAY123B123L123SD062D1231922,1 kcal · P 226,0 g · C 37,8 g · G 100,2 g
DAY124B124L124SS062D1242145,0 kcal · P 253,9 g · C 30,4 g · G 114,7 g
DAY125B125L125SD063D1251930,2 kcal · P 225,5 g · C 38,8 g · G 99,9 g
DAY126B126L126SS063D1262148,5 kcal · P 253,4 g · C 33,7 g · G 114,5 g
DAY127B127L127SD064D1271925,3 kcal · P 225,8 g · C 34,4 g · G 101,2 g
DAY128B128L128SS064D1282149,1 kcal · P 253,3 g · C 31,2 g · G 115,0 g
DAY129B129L129SD065D1291926,5 kcal · P 225,7 g · C 35,3 g · G 100,3 g
DAY130B130L130SS065D1302145,8 kcal · P 253,6 g · C 31,2 g · G 115,6 g
DAY131B131L131SD066D1311927,5 kcal · P 225,6 g · C 36,1 g · G 100,9 g
DAY132B132L132SS066D1322142,1 kcal · P 254,4 g · C 31,3 g · G 113,9 g
DAY133B133L133SD067D1331927,5 kcal · P 225,6 g · C 36,1 g · G 100,9 g
DAY134B134L134SS067D1342144 kcal · P 253,9 g · C 31,9 g · G 114,6 g
DAY135B135L135SD068D1351927,1 kcal · P 225,5 g · C 36,9 g · G 100,5 g
DAY136B136L136SS068D1362152,4 kcal · P 253,3 g · C 31,1 g · G 114,8 g
DAY137B137L137SD069D1371921,0 kcal · P 226,3 g · C 35,3 g · G 101,7 g
DAY138B138L138SS069D1382141,7 kcal · P 254,3 g · C 30,3 g · G 114,7 g
DAY139B139L139SD070D1391929,3 kcal · P 224,8 g · C 35,8 g · G 102,1 g
DAY140B140L140SS070D1402146,6 kcal · P 253,4 g · C 31,2 g · G 115,9 g
DAY141B141L141SD071D1411941,0 kcal · P 224,3 g · C 36,4 g · G 98,5 g
DAY142B142L142SS071D1422142,1 kcal · P 254,7 g · C 32,2 g · G 114,3 g
DAY143B143L143SD072D1431925,7 kcal · P 225,7 g · C 38,4 g · G 100,0 g
DAY144B144L144SS072D1442151,6 kcal · P 253,1 g · C 32,6 g · G 115,3 g
DAY145B145L145SD073D1451932,4 kcal · P 224,7 g · C 37,5 g · G 100,8 g
DAY146B146L146SS073D1462149,0 kcal · P 253,5 g · C 33,3 g · G 113,7 g
DAY147B147L147SD074D1471927,4 kcal · P 225,6 g · C 36,3 g · G 100,9 g
DAY148B148L148SS074D1482150,0 kcal · P 253,2 g · C 33,2 g · G 114,4 g
DAY149B149L149SD075D1491930,0 kcal · P 225,0 g · C 38 g · G 100,2 g
DAY150B150L150SS075D1502150,8 kcal · P 253,1 g · C 33,1 g · G 114,9 g