FAILURE MAP
← Case archive

FA-61486 / Options payoff and settlement / Open access

Option strategy max gain, max loss and breakevens: maximum gain ignores the upside tail · case 01

Long calls report a finite maximum gain equal to the best breakpoint value.

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

ROOT CAUSE

The maximum gain is taken over breakpoints without checking the tail slope.

VERIFIED REPAIR

Report an unbounded gain when the tail slope is positive.

Unsuccessful approach: Checking only whether the last leg is long misses mixed strategies.

Case contract

Inputs legs [kind C/P/S, strike (purchase price for stock S), signed qty, premium] and a multiplier. Expiry value V(S) = multiplier * sum(q*(intrinsic - premium)) for options and q*(S - price) for stock, in exact fractions. Breakpoints are 0 and every strike. Tail slope = V(top+1)-V(top). Max gain is None if the slope > 0 else the max over breakpoints; max loss is None if slope < 0 else the min. Breakevens are zeros at breakpoints and linear-interpolated sign changes between them and in the tail. Return [gain, loss, breakevens] rounded to 4.

Why this case matters

Option expiry, exercise and settlement engines move cash and shares; a wrong branch misstates obligations.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(legs, multiplier):
    def value(S):
        t = Fraction(0)
        for kind, k, q, prem in legs:
            p = Fraction(str(prem))
            if kind == 'C':
                t += q * (max(S - k, 0) - p)
            elif kind == 'P':
                t += q * (max(k - S, 0) - p)
            else:
                t += q * (S - k)
        return t * multiplier
    pts = sorted(set([0] + [leg[1] for leg in legs]))
    top = pts[-1]
    slope = value(top + 1) - value(top)
    vals = [value(p) for p in pts]
    gain = max(vals)
    loss = None if slope < 0 else min(vals)
    bes = []
    for a, b in zip(pts, pts[1:]):
        va, vb = value(a), value(b)
        if va == 0:
            bes.append(Fraction(a))
        elif va * vb < 0:
            bes.append(a - va * (b - a) / (vb - va))
    vt = value(top)
    if vt == 0:
        bes.append(Fraction(top))
    elif vt * slope < 0:
        bes.append(top - vt / slope)
    def r4(x):
        return None if x is None else float(round(x, 4))
    return [r4(gain), r4(loss), [r4(x) for x in sorted(set(bes))]]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression unbounded gain detection 1', [[['C', 80, 1, 0.5]], 1], [None, -0.5, [80.5]]], ['regression unbounded gain detection 2', [[['C', 100, 2, 7.75]], 100], [None, -1550.0, [107.75]]], ['partial repair probe 1', [[['S', 85, 2, 0.0], ['C', 100, -2, 0.5], ['C', 100, 1, 0.5], ['P', 85, -2, 7.75]], 1], [None, -324.0, [81.0]]], ['partial repair probe 2', [[['C', 120, 2, 5.1], ['C', 80, 1, 5.1], ['S', 105, -1, 0.0]], 1], [None, 9.7, []]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 110, -1, 5.1], ['P', 120, -2, 3.4], ['P', 120, -1, 1.25], ['C', 120, -1, 1.25]], 100], [440.0, None, [117.8, 122.2]]], ['normal control 2', [[['P', 110, 2, 0.5]], 100], [21900.0, -100.0, [109.5]]]], [['regression unbounded gain detection 1', [[['C', 110, 1, 5.1]], 100], [None, -510.0, [115.1]]], ['regression unbounded gain detection 2', [[['S', 110, -1, 0.0], ['C', 95, 1, 5.1], ['C', 110, -1, 5.1], ['S', 90, 2, 0.0]], 100], [None, -7000.0, [70.0]]], ['partial repair probe 1', [[['P', 100, 1, 2.0], ['C', 110, 2, 7.75], ['P', 100, -1, 2.0]], 100], [None, -1550.0, [117.75]]], ['partial repair probe 2', [[['P', 85, -1, 3.4], ['C', 105, 2, 3.4], ['P', 95, 1, 7.75], ['C', 100, -1, 5.1]], 100], [None, -1105.0, [88.95, 116.05]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 110, -1, 7.75]], 1], [7.75, None, [117.75]]], ['normal control 2', [[['C', 105, 2, 5.1], ['P', 80, 2, 2.0], ['P', 100, -2, 2.0], ['C', 90, -2, 1.25]], 1], [-27.7, -47.7, []]]], [['regression unbounded gain detection 1', [[['C', 120, 1, 5.1], ['C', 110, 2, 7.75], ['S', 85, -1, 0.0]], 1], [None, -45.6, [64.4, 137.8]]], ['regression unbounded gain detection 2', [[['C', 115, 2, 5.1]], 1], [None, -10.2, [120.1]]], ['partial repair probe 1', [[['S', 115, -1, 0.0], ['C', 120, 2, 2.0], ['P', 115, 2, 0.5], ['P', 120, -2, 7.75]], 100], [None, 50.0, []]], ['partial repair probe 2', [[['S', 120, 1, 0.0], ['C', 120, -2, 1.25], ['S', 110, 2, 0.0], ['P', 115, -2, 5.1]], 1], [None, -557.3, [111.46]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['S', 85, 2, 0.0], ['C', 120, -2, 5.1], ['C', 80, -1, 0.5]], 100], [4070.0, None, [79.65, 160.7]]], ['normal control 2', [[['C', 100, -1, 1.25]], 1], [1.25, None, [101.25]]]], [['regression unbounded gain detection 1', [[['C', 80, 2, 3.4]], 100], [None, -680.0, [83.4]]], ['regression unbounded gain detection 2', [[['C', 105, 1, 2.0], ['S', 85, -1, 0.0], ['P', 100, -1, 3.4], ['C', 105, 1, 2.0]], 100], [None, -2060.0, [125.6]]], ['partial repair probe 1', [[['C', 90, 2, 2.0], ['P', 105, 2, 7.75], ['P', 85, 1, 7.75], ['P', 115, -1, 0.5]], 1], [None, -21.75, [76.625, 107.25]]], ['partial repair probe 2', [[['S', 115, 1, 0.0], ['C', 105, 1, 3.4], ['S', 100, -1, 0.0]], 100], [None, -1840.0, [123.4]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 105, 1, 1.25], ['C', 95, -1, 3.4]], 100], [215.0, -785.0, [97.15]]], ['normal control 2', [[['P', 85, 2, 5.1], ['C', 85, -1, 1.25]], 100], [16105.0, None, [80.525]]]], [['regression unbounded gain detection 1', [[['S', 115, 2, 0.0]], 1], [None, -230.0, [115.0]]], ['regression unbounded gain detection 2', [[['C', 80, 1, 0.5], ['P', 115, 2, 0.5]], 100], [None, 3350.0, []]], ['partial repair probe 1', [[['C', 85, 2, 7.75], ['C', 105, 1, 0.5], ['P', 105, -2, 5.1]], 100], [None, -21580.0, [96.45]]], ['partial repair probe 2', [[['C', 110, 1, 0.5], ['P', 115, -1, 3.4]], 100], [None, -11210.0, [111.05]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['P', 100, 1, 0.5], ['C', 105, -1, 7.75], ['C', 100, 1, 5.1]], 1], [102.15, 2.15, []]], ['normal control 2', [[['C', 110, -1, 2.0], ['C', 115, -1, 2.0], ['P', 120, 1, 0.5], ['P', 95, 2, 7.75]], 1], [298.0, None, [108.0]]]]]
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
regression unbounded gain detection 1[-0.5, -0.5, [80.5]][None, -0.5, [80.5]]Failed
regression unbounded gain detection 2[-1550.0, -1550.0, [107.75]][None, -1550.0, [107.75]]Failed
partial repair probe 1[46.0, -324.0, [81.0]][None, -324.0, [81.0]]Failed
partial repair probe 2[89.7, 9.7, []][None, 9.7, []]Failed
boundary control 1[98.0, -2.0, [98.0]][98.0, -2.0, [98.0]]Passed
boundary control 2[11.25, -98.75, [98.75]][11.25, -98.75, [98.75]]Passed
normal control 1[440.0, None, [117.8, 122.2]][440.0, None, [117.8, 122.2]]Passed
normal control 2[21900.0, -100.0, [109.5]][21900.0, -100.0, [109.5]]Passed

SHA-256 / 33ae8e3c6d34711ddca6b378022395bafc640a7982e2240192a1ddfbf2b85c99

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(legs, multiplier):
    def value(S):
        t = Fraction(0)
        for kind, k, q, prem in legs:
            p = Fraction(str(prem))
            if kind == 'C':
                t += q * (max(S - k, 0) - p)
            elif kind == 'P':
                t += q * (max(k - S, 0) - p)
            else:
                t += q * (S - k)
        return t * multiplier
    pts = sorted(set([0] + [leg[1] for leg in legs]))
    top = pts[-1]
    slope = value(top + 1) - value(top)
    vals = [value(p) for p in pts]
    gain = None if slope > 0 and legs[-1][2] > 0 else max(vals)
    loss = None if slope < 0 else min(vals)
    bes = []
    for a, b in zip(pts, pts[1:]):
        va, vb = value(a), value(b)
        if va == 0:
            bes.append(Fraction(a))
        elif va * vb < 0:
            bes.append(a - va * (b - a) / (vb - va))
    vt = value(top)
    if vt == 0:
        bes.append(Fraction(top))
    elif vt * slope < 0:
        bes.append(top - vt / slope)
    def r4(x):
        return None if x is None else float(round(x, 4))
    return [r4(gain), r4(loss), [r4(x) for x in sorted(set(bes))]]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression unbounded gain detection 1', [[['C', 80, 1, 0.5]], 1], [None, -0.5, [80.5]]], ['regression unbounded gain detection 2', [[['C', 100, 2, 7.75]], 100], [None, -1550.0, [107.75]]], ['partial repair probe 1', [[['S', 85, 2, 0.0], ['C', 100, -2, 0.5], ['C', 100, 1, 0.5], ['P', 85, -2, 7.75]], 1], [None, -324.0, [81.0]]], ['partial repair probe 2', [[['C', 120, 2, 5.1], ['C', 80, 1, 5.1], ['S', 105, -1, 0.0]], 1], [None, 9.7, []]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 110, -1, 5.1], ['P', 120, -2, 3.4], ['P', 120, -1, 1.25], ['C', 120, -1, 1.25]], 100], [440.0, None, [117.8, 122.2]]], ['normal control 2', [[['P', 110, 2, 0.5]], 100], [21900.0, -100.0, [109.5]]]], [['regression unbounded gain detection 1', [[['C', 110, 1, 5.1]], 100], [None, -510.0, [115.1]]], ['regression unbounded gain detection 2', [[['S', 110, -1, 0.0], ['C', 95, 1, 5.1], ['C', 110, -1, 5.1], ['S', 90, 2, 0.0]], 100], [None, -7000.0, [70.0]]], ['partial repair probe 1', [[['P', 100, 1, 2.0], ['C', 110, 2, 7.75], ['P', 100, -1, 2.0]], 100], [None, -1550.0, [117.75]]], ['partial repair probe 2', [[['P', 85, -1, 3.4], ['C', 105, 2, 3.4], ['P', 95, 1, 7.75], ['C', 100, -1, 5.1]], 100], [None, -1105.0, [88.95, 116.05]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 110, -1, 7.75]], 1], [7.75, None, [117.75]]], ['normal control 2', [[['C', 105, 2, 5.1], ['P', 80, 2, 2.0], ['P', 100, -2, 2.0], ['C', 90, -2, 1.25]], 1], [-27.7, -47.7, []]]], [['regression unbounded gain detection 1', [[['C', 120, 1, 5.1], ['C', 110, 2, 7.75], ['S', 85, -1, 0.0]], 1], [None, -45.6, [64.4, 137.8]]], ['regression unbounded gain detection 2', [[['C', 115, 2, 5.1]], 1], [None, -10.2, [120.1]]], ['partial repair probe 1', [[['S', 115, -1, 0.0], ['C', 120, 2, 2.0], ['P', 115, 2, 0.5], ['P', 120, -2, 7.75]], 100], [None, 50.0, []]], ['partial repair probe 2', [[['S', 120, 1, 0.0], ['C', 120, -2, 1.25], ['S', 110, 2, 0.0], ['P', 115, -2, 5.1]], 1], [None, -557.3, [111.46]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['S', 85, 2, 0.0], ['C', 120, -2, 5.1], ['C', 80, -1, 0.5]], 100], [4070.0, None, [79.65, 160.7]]], ['normal control 2', [[['C', 100, -1, 1.25]], 1], [1.25, None, [101.25]]]], [['regression unbounded gain detection 1', [[['C', 80, 2, 3.4]], 100], [None, -680.0, [83.4]]], ['regression unbounded gain detection 2', [[['C', 105, 1, 2.0], ['S', 85, -1, 0.0], ['P', 100, -1, 3.4], ['C', 105, 1, 2.0]], 100], [None, -2060.0, [125.6]]], ['partial repair probe 1', [[['C', 90, 2, 2.0], ['P', 105, 2, 7.75], ['P', 85, 1, 7.75], ['P', 115, -1, 0.5]], 1], [None, -21.75, [76.625, 107.25]]], ['partial repair probe 2', [[['S', 115, 1, 0.0], ['C', 105, 1, 3.4], ['S', 100, -1, 0.0]], 100], [None, -1840.0, [123.4]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 105, 1, 1.25], ['C', 95, -1, 3.4]], 100], [215.0, -785.0, [97.15]]], ['normal control 2', [[['P', 85, 2, 5.1], ['C', 85, -1, 1.25]], 100], [16105.0, None, [80.525]]]], [['regression unbounded gain detection 1', [[['S', 115, 2, 0.0]], 1], [None, -230.0, [115.0]]], ['regression unbounded gain detection 2', [[['C', 80, 1, 0.5], ['P', 115, 2, 0.5]], 100], [None, 3350.0, []]], ['partial repair probe 1', [[['C', 85, 2, 7.75], ['C', 105, 1, 0.5], ['P', 105, -2, 5.1]], 100], [None, -21580.0, [96.45]]], ['partial repair probe 2', [[['C', 110, 1, 0.5], ['P', 115, -1, 3.4]], 100], [None, -11210.0, [111.05]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['P', 100, 1, 0.5], ['C', 105, -1, 7.75], ['C', 100, 1, 5.1]], 1], [102.15, 2.15, []]], ['normal control 2', [[['C', 110, -1, 2.0], ['C', 115, -1, 2.0], ['P', 120, 1, 0.5], ['P', 95, 2, 7.75]], 1], [298.0, None, [108.0]]]]]
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
regression unbounded gain detection 1[None, -0.5, [80.5]][None, -0.5, [80.5]]Passed
regression unbounded gain detection 2[None, -1550.0, [107.75]][None, -1550.0, [107.75]]Passed
partial repair probe 1[46.0, -324.0, [81.0]][None, -324.0, [81.0]]Failed
partial repair probe 2[89.7, 9.7, []][None, 9.7, []]Failed
boundary control 1[98.0, -2.0, [98.0]][98.0, -2.0, [98.0]]Passed
boundary control 2[11.25, -98.75, [98.75]][11.25, -98.75, [98.75]]Passed
normal control 1[440.0, None, [117.8, 122.2]][440.0, None, [117.8, 122.2]]Passed
normal control 2[21900.0, -100.0, [109.5]][21900.0, -100.0, [109.5]]Passed

SHA-256 / b8847df5fb49c19b9c288f25389672b84bcdcc04cd8d09054b333bad8798745b

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(legs, multiplier):
    def value(S):
        t = Fraction(0)
        for kind, k, q, prem in legs:
            p = Fraction(str(prem))
            if kind == 'C':
                t += q * (max(S - k, 0) - p)
            elif kind == 'P':
                t += q * (max(k - S, 0) - p)
            else:
                t += q * (S - k)
        return t * multiplier
    pts = sorted(set([0] + [leg[1] for leg in legs]))
    top = pts[-1]
    slope = value(top + 1) - value(top)
    vals = [value(p) for p in pts]
    gain = None if slope > 0 else max(vals)
    loss = None if slope < 0 else min(vals)
    bes = []
    for a, b in zip(pts, pts[1:]):
        va, vb = value(a), value(b)
        if va == 0:
            bes.append(Fraction(a))
        elif va * vb < 0:
            bes.append(a - va * (b - a) / (vb - va))
    vt = value(top)
    if vt == 0:
        bes.append(Fraction(top))
    elif vt * slope < 0:
        bes.append(top - vt / slope)
    def r4(x):
        return None if x is None else float(round(x, 4))
    return [r4(gain), r4(loss), [r4(x) for x in sorted(set(bes))]]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression unbounded gain detection 1', [[['C', 80, 1, 0.5]], 1], [None, -0.5, [80.5]]], ['regression unbounded gain detection 2', [[['C', 100, 2, 7.75]], 100], [None, -1550.0, [107.75]]], ['partial repair probe 1', [[['S', 85, 2, 0.0], ['C', 100, -2, 0.5], ['C', 100, 1, 0.5], ['P', 85, -2, 7.75]], 1], [None, -324.0, [81.0]]], ['partial repair probe 2', [[['C', 120, 2, 5.1], ['C', 80, 1, 5.1], ['S', 105, -1, 0.0]], 1], [None, 9.7, []]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 110, -1, 5.1], ['P', 120, -2, 3.4], ['P', 120, -1, 1.25], ['C', 120, -1, 1.25]], 100], [440.0, None, [117.8, 122.2]]], ['normal control 2', [[['P', 110, 2, 0.5]], 100], [21900.0, -100.0, [109.5]]]], [['regression unbounded gain detection 1', [[['C', 110, 1, 5.1]], 100], [None, -510.0, [115.1]]], ['regression unbounded gain detection 2', [[['S', 110, -1, 0.0], ['C', 95, 1, 5.1], ['C', 110, -1, 5.1], ['S', 90, 2, 0.0]], 100], [None, -7000.0, [70.0]]], ['partial repair probe 1', [[['P', 100, 1, 2.0], ['C', 110, 2, 7.75], ['P', 100, -1, 2.0]], 100], [None, -1550.0, [117.75]]], ['partial repair probe 2', [[['P', 85, -1, 3.4], ['C', 105, 2, 3.4], ['P', 95, 1, 7.75], ['C', 100, -1, 5.1]], 100], [None, -1105.0, [88.95, 116.05]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 110, -1, 7.75]], 1], [7.75, None, [117.75]]], ['normal control 2', [[['C', 105, 2, 5.1], ['P', 80, 2, 2.0], ['P', 100, -2, 2.0], ['C', 90, -2, 1.25]], 1], [-27.7, -47.7, []]]], [['regression unbounded gain detection 1', [[['C', 120, 1, 5.1], ['C', 110, 2, 7.75], ['S', 85, -1, 0.0]], 1], [None, -45.6, [64.4, 137.8]]], ['regression unbounded gain detection 2', [[['C', 115, 2, 5.1]], 1], [None, -10.2, [120.1]]], ['partial repair probe 1', [[['S', 115, -1, 0.0], ['C', 120, 2, 2.0], ['P', 115, 2, 0.5], ['P', 120, -2, 7.75]], 100], [None, 50.0, []]], ['partial repair probe 2', [[['S', 120, 1, 0.0], ['C', 120, -2, 1.25], ['S', 110, 2, 0.0], ['P', 115, -2, 5.1]], 1], [None, -557.3, [111.46]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['S', 85, 2, 0.0], ['C', 120, -2, 5.1], ['C', 80, -1, 0.5]], 100], [4070.0, None, [79.65, 160.7]]], ['normal control 2', [[['C', 100, -1, 1.25]], 1], [1.25, None, [101.25]]]], [['regression unbounded gain detection 1', [[['C', 80, 2, 3.4]], 100], [None, -680.0, [83.4]]], ['regression unbounded gain detection 2', [[['C', 105, 1, 2.0], ['S', 85, -1, 0.0], ['P', 100, -1, 3.4], ['C', 105, 1, 2.0]], 100], [None, -2060.0, [125.6]]], ['partial repair probe 1', [[['C', 90, 2, 2.0], ['P', 105, 2, 7.75], ['P', 85, 1, 7.75], ['P', 115, -1, 0.5]], 1], [None, -21.75, [76.625, 107.25]]], ['partial repair probe 2', [[['S', 115, 1, 0.0], ['C', 105, 1, 3.4], ['S', 100, -1, 0.0]], 100], [None, -1840.0, [123.4]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['C', 105, 1, 1.25], ['C', 95, -1, 3.4]], 100], [215.0, -785.0, [97.15]]], ['normal control 2', [[['P', 85, 2, 5.1], ['C', 85, -1, 1.25]], 100], [16105.0, None, [80.525]]]], [['regression unbounded gain detection 1', [[['S', 115, 2, 0.0]], 1], [None, -230.0, [115.0]]], ['regression unbounded gain detection 2', [[['C', 80, 1, 0.5], ['P', 115, 2, 0.5]], 100], [None, 3350.0, []]], ['partial repair probe 1', [[['C', 85, 2, 7.75], ['C', 105, 1, 0.5], ['P', 105, -2, 5.1]], 100], [None, -21580.0, [96.45]]], ['partial repair probe 2', [[['C', 110, 1, 0.5], ['P', 115, -1, 3.4]], 100], [None, -11210.0, [111.05]]], ['boundary control 1', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['boundary control 2', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['normal control 1', [[['P', 100, 1, 0.5], ['C', 105, -1, 7.75], ['C', 100, 1, 5.1]], 1], [102.15, 2.15, []]], ['normal control 2', [[['C', 110, -1, 2.0], ['C', 115, -1, 2.0], ['P', 120, 1, 0.5], ['P', 95, 2, 7.75]], 1], [298.0, None, [108.0]]]]]
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
regression unbounded gain detection 1[None, -0.5, [80.5]][None, -0.5, [80.5]]Passed
regression unbounded gain detection 2[None, -1550.0, [107.75]][None, -1550.0, [107.75]]Passed
partial repair probe 1[None, -324.0, [81.0]][None, -324.0, [81.0]]Passed
partial repair probe 2[None, 9.7, []][None, 9.7, []]Passed
boundary control 1[98.0, -2.0, [98.0]][98.0, -2.0, [98.0]]Passed
boundary control 2[11.25, -98.75, [98.75]][11.25, -98.75, [98.75]]Passed
normal control 1[440.0, None, [117.8, 122.2]][440.0, None, [117.8, 122.2]]Passed
normal control 2[21900.0, -100.0, [109.5]][21900.0, -100.0, [109.5]]Passed

SHA-256 / a6fa5f8752cf2941182cb6a3c1a1d4f673e6bc5d7559f7b5346766161b4f91ef

Verification & scope

A deterministic toy contract stated explicitly in the contract field; no claim of conformance to any exchange or clearing rulebook. 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:46:55.706920+00:00.

Case digest / b4af00c09d731fc8f573d64c0f82a593c8bf613ab79aa510bb806c42020c5c0a