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.
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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