FAILURE MAP
← Case archive

FA-97381 / Knitting and sewing pattern grading / Open access

Evenly spaced increase row: segment capacity · case 01

Ten flat increases over ten stitches produce a "k0" segment.

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

ROOT CAUSE

The capacity check compares increases, not segments, to the stitch count.

VERIFIED REPAIR

Reject when segments exceed stitches.

Unsuccessful approach: Rejecting equality refuses the legitimate one-stitch-per-segment case.

Case contract

Distribute increases (m1) evenly over stitches. Flat rows use increases+1 segments with no increase at the edges; rounds use `increases` segments each followed by m1. Segment length is stitches // segments; the remainder adds one stitch to segments in order: rounds from the start, flat rows alternating from the outside in (first, last, second, second-last...). Segments must hold at least one stitch, else "error: too many increases". 0 increases -> "k<n>"; negative counts or no stitches -> "error: counts". Output "k4, m1, k5, ...".

Why this case matters

Yoke, cuff-to-body and hem transitions ask knitters to increase evenly across a row.

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(stitches, increases, flat):
    if stitches <= 0 or increases < 0:
        return 'error: counts'
    if increases == 0:
        return 'k%d' % stitches
    segs = increases + 1 if flat else increases
    if increases > stitches:
        return 'error: too many increases'
    base, extra = divmod(stitches, segs)
    lens = [base] * segs
    if flat:
        order = []
        i, j = 0, segs - 1
        while i <= j:
            order.append(i)
            if i != j:
                order.append(j)
            i += 1
            j -= 1
    else:
        order = list(range(segs))
    for idx in order[:extra]:
        lens[idx] += 1
    parts = []
    for n in lens:
        parts.append('k%d' % n)
        parts.append('m1')
    if flat:
        parts.pop()
    return ', '.join(parts)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['no increases', [17, 0, True], 'k17'],
  ['regression: segment capacity', [10, 10, True], 'error: too many increases'],
  ['repair check: segment capacity', [17, 16, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, '
   'k1, m1, k1, m1, k1, m1, k1'],
  ['generated control 1', [48, 7, True], 'k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6'],
  ['generated control 2', [17, 10, True],
   'k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2'],
  ['generated control 3', [9, 2, True], 'k3, m1, k3, m1, k3']],
 [['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['no increases', [17, 0, True], 'k17'],
  ['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['regression: segment capacity', [23, 23, True], 'error: too many increases'],
  ['generated control 1', [61, 8, True],
   'k7, m1, k7, m1, k7, m1, k7, m1, k6, m1, k6, m1, k7, m1, k7, m1, k7'],
  ['generated control 2', [23, 8, False], 'k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k2, m1'],
  ['generated control 3', [72, 5, True], 'k12, m1, k12, m1, k12, m1, k12, m1, k12, m1, k12'],
  ['generated control 4', [72, 7, True], 'k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9']],
 [['no increases', [17, 0, True], 'k17'],
  ['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['regression: segment capacity', [9, 9, True], 'error: too many increases'],
  ['generated control 1', [61, 2, False], 'k31, m1, k30, m1'], ['generated control 2', [6, 0, True], 'k6'],
  ['generated control 3', [23, 3, False], 'k8, m1, k8, m1, k7, m1'],
  ['generated control 4', [23, 1, False], 'k23, m1']],
 [['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['regression: segment capacity', [61, 61, True], 'error: too many increases'],
  ['repair check: segment capacity', [23, 23, False],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, '
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1'],
  ['generated control 1', [10, 4, True], 'k2, m1, k2, m1, k2, m1, k2, m1, k2'],
  ['generated control 2', [6, 10, True], 'error: too many increases'],
  ['generated control 3', [9, 2, True], 'k3, m1, k3, m1, k3']],
 [['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['regression: segment capacity', [17, 17, True], 'error: too many increases'],
  ['repair check: segment capacity', [9, 9, False],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1'],
  ['generated control 1', [61, 8, False], 'k8, m1, k8, m1, k8, m1, k8, m1, k8, m1, k7, m1, k7, m1, k7, m1'],
  ['generated control 2', [72, 2, True], 'k24, m1, k24, m1, k24'],
  ['generated control 3', [17, 0, False], 'k17']]]
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
round even splitk5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1Passed
flat with remainderk6, m1, k6, m1, k5, m1, k6k6, m1, k6, m1, k5, m1, k6Passed
no increasesk17k17Passed
regression: segment capacityk1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k0, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1error: too many increasesFailed
repair check: segment capacityk1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1Passed
generated control 1k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6Passed
generated control 2k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2Passed
generated control 3k3, m1, k3, m1, k3k3, m1, k3, m1, k3Passed

SHA-256 / 965a07501295d81a48330bcc727820d80deb8f33124407df784f52efa44f206b

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(stitches, increases, flat):
    if stitches <= 0 or increases < 0:
        return 'error: counts'
    if increases == 0:
        return 'k%d' % stitches
    segs = increases + 1 if flat else increases
    if segs >= stitches:
        return 'error: too many increases'
    base, extra = divmod(stitches, segs)
    lens = [base] * segs
    if flat:
        order = []
        i, j = 0, segs - 1
        while i <= j:
            order.append(i)
            if i != j:
                order.append(j)
            i += 1
            j -= 1
    else:
        order = list(range(segs))
    for idx in order[:extra]:
        lens[idx] += 1
    parts = []
    for n in lens:
        parts.append('k%d' % n)
        parts.append('m1')
    if flat:
        parts.pop()
    return ', '.join(parts)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['no increases', [17, 0, True], 'k17'],
  ['regression: segment capacity', [10, 10, True], 'error: too many increases'],
  ['repair check: segment capacity', [17, 16, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, '
   'k1, m1, k1, m1, k1, m1, k1'],
  ['generated control 1', [48, 7, True], 'k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6'],
  ['generated control 2', [17, 10, True],
   'k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2'],
  ['generated control 3', [9, 2, True], 'k3, m1, k3, m1, k3']],
 [['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['no increases', [17, 0, True], 'k17'],
  ['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['regression: segment capacity', [23, 23, True], 'error: too many increases'],
  ['generated control 1', [61, 8, True],
   'k7, m1, k7, m1, k7, m1, k7, m1, k6, m1, k6, m1, k7, m1, k7, m1, k7'],
  ['generated control 2', [23, 8, False], 'k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k2, m1'],
  ['generated control 3', [72, 5, True], 'k12, m1, k12, m1, k12, m1, k12, m1, k12, m1, k12'],
  ['generated control 4', [72, 7, True], 'k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9']],
 [['no increases', [17, 0, True], 'k17'],
  ['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['regression: segment capacity', [9, 9, True], 'error: too many increases'],
  ['generated control 1', [61, 2, False], 'k31, m1, k30, m1'], ['generated control 2', [6, 0, True], 'k6'],
  ['generated control 3', [23, 3, False], 'k8, m1, k8, m1, k7, m1'],
  ['generated control 4', [23, 1, False], 'k23, m1']],
 [['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['regression: segment capacity', [61, 61, True], 'error: too many increases'],
  ['repair check: segment capacity', [23, 23, False],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, '
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1'],
  ['generated control 1', [10, 4, True], 'k2, m1, k2, m1, k2, m1, k2, m1, k2'],
  ['generated control 2', [6, 10, True], 'error: too many increases'],
  ['generated control 3', [9, 2, True], 'k3, m1, k3, m1, k3']],
 [['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['regression: segment capacity', [17, 17, True], 'error: too many increases'],
  ['repair check: segment capacity', [9, 9, False],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1'],
  ['generated control 1', [61, 8, False], 'k8, m1, k8, m1, k8, m1, k8, m1, k8, m1, k7, m1, k7, m1, k7, m1'],
  ['generated control 2', [72, 2, True], 'k24, m1, k24, m1, k24'],
  ['generated control 3', [17, 0, False], 'k17']]]
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
round even splitk5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1Passed
flat with remainderk6, m1, k6, m1, k5, m1, k6k6, m1, k6, m1, k5, m1, k6Passed
no increasesk17k17Passed
regression: segment capacityerror: too many increaseserror: too many increasesPassed
repair check: segment capacityerror: too many increasesk1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1Failed
generated control 1k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6Passed
generated control 2k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2Passed
generated control 3k3, m1, k3, m1, k3k3, m1, k3, m1, k3Passed

SHA-256 / b2ca7ba1802867ac405da493b6e3ddb7cb473af07c4f9be2618411e95792df3a

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(stitches, increases, flat):
    if stitches <= 0 or increases < 0:
        return 'error: counts'
    if increases == 0:
        return 'k%d' % stitches
    segs = increases + 1 if flat else increases
    if segs > stitches:
        return 'error: too many increases'
    base, extra = divmod(stitches, segs)
    lens = [base] * segs
    if flat:
        order = []
        i, j = 0, segs - 1
        while i <= j:
            order.append(i)
            if i != j:
                order.append(j)
            i += 1
            j -= 1
    else:
        order = list(range(segs))
    for idx in order[:extra]:
        lens[idx] += 1
    parts = []
    for n in lens:
        parts.append('k%d' % n)
        parts.append('m1')
    if flat:
        parts.pop()
    return ', '.join(parts)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['no increases', [17, 0, True], 'k17'],
  ['regression: segment capacity', [10, 10, True], 'error: too many increases'],
  ['repair check: segment capacity', [17, 16, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, '
   'k1, m1, k1, m1, k1, m1, k1'],
  ['generated control 1', [48, 7, True], 'k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6'],
  ['generated control 2', [17, 10, True],
   'k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2'],
  ['generated control 3', [9, 2, True], 'k3, m1, k3, m1, k3']],
 [['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['no increases', [17, 0, True], 'k17'],
  ['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['regression: segment capacity', [23, 23, True], 'error: too many increases'],
  ['generated control 1', [61, 8, True],
   'k7, m1, k7, m1, k7, m1, k7, m1, k6, m1, k6, m1, k7, m1, k7, m1, k7'],
  ['generated control 2', [23, 8, False], 'k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k3, m1, k2, m1'],
  ['generated control 3', [72, 5, True], 'k12, m1, k12, m1, k12, m1, k12, m1, k12, m1, k12'],
  ['generated control 4', [72, 7, True], 'k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9, m1, k9']],
 [['no increases', [17, 0, True], 'k17'],
  ['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['regression: segment capacity', [9, 9, True], 'error: too many increases'],
  ['generated control 1', [61, 2, False], 'k31, m1, k30, m1'], ['generated control 2', [6, 0, True], 'k6'],
  ['generated control 3', [23, 3, False], 'k8, m1, k8, m1, k7, m1'],
  ['generated control 4', [23, 1, False], 'k23, m1']],
 [['flat maximum', [10, 9, True],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1'],
  ['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['regression: segment capacity', [61, 61, True], 'error: too many increases'],
  ['repair check: segment capacity', [23, 23, False],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, '
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1'],
  ['generated control 1', [10, 4, True], 'k2, m1, k2, m1, k2, m1, k2, m1, k2'],
  ['generated control 2', [6, 10, True], 'error: too many increases'],
  ['generated control 3', [9, 2, True], 'k3, m1, k3, m1, k3']],
 [['flat over maximum', [10, 10, True], 'error: too many increases'],
  ['round even split', [40, 8, False], 'k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1'],
  ['flat with remainder', [23, 3, True], 'k6, m1, k6, m1, k5, m1, k6'],
  ['regression: segment capacity', [17, 17, True], 'error: too many increases'],
  ['repair check: segment capacity', [9, 9, False],
   'k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1'],
  ['generated control 1', [61, 8, False], 'k8, m1, k8, m1, k8, m1, k8, m1, k8, m1, k7, m1, k7, m1, k7, m1'],
  ['generated control 2', [72, 2, True], 'k24, m1, k24, m1, k24'],
  ['generated control 3', [17, 0, False], 'k17']]]
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
round even splitk5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1, k5, m1Passed
flat with remainderk6, m1, k6, m1, k5, m1, k6k6, m1, k6, m1, k5, m1, k6Passed
no increasesk17k17Passed
regression: segment capacityerror: too many increaseserror: too many increasesPassed
repair check: segment capacityk1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1Passed
generated control 1k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6, m1, k6Passed
generated control 2k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2k2, m1, k2, m1, k2, m1, k1, m1, k1, m1, k1, m1, k1, m1, k1, m1, k2, m1, k2, m1, k2Passed
generated control 3k3, m1, k3, m1, k3k3, m1, k3, m1, k3Passed

SHA-256 / edea0343d4e9fc1e41e51405ca7d339adee89209cfcb12a0c378905f87762143

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:31.653092+00:00.

Case digest / 68c7d65ec63a19b1488a8906ffa19d1f705c6013082721edeed366e895110a76