{"abstract":"Exact half-cent values settle a cent lower half of the time.","category":"Options payoff and settlement","checks":8,"contract":"Inputs components [weight, opening price or None, last close] and a divisor. Each component uses its opening price, or its last close if it did not open. Settlement = sum(weight*price)/divisor computed in Decimal and rounded half-up to cents. Return as a string.","evaluation_group":"w2-options_payoff_and_settlement-opening-settlement-value","failed_approach":"Truncating to cents lowers every fractional value.","family":"w2-options_payoff_and_settlement-opening-settlement-value-settlement-rounding-mode","id":"FA-61576","implementations":{"attempt":{"sha256":"1766239d77b3155926a560ca7b017097ab1846e1f3251aa194b99d0a913b7c1a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_DOWN\nN = 1\nobservations = []\ndef solve(components, divisor):\n    total = Decimal(0)\n    for w, op, close in components:\n        px = op if op is not None else close\n        total += Decimal(str(w)) * Decimal(str(px))\n    val = (total / Decimal(str(divisor))).quantize(Decimal('0.01'), rounding=ROUND_DOWN)\n    return str(val)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression settlement rounding mode 1', [[[1, 38.79, 40.378], [1.5, 186.655, 180.163], [0.5, 13.08, 12.643]], 0.5], '650.63'], ['regression settlement rounding mode 2', [[[1.5, 166.141, 161.691], [1.5, 118.467, 117.341], [3, 18.846, 19.774]], 2], '241.73'], ['partial repair probe 1', [[[0.5, None, 160.862], [1, 66.98, 65.82], [2, None, 182.096], [0.5, 33.672, 33.239]], 1], '528.44'], ['partial repair probe 2', [[[0.5, 193.605, 193.453], [1.5, 135.426, 135.553], [1, None, 85.835]], 2], '192.89'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[0.5, 20.415, 19.879], [1.5, 152.089, 157.637], [1.5, 106.795, 110.396], [1, None, 155.609]], 1], '554.14'], ['normal control 2', [[[0.5, 106.616, 109.753], [3, 182.574, 179.101], [1, 48.45, 47.519], [0.5, None, 27.452]], 2], '331.60'], ['normal control 3', [[[1, None, 169.547], [2, 176.066, 180.982], [1.5, 16.157, 16.833], [3, 46.697, 44.875], [3, None, 171.952], [1.5, 121.585, 121.726]], 1.25], '1107.39']], [['regression settlement rounding mode 1', [[[2, 191.853, 193.22], [3, None, 84.528]], 2], '318.65'], ['regression settlement rounding mode 2', [[[0.5, None, 47.039], [3, 172.439, 181.365], [2, None, 107.369], [2, 115.824, 116.814]], 0.5], '1974.45'], ['partial repair probe 1', [[[2, None, 168.281], [2, 30.899, 29.856], [3, 32.803, 32.739], [1, 122.102, 122.898], [0.5, 191.008, 198.424]], 1], '714.38'], ['partial repair probe 2', [[[3, 16.992, 17.666], [1.5, 29.107, 30.399]], 4], '23.66'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1, None, 65.868], [1, None, 158.33], [3, 137.696, 133.715], [1, None, 183.261], [3, 184.203, 177.685], [1, 12.225, 12.555]], 0.5], '2770.76'], ['normal control 2', [[[1.5, None, 195.364], [3, 35.52, 35.531], [3, None, 182.591], [1, 118.595, 114.601], [1, None, 89.404], [2, None, 177.317]], 4], '377.50'], ['normal control 3', [[[2, None, 141.271], [2, None, 51.704], [1.5, 118.603, 114.944], [1.5, None, 18.672], [0.5, 182.134, 178.819], [2, 109.121, 110.117]], 0.5], '1802.34']], [['regression settlement rounding mode 1', [[[1, 10.005, 10.0]], 1], '10.01'], ['regression settlement rounding mode 2', [[[2, None, 134.348], [2, 179.109, 175.897], [1, None, 180.728], [2, None, 183.384], [1, None, 67.915]], 1], '1242.33'], ['partial repair probe 1', [[[1, 20.57, 20.464], [1.5, None, 195.278], [1, 137.933, 133.006], [2, 62.689, 64.407], [1.5, 203.625, 195.427]], 2], '441.12'], ['partial repair probe 2', [[[3, None, 41.799], [0.5, 179.575, 174.157], [0.5, None, 197.224], [1.5, 136.723, 131.192], [3, 128.882, 127.245], [1, 128.205, 129.543]], 1.25], '826.99'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1.5, 34.383, 33.927], [3, 125.316, 122.465]], 1], '427.52'], ['normal control 2', [[[2, 49.349, 49.841], [0.5, 140.601, 143.116], [2, 184.11, 179.202], [3, 60.266, 57.754], [1, 114.722, 113.718], [0.5, None, 185.123]], 1.25], '740.24'], ['normal control 3', [[[3, 109.509, 112.946], [1.5, None, 101.147], [3, 46.464, 47.536], [3, 169.433, 173.369], [3, 203.86, 198.26], [1, 47.804, 46.611]], 2], '893.66']], [['regression settlement rounding mode 1', [[[1, None, 93.437], [3, 90.88, 87.107], [3, 90.113, 87.448], [0.5, None, 59.65], [1.5, 164.801, 171.303]], 0.5], '1826.89'], ['regression settlement rounding mode 2', [[[1.5, None, 76.278], [0.5, 161.218, 157.802], [0.5, 40.053, 38.771]], 0.5], '430.11'], ['partial repair probe 1', [[[0.5, 158.141, 153.244], [2, 104.453, 108.262], [0.5, None, 48.326], [0.5, 55.327, 55.896], [0.5, 44.353, 44.512]], 8], '45.25'], ['partial repair probe 2', [[[0.5, 86.657, 89.91], [1, 180.822, 176.79], [1, None, 42.087], [2, 103.599, 101.973], [1.5, 25.4, 24.938]], 2], '255.77'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1, 118.952, 118.389], [3, None, 15.777], [0.5, None, 84.309], [3, None, 68.185]], 8], '51.62'], ['normal control 2', [[[1.5, 168.828, 177.339], [2, None, 137.131], [2, 152.461, 147.559], [0.5, 157.875, 154.317]], 2], '455.68'], ['normal control 3', [[[3, 143.994, 147.851], [1.5, 22.199, 22.763]], 4], '116.32']], [['regression settlement rounding mode 1', [[[1.5, 24.361, 24.485], [0.5, 102.252, 102.627], [2, 103.332, 101.585], [2, 201.605, 193.274], [1.5, 122.313, 121.155], [1.5, 71.356, 69.738]], 1], '988.05'], ['regression settlement rounding mode 2', [[[2, 13.558, 13.914], [1.5, 71.539, 69.751], [1.5, 198.187, 191.804]], 1], '431.71'], ['partial repair probe 1', [[[1.5, 155.546, 153.219], [0.5, 88.243, 91.627], [1.5, 111.796, 115.767], [2, None, 154.621]], 8], '94.30'], ['partial repair probe 2', [[[3, 68.608, 68.091], [3, 191.25, 184.851], [0.5, None, 125.688]], 1], '842.42'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1.5, None, 35.672], [1, 40.044, 40.607]], 1], '93.55'], ['normal control 2', [[[1.5, 127.88, 124.218], [2, 119.029, 125.074], [1, None, 117.087]], 1.25], '437.57'], ['normal control 3', [[[3, 31.608, 32.348], [2, 84.454, 83.132], [1, 88.713, 93.316], [2, None, 172.34]], 2], '348.56']]]\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":"cc63874db2478d169eaad59922624197283b2d6b2b579dd1d45d105e9c3382a5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_DOWN\nN = 1\nobservations = []\ndef solve(components, divisor):\n    total = Decimal(0)\n    for w, op, close in components:\n        px = op if op is not None else close\n        total += Decimal(str(w)) * Decimal(str(px))\n    val = (total / Decimal(str(divisor))).quantize(Decimal('0.01'), rounding=ROUND_HALF_EVEN)\n    return str(val)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression settlement rounding mode 1', [[[1, 38.79, 40.378], [1.5, 186.655, 180.163], [0.5, 13.08, 12.643]], 0.5], '650.63'], ['regression settlement rounding mode 2', [[[1.5, 166.141, 161.691], [1.5, 118.467, 117.341], [3, 18.846, 19.774]], 2], '241.73'], ['partial repair probe 1', [[[0.5, None, 160.862], [1, 66.98, 65.82], [2, None, 182.096], [0.5, 33.672, 33.239]], 1], '528.44'], ['partial repair probe 2', [[[0.5, 193.605, 193.453], [1.5, 135.426, 135.553], [1, None, 85.835]], 2], '192.89'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[0.5, 20.415, 19.879], [1.5, 152.089, 157.637], [1.5, 106.795, 110.396], [1, None, 155.609]], 1], '554.14'], ['normal control 2', [[[0.5, 106.616, 109.753], [3, 182.574, 179.101], [1, 48.45, 47.519], [0.5, None, 27.452]], 2], '331.60'], ['normal control 3', [[[1, None, 169.547], [2, 176.066, 180.982], [1.5, 16.157, 16.833], [3, 46.697, 44.875], [3, None, 171.952], [1.5, 121.585, 121.726]], 1.25], '1107.39']], [['regression settlement rounding mode 1', [[[2, 191.853, 193.22], [3, None, 84.528]], 2], '318.65'], ['regression settlement rounding mode 2', [[[0.5, None, 47.039], [3, 172.439, 181.365], [2, None, 107.369], [2, 115.824, 116.814]], 0.5], '1974.45'], ['partial repair probe 1', [[[2, None, 168.281], [2, 30.899, 29.856], [3, 32.803, 32.739], [1, 122.102, 122.898], [0.5, 191.008, 198.424]], 1], '714.38'], ['partial repair probe 2', [[[3, 16.992, 17.666], [1.5, 29.107, 30.399]], 4], '23.66'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1, None, 65.868], [1, None, 158.33], [3, 137.696, 133.715], [1, None, 183.261], [3, 184.203, 177.685], [1, 12.225, 12.555]], 0.5], '2770.76'], ['normal control 2', [[[1.5, None, 195.364], [3, 35.52, 35.531], [3, None, 182.591], [1, 118.595, 114.601], [1, None, 89.404], [2, None, 177.317]], 4], '377.50'], ['normal control 3', [[[2, None, 141.271], [2, None, 51.704], [1.5, 118.603, 114.944], [1.5, None, 18.672], [0.5, 182.134, 178.819], [2, 109.121, 110.117]], 0.5], '1802.34']], [['regression settlement rounding mode 1', [[[1, 10.005, 10.0]], 1], '10.01'], ['regression settlement rounding mode 2', [[[2, None, 134.348], [2, 179.109, 175.897], [1, None, 180.728], [2, None, 183.384], [1, None, 67.915]], 1], '1242.33'], ['partial repair probe 1', [[[1, 20.57, 20.464], [1.5, None, 195.278], [1, 137.933, 133.006], [2, 62.689, 64.407], [1.5, 203.625, 195.427]], 2], '441.12'], ['partial repair probe 2', [[[3, None, 41.799], [0.5, 179.575, 174.157], [0.5, None, 197.224], [1.5, 136.723, 131.192], [3, 128.882, 127.245], [1, 128.205, 129.543]], 1.25], '826.99'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1.5, 34.383, 33.927], [3, 125.316, 122.465]], 1], '427.52'], ['normal control 2', [[[2, 49.349, 49.841], [0.5, 140.601, 143.116], [2, 184.11, 179.202], [3, 60.266, 57.754], [1, 114.722, 113.718], [0.5, None, 185.123]], 1.25], '740.24'], ['normal control 3', [[[3, 109.509, 112.946], [1.5, None, 101.147], [3, 46.464, 47.536], [3, 169.433, 173.369], [3, 203.86, 198.26], [1, 47.804, 46.611]], 2], '893.66']], [['regression settlement rounding mode 1', [[[1, None, 93.437], [3, 90.88, 87.107], [3, 90.113, 87.448], [0.5, None, 59.65], [1.5, 164.801, 171.303]], 0.5], '1826.89'], ['regression settlement rounding mode 2', [[[1.5, None, 76.278], [0.5, 161.218, 157.802], [0.5, 40.053, 38.771]], 0.5], '430.11'], ['partial repair probe 1', [[[0.5, 158.141, 153.244], [2, 104.453, 108.262], [0.5, None, 48.326], [0.5, 55.327, 55.896], [0.5, 44.353, 44.512]], 8], '45.25'], ['partial repair probe 2', [[[0.5, 86.657, 89.91], [1, 180.822, 176.79], [1, None, 42.087], [2, 103.599, 101.973], [1.5, 25.4, 24.938]], 2], '255.77'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1, 118.952, 118.389], [3, None, 15.777], [0.5, None, 84.309], [3, None, 68.185]], 8], '51.62'], ['normal control 2', [[[1.5, 168.828, 177.339], [2, None, 137.131], [2, 152.461, 147.559], [0.5, 157.875, 154.317]], 2], '455.68'], ['normal control 3', [[[3, 143.994, 147.851], [1.5, 22.199, 22.763]], 4], '116.32']], [['regression settlement rounding mode 1', [[[1.5, 24.361, 24.485], [0.5, 102.252, 102.627], [2, 103.332, 101.585], [2, 201.605, 193.274], [1.5, 122.313, 121.155], [1.5, 71.356, 69.738]], 1], '988.05'], ['regression settlement rounding mode 2', [[[2, 13.558, 13.914], [1.5, 71.539, 69.751], [1.5, 198.187, 191.804]], 1], '431.71'], ['partial repair probe 1', [[[1.5, 155.546, 153.219], [0.5, 88.243, 91.627], [1.5, 111.796, 115.767], [2, None, 154.621]], 8], '94.30'], ['partial repair probe 2', [[[3, 68.608, 68.091], [3, 191.25, 184.851], [0.5, None, 125.688]], 1], '842.42'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1.5, None, 35.672], [1, 40.044, 40.607]], 1], '93.55'], ['normal control 2', [[[1.5, 127.88, 124.218], [2, 119.029, 125.074], [1, None, 117.087]], 1.25], '437.57'], ['normal control 3', [[[3, 31.608, 32.348], [2, 84.454, 83.132], [1, 88.713, 93.316], [2, None, 172.34]], 2], '348.56']]]\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":"011d938e38465266bd89e34b834d719e435195139f7aee788e38b8fb4fa87b84","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_DOWN\nN = 1\nobservations = []\ndef solve(components, divisor):\n    total = Decimal(0)\n    for w, op, close in components:\n        px = op if op is not None else close\n        total += Decimal(str(w)) * Decimal(str(px))\n    val = (total / Decimal(str(divisor))).quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)\n    return str(val)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression settlement rounding mode 1', [[[1, 38.79, 40.378], [1.5, 186.655, 180.163], [0.5, 13.08, 12.643]], 0.5], '650.63'], ['regression settlement rounding mode 2', [[[1.5, 166.141, 161.691], [1.5, 118.467, 117.341], [3, 18.846, 19.774]], 2], '241.73'], ['partial repair probe 1', [[[0.5, None, 160.862], [1, 66.98, 65.82], [2, None, 182.096], [0.5, 33.672, 33.239]], 1], '528.44'], ['partial repair probe 2', [[[0.5, 193.605, 193.453], [1.5, 135.426, 135.553], [1, None, 85.835]], 2], '192.89'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[0.5, 20.415, 19.879], [1.5, 152.089, 157.637], [1.5, 106.795, 110.396], [1, None, 155.609]], 1], '554.14'], ['normal control 2', [[[0.5, 106.616, 109.753], [3, 182.574, 179.101], [1, 48.45, 47.519], [0.5, None, 27.452]], 2], '331.60'], ['normal control 3', [[[1, None, 169.547], [2, 176.066, 180.982], [1.5, 16.157, 16.833], [3, 46.697, 44.875], [3, None, 171.952], [1.5, 121.585, 121.726]], 1.25], '1107.39']], [['regression settlement rounding mode 1', [[[2, 191.853, 193.22], [3, None, 84.528]], 2], '318.65'], ['regression settlement rounding mode 2', [[[0.5, None, 47.039], [3, 172.439, 181.365], [2, None, 107.369], [2, 115.824, 116.814]], 0.5], '1974.45'], ['partial repair probe 1', [[[2, None, 168.281], [2, 30.899, 29.856], [3, 32.803, 32.739], [1, 122.102, 122.898], [0.5, 191.008, 198.424]], 1], '714.38'], ['partial repair probe 2', [[[3, 16.992, 17.666], [1.5, 29.107, 30.399]], 4], '23.66'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1, None, 65.868], [1, None, 158.33], [3, 137.696, 133.715], [1, None, 183.261], [3, 184.203, 177.685], [1, 12.225, 12.555]], 0.5], '2770.76'], ['normal control 2', [[[1.5, None, 195.364], [3, 35.52, 35.531], [3, None, 182.591], [1, 118.595, 114.601], [1, None, 89.404], [2, None, 177.317]], 4], '377.50'], ['normal control 3', [[[2, None, 141.271], [2, None, 51.704], [1.5, 118.603, 114.944], [1.5, None, 18.672], [0.5, 182.134, 178.819], [2, 109.121, 110.117]], 0.5], '1802.34']], [['regression settlement rounding mode 1', [[[1, 10.005, 10.0]], 1], '10.01'], ['regression settlement rounding mode 2', [[[2, None, 134.348], [2, 179.109, 175.897], [1, None, 180.728], [2, None, 183.384], [1, None, 67.915]], 1], '1242.33'], ['partial repair probe 1', [[[1, 20.57, 20.464], [1.5, None, 195.278], [1, 137.933, 133.006], [2, 62.689, 64.407], [1.5, 203.625, 195.427]], 2], '441.12'], ['partial repair probe 2', [[[3, None, 41.799], [0.5, 179.575, 174.157], [0.5, None, 197.224], [1.5, 136.723, 131.192], [3, 128.882, 127.245], [1, 128.205, 129.543]], 1.25], '826.99'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1.5, 34.383, 33.927], [3, 125.316, 122.465]], 1], '427.52'], ['normal control 2', [[[2, 49.349, 49.841], [0.5, 140.601, 143.116], [2, 184.11, 179.202], [3, 60.266, 57.754], [1, 114.722, 113.718], [0.5, None, 185.123]], 1.25], '740.24'], ['normal control 3', [[[3, 109.509, 112.946], [1.5, None, 101.147], [3, 46.464, 47.536], [3, 169.433, 173.369], [3, 203.86, 198.26], [1, 47.804, 46.611]], 2], '893.66']], [['regression settlement rounding mode 1', [[[1, None, 93.437], [3, 90.88, 87.107], [3, 90.113, 87.448], [0.5, None, 59.65], [1.5, 164.801, 171.303]], 0.5], '1826.89'], ['regression settlement rounding mode 2', [[[1.5, None, 76.278], [0.5, 161.218, 157.802], [0.5, 40.053, 38.771]], 0.5], '430.11'], ['partial repair probe 1', [[[0.5, 158.141, 153.244], [2, 104.453, 108.262], [0.5, None, 48.326], [0.5, 55.327, 55.896], [0.5, 44.353, 44.512]], 8], '45.25'], ['partial repair probe 2', [[[0.5, 86.657, 89.91], [1, 180.822, 176.79], [1, None, 42.087], [2, 103.599, 101.973], [1.5, 25.4, 24.938]], 2], '255.77'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1, 118.952, 118.389], [3, None, 15.777], [0.5, None, 84.309], [3, None, 68.185]], 8], '51.62'], ['normal control 2', [[[1.5, 168.828, 177.339], [2, None, 137.131], [2, 152.461, 147.559], [0.5, 157.875, 154.317]], 2], '455.68'], ['normal control 3', [[[3, 143.994, 147.851], [1.5, 22.199, 22.763]], 4], '116.32']], [['regression settlement rounding mode 1', [[[1.5, 24.361, 24.485], [0.5, 102.252, 102.627], [2, 103.332, 101.585], [2, 201.605, 193.274], [1.5, 122.313, 121.155], [1.5, 71.356, 69.738]], 1], '988.05'], ['regression settlement rounding mode 2', [[[2, 13.558, 13.914], [1.5, 71.539, 69.751], [1.5, 198.187, 191.804]], 1], '431.71'], ['partial repair probe 1', [[[1.5, 155.546, 153.219], [0.5, 88.243, 91.627], [1.5, 111.796, 115.767], [2, None, 154.621]], 8], '94.30'], ['partial repair probe 2', [[[3, 68.608, 68.091], [3, 191.25, 184.851], [0.5, None, 125.688]], 1], '842.42'], ['boundary control 1', [[[1, None, 10.0], [2, 5.0, 4.0]], 2], '10.00'], ['normal control 1', [[[1.5, None, 35.672], [1, 40.044, 40.607]], 1], '93.55'], ['normal control 2', [[[1.5, 127.88, 124.218], [2, 119.029, 125.074], [1, None, 117.087]], 1.25], '437.57'], ['normal control 3', [[[3, 31.608, 32.348], [2, 84.454, 83.132], [1, 88.713, 93.316], [2, None, 172.34]], 2], '348.56']]]\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-opening-settlement-value-settlement-rounding-mode","generated_at":"2026-09-29T14:46:56.509365+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":"Round half-up to cents.","root_cause":"The quantization uses banker's rounding.","sha256":"fa5a6108d2619c5dfe9135e758aa2dbac18c479d7c6d3498a2f1ec331d255f27","title":"Special opening settlement value for index options: half-cent settlement values round to even · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.229,"exit_code":1,"observations":[{"actual":"650.62","check":"regression settlement rounding mode 1","expected":"650.63","passed":false},{"actual":"241.72","check":"regression settlement rounding mode 2","expected":"241.73","passed":false},{"actual":"528.43","check":"partial repair probe 1","expected":"528.44","passed":false},{"actual":"192.88","check":"partial repair probe 2","expected":"192.89","passed":false},{"actual":"10.00","check":"boundary control 1","expected":"10.00","passed":true},{"actual":"554.14","check":"normal control 1","expected":"554.14","passed":true},{"actual":"331.60","check":"normal control 2","expected":"331.60","passed":true},{"actual":"1107.39","check":"normal control 3","expected":"1107.39","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression settlement rounding mode 1\", \"actual\": \"650.62\", \"expected\": \"650.63\", \"passed\": false}, {\"check\": \"regression settlement rounding mode 2\", \"actual\": \"241.72\", \"expected\": \"241.73\", \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": \"528.43\", \"expected\": \"528.44\", \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": \"192.88\", \"expected\": \"192.89\", \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": \"10.00\", \"expected\": \"10.00\", \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": \"554.14\", \"expected\": \"554.14\", \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": \"331.60\", \"expected\": \"331.60\", \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": \"1107.39\", \"expected\": \"1107.39\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.699,"exit_code":1,"observations":[{"actual":"650.62","check":"regression settlement rounding mode 1","expected":"650.63","passed":false},{"actual":"241.72","check":"regression settlement rounding mode 2","expected":"241.73","passed":false},{"actual":"528.44","check":"partial repair probe 1","expected":"528.44","passed":true},{"actual":"192.89","check":"partial repair probe 2","expected":"192.89","passed":true},{"actual":"10.00","check":"boundary control 1","expected":"10.00","passed":true},{"actual":"554.14","check":"normal control 1","expected":"554.14","passed":true},{"actual":"331.60","check":"normal control 2","expected":"331.60","passed":true},{"actual":"1107.39","check":"normal control 3","expected":"1107.39","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression settlement rounding mode 1\", \"actual\": \"650.62\", \"expected\": \"650.63\", \"passed\": false}, {\"check\": \"regression settlement rounding mode 2\", \"actual\": \"241.72\", \"expected\": \"241.73\", \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": \"528.44\", \"expected\": \"528.44\", \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": \"192.89\", \"expected\": \"192.89\", \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": \"10.00\", \"expected\": \"10.00\", \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": \"554.14\", \"expected\": \"554.14\", \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": \"331.60\", \"expected\": \"331.60\", \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": \"1107.39\", \"expected\": \"1107.39\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.076,"exit_code":0,"observations":[{"actual":"650.63","check":"regression settlement rounding mode 1","expected":"650.63","passed":true},{"actual":"241.73","check":"regression settlement rounding mode 2","expected":"241.73","passed":true},{"actual":"528.44","check":"partial repair probe 1","expected":"528.44","passed":true},{"actual":"192.89","check":"partial repair probe 2","expected":"192.89","passed":true},{"actual":"10.00","check":"boundary control 1","expected":"10.00","passed":true},{"actual":"554.14","check":"normal control 1","expected":"554.14","passed":true},{"actual":"331.60","check":"normal control 2","expected":"331.60","passed":true},{"actual":"1107.39","check":"normal control 3","expected":"1107.39","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression settlement rounding mode 1\", \"actual\": \"650.63\", \"expected\": \"650.63\", \"passed\": true}, {\"check\": \"regression settlement rounding mode 2\", \"actual\": \"241.73\", \"expected\": \"241.73\", \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": \"528.44\", \"expected\": \"528.44\", \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": \"192.89\", \"expected\": \"192.89\", \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": \"10.00\", \"expected\": \"10.00\", \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": \"554.14\", \"expected\": \"554.14\", \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": \"331.60\", \"expected\": \"331.60\", \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": \"1107.39\", \"expected\": \"1107.39\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}