{"abstract":"A soy marinade adds its entire sodium load to the chicken it was poured off.","category":"Recipe scaling and nutrition","checks":8,"contract":"Rows [name, raw_g, kcal_per_100g, sodium_mg_per_100g, use]; use \"eat\" counts fully, \"marinade\" retains 1/5 of its weight and nutrients, \"discard\" contributes nothing. Cooked weight = retained raw weight * yield_pct/100 (moisture loss changes weight, not energy or sodium). Return half-up integers: serving_g = cooked/servings, kcal and sodium_mg per serving, kcal_per_100g of cooked dish (0 if nothing is retained). servings < 1 returns an error string.","evaluation_group":"w2-recipe_scaling_and_nutrition-cooked-yield-nutrition","failed_approach":"Using 4/5 counts the discarded portion instead of the retained one.","family":"w2-recipe_scaling_and_nutrition-cooked-yield-nutrition-marinade-retention","id":"FA-96966","implementations":{"attempt":{"sha256":"83c420cbac305d82852120d53e699ff259e5dd7b4d76c1828dba14b6bf52c029","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(ingredients, yield_pct, servings):\n    if servings < 1:\n        return 'error: servings'\n    kcal = Fraction(0)\n    na = Fraction(0)\n    raw = Fraction(0)\n    for name, g, k, s, use in ingredients:\n        if use == 'discard':\n            continue\n        share = Fraction(4, 5) if use == 'marinade' else Fraction(1)\n        grams = Fraction(g) * share\n        raw += grams\n        kcal += grams * k / 100\n        na += grams * s / 100\n    cooked = raw * Fraction(yield_pct, 100)\n    def r(x):\n        return math.floor(x + Fraction(1, 2))\n    return {'serving_g': r(cooked / servings), 'kcal': r(kcal / servings), 'sodium_mg': r(na / servings),\n            'kcal_per_100g': r(kcal * 100 / cooked) if cooked else 0}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['regression: marinade retention',\n   [[['stock', 525, 10, 350, 'marinade'], ['chicken', 600, 165, 70, 'eat'],\n     ['lemon rind', 20, 47, 6, 'discard'], ['oil', 40, 884, 0, 'marinade']],\n    80, 1],\n   {'kcal': 1071, 'kcal_per_100g': 188, 'serving_g': 570, 'sodium_mg': 788}],\n  ['repair check: marinade retention',\n   [[['soy marinade', 225, 60, 5500, 'marinade'], ['rice', 300, 130, 1, 'eat'],\n     ['stock', 510, 10, 350, 'eat'], ['onion', 150, 40, 4, 'eat'], ['chicken', 625, 165, 70, 'eat']],\n    60, 5],\n   {'kcal': 312, 'kcal_per_100g': 159, 'serving_g': 196, 'sodium_mg': 941}],\n  ['generated control 1', [[['chicken', 625, 165, 70, 'eat'], ['onion', 150, 40, 4, 'eat']], 75, 1],\n   {'kcal': 1091, 'kcal_per_100g': 188, 'serving_g': 581, 'sodium_mg': 444}],\n  ['generated control 2',\n   [[['chicken', 625, 165, 70, 'eat'], ['onion', 160, 40, 4, 'eat'], ['rice', 325, 130, 1, 'eat'],\n     ['oil', 55, 884, 0, 'eat'], ['lemon rind', 30, 47, 6, 'discard']],\n    100, 3],\n   {'kcal': 668, 'kcal_per_100g': 172, 'serving_g': 388, 'sodium_mg': 149}],\n  ['generated control 3',\n   [[['lemon rind', 20, 47, 6, 'eat'], ['chicken', 600, 165, 70, 'eat'],\n     ['bay leaf', 27, 313, 23, 'discard']],\n    90, 6],\n   {'kcal': 167, 'kcal_per_100g': 179, 'serving_g': 93, 'sodium_mg': 70}]],\n [['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['regression: marinade retention',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['stock', 500, 10, 350, 'eat']], 110, 6],\n   {'kcal': 12, 'kcal_per_100g': 12, 'serving_g': 99, 'sodium_mg': 658}],\n  ['repair check: marinade retention',\n   [[['rice', 310, 130, 1, 'marinade'], ['stock', 510, 10, 350, 'eat'], ['lemon rind', 45, 47, 6, 'eat']], 70,\n    2],\n   {'kcal': 76, 'kcal_per_100g': 35, 'serving_g': 216, 'sodium_mg': 894}],\n  ['generated control 1', [[['lemon rind', 30, 47, 6, 'discard'], ['onion', 175, 40, 4, 'eat']], 75, 1],\n   {'kcal': 70, 'kcal_per_100g': 53, 'serving_g': 131, 'sodium_mg': 7}],\n  ['generated control 2',\n   [[['stock', 525, 10, 350, 'eat'], ['lemon rind', 30, 47, 6, 'discard'], ['rice', 310, 130, 1, 'eat'],\n     ['chicken', 625, 165, 70, 'eat']],\n    75, 4],\n   {'kcal': 372, 'kcal_per_100g': 136, 'serving_g': 274, 'sodium_mg': 570}],\n  ['generated control 3',\n   [[['oil', 40, 884, 0, 'marinade'], ['chicken', 610, 165, 70, 'marinade'], ['bay leaf', 12, 313, 23, 'eat'],\n     ['soy marinade', 225, 60, 5500, 'marinade']],\n    70, 1],\n   {'kcal': 337, 'kcal_per_100g': 257, 'serving_g': 131, 'sodium_mg': 2563}]],\n [['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['regression: marinade retention',\n   [[['onion', 150, 40, 4, 'eat'], ['stock', 525, 10, 350, 'eat'], ['bay leaf', 2, 313, 23, 'marinade'],\n     ['rice', 300, 130, 1, 'eat'], ['chicken', 610, 165, 70, 'eat']],\n    110, 2],\n   {'kcal': 755, 'kcal_per_100g': 87, 'serving_g': 872, 'sodium_mg': 1137}],\n  ['repair check: marinade retention',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['onion', 150, 40, 4, 'eat'], ['rice', 300, 130, 1, 'eat']],\n    110, 2],\n   {'kcal': 237, 'kcal_per_100g': 88, 'serving_g': 270, 'sodium_mg': 1105}],\n  ['generated control 1', [[['oil', 40, 884, 0, 'eat'], ['stock', 500, 10, 350, 'eat']], 110, 4],\n   {'kcal': 101, 'kcal_per_100g': 68, 'serving_g': 149, 'sodium_mg': 438}],\n  ['generated control 2',\n   [[['onion', 160, 40, 4, 'eat'], ['lemon rind', 20, 47, 6, 'discard'], ['bay leaf', 2, 313, 23, 'eat']], 70,\n    1],\n   {'kcal': 70, 'kcal_per_100g': 62, 'serving_g': 113, 'sodium_mg': 7}],\n  ['generated control 3',\n   [[['stock', 525, 10, 350, 'eat'], ['rice', 325, 130, 1, 'eat'], ['oil', 55, 884, 0, 'eat']], 90, 2],\n   {'kcal': 481, 'kcal_per_100g': 118, 'serving_g': 407, 'sodium_mg': 920}]],\n [['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['regression: marinade retention',\n   [[['chicken', 600, 165, 70, 'eat'], ['oil', 30, 884, 0, 'marinade'], ['rice', 310, 130, 1, 'eat'],\n     ['lemon rind', 20, 47, 6, 'eat'], ['bay leaf', 2, 313, 23, 'eat']],\n    90, 1],\n   {'kcal': 1462, 'kcal_per_100g': 173, 'serving_g': 844, 'sodium_mg': 425}],\n  ['repair check: marinade retention',\n   [[['stock', 525, 10, 350, 'eat'], ['soy marinade', 210, 60, 5500, 'marinade'],\n     ['rice', 325, 130, 1, 'eat'], ['bay leaf', 2, 313, 23, 'discard']],\n    90, 5],\n   {'kcal': 100, 'kcal_per_100g': 62, 'serving_g': 161, 'sodium_mg': 830}],\n  ['generated control 1', [[['onion', 150, 40, 4, 'eat'], ['chicken', 600, 165, 70, 'eat']], 75, 1],\n   {'kcal': 1050, 'kcal_per_100g': 187, 'serving_g': 563, 'sodium_mg': 426}],\n  ['generated control 2',\n   [[['stock', 510, 10, 350, 'eat'], ['oil', 40, 884, 0, 'eat'], ['lemon rind', 45, 47, 6, 'discard']], 90,\n    1],\n   {'kcal': 405, 'kcal_per_100g': 82, 'serving_g': 495, 'sodium_mg': 1785}],\n  ['generated control 3', [[['oil', 55, 884, 0, 'eat'], ['bay leaf', 12, 313, 23, 'eat']], 60, 1],\n   {'kcal': 524, 'kcal_per_100g': 1303, 'serving_g': 40, 'sodium_mg': 3}]],\n [['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['regression: marinade retention',\n   [[['lemon rind', 30, 47, 6, 'discard'], ['soy marinade', 225, 60, 5500, 'marinade'],\n     ['oil', 30, 884, 0, 'eat'], ['onion', 150, 40, 4, 'eat'], ['rice', 300, 130, 1, 'eat']],\n    75, 4],\n   {'kcal': 186, 'kcal_per_100g': 188, 'serving_g': 98, 'sodium_mg': 621}],\n  ['repair check: marinade retention',\n   [[['chicken', 610, 165, 70, 'marinade'], ['oil', 40, 884, 0, 'marinade'],\n     ['soy marinade', 200, 60, 5500, 'marinade'], ['bay leaf', 27, 313, 23, 'discard']],\n    80, 4],\n   {'kcal': 74, 'kcal_per_100g': 218, 'serving_g': 34, 'sodium_mg': 571}],\n  ['generated control 1',\n   [[['chicken', 610, 165, 70, 'eat'], ['bay leaf', 27, 313, 23, 'eat'], ['onion', 150, 40, 4, 'eat']], 90,\n    1],\n   {'kcal': 1151, 'kcal_per_100g': 163, 'serving_g': 708, 'sodium_mg': 439}],\n  ['generated control 2',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['onion', 175, 40, 4, 'eat']], 100, 3],\n   {'kcal': 31, 'kcal_per_100g': 44, 'serving_g': 72, 'sodium_mg': 736}],\n  ['generated control 3', [[['onion', 175, 40, 4, 'eat'], ['oil', 55, 884, 0, 'eat']], 80, 6],\n   {'kcal': 93, 'kcal_per_100g': 302, 'serving_g': 31, 'sodium_mg': 1}]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"3adc88733ae82bdb93bcbd4b0d5861e8a1edecb33d54101b19c8925f12400240","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(ingredients, yield_pct, servings):\n    if servings < 1:\n        return 'error: servings'\n    kcal = Fraction(0)\n    na = Fraction(0)\n    raw = Fraction(0)\n    for name, g, k, s, use in ingredients:\n        if use == 'discard':\n            continue\n        share = Fraction(1)\n        grams = Fraction(g) * share\n        raw += grams\n        kcal += grams * k / 100\n        na += grams * s / 100\n    cooked = raw * Fraction(yield_pct, 100)\n    def r(x):\n        return math.floor(x + Fraction(1, 2))\n    return {'serving_g': r(cooked / servings), 'kcal': r(kcal / servings), 'sodium_mg': r(na / servings),\n            'kcal_per_100g': r(kcal * 100 / cooked) if cooked else 0}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['regression: marinade retention',\n   [[['stock', 525, 10, 350, 'marinade'], ['chicken', 600, 165, 70, 'eat'],\n     ['lemon rind', 20, 47, 6, 'discard'], ['oil', 40, 884, 0, 'marinade']],\n    80, 1],\n   {'kcal': 1071, 'kcal_per_100g': 188, 'serving_g': 570, 'sodium_mg': 788}],\n  ['repair check: marinade retention',\n   [[['soy marinade', 225, 60, 5500, 'marinade'], ['rice', 300, 130, 1, 'eat'],\n     ['stock', 510, 10, 350, 'eat'], ['onion', 150, 40, 4, 'eat'], ['chicken', 625, 165, 70, 'eat']],\n    60, 5],\n   {'kcal': 312, 'kcal_per_100g': 159, 'serving_g': 196, 'sodium_mg': 941}],\n  ['generated control 1', [[['chicken', 625, 165, 70, 'eat'], ['onion', 150, 40, 4, 'eat']], 75, 1],\n   {'kcal': 1091, 'kcal_per_100g': 188, 'serving_g': 581, 'sodium_mg': 444}],\n  ['generated control 2',\n   [[['chicken', 625, 165, 70, 'eat'], ['onion', 160, 40, 4, 'eat'], ['rice', 325, 130, 1, 'eat'],\n     ['oil', 55, 884, 0, 'eat'], ['lemon rind', 30, 47, 6, 'discard']],\n    100, 3],\n   {'kcal': 668, 'kcal_per_100g': 172, 'serving_g': 388, 'sodium_mg': 149}],\n  ['generated control 3',\n   [[['lemon rind', 20, 47, 6, 'eat'], ['chicken', 600, 165, 70, 'eat'],\n     ['bay leaf', 27, 313, 23, 'discard']],\n    90, 6],\n   {'kcal': 167, 'kcal_per_100g': 179, 'serving_g': 93, 'sodium_mg': 70}]],\n [['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['regression: marinade retention',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['stock', 500, 10, 350, 'eat']], 110, 6],\n   {'kcal': 12, 'kcal_per_100g': 12, 'serving_g': 99, 'sodium_mg': 658}],\n  ['repair check: marinade retention',\n   [[['rice', 310, 130, 1, 'marinade'], ['stock', 510, 10, 350, 'eat'], ['lemon rind', 45, 47, 6, 'eat']], 70,\n    2],\n   {'kcal': 76, 'kcal_per_100g': 35, 'serving_g': 216, 'sodium_mg': 894}],\n  ['generated control 1', [[['lemon rind', 30, 47, 6, 'discard'], ['onion', 175, 40, 4, 'eat']], 75, 1],\n   {'kcal': 70, 'kcal_per_100g': 53, 'serving_g': 131, 'sodium_mg': 7}],\n  ['generated control 2',\n   [[['stock', 525, 10, 350, 'eat'], ['lemon rind', 30, 47, 6, 'discard'], ['rice', 310, 130, 1, 'eat'],\n     ['chicken', 625, 165, 70, 'eat']],\n    75, 4],\n   {'kcal': 372, 'kcal_per_100g': 136, 'serving_g': 274, 'sodium_mg': 570}],\n  ['generated control 3',\n   [[['oil', 40, 884, 0, 'marinade'], ['chicken', 610, 165, 70, 'marinade'], ['bay leaf', 12, 313, 23, 'eat'],\n     ['soy marinade', 225, 60, 5500, 'marinade']],\n    70, 1],\n   {'kcal': 337, 'kcal_per_100g': 257, 'serving_g': 131, 'sodium_mg': 2563}]],\n [['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['regression: marinade retention',\n   [[['onion', 150, 40, 4, 'eat'], ['stock', 525, 10, 350, 'eat'], ['bay leaf', 2, 313, 23, 'marinade'],\n     ['rice', 300, 130, 1, 'eat'], ['chicken', 610, 165, 70, 'eat']],\n    110, 2],\n   {'kcal': 755, 'kcal_per_100g': 87, 'serving_g': 872, 'sodium_mg': 1137}],\n  ['repair check: marinade retention',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['onion', 150, 40, 4, 'eat'], ['rice', 300, 130, 1, 'eat']],\n    110, 2],\n   {'kcal': 237, 'kcal_per_100g': 88, 'serving_g': 270, 'sodium_mg': 1105}],\n  ['generated control 1', [[['oil', 40, 884, 0, 'eat'], ['stock', 500, 10, 350, 'eat']], 110, 4],\n   {'kcal': 101, 'kcal_per_100g': 68, 'serving_g': 149, 'sodium_mg': 438}],\n  ['generated control 2',\n   [[['onion', 160, 40, 4, 'eat'], ['lemon rind', 20, 47, 6, 'discard'], ['bay leaf', 2, 313, 23, 'eat']], 70,\n    1],\n   {'kcal': 70, 'kcal_per_100g': 62, 'serving_g': 113, 'sodium_mg': 7}],\n  ['generated control 3',\n   [[['stock', 525, 10, 350, 'eat'], ['rice', 325, 130, 1, 'eat'], ['oil', 55, 884, 0, 'eat']], 90, 2],\n   {'kcal': 481, 'kcal_per_100g': 118, 'serving_g': 407, 'sodium_mg': 920}]],\n [['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['regression: marinade retention',\n   [[['chicken', 600, 165, 70, 'eat'], ['oil', 30, 884, 0, 'marinade'], ['rice', 310, 130, 1, 'eat'],\n     ['lemon rind', 20, 47, 6, 'eat'], ['bay leaf', 2, 313, 23, 'eat']],\n    90, 1],\n   {'kcal': 1462, 'kcal_per_100g': 173, 'serving_g': 844, 'sodium_mg': 425}],\n  ['repair check: marinade retention',\n   [[['stock', 525, 10, 350, 'eat'], ['soy marinade', 210, 60, 5500, 'marinade'],\n     ['rice', 325, 130, 1, 'eat'], ['bay leaf', 2, 313, 23, 'discard']],\n    90, 5],\n   {'kcal': 100, 'kcal_per_100g': 62, 'serving_g': 161, 'sodium_mg': 830}],\n  ['generated control 1', [[['onion', 150, 40, 4, 'eat'], ['chicken', 600, 165, 70, 'eat']], 75, 1],\n   {'kcal': 1050, 'kcal_per_100g': 187, 'serving_g': 563, 'sodium_mg': 426}],\n  ['generated control 2',\n   [[['stock', 510, 10, 350, 'eat'], ['oil', 40, 884, 0, 'eat'], ['lemon rind', 45, 47, 6, 'discard']], 90,\n    1],\n   {'kcal': 405, 'kcal_per_100g': 82, 'serving_g': 495, 'sodium_mg': 1785}],\n  ['generated control 3', [[['oil', 55, 884, 0, 'eat'], ['bay leaf', 12, 313, 23, 'eat']], 60, 1],\n   {'kcal': 524, 'kcal_per_100g': 1303, 'serving_g': 40, 'sodium_mg': 3}]],\n [['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['regression: marinade retention',\n   [[['lemon rind', 30, 47, 6, 'discard'], ['soy marinade', 225, 60, 5500, 'marinade'],\n     ['oil', 30, 884, 0, 'eat'], ['onion', 150, 40, 4, 'eat'], ['rice', 300, 130, 1, 'eat']],\n    75, 4],\n   {'kcal': 186, 'kcal_per_100g': 188, 'serving_g': 98, 'sodium_mg': 621}],\n  ['repair check: marinade retention',\n   [[['chicken', 610, 165, 70, 'marinade'], ['oil', 40, 884, 0, 'marinade'],\n     ['soy marinade', 200, 60, 5500, 'marinade'], ['bay leaf', 27, 313, 23, 'discard']],\n    80, 4],\n   {'kcal': 74, 'kcal_per_100g': 218, 'serving_g': 34, 'sodium_mg': 571}],\n  ['generated control 1',\n   [[['chicken', 610, 165, 70, 'eat'], ['bay leaf', 27, 313, 23, 'eat'], ['onion', 150, 40, 4, 'eat']], 90,\n    1],\n   {'kcal': 1151, 'kcal_per_100g': 163, 'serving_g': 708, 'sodium_mg': 439}],\n  ['generated control 2',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['onion', 175, 40, 4, 'eat']], 100, 3],\n   {'kcal': 31, 'kcal_per_100g': 44, 'serving_g': 72, 'sodium_mg': 736}],\n  ['generated control 3', [[['onion', 175, 40, 4, 'eat'], ['oil', 55, 884, 0, 'eat']], 80, 6],\n   {'kcal': 93, 'kcal_per_100g': 302, 'serving_g': 31, 'sodium_mg': 1}]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"f1d04309a5d55ebc1d6f334cd6a245b1bc53cb543694c48e1013ade98d013613","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(ingredients, yield_pct, servings):\n    if servings < 1:\n        return 'error: servings'\n    kcal = Fraction(0)\n    na = Fraction(0)\n    raw = Fraction(0)\n    for name, g, k, s, use in ingredients:\n        if use == 'discard':\n            continue\n        share = Fraction(1, 5) if use == 'marinade' else Fraction(1)\n        grams = Fraction(g) * share\n        raw += grams\n        kcal += grams * k / 100\n        na += grams * s / 100\n    cooked = raw * Fraction(yield_pct, 100)\n    def r(x):\n        return math.floor(x + Fraction(1, 2))\n    return {'serving_g': r(cooked / servings), 'kcal': r(kcal / servings), 'sodium_mg': r(na / servings),\n            'kcal_per_100g': r(kcal * 100 / cooked) if cooked else 0}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['regression: marinade retention',\n   [[['stock', 525, 10, 350, 'marinade'], ['chicken', 600, 165, 70, 'eat'],\n     ['lemon rind', 20, 47, 6, 'discard'], ['oil', 40, 884, 0, 'marinade']],\n    80, 1],\n   {'kcal': 1071, 'kcal_per_100g': 188, 'serving_g': 570, 'sodium_mg': 788}],\n  ['repair check: marinade retention',\n   [[['soy marinade', 225, 60, 5500, 'marinade'], ['rice', 300, 130, 1, 'eat'],\n     ['stock', 510, 10, 350, 'eat'], ['onion', 150, 40, 4, 'eat'], ['chicken', 625, 165, 70, 'eat']],\n    60, 5],\n   {'kcal': 312, 'kcal_per_100g': 159, 'serving_g': 196, 'sodium_mg': 941}],\n  ['generated control 1', [[['chicken', 625, 165, 70, 'eat'], ['onion', 150, 40, 4, 'eat']], 75, 1],\n   {'kcal': 1091, 'kcal_per_100g': 188, 'serving_g': 581, 'sodium_mg': 444}],\n  ['generated control 2',\n   [[['chicken', 625, 165, 70, 'eat'], ['onion', 160, 40, 4, 'eat'], ['rice', 325, 130, 1, 'eat'],\n     ['oil', 55, 884, 0, 'eat'], ['lemon rind', 30, 47, 6, 'discard']],\n    100, 3],\n   {'kcal': 668, 'kcal_per_100g': 172, 'serving_g': 388, 'sodium_mg': 149}],\n  ['generated control 3',\n   [[['lemon rind', 20, 47, 6, 'eat'], ['chicken', 600, 165, 70, 'eat'],\n     ['bay leaf', 27, 313, 23, 'discard']],\n    90, 6],\n   {'kcal': 167, 'kcal_per_100g': 179, 'serving_g': 93, 'sodium_mg': 70}]],\n [['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['regression: marinade retention',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['stock', 500, 10, 350, 'eat']], 110, 6],\n   {'kcal': 12, 'kcal_per_100g': 12, 'serving_g': 99, 'sodium_mg': 658}],\n  ['repair check: marinade retention',\n   [[['rice', 310, 130, 1, 'marinade'], ['stock', 510, 10, 350, 'eat'], ['lemon rind', 45, 47, 6, 'eat']], 70,\n    2],\n   {'kcal': 76, 'kcal_per_100g': 35, 'serving_g': 216, 'sodium_mg': 894}],\n  ['generated control 1', [[['lemon rind', 30, 47, 6, 'discard'], ['onion', 175, 40, 4, 'eat']], 75, 1],\n   {'kcal': 70, 'kcal_per_100g': 53, 'serving_g': 131, 'sodium_mg': 7}],\n  ['generated control 2',\n   [[['stock', 525, 10, 350, 'eat'], ['lemon rind', 30, 47, 6, 'discard'], ['rice', 310, 130, 1, 'eat'],\n     ['chicken', 625, 165, 70, 'eat']],\n    75, 4],\n   {'kcal': 372, 'kcal_per_100g': 136, 'serving_g': 274, 'sodium_mg': 570}],\n  ['generated control 3',\n   [[['oil', 40, 884, 0, 'marinade'], ['chicken', 610, 165, 70, 'marinade'], ['bay leaf', 12, 313, 23, 'eat'],\n     ['soy marinade', 225, 60, 5500, 'marinade']],\n    70, 1],\n   {'kcal': 337, 'kcal_per_100g': 257, 'serving_g': 131, 'sodium_mg': 2563}]],\n [['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['regression: marinade retention',\n   [[['onion', 150, 40, 4, 'eat'], ['stock', 525, 10, 350, 'eat'], ['bay leaf', 2, 313, 23, 'marinade'],\n     ['rice', 300, 130, 1, 'eat'], ['chicken', 610, 165, 70, 'eat']],\n    110, 2],\n   {'kcal': 755, 'kcal_per_100g': 87, 'serving_g': 872, 'sodium_mg': 1137}],\n  ['repair check: marinade retention',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['onion', 150, 40, 4, 'eat'], ['rice', 300, 130, 1, 'eat']],\n    110, 2],\n   {'kcal': 237, 'kcal_per_100g': 88, 'serving_g': 270, 'sodium_mg': 1105}],\n  ['generated control 1', [[['oil', 40, 884, 0, 'eat'], ['stock', 500, 10, 350, 'eat']], 110, 4],\n   {'kcal': 101, 'kcal_per_100g': 68, 'serving_g': 149, 'sodium_mg': 438}],\n  ['generated control 2',\n   [[['onion', 160, 40, 4, 'eat'], ['lemon rind', 20, 47, 6, 'discard'], ['bay leaf', 2, 313, 23, 'eat']], 70,\n    1],\n   {'kcal': 70, 'kcal_per_100g': 62, 'serving_g': 113, 'sodium_mg': 7}],\n  ['generated control 3',\n   [[['stock', 525, 10, 350, 'eat'], ['rice', 325, 130, 1, 'eat'], ['oil', 55, 884, 0, 'eat']], 90, 2],\n   {'kcal': 481, 'kcal_per_100g': 118, 'serving_g': 407, 'sodium_mg': 920}]],\n [['marinated chicken',\n   [[['chicken', 600, 165, 70, 'eat'], ['soy marinade', 200, 60, 5500, 'marinade']], 75, 4],\n   {'kcal': 254, 'kcal_per_100g': 211, 'serving_g': 120, 'sodium_mg': 655}],\n  ['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['regression: marinade retention',\n   [[['chicken', 600, 165, 70, 'eat'], ['oil', 30, 884, 0, 'marinade'], ['rice', 310, 130, 1, 'eat'],\n     ['lemon rind', 20, 47, 6, 'eat'], ['bay leaf', 2, 313, 23, 'eat']],\n    90, 1],\n   {'kcal': 1462, 'kcal_per_100g': 173, 'serving_g': 844, 'sodium_mg': 425}],\n  ['repair check: marinade retention',\n   [[['stock', 525, 10, 350, 'eat'], ['soy marinade', 210, 60, 5500, 'marinade'],\n     ['rice', 325, 130, 1, 'eat'], ['bay leaf', 2, 313, 23, 'discard']],\n    90, 5],\n   {'kcal': 100, 'kcal_per_100g': 62, 'serving_g': 161, 'sodium_mg': 830}],\n  ['generated control 1', [[['onion', 150, 40, 4, 'eat'], ['chicken', 600, 165, 70, 'eat']], 75, 1],\n   {'kcal': 1050, 'kcal_per_100g': 187, 'serving_g': 563, 'sodium_mg': 426}],\n  ['generated control 2',\n   [[['stock', 510, 10, 350, 'eat'], ['oil', 40, 884, 0, 'eat'], ['lemon rind', 45, 47, 6, 'discard']], 90,\n    1],\n   {'kcal': 405, 'kcal_per_100g': 82, 'serving_g': 495, 'sodium_mg': 1785}],\n  ['generated control 3', [[['oil', 55, 884, 0, 'eat'], ['bay leaf', 12, 313, 23, 'eat']], 60, 1],\n   {'kcal': 524, 'kcal_per_100g': 1303, 'serving_g': 40, 'sodium_mg': 3}]],\n [['plain dish', [[['rice', 300, 130, 1, 'eat']], 100, 3],\n   {'kcal': 130, 'kcal_per_100g': 130, 'serving_g': 100, 'sodium_mg': 1}],\n  ['zero servings', [[['rice', 300, 130, 1, 'eat']], 80, 0], 'error: servings'],\n  ['only discarded aromatics', [[['bay leaf', 2, 313, 23, 'discard']], 90, 2],\n   {'kcal': 0, 'kcal_per_100g': 0, 'serving_g': 0, 'sodium_mg': 0}],\n  ['regression: marinade retention',\n   [[['lemon rind', 30, 47, 6, 'discard'], ['soy marinade', 225, 60, 5500, 'marinade'],\n     ['oil', 30, 884, 0, 'eat'], ['onion', 150, 40, 4, 'eat'], ['rice', 300, 130, 1, 'eat']],\n    75, 4],\n   {'kcal': 186, 'kcal_per_100g': 188, 'serving_g': 98, 'sodium_mg': 621}],\n  ['repair check: marinade retention',\n   [[['chicken', 610, 165, 70, 'marinade'], ['oil', 40, 884, 0, 'marinade'],\n     ['soy marinade', 200, 60, 5500, 'marinade'], ['bay leaf', 27, 313, 23, 'discard']],\n    80, 4],\n   {'kcal': 74, 'kcal_per_100g': 218, 'serving_g': 34, 'sodium_mg': 571}],\n  ['generated control 1',\n   [[['chicken', 610, 165, 70, 'eat'], ['bay leaf', 27, 313, 23, 'eat'], ['onion', 150, 40, 4, 'eat']], 90,\n    1],\n   {'kcal': 1151, 'kcal_per_100g': 163, 'serving_g': 708, 'sodium_mg': 439}],\n  ['generated control 2',\n   [[['soy marinade', 200, 60, 5500, 'marinade'], ['onion', 175, 40, 4, 'eat']], 100, 3],\n   {'kcal': 31, 'kcal_per_100g': 44, 'serving_g': 72, 'sodium_mg': 736}],\n  ['generated control 3', [[['onion', 175, 40, 4, 'eat'], ['oil', 55, 884, 0, 'eat']], 80, 6],\n   {'kcal': 93, 'kcal_per_100g': 302, 'serving_g': 31, 'sodium_mg': 1}]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-recipe_scaling_and_nutrition-cooked-yield-nutrition-marinade-retention","generated_at":"2026-09-29T14:52:27.566275+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Recipe nutrition must account for cooking moisture loss and for marinades and aromatics that are not eaten.","repair":"Retain 1/5 of marinade weight and nutrients.","root_cause":"Marinade rows count in full instead of at the 1/5 retention share.","sha256":"e9b0b89f108c23084501431e008973ccfe6f21fd0c9226a4e4424469884683d8","title":"Cooked-yield nutrition per serving: marinade retention · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.025,"exit_code":1,"observations":[{"actual":{"kcal":130,"kcal_per_100g":130,"serving_g":100,"sodium_mg":1},"check":"plain dish","expected":{"kcal":130,"kcal_per_100g":130,"serving_g":100,"sodium_mg":1},"passed":true},{"actual":"error: servings","check":"zero servings","expected":"error: servings","passed":true},{"actual":{"kcal":0,"kcal_per_100g":0,"serving_g":0,"sodium_mg":0},"check":"only discarded aromatics","expected":{"kcal":0,"kcal_per_100g":0,"serving_g":0,"sodium_mg":0},"passed":true},{"actual":{"kcal":1315,"kcal_per_100g":156,"serving_g":842,"sodium_mg":1890},"check":"regression: marinade retention","expected":{"kcal":1071,"kcal_per_100g":188,"serving_g":570,"sodium_mg":788},"passed":false},{"actual":{"kcal":328,"kcal_per_100g":155,"serving_g":212,"sodium_mg":2426},"check":"repair check: marinade retention","expected":{"kcal":312,"kcal_per_100g":159,"serving_g":196,"sodium_mg":941},"passed":false},{"actual":{"kcal":1091,"kcal_per_100g":188,"serving_g":581,"sodium_mg":444},"check":"generated control 1","expected":{"kcal":1091,"kcal_per_100g":188,"serving_g":581,"sodium_mg":444},"passed":true},{"actual":{"kcal":668,"kcal_per_100g":172,"serving_g":388,"sodium_mg":149},"check":"generated control 2","expected":{"kcal":668,"kcal_per_100g":172,"serving_g":388,"sodium_mg":149},"passed":true},{"actual":{"kcal":167,"kcal_per_100g":179,"serving_g":93,"sodium_mg":70},"check":"generated control 3","expected":{"kcal":167,"kcal_per_100g":179,"serving_g":93,"sodium_mg":70},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"plain dish\", \"actual\": {\"serving_g\": 100, \"kcal\": 130, \"sodium_mg\": 1, \"kcal_per_100g\": 130}, \"expected\": {\"kcal\": 130, \"kcal_per_100g\": 130, \"serving_g\": 100, \"sodium_mg\": 1}, \"passed\": true}, {\"check\": \"zero servings\", \"actual\": \"error: servings\", \"expected\": \"error: servings\", \"passed\": true}, {\"check\": \"only discarded aromatics\", \"actual\": {\"serving_g\": 0, \"kcal\": 0, \"sodium_mg\": 0, \"kcal_per_100g\": 0}, \"expected\": {\"kcal\": 0, \"kcal_per_100g\": 0, \"serving_g\": 0, \"sodium_mg\": 0}, \"passed\": true}, {\"check\": \"regression: marinade retention\", \"actual\": {\"serving_g\": 842, \"kcal\": 1315, \"sodium_mg\": 1890, \"kcal_per_100g\": 156}, \"expected\": {\"kcal\": 1071, \"kcal_per_100g\": 188, \"serving_g\": 570, \"sodium_mg\": 788}, \"passed\": false}, {\"check\": \"repair check: marinade retention\", \"actual\": {\"serving_g\": 212, \"kcal\": 328, \"sodium_mg\": 2426, \"kcal_per_100g\": 155}, \"expected\": {\"kcal\": 312, \"kcal_per_100g\": 159, \"serving_g\": 196, \"sodium_mg\": 941}, \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": {\"serving_g\": 581, \"kcal\": 1091, \"sodium_mg\": 444, \"kcal_per_100g\": 188}, \"expected\": {\"kcal\": 1091, \"kcal_per_100g\": 188, \"serving_g\": 581, \"sodium_mg\": 444}, \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": {\"serving_g\": 388, \"kcal\": 668, \"sodium_mg\": 149, \"kcal_per_100g\": 172}, \"expected\": {\"kcal\": 668, \"kcal_per_100g\": 172, \"serving_g\": 388, \"sodium_mg\": 149}, \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": {\"serving_g\": 93, \"kcal\": 167, \"sodium_mg\": 70, \"kcal_per_100g\": 179}, \"expected\": {\"kcal\": 167, \"kcal_per_100g\": 179, \"serving_g\": 93, \"sodium_mg\": 70}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.12,"exit_code":1,"observations":[{"actual":{"kcal":130,"kcal_per_100g":130,"serving_g":100,"sodium_mg":1},"check":"plain dish","expected":{"kcal":130,"kcal_per_100g":130,"serving_g":100,"sodium_mg":1},"passed":true},{"actual":"error: servings","check":"zero servings","expected":"error: servings","passed":true},{"actual":{"kcal":0,"kcal_per_100g":0,"serving_g":0,"sodium_mg":0},"check":"only discarded aromatics","expected":{"kcal":0,"kcal_per_100g":0,"serving_g":0,"sodium_mg":0},"passed":true},{"actual":{"kcal":1396,"kcal_per_100g":150,"serving_g":932,"sodium_mg":2258},"check":"regression: marinade retention","expected":{"kcal":1071,"kcal_per_100g":188,"serving_g":570,"sodium_mg":788},"passed":false},{"actual":{"kcal":333,"kcal_per_100g":154,"serving_g":217,"sodium_mg":2921},"check":"repair check: marinade retention","expected":{"kcal":312,"kcal_per_100g":159,"serving_g":196,"sodium_mg":941},"passed":false},{"actual":{"kcal":1091,"kcal_per_100g":188,"serving_g":581,"sodium_mg":444},"check":"generated control 1","expected":{"kcal":1091,"kcal_per_100g":188,"serving_g":581,"sodium_mg":444},"passed":true},{"actual":{"kcal":668,"kcal_per_100g":172,"serving_g":388,"sodium_mg":149},"check":"generated control 2","expected":{"kcal":668,"kcal_per_100g":172,"serving_g":388,"sodium_mg":149},"passed":true},{"actual":{"kcal":167,"kcal_per_100g":179,"serving_g":93,"sodium_mg":70},"check":"generated control 3","expected":{"kcal":167,"kcal_per_100g":179,"serving_g":93,"sodium_mg":70},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"plain dish\", \"actual\": {\"serving_g\": 100, \"kcal\": 130, \"sodium_mg\": 1, \"kcal_per_100g\": 130}, \"expected\": {\"kcal\": 130, \"kcal_per_100g\": 130, \"serving_g\": 100, \"sodium_mg\": 1}, \"passed\": true}, {\"check\": \"zero servings\", \"actual\": \"error: servings\", \"expected\": \"error: servings\", \"passed\": true}, {\"check\": \"only discarded aromatics\", \"actual\": {\"serving_g\": 0, \"kcal\": 0, \"sodium_mg\": 0, \"kcal_per_100g\": 0}, \"expected\": {\"kcal\": 0, \"kcal_per_100g\": 0, \"serving_g\": 0, \"sodium_mg\": 0}, \"passed\": true}, {\"check\": \"regression: marinade retention\", \"actual\": {\"serving_g\": 932, \"kcal\": 1396, \"sodium_mg\": 2258, \"kcal_per_100g\": 150}, \"expected\": {\"kcal\": 1071, \"kcal_per_100g\": 188, \"serving_g\": 570, \"sodium_mg\": 788}, \"passed\": false}, {\"check\": \"repair check: marinade retention\", \"actual\": {\"serving_g\": 217, \"kcal\": 333, \"sodium_mg\": 2921, \"kcal_per_100g\": 154}, \"expected\": {\"kcal\": 312, \"kcal_per_100g\": 159, \"serving_g\": 196, \"sodium_mg\": 941}, \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": {\"serving_g\": 581, \"kcal\": 1091, \"sodium_mg\": 444, \"kcal_per_100g\": 188}, \"expected\": {\"kcal\": 1091, \"kcal_per_100g\": 188, \"serving_g\": 581, \"sodium_mg\": 444}, \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": {\"serving_g\": 388, \"kcal\": 668, \"sodium_mg\": 149, \"kcal_per_100g\": 172}, \"expected\": {\"kcal\": 668, \"kcal_per_100g\": 172, \"serving_g\": 388, \"sodium_mg\": 149}, \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": {\"serving_g\": 93, \"kcal\": 167, \"sodium_mg\": 70, \"kcal_per_100g\": 179}, \"expected\": {\"kcal\": 167, \"kcal_per_100g\": 179, \"serving_g\": 93, \"sodium_mg\": 70}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.785,"exit_code":0,"observations":[{"actual":{"kcal":130,"kcal_per_100g":130,"serving_g":100,"sodium_mg":1},"check":"plain dish","expected":{"kcal":130,"kcal_per_100g":130,"serving_g":100,"sodium_mg":1},"passed":true},{"actual":"error: servings","check":"zero servings","expected":"error: servings","passed":true},{"actual":{"kcal":0,"kcal_per_100g":0,"serving_g":0,"sodium_mg":0},"check":"only discarded aromatics","expected":{"kcal":0,"kcal_per_100g":0,"serving_g":0,"sodium_mg":0},"passed":true},{"actual":{"kcal":1071,"kcal_per_100g":188,"serving_g":570,"sodium_mg":788},"check":"regression: marinade retention","expected":{"kcal":1071,"kcal_per_100g":188,"serving_g":570,"sodium_mg":788},"passed":true},{"actual":{"kcal":312,"kcal_per_100g":159,"serving_g":196,"sodium_mg":941},"check":"repair check: marinade retention","expected":{"kcal":312,"kcal_per_100g":159,"serving_g":196,"sodium_mg":941},"passed":true},{"actual":{"kcal":1091,"kcal_per_100g":188,"serving_g":581,"sodium_mg":444},"check":"generated control 1","expected":{"kcal":1091,"kcal_per_100g":188,"serving_g":581,"sodium_mg":444},"passed":true},{"actual":{"kcal":668,"kcal_per_100g":172,"serving_g":388,"sodium_mg":149},"check":"generated control 2","expected":{"kcal":668,"kcal_per_100g":172,"serving_g":388,"sodium_mg":149},"passed":true},{"actual":{"kcal":167,"kcal_per_100g":179,"serving_g":93,"sodium_mg":70},"check":"generated control 3","expected":{"kcal":167,"kcal_per_100g":179,"serving_g":93,"sodium_mg":70},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"plain dish\", \"actual\": {\"serving_g\": 100, \"kcal\": 130, \"sodium_mg\": 1, \"kcal_per_100g\": 130}, \"expected\": {\"kcal\": 130, \"kcal_per_100g\": 130, \"serving_g\": 100, \"sodium_mg\": 1}, \"passed\": true}, {\"check\": \"zero servings\", \"actual\": \"error: servings\", \"expected\": \"error: servings\", \"passed\": true}, {\"check\": \"only discarded aromatics\", \"actual\": {\"serving_g\": 0, \"kcal\": 0, \"sodium_mg\": 0, \"kcal_per_100g\": 0}, \"expected\": {\"kcal\": 0, \"kcal_per_100g\": 0, \"serving_g\": 0, \"sodium_mg\": 0}, \"passed\": true}, {\"check\": \"regression: marinade retention\", \"actual\": {\"serving_g\": 570, \"kcal\": 1071, \"sodium_mg\": 788, \"kcal_per_100g\": 188}, \"expected\": {\"kcal\": 1071, \"kcal_per_100g\": 188, \"serving_g\": 570, \"sodium_mg\": 788}, \"passed\": true}, {\"check\": \"repair check: marinade retention\", \"actual\": {\"serving_g\": 196, \"kcal\": 312, \"sodium_mg\": 941, \"kcal_per_100g\": 159}, \"expected\": {\"kcal\": 312, \"kcal_per_100g\": 159, \"serving_g\": 196, \"sodium_mg\": 941}, \"passed\": true}, {\"check\": \"generated control 1\", \"actual\": {\"serving_g\": 581, \"kcal\": 1091, \"sodium_mg\": 444, \"kcal_per_100g\": 188}, \"expected\": {\"kcal\": 1091, \"kcal_per_100g\": 188, \"serving_g\": 581, \"sodium_mg\": 444}, \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": {\"serving_g\": 388, \"kcal\": 668, \"sodium_mg\": 149, \"kcal_per_100g\": 172}, \"expected\": {\"kcal\": 668, \"kcal_per_100g\": 172, \"serving_g\": 388, \"sodium_mg\": 149}, \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": {\"serving_g\": 93, \"kcal\": 167, \"sodium_mg\": 70, \"kcal_per_100g\": 179}, \"expected\": {\"kcal\": 167, \"kcal_per_100g\": 179, \"serving_g\": 93, \"sodium_mg\": 70}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}