{"abstract":"Almost every order is priced on the large tick.","category":"Options payoff and settlement","checks":8,"contract":"Inputs a limit price (up to 3 decimals), side and penny-program flag. Work in mills. Below 3.000 the tick is 0.01 for penny classes and 0.05 otherwise; at or above 3.000 it is 0.05 for penny classes and 0.10 otherwise. Buy orders round down to a tick, sell orders round up; prices already on a tick are unchanged. Return the price as a float.","evaluation_group":"w2-options_payoff_and_settlement-premium-tick-rounding","failed_approach":"Scaling the threshold to 30000 puts every realistic price on the small tick.","family":"w2-options_payoff_and_settlement-premium-tick-rounding-tick-threshold-units","id":"FA-61821","implementations":{"attempt":{"sha256":"8d3e38bfe184b68446c88b6107c6a0c61e9bcc4428543080af334a0822ebc90d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(price, side, penny):\n    m = round(price * 1000)\n    small = m < 30000\n    tick = (10 if penny else 50) if small else (50 if penny else 100)\n    if side == 'buy':\n        out = m // tick * tick\n    else:\n        out = -(-m // tick) * tick\n    return out / 1000\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression tick threshold units 1', [0.549, 'buy', True], 0.54], ['regression tick threshold units 2', [1.242, 'buy', True], 1.24], ['partial repair probe 1', [3.075, 'buy', True], 3.05], ['partial repair probe 2', [4.125, 'sell', True], 4.15], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [2.995, 'sell', False], 3.0], ['normal control 2', [3.002, 'buy', True], 3.0], ['normal control 3', [1.255, 'sell', False], 1.3]], [['regression tick threshold units 1', [1.28, 'buy', True], 1.28], ['regression tick threshold units 2', [1.242, 'buy', True], 1.24], ['partial repair probe 1', [3.14, 'sell', True], 3.15], ['partial repair probe 2', [4.149, 'sell', False], 4.2], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [12.389, 'sell', False], 12.4], ['normal control 2', [3.05, 'sell', True], 3.05], ['normal control 3', [0.549, 'sell', True], 0.55]], [['regression tick threshold units 1', [2.99, 'sell', True], 2.99], ['regression tick threshold units 2', [1.28, 'buy', True], 1.28], ['partial repair probe 1', [3.002, 'sell', True], 3.05], ['partial repair probe 2', [3.039, 'sell', True], 3.05], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [3.049, 'sell', True], 3.05], ['normal control 2', [3.0, 'sell', True], 3.0], ['normal control 3', [1.242, 'sell', True], 1.25]], [['regression tick threshold units 1', [1.231, 'sell', True], 1.24], ['regression tick threshold units 2', [2.954, 'buy', False], 2.95], ['partial repair probe 1', [12.39, 'sell', True], 12.4], ['partial repair probe 2', [12.37, 'buy', False], 12.3], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [0.549, 'sell', True], 0.55], ['normal control 2', [3.1, 'sell', False], 3.1], ['normal control 3', [3.1, 'sell', True], 3.1]], [['regression tick threshold units 1', [0.504, 'sell', False], 0.55], ['regression tick threshold units 2', [2.995, 'buy', True], 2.99], ['partial repair probe 1', [3.082, 'buy', True], 3.05], ['partial repair probe 2', [4.17, 'sell', True], 4.2], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [4.104, 'buy', False], 4.1], ['normal control 2', [1.255, 'buy', True], 1.25], ['normal control 3', [3.12, 'buy', False], 3.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":"605b0051416adc413fd043e885f9191a61855fd2057467f8520d297b846bbf62","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(price, side, penny):\n    m = round(price * 1000)\n    small = m < 300\n    tick = (10 if penny else 50) if small else (50 if penny else 100)\n    if side == 'buy':\n        out = m // tick * tick\n    else:\n        out = -(-m // tick) * tick\n    return out / 1000\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression tick threshold units 1', [0.549, 'buy', True], 0.54], ['regression tick threshold units 2', [1.242, 'buy', True], 1.24], ['partial repair probe 1', [3.075, 'buy', True], 3.05], ['partial repair probe 2', [4.125, 'sell', True], 4.15], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [2.995, 'sell', False], 3.0], ['normal control 2', [3.002, 'buy', True], 3.0], ['normal control 3', [1.255, 'sell', False], 1.3]], [['regression tick threshold units 1', [1.28, 'buy', True], 1.28], ['regression tick threshold units 2', [1.242, 'buy', True], 1.24], ['partial repair probe 1', [3.14, 'sell', True], 3.15], ['partial repair probe 2', [4.149, 'sell', False], 4.2], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [12.389, 'sell', False], 12.4], ['normal control 2', [3.05, 'sell', True], 3.05], ['normal control 3', [0.549, 'sell', True], 0.55]], [['regression tick threshold units 1', [2.99, 'sell', True], 2.99], ['regression tick threshold units 2', [1.28, 'buy', True], 1.28], ['partial repair probe 1', [3.002, 'sell', True], 3.05], ['partial repair probe 2', [3.039, 'sell', True], 3.05], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [3.049, 'sell', True], 3.05], ['normal control 2', [3.0, 'sell', True], 3.0], ['normal control 3', [1.242, 'sell', True], 1.25]], [['regression tick threshold units 1', [1.231, 'sell', True], 1.24], ['regression tick threshold units 2', [2.954, 'buy', False], 2.95], ['partial repair probe 1', [12.39, 'sell', True], 12.4], ['partial repair probe 2', [12.37, 'buy', False], 12.3], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [0.549, 'sell', True], 0.55], ['normal control 2', [3.1, 'sell', False], 3.1], ['normal control 3', [3.1, 'sell', True], 3.1]], [['regression tick threshold units 1', [0.504, 'sell', False], 0.55], ['regression tick threshold units 2', [2.995, 'buy', True], 2.99], ['partial repair probe 1', [3.082, 'buy', True], 3.05], ['partial repair probe 2', [4.17, 'sell', True], 4.2], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [4.104, 'buy', False], 4.1], ['normal control 2', [1.255, 'buy', True], 1.25], ['normal control 3', [3.12, 'buy', False], 3.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":"e56c1524aa3cf778c320465cf9c93caf19a6878052c8bb8f757a90abcf27a1d2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(price, side, penny):\n    m = round(price * 1000)\n    small = m < 3000\n    tick = (10 if penny else 50) if small else (50 if penny else 100)\n    if side == 'buy':\n        out = m // tick * tick\n    else:\n        out = -(-m // tick) * tick\n    return out / 1000\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression tick threshold units 1', [0.549, 'buy', True], 0.54], ['regression tick threshold units 2', [1.242, 'buy', True], 1.24], ['partial repair probe 1', [3.075, 'buy', True], 3.05], ['partial repair probe 2', [4.125, 'sell', True], 4.15], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [2.995, 'sell', False], 3.0], ['normal control 2', [3.002, 'buy', True], 3.0], ['normal control 3', [1.255, 'sell', False], 1.3]], [['regression tick threshold units 1', [1.28, 'buy', True], 1.28], ['regression tick threshold units 2', [1.242, 'buy', True], 1.24], ['partial repair probe 1', [3.14, 'sell', True], 3.15], ['partial repair probe 2', [4.149, 'sell', False], 4.2], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [12.389, 'sell', False], 12.4], ['normal control 2', [3.05, 'sell', True], 3.05], ['normal control 3', [0.549, 'sell', True], 0.55]], [['regression tick threshold units 1', [2.99, 'sell', True], 2.99], ['regression tick threshold units 2', [1.28, 'buy', True], 1.28], ['partial repair probe 1', [3.002, 'sell', True], 3.05], ['partial repair probe 2', [3.039, 'sell', True], 3.05], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [3.049, 'sell', True], 3.05], ['normal control 2', [3.0, 'sell', True], 3.0], ['normal control 3', [1.242, 'sell', True], 1.25]], [['regression tick threshold units 1', [1.231, 'sell', True], 1.24], ['regression tick threshold units 2', [2.954, 'buy', False], 2.95], ['partial repair probe 1', [12.39, 'sell', True], 12.4], ['partial repair probe 2', [12.37, 'buy', False], 12.3], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [0.549, 'sell', True], 0.55], ['normal control 2', [3.1, 'sell', False], 3.1], ['normal control 3', [3.1, 'sell', True], 3.1]], [['regression tick threshold units 1', [0.504, 'sell', False], 0.55], ['regression tick threshold units 2', [2.995, 'buy', True], 2.99], ['partial repair probe 1', [3.082, 'buy', True], 3.05], ['partial repair probe 2', [4.17, 'sell', True], 4.2], ['boundary control 1', [3.0, 'buy', False], 3.0], ['normal control 1', [4.104, 'buy', False], 4.1], ['normal control 2', [1.255, 'buy', True], 1.25], ['normal control 3', [3.12, 'buy', False], 3.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-premium-tick-rounding-tick-threshold-units","generated_at":"2026-09-29T14:46:58.782341+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":"Compare the price in mills against 3000.","root_cause":"The threshold constant 300 is compared against a price in mills.","sha256":"6f34591eb34afeb552e55175d8321b48c6d897a67ed8901b3ccedb0e306a9300","title":"Option order price tick rounding: the 3.00 threshold is expressed in cents while prices are in mills · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.002,"exit_code":1,"observations":[{"actual":0.54,"check":"regression tick threshold units 1","expected":0.54,"passed":true},{"actual":1.24,"check":"regression tick threshold units 2","expected":1.24,"passed":true},{"actual":3.07,"check":"partial repair probe 1","expected":3.05,"passed":false},{"actual":4.13,"check":"partial repair probe 2","expected":4.15,"passed":false},{"actual":3.0,"check":"boundary control 1","expected":3.0,"passed":true},{"actual":3.0,"check":"normal control 1","expected":3.0,"passed":true},{"actual":3.0,"check":"normal control 2","expected":3.0,"passed":true},{"actual":1.3,"check":"normal control 3","expected":1.3,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression tick threshold units 1\", \"actual\": 0.54, \"expected\": 0.54, \"passed\": true}, {\"check\": \"regression tick threshold units 2\", \"actual\": 1.24, \"expected\": 1.24, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": 3.07, \"expected\": 3.05, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": 4.13, \"expected\": 4.15, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 1.3, \"expected\": 1.3, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.966,"exit_code":1,"observations":[{"actual":0.5,"check":"regression tick threshold units 1","expected":0.54,"passed":false},{"actual":1.2,"check":"regression tick threshold units 2","expected":1.24,"passed":false},{"actual":3.05,"check":"partial repair probe 1","expected":3.05,"passed":true},{"actual":4.15,"check":"partial repair probe 2","expected":4.15,"passed":true},{"actual":3.0,"check":"boundary control 1","expected":3.0,"passed":true},{"actual":3.0,"check":"normal control 1","expected":3.0,"passed":true},{"actual":3.0,"check":"normal control 2","expected":3.0,"passed":true},{"actual":1.3,"check":"normal control 3","expected":1.3,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression tick threshold units 1\", \"actual\": 0.5, \"expected\": 0.54, \"passed\": false}, {\"check\": \"regression tick threshold units 2\", \"actual\": 1.2, \"expected\": 1.24, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 3.05, \"expected\": 3.05, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 4.15, \"expected\": 4.15, \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 1.3, \"expected\": 1.3, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.893,"exit_code":0,"observations":[{"actual":0.54,"check":"regression tick threshold units 1","expected":0.54,"passed":true},{"actual":1.24,"check":"regression tick threshold units 2","expected":1.24,"passed":true},{"actual":3.05,"check":"partial repair probe 1","expected":3.05,"passed":true},{"actual":4.15,"check":"partial repair probe 2","expected":4.15,"passed":true},{"actual":3.0,"check":"boundary control 1","expected":3.0,"passed":true},{"actual":3.0,"check":"normal control 1","expected":3.0,"passed":true},{"actual":3.0,"check":"normal control 2","expected":3.0,"passed":true},{"actual":1.3,"check":"normal control 3","expected":1.3,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression tick threshold units 1\", \"actual\": 0.54, \"expected\": 0.54, \"passed\": true}, {\"check\": \"regression tick threshold units 2\", \"actual\": 1.24, \"expected\": 1.24, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": 3.05, \"expected\": 3.05, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 4.15, \"expected\": 4.15, \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 3.0, \"expected\": 3.0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 1.3, \"expected\": 1.3, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}