{
  "id": "0ae06ca4-157a-4caf-b957-120b5f6b81b0",
  "title": "Cheesy Baked Pasta With Sausage and Ricotta",
  "schemaVersion": "1.0.0",
  "notes": [],
  "steps": [
    {
      "id": "step1",
      "text": "Heat oven to 425 degrees. Heat oil in a 12-inch ovenproof skillet over medium-high. Crumble sausage into skillet, using a spoon to break it into small pieces. Cook until starting to brown, stirring occasionally, 5 to 7 minutes. Stir in garlic, oregano, fennel seeds and red-pepper flakes (if using), and cook another 1 to 2 minutes.",
      "title": null,
      "timers": [
        {
          "text": "5 to 7 minutes",
          "secondsMax": 420,
          "secondsMin": 300
        },
        {
          "text": "1 to 2 minutes",
          "secondsMax": 120,
          "secondsMin": 60
        }
      ],
      "consumes": [],
      "produces": [],
      "dependsOn": [],
      "equipmentIds": [],
      "originalText": "Heat oven to 425 degrees. Heat oil in a 12-inch ovenproof skillet over medium-high. Crumble sausage into skillet, using a spoon to break it into small pieces. Cook until starting to brown, stirring occasionally, 5 to 7 minutes. Stir in garlic, oregano, fennel seeds and red-pepper flakes (if using), and cook another 1 to 2 minutes.",
      "temperatures": [
        {
          "kind": "oven",
          "text": "425 degrees",
          "scale": "F",
          "value": 425
        }
      ],
      "ingredientUses": [
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing1"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing2"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing3"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing4"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing5"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing6"
        }
      ]
    },
    {
      "id": "step2",
      "text": "Stir in whole tomatoes and their juice, using a spoon to break them up. Add crushed tomatoes, bay leaves and 2 teaspoons salt, and bring to a simmer. Simmer for 10 minutes to thicken slightly.",
      "title": null,
      "timers": [
        {
          "text": "10 minutes",
          "secondsMax": null,
          "secondsMin": 600
        }
      ],
      "consumes": [],
      "produces": [],
      "dependsOn": [
        "step1"
      ],
      "equipmentIds": [],
      "originalText": "Stir in whole tomatoes and their juice, using a spoon to break them up. Add crushed tomatoes, bay leaves and 2 teaspoons salt, and bring to a simmer. Simmer for 10 minutes to thicken slightly.",
      "temperatures": [],
      "ingredientUses": [
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing7"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing8"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing9"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing10"
        }
      ]
    },
    {
      "id": "step3",
      "text": "Stir in pasta and 1 cup water and return to a simmer. Continue to simmer for 2 minutes, stirring frequently to make sure pasta doesn’t stick to the bottom of the pan. Remove from heat, pluck out the bay leaves, and fold in about a third of the mozzarella.",
      "title": null,
      "timers": [
        {
          "text": "2 minutes",
          "secondsMax": null,
          "secondsMin": 120
        }
      ],
      "consumes": [],
      "produces": [],
      "dependsOn": [
        "step2"
      ],
      "equipmentIds": [],
      "originalText": "Stir in pasta and 1 cup water and return to a simmer. Continue to simmer for 2 minutes, stirring frequently to make sure pasta doesn’t stick to the bottom of the pan. Remove from heat, pluck out the bay leaves, and fold in about a third of the mozzarella.",
      "temperatures": [],
      "ingredientUses": [
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing9"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing11"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing12"
        }
      ]
    },
    {
      "id": "step4",
      "text": "Top pasta with remaining mozzarella and dollops of ricotta. Sprinkle with Parmesan, then transfer to oven. Bake until pasta is tender when poked with a fork, and cheese is bubbly and lightly golden, 18 to 22 minutes. (If you’d like a more deeply browned topping, run the pan under the broiler for 1 or 2 minutes.) Remove from oven and let cool slightly before serving. Top with basil, plenty of black pepper, and more red-pepper flakes, if you like.",
      "title": null,
      "timers": [
        {
          "text": "18 to 22 minutes",
          "secondsMax": 1320,
          "secondsMin": 1080
        },
        {
          "text": "2 minutes",
          "secondsMax": null,
          "secondsMin": 120
        }
      ],
      "consumes": [],
      "produces": [],
      "dependsOn": [
        "step3"
      ],
      "equipmentIds": [],
      "originalText": "Top pasta with remaining mozzarella and dollops of ricotta. Sprinkle with Parmesan, then transfer to oven. Bake until pasta is tender when poked with a fork, and cheese is bubbly and lightly golden, 18 to 22 minutes. (If you’d like a more deeply browned topping, run the pan under the broiler for 1 or 2 minutes.) Remove from oven and let cool slightly before serving. Top with basil, plenty of black pepper, and more red-pepper flakes, if you like.",
      "temperatures": [],
      "ingredientUses": [
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing6"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing11"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing12"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing13"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing14"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing15"
        },
        {
          "note": null,
          "unit": null,
          "quantity": null,
          "ingredientId": "ing16"
        }
      ]
    }
  ],
  "times": {
    "cook": null,
    "prep": null,
    "total": null,
    "inactive": null
  },
  "yield": {
    "text": "Yield:4 servings",
    "unit": null,
    "quantity": null
  },
  "images": [],
  "source": {
    "url": "https://cooking.nytimes.com/recipes/1020811-cheesy-baked-pasta-with-sausage-and-ricotta",
    "type": "paste",
    "author": "Melissa Clark",
    "textOrigin": "provided",
    "publication": null,
    "publishedAt": null,
    "originalText": "---\ntitle: \"Cheesy Baked Pasta With Sausage and Ricotta Recipe • 5★\"\nsource: \"https://cooking.nytimes.com/recipes/1020811-cheesy-baked-pasta-with-sausage-and-ricotta\"\nauthor:\n- \"[[Melissa Clark]]\"\npublished: 2020-02-15\ncreated: 2026-06-14\ndescription: \"Like a cross between baked ziti and sausage lasagna, this mozzarella-topped pasta is rich with ricotta and crushed tomatoes — and cooks entirely in one pan, including the pasta. The Italian sausage adds meaty depth to the sauce, but vegetarians can leave it out or use their favorite plant-based sausage instead.\"\ntags:\n---\n- Credit...The New York Times Cooking\nLike a cross between baked ziti and sausage lasagna, this mozzarella-topped pasta is rich with ricotta and crushed tomatoes — and cooks entirely in one pan, including the pasta. The Italian sausage adds meaty depth to the sauce, but vegetarians can leave it out or use their favorite plant-based sausage instead.\n---\n## Ingredients\nYield:4 servings\n- 3 tablespoons extra-virgin olive oil\n- ¾ pound bulk hot or mild Italian sausage (pork, chicken or turkey)\n- 4 garlic cloves, thinly sliced\n- 1 teaspoon dried oregano\n- ½ teaspoon fennel seeds, coarsely crushed\n- Pinch of red-pepper flakes, plus more for serving (optional)\n- 1 (28-ounce) can whole peeled tomatoes with their juices\n- 1 (14-ounce) can crushed or strained tomatoes\n- 2 bay leaves\n- Kosher salt\n- 12 ounces dried pasta, such as small shells, farfalle or other shaped pasta\n- 8 ounces fresh mozzarella, torn into bite-size pieces\n- 6 ounces whole-milk ricotta (about ¾ cup)\n- ⅓ cup grated Parmesan\n- ¼ cup basil leaves\n- Black pepper, for serving\n[Ingredient Substitution Guide](https://cooking.nytimes.com/article/ingredient-substitutions)\n## Preparation\n1. Step 1\nHeat oven to 425 degrees. Heat oil in a 12-inch ovenproof skillet over medium-high. Crumble sausage into skillet, using a spoon to break it into small pieces. Cook until starting to brown, stirring occasionally, 5 to 7 minutes. Stir in garlic, oregano, fennel seeds and red-pepper flakes (if using), and cook another 1 to 2 minutes.\n2. Step 2\nStir in whole tomatoes and their juice, using a spoon to break them up. Add crushed tomatoes, bay leaves and 2 teaspoons salt, and bring to a simmer. Simmer for 10 minutes to thicken slightly.\n3. Step 3\nStir in pasta and 1 cup water and return to a simmer. Continue to simmer for 2 minutes, stirring frequently to make sure pasta doesn’t stick to the bottom of the pan. Remove from heat, pluck out the bay leaves, and fold in about a third of the mozzarella.\n4. Step 4\nTop pasta with remaining mozzarella and dollops of ricotta. Sprinkle with Parmesan, then transfer to oven. Bake until pasta is tender when poked with a fork, and cheese is bubbly and lightly golden, 18 to 22 minutes. (If you’d like a more deeply browned topping, run the pan under the broiler for 1 or 2 minutes.) Remove from oven and let cool slightly before serving. Top with basil, plenty of black pepper, and more red-pepper flakes, if you like."
  },
  "cuisines": [],
  "keywords": [],
  "language": null,
  "warnings": [
    {
      "id": "warn1",
      "code": "UNKNOWN_QUANTITY",
      "path": "/ingredients/5/quantity",
      "message": "No clear quantity was found in this source line.",
      "severity": "warning",
      "resolution": "accepted_unknown",
      "reviewNote": "Accepted in review: describes the source as written.",
      "sourceExcerpt": "- Pinch of red-pepper flakes, plus more for serving (optional)"
    },
    {
      "id": "warn2",
      "code": "UNKNOWN_QUANTITY",
      "path": "/ingredients/9/quantity",
      "message": "No clear quantity was found in this source line.",
      "severity": "warning",
      "resolution": "accepted_unknown",
      "reviewNote": "Accepted in review: describes the source as written.",
      "sourceExcerpt": "- Kosher salt"
    },
    {
      "id": "warn3",
      "code": "AMBIGUOUS_UNIT",
      "path": "/ingredients/10/unit",
      "message": "Ounces may mean mass or fluid volume. Check the original.",
      "severity": "warning",
      "resolution": "corrected",
      "reviewNote": "Confirmed: weight ounces (Jev suggested, 1.00)",
      "sourceExcerpt": "- 12 ounces dried pasta, such as small shells, farfalle or other shaped pasta"
    },
    {
      "id": "warn4",
      "code": "AMBIGUOUS_UNIT",
      "path": "/ingredients/11/unit",
      "message": "Ounces may mean mass or fluid volume. Check the original.",
      "severity": "warning",
      "resolution": "corrected",
      "reviewNote": "Confirmed: weight ounces (Jev suggested, 1.00)",
      "sourceExcerpt": "- 8 ounces fresh mozzarella, torn into bite-size pieces"
    },
    {
      "id": "warn5",
      "code": "AMBIGUOUS_UNIT",
      "path": "/ingredients/12/unit",
      "message": "Ounces may mean mass or fluid volume. Check the original.",
      "severity": "warning",
      "resolution": "corrected",
      "reviewNote": "Confirmed: weight ounces (Jev suggested, 1.00)",
      "sourceExcerpt": "- 6 ounces whole-milk ricotta (about ¾ cup)"
    },
    {
      "id": "warn6",
      "code": "UNKNOWN_QUANTITY",
      "path": "/ingredients/15/quantity",
      "message": "No clear quantity was found in this source line.",
      "severity": "warning",
      "resolution": "accepted_unknown",
      "reviewNote": "Accepted in review: describes the source as written.",
      "sourceExcerpt": "- Black pepper, for serving"
    },
    {
      "id": "warn7",
      "code": "AMBIGUOUS_TEMPERATURE",
      "path": "/steps/0/temperatures/0",
      "message": "Temperature scale was not stated. It remains unknown.",
      "severity": "warning",
      "resolution": "corrected",
      "reviewNote": "Confirmed: Fahrenheit (Jev suggested, 1.00)",
      "sourceExcerpt": "425 degrees"
    },
    {
      "id": "warn8",
      "code": "OTHER",
      "path": "/source/originalText",
      "message": "Some source lines were not assigned to recipe fields. Check the original for omissions.",
      "severity": "warning",
      "resolution": "accepted_unknown",
      "reviewNote": "Accepted in review: describes the source as written.",
      "sourceExcerpt": null
    },
    {
      "id": "warn9",
      "code": "UNCONFIRMED_DEPENDENCY",
      "path": "/steps",
      "message": "The ingredient links and step order were suggested by Jev. Check them in the recipe table.",
      "severity": "info",
      "resolution": "unreviewed",
      "reviewNote": null,
      "sourceExcerpt": null
    }
  ],
  "equipment": [],
  "categories": [],
  "components": [],
  "difficulty": null,
  "provenance": {
    "method": "ai",
    "aiModel": "jev-1.13.0+gemini-3.8-flash",
    "evidence": [
      {
        "path": "/ingredients/0/originalText",
        "basis": "deterministic",
        "excerpt": "- 3 tablespoons extra-virgin olive oil",
        "sourceLocator": "ingredient line 1"
      },
      {
        "path": "/ingredients/1/originalText",
        "basis": "deterministic",
        "excerpt": "- ¾ pound bulk hot or mild Italian sausage (pork, chicken or turkey)",
        "sourceLocator": "ingredient line 2"
      },
      {
        "path": "/ingredients/2/originalText",
        "basis": "deterministic",
        "excerpt": "- 4 garlic cloves, thinly sliced",
        "sourceLocator": "ingredient line 3"
      },
      {
        "path": "/ingredients/3/originalText",
        "basis": "deterministic",
        "excerpt": "- 1 teaspoon dried oregano",
        "sourceLocator": "ingredient line 4"
      },
      {
        "path": "/ingredients/4/originalText",
        "basis": "deterministic",
        "excerpt": "- ½ teaspoon fennel seeds, coarsely crushed",
        "sourceLocator": "ingredient line 5"
      },
      {
        "path": "/ingredients/5/originalText",
        "basis": "deterministic",
        "excerpt": "- Pinch of red-pepper flakes, plus more for serving (optional)",
        "sourceLocator": "ingredient line 6"
      },
      {
        "path": "/ingredients/6/originalText",
        "basis": "deterministic",
        "excerpt": "- 1 (28-ounce) can whole peeled tomatoes with their juices",
        "sourceLocator": "ingredient line 7"
      },
      {
        "path": "/ingredients/7/originalText",
        "basis": "deterministic",
        "excerpt": "- 1 (14-ounce) can crushed or strained tomatoes",
        "sourceLocator": "ingredient line 8"
      },
      {
        "path": "/ingredients/8/originalText",
        "basis": "deterministic",
        "excerpt": "- 2 bay leaves",
        "sourceLocator": "ingredient line 9"
      },
      {
        "path": "/ingredients/9/originalText",
        "basis": "deterministic",
        "excerpt": "- Kosher salt",
        "sourceLocator": "ingredient line 10"
      },
      {
        "path": "/ingredients/10/originalText",
        "basis": "deterministic",
        "excerpt": "- 12 ounces dried pasta, such as small shells, farfalle or other shaped pasta",
        "sourceLocator": "ingredient line 11"
      },
      {
        "path": "/ingredients/11/originalText",
        "basis": "deterministic",
        "excerpt": "- 8 ounces fresh mozzarella, torn into bite-size pieces",
        "sourceLocator": "ingredient line 12"
      },
      {
        "path": "/ingredients/12/originalText",
        "basis": "deterministic",
        "excerpt": "- 6 ounces whole-milk ricotta (about ¾ cup)",
        "sourceLocator": "ingredient line 13"
      },
      {
        "path": "/ingredients/13/originalText",
        "basis": "deterministic",
        "excerpt": "- ⅓ cup grated Parmesan",
        "sourceLocator": "ingredient line 14"
      },
      {
        "path": "/ingredients/14/originalText",
        "basis": "deterministic",
        "excerpt": "- ¼ cup basil leaves",
        "sourceLocator": "ingredient line 15"
      },
      {
        "path": "/ingredients/15/originalText",
        "basis": "deterministic",
        "excerpt": "- Black pepper, for serving",
        "sourceLocator": "ingredient line 16"
      },
      {
        "path": "/steps/0/originalText",
        "basis": "deterministic",
        "excerpt": "Heat oven to 425 degrees. Heat oil in a 12-inch ovenproof skillet over medium-high. Crumble sausage into skillet, using a spoon to break it into small pieces. Cook until starting to brown, stirring occasionally, 5 to 7 minutes. Stir in garlic, oregano, fennel seeds and red-pepper flakes (if using), and cook another 1 to 2 minutes.",
        "sourceLocator": "instruction line 1"
      },
      {
        "path": "/steps/1/originalText",
        "basis": "deterministic",
        "excerpt": "Stir in whole tomatoes and their juice, using a spoon to break them up. Add crushed tomatoes, bay leaves and 2 teaspoons salt, and bring to a simmer. Simmer for 10 minutes to thicken slightly.",
        "sourceLocator": "instruction line 2"
      },
      {
        "path": "/steps/2/originalText",
        "basis": "deterministic",
        "excerpt": "Stir in pasta and 1 cup water and return to a simmer. Continue to simmer for 2 minutes, stirring frequently to make sure pasta doesn’t stick to the bottom of the pan. Remove from heat, pluck out the bay leaves, and fold in about a third of the mozzarella.",
        "sourceLocator": "instruction line 3"
      },
      {
        "path": "/steps/3/originalText",
        "basis": "deterministic",
        "excerpt": "Top pasta with remaining mozzarella and dollops of ricotta. Sprinkle with Parmesan, then transfer to oven. Bake until pasta is tender when poked with a fork, and cheese is bubbly and lightly golden, 18 to 22 minutes. (If you’d like a more deeply browned topping, run the pan under the broiler for 1 or 2 minutes.) Remove from oven and let cool slightly before serving. Top with basil, plenty of black pepper, and more red-pepper flakes, if you like.",
        "sourceLocator": "instruction line 4"
      }
    ],
    "ocrEngine": null,
    "importedAt": "2026-10-04T00:45:18.284Z",
    "promptVersion": "recipe-lab-overseer/1.0.0",
    "importerVersion": "deterministic/1.0.0"
  },
  "description": "Like a cross between baked ziti and sausage lasagna, this mozzarella-topped pasta is rich with ricotta and crushed tomatoes — and cooks entirely in one pan, including the pasta. The Italian sausage adds meaty depth to the sauce, but vegetarians can leave it out or use their favorite plant-based sausage instead.",
  "ingredients": [
    {
      "id": "ing1",
      "name": "extra-virgin olive oil",
      "note": null,
      "unit": {
        "code": "tbsp",
        "label": "tablespoons",
        "system": "unknown"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "3",
        "value": {
          "numerator": 3,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [],
      "originalText": "- 3 tablespoons extra-virgin olive oil"
    },
    {
      "id": "ing2",
      "name": "bulk hot",
      "note": null,
      "unit": {
        "code": "lb",
        "label": "pound",
        "system": "unknown"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "¾",
        "value": {
          "numerator": 3,
          "denominator": 4
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [
        "mild Italian sausage (pork, chicken or turkey)"
      ],
      "originalText": "- ¾ pound bulk hot or mild Italian sausage (pork, chicken or turkey)"
    },
    {
      "id": "ing3",
      "name": "garlic cloves",
      "note": null,
      "unit": null,
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "4",
        "value": {
          "numerator": 4,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": "thinly sliced",
      "alternatives": [],
      "originalText": "- 4 garlic cloves, thinly sliced"
    },
    {
      "id": "ing4",
      "name": "dried oregano",
      "note": null,
      "unit": {
        "code": "tsp",
        "label": "teaspoon",
        "system": "unknown"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "1",
        "value": {
          "numerator": 1,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [],
      "originalText": "- 1 teaspoon dried oregano"
    },
    {
      "id": "ing5",
      "name": "fennel seeds",
      "note": null,
      "unit": {
        "code": "tsp",
        "label": "teaspoon",
        "system": "unknown"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "½",
        "value": {
          "numerator": 1,
          "denominator": 2
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": "coarsely crushed",
      "alternatives": [],
      "originalText": "- ½ teaspoon fennel seeds, coarsely crushed"
    },
    {
      "id": "ing6",
      "name": "of red-pepper flakes",
      "note": null,
      "unit": {
        "code": "pinch",
        "label": "Pinch",
        "system": "count"
      },
      "divided": null,
      "optional": true,
      "quantity": {
        "max": null,
        "kind": "unknown",
        "text": null,
        "value": null
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": "plus more for serving",
      "alternatives": [],
      "originalText": "- Pinch of red-pepper flakes, plus more for serving (optional)"
    },
    {
      "id": "ing7",
      "name": "(28-ounce) can whole peeled tomatoes with their juices",
      "note": null,
      "unit": null,
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "1",
        "value": {
          "numerator": 1,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [],
      "originalText": "- 1 (28-ounce) can whole peeled tomatoes with their juices"
    },
    {
      "id": "ing8",
      "name": "(14-ounce) can crushed",
      "note": null,
      "unit": null,
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "1",
        "value": {
          "numerator": 1,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [
        "strained tomatoes"
      ],
      "originalText": "- 1 (14-ounce) can crushed or strained tomatoes"
    },
    {
      "id": "ing9",
      "name": "bay leaves",
      "note": null,
      "unit": null,
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "2",
        "value": {
          "numerator": 2,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [],
      "originalText": "- 2 bay leaves"
    },
    {
      "id": "ing10",
      "name": "Kosher salt",
      "note": null,
      "unit": null,
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "unknown",
        "text": null,
        "value": null
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [],
      "originalText": "- Kosher salt"
    },
    {
      "id": "ing11",
      "name": "dried pasta",
      "note": null,
      "unit": {
        "code": "oz",
        "label": "ounces",
        "system": "us_customary"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "12",
        "value": {
          "numerator": 12,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": "such as small shells, farfalle",
      "alternatives": [
        "other shaped pasta"
      ],
      "originalText": "- 12 ounces dried pasta, such as small shells, farfalle or other shaped pasta"
    },
    {
      "id": "ing12",
      "name": "fresh mozzarella",
      "note": null,
      "unit": {
        "code": "oz",
        "label": "ounces",
        "system": "us_customary"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "8",
        "value": {
          "numerator": 8,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": "torn into bite-size pieces",
      "alternatives": [],
      "originalText": "- 8 ounces fresh mozzarella, torn into bite-size pieces"
    },
    {
      "id": "ing13",
      "name": "whole-milk ricotta (about ¾ cup)",
      "note": null,
      "unit": {
        "code": "oz",
        "label": "ounces",
        "system": "us_customary"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "6",
        "value": {
          "numerator": 6,
          "denominator": 1
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [],
      "originalText": "- 6 ounces whole-milk ricotta (about ¾ cup)"
    },
    {
      "id": "ing14",
      "name": "Parmesan",
      "note": null,
      "unit": {
        "code": "cup",
        "label": "cup",
        "system": "unknown"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "⅓",
        "value": {
          "numerator": 1,
          "denominator": 3
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": "grated",
      "alternatives": [],
      "originalText": "- ⅓ cup grated Parmesan"
    },
    {
      "id": "ing15",
      "name": "basil leaves",
      "note": null,
      "unit": {
        "code": "cup",
        "label": "cup",
        "system": "unknown"
      },
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "exact",
        "text": "¼",
        "value": {
          "numerator": 1,
          "denominator": 4
        }
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": null,
      "alternatives": [],
      "originalText": "- ¼ cup basil leaves"
    },
    {
      "id": "ing16",
      "name": "Black pepper",
      "note": null,
      "unit": null,
      "divided": null,
      "optional": null,
      "quantity": {
        "max": null,
        "kind": "unknown",
        "text": null,
        "value": null
      },
      "modifiers": [],
      "equivalents": [],
      "packageSize": null,
      "preparation": "for serving",
      "alternatives": [],
      "originalText": "- Black pepper, for serving"
    }
  ],
  "ingredientGroups": [
    {
      "id": "ig1",
      "title": null,
      "componentId": null,
      "ingredientIds": [
        "ing1",
        "ing2",
        "ing3",
        "ing4",
        "ing5",
        "ing6",
        "ing7",
        "ing8",
        "ing9",
        "ing10",
        "ing11",
        "ing12",
        "ing13",
        "ing14",
        "ing15",
        "ing16"
      ]
    }
  ],
  "instructionGroups": [
    {
      "id": "sg2",
      "title": "Step 1",
      "stepIds": [
        "step1"
      ],
      "componentId": null
    },
    {
      "id": "sg3",
      "title": "Step 2",
      "stepIds": [
        "step2"
      ],
      "componentId": null
    },
    {
      "id": "sg4",
      "title": "Step 3",
      "stepIds": [
        "step3"
      ],
      "componentId": null
    },
    {
      "id": "sg5",
      "title": "Step 4",
      "stepIds": [
        "step4"
      ],
      "componentId": null
    }
  ]
}
