{"abstract":"A 90-row taper with 8 decreases plans intervals that overrun the sleeve length.","category":"Knitting and sewing pattern grading","checks":8,"contract":"Top-down sleeve from upper_sts to cuff_sts, decreasing 2 stitches per decrease row within rows rows. Errors: cuff wider (\"error: cuff wider than upper arm\"), odd difference (\"error: odd difference\"), rows fewer than decrease rows (\"error: not enough rows\"). pairs = difference/2; a = rows // pairs; y = rows - a*pairs decreases every a+1 rows, x = pairs-y every a rows. Return [[a, x], [a+1, y]] omitting a zero count; [] for no decreases.","contract_signature":"cuff_sts, upper_sts, rows","evaluation_group":"w2-knitting_and_sewing_pattern_grading-sleeve-taper","failed_approach":"Rounding to nearest overruns whenever the fractional part is at least one half.","family":"w2-knitting_and_sewing_pattern_grading-sleeve-taper-base-interval","id":"FA-97396","implementations":{"attempt":{"sha256":"7d1b0684a61abc7755a3afcf17868af65b0ea2595d7135d28c90c1e38de1439f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(cuff_sts, upper_sts, rows):\n    diff = upper_sts - cuff_sts\n    if diff < 0:\n        return 'error: cuff wider than upper arm'\n    if diff % 2:\n        return 'error: odd difference'\n    pairs = diff // 2\n    if pairs == 0:\n        return []\n    a = round(rows / pairs)\n    if a == 0:\n        return 'error: not enough rows'\n    y = rows - a * pairs\n    x = pairs - y\n    plan = []\n    if x:\n        plan.append([a, x])\n    if y:\n        plan.append([a + 1, y])\n    return plan\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['even schedule', [48, 64, 80], [[10, 8]]], ['two rates', [44, 60, 90], [[11, 6], [12, 2]]],\n  ['odd difference', [48, 53, 60], 'error: odd difference'],\n  ['regression: base interval', [50, 74, 100], [[8, 8], [9, 4]]],\n  ['repair check: base interval', [56, 68, 10], [[1, 2], [2, 4]]],\n  ['generated control 1', [40, 48, 60], [[15, 4]]],\n  ['generated control 2', [45, 50, 60], 'error: odd difference'],\n  ['generated control 3', [56, 63, 5], 'error: odd difference']],\n [['two rates', [44, 60, 90], [[11, 6], [12, 2]]], ['odd difference', [48, 53, 60], 'error: odd difference'],\n  ['too few rows', [40, 70, 10], 'error: not enough rows'],\n  ['regression: base interval', [48, 56, 10], [[2, 2], [3, 2]]],\n  ['repair check: base interval', [51, 75, 90], [[7, 6], [8, 6]]],\n  ['generated control 1', [50, 57, 60], 'error: odd difference'],\n  ['generated control 2', [60, 67, 5], 'error: odd difference'], ['generated control 3', [48, 48, 10], []]],\n [['odd difference', [48, 53, 60], 'error: odd difference'],\n  ['too few rows', [40, 70, 10], 'error: not enough rows'],\n  ['cuff wider', [60, 50, 60], 'error: cuff wider than upper arm'],\n  ['regression: base interval', [56, 80, 40], [[3, 8], [4, 4]]],\n  ['repair check: base interval', [40, 64, 90], [[7, 6], [8, 6]]],\n  ['generated control 1', [48, 55, 40], 'error: odd difference'],\n  ['generated control 2', [56, 76, 40], [[4, 10]]],\n  ['generated control 3', [60, 67, 40], 'error: odd difference']],\n [['too few rows', [40, 70, 10], 'error: not enough rows'],\n  ['cuff wider', [60, 50, 60], 'error: cuff wider than upper arm'],\n  ['even schedule', [48, 64, 80], [[10, 8]]],\n  ['regression: base interval', [44, 56, 100], [[16, 2], [17, 4]]],\n  ['repair check: base interval', [56, 68, 5], 'error: not enough rows'],\n  ['generated control 1', [60, 65, 60], 'error: odd difference'],\n  ['generated control 2', [56, 58, 100], [[100, 1]]],\n  ['generated control 3', [60, 67, 10], 'error: odd difference']],\n [['cuff wider', [60, 50, 60], 'error: cuff wider than upper arm'],\n  ['even schedule', [48, 64, 80], [[10, 8]]], ['two rates', [44, 60, 90], [[11, 6], [12, 2]]],\n  ['regression: base interval', [56, 76, 72], [[7, 8], [8, 2]]],\n  ['repair check: base interval', [45, 75, 40], [[2, 5], [3, 10]]],\n  ['generated control 1', [48, 53, 5], 'error: odd difference'],\n  ['generated control 2', [50, 74, 72], [[6, 12]]], ['generated control 3', [60, 68, 100], [[25, 4]]]]]\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":"52d2ff0c3eb0c3b464a561976ec93b4ae6800500f3026ca5673891757184f310","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(cuff_sts, upper_sts, rows):\n    diff = upper_sts - cuff_sts\n    if diff < 0:\n        return 'error: cuff wider than upper arm'\n    if diff % 2:\n        return 'error: odd difference'\n    pairs = diff // 2\n    if pairs == 0:\n        return []\n    a = math.ceil(rows / pairs)\n    if a == 0:\n        return 'error: not enough rows'\n    y = rows - a * pairs\n    x = pairs - y\n    plan = []\n    if x:\n        plan.append([a, x])\n    if y:\n        plan.append([a + 1, y])\n    return plan\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['even schedule', [48, 64, 80], [[10, 8]]], ['two rates', [44, 60, 90], [[11, 6], [12, 2]]],\n  ['odd difference', [48, 53, 60], 'error: odd difference'],\n  ['regression: base interval', [50, 74, 100], [[8, 8], [9, 4]]],\n  ['repair check: base interval', [56, 68, 10], [[1, 2], [2, 4]]],\n  ['generated control 1', [40, 48, 60], [[15, 4]]],\n  ['generated control 2', [45, 50, 60], 'error: odd difference'],\n  ['generated control 3', [56, 63, 5], 'error: odd difference']],\n [['two rates', [44, 60, 90], [[11, 6], [12, 2]]], ['odd difference', [48, 53, 60], 'error: odd difference'],\n  ['too few rows', [40, 70, 10], 'error: not enough rows'],\n  ['regression: base interval', [48, 56, 10], [[2, 2], [3, 2]]],\n  ['repair check: base interval', [51, 75, 90], [[7, 6], [8, 6]]],\n  ['generated control 1', [50, 57, 60], 'error: odd difference'],\n  ['generated control 2', [60, 67, 5], 'error: odd difference'], ['generated control 3', [48, 48, 10], []]],\n [['odd difference', [48, 53, 60], 'error: odd difference'],\n  ['too few rows', [40, 70, 10], 'error: not enough rows'],\n  ['cuff wider', [60, 50, 60], 'error: cuff wider than upper arm'],\n  ['regression: base interval', [56, 80, 40], [[3, 8], [4, 4]]],\n  ['repair check: base interval', [40, 64, 90], [[7, 6], [8, 6]]],\n  ['generated control 1', [48, 55, 40], 'error: odd difference'],\n  ['generated control 2', [56, 76, 40], [[4, 10]]],\n  ['generated control 3', [60, 67, 40], 'error: odd difference']],\n [['too few rows', [40, 70, 10], 'error: not enough rows'],\n  ['cuff wider', [60, 50, 60], 'error: cuff wider than upper arm'],\n  ['even schedule', [48, 64, 80], [[10, 8]]],\n  ['regression: base interval', [44, 56, 100], [[16, 2], [17, 4]]],\n  ['repair check: base interval', [56, 68, 5], 'error: not enough rows'],\n  ['generated control 1', [60, 65, 60], 'error: odd difference'],\n  ['generated control 2', [56, 58, 100], [[100, 1]]],\n  ['generated control 3', [60, 67, 10], 'error: odd difference']],\n [['cuff wider', [60, 50, 60], 'error: cuff wider than upper arm'],\n  ['even schedule', [48, 64, 80], [[10, 8]]], ['two rates', [44, 60, 90], [[11, 6], [12, 2]]],\n  ['regression: base interval', [56, 76, 72], [[7, 8], [8, 2]]],\n  ['repair check: base interval', [45, 75, 40], [[2, 5], [3, 10]]],\n  ['generated control 1', [48, 53, 5], 'error: odd difference'],\n  ['generated control 2', [50, 74, 72], [[6, 12]]], ['generated control 3', [60, 68, 100], [[25, 4]]]]]\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-sleeve-taper-base-interval","generated_at":"2026-09-29T14:52:31.736440+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Pattern writers turn a stitch-count change over a length into \"decrease every N rows X times\".","root_cause":"The base interval is rounded up, so the faster rate is the longer one and counts go negative.","sha256":"67833c681a16d596a005bbdd4789b6bfdd6665fae0039be4ad39a05d30057bc6","title":"Sleeve taper decrease schedule: base interval · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.632,"exit_code":1,"observations":[{"actual":[[10,8]],"check":"even schedule","expected":[[10,8]],"passed":true},{"actual":[[11,6],[12,2]],"check":"two rates","expected":[[11,6],[12,2]],"passed":true},{"actual":"error: odd difference","check":"odd difference","expected":"error: odd difference","passed":true},{"actual":[[8,8],[9,4]],"check":"regression: base interval","expected":[[8,8],[9,4]],"passed":true},{"actual":[[2,8],[3,-2]],"check":"repair check: base interval","expected":[[1,2],[2,4]],"passed":false},{"actual":[[15,4]],"check":"generated control 1","expected":[[15,4]],"passed":true},{"actual":"error: odd difference","check":"generated control 2","expected":"error: odd difference","passed":true},{"actual":"error: odd difference","check":"generated control 3","expected":"error: odd difference","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"even schedule\", \"actual\": [[10, 8]], \"expected\": [[10, 8]], \"passed\": true}, {\"check\": \"two rates\", \"actual\": [[11, 6], [12, 2]], \"expected\": [[11, 6], [12, 2]], \"passed\": true}, {\"check\": \"odd difference\", \"actual\": \"error: odd difference\", \"expected\": \"error: odd difference\", \"passed\": true}, {\"check\": \"regression: base interval\", \"actual\": [[8, 8], [9, 4]], \"expected\": [[8, 8], [9, 4]], \"passed\": true}, {\"check\": \"repair check: base interval\", \"actual\": [[2, 8], [3, -2]], \"expected\": [[1, 2], [2, 4]], \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": [[15, 4]], \"expected\": [[15, 4]], \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": \"error: odd difference\", \"expected\": \"error: odd difference\", \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": \"error: odd difference\", \"expected\": \"error: odd difference\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.597,"exit_code":1,"observations":[{"actual":[[10,8]],"check":"even schedule","expected":[[10,8]],"passed":true},{"actual":[[12,14],[13,-6]],"check":"two rates","expected":[[11,6],[12,2]],"passed":false},{"actual":"error: odd difference","check":"odd difference","expected":"error: odd difference","passed":true},{"actual":[[9,20],[10,-8]],"check":"regression: base interval","expected":[[8,8],[9,4]],"passed":false},{"actual":[[2,8],[3,-2]],"check":"repair check: base interval","expected":[[1,2],[2,4]],"passed":false},{"actual":[[15,4]],"check":"generated control 1","expected":[[15,4]],"passed":true},{"actual":"error: odd difference","check":"generated control 2","expected":"error: odd difference","passed":true},{"actual":"error: odd difference","check":"generated control 3","expected":"error: odd difference","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"even schedule\", \"actual\": [[10, 8]], \"expected\": [[10, 8]], \"passed\": true}, {\"check\": \"two rates\", \"actual\": [[12, 14], [13, -6]], \"expected\": [[11, 6], [12, 2]], \"passed\": false}, {\"check\": \"odd difference\", \"actual\": \"error: odd difference\", \"expected\": \"error: odd difference\", \"passed\": true}, {\"check\": \"regression: base interval\", \"actual\": [[9, 20], [10, -8]], \"expected\": [[8, 8], [9, 4]], \"passed\": false}, {\"check\": \"repair check: base interval\", \"actual\": [[2, 8], [3, -2]], \"expected\": [[1, 2], [2, 4]], \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": [[15, 4]], \"expected\": [[15, 4]], \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": \"error: odd difference\", \"expected\": \"error: odd difference\", \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": \"error: odd difference\", \"expected\": \"error: odd difference\", \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}