{"abstract":"Evenly divisible schedules print \"every 11 rows 0 times\".","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":"Special-casing a single fast decrease still prints zero counts elsewhere.","family":"w2-knitting_and_sewing_pattern_grading-sleeve-taper-zero-count-slower-rate","id":"FA-97401","implementations":{"attempt":{"sha256":"976896d59137da3a36bb26e86c6831f4e43d475c4ebe3d66bd6ffa15e4f70eec","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 = 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 or x == 1:\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: zero-count slower rate', [60, 76, 72], [[9, 8]]],\n  ['repair check: zero-count slower rate', [60, 62, 90], [[90, 1]]],\n  ['generated control 1', [45, 75, 100], [[6, 5], [7, 10]]], ['generated control 2', [48, 68, 40], [[4, 10]]],\n  ['generated control 3', [40, 60, 72], [[7, 8], [8, 2]]]],\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: zero-count slower rate', [45, 75, 60], [[4, 15]]],\n  ['repair check: zero-count slower rate', [56, 58, 10], [[10, 1]]],\n  ['generated control 1', [44, 56, 40], [[6, 2], [7, 4]]],\n  ['generated control 2', [51, 81, 100], [[6, 5], [7, 10]]],\n  ['generated control 3', [56, 64, 10], [[2, 2], [3, 2]]]],\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: zero-count slower rate', [50, 52, 60], [[60, 1]]],\n  ['repair check: zero-count slower rate', [50, 52, 100], [[100, 1]]],\n  ['generated control 1', [45, 65, 5], 'error: not enough rows'],\n  ['generated control 2', [50, 70, 72], [[7, 8], [8, 2]]],\n  ['generated control 3', [60, 68, 100], [[25, 4]]]],\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]]], ['regression: zero-count slower rate', [50, 70, 10], [[1, 10]]],\n  ['repair check: zero-count slower rate', [56, 58, 5], [[5, 1]]],\n  ['generated control 1', [40, 56, 5], 'error: not enough rows'],\n  ['generated control 2', [44, 46, 10], [[10, 1]]],\n  ['generated control 3', [48, 55, 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: zero-count slower rate', [48, 56, 72], [[18, 4]]],\n  ['repair check: zero-count slower rate', [44, 46, 60], [[60, 1]]],\n  ['generated control 1', [48, 72, 90], [[7, 6], [8, 6]]], ['generated control 2', [44, 64, 60], [[6, 10]]],\n  ['generated control 3', [44, 68, 40], [[3, 8], [4, 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":"e2461f3d48c8f4bab6d26f777120820f963bc859da77fbd288447b738cadff2c","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 = 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 >= 0:\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: zero-count slower rate', [60, 76, 72], [[9, 8]]],\n  ['repair check: zero-count slower rate', [60, 62, 90], [[90, 1]]],\n  ['generated control 1', [45, 75, 100], [[6, 5], [7, 10]]], ['generated control 2', [48, 68, 40], [[4, 10]]],\n  ['generated control 3', [40, 60, 72], [[7, 8], [8, 2]]]],\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: zero-count slower rate', [45, 75, 60], [[4, 15]]],\n  ['repair check: zero-count slower rate', [56, 58, 10], [[10, 1]]],\n  ['generated control 1', [44, 56, 40], [[6, 2], [7, 4]]],\n  ['generated control 2', [51, 81, 100], [[6, 5], [7, 10]]],\n  ['generated control 3', [56, 64, 10], [[2, 2], [3, 2]]]],\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: zero-count slower rate', [50, 52, 60], [[60, 1]]],\n  ['repair check: zero-count slower rate', [50, 52, 100], [[100, 1]]],\n  ['generated control 1', [45, 65, 5], 'error: not enough rows'],\n  ['generated control 2', [50, 70, 72], [[7, 8], [8, 2]]],\n  ['generated control 3', [60, 68, 100], [[25, 4]]]],\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]]], ['regression: zero-count slower rate', [50, 70, 10], [[1, 10]]],\n  ['repair check: zero-count slower rate', [56, 58, 5], [[5, 1]]],\n  ['generated control 1', [40, 56, 5], 'error: not enough rows'],\n  ['generated control 2', [44, 46, 10], [[10, 1]]],\n  ['generated control 3', [48, 55, 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: zero-count slower rate', [48, 56, 72], [[18, 4]]],\n  ['repair check: zero-count slower rate', [44, 46, 60], [[60, 1]]],\n  ['generated control 1', [48, 72, 90], [[7, 6], [8, 6]]], ['generated control 2', [44, 64, 60], [[6, 10]]],\n  ['generated control 3', [44, 68, 40], [[3, 8], [4, 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-zero-count-slower-rate","generated_at":"2026-09-29T14:52:31.831119+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 slower rate is emitted even when its count is zero.","sha256":"d9f0ab8b4cc91a509e5f84294d26be58d91ac9d8be5ce9a5d3bc385d6d8e8c32","title":"Sleeve taper decrease schedule: zero-count slower rate · 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":42.956,"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":[[9,8]],"check":"regression: zero-count slower rate","expected":[[9,8]],"passed":true},{"actual":[[90,1],[91,0]],"check":"repair check: zero-count slower rate","expected":[[90,1]],"passed":false},{"actual":[[6,5],[7,10]],"check":"generated control 1","expected":[[6,5],[7,10]],"passed":true},{"actual":[[4,10]],"check":"generated control 2","expected":[[4,10]],"passed":true},{"actual":[[7,8],[8,2]],"check":"generated control 3","expected":[[7,8],[8,2]],"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: zero-count slower rate\", \"actual\": [[9, 8]], \"expected\": [[9, 8]], \"passed\": true}, {\"check\": \"repair check: zero-count slower rate\", \"actual\": [[90, 1], [91, 0]], \"expected\": [[90, 1]], \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": [[6, 5], [7, 10]], \"expected\": [[6, 5], [7, 10]], \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": [[4, 10]], \"expected\": [[4, 10]], \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": [[7, 8], [8, 2]], \"expected\": [[7, 8], [8, 2]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.434,"exit_code":1,"observations":[{"actual":[[10,8],[11,0]],"check":"even schedule","expected":[[10,8]],"passed":false},{"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":[[9,8],[10,0]],"check":"regression: zero-count slower rate","expected":[[9,8]],"passed":false},{"actual":[[90,1],[91,0]],"check":"repair check: zero-count slower rate","expected":[[90,1]],"passed":false},{"actual":[[6,5],[7,10]],"check":"generated control 1","expected":[[6,5],[7,10]],"passed":true},{"actual":[[4,10],[5,0]],"check":"generated control 2","expected":[[4,10]],"passed":false},{"actual":[[7,8],[8,2]],"check":"generated control 3","expected":[[7,8],[8,2]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"even schedule\", \"actual\": [[10, 8], [11, 0]], \"expected\": [[10, 8]], \"passed\": false}, {\"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: zero-count slower rate\", \"actual\": [[9, 8], [10, 0]], \"expected\": [[9, 8]], \"passed\": false}, {\"check\": \"repair check: zero-count slower rate\", \"actual\": [[90, 1], [91, 0]], \"expected\": [[90, 1]], \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": [[6, 5], [7, 10]], \"expected\": [[6, 5], [7, 10]], \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": [[4, 10], [5, 0]], \"expected\": [[4, 10]], \"passed\": false}, {\"check\": \"generated control 3\", \"actual\": [[7, 8], [8, 2]], \"expected\": [[7, 8], [8, 2]], \"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."}}