{"abstract":"A 2x2 rib sock casts on 58 stitches.","category":"Knitting and sewing pattern grading","checks":8,"contract":"Leg stitches = foot_circ*(1 - neg_ease/100)*gauge/10 rounded to the nearest multiple of `multiple` (half-up). Heel flap = half the stitches; flap rows = heel stitches; gusset pick-up per side = flap rows/2 + 1. Return {cast_on, heel_sts, flap_rows, pickup}.","evaluation_group":"w2-knitting_and_sewing_pattern_grading-sock-fit","failed_approach":"Flooring to the multiple undersizes the sock.","family":"w2-knitting_and_sewing_pattern_grading-sock-fit-stitch-multiple-rounding","id":"FA-97826","implementations":{"attempt":{"sha256":"410e388574ec046119dac3ceec49da0ea51bc7f6ebd4963cd238640cd292cac2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(foot_circ, sts_per_10cm, neg_ease_pct, multiple):\n    raw = Fraction(str(foot_circ)) * (1 - Fraction(str(neg_ease_pct)) / 100) * Fraction(sts_per_10cm) / 10\n    cast = multiple * math.floor(raw / multiple)\n    heel = cast // 2\n    flap = heel\n    pickup = flap // 2 + 1\n    return {'cast_on': cast, 'heel_sts': heel, 'flap_rows': flap, 'pickup': pickup}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['regression: stitch multiple rounding', [24, '36', 0, 4],\n   {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}],\n  ['repair check: stitch multiple rounding', [21.5, '32', 0, 3],\n   {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 1', [20, '36', 0, 4], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['generated control 2', [23, '32', 12.5, 1],\n   {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [24, '32', 0, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}]],\n [['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['regression: stitch multiple rounding', [20, '28', 12.5, 3],\n   {'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],\n  ['repair check: stitch multiple rounding', [20, '28', 5, 3],\n   {'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],\n  ['generated control 1', [21.5, '28', 12.5, 1],\n   {'cast_on': 53, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],\n  ['generated control 2', [23, '30', 5, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [20, '32', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],\n [['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['regression: stitch multiple rounding', [25.5, '32', 12.5, 2],\n   {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['repair check: stitch multiple rounding', [21.5, '36', 12.5, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 1', [21.5, '28', 12.5, 2],\n   {'cast_on': 52, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],\n  ['generated control 2', [21.5, '28', 0, 4], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],\n [['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['regression: stitch multiple rounding', [22, '28', 10, 3],\n   {'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],\n  ['repair check: stitch multiple rounding', [20, '30', 5, 2],\n   {'cast_on': 58, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [20, '32', 12.5, 3],\n   {'cast_on': 57, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['generated control 2', [20, '36', 5, 2], {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 3', [21.5, '32', 0, 4],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],\n [['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['regression: stitch multiple rounding', [24, '28', 12.5, 4],\n   {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['repair check: stitch multiple rounding', [22, '28', 5, 1],\n   {'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [22, '32', 10, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 2', [25.5, '32', 12.5, 1],\n   {'cast_on': 71, 'flap_rows': 35, 'heel_sts': 35, 'pickup': 18}],\n  ['generated control 3', [23, '28', 0, 1], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}]]]\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":"c39c64d3a05237fb20680102d1e80eac4e5592ec57e6383d7b7c1dae0b508941","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(foot_circ, sts_per_10cm, neg_ease_pct, multiple):\n    raw = Fraction(str(foot_circ)) * (1 - Fraction(str(neg_ease_pct)) / 100) * Fraction(sts_per_10cm) / 10\n    cast = math.floor(raw + Fraction(1, 2))\n    heel = cast // 2\n    flap = heel\n    pickup = flap // 2 + 1\n    return {'cast_on': cast, 'heel_sts': heel, 'flap_rows': flap, 'pickup': pickup}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['regression: stitch multiple rounding', [24, '36', 0, 4],\n   {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}],\n  ['repair check: stitch multiple rounding', [21.5, '32', 0, 3],\n   {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 1', [20, '36', 0, 4], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['generated control 2', [23, '32', 12.5, 1],\n   {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [24, '32', 0, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}]],\n [['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['regression: stitch multiple rounding', [20, '28', 12.5, 3],\n   {'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],\n  ['repair check: stitch multiple rounding', [20, '28', 5, 3],\n   {'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],\n  ['generated control 1', [21.5, '28', 12.5, 1],\n   {'cast_on': 53, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],\n  ['generated control 2', [23, '30', 5, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [20, '32', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],\n [['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['regression: stitch multiple rounding', [25.5, '32', 12.5, 2],\n   {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['repair check: stitch multiple rounding', [21.5, '36', 12.5, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 1', [21.5, '28', 12.5, 2],\n   {'cast_on': 52, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],\n  ['generated control 2', [21.5, '28', 0, 4], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],\n [['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['regression: stitch multiple rounding', [22, '28', 10, 3],\n   {'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],\n  ['repair check: stitch multiple rounding', [20, '30', 5, 2],\n   {'cast_on': 58, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [20, '32', 12.5, 3],\n   {'cast_on': 57, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['generated control 2', [20, '36', 5, 2], {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 3', [21.5, '32', 0, 4],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],\n [['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['regression: stitch multiple rounding', [24, '28', 12.5, 4],\n   {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['repair check: stitch multiple rounding', [22, '28', 5, 1],\n   {'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [22, '32', 10, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 2', [25.5, '32', 12.5, 1],\n   {'cast_on': 71, 'flap_rows': 35, 'heel_sts': 35, 'pickup': 18}],\n  ['generated control 3', [23, '28', 0, 1], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}]]]\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":"f4c0c52bd96cb4079e2f1f1a9e15717e1a31dc41b5bb6b3dec2bb235c93691e4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(foot_circ, sts_per_10cm, neg_ease_pct, multiple):\n    raw = Fraction(str(foot_circ)) * (1 - Fraction(str(neg_ease_pct)) / 100) * Fraction(sts_per_10cm) / 10\n    cast = multiple * math.floor(raw / multiple + Fraction(1, 2))\n    heel = cast // 2\n    flap = heel\n    pickup = flap // 2 + 1\n    return {'cast_on': cast, 'heel_sts': heel, 'flap_rows': flap, 'pickup': pickup}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['regression: stitch multiple rounding', [24, '36', 0, 4],\n   {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}],\n  ['repair check: stitch multiple rounding', [21.5, '32', 0, 3],\n   {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 1', [20, '36', 0, 4], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['generated control 2', [23, '32', 12.5, 1],\n   {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [24, '32', 0, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}]],\n [['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['regression: stitch multiple rounding', [20, '28', 12.5, 3],\n   {'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],\n  ['repair check: stitch multiple rounding', [20, '28', 5, 3],\n   {'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],\n  ['generated control 1', [21.5, '28', 12.5, 1],\n   {'cast_on': 53, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],\n  ['generated control 2', [23, '30', 5, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [20, '32', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],\n [['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['regression: stitch multiple rounding', [25.5, '32', 12.5, 2],\n   {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['repair check: stitch multiple rounding', [21.5, '36', 12.5, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 1', [21.5, '28', 12.5, 2],\n   {'cast_on': 52, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],\n  ['generated control 2', [21.5, '28', 0, 4], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],\n [['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['regression: stitch multiple rounding', [22, '28', 10, 3],\n   {'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],\n  ['repair check: stitch multiple rounding', [20, '30', 5, 2],\n   {'cast_on': 58, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [20, '32', 12.5, 3],\n   {'cast_on': 57, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['generated control 2', [20, '36', 5, 2], {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 3', [21.5, '32', 0, 4],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],\n [['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],\n  ['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['regression: stitch multiple rounding', [24, '28', 12.5, 4],\n   {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['repair check: stitch multiple rounding', [22, '28', 5, 1],\n   {'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [22, '32', 10, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 2', [25.5, '32', 12.5, 1],\n   {'cast_on': 71, 'flap_rows': 35, 'heel_sts': 35, 'pickup': 18}],\n  ['generated control 3', [23, '28', 0, 1], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}]]]\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-knitting_and_sewing_pattern_grading-sock-fit-stitch-multiple-rounding","generated_at":"2026-09-29T14:52:35.967547+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Sock patterns size with negative ease and derive heel flap and gusset counts.","repair":"Round to the nearest multiple.","root_cause":"The cast-on is rounded to a stitch, not to the rib multiple.","sha256":"3acc48c6250b39b2bd11f92c82282fcf6e91fc918b064f88b8aa2d23a4fbb1ab","title":"Top-down sock fit calculator: stitch multiple rounding · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.067,"exit_code":1,"observations":[{"actual":{"cast_on":60,"flap_rows":30,"heel_sts":30,"pickup":16},"check":"standard sock","expected":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"passed":false},{"actual":{"cast_on":56,"flap_rows":28,"heel_sts":28,"pickup":15},"check":"no ease","expected":{"cast_on":56,"flap_rows":28,"heel_sts":28,"pickup":15},"passed":true},{"actual":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":21},"check":"wide foot","expected":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":21},"passed":true},{"actual":{"cast_on":84,"flap_rows":42,"heel_sts":42,"pickup":22},"check":"regression: stitch multiple rounding","expected":{"cast_on":88,"flap_rows":44,"heel_sts":44,"pickup":23},"passed":false},{"actual":{"cast_on":66,"flap_rows":33,"heel_sts":33,"pickup":17},"check":"repair check: stitch multiple rounding","expected":{"cast_on":69,"flap_rows":34,"heel_sts":34,"pickup":18},"passed":false},{"actual":{"cast_on":72,"flap_rows":36,"heel_sts":36,"pickup":19},"check":"generated control 1","expected":{"cast_on":72,"flap_rows":36,"heel_sts":36,"pickup":19},"passed":true},{"actual":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"check":"generated control 2","expected":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"passed":true},{"actual":{"cast_on":76,"flap_rows":38,"heel_sts":38,"pickup":20},"check":"generated control 3","expected":{"cast_on":76,"flap_rows":38,"heel_sts":38,"pickup":20},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"standard sock\", \"actual\": {\"cast_on\": 60, \"heel_sts\": 30, \"flap_rows\": 30, \"pickup\": 16}, \"expected\": {\"cast_on\": 64, \"flap_rows\": 32, \"heel_sts\": 32, \"pickup\": 17}, \"passed\": false}, {\"check\": \"no ease\", \"actual\": {\"cast_on\": 56, \"heel_sts\": 28, \"flap_rows\": 28, \"pickup\": 15}, \"expected\": {\"cast_on\": 56, \"flap_rows\": 28, \"heel_sts\": 28, \"pickup\": 15}, \"passed\": true}, {\"check\": \"wide foot\", \"actual\": {\"cast_on\": 80, \"heel_sts\": 40, \"flap_rows\": 40, \"pickup\": 21}, \"expected\": {\"cast_on\": 80, \"flap_rows\": 40, \"heel_sts\": 40, \"pickup\": 21}, \"passed\": true}, {\"check\": \"regression: stitch multiple rounding\", \"actual\": {\"cast_on\": 84, \"heel_sts\": 42, \"flap_rows\": 42, \"pickup\": 22}, \"expected\": {\"cast_on\": 88, \"flap_rows\": 44, \"heel_sts\": 44, \"pickup\": 23}, \"passed\": false}, {\"check\": \"repair check: stitch multiple rounding\", \"actual\": {\"cast_on\": 66, \"heel_sts\": 33, \"flap_rows\": 33, \"pickup\": 17}, \"expected\": {\"cast_on\": 69, \"flap_rows\": 34, \"heel_sts\": 34, \"pickup\": 18}, \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": {\"cast_on\": 72, \"heel_sts\": 36, \"flap_rows\": 36, \"pickup\": 19}, \"expected\": {\"cast_on\": 72, \"flap_rows\": 36, \"heel_sts\": 36, \"pickup\": 19}, \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": {\"cast_on\": 64, \"heel_sts\": 32, \"flap_rows\": 32, \"pickup\": 17}, \"expected\": {\"cast_on\": 64, \"flap_rows\": 32, \"heel_sts\": 32, \"pickup\": 17}, \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": {\"cast_on\": 76, \"heel_sts\": 38, \"flap_rows\": 38, \"pickup\": 20}, \"expected\": {\"cast_on\": 76, \"flap_rows\": 38, \"heel_sts\": 38, \"pickup\": 20}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.472,"exit_code":1,"observations":[{"actual":{"cast_on":63,"flap_rows":31,"heel_sts":31,"pickup":16},"check":"standard sock","expected":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"passed":false},{"actual":{"cast_on":56,"flap_rows":28,"heel_sts":28,"pickup":15},"check":"no ease","expected":{"cast_on":56,"flap_rows":28,"heel_sts":28,"pickup":15},"passed":true},{"actual":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":21},"check":"wide foot","expected":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":21},"passed":true},{"actual":{"cast_on":86,"flap_rows":43,"heel_sts":43,"pickup":22},"check":"regression: stitch multiple rounding","expected":{"cast_on":88,"flap_rows":44,"heel_sts":44,"pickup":23},"passed":false},{"actual":{"cast_on":69,"flap_rows":34,"heel_sts":34,"pickup":18},"check":"repair check: stitch multiple rounding","expected":{"cast_on":69,"flap_rows":34,"heel_sts":34,"pickup":18},"passed":true},{"actual":{"cast_on":72,"flap_rows":36,"heel_sts":36,"pickup":19},"check":"generated control 1","expected":{"cast_on":72,"flap_rows":36,"heel_sts":36,"pickup":19},"passed":true},{"actual":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"check":"generated control 2","expected":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"passed":true},{"actual":{"cast_on":77,"flap_rows":38,"heel_sts":38,"pickup":20},"check":"generated control 3","expected":{"cast_on":76,"flap_rows":38,"heel_sts":38,"pickup":20},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"standard sock\", \"actual\": {\"cast_on\": 63, \"heel_sts\": 31, \"flap_rows\": 31, \"pickup\": 16}, \"expected\": {\"cast_on\": 64, \"flap_rows\": 32, \"heel_sts\": 32, \"pickup\": 17}, \"passed\": false}, {\"check\": \"no ease\", \"actual\": {\"cast_on\": 56, \"heel_sts\": 28, \"flap_rows\": 28, \"pickup\": 15}, \"expected\": {\"cast_on\": 56, \"flap_rows\": 28, \"heel_sts\": 28, \"pickup\": 15}, \"passed\": true}, {\"check\": \"wide foot\", \"actual\": {\"cast_on\": 80, \"heel_sts\": 40, \"flap_rows\": 40, \"pickup\": 21}, \"expected\": {\"cast_on\": 80, \"flap_rows\": 40, \"heel_sts\": 40, \"pickup\": 21}, \"passed\": true}, {\"check\": \"regression: stitch multiple rounding\", \"actual\": {\"cast_on\": 86, \"heel_sts\": 43, \"flap_rows\": 43, \"pickup\": 22}, \"expected\": {\"cast_on\": 88, \"flap_rows\": 44, \"heel_sts\": 44, \"pickup\": 23}, \"passed\": false}, {\"check\": \"repair check: stitch multiple rounding\", \"actual\": {\"cast_on\": 69, \"heel_sts\": 34, \"flap_rows\": 34, \"pickup\": 18}, \"expected\": {\"cast_on\": 69, \"flap_rows\": 34, \"heel_sts\": 34, \"pickup\": 18}, \"passed\": true}, {\"check\": \"generated control 1\", \"actual\": {\"cast_on\": 72, \"heel_sts\": 36, \"flap_rows\": 36, \"pickup\": 19}, \"expected\": {\"cast_on\": 72, \"flap_rows\": 36, \"heel_sts\": 36, \"pickup\": 19}, \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": {\"cast_on\": 64, \"heel_sts\": 32, \"flap_rows\": 32, \"pickup\": 17}, \"expected\": {\"cast_on\": 64, \"flap_rows\": 32, \"heel_sts\": 32, \"pickup\": 17}, \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": {\"cast_on\": 77, \"heel_sts\": 38, \"flap_rows\": 38, \"pickup\": 20}, \"expected\": {\"cast_on\": 76, \"flap_rows\": 38, \"heel_sts\": 38, \"pickup\": 20}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.973,"exit_code":0,"observations":[{"actual":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"check":"standard sock","expected":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"passed":true},{"actual":{"cast_on":56,"flap_rows":28,"heel_sts":28,"pickup":15},"check":"no ease","expected":{"cast_on":56,"flap_rows":28,"heel_sts":28,"pickup":15},"passed":true},{"actual":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":21},"check":"wide foot","expected":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":21},"passed":true},{"actual":{"cast_on":88,"flap_rows":44,"heel_sts":44,"pickup":23},"check":"regression: stitch multiple rounding","expected":{"cast_on":88,"flap_rows":44,"heel_sts":44,"pickup":23},"passed":true},{"actual":{"cast_on":69,"flap_rows":34,"heel_sts":34,"pickup":18},"check":"repair check: stitch multiple rounding","expected":{"cast_on":69,"flap_rows":34,"heel_sts":34,"pickup":18},"passed":true},{"actual":{"cast_on":72,"flap_rows":36,"heel_sts":36,"pickup":19},"check":"generated control 1","expected":{"cast_on":72,"flap_rows":36,"heel_sts":36,"pickup":19},"passed":true},{"actual":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"check":"generated control 2","expected":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"passed":true},{"actual":{"cast_on":76,"flap_rows":38,"heel_sts":38,"pickup":20},"check":"generated control 3","expected":{"cast_on":76,"flap_rows":38,"heel_sts":38,"pickup":20},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"standard sock\", \"actual\": {\"cast_on\": 64, \"heel_sts\": 32, \"flap_rows\": 32, \"pickup\": 17}, \"expected\": {\"cast_on\": 64, \"flap_rows\": 32, \"heel_sts\": 32, \"pickup\": 17}, \"passed\": true}, {\"check\": \"no ease\", \"actual\": {\"cast_on\": 56, \"heel_sts\": 28, \"flap_rows\": 28, \"pickup\": 15}, \"expected\": {\"cast_on\": 56, \"flap_rows\": 28, \"heel_sts\": 28, \"pickup\": 15}, \"passed\": true}, {\"check\": \"wide foot\", \"actual\": {\"cast_on\": 80, \"heel_sts\": 40, \"flap_rows\": 40, \"pickup\": 21}, \"expected\": {\"cast_on\": 80, \"flap_rows\": 40, \"heel_sts\": 40, \"pickup\": 21}, \"passed\": true}, {\"check\": \"regression: stitch multiple rounding\", \"actual\": {\"cast_on\": 88, \"heel_sts\": 44, \"flap_rows\": 44, \"pickup\": 23}, \"expected\": {\"cast_on\": 88, \"flap_rows\": 44, \"heel_sts\": 44, \"pickup\": 23}, \"passed\": true}, {\"check\": \"repair check: stitch multiple rounding\", \"actual\": {\"cast_on\": 69, \"heel_sts\": 34, \"flap_rows\": 34, \"pickup\": 18}, \"expected\": {\"cast_on\": 69, \"flap_rows\": 34, \"heel_sts\": 34, \"pickup\": 18}, \"passed\": true}, {\"check\": \"generated control 1\", \"actual\": {\"cast_on\": 72, \"heel_sts\": 36, \"flap_rows\": 36, \"pickup\": 19}, \"expected\": {\"cast_on\": 72, \"flap_rows\": 36, \"heel_sts\": 36, \"pickup\": 19}, \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": {\"cast_on\": 64, \"heel_sts\": 32, \"flap_rows\": 32, \"pickup\": 17}, \"expected\": {\"cast_on\": 64, \"flap_rows\": 32, \"heel_sts\": 32, \"pickup\": 17}, \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": {\"cast_on\": 76, \"heel_sts\": 38, \"flap_rows\": 38, \"pickup\": 20}, \"expected\": {\"cast_on\": 76, \"flap_rows\": 38, \"heel_sts\": 38, \"pickup\": 20}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}