FAILURE MAP
← Case archive

FA-61806 / Options payoff and settlement / Open access

Put-call parity violation detector: the strike is not discounted · case 01

Parity checks flag every fairly priced pair when rates are positive.

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

ROOT CAUSE

The forward uses K instead of K e^{-rT}.

VERIFIED REPAIR

Discount the strike at the risk-free rate.

Unsuccessful approach: Discounting the spot at the risk-free rate too ignores the dividend yield.

Case contract

Inputs call price C, put price P, S, K, r, T, dividend yield q and tolerance. v = (C - P) - (S e^{-qT} - K e^{-rT}). If |v| <= tol return ["none", 0.0]; if v > 0 return ["sell call buy put", v]; else ["buy call sell put", -v], amounts rounded to 6.

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
import math
N = 1
observations = []
def solve(C, P, S, K, r, T, q, tol):
    v = (C - P) - (S * math.exp(-q * T) - K)
    if abs(v) <= tol:
        return ['none', 0.0]
    if v > 0:
        return ['sell call buy put', round(v, 6)]
    return ['buy call sell put', round(-v, 6)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression strike discounting 1', [-4.2704, 1.5, 95.0, 105.0, 0.06, 1.0, 0.02, 0.01], ['none', 0.0]], ['regression strike discounting 2', [-4.5779, 4.0, 95.0, 105.0, 0.03, 1.0, 0.02, 0.05], ['sell call buy put', 0.200007]], ['partial repair probe 1', [-5.275, 8.25, 95.0, 105.0, 0.0, 2.0, 0.02, 0.01], ['sell call buy put', 0.200003]], ['partial repair probe 2', [-2.5238, 8.25, 95.0, 105.0, 0.0, 0.25, 0.02, 0.01], ['buy call sell put', 0.299986]], ['normal control 1', [1.5, 1.5, 100.0, 100.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 2', [-6.3, 4.0, 95.0, 105.0, 0.0, 2.0, 0.0, 0.05], ['buy call sell put', 0.3]], ['normal control 3', [8.7, 4.0, 110.0, 105.0, 0.0, 2.0, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [16.25, 8.25, 110.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['buy call sell put', 2.0]]], [['regression strike discounting 1', [6.2014, 8.25, 95.0, 100.0, 0.03, 1.0, 0.0, 0.05], ['none', 0.0]], ['regression strike discounting 2', [14.2346, 8.25, 110.0, 105.0, 0.03, 0.25, 0.0, 0.01], ['sell call buy put', 0.200046]], ['partial repair probe 1', [11.3729, 8.25, 95.0, 90.0, 0.0, 1.0, 0.02, 0.05], ['none', 0.0]], ['partial repair probe 2', [10.9972, 1.5, 100.0, 90.0, 0.0, 0.25, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [4.35, 8.25, 100.0, 105.0, 0.0, 2.0, 0.0, 0.01], ['sell call buy put', 1.1]], ['normal control 2', [-3.496, 1.5, 95.0, 100.0, 0.0, 1.0, 0.0, 0.05], ['none', 0.0]], ['normal control 3', [15.1, 4.0, 100.0, 90.0, 0.0, 2.0, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 4', [4.004, 4.0, 100.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [5.4888, 4.0, 100.0, 100.0, 0.06, 0.25, 0.0, 0.01], ['none', 0.0]], ['regression strike discounting 2', [19.5237, 8.25, 100.0, 90.0, 0.03, 0.25, 0.02, 0.01], ['sell call buy put', 1.099977]], ['partial repair probe 1', [7.7789, 1.5, 100.0, 90.0, 0.0, 2.0, 0.02, 0.01], ['sell call buy put', 0.199956]], ['partial repair probe 2', [19.3219, 1.5, 110.0, 90.0, 0.0, 1.0, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [6.5, 1.5, 110.0, 105.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 2', [13.996, 4.0, 100.0, 90.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 3', [1.2, 1.5, 100.0, 100.0, 0.0, 0.25, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [-1.0, 4.0, 95.0, 100.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [0.4901, 1.5, 100.0, 100.0, 0.06, 0.25, 0.02, 0.01], ['buy call sell put', 1.999954]], ['regression strike discounting 2', [20.9054, 8.25, 110.0, 100.0, 0.03, 1.0, 0.0, 0.05], ['buy call sell put', 0.300047]], ['partial repair probe 1', [9.5199, 1.5, 100.0, 90.0, 0.0, 1.0, 0.02, 0.05], ['none', 0.0]], ['partial repair probe 2', [-3.6271, 8.25, 95.0, 105.0, 0.0, 1.0, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [19.35, 8.25, 100.0, 90.0, 0.0, 0.25, 0.0, 0.01], ['sell call buy put', 1.1]], ['normal control 2', [10.1, 4.0, 95.0, 90.0, 0.0, 0.25, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 3', [-8.8, 1.5, 95.0, 105.0, 0.0, 0.25, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [13.254, 8.25, 110.0, 105.0, 0.0, 1.0, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [18.3774, 1.5, 110.0, 105.0, 0.06, 2.0, 0.0, 0.05], ['none', 0.0]], ['regression strike discounting 2', [5.4848, 4.0, 100.0, 100.0, 0.06, 0.25, 0.0, 0.01], ['none', 0.0]], ['partial repair probe 1', [23.6368, 8.25, 110.0, 90.0, 0.0, 2.0, 0.02, 0.05], ['buy call sell put', 0.300038]], ['partial repair probe 2', [-2.4251, 1.5, 100.0, 100.0, 0.0, 2.0, 0.02, 0.05], ['none', 0.0]], ['normal control 1', [2.0, 4.0, 100.0, 100.0, 0.0, 2.0, 0.0, 0.01], ['buy call sell put', 2.0]], ['normal control 2', [-7.4, 1.5, 95.0, 105.0, 0.0, 0.25, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 3', [6.5, 1.5, 110.0, 105.0, 0.0, 2.0, 0.0, 0.05], ['none', 0.0]], ['normal control 4', [-2.4, 1.5, 95.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['sell call buy put', 1.1]]]]
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 strike discounting 1['sell call buy put', 6.110726]['none', 0.0]Failed
regression strike discounting 2['sell call buy put', 3.303226]['sell call buy put', 0.200007]Failed
partial repair probe 1['sell call buy put', 0.200003]['sell call buy put', 0.200003]Passed
partial repair probe 2['buy call sell put', 0.299986]['buy call sell put', 0.299986]Passed
normal control 1['none', 0.0]['none', 0.0]Passed
normal control 2['buy call sell put', 0.3]['buy call sell put', 0.3]Passed
normal control 3['buy call sell put', 0.3]['buy call sell put', 0.3]Passed
normal control 4['buy call sell put', 2.0]['buy call sell put', 2.0]Passed

SHA-256 / 7c102f7d7d971b97b14ad6bbeb32e6faf8524581da517d7bef5b3283a513c048

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(C, P, S, K, r, T, q, tol):
    v = (C - P) - (S * math.exp(-r * T) - K * math.exp(-r * T))
    if abs(v) <= tol:
        return ['none', 0.0]
    if v > 0:
        return ['sell call buy put', round(v, 6)]
    return ['buy call sell put', round(-v, 6)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression strike discounting 1', [-4.2704, 1.5, 95.0, 105.0, 0.06, 1.0, 0.02, 0.01], ['none', 0.0]], ['regression strike discounting 2', [-4.5779, 4.0, 95.0, 105.0, 0.03, 1.0, 0.02, 0.05], ['sell call buy put', 0.200007]], ['partial repair probe 1', [-5.275, 8.25, 95.0, 105.0, 0.0, 2.0, 0.02, 0.01], ['sell call buy put', 0.200003]], ['partial repair probe 2', [-2.5238, 8.25, 95.0, 105.0, 0.0, 0.25, 0.02, 0.01], ['buy call sell put', 0.299986]], ['normal control 1', [1.5, 1.5, 100.0, 100.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 2', [-6.3, 4.0, 95.0, 105.0, 0.0, 2.0, 0.0, 0.05], ['buy call sell put', 0.3]], ['normal control 3', [8.7, 4.0, 110.0, 105.0, 0.0, 2.0, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [16.25, 8.25, 110.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['buy call sell put', 2.0]]], [['regression strike discounting 1', [6.2014, 8.25, 95.0, 100.0, 0.03, 1.0, 0.0, 0.05], ['none', 0.0]], ['regression strike discounting 2', [14.2346, 8.25, 110.0, 105.0, 0.03, 0.25, 0.0, 0.01], ['sell call buy put', 0.200046]], ['partial repair probe 1', [11.3729, 8.25, 95.0, 90.0, 0.0, 1.0, 0.02, 0.05], ['none', 0.0]], ['partial repair probe 2', [10.9972, 1.5, 100.0, 90.0, 0.0, 0.25, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [4.35, 8.25, 100.0, 105.0, 0.0, 2.0, 0.0, 0.01], ['sell call buy put', 1.1]], ['normal control 2', [-3.496, 1.5, 95.0, 100.0, 0.0, 1.0, 0.0, 0.05], ['none', 0.0]], ['normal control 3', [15.1, 4.0, 100.0, 90.0, 0.0, 2.0, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 4', [4.004, 4.0, 100.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [5.4888, 4.0, 100.0, 100.0, 0.06, 0.25, 0.0, 0.01], ['none', 0.0]], ['regression strike discounting 2', [19.5237, 8.25, 100.0, 90.0, 0.03, 0.25, 0.02, 0.01], ['sell call buy put', 1.099977]], ['partial repair probe 1', [7.7789, 1.5, 100.0, 90.0, 0.0, 2.0, 0.02, 0.01], ['sell call buy put', 0.199956]], ['partial repair probe 2', [19.3219, 1.5, 110.0, 90.0, 0.0, 1.0, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [6.5, 1.5, 110.0, 105.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 2', [13.996, 4.0, 100.0, 90.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 3', [1.2, 1.5, 100.0, 100.0, 0.0, 0.25, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [-1.0, 4.0, 95.0, 100.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [0.4901, 1.5, 100.0, 100.0, 0.06, 0.25, 0.02, 0.01], ['buy call sell put', 1.999954]], ['regression strike discounting 2', [20.9054, 8.25, 110.0, 100.0, 0.03, 1.0, 0.0, 0.05], ['buy call sell put', 0.300047]], ['partial repair probe 1', [9.5199, 1.5, 100.0, 90.0, 0.0, 1.0, 0.02, 0.05], ['none', 0.0]], ['partial repair probe 2', [-3.6271, 8.25, 95.0, 105.0, 0.0, 1.0, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [19.35, 8.25, 100.0, 90.0, 0.0, 0.25, 0.0, 0.01], ['sell call buy put', 1.1]], ['normal control 2', [10.1, 4.0, 95.0, 90.0, 0.0, 0.25, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 3', [-8.8, 1.5, 95.0, 105.0, 0.0, 0.25, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [13.254, 8.25, 110.0, 105.0, 0.0, 1.0, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [18.3774, 1.5, 110.0, 105.0, 0.06, 2.0, 0.0, 0.05], ['none', 0.0]], ['regression strike discounting 2', [5.4848, 4.0, 100.0, 100.0, 0.06, 0.25, 0.0, 0.01], ['none', 0.0]], ['partial repair probe 1', [23.6368, 8.25, 110.0, 90.0, 0.0, 2.0, 0.02, 0.05], ['buy call sell put', 0.300038]], ['partial repair probe 2', [-2.4251, 1.5, 100.0, 100.0, 0.0, 2.0, 0.02, 0.05], ['none', 0.0]], ['normal control 1', [2.0, 4.0, 100.0, 100.0, 0.0, 2.0, 0.0, 0.01], ['buy call sell put', 2.0]], ['normal control 2', [-7.4, 1.5, 95.0, 105.0, 0.0, 0.25, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 3', [6.5, 1.5, 110.0, 105.0, 0.0, 2.0, 0.0, 0.05], ['none', 0.0]], ['normal control 4', [-2.4, 1.5, 95.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['sell call buy put', 1.1]]]]
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 strike discounting 1['sell call buy put', 3.647245]['none', 0.0]Failed
regression strike discounting 2['sell call buy put', 1.126555]['sell call buy put', 0.200007]Failed
partial repair probe 1['buy call sell put', 3.525]['sell call buy put', 0.200003]Failed
partial repair probe 2['buy call sell put', 0.7738]['buy call sell put', 0.299986]Failed
normal control 1['none', 0.0]['none', 0.0]Passed
normal control 2['buy call sell put', 0.3]['buy call sell put', 0.3]Passed
normal control 3['buy call sell put', 0.3]['buy call sell put', 0.3]Passed
normal control 4['buy call sell put', 2.0]['buy call sell put', 2.0]Passed

SHA-256 / 14bdcb213bcbbe3cf6e653035d0b34421e5c9e59ef62feca460bc60a6c3e7ada

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(C, P, S, K, r, T, q, tol):
    v = (C - P) - (S * math.exp(-q * T) - K * math.exp(-r * T))
    if abs(v) <= tol:
        return ['none', 0.0]
    if v > 0:
        return ['sell call buy put', round(v, 6)]
    return ['buy call sell put', round(-v, 6)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression strike discounting 1', [-4.2704, 1.5, 95.0, 105.0, 0.06, 1.0, 0.02, 0.01], ['none', 0.0]], ['regression strike discounting 2', [-4.5779, 4.0, 95.0, 105.0, 0.03, 1.0, 0.02, 0.05], ['sell call buy put', 0.200007]], ['partial repair probe 1', [-5.275, 8.25, 95.0, 105.0, 0.0, 2.0, 0.02, 0.01], ['sell call buy put', 0.200003]], ['partial repair probe 2', [-2.5238, 8.25, 95.0, 105.0, 0.0, 0.25, 0.02, 0.01], ['buy call sell put', 0.299986]], ['normal control 1', [1.5, 1.5, 100.0, 100.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 2', [-6.3, 4.0, 95.0, 105.0, 0.0, 2.0, 0.0, 0.05], ['buy call sell put', 0.3]], ['normal control 3', [8.7, 4.0, 110.0, 105.0, 0.0, 2.0, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [16.25, 8.25, 110.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['buy call sell put', 2.0]]], [['regression strike discounting 1', [6.2014, 8.25, 95.0, 100.0, 0.03, 1.0, 0.0, 0.05], ['none', 0.0]], ['regression strike discounting 2', [14.2346, 8.25, 110.0, 105.0, 0.03, 0.25, 0.0, 0.01], ['sell call buy put', 0.200046]], ['partial repair probe 1', [11.3729, 8.25, 95.0, 90.0, 0.0, 1.0, 0.02, 0.05], ['none', 0.0]], ['partial repair probe 2', [10.9972, 1.5, 100.0, 90.0, 0.0, 0.25, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [4.35, 8.25, 100.0, 105.0, 0.0, 2.0, 0.0, 0.01], ['sell call buy put', 1.1]], ['normal control 2', [-3.496, 1.5, 95.0, 100.0, 0.0, 1.0, 0.0, 0.05], ['none', 0.0]], ['normal control 3', [15.1, 4.0, 100.0, 90.0, 0.0, 2.0, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 4', [4.004, 4.0, 100.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [5.4888, 4.0, 100.0, 100.0, 0.06, 0.25, 0.0, 0.01], ['none', 0.0]], ['regression strike discounting 2', [19.5237, 8.25, 100.0, 90.0, 0.03, 0.25, 0.02, 0.01], ['sell call buy put', 1.099977]], ['partial repair probe 1', [7.7789, 1.5, 100.0, 90.0, 0.0, 2.0, 0.02, 0.01], ['sell call buy put', 0.199956]], ['partial repair probe 2', [19.3219, 1.5, 110.0, 90.0, 0.0, 1.0, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [6.5, 1.5, 110.0, 105.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 2', [13.996, 4.0, 100.0, 90.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]], ['normal control 3', [1.2, 1.5, 100.0, 100.0, 0.0, 0.25, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [-1.0, 4.0, 95.0, 100.0, 0.0, 0.25, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [0.4901, 1.5, 100.0, 100.0, 0.06, 0.25, 0.02, 0.01], ['buy call sell put', 1.999954]], ['regression strike discounting 2', [20.9054, 8.25, 110.0, 100.0, 0.03, 1.0, 0.0, 0.05], ['buy call sell put', 0.300047]], ['partial repair probe 1', [9.5199, 1.5, 100.0, 90.0, 0.0, 1.0, 0.02, 0.05], ['none', 0.0]], ['partial repair probe 2', [-3.6271, 8.25, 95.0, 105.0, 0.0, 1.0, 0.02, 0.01], ['none', 0.0]], ['normal control 1', [19.35, 8.25, 100.0, 90.0, 0.0, 0.25, 0.0, 0.01], ['sell call buy put', 1.1]], ['normal control 2', [10.1, 4.0, 95.0, 90.0, 0.0, 0.25, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 3', [-8.8, 1.5, 95.0, 105.0, 0.0, 0.25, 0.0, 0.01], ['buy call sell put', 0.3]], ['normal control 4', [13.254, 8.25, 110.0, 105.0, 0.0, 1.0, 0.0, 0.05], ['none', 0.0]]], [['regression strike discounting 1', [18.3774, 1.5, 110.0, 105.0, 0.06, 2.0, 0.0, 0.05], ['none', 0.0]], ['regression strike discounting 2', [5.4848, 4.0, 100.0, 100.0, 0.06, 0.25, 0.0, 0.01], ['none', 0.0]], ['partial repair probe 1', [23.6368, 8.25, 110.0, 90.0, 0.0, 2.0, 0.02, 0.05], ['buy call sell put', 0.300038]], ['partial repair probe 2', [-2.4251, 1.5, 100.0, 100.0, 0.0, 2.0, 0.02, 0.05], ['none', 0.0]], ['normal control 1', [2.0, 4.0, 100.0, 100.0, 0.0, 2.0, 0.0, 0.01], ['buy call sell put', 2.0]], ['normal control 2', [-7.4, 1.5, 95.0, 105.0, 0.0, 0.25, 0.0, 0.05], ['sell call buy put', 1.1]], ['normal control 3', [6.5, 1.5, 110.0, 105.0, 0.0, 2.0, 0.0, 0.05], ['none', 0.0]], ['normal control 4', [-2.4, 1.5, 95.0, 100.0, 0.0, 2.0, 0.0, 0.05], ['sell call buy put', 1.1]]]]
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 strike discounting 1['none', 0.0]['none', 0.0]Passed
regression strike discounting 2['sell call buy put', 0.200007]['sell call buy put', 0.200007]Passed
partial repair probe 1['sell call buy put', 0.200003]['sell call buy put', 0.200003]Passed
partial repair probe 2['buy call sell put', 0.299986]['buy call sell put', 0.299986]Passed
normal control 1['none', 0.0]['none', 0.0]Passed
normal control 2['buy call sell put', 0.3]['buy call sell put', 0.3]Passed
normal control 3['buy call sell put', 0.3]['buy call sell put', 0.3]Passed
normal control 4['buy call sell put', 2.0]['buy call sell put', 2.0]Passed

SHA-256 / 27cbc981231242879083ff747fda1ee12ce15b98425ba747ce9f14f1b67719e4

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

Case digest / 177edbf2f1805427430ccde7fa234f7d179ddfdc3557fad40834238681f5b82b