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 16 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 1.75 s of 3.1 s
Model
Haiku 5.5, thinking off
Time
1.1 s
Cost
$0.00042
Tokens
26,593 rules (cached) + 376 new in, 224 out
Haiku's answer
16 lines answered, 1 changed from code's guess
Output
Result after K0
1 title, 2 time, 1 servings, 1 headnote, 1 other, 9 ingredient, 1 method. One recipe, starting at line 1.
1Ginger-Mezcal Dressingtitlerecipe starts here
2ACTIVE TIME: 10 MINUTEStime
3TOTAL TIME: 10 MINUTEStime
4SERVING SIZE: ¾ CUPservings
5Mezcal is on trend these days, so it helps to find creative ways to use it. Smoky mezcal and lime juice are a perfect match in any situation.headnote
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 1, 2, 3, 4, 5, 6), 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
1.75 s to 3.14 s of 3.1 s
Model
Haiku 5.5, thinking off
Time
0.8 s
Cost
$0.00022
Tokens
14,273 rules (cached) + 275 new in, 94 out
Output
Result after K1
2 of 4 rows match L2 corrected. Bold text differs.
Title
Title
Serves
Total time
Ginger-Mezcal Dressing
(blank)
10 MINUTES to 10 MINUTES
Cook Time
Prep
Cook
Total
(blank)
(blank)
10 MINUTES
Extras
Name
Text
untitled
Mezcal is on trend these days, so it helps to find creative ways to use it. Smoky mezcal and lime juice are a perfect match in any situation.
missing here
Answer
L2 corrected
The Oct 27 answer key (no settlement needed). Bold text differs from the run.
Title
Title
Serves
Total time
Ginger-Mezcal Dressing
(blank)
10 MINUTES to 10 MINUTES
Cook Time
Prep
Cook
Total
(blank)
(blank)
10 MINUTES
Extras
Name
Text
SERVING SIZE
¾ CUP
untitled
Mezcal is on trend these days, so it helps to find creative ways to use it. Smoky mezcal and lime juice are a perfect match in any situation.