FA-97826 / Knitting and sewing pattern grading / Open access
Top-down sock fit calculator: stitch multiple rounding · case 01
A 2x2 rib sock casts on 58 stitches.
ROOT CAUSE
The cast-on is rounded to a stitch, not to the rib multiple.
VERIFIED REPAIR
Round to the nearest multiple.
Unsuccessful approach: Flooring to the multiple undersizes the sock.
Case 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}.
Why this case matters
Sock patterns size with negative ease and derive heel flap and gusset counts.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(foot_circ, sts_per_10cm, neg_ease_pct, multiple):
raw = Fraction(str(foot_circ)) * (1 - Fraction(str(neg_ease_pct)) / 100) * Fraction(sts_per_10cm) / 10
cast = math.floor(raw + Fraction(1, 2))
heel = cast // 2
flap = heel
pickup = flap // 2 + 1
return {'cast_on': cast, 'heel_sts': heel, 'flap_rows': flap, 'pickup': pickup}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['regression: stitch multiple rounding', [24, '36', 0, 4],
{'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}],
['repair check: stitch multiple rounding', [21.5, '32', 0, 3],
{'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 1', [20, '36', 0, 4], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],
['generated control 2', [23, '32', 12.5, 1],
{'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 3', [24, '32', 0, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}]],
[['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['regression: stitch multiple rounding', [20, '28', 12.5, 3],
{'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],
['repair check: stitch multiple rounding', [20, '28', 5, 3],
{'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],
['generated control 1', [21.5, '28', 12.5, 1],
{'cast_on': 53, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],
['generated control 2', [23, '30', 5, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 3', [20, '32', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],
[['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['regression: stitch multiple rounding', [25.5, '32', 12.5, 2],
{'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],
['repair check: stitch multiple rounding', [21.5, '36', 12.5, 2],
{'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 1', [21.5, '28', 12.5, 2],
{'cast_on': 52, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],
['generated control 2', [21.5, '28', 0, 4], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],
['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],
[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['regression: stitch multiple rounding', [22, '28', 10, 3],
{'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],
['repair check: stitch multiple rounding', [20, '30', 5, 2],
{'cast_on': 58, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],
['generated control 1', [20, '32', 12.5, 3],
{'cast_on': 57, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['generated control 2', [20, '36', 5, 2], {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 3', [21.5, '32', 0, 4],
{'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],
[['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['regression: stitch multiple rounding', [24, '28', 12.5, 4],
{'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],
['repair check: stitch multiple rounding', [22, '28', 5, 1],
{'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],
['generated control 1', [22, '32', 10, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 2', [25.5, '32', 12.5, 1],
{'cast_on': 71, 'flap_rows': 35, 'heel_sts': 35, 'pickup': 18}],
['generated control 3', [23, '28', 0, 1], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| standard sock | {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16} | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | Failed |
| no ease | {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15} | {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15} | Passed |
| wide foot | {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21} | {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21} | Passed |
| regression: stitch multiple rounding | {'cast_on': 86, 'flap_rows': 43, 'heel_sts': 43, 'pickup': 22} | {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23} | Failed |
| repair check: stitch multiple rounding | {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18} | {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18} | Passed |
| generated control 1 | {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19} | {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19} | Passed |
| generated control 2 | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | Passed |
| generated control 3 | {'cast_on': 77, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20} | {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20} | Failed |
SHA-256 / c39c64d3a05237fb20680102d1e80eac4e5592ec57e6383d7b7c1dae0b508941
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(foot_circ, sts_per_10cm, neg_ease_pct, multiple):
raw = Fraction(str(foot_circ)) * (1 - Fraction(str(neg_ease_pct)) / 100) * Fraction(sts_per_10cm) / 10
cast = multiple * math.floor(raw / multiple)
heel = cast // 2
flap = heel
pickup = flap // 2 + 1
return {'cast_on': cast, 'heel_sts': heel, 'flap_rows': flap, 'pickup': pickup}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['regression: stitch multiple rounding', [24, '36', 0, 4],
{'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}],
['repair check: stitch multiple rounding', [21.5, '32', 0, 3],
{'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 1', [20, '36', 0, 4], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],
['generated control 2', [23, '32', 12.5, 1],
{'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 3', [24, '32', 0, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}]],
[['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['regression: stitch multiple rounding', [20, '28', 12.5, 3],
{'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],
['repair check: stitch multiple rounding', [20, '28', 5, 3],
{'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],
['generated control 1', [21.5, '28', 12.5, 1],
{'cast_on': 53, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],
['generated control 2', [23, '30', 5, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 3', [20, '32', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],
[['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['regression: stitch multiple rounding', [25.5, '32', 12.5, 2],
{'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],
['repair check: stitch multiple rounding', [21.5, '36', 12.5, 2],
{'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 1', [21.5, '28', 12.5, 2],
{'cast_on': 52, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],
['generated control 2', [21.5, '28', 0, 4], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],
['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],
[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['regression: stitch multiple rounding', [22, '28', 10, 3],
{'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],
['repair check: stitch multiple rounding', [20, '30', 5, 2],
{'cast_on': 58, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],
['generated control 1', [20, '32', 12.5, 3],
{'cast_on': 57, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['generated control 2', [20, '36', 5, 2], {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 3', [21.5, '32', 0, 4],
{'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],
[['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['regression: stitch multiple rounding', [24, '28', 12.5, 4],
{'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],
['repair check: stitch multiple rounding', [22, '28', 5, 1],
{'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],
['generated control 1', [22, '32', 10, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 2', [25.5, '32', 12.5, 1],
{'cast_on': 71, 'flap_rows': 35, 'heel_sts': 35, 'pickup': 18}],
['generated control 3', [23, '28', 0, 1], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| standard sock | {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16} | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | Failed |
| no ease | {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15} | {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15} | Passed |
| wide foot | {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21} | {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21} | Passed |
| regression: stitch multiple rounding | {'cast_on': 84, 'flap_rows': 42, 'heel_sts': 42, 'pickup': 22} | {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23} | Failed |
| repair check: stitch multiple rounding | {'cast_on': 66, 'flap_rows': 33, 'heel_sts': 33, 'pickup': 17} | {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18} | Failed |
| generated control 1 | {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19} | {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19} | Passed |
| generated control 2 | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | Passed |
| generated control 3 | {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20} | {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20} | Passed |
SHA-256 / 410e388574ec046119dac3ceec49da0ea51bc7f6ebd4963cd238640cd292cac2
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(foot_circ, sts_per_10cm, neg_ease_pct, multiple):
raw = Fraction(str(foot_circ)) * (1 - Fraction(str(neg_ease_pct)) / 100) * Fraction(sts_per_10cm) / 10
cast = multiple * math.floor(raw / multiple + Fraction(1, 2))
heel = cast // 2
flap = heel
pickup = flap // 2 + 1
return {'cast_on': cast, 'heel_sts': heel, 'flap_rows': flap, 'pickup': pickup}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['regression: stitch multiple rounding', [24, '36', 0, 4],
{'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23}],
['repair check: stitch multiple rounding', [21.5, '32', 0, 3],
{'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 1', [20, '36', 0, 4], {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],
['generated control 2', [23, '32', 12.5, 1],
{'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 3', [24, '32', 0, 4], {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20}]],
[['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['regression: stitch multiple rounding', [20, '28', 12.5, 3],
{'cast_on': 48, 'flap_rows': 24, 'heel_sts': 24, 'pickup': 13}],
['repair check: stitch multiple rounding', [20, '28', 5, 3],
{'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],
['generated control 1', [21.5, '28', 12.5, 1],
{'cast_on': 53, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],
['generated control 2', [23, '30', 5, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 3', [20, '32', 0, 3], {'cast_on': 63, 'flap_rows': 31, 'heel_sts': 31, 'pickup': 16}]],
[['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['regression: stitch multiple rounding', [25.5, '32', 12.5, 2],
{'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19}],
['repair check: stitch multiple rounding', [21.5, '36', 12.5, 2],
{'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 1', [21.5, '28', 12.5, 2],
{'cast_on': 52, 'flap_rows': 26, 'heel_sts': 26, 'pickup': 14}],
['generated control 2', [21.5, '28', 0, 4], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],
['generated control 3', [22, '30', 10, 3], {'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}]],
[['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['regression: stitch multiple rounding', [22, '28', 10, 3],
{'cast_on': 54, 'flap_rows': 27, 'heel_sts': 27, 'pickup': 14}],
['repair check: stitch multiple rounding', [20, '30', 5, 2],
{'cast_on': 58, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],
['generated control 1', [20, '32', 12.5, 3],
{'cast_on': 57, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['generated control 2', [20, '36', 5, 2], {'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}],
['generated control 3', [21.5, '32', 0, 4],
{'cast_on': 68, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18}]],
[['no ease', [20, '28', 0, 2], {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15}],
['wide foot', [25.5, '36', 12.5, 4], {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21}],
['standard sock', [22, '32', 10, 4], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['regression: stitch multiple rounding', [24, '28', 12.5, 4],
{'cast_on': 60, 'flap_rows': 30, 'heel_sts': 30, 'pickup': 16}],
['repair check: stitch multiple rounding', [22, '28', 5, 1],
{'cast_on': 59, 'flap_rows': 29, 'heel_sts': 29, 'pickup': 15}],
['generated control 1', [22, '32', 10, 2], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}],
['generated control 2', [25.5, '32', 12.5, 1],
{'cast_on': 71, 'flap_rows': 35, 'heel_sts': 35, 'pickup': 18}],
['generated control 3', [23, '28', 0, 1], {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17}]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| standard sock | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | Passed |
| no ease | {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15} | {'cast_on': 56, 'flap_rows': 28, 'heel_sts': 28, 'pickup': 15} | Passed |
| wide foot | {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21} | {'cast_on': 80, 'flap_rows': 40, 'heel_sts': 40, 'pickup': 21} | Passed |
| regression: stitch multiple rounding | {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23} | {'cast_on': 88, 'flap_rows': 44, 'heel_sts': 44, 'pickup': 23} | Passed |
| repair check: stitch multiple rounding | {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18} | {'cast_on': 69, 'flap_rows': 34, 'heel_sts': 34, 'pickup': 18} | Passed |
| generated control 1 | {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19} | {'cast_on': 72, 'flap_rows': 36, 'heel_sts': 36, 'pickup': 19} | Passed |
| generated control 2 | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | {'cast_on': 64, 'flap_rows': 32, 'heel_sts': 32, 'pickup': 17} | Passed |
| generated control 3 | {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20} | {'cast_on': 76, 'flap_rows': 38, 'heel_sts': 38, 'pickup': 20} | Passed |
SHA-256 / f4c0c52bd96cb4079e2f1f1a9e15717e1a31dc41b5bb6b3dec2bb235c93691e4
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:52:35.967547+00:00.
Case digest / 3acc48c6250b39b2bd11f92c82282fcf6e91fc918b064f88b8aa2d23a4fbb1ab