{"abstract":"A hole forms at the gusset corner.","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":"Picking up per row doubles the gusset.","family":"w2-knitting_and_sewing_pattern_grading-sock-fit-gusset-pick-up","id":"FA-97836","implementations":{"attempt":{"sha256":"1e35c279fd9b422e5b58229f89679e9f0109e72091eccfd9aa66c1b50a05826d","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 + 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: gusset pick-up', [24, '28', 0, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['repair check: gusset pick-up', [23, '32', 0, 3],\n   {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['generated control 1', [21.5, '30', 5, 1], {'cast_on': 61, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 2', [25.5, '28', 12.5, 4],\n   {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [22, '30', 5, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],\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: gusset pick-up', [23, '32', 0, 3],\n   {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['repair check: gusset pick-up', [24, '36', 5, 3],\n   {'cast_on': 81, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['generated control 1', [23, '36', 10, 1], {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['generated control 2', [23, '28', 0, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [21.5, '32', 0, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],\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: gusset pick-up', [25.5, '32', 12.5, 4],\n   {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['repair check: gusset pick-up', [25.5, '36', 12.5, 3],\n   {'cast_on': 81, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['generated control 1', [25.5, '36', 10, 1],\n   {'cast_on': 83, 'flap_rows': 41, 'heel_sts': 41, 'pickup': 21}],\n  ['generated control 2', [20, '28', 12.5, 4],\n   {'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],\n  ['generated control 3', [25.5, '36', 5, 4],\n   {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}]],\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: gusset pick-up', [25.5, '30', 12.5, 1],\n   {'cast_on': 67, 'flap_rows': 33, 'heel_sts': 33, 'pickup': 17}],\n  ['repair check: gusset pick-up', [22, '32', 12.5, 4],\n   {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 1', [24, '32', 10, 3], {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 2', [22, '28', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}],\n  ['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],\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: gusset pick-up', [25.5, '28', 5, 4],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['repair check: gusset pick-up', [22, '28', 5, 1],\n   {'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [24, '30', 0, 1], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['generated control 2', [24, '36', 10, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}],\n  ['generated control 3', [20, '30', 0, 2], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]]]\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":"c43fb300721a27c3e7e7938139b1373b240c05c08225d7c6993e1f4e24cf7d2e","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\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: gusset pick-up', [24, '28', 0, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['repair check: gusset pick-up', [23, '32', 0, 3],\n   {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['generated control 1', [21.5, '30', 5, 1], {'cast_on': 61, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 2', [25.5, '28', 12.5, 4],\n   {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [22, '30', 5, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],\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: gusset pick-up', [23, '32', 0, 3],\n   {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['repair check: gusset pick-up', [24, '36', 5, 3],\n   {'cast_on': 81, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['generated control 1', [23, '36', 10, 1], {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['generated control 2', [23, '28', 0, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [21.5, '32', 0, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],\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: gusset pick-up', [25.5, '32', 12.5, 4],\n   {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['repair check: gusset pick-up', [25.5, '36', 12.5, 3],\n   {'cast_on': 81, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['generated control 1', [25.5, '36', 10, 1],\n   {'cast_on': 83, 'flap_rows': 41, 'heel_sts': 41, 'pickup': 21}],\n  ['generated control 2', [20, '28', 12.5, 4],\n   {'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],\n  ['generated control 3', [25.5, '36', 5, 4],\n   {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}]],\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: gusset pick-up', [25.5, '30', 12.5, 1],\n   {'cast_on': 67, 'flap_rows': 33, 'heel_sts': 33, 'pickup': 17}],\n  ['repair check: gusset pick-up', [22, '32', 12.5, 4],\n   {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 1', [24, '32', 10, 3], {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 2', [22, '28', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}],\n  ['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],\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: gusset pick-up', [25.5, '28', 5, 4],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['repair check: gusset pick-up', [22, '28', 5, 1],\n   {'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [24, '30', 0, 1], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['generated control 2', [24, '36', 10, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}],\n  ['generated control 3', [20, '30', 0, 2], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]]]\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":"0c9829b298fba24ec0f2fad5abd36e9cf9c7ddc868ff0d2efd71d24609ddf75a","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: gusset pick-up', [24, '28', 0, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['repair check: gusset pick-up', [23, '32', 0, 3],\n   {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['generated control 1', [21.5, '30', 5, 1], {'cast_on': 61, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 2', [25.5, '28', 12.5, 4],\n   {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [22, '30', 5, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],\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: gusset pick-up', [23, '32', 0, 3],\n   {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['repair check: gusset pick-up', [24, '36', 5, 3],\n   {'cast_on': 81, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['generated control 1', [23, '36', 10, 1], {'cast_on': 75, 'flap_rows': 37, 'heel_sts': 37, 'pickup': 19}],\n  ['generated control 2', [23, '28', 0, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],\n  ['generated control 3', [21.5, '32', 0, 2],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],\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: gusset pick-up', [25.5, '32', 12.5, 4],\n   {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['repair check: gusset pick-up', [25.5, '36', 12.5, 3],\n   {'cast_on': 81, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],\n  ['generated control 1', [25.5, '36', 10, 1],\n   {'cast_on': 83, 'flap_rows': 41, 'heel_sts': 41, 'pickup': 21}],\n  ['generated control 2', [20, '28', 12.5, 4],\n   {'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],\n  ['generated control 3', [25.5, '36', 5, 4],\n   {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}]],\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: gusset pick-up', [25.5, '30', 12.5, 1],\n   {'cast_on': 67, 'flap_rows': 33, 'heel_sts': 33, 'pickup': 17}],\n  ['repair check: gusset pick-up', [22, '32', 12.5, 4],\n   {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],\n  ['generated control 1', [24, '32', 10, 3], {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['generated control 2', [22, '28', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}],\n  ['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],\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: gusset pick-up', [25.5, '28', 5, 4],\n   {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],\n  ['repair check: gusset pick-up', [22, '28', 5, 1],\n   {'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],\n  ['generated control 1', [24, '30', 0, 1], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],\n  ['generated control 2', [24, '36', 10, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}],\n  ['generated control 3', [20, '30', 0, 2], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]]]\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-gusset-pick-up","generated_at":"2026-09-29T14:52:36.050562+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":"Pick up one per slipped edge stitch plus one.","root_cause":"The extra corner stitch is not picked up.","sha256":"fca807654758f1c90cc93cd1bbbfd8fede7b71489f0de670fb2c2f22e23082fd","title":"Top-down sock fit calculator: gusset pick-up · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.274,"exit_code":1,"observations":[{"actual":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":33},"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":29},"check":"no ease","expected":{"cast_on":56,"flap_rows":28,"heel_sts":28,"pickup":15},"passed":false},{"actual":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":41},"check":"wide foot","expected":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":21},"passed":false},{"actual":{"cast_on":68,"flap_rows":34,"heel_sts":34,"pickup":35},"check":"regression: gusset pick-up","expected":{"cast_on":68,"flap_rows":34,"heel_sts":34,"pickup":18},"passed":false},{"actual":{"cast_on":75,"flap_rows":37,"heel_sts":37,"pickup":38},"check":"repair check: gusset pick-up","expected":{"cast_on":75,"flap_rows":37,"heel_sts":37,"pickup":19},"passed":false},{"actual":{"cast_on":61,"flap_rows":30,"heel_sts":30,"pickup":31},"check":"generated control 1","expected":{"cast_on":61,"flap_rows":30,"heel_sts":30,"pickup":16},"passed":false},{"actual":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":33},"check":"generated control 2","expected":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"passed":false},{"actual":{"cast_on":63,"flap_rows":31,"heel_sts":31,"pickup":32},"check":"generated control 3","expected":{"cast_on":63,"flap_rows":31,"heel_sts":31,"pickup":16},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"standard sock\", \"actual\": {\"cast_on\": 64, \"heel_sts\": 32, \"flap_rows\": 32, \"pickup\": 33}, \"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\": 29}, \"expected\": {\"cast_on\": 56, \"flap_rows\": 28, \"heel_sts\": 28, \"pickup\": 15}, \"passed\": false}, {\"check\": \"wide foot\", \"actual\": {\"cast_on\": 80, \"heel_sts\": 40, \"flap_rows\": 40, \"pickup\": 41}, \"expected\": {\"cast_on\": 80, \"flap_rows\": 40, \"heel_sts\": 40, \"pickup\": 21}, \"passed\": false}, {\"check\": \"regression: gusset pick-up\", \"actual\": {\"cast_on\": 68, \"heel_sts\": 34, \"flap_rows\": 34, \"pickup\": 35}, \"expected\": {\"cast_on\": 68, \"flap_rows\": 34, \"heel_sts\": 34, \"pickup\": 18}, \"passed\": false}, {\"check\": \"repair check: gusset pick-up\", \"actual\": {\"cast_on\": 75, \"heel_sts\": 37, \"flap_rows\": 37, \"pickup\": 38}, \"expected\": {\"cast_on\": 75, \"flap_rows\": 37, \"heel_sts\": 37, \"pickup\": 19}, \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": {\"cast_on\": 61, \"heel_sts\": 30, \"flap_rows\": 30, \"pickup\": 31}, \"expected\": {\"cast_on\": 61, \"flap_rows\": 30, \"heel_sts\": 30, \"pickup\": 16}, \"passed\": false}, {\"check\": \"generated control 2\", \"actual\": {\"cast_on\": 64, \"heel_sts\": 32, \"flap_rows\": 32, \"pickup\": 33}, \"expected\": {\"cast_on\": 64, \"flap_rows\": 32, \"heel_sts\": 32, \"pickup\": 17}, \"passed\": false}, {\"check\": \"generated control 3\", \"actual\": {\"cast_on\": 63, \"heel_sts\": 31, \"flap_rows\": 31, \"pickup\": 32}, \"expected\": {\"cast_on\": 63, \"flap_rows\": 31, \"heel_sts\": 31, \"pickup\": 16}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.513,"exit_code":1,"observations":[{"actual":{"cast_on":64,"flap_rows":32,"heel_sts":32,"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":14},"check":"no ease","expected":{"cast_on":56,"flap_rows":28,"heel_sts":28,"pickup":15},"passed":false},{"actual":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":20},"check":"wide foot","expected":{"cast_on":80,"flap_rows":40,"heel_sts":40,"pickup":21},"passed":false},{"actual":{"cast_on":68,"flap_rows":34,"heel_sts":34,"pickup":17},"check":"regression: gusset pick-up","expected":{"cast_on":68,"flap_rows":34,"heel_sts":34,"pickup":18},"passed":false},{"actual":{"cast_on":75,"flap_rows":37,"heel_sts":37,"pickup":18},"check":"repair check: gusset pick-up","expected":{"cast_on":75,"flap_rows":37,"heel_sts":37,"pickup":19},"passed":false},{"actual":{"cast_on":61,"flap_rows":30,"heel_sts":30,"pickup":15},"check":"generated control 1","expected":{"cast_on":61,"flap_rows":30,"heel_sts":30,"pickup":16},"passed":false},{"actual":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":16},"check":"generated control 2","expected":{"cast_on":64,"flap_rows":32,"heel_sts":32,"pickup":17},"passed":false},{"actual":{"cast_on":63,"flap_rows":31,"heel_sts":31,"pickup":15},"check":"generated control 3","expected":{"cast_on":63,"flap_rows":31,"heel_sts":31,"pickup":16},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"standard sock\", \"actual\": {\"cast_on\": 64, \"heel_sts\": 32, \"flap_rows\": 32, \"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\": 14}, \"expected\": {\"cast_on\": 56, \"flap_rows\": 28, \"heel_sts\": 28, \"pickup\": 15}, \"passed\": false}, {\"check\": \"wide foot\", \"actual\": {\"cast_on\": 80, \"heel_sts\": 40, \"flap_rows\": 40, \"pickup\": 20}, \"expected\": {\"cast_on\": 80, \"flap_rows\": 40, \"heel_sts\": 40, \"pickup\": 21}, \"passed\": false}, {\"check\": \"regression: gusset pick-up\", \"actual\": {\"cast_on\": 68, \"heel_sts\": 34, \"flap_rows\": 34, \"pickup\": 17}, \"expected\": {\"cast_on\": 68, \"flap_rows\": 34, \"heel_sts\": 34, \"pickup\": 18}, \"passed\": false}, {\"check\": \"repair check: gusset pick-up\", \"actual\": {\"cast_on\": 75, \"heel_sts\": 37, \"flap_rows\": 37, \"pickup\": 18}, \"expected\": {\"cast_on\": 75, \"flap_rows\": 37, \"heel_sts\": 37, \"pickup\": 19}, \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": {\"cast_on\": 61, \"heel_sts\": 30, \"flap_rows\": 30, \"pickup\": 15}, \"expected\": {\"cast_on\": 61, \"flap_rows\": 30, \"heel_sts\": 30, \"pickup\": 16}, \"passed\": false}, {\"check\": \"generated control 2\", \"actual\": {\"cast_on\": 64, \"heel_sts\": 32, \"flap_rows\": 32, \"pickup\": 16}, \"expected\": {\"cast_on\": 64, \"flap_rows\": 32, \"heel_sts\": 32, \"pickup\": 17}, \"passed\": false}, {\"check\": \"generated control 3\", \"actual\": {\"cast_on\": 63, \"heel_sts\": 31, \"flap_rows\": 31, \"pickup\": 15}, \"expected\": {\"cast_on\": 63, \"flap_rows\": 31, \"heel_sts\": 31, \"pickup\": 16}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.47,"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":68,"flap_rows":34,"heel_sts":34,"pickup":18},"check":"regression: gusset pick-up","expected":{"cast_on":68,"flap_rows":34,"heel_sts":34,"pickup":18},"passed":true},{"actual":{"cast_on":75,"flap_rows":37,"heel_sts":37,"pickup":19},"check":"repair check: gusset pick-up","expected":{"cast_on":75,"flap_rows":37,"heel_sts":37,"pickup":19},"passed":true},{"actual":{"cast_on":61,"flap_rows":30,"heel_sts":30,"pickup":16},"check":"generated control 1","expected":{"cast_on":61,"flap_rows":30,"heel_sts":30,"pickup":16},"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":63,"flap_rows":31,"heel_sts":31,"pickup":16},"check":"generated control 3","expected":{"cast_on":63,"flap_rows":31,"heel_sts":31,"pickup":16},"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: gusset pick-up\", \"actual\": {\"cast_on\": 68, \"heel_sts\": 34, \"flap_rows\": 34, \"pickup\": 18}, \"expected\": {\"cast_on\": 68, \"flap_rows\": 34, \"heel_sts\": 34, \"pickup\": 18}, \"passed\": true}, {\"check\": \"repair check: gusset pick-up\", \"actual\": {\"cast_on\": 75, \"heel_sts\": 37, \"flap_rows\": 37, \"pickup\": 19}, \"expected\": {\"cast_on\": 75, \"flap_rows\": 37, \"heel_sts\": 37, \"pickup\": 19}, \"passed\": true}, {\"check\": \"generated control 1\", \"actual\": {\"cast_on\": 61, \"heel_sts\": 30, \"flap_rows\": 30, \"pickup\": 16}, \"expected\": {\"cast_on\": 61, \"flap_rows\": 30, \"heel_sts\": 30, \"pickup\": 16}, \"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\": 63, \"heel_sts\": 31, \"flap_rows\": 31, \"pickup\": 16}, \"expected\": {\"cast_on\": 63, \"flap_rows\": 31, \"heel_sts\": 31, \"pickup\": 16}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}