{"abstract":"Parity checks flag every fairly priced pair when rates are positive.","category":"Options payoff and settlement","checks":8,"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.","evaluation_group":"w2-options_payoff_and_settlement-put-call-parity-check","failed_approach":"Discounting the spot at the risk-free rate too ignores the dividend yield.","family":"w2-options_payoff_and_settlement-put-call-parity-check-strike-discounting","id":"FA-61806","implementations":{"attempt":{"sha256":"14bdcb213bcbbe3cf6e653035d0b34421e5c9e59ef62feca460bc60a6c3e7ada","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(C, P, S, K, r, T, q, tol):\n    v = (C - P) - (S * math.exp(-r * T) - K * math.exp(-r * T))\n    if abs(v) <= tol:\n        return ['none', 0.0]\n    if v > 0:\n        return ['sell call buy put', round(v, 6)]\n    return ['buy call sell put', round(-v, 6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['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]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"7c102f7d7d971b97b14ad6bbeb32e6faf8524581da517d7bef5b3283a513c048","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(C, P, S, K, r, T, q, tol):\n    v = (C - P) - (S * math.exp(-q * T) - K)\n    if abs(v) <= tol:\n        return ['none', 0.0]\n    if v > 0:\n        return ['sell call buy put', round(v, 6)]\n    return ['buy call sell put', round(-v, 6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['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]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"27cbc981231242879083ff747fda1ee12ce15b98425ba747ce9f14f1b67719e4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(C, P, S, K, r, T, q, tol):\n    v = (C - P) - (S * math.exp(-q * T) - K * math.exp(-r * T))\n    if abs(v) <= tol:\n        return ['none', 0.0]\n    if v > 0:\n        return ['sell call buy put', round(v, 6)]\n    return ['buy call sell put', round(-v, 6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['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]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-options_payoff_and_settlement-put-call-parity-check-strike-discounting","generated_at":"2026-09-29T14:46:58.717894+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Option expiry, exercise and settlement engines move cash and shares; a wrong branch misstates obligations.","repair":"Discount the strike at the risk-free rate.","root_cause":"The forward uses K instead of K e^{-rT}.","sha256":"177edbf2f1805427430ccde7fa234f7d179ddfdc3557fad40834238681f5b82b","title":"Put-call parity violation detector: the strike is not discounted · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.547,"exit_code":1,"observations":[{"actual":["sell call buy put",3.647245],"check":"regression strike discounting 1","expected":["none",0.0],"passed":false},{"actual":["sell call buy put",1.126555],"check":"regression strike discounting 2","expected":["sell call buy put",0.200007],"passed":false},{"actual":["buy call sell put",3.525],"check":"partial repair probe 1","expected":["sell call buy put",0.200003],"passed":false},{"actual":["buy call sell put",0.7738],"check":"partial repair probe 2","expected":["buy call sell put",0.299986],"passed":false},{"actual":["none",0.0],"check":"normal control 1","expected":["none",0.0],"passed":true},{"actual":["buy call sell put",0.3],"check":"normal control 2","expected":["buy call sell put",0.3],"passed":true},{"actual":["buy call sell put",0.3],"check":"normal control 3","expected":["buy call sell put",0.3],"passed":true},{"actual":["buy call sell put",2.0],"check":"normal control 4","expected":["buy call sell put",2.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression strike discounting 1\", \"actual\": [\"sell call buy put\", 3.647245], \"expected\": [\"none\", 0.0], \"passed\": false}, {\"check\": \"regression strike discounting 2\", \"actual\": [\"sell call buy put\", 1.126555], \"expected\": [\"sell call buy put\", 0.200007], \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": [\"buy call sell put\", 3.525], \"expected\": [\"sell call buy put\", 0.200003], \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": [\"buy call sell put\", 0.7738], \"expected\": [\"buy call sell put\", 0.299986], \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": [\"none\", 0.0], \"expected\": [\"none\", 0.0], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [\"buy call sell put\", 0.3], \"expected\": [\"buy call sell put\", 0.3], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [\"buy call sell put\", 0.3], \"expected\": [\"buy call sell put\", 0.3], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [\"buy call sell put\", 2.0], \"expected\": [\"buy call sell put\", 2.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.533,"exit_code":1,"observations":[{"actual":["sell call buy put",6.110726],"check":"regression strike discounting 1","expected":["none",0.0],"passed":false},{"actual":["sell call buy put",3.303226],"check":"regression strike discounting 2","expected":["sell call buy put",0.200007],"passed":false},{"actual":["sell call buy put",0.200003],"check":"partial repair probe 1","expected":["sell call buy put",0.200003],"passed":true},{"actual":["buy call sell put",0.299986],"check":"partial repair probe 2","expected":["buy call sell put",0.299986],"passed":true},{"actual":["none",0.0],"check":"normal control 1","expected":["none",0.0],"passed":true},{"actual":["buy call sell put",0.3],"check":"normal control 2","expected":["buy call sell put",0.3],"passed":true},{"actual":["buy call sell put",0.3],"check":"normal control 3","expected":["buy call sell put",0.3],"passed":true},{"actual":["buy call sell put",2.0],"check":"normal control 4","expected":["buy call sell put",2.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression strike discounting 1\", \"actual\": [\"sell call buy put\", 6.110726], \"expected\": [\"none\", 0.0], \"passed\": false}, {\"check\": \"regression strike discounting 2\", \"actual\": [\"sell call buy put\", 3.303226], \"expected\": [\"sell call buy put\", 0.200007], \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": [\"sell call buy put\", 0.200003], \"expected\": [\"sell call buy put\", 0.200003], \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": [\"buy call sell put\", 0.299986], \"expected\": [\"buy call sell put\", 0.299986], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [\"none\", 0.0], \"expected\": [\"none\", 0.0], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [\"buy call sell put\", 0.3], \"expected\": [\"buy call sell put\", 0.3], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [\"buy call sell put\", 0.3], \"expected\": [\"buy call sell put\", 0.3], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [\"buy call sell put\", 2.0], \"expected\": [\"buy call sell put\", 2.0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.867,"exit_code":0,"observations":[{"actual":["none",0.0],"check":"regression strike discounting 1","expected":["none",0.0],"passed":true},{"actual":["sell call buy put",0.200007],"check":"regression strike discounting 2","expected":["sell call buy put",0.200007],"passed":true},{"actual":["sell call buy put",0.200003],"check":"partial repair probe 1","expected":["sell call buy put",0.200003],"passed":true},{"actual":["buy call sell put",0.299986],"check":"partial repair probe 2","expected":["buy call sell put",0.299986],"passed":true},{"actual":["none",0.0],"check":"normal control 1","expected":["none",0.0],"passed":true},{"actual":["buy call sell put",0.3],"check":"normal control 2","expected":["buy call sell put",0.3],"passed":true},{"actual":["buy call sell put",0.3],"check":"normal control 3","expected":["buy call sell put",0.3],"passed":true},{"actual":["buy call sell put",2.0],"check":"normal control 4","expected":["buy call sell put",2.0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression strike discounting 1\", \"actual\": [\"none\", 0.0], \"expected\": [\"none\", 0.0], \"passed\": true}, {\"check\": \"regression strike discounting 2\", \"actual\": [\"sell call buy put\", 0.200007], \"expected\": [\"sell call buy put\", 0.200007], \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": [\"sell call buy put\", 0.200003], \"expected\": [\"sell call buy put\", 0.200003], \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": [\"buy call sell put\", 0.299986], \"expected\": [\"buy call sell put\", 0.299986], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [\"none\", 0.0], \"expected\": [\"none\", 0.0], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [\"buy call sell put\", 0.3], \"expected\": [\"buy call sell put\", 0.3], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [\"buy call sell put\", 0.3], \"expected\": [\"buy call sell put\", 0.3], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [\"buy call sell put\", 2.0], \"expected\": [\"buy call sell put\", 2.0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}