15. For the toast Adjust oven rack 5 inches from broiler element and heat broiler. Place bread on aluminum foil–lined rimmed baking sheet, drizzle with oil, and sprinkle with salt and pepper. Broil until bread is deep golden brown.
2This rustic version of butternut squash soup more than holds its own as a meal. Instead of the usual creamy pureed style of butternut squash soup, we opted for something a little different, featuring chunks of squash paired with creamy cannellini beans to give our soup some heft and plenty of varying textures. Since we were wrangling the squash, we chose canned cannellini beans for greater convenience. Because the bulb portion of the squash is difficult to cut into cubes that will cook evenly, and because it naturally cooks faster than the denser neck portion, we cut the bulb into wedges, cooked them in the broth until they were soft, and then mashed them to make a "squash stock" that gave our soup base body and flavor. We then cooked the neck portion, cut into chunks, in this stock. A swirl of parsley-sage pesto, which we quickly made in the food processor, lent just the right bright, fresh herbal finish. You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.
36. Place 1 slice bread in bottom of each individual serving bowl. Ladle soup over toasted bread. Serve, passing Pecorino, if using, and lemon wedges separately.
4VARIATION
5Classic Tuscan White Bean Soup with Egg
6In step 4, whisk 2 large egg yolks with reserved bean liquid before stirring into soup.
7Butternut Squash and White Bean Soup with Parsley-Sage Pesto
8Serves 6 to 8
9Why This Recipe Works This rustic version of butternut squash soup more than holds its own as a meal. Instead of the usual creamy pureed style of butternut squash soup, we opted for something a little different, featuring chunks of squash paired with creamy cannellini beans to give our soup some heft and plenty of varying textures. Since we were wrangling the squash, we chose canned cannellini beans for greater convenience. Because the bulb portion of the squash is difficult to cut into cubes that will cook evenly, and because it naturally cooks faster than the denser neck portion, we cut the bulb into wedges, cooked them in the broth until they were soft, and then mashed them to make a "squash stock" that gave our soup base body and flavor. We then cooked the neck portion, cut into chunks, in this stock. A swirl of parsley-sage pesto, which we quickly made in the food processor, lent just the right bright, fresh herbal finish. You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.
10Parsley-Sage Pesto
11½ cup walnuts, toasted
122 garlic cloves, minced
131 cup fresh parsley leaves
14½ cup fresh sage leaves
15¾ cup extra-virgin olive oil
16⅛ teaspoon salt
17Soup
181 (2- to 2½-pound) butternut squash, peeled
194 cups vegetable broth
203 cups water
215 tablespoons refined coconut oil or unsalted butter, divided
221 tablespoon soy sauce
231 pound leeks, white and light green parts only, halved lengthwise, sliced thin, and washed thoroughly
241 tablespoon tomato paste
252 garlic cloves, minced
26¾ teaspoon table salt
27¼ teaspoon pepper
283 (15-ounce) cans cannellini beans
291 teaspoon white wine vinegar
301. For the pesto Pulse walnuts and garlic in food processor until coarsely chopped, about 5 pulses. Add parsley and sage. With processor running, slowly add oil until incorporated. Transfer to bowl, stir in salt, and season with pepper
L2 corrected
Level 2, settled version (corrected), the newest
Title
Title
Serves
Total time
Butternut Squash and White Bean Soup with Parsley-Sage Pesto
6 to 8
(blank)
Cook Time
Prep
Cook
Total
(blank)
(blank)
(blank)
Ingredients
#
Ingredient
Heading
Parsley-Sage Pesto
1
½ cup walnuts, toasted
2
2 garlic cloves, minced
3
1 cup fresh parsley leaves
4
½ cup fresh sage leaves
5
¾ cup extra-virgin olive oil
6
⅛ teaspoon salt
Soup
7
1 (2- to 2½-pound) butternut squash, peeled
8
4 cups vegetable broth
9
3 cups water
10
5 tablespoons refined coconut oil or unsalted butter, divided
11
1 tablespoon soy sauce
12
1 pound leeks, white and light green parts only, halved lengthwise, sliced thin, and washed thoroughly
13
1 tablespoon tomato paste
14
2 garlic cloves, minced
15
¾ teaspoon table salt
16
¼ teaspoon pepper
17
3 (15-ounce) cans cannellini beans
18
1 teaspoon white wine vinegar
Ingredient Components
#
Quantity
Unit
Ingredient
Prep
Optional
Sub rows (added at)
1
½
cup
walnuts
toasted
step 1: ½ cup
2
4
cloves
garlic
minced
step 1: 2 cloves
3
1
cup
fresh parsley leaves
step 2: 1 cup
4
½
cup
fresh sage leaves
step 2: ½ cup
5
¾
cup
extra-virgin olive oil
step 3: ¾ cup
6
⅛
teaspoon
salt
step 5: ⅛ teaspoon
7
2½
pounds
butternut squash
peeled
8
4
cups
vegetable broth
9
3
cups
water
10
5
tablespoons
refined coconut oil or unsalted butter, divided
11
1
tablespoon
soy sauce
12
1
pound
leeks, white and light green parts only
halved lengthwise, sliced thin, and washed thoroughly
13
1
tablespoon
tomato paste
14
¾
teaspoon
table salt
15
¼
teaspoon
pepper
step 6: ¼ teaspoon
16
45
weight ounces
cannellini beans
17
1
teaspoon
white wine vinegar
Cooking Sentences
#
Section
Sentence
1
1
For the pesto
2
1
Pulse walnuts and garlic in food processor until coarsely chopped, about 5 pulses.
3
1
Add parsley and sage.
4
1
With processor running, slowly add oil until incorporated.
5
1
Transfer to bowl, stir in salt, and season with pepper
Cooking Steps
#
Step
1
Pulse walnuts and garlic in food processor until coarsely chopped, about 5 pulses.
2
Add parsley and sage to food processor.
3
With processor running, slowly add oil to food processor until incorporated.
4
Transfer the pesto from food processor to bowl
5
Stir in salt into bowl
6
Season the pesto with pepper
Extras
Name
Text
untitled
5. For the toast Adjust oven rack 5 inches from broiler element and heat broiler. Place bread on aluminum foil–lined rimmed baking sheet, drizzle with oil, and sprinkle with salt and pepper. Broil until bread is deep golden brown.
untitled
6. Place 1 slice bread in bottom of each individual serving bowl. Ladle soup over toasted bread. Serve, passing Pecorino, if using, and lemon wedges separately.
VARIATION
Classic Tuscan White Bean Soup with Egg
VARIATION
In step 4, whisk 2 large egg yolks with reserved bean liquid before stirring into soup.
untitled
Why This Recipe Works This rustic version of butternut squash soup more than holds its own as a meal. Instead of the usual creamy pureed style of butternut squash soup, we opted for something a little different, featuring chunks of squash paired with creamy cannellini beans to give our soup some heft and plenty of varying textures. Since we were wrangling the squash, we chose canned cannellini beans for greater convenience. Because the bulb portion of the squash is difficult to cut into cubes that will cook evenly, and because it naturally cooks faster than the denser neck portion, we cut the bulb into wedges, cooked them in the broth until they were soft, and then mashed them to make a "squash stock" that gave our soup base body and flavor. We then cooked the neck portion, cut into chunks, in this stock. A swirl of parsley-sage pesto, which we quickly made in the food processor, lent just the right bright, fresh herbal finish. You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.
Metric
#
Ingredient
Quantity
Unit
Sub rows
1
walnuts
118
ml
step 1: 118 ml
2
garlic
step 1: (blank)
3
fresh parsley leaves
237
ml
step 2: 237 ml
4
fresh sage leaves
118
ml
step 2: 118 ml
5
extra-virgin olive oil
177
ml
step 3: 177 ml
6
salt
0.6
ml
step 5: 0.6 ml
7
butternut squash
1134
g
8
vegetable broth
946
ml
9
water
710
ml
10
refined coconut oil or unsalted butter, divided
74
ml
11
soy sauce
15
ml
12
leeks, white and light green parts only
454
g
13
tomato paste
15
ml
14
table salt
3.7
ml
15
pepper
1.2
ml
step 6: 1.2 ml
16
cannellini beans
1276
g
17
white wine vinegar
4.9
ml
Choice Points
#
Entry
1
{"point": "Pesto", "used": "Parsley-Sage Pesto (lines 10 to 16)", "case": "Swap (cookbook)", "options": "Parsley-Sage Pesto as printed, or Vegan Pesto (page 23, not in this submission) (headnote: \"You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.\")", "default": "Parsley-Sage Pesto", "key": "", "item": null, "swaps": [{"kind": "simple", "text": "You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.", "lines": [9], "replaces": [1, 2, 3, 4, 5, 6], "quantity": "same amount", "unit": "", "ingredient": "Vegan Pesto (page 23)"}]}
Empty in this Level 2: records, suggested equipment, goes with.
K0 labels every Level 1 line with its role, and marks the line where each recipe starts. Every later step reads these labels: K1 takes the title and servings lines, K2 the ingredient lines, K4 the method lines.
Why a model is needed here. This is a photo, so its Level 1 is plain transcribed text with no role tags. A web-page Level 1 carries tags and skips the model entirely.
Code guesses first. Code gives every line a rough first role.
Haiku checks. Haiku 5.5, thinking off, with the full verbatim rules for this step, sees all 30 lines (each cut at 240 characters) with code's guess. It returns one role per line and the line where each recipe's title starts.
Code keeps the valid answers. A role is kept only if the line number and role are real. A line Haiku skips keeps code's guess, and if the call fails, code's guesses stand.
This run
P-FAST-R18, K0 and K1 only, newest rules (--packs 2026-11-04), Nov 4
When
0.00 s to 2.55 s of 4.2 s
Model
Haiku 5.5, thinking off
Time
1.8 s
Cost
$0.00057
Tokens
26,593 rules (cached) + 968 new in, 405 out
Haiku's answer
30 lines answered, 2 changed from code's guess
Output
Result after K0
3 method, 1 other, 1 label, 3 note, 1 servings, 1 headnote, 2 heading, 18 ingredient. One recipe, starting at line .
15. For the toast Adjust oven rack 5 inches from broiler element and heat broiler. Place bread on aluminum foil–lined rimmed baking sheet, drizzle with oil, and sprinkle with salt and pepper. Broil until bread is deep golden brown.method
2This rustic version of butternut squash soup more than holds its own as a meal. Instead of the usual creamy pureed style of butternut squash soup, we opted for something a little different, featuring chunks of squash paired with creamy cannellini beans to give our soup some heft and plenty of varying textures. Since we were wrangling the squash, we chose canned cannellini beans for greater convenience. Because the bulb portion of the squash is difficult to cut into cubes that will cook evenly, and because it naturally cooks faster than the denser neck portion, we cut the bulb into wedges, cooked them in the broth until they were soft, and then mashed them to make a "squash stock" that gave our soup base body and flavor. We then cooked the neck portion, cut into chunks, in this stock. A swirl of parsley-sage pesto, which we quickly made in the food processor, lent just the right bright, fresh herbal finish. You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.other
36. Place 1 slice bread in bottom of each individual serving bowl. Ladle soup over toasted bread. Serve, passing Pecorino, if using, and lemon wedges separately.method
4VARIATIONlabel
5Classic Tuscan White Bean Soup with Eggnote
6In step 4, whisk 2 large egg yolks with reserved bean liquid before stirring into soup.note
7Butternut Squash and White Bean Soup with Parsley-Sage Pestonote
8Serves 6 to 8servings
9Why This Recipe Works This rustic version of butternut squash soup more than holds its own as a meal. Instead of the usual creamy pureed style of butternut squash soup, we opted for something a little different, featuring chunks of squash paired with creamy cannellini beans to give our soup some heft and plenty of varying textures. Since we were wrangling the squash, we chose canned cannellini beans for greater convenience. Because the bulb portion of the squash is difficult to cut into cubes that will cook evenly, and because it naturally cooks faster than the denser neck portion, we cut the bulb into wedges, cooked them in the broth until they were soft, and then mashed them to make a "squash stock" that gave our soup base body and flavor. We then cooked the neck portion, cut into chunks, in this stock. A swirl of parsley-sage pesto, which we quickly made in the food processor, lent just the right bright, fresh herbal finish. You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.headnote
10Parsley-Sage Pestoheading
11½ cup walnuts, toastedingredient
122 garlic cloves, mincedingredient
131 cup fresh parsley leavesingredient
14½ cup fresh sage leavesingredient
15¾ cup extra-virgin olive oilingredient
16⅛ teaspoon saltingredient
17Soupheading
181 (2- to 2½-pound) butternut squash, peeledingredient
194 cups vegetable brothingredient
203 cups wateringredient
215 tablespoons refined coconut oil or unsalted butter, dividedingredient
221 tablespoon soy sauceingredient
231 pound leeks, white and light green parts only, halved lengthwise, sliced thin, and washed thoroughlyingredient
241 tablespoon tomato pasteingredient
252 garlic cloves, mincedingredient
26¾ teaspoon table saltingredient
27¼ teaspoon pepperingredient
283 (15-ounce) cans cannellini beansingredient
291 teaspoon white wine vinegaringredient
301. For the pesto Pulse walnuts and garlic in food processor until coarsely chopped, about 5 pulses. Add parsley and sage. With processor running, slowly add oil until incorporated. Transfer to bowl, stir in salt, and season with peppermethod
K1
Title, Cook Time, Extras · code + Haiku
Input and method
What K1 does to it
Inputs to K1
What it reads
Made by
Does K1 wait for it?
Lines that are not ingredient, method or heading lines
K1 fills three tables: Title (name, servings, total time), Cook Time (prep, cook, total) and Extras (text that is not a step or an ingredient, such as the headnote).
Code drafts all three. Title: the first title lines. Servings: a pattern match for lower and upper numbers, with leftover words sent to Extras. Times: a pattern match for each label and its value. Extras: the headnote, note and label lines.
Haiku checks two things. Haiku 5.5, thinking off, with Ryan's R1 to R21 rules, sees only the lines that are not ingredients or method (here lines 2, 4, 5, 6, 7, 8, 9), plus code's draft. It returns the Cook Time label and value pairs, and which lines go to Extras with a name for each. It never writes the title, the servings or the Extras text.
Code keeps only what is printed. A time is kept only if its value is printed on a time line. Extras text is always copied word for word from Level 1. If the call fails, code's draft stands.
Then the Nov 4 rules step. Code, right after K1: a "Takes" line fills the total time (R82), a title loses a closing colon (R80), "Serves 4 as a main, 8 or more as a side" gives 4 to 8 (R81), and an Extras note keeps its mark or number in its name (R77).
This run
P-FAST-R18, K0 and K1 only, newest rules (--packs 2026-11-04), Nov 4
When
2.55 s to 4.22 s of 4.2 s
Model
Haiku 5.5, thinking off
Time
0.8 s
Cost
$0.00027
Tokens
14,273 rules (cached) + 565 new in, 134 out
Output
Result after K1
3 of 7 rows match L2 corrected. Bold text differs.
Title
Title
Serves
Total time
6 to 8
(blank)
Cook Time
Prep
Cook
Total
(blank)
(blank)
(blank)
Extras
Name
Text
untitled
This rustic version of butternut squash soup more than holds its own as a meal. Instead of the usual creamy pureed style of butternut squash soup, we opted for something a little different, featuring chunks of squash paired with creamy cannellini beans to give our soup some heft and plenty of varying textures. Since we were wrangling the squash, we chose canned cannellini beans for greater convenience. Because the bulb portion of the squash is difficult to cut into cubes that will cook evenly, and because it naturally cooks faster than the denser neck portion, we cut the bulb into wedges, cooked them in the broth until they were soft, and then mashed them to make a "squash stock" that gave our soup base body and flavor. We then cooked the neck portion, cut into chunks, in this stock. A swirl of parsley-sage pesto, which we quickly made in the food processor, lent just the right bright, fresh herbal finish. You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.
VARIATION
VARIATION
VARIATION
Classic Tuscan White Bean Soup with Egg
VARIATION
In step 4, whisk 2 large egg yolks with reserved bean liquid before stirring into soup.
VARIATION
Butternut Squash and White Bean Soup with Parsley-Sage Pesto
Answer
L2 corrected
The settled version (corrected). Bold text differs from the run.
Title
Title
Serves
Total time
Butternut Squash and White Bean Soup with Parsley-Sage Pesto
6 to 8
(blank)
Cook Time
Prep
Cook
Total
(blank)
(blank)
(blank)
Extras
Name
Text
untitled
5. For the toast Adjust oven rack 5 inches from broiler element and heat broiler. Place bread on aluminum foil–lined rimmed baking sheet, drizzle with oil, and sprinkle with salt and pepper. Broil until bread is deep golden brown.
untitled
6. Place 1 slice bread in bottom of each individual serving bowl. Ladle soup over toasted bread. Serve, passing Pecorino, if using, and lemon wedges separately.
VARIATION
Classic Tuscan White Bean Soup with Egg
VARIATION
In step 4, whisk 2 large egg yolks with reserved bean liquid before stirring into soup.
untitled
Why This Recipe Works This rustic version of butternut squash soup more than holds its own as a meal. Instead of the usual creamy pureed style of butternut squash soup, we opted for something a little different, featuring chunks of squash paired with creamy cannellini beans to give our soup some heft and plenty of varying textures. Since we were wrangling the squash, we chose canned cannellini beans for greater convenience. Because the bulb portion of the squash is difficult to cut into cubes that will cook evenly, and because it naturally cooks faster than the denser neck portion, we cut the bulb into wedges, cooked them in the broth until they were soft, and then mashed them to make a "squash stock" that gave our soup base body and flavor. We then cooked the neck portion, cut into chunks, in this stock. A swirl of parsley-sage pesto, which we quickly made in the food processor, lent just the right bright, fresh herbal finish. You can substitute our Vegan Pesto (page 23) for the pesto in this recipe.