{"abstract":"A 2.01 request is treated as a valid tick.","category":"Betting odds conversion","checks":8,"contract":"Signed tick distance from price a to price b on the ladder [(101, 200, 1), (200, 300, 2), (300, 400, 5), (400, 600, 10), (600, 1000, 20), (1000, 2000, 50), (2000, 3000, 100), (3000, 5000, 200), (5000, 10000, 500), (10000, 100001, 1000)] (hundredths). Prices must be within 1.01..1000 (\"invalid\") and exactly on a tick (\"off ladder\"). Tick index counts all ticks of lower bands ((hi - lo) / step each) plus (v - lo) / step within the band. Return index(b) - index(a).","contract_signature":"a, b","evaluation_group":"w2-odds-conversion-exchange-tick-distance","failed_approach":"Rounding to the nearest tick index still accepts invalid prices.","family":"w2-odds-conversion-exchange-tick-distance-off-ladder-detection","id":"FA-84616","implementations":{"attempt":{"sha256":"ec5573e14fe26b32ebb627a8d2d48f5c8b092a3c6070f3014e69dcd27468dc70","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(a, b):\n    BANDS = [(101, 200, 1), (200, 300, 2), (300, 400, 5), (400, 600, 10), (600, 1000, 20), (1000, 2000, 50), (2000, 3000, 100), (3000, 5000, 200), (5000, 10000, 500), (10000, 100001, 1000)]\n    def index(v):\n        n = 0\n        for lo, hi, step in BANDS:\n            if v >= hi:\n                n += (hi - lo) // step\n            else:\n                return n + round((v - lo) / step)\n        return None\n    out = []\n    for p in (a, b):\n        c = Fraction(p) * 100\n        if c.denominator != 1 or c < 101 or c > 100000:\n            return 'invalid'\n        i = index(int(c))\n        if i is None:\n            return 'off ladder'\n        out.append(i)\n    return out[1] - out[0]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('2.01', '5.50'), 'off ladder'),\n  ('variant scenario 1', ('29.00', '10.00'), -29),\n  ('variant scenario 2', ('12.00', '160.00'), 52)],\n [('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('55.00', '11.01'), 'off ladder'),\n  ('variant scenario 1', ('2.18', '2.72'), 27),\n  ('variant scenario 2', ('190.00', '3.20'), -115)],\n [('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('5.51', '1.61'), 'off ladder'),\n  ('variant scenario 1', ('1.57', '13.00'), 159),\n  ('variant scenario 2', ('2.84', '3.50'), 18)],\n [('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('4.41', '4.00'), 'off ladder'),\n  ('variant scenario 1', ('6.20', '13.00'), 25),\n  ('variant scenario 2', ('80.00', '15.50'), -35)],\n [('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('5.91', '20.00'), 'off ladder'),\n  ('variant scenario 1', ('16.50', '1.41'), -182),\n  ('variant scenario 2', ('10.00', '2.32'), -94)]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"09f990f2140586e406657c0102dae059455a578c97f5b304feafc7651f43a0c1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(a, b):\n    BANDS = [(101, 200, 1), (200, 300, 2), (300, 400, 5), (400, 600, 10), (600, 1000, 20), (1000, 2000, 50), (2000, 3000, 100), (3000, 5000, 200), (5000, 10000, 500), (10000, 100001, 1000)]\n    def index(v):\n        n = 0\n        for lo, hi, step in BANDS:\n            if v >= hi:\n                n += (hi - lo) // step\n            else:\n                return n + (v - lo) // step\n        return None\n    out = []\n    for p in (a, b):\n        c = Fraction(p) * 100\n        if c.denominator != 1 or c < 101 or c > 100000:\n            return 'invalid'\n        i = index(int(c))\n        if i is None:\n            return 'off ladder'\n        out.append(i)\n    return out[1] - out[0]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('2.01', '5.50'), 'off ladder'),\n  ('variant scenario 1', ('29.00', '10.00'), -29),\n  ('variant scenario 2', ('12.00', '160.00'), 52)],\n [('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('55.00', '11.01'), 'off ladder'),\n  ('variant scenario 1', ('2.18', '2.72'), 27),\n  ('variant scenario 2', ('190.00', '3.20'), -115)],\n [('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('5.51', '1.61'), 'off ladder'),\n  ('variant scenario 1', ('1.57', '13.00'), 159),\n  ('variant scenario 2', ('2.84', '3.50'), 18)],\n [('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('4.41', '4.00'), 'off ladder'),\n  ('variant scenario 1', ('6.20', '13.00'), 25),\n  ('variant scenario 2', ('80.00', '15.50'), -35)],\n [('control within band', ('1.50', '1.60'), 10),\n  ('boundary crossing two', ('1.98', '2.04'), 4),\n  ('control downward move', ('3.10', '2.90'), -7),\n  ('boundary off ladder', ('2.01', '2.50'), 'off ladder'),\n  ('control full ladder', ('1.01', '1000'), 349),\n  ('regression: off ladder detection', ('5.91', '20.00'), 'off ladder'),\n  ('variant scenario 1', ('16.50', '1.41'), -182),\n  ('variant scenario 2', ('10.00', '2.32'), -94)]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"Stipulated, bounded toy contract stated in the contract field; not a claim of conformance with any operator, exchange or regulator rule set. 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-odds-conversion-exchange-tick-distance-off-ladder-detection","generated_at":"2026-09-29T14:50:32.594443+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Trading bots express stop-loss and offset orders as tick counts across ladder bands.","root_cause":"The within-band remainder is never checked.","sha256":"bd33ebeb826bb5d4026c41a85dec4636cf552ade871e5d3e2c0d22ba30d4be9d","title":"Off-ladder prices silently snapped · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":46.596,"exit_code":1,"observations":[{"actual":10,"check":"control within band","expected":10,"passed":true},{"actual":4,"check":"boundary crossing two","expected":4,"passed":true},{"actual":-7,"check":"control downward move","expected":-7,"passed":true},{"actual":25,"check":"boundary off ladder","expected":"off ladder","passed":false},{"actual":349,"check":"control full ladder","expected":349,"passed":true},{"actual":85,"check":"regression: off ladder detection","expected":"off ladder","passed":false},{"actual":-29,"check":"variant scenario 1","expected":-29,"passed":true},{"actual":52,"check":"variant scenario 2","expected":52,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control within band\", \"actual\": 10, \"expected\": 10, \"passed\": true}, {\"check\": \"boundary crossing two\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"control downward move\", \"actual\": -7, \"expected\": -7, \"passed\": true}, {\"check\": \"boundary off ladder\", \"actual\": 25, \"expected\": \"off ladder\", \"passed\": false}, {\"check\": \"control full ladder\", \"actual\": 349, \"expected\": 349, \"passed\": true}, {\"check\": \"regression: off ladder detection\", \"actual\": 85, \"expected\": \"off ladder\", \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": -29, \"expected\": -29, \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": 52, \"expected\": 52, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.588,"exit_code":1,"observations":[{"actual":10,"check":"control within band","expected":10,"passed":true},{"actual":4,"check":"boundary crossing two","expected":4,"passed":true},{"actual":-7,"check":"control downward move","expected":-7,"passed":true},{"actual":25,"check":"boundary off ladder","expected":"off ladder","passed":false},{"actual":349,"check":"control full ladder","expected":349,"passed":true},{"actual":85,"check":"regression: off ladder detection","expected":"off ladder","passed":false},{"actual":-29,"check":"variant scenario 1","expected":-29,"passed":true},{"actual":52,"check":"variant scenario 2","expected":52,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control within band\", \"actual\": 10, \"expected\": 10, \"passed\": true}, {\"check\": \"boundary crossing two\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"control downward move\", \"actual\": -7, \"expected\": -7, \"passed\": true}, {\"check\": \"boundary off ladder\", \"actual\": 25, \"expected\": \"off ladder\", \"passed\": false}, {\"check\": \"control full ladder\", \"actual\": 349, \"expected\": 349, \"passed\": true}, {\"check\": \"regression: off ladder detection\", \"actual\": 85, \"expected\": \"off ladder\", \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": -29, \"expected\": -29, \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": 52, \"expected\": 52, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}