FAILURE MAP
← Case archive

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.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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