{
  "$schema": "/api/v1/schema/recipe.schema.json",
  "schemaVersion": "1.0.0",
  "contentVersion": 1,
  "id": "ghee-onion-toasted-rice",
  "slug": "ghee-onion-toasted-rice",
  "title": "Classic Toasted Ghee Onion Rice",
  "description": "Classic toasted ghee onion rice with fresh onion, toasted basmati, savory bouillon, a 15-minute covered cook, and a 10-minute untouched covered rest.",
  "path": "/recipes/ghee-onion-toasted-rice/",
  "record": "/api/v1/recipes/ghee-onion-toasted-rice.json",
  "presentation": {
    "kicker": "Toasted Ghee Rice · Classic + two variations",
    "titleLead": "Toasted Ghee Rice",
    "lede": "Ghee, fresh onion, toasted basmati, and savory bouillon cook covered for 15 minutes, then rest covered and untouched for 10 minutes. Toast first. Rest covered. Fluff last.",
    "accent": "saffron"
  },
  "yield": {
    "baseQuantity": 360,
    "unitLabel": "g",
    "min": 180,
    "max": 720,
    "step": 60,
    "label": "Dry basmati rice"
  },
  "display": {
    "unitOptions": [
      "g",
      "oz"
    ],
    "defaultUnit": "g",
    "forms": [
      {
        "id": "standard",
        "label": "Standard",
        "factor": 1,
        "approximate": false
      }
    ],
    "defaultForm": "standard",
    "primaryIngredientId": "rice"
  },
  "ingredients": [
    {
      "id": "rice",
      "name": "Basmati rice, dry",
      "scaling": "proportional",
      "runtime": true,
      "baseAmount": 360,
      "unit": "g"
    },
    {
      "id": "ghee",
      "name": "Ghee",
      "scaling": "proportional",
      "runtime": true,
      "baseAmount": 42,
      "unit": "g"
    },
    {
      "id": "fresh-onion",
      "name": "Fresh onion",
      "scaling": "proportional",
      "runtime": true,
      "baseAmount": 110,
      "unit": "g",
      "note": "Classic default: sauteed in the ghee before the rice is added. Scales proportionally."
    },
    {
      "id": "garlic",
      "name": "Garlic, minced",
      "scaling": "proportional",
      "runtime": true,
      "baseAmount": 12,
      "unit": "g"
    },
    {
      "id": "bouillon",
      "name": "Better Than Bouillon",
      "scaling": "proportional",
      "runtime": true,
      "baseAmount": 22,
      "unit": "g",
      "note": "Recommended runtime amount.",
      "baseBatchRange": {
        "min": 20,
        "max": 24,
        "unit": "g",
        "scales": false,
        "label": "Approved base range",
        "note": "This range is base-batch guidance, not a live-scaled range."
      }
    },
    {
      "id": "water",
      "name": "Water",
      "scaling": "proportional",
      "runtime": true,
      "baseAmount": 750,
      "unit": "g"
    },
    {
      "id": "salt",
      "name": "Salt",
      "scaling": "to-taste",
      "runtime": true,
      "baseAmount": null,
      "unit": "to-taste",
      "note": "Only if needed."
    }
  ],
  "guidance": [],
  "method": {
    "criticalRule": {
      "title": "Keep it covered",
      "lead": "After the 15-minute cook: turn off the heat, leave the lid on, do not fluff, wait 10 minutes.",
      "detail": "Only then remove the lid and fluff."
    },
    "phases": [
      {
        "id": "phase-01",
        "index": "01",
        "title": "Build the base"
      },
      {
        "id": "phase-02",
        "index": "02",
        "title": "Cook covered"
      },
      {
        "id": "phase-03",
        "index": "03",
        "title": "Rest before fluffing"
      }
    ],
    "timings": [
      {
        "stage": "Rice toast",
        "min": 3,
        "max": 5,
        "unit": "min",
        "scales": false
      },
      {
        "stage": "Garlic",
        "min": 30,
        "max": 60,
        "unit": "sec",
        "scales": false
      },
      {
        "stage": "Dry seasoning bloom",
        "min": 15,
        "max": 30,
        "unit": "sec",
        "scales": false
      },
      {
        "stage": "Covered cook",
        "min": 15,
        "max": 15,
        "unit": "min",
        "scales": false
      },
      {
        "stage": "Covered, untouched rest",
        "min": 10,
        "max": 10,
        "unit": "min",
        "scales": false
      },
      {
        "stage": "Quick granulated-onion bloom",
        "min": 15,
        "max": 30,
        "unit": "sec",
        "scales": false
      }
    ],
    "notes": [
      "Larger batches require cookware with adequate capacity. Cooking times do not scale with yield."
    ]
  },
  "checkpoints": [
    {
      "title": "Rice toasted",
      "items": [
        {
          "text": "3–5 min toast stage complete",
          "kind": "expect"
        }
      ]
    },
    {
      "title": "Garlic / seasonings bloomed",
      "items": [
        {
          "text": "Garlic 30–60 sec",
          "kind": "expect"
        },
        {
          "text": "Dry seasoning 15–30 sec if used",
          "kind": "expect"
        }
      ]
    },
    {
      "title": "Covered cook complete",
      "items": [
        {
          "text": "15 min",
          "kind": "expect"
        },
        {
          "text": "Do not fluff",
          "kind": "avoid"
        }
      ]
    },
    {
      "title": "Rest complete",
      "items": [
        {
          "text": "10 min untouched",
          "kind": "expect"
        },
        {
          "text": "Then fluff",
          "kind": "expect"
        }
      ]
    }
  ],
  "variations": [
    {
      "id": "quick",
      "name": "Quick Toasted Ghee Rice",
      "summary": "Granulated-onion weeknight version of the same toasted ghee rice backbone.",
      "appliesTo": "360 g rice",
      "additions": [
        {
          "id": "granulated-onion",
          "name": "Granulated onion",
          "scaling": "static-guidance",
          "runtime": false,
          "baseAmount": null,
          "unit": "tsp",
          "baseBatchRange": {
            "min": 1,
            "max": 1.5,
            "unit": "tsp",
            "scales": false
          }
        },
        {
          "id": "msg",
          "name": "MSG",
          "scaling": "static-guidance",
          "runtime": false,
          "baseAmount": 0.25,
          "unit": "tsp",
          "note": "Optional: ¼ tsp MSG."
        }
      ],
      "table": {
        "caption": "Authored granulated-onion table",
        "columns": [
          "Rice quantity",
          "Granulated onion"
        ],
        "rows": [
          [
            "360–380 g",
            "1–1½ tsp"
          ],
          [
            "412 g",
            "about 1½ tsp"
          ],
          [
            "540–570 g",
            "1½–2 tsp"
          ],
          [
            "720 g",
            "2–2½ tsp"
          ]
        ]
      },
      "notes": [
        "After garlic cooks 30–60 sec, add granulated onion, bloom 15–30 sec, then immediately add cooking liquid.",
        "This table is static authored guidance. It is not driven by proportional JavaScript scaling."
      ]
    },
    {
      "id": "golden",
      "name": "Golden Toasted Ghee Rice",
      "appliesTo": "360–412 g rice",
      "additions": [
        {
          "id": "turmeric",
          "name": "Turmeric",
          "scaling": "static-guidance",
          "runtime": false,
          "baseAmount": 0.5,
          "unit": "tsp"
        },
        {
          "id": "cumin",
          "name": "Ground cumin",
          "scaling": "static-guidance",
          "runtime": false,
          "baseAmount": 1,
          "unit": "tsp"
        },
        {
          "id": "smoked-paprika",
          "name": "Smoked paprika",
          "scaling": "static-guidance",
          "runtime": false,
          "baseAmount": 1,
          "unit": "tsp"
        },
        {
          "id": "coriander",
          "name": "Ground coriander",
          "scaling": "static-guidance",
          "runtime": false,
          "baseAmount": 0.5,
          "unit": "tsp"
        },
        {
          "id": "golden-black-pepper",
          "name": "Black pepper",
          "scaling": "to-taste",
          "runtime": false,
          "baseAmount": null,
          "unit": "to-taste"
        },
        {
          "id": "bay-leaf",
          "name": "Bay leaf",
          "scaling": "fixed",
          "runtime": false,
          "baseAmount": 1,
          "unit": "count"
        }
      ],
      "notes": [
        "Use 20–25 g garlic, the upper end of the approved bouillon range, and 5–10 g finishing ghee. Optional finishes: fresh lemon, parsley, or cilantro.",
        "Shawarma, grilled chicken, kebabs, curry, spiced beef, and Mediterranean / Middle Eastern meals.",
        "Golden spices belong to this variation only. They are not merged into Classic and they do not silently become live-scaled ingredients."
      ]
    }
  ],
  "modifiers": [
    {
      "title": "More savory",
      "detail": "¼ tsp MSG or slightly more bouillon."
    },
    {
      "title": "More garlic-forward",
      "detail": "18–25 g garlic; very garlicky ≈25–30 g."
    },
    {
      "title": "Richer",
      "detail": "5–10 g fresh ghee after rest + fluff."
    },
    {
      "title": "Brighter",
      "detail": "Fresh lemon after cooking."
    },
    {
      "title": "Fresh / herby",
      "detail": "Cilantro or parsley."
    },
    {
      "title": "More aromatic Golden",
      "detail": "1 bay leaf in cooking liquid."
    },
    {
      "title": "Fresh onion + Golden spices",
      "detail": "Valid combination."
    }
  ],
  "instructions": [
    {
      "stepNumber": 1,
      "action": "Rinse rice thoroughly and drain well.",
      "phaseId": "phase-01"
    },
    {
      "stepNumber": 2,
      "action": "Melt ghee over medium heat.",
      "phaseId": "phase-01"
    },
    {
      "stepNumber": 3,
      "action": "Toast rice 3–5 minutes, stirring frequently.",
      "phaseId": "phase-01"
    },
    {
      "stepNumber": 4,
      "action": "Add garlic and cook 30–60 seconds.",
      "phaseId": "phase-01"
    },
    {
      "stepNumber": 5,
      "action": "Add any dry seasonings being used and bloom 15–30 seconds.",
      "phaseId": "phase-01"
    },
    {
      "stepNumber": 6,
      "action": "Add water + Better Than Bouillon.",
      "phaseId": "phase-02"
    },
    {
      "stepNumber": 7,
      "action": "Bring to a boil.",
      "phaseId": "phase-02"
    },
    {
      "stepNumber": 8,
      "action": "Cover and reduce heat to low.",
      "phaseId": "phase-02"
    },
    {
      "stepNumber": 9,
      "action": "Cook 15 minutes.",
      "phaseId": "phase-02"
    },
    {
      "stepNumber": 10,
      "action": "Turn off heat and leave covered, untouched, 10 minutes.",
      "phaseId": "phase-03"
    },
    {
      "stepNumber": 11,
      "action": "Only then remove lid and fluff.",
      "phaseId": "phase-03"
    }
  ],
  "provenance": {
    "publisher": "Kitchen Notes",
    "sourceDocument": "docs/recipes/ghee-onion-toasted-rice.md",
    "sourceType": "owner-supplied canonical specification",
    "nutrition": {
      "supported": false,
      "reason": "No approved nutrition source data exists for this recipe family."
    }
  }
}
