FAILURE MAP
← Case archive

FA-97191 / Recipe scaling and nutrition / Open access

Roast timing and carryover planner: poultry cooking rate · case 01

A chicken marked "rare" gets the rare-beef cooking time.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Poultry uses the requested doneness rate.

VERIFIED REPAIR

Use the well-done rate for poultry.

Unsuccessful approach: A 40 min/kg floor is still short of the 50 min/kg well-done rate.

Case contract

Doneness (trimmed, lower) rare 52C/30 min per kg, medium rare 57/35, medium 63/40, well 71/50; unknown -> error; weight <= 0 -> error. Carryover 2C below 1.5 kg, 4C below 3 kg, else 6C. Beef and lamb pull at target - carryover. Poultry ignores doneness: pull at 74 (no carryover credit) and uses the well-done rate. cook_min = ceiling to a multiple of 5 of weight*rate. rest_min = half-up weight*5 clamped to [10, 30].

Why this case matters

Roast planners must account for carryover cooking and food-safety minimums for poultry.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(weight_kg, doneness, cut):
    T = {'rare': 52, 'medium rare': 57, 'medium': 63, 'well': 71}
    PER = {'rare': 30, 'medium rare': 35, 'medium': 40, 'well': 50}
    d = doneness.strip().lower()
    if d not in T:
        return 'error: doneness'
    if weight_kg <= 0:
        return 'error: weight'
    w = Fraction(str(weight_kg))
    carry = 2 if w < Fraction(3, 2) else 4 if w < 3 else 6
    if cut == 'poultry':
        pull = 74
    else:
        pull = T[d] - carry
    per = PER[d]
    cook = 5 * math.ceil(w * per / 5)
    rest = min(30, max(10, math.floor(w * 5 + Fraction(1, 2))))
    return {'pull_c': pull, 'cook_min': cook, 'rest_min': rest}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['regression: poultry cooking rate', [1, 'medium rare', 'poultry'],
   {'cook_min': 50, 'pull_c': 74, 'rest_min': 10}],
  ['repair check: poultry cooking rate', [4.2, 'rare', 'poultry'],
   {'cook_min': 210, 'pull_c': 74, 'rest_min': 21}],
  ['generated control 1', [1.5, 'rare', 'beef'], {'cook_min': 45, 'pull_c': 48, 'rest_min': 10}],
  ['generated control 2', [4.2, 'Medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['generated control 3', [3.5, 'medium rare', 'beef'], {'cook_min': 125, 'pull_c': 51, 'rest_min': 18}]],
 [['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['regression: poultry cooking rate', [1, 'Medium', 'poultry'],
   {'cook_min': 50, 'pull_c': 74, 'rest_min': 10}],
  ['repair check: poultry cooking rate', [6, 'Medium', 'poultry'],
   {'cook_min': 300, 'pull_c': 74, 'rest_min': 30}],
  ['generated control 1', [3.5, 'blue', 'beef'], 'error: doneness'],
  ['generated control 2', [7, 'well', 'beef'], {'cook_min': 350, 'pull_c': 65, 'rest_min': 30}],
  ['generated control 3', [1.5, 'rare', 'lamb'], {'cook_min': 45, 'pull_c': 48, 'rest_min': 10}]],
 [['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['regression: poultry cooking rate', [3, 'rare', 'poultry'],
   {'cook_min': 150, 'pull_c': 74, 'rest_min': 15}],
  ['repair check: poultry cooking rate', [0.5, 'Medium', 'poultry'],
   {'cook_min': 25, 'pull_c': 74, 'rest_min': 10}],
  ['generated control 1', [2.4, 'well', 'poultry'], {'cook_min': 120, 'pull_c': 74, 'rest_min': 12}],
  ['generated control 2', [0, 'medium rare', 'lamb'], 'error: weight'],
  ['generated control 3', [7, 'well', 'beef'], {'cook_min': 350, 'pull_c': 65, 'rest_min': 30}]],
 [['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['regression: poultry cooking rate', [3.5, 'Medium', 'poultry'],
   {'cook_min': 175, 'pull_c': 74, 'rest_min': 18}],
  ['repair check: poultry cooking rate', [2.4, 'rare', 'poultry'],
   {'cook_min': 120, 'pull_c': 74, 'rest_min': 12}],
  ['generated control 1', [6, 'Medium', 'lamb'], {'cook_min': 240, 'pull_c': 57, 'rest_min': 30}],
  ['generated control 2', [1.2, 'medium rare', 'beef'], {'cook_min': 45, 'pull_c': 55, 'rest_min': 10}],
  ['generated control 3', [0.5, 'rare', 'beef'], {'cook_min': 15, 'pull_c': 50, 'rest_min': 10}]],
 [['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['regression: poultry cooking rate', [3, 'medium rare', 'poultry'],
   {'cook_min': 150, 'pull_c': 74, 'rest_min': 15}],
  ['repair check: poultry cooking rate', [2, 'Medium', 'poultry'],
   {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['generated control 1', [0, 'blue', 'beef'], 'error: doneness'],
  ['generated control 2', [0.5, 'medium rare', 'beef'], {'cook_min': 20, 'pull_c': 55, 'rest_min': 10}],
  ['generated control 3', [0.5, 'rare', 'beef'], {'cook_min': 15, 'pull_c': 50, 'rest_min': 10}]]]
for label, args, expected in fixtures[N - 1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
small rare roast{'cook_min': 30, 'pull_c': 50, 'rest_min': 10}{'cook_min': 30, 'pull_c': 50, 'rest_min': 10}Passed
large medium roast{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}Passed
chicken{'cook_min': 80, 'pull_c': 74, 'rest_min': 10}{'cook_min': 100, 'pull_c': 74, 'rest_min': 10}Failed
regression: poultry cooking rate{'cook_min': 35, 'pull_c': 74, 'rest_min': 10}{'cook_min': 50, 'pull_c': 74, 'rest_min': 10}Failed
repair check: poultry cooking rate{'cook_min': 130, 'pull_c': 74, 'rest_min': 21}{'cook_min': 210, 'pull_c': 74, 'rest_min': 21}Failed
generated control 1{'cook_min': 45, 'pull_c': 48, 'rest_min': 10}{'cook_min': 45, 'pull_c': 48, 'rest_min': 10}Passed
generated control 2{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}Passed
generated control 3{'cook_min': 125, 'pull_c': 51, 'rest_min': 18}{'cook_min': 125, 'pull_c': 51, 'rest_min': 18}Passed

SHA-256 / cc52683640e8154a241fb8b583fdcddaf9f3473a57beeb89d543a5e3b6871352

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(weight_kg, doneness, cut):
    T = {'rare': 52, 'medium rare': 57, 'medium': 63, 'well': 71}
    PER = {'rare': 30, 'medium rare': 35, 'medium': 40, 'well': 50}
    d = doneness.strip().lower()
    if d not in T:
        return 'error: doneness'
    if weight_kg <= 0:
        return 'error: weight'
    w = Fraction(str(weight_kg))
    carry = 2 if w < Fraction(3, 2) else 4 if w < 3 else 6
    if cut == 'poultry':
        pull = 74
    else:
        pull = T[d] - carry
    per = max(PER[d], 40) if cut == 'poultry' else PER[d]
    cook = 5 * math.ceil(w * per / 5)
    rest = min(30, max(10, math.floor(w * 5 + Fraction(1, 2))))
    return {'pull_c': pull, 'cook_min': cook, 'rest_min': rest}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['regression: poultry cooking rate', [1, 'medium rare', 'poultry'],
   {'cook_min': 50, 'pull_c': 74, 'rest_min': 10}],
  ['repair check: poultry cooking rate', [4.2, 'rare', 'poultry'],
   {'cook_min': 210, 'pull_c': 74, 'rest_min': 21}],
  ['generated control 1', [1.5, 'rare', 'beef'], {'cook_min': 45, 'pull_c': 48, 'rest_min': 10}],
  ['generated control 2', [4.2, 'Medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['generated control 3', [3.5, 'medium rare', 'beef'], {'cook_min': 125, 'pull_c': 51, 'rest_min': 18}]],
 [['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['regression: poultry cooking rate', [1, 'Medium', 'poultry'],
   {'cook_min': 50, 'pull_c': 74, 'rest_min': 10}],
  ['repair check: poultry cooking rate', [6, 'Medium', 'poultry'],
   {'cook_min': 300, 'pull_c': 74, 'rest_min': 30}],
  ['generated control 1', [3.5, 'blue', 'beef'], 'error: doneness'],
  ['generated control 2', [7, 'well', 'beef'], {'cook_min': 350, 'pull_c': 65, 'rest_min': 30}],
  ['generated control 3', [1.5, 'rare', 'lamb'], {'cook_min': 45, 'pull_c': 48, 'rest_min': 10}]],
 [['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['regression: poultry cooking rate', [3, 'rare', 'poultry'],
   {'cook_min': 150, 'pull_c': 74, 'rest_min': 15}],
  ['repair check: poultry cooking rate', [0.5, 'Medium', 'poultry'],
   {'cook_min': 25, 'pull_c': 74, 'rest_min': 10}],
  ['generated control 1', [2.4, 'well', 'poultry'], {'cook_min': 120, 'pull_c': 74, 'rest_min': 12}],
  ['generated control 2', [0, 'medium rare', 'lamb'], 'error: weight'],
  ['generated control 3', [7, 'well', 'beef'], {'cook_min': 350, 'pull_c': 65, 'rest_min': 30}]],
 [['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['regression: poultry cooking rate', [3.5, 'Medium', 'poultry'],
   {'cook_min': 175, 'pull_c': 74, 'rest_min': 18}],
  ['repair check: poultry cooking rate', [2.4, 'rare', 'poultry'],
   {'cook_min': 120, 'pull_c': 74, 'rest_min': 12}],
  ['generated control 1', [6, 'Medium', 'lamb'], {'cook_min': 240, 'pull_c': 57, 'rest_min': 30}],
  ['generated control 2', [1.2, 'medium rare', 'beef'], {'cook_min': 45, 'pull_c': 55, 'rest_min': 10}],
  ['generated control 3', [0.5, 'rare', 'beef'], {'cook_min': 15, 'pull_c': 50, 'rest_min': 10}]],
 [['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['regression: poultry cooking rate', [3, 'medium rare', 'poultry'],
   {'cook_min': 150, 'pull_c': 74, 'rest_min': 15}],
  ['repair check: poultry cooking rate', [2, 'Medium', 'poultry'],
   {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['generated control 1', [0, 'blue', 'beef'], 'error: doneness'],
  ['generated control 2', [0.5, 'medium rare', 'beef'], {'cook_min': 20, 'pull_c': 55, 'rest_min': 10}],
  ['generated control 3', [0.5, 'rare', 'beef'], {'cook_min': 15, 'pull_c': 50, 'rest_min': 10}]]]
for label, args, expected in fixtures[N - 1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
small rare roast{'cook_min': 30, 'pull_c': 50, 'rest_min': 10}{'cook_min': 30, 'pull_c': 50, 'rest_min': 10}Passed
large medium roast{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}Passed
chicken{'cook_min': 80, 'pull_c': 74, 'rest_min': 10}{'cook_min': 100, 'pull_c': 74, 'rest_min': 10}Failed
regression: poultry cooking rate{'cook_min': 40, 'pull_c': 74, 'rest_min': 10}{'cook_min': 50, 'pull_c': 74, 'rest_min': 10}Failed
repair check: poultry cooking rate{'cook_min': 170, 'pull_c': 74, 'rest_min': 21}{'cook_min': 210, 'pull_c': 74, 'rest_min': 21}Failed
generated control 1{'cook_min': 45, 'pull_c': 48, 'rest_min': 10}{'cook_min': 45, 'pull_c': 48, 'rest_min': 10}Passed
generated control 2{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}Passed
generated control 3{'cook_min': 125, 'pull_c': 51, 'rest_min': 18}{'cook_min': 125, 'pull_c': 51, 'rest_min': 18}Passed

SHA-256 / 08171d241ff8873ef39f25e1bbb7d020fbf3d6de08e49b0725318aa897a136ff

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(weight_kg, doneness, cut):
    T = {'rare': 52, 'medium rare': 57, 'medium': 63, 'well': 71}
    PER = {'rare': 30, 'medium rare': 35, 'medium': 40, 'well': 50}
    d = doneness.strip().lower()
    if d not in T:
        return 'error: doneness'
    if weight_kg <= 0:
        return 'error: weight'
    w = Fraction(str(weight_kg))
    carry = 2 if w < Fraction(3, 2) else 4 if w < 3 else 6
    if cut == 'poultry':
        pull = 74
    else:
        pull = T[d] - carry
    per = PER['well'] if cut == 'poultry' else PER[d]
    cook = 5 * math.ceil(w * per / 5)
    rest = min(30, max(10, math.floor(w * 5 + Fraction(1, 2))))
    return {'pull_c': pull, 'cook_min': cook, 'rest_min': rest}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['regression: poultry cooking rate', [1, 'medium rare', 'poultry'],
   {'cook_min': 50, 'pull_c': 74, 'rest_min': 10}],
  ['repair check: poultry cooking rate', [4.2, 'rare', 'poultry'],
   {'cook_min': 210, 'pull_c': 74, 'rest_min': 21}],
  ['generated control 1', [1.5, 'rare', 'beef'], {'cook_min': 45, 'pull_c': 48, 'rest_min': 10}],
  ['generated control 2', [4.2, 'Medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['generated control 3', [3.5, 'medium rare', 'beef'], {'cook_min': 125, 'pull_c': 51, 'rest_min': 18}]],
 [['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['regression: poultry cooking rate', [1, 'Medium', 'poultry'],
   {'cook_min': 50, 'pull_c': 74, 'rest_min': 10}],
  ['repair check: poultry cooking rate', [6, 'Medium', 'poultry'],
   {'cook_min': 300, 'pull_c': 74, 'rest_min': 30}],
  ['generated control 1', [3.5, 'blue', 'beef'], 'error: doneness'],
  ['generated control 2', [7, 'well', 'beef'], {'cook_min': 350, 'pull_c': 65, 'rest_min': 30}],
  ['generated control 3', [1.5, 'rare', 'lamb'], {'cook_min': 45, 'pull_c': 48, 'rest_min': 10}]],
 [['chicken', [2, 'medium', 'poultry'], {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['regression: poultry cooking rate', [3, 'rare', 'poultry'],
   {'cook_min': 150, 'pull_c': 74, 'rest_min': 15}],
  ['repair check: poultry cooking rate', [0.5, 'Medium', 'poultry'],
   {'cook_min': 25, 'pull_c': 74, 'rest_min': 10}],
  ['generated control 1', [2.4, 'well', 'poultry'], {'cook_min': 120, 'pull_c': 74, 'rest_min': 12}],
  ['generated control 2', [0, 'medium rare', 'lamb'], 'error: weight'],
  ['generated control 3', [7, 'well', 'beef'], {'cook_min': 350, 'pull_c': 65, 'rest_min': 30}]],
 [['bad doneness', [2, 'blue', 'beef'], 'error: doneness'],
  ['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['regression: poultry cooking rate', [3.5, 'Medium', 'poultry'],
   {'cook_min': 175, 'pull_c': 74, 'rest_min': 18}],
  ['repair check: poultry cooking rate', [2.4, 'rare', 'poultry'],
   {'cook_min': 120, 'pull_c': 74, 'rest_min': 12}],
  ['generated control 1', [6, 'Medium', 'lamb'], {'cook_min': 240, 'pull_c': 57, 'rest_min': 30}],
  ['generated control 2', [1.2, 'medium rare', 'beef'], {'cook_min': 45, 'pull_c': 55, 'rest_min': 10}],
  ['generated control 3', [0.5, 'rare', 'beef'], {'cook_min': 15, 'pull_c': 50, 'rest_min': 10}]],
 [['zero weight', [0, 'rare', 'beef'], 'error: weight'],
  ['small rare roast', [1, 'rare', 'beef'], {'cook_min': 30, 'pull_c': 50, 'rest_min': 10}],
  ['large medium roast', [4.2, 'medium', 'beef'], {'cook_min': 170, 'pull_c': 57, 'rest_min': 21}],
  ['regression: poultry cooking rate', [3, 'medium rare', 'poultry'],
   {'cook_min': 150, 'pull_c': 74, 'rest_min': 15}],
  ['repair check: poultry cooking rate', [2, 'Medium', 'poultry'],
   {'cook_min': 100, 'pull_c': 74, 'rest_min': 10}],
  ['generated control 1', [0, 'blue', 'beef'], 'error: doneness'],
  ['generated control 2', [0.5, 'medium rare', 'beef'], {'cook_min': 20, 'pull_c': 55, 'rest_min': 10}],
  ['generated control 3', [0.5, 'rare', 'beef'], {'cook_min': 15, 'pull_c': 50, 'rest_min': 10}]]]
for label, args, expected in fixtures[N - 1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
small rare roast{'cook_min': 30, 'pull_c': 50, 'rest_min': 10}{'cook_min': 30, 'pull_c': 50, 'rest_min': 10}Passed
large medium roast{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}Passed
chicken{'cook_min': 100, 'pull_c': 74, 'rest_min': 10}{'cook_min': 100, 'pull_c': 74, 'rest_min': 10}Passed
regression: poultry cooking rate{'cook_min': 50, 'pull_c': 74, 'rest_min': 10}{'cook_min': 50, 'pull_c': 74, 'rest_min': 10}Passed
repair check: poultry cooking rate{'cook_min': 210, 'pull_c': 74, 'rest_min': 21}{'cook_min': 210, 'pull_c': 74, 'rest_min': 21}Passed
generated control 1{'cook_min': 45, 'pull_c': 48, 'rest_min': 10}{'cook_min': 45, 'pull_c': 48, 'rest_min': 10}Passed
generated control 2{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}{'cook_min': 170, 'pull_c': 57, 'rest_min': 21}Passed
generated control 3{'cook_min': 125, 'pull_c': 51, 'rest_min': 18}{'cook_min': 125, 'pull_c': 51, 'rest_min': 18}Passed

SHA-256 / 32bf345777162eb682df6d01be379d510195133227420b1892089da10fd993f2

Verification & scope

A deterministic toy contract stated in full here; it is a bounded teaching model, not an authoritative reference or standards implementation. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:52:29.716855+00:00.

Case digest / c9df9a895f23af901f52f9b3027951429634f073828e056c5d5a0bc496b94640