FA-61506 / Options payoff and settlement / Open access
Option strategy max gain, max loss and breakevens: the upside tail root has the wrong sign · case 01
Long call breakevens are reported below the strike.
ROOT CAUSE
The tail root adds vt/slope instead of subtracting it.
VERIFIED REPAIR
The tail breakeven is top - V(top)/slope.
Unsuccessful approach: Dropping the tail root entirely loses the only breakeven for long calls.
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 = 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 tail breakeven 1', [[['C', 85, 2, 7.75]], 100], [None, -1550.0, [92.75]]], ['regression tail breakeven 2', [[['P', 90, -2, 0.5], ['C', 115, -1, 5.1]], 100], [610.0, None, [86.95, 121.1]]], ['partial repair probe 1', [[['C', 110, 1, 1.25], ['C', 115, -1, 3.4], ['C', 120, -1, 2.0]], 1], [9.15, None, [129.15]]], ['partial repair probe 2', [[['P', 105, -2, 2.0], ['P', 105, -1, 0.5], ['C', 100, -1, 3.4]], 1], [2.9, None, [103.55, 107.9]]], ['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', 105, 1, 2.0], ['P', 90, -2, 2.0]], 1], [17.0, -73.0, [73.0]]], ['normal control 2', [[['P', 90, 1, 3.4], ['S', 100, -1, 0.0]], 1], [186.6, None, [96.6]]]], [['regression tail breakeven 1', [[['P', 115, 1, 1.25], ['C', 110, 2, 7.75], ['P', 80, -2, 0.5]], 1], [None, -60.75, [60.75, 99.25, 117.875]]], ['regression tail breakeven 2', [[['P', 100, 2, 7.75], ['S', 115, 2, 0.0]], 1], [None, -45.5, [122.75]]], ['partial repair probe 1', [[['C', 80, 1, 7.75]], 1], [None, -7.75, [87.75]]], ['partial repair probe 2', [[['P', 115, -1, 2.0], ['S', 115, 2, 0.0], ['C', 110, -1, 0.5]], 1], [None, -342.5, [117.5]]], ['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', 80, -2, 0.0], ['P', 95, -2, 2.0], ['S', 110, -1, 0.0], ['S', 100, 1, 0.0]], 1], [-16.0, None, []]], ['normal control 2', [[['P', 105, 1, 2.0], ['P', 100, -1, 7.75], ['S', 105, 1, 0.0], ['P', 80, -1, 3.4]], 100], [None, -17085.0, [90.85]]]], [['regression tail breakeven 1', [[['C', 85, -1, 7.75]], 1], [7.75, None, [92.75]]], ['regression tail breakeven 2', [[['C', 105, -2, 3.4], ['S', 100, 1, 0.0]], 100], [1180.0, None, [93.2, 116.8]]], ['partial repair probe 1', [[['P', 100, -1, 3.4], ['S', 100, -1, 0.0], ['P', 90, -2, 7.75]], 100], [1890.0, None, [80.55, 118.9]]], ['partial repair probe 2', [[['C', 115, -1, 2.0], ['C', 85, 1, 7.75], ['S', 105, -1, 0.0], ['C', 110, -1, 2.0]], 1], [101.25, None, [120.625]]], ['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', 120, 1, 0.0], ['P', 95, -1, 1.25], ['P', 95, -2, 0.5]], 100], [None, -40275.0, [117.75]]], ['normal control 2', [[['P', 100, -1, 1.25]], 100], [125.0, -9875.0, [98.75]]]], [['regression tail breakeven 1', [[['C', 80, -1, 5.1]], 100], [510.0, None, [85.1]]], ['regression tail breakeven 2', [[['C', 120, -2, 5.1]], 1], [10.2, None, [125.1]]], ['partial repair probe 1', [[['P', 115, -1, 1.25], ['P', 95, -2, 5.1], ['C', 120, -1, 2.0]], 1], [13.45, None, [101.55, 133.45]]], ['partial repair probe 2', [[['C', 110, 2, 1.25]], 100], [None, -250.0, [111.25]]], ['boundary control 1', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['boundary control 2', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['normal control 1', [[['S', 90, -2, 0.0], ['P', 105, 1, 7.75], ['C', 95, -1, 5.1], ['C', 120, -1, 0.5]], 1], [282.85, None, [94.2833]]], ['normal control 2', [[['P', 85, 1, 2.0], ['P', 115, -1, 3.4]], 1], [1.4, -28.6, [113.6]]]], [['regression tail breakeven 1', [[['C', 85, -1, 5.1]], 1], [5.1, None, [90.1]]], ['regression tail breakeven 2', [[['C', 115, -1, 0.5], ['C', 115, -2, 1.25], ['P', 90, 2, 2.0], ['C', 90, 2, 1.25]], 1], [176.5, None, [88.25, 91.75, 161.5]]], ['partial repair probe 1', [[['C', 105, 2, 5.1]], 100], [None, -1020.0, [110.1]]], ['partial repair probe 2', [[['C', 90, -1, 5.1], ['P', 95, -1, 3.4]], 1], [3.5, None, [86.5, 98.5]]], ['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', 100, 1, 3.4], ['C', 120, -2, 5.1], ['P', 100, -2, 2.0], ['C', 100, 2, 0.5]], 1], [None, -190.2, [95.1]]], ['normal control 2', [[['C', 95, 1, 1.25], ['C', 120, -1, 5.1], ['C', 85, -1, 3.4], ['P', 120, 1, 2.0]], 1], [125.25, None, [115.25]]]]]
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 tail breakeven 1 | [None, -1550.0, [77.25]] | [None, -1550.0, [92.75]] | Failed |
| regression tail breakeven 2 | [610.0, None, [86.95, 108.9]] | [610.0, None, [86.95, 121.1]] | Failed |
| partial repair probe 1 | [9.15, None, [110.85]] | [9.15, None, [129.15]] | Failed |
| partial repair probe 2 | [2.9, None, [102.1, 103.55]] | [2.9, None, [103.55, 107.9]] | 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 | [17.0, -73.0, [73.0]] | [17.0, -73.0, [73.0]] | Passed |
| normal control 2 | [186.6, None, [96.6]] | [186.6, None, [96.6]] | Passed |
SHA-256 / 82b853184a27216a23e7c7dba2118a2af388237d501e57eddc42107cac1668f6
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 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:
pass
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 tail breakeven 1', [[['C', 85, 2, 7.75]], 100], [None, -1550.0, [92.75]]], ['regression tail breakeven 2', [[['P', 90, -2, 0.5], ['C', 115, -1, 5.1]], 100], [610.0, None, [86.95, 121.1]]], ['partial repair probe 1', [[['C', 110, 1, 1.25], ['C', 115, -1, 3.4], ['C', 120, -1, 2.0]], 1], [9.15, None, [129.15]]], ['partial repair probe 2', [[['P', 105, -2, 2.0], ['P', 105, -1, 0.5], ['C', 100, -1, 3.4]], 1], [2.9, None, [103.55, 107.9]]], ['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', 105, 1, 2.0], ['P', 90, -2, 2.0]], 1], [17.0, -73.0, [73.0]]], ['normal control 2', [[['P', 90, 1, 3.4], ['S', 100, -1, 0.0]], 1], [186.6, None, [96.6]]]], [['regression tail breakeven 1', [[['P', 115, 1, 1.25], ['C', 110, 2, 7.75], ['P', 80, -2, 0.5]], 1], [None, -60.75, [60.75, 99.25, 117.875]]], ['regression tail breakeven 2', [[['P', 100, 2, 7.75], ['S', 115, 2, 0.0]], 1], [None, -45.5, [122.75]]], ['partial repair probe 1', [[['C', 80, 1, 7.75]], 1], [None, -7.75, [87.75]]], ['partial repair probe 2', [[['P', 115, -1, 2.0], ['S', 115, 2, 0.0], ['C', 110, -1, 0.5]], 1], [None, -342.5, [117.5]]], ['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', 80, -2, 0.0], ['P', 95, -2, 2.0], ['S', 110, -1, 0.0], ['S', 100, 1, 0.0]], 1], [-16.0, None, []]], ['normal control 2', [[['P', 105, 1, 2.0], ['P', 100, -1, 7.75], ['S', 105, 1, 0.0], ['P', 80, -1, 3.4]], 100], [None, -17085.0, [90.85]]]], [['regression tail breakeven 1', [[['C', 85, -1, 7.75]], 1], [7.75, None, [92.75]]], ['regression tail breakeven 2', [[['C', 105, -2, 3.4], ['S', 100, 1, 0.0]], 100], [1180.0, None, [93.2, 116.8]]], ['partial repair probe 1', [[['P', 100, -1, 3.4], ['S', 100, -1, 0.0], ['P', 90, -2, 7.75]], 100], [1890.0, None, [80.55, 118.9]]], ['partial repair probe 2', [[['C', 115, -1, 2.0], ['C', 85, 1, 7.75], ['S', 105, -1, 0.0], ['C', 110, -1, 2.0]], 1], [101.25, None, [120.625]]], ['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', 120, 1, 0.0], ['P', 95, -1, 1.25], ['P', 95, -2, 0.5]], 100], [None, -40275.0, [117.75]]], ['normal control 2', [[['P', 100, -1, 1.25]], 100], [125.0, -9875.0, [98.75]]]], [['regression tail breakeven 1', [[['C', 80, -1, 5.1]], 100], [510.0, None, [85.1]]], ['regression tail breakeven 2', [[['C', 120, -2, 5.1]], 1], [10.2, None, [125.1]]], ['partial repair probe 1', [[['P', 115, -1, 1.25], ['P', 95, -2, 5.1], ['C', 120, -1, 2.0]], 1], [13.45, None, [101.55, 133.45]]], ['partial repair probe 2', [[['C', 110, 2, 1.25]], 100], [None, -250.0, [111.25]]], ['boundary control 1', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['boundary control 2', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['normal control 1', [[['S', 90, -2, 0.0], ['P', 105, 1, 7.75], ['C', 95, -1, 5.1], ['C', 120, -1, 0.5]], 1], [282.85, None, [94.2833]]], ['normal control 2', [[['P', 85, 1, 2.0], ['P', 115, -1, 3.4]], 1], [1.4, -28.6, [113.6]]]], [['regression tail breakeven 1', [[['C', 85, -1, 5.1]], 1], [5.1, None, [90.1]]], ['regression tail breakeven 2', [[['C', 115, -1, 0.5], ['C', 115, -2, 1.25], ['P', 90, 2, 2.0], ['C', 90, 2, 1.25]], 1], [176.5, None, [88.25, 91.75, 161.5]]], ['partial repair probe 1', [[['C', 105, 2, 5.1]], 100], [None, -1020.0, [110.1]]], ['partial repair probe 2', [[['C', 90, -1, 5.1], ['P', 95, -1, 3.4]], 1], [3.5, None, [86.5, 98.5]]], ['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', 100, 1, 3.4], ['C', 120, -2, 5.1], ['P', 100, -2, 2.0], ['C', 100, 2, 0.5]], 1], [None, -190.2, [95.1]]], ['normal control 2', [[['C', 95, 1, 1.25], ['C', 120, -1, 5.1], ['C', 85, -1, 3.4], ['P', 120, 1, 2.0]], 1], [125.25, None, [115.25]]]]]
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 tail breakeven 1 | [None, -1550.0, []] | [None, -1550.0, [92.75]] | Failed |
| regression tail breakeven 2 | [610.0, None, [86.95]] | [610.0, None, [86.95, 121.1]] | Failed |
| partial repair probe 1 | [9.15, None, []] | [9.15, None, [129.15]] | Failed |
| partial repair probe 2 | [2.9, None, [103.55]] | [2.9, None, [103.55, 107.9]] | 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 | [17.0, -73.0, [73.0]] | [17.0, -73.0, [73.0]] | Passed |
| normal control 2 | [186.6, None, [96.6]] | [186.6, None, [96.6]] | Passed |
SHA-256 / 774184e814fe305f731d193445e9a519638b242299934e0da5e766dde49dbaf9
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 tail breakeven 1', [[['C', 85, 2, 7.75]], 100], [None, -1550.0, [92.75]]], ['regression tail breakeven 2', [[['P', 90, -2, 0.5], ['C', 115, -1, 5.1]], 100], [610.0, None, [86.95, 121.1]]], ['partial repair probe 1', [[['C', 110, 1, 1.25], ['C', 115, -1, 3.4], ['C', 120, -1, 2.0]], 1], [9.15, None, [129.15]]], ['partial repair probe 2', [[['P', 105, -2, 2.0], ['P', 105, -1, 0.5], ['C', 100, -1, 3.4]], 1], [2.9, None, [103.55, 107.9]]], ['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', 105, 1, 2.0], ['P', 90, -2, 2.0]], 1], [17.0, -73.0, [73.0]]], ['normal control 2', [[['P', 90, 1, 3.4], ['S', 100, -1, 0.0]], 1], [186.6, None, [96.6]]]], [['regression tail breakeven 1', [[['P', 115, 1, 1.25], ['C', 110, 2, 7.75], ['P', 80, -2, 0.5]], 1], [None, -60.75, [60.75, 99.25, 117.875]]], ['regression tail breakeven 2', [[['P', 100, 2, 7.75], ['S', 115, 2, 0.0]], 1], [None, -45.5, [122.75]]], ['partial repair probe 1', [[['C', 80, 1, 7.75]], 1], [None, -7.75, [87.75]]], ['partial repair probe 2', [[['P', 115, -1, 2.0], ['S', 115, 2, 0.0], ['C', 110, -1, 0.5]], 1], [None, -342.5, [117.5]]], ['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', 80, -2, 0.0], ['P', 95, -2, 2.0], ['S', 110, -1, 0.0], ['S', 100, 1, 0.0]], 1], [-16.0, None, []]], ['normal control 2', [[['P', 105, 1, 2.0], ['P', 100, -1, 7.75], ['S', 105, 1, 0.0], ['P', 80, -1, 3.4]], 100], [None, -17085.0, [90.85]]]], [['regression tail breakeven 1', [[['C', 85, -1, 7.75]], 1], [7.75, None, [92.75]]], ['regression tail breakeven 2', [[['C', 105, -2, 3.4], ['S', 100, 1, 0.0]], 100], [1180.0, None, [93.2, 116.8]]], ['partial repair probe 1', [[['P', 100, -1, 3.4], ['S', 100, -1, 0.0], ['P', 90, -2, 7.75]], 100], [1890.0, None, [80.55, 118.9]]], ['partial repair probe 2', [[['C', 115, -1, 2.0], ['C', 85, 1, 7.75], ['S', 105, -1, 0.0], ['C', 110, -1, 2.0]], 1], [101.25, None, [120.625]]], ['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', 120, 1, 0.0], ['P', 95, -1, 1.25], ['P', 95, -2, 0.5]], 100], [None, -40275.0, [117.75]]], ['normal control 2', [[['P', 100, -1, 1.25]], 100], [125.0, -9875.0, [98.75]]]], [['regression tail breakeven 1', [[['C', 80, -1, 5.1]], 100], [510.0, None, [85.1]]], ['regression tail breakeven 2', [[['C', 120, -2, 5.1]], 1], [10.2, None, [125.1]]], ['partial repair probe 1', [[['P', 115, -1, 1.25], ['P', 95, -2, 5.1], ['C', 120, -1, 2.0]], 1], [13.45, None, [101.55, 133.45]]], ['partial repair probe 2', [[['C', 110, 2, 1.25]], 100], [None, -250.0, [111.25]]], ['boundary control 1', [[['S', 100, 1, 0.0], ['C', 110, -1, 1.25]], 1], [11.25, -98.75, [98.75]]], ['boundary control 2', [[['P', 100, 1, 2.0]], 1], [98.0, -2.0, [98.0]]], ['normal control 1', [[['S', 90, -2, 0.0], ['P', 105, 1, 7.75], ['C', 95, -1, 5.1], ['C', 120, -1, 0.5]], 1], [282.85, None, [94.2833]]], ['normal control 2', [[['P', 85, 1, 2.0], ['P', 115, -1, 3.4]], 1], [1.4, -28.6, [113.6]]]], [['regression tail breakeven 1', [[['C', 85, -1, 5.1]], 1], [5.1, None, [90.1]]], ['regression tail breakeven 2', [[['C', 115, -1, 0.5], ['C', 115, -2, 1.25], ['P', 90, 2, 2.0], ['C', 90, 2, 1.25]], 1], [176.5, None, [88.25, 91.75, 161.5]]], ['partial repair probe 1', [[['C', 105, 2, 5.1]], 100], [None, -1020.0, [110.1]]], ['partial repair probe 2', [[['C', 90, -1, 5.1], ['P', 95, -1, 3.4]], 1], [3.5, None, [86.5, 98.5]]], ['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', 100, 1, 3.4], ['C', 120, -2, 5.1], ['P', 100, -2, 2.0], ['C', 100, 2, 0.5]], 1], [None, -190.2, [95.1]]], ['normal control 2', [[['C', 95, 1, 1.25], ['C', 120, -1, 5.1], ['C', 85, -1, 3.4], ['P', 120, 1, 2.0]], 1], [125.25, None, [115.25]]]]]
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 tail breakeven 1 | [None, -1550.0, [92.75]] | [None, -1550.0, [92.75]] | Passed |
| regression tail breakeven 2 | [610.0, None, [86.95, 121.1]] | [610.0, None, [86.95, 121.1]] | Passed |
| partial repair probe 1 | [9.15, None, [129.15]] | [9.15, None, [129.15]] | Passed |
| partial repair probe 2 | [2.9, None, [103.55, 107.9]] | [2.9, None, [103.55, 107.9]] | 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 | [17.0, -73.0, [73.0]] | [17.0, -73.0, [73.0]] | Passed |
| normal control 2 | [186.6, None, [96.6]] | [186.6, None, [96.6]] | Passed |
SHA-256 / 3b5a53ff2d3041350650edd3ec02015e3c5cd489d9064cbf04d3a3bbe2f33e0f
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.829977+00:00.
Case digest / 2b72f8ce75786d56982b9d71a21437ed2279eeb69cd77a2d487664fd8e821fe6