{"abstract":"A price exactly between 11/4 and 3/1 displays as 3/1.","category":"Betting odds conversion","checks":9,"contract":"Display a decimal price (> 1, else \"invalid\") as the nearest traditional fraction from the ascending ladder ['1/10', '1/8', '1/5', '2/9', '1/4', '2/7', '1/3', '4/11', '2/5', '4/9', '1/2', '8/15', '4/7', '8/13', '4/6', '8/11', '4/5', '5/6', '10/11', 'evens', '11/10', '6/5', '5/4', '11/8', '6/4', '13/8', '7/4', '15/8', '2/1', '9/4', '5/2', '11/4', '3/1', '10/3', '7/2', '4/1', '9/2', '5/1', '11/2', '6/1', '13/2', '7/1', '15/2', '8/1', '17/2', '9/1', '10/1', '11/1', '12/1', '14/1', '16/1', '18/1', '20/1', '25/1', '33/1', '40/1', '50/1', '66/1', '100/1']. Distance is |fraction value - (d - 1)| with \"evens\" = 1; ties go to the earlier (shorter) ladder entry. Return the ladder string.","contract_signature":"decimal","evaluation_group":"w2-odds-conversion-traditional-fraction-display","failed_approach":"Preferring the shorter string on ties is not the stated rule.","family":"w2-odds-conversion-traditional-fraction-display-tie-direction","id":"FA-84636","implementations":{"attempt":{"sha256":"b12d219990b871de43b0774f828f21cf5e45192e279b897dd9dea5225e346da3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(decimal):\n    LADDER = ['1/10', '1/8', '1/5', '2/9', '1/4', '2/7', '1/3', '4/11', '2/5', '4/9', '1/2', '8/15', '4/7', '8/13', '4/6', '8/11', '4/5', '5/6', '10/11', 'evens', '11/10', '6/5', '5/4', '11/8', '6/4', '13/8', '7/4', '15/8', '2/1', '9/4', '5/2', '11/4', '3/1', '10/3', '7/2', '4/1', '9/2', '5/1', '11/2', '6/1', '13/2', '7/1', '15/2', '8/1', '17/2', '9/1', '10/1', '11/1', '12/1', '14/1', '16/1', '18/1', '20/1', '25/1', '33/1', '40/1', '50/1', '66/1', '100/1']\n    def val(s):\n        return Fraction(1) if s == 'evens' else Fraction(s)\n    d = Fraction(decimal)\n    if d <= 1:\n        return 'invalid'\n    target = d - 1\n    best = None\n    for s in LADDER:\n        dist = abs(val(s) - target)\n        if best is None or dist < best[0] or (dist == best[0] and len(s) < len(best[1])):\n            best = (dist, s)\n    return best[1]\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 exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('108.0',), '100/1'),\n  ('variant scenario 2', ('106.8',), '100/1')],\n [('control exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('1.528',), '8/15'),\n  ('variant scenario 2', ('2.125',), '11/10')],\n [('control exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('2.26',), '5/4'),\n  ('variant scenario 2', ('7.86',), '7/1')],\n [('control exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('2.125',), '11/10'),\n  ('variant scenario 2', ('51.4',), '50/1')],\n [('control exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('1.910',), '10/11'),\n  ('variant scenario 2', ('10.61',), '10/1')]]\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":"5a4729b1cb58ac1a4955141a5ea8f1afacd4d2dd100b0df04765d5449bd7c69a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(decimal):\n    LADDER = ['1/10', '1/8', '1/5', '2/9', '1/4', '2/7', '1/3', '4/11', '2/5', '4/9', '1/2', '8/15', '4/7', '8/13', '4/6', '8/11', '4/5', '5/6', '10/11', 'evens', '11/10', '6/5', '5/4', '11/8', '6/4', '13/8', '7/4', '15/8', '2/1', '9/4', '5/2', '11/4', '3/1', '10/3', '7/2', '4/1', '9/2', '5/1', '11/2', '6/1', '13/2', '7/1', '15/2', '8/1', '17/2', '9/1', '10/1', '11/1', '12/1', '14/1', '16/1', '18/1', '20/1', '25/1', '33/1', '40/1', '50/1', '66/1', '100/1']\n    def val(s):\n        return Fraction(1) if s == 'evens' else Fraction(s)\n    d = Fraction(decimal)\n    if d <= 1:\n        return 'invalid'\n    target = d - 1\n    best = None\n    for s in LADDER:\n        dist = abs(val(s) - target)\n        if best is None or dist <= best[0]:\n            best = (dist, s)\n    return best[1]\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 exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('108.0',), '100/1'),\n  ('variant scenario 2', ('106.8',), '100/1')],\n [('control exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('1.528',), '8/15'),\n  ('variant scenario 2', ('2.125',), '11/10')],\n [('control exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('2.26',), '5/4'),\n  ('variant scenario 2', ('7.86',), '7/1')],\n [('control exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('2.125',), '11/10'),\n  ('variant scenario 2', ('51.4',), '50/1')],\n [('control exact fraction', ('3.50',), '5/2'),\n  ('control evens', ('2.00',), 'evens'),\n  ('boundary odds-on', ('1.67',), '4/6'),\n  ('boundary midpoint tie', ('3.875',), '11/4'),\n  ('control long shot', ('120.0',), '100/1'),\n  ('boundary no-profit price', ('1.00',), 'invalid'),\n  ('regression: tie direction', ('3.875',), '11/4'),\n  ('variant scenario 1', ('1.910',), '10/11'),\n  ('variant scenario 2', ('10.61',), '10/1')]]\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-traditional-fraction-display-tie-direction","generated_at":"2026-09-29T14:50:32.787475+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"UK-facing sites display decimal model prices as familiar traditional fractions.","root_cause":"The comparison uses <= so later ladder entries win ties.","sha256":"09c7fc007729fbf912c289a47187fbb98e5439623210f1a1070f6d5353035016","title":"Midpoint prices resolved to the longer fraction · 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":42.671,"exit_code":1,"observations":[{"actual":"5/2","check":"control exact fraction","expected":"5/2","passed":true},{"actual":"evens","check":"control evens","expected":"evens","passed":true},{"actual":"4/6","check":"boundary odds-on","expected":"4/6","passed":true},{"actual":"3/1","check":"boundary midpoint tie","expected":"11/4","passed":false},{"actual":"100/1","check":"control long shot","expected":"100/1","passed":true},{"actual":"invalid","check":"boundary no-profit price","expected":"invalid","passed":true},{"actual":"3/1","check":"regression: tie direction","expected":"11/4","passed":false},{"actual":"100/1","check":"variant scenario 1","expected":"100/1","passed":true},{"actual":"100/1","check":"variant scenario 2","expected":"100/1","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control exact fraction\", \"actual\": \"5/2\", \"expected\": \"5/2\", \"passed\": true}, {\"check\": \"control evens\", \"actual\": \"evens\", \"expected\": \"evens\", \"passed\": true}, {\"check\": \"boundary odds-on\", \"actual\": \"4/6\", \"expected\": \"4/6\", \"passed\": true}, {\"check\": \"boundary midpoint tie\", \"actual\": \"3/1\", \"expected\": \"11/4\", \"passed\": false}, {\"check\": \"control long shot\", \"actual\": \"100/1\", \"expected\": \"100/1\", \"passed\": true}, {\"check\": \"boundary no-profit price\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"regression: tie direction\", \"actual\": \"3/1\", \"expected\": \"11/4\", \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": \"100/1\", \"expected\": \"100/1\", \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": \"100/1\", \"expected\": \"100/1\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.096,"exit_code":1,"observations":[{"actual":"5/2","check":"control exact fraction","expected":"5/2","passed":true},{"actual":"evens","check":"control evens","expected":"evens","passed":true},{"actual":"4/6","check":"boundary odds-on","expected":"4/6","passed":true},{"actual":"3/1","check":"boundary midpoint tie","expected":"11/4","passed":false},{"actual":"100/1","check":"control long shot","expected":"100/1","passed":true},{"actual":"invalid","check":"boundary no-profit price","expected":"invalid","passed":true},{"actual":"3/1","check":"regression: tie direction","expected":"11/4","passed":false},{"actual":"100/1","check":"variant scenario 1","expected":"100/1","passed":true},{"actual":"100/1","check":"variant scenario 2","expected":"100/1","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control exact fraction\", \"actual\": \"5/2\", \"expected\": \"5/2\", \"passed\": true}, {\"check\": \"control evens\", \"actual\": \"evens\", \"expected\": \"evens\", \"passed\": true}, {\"check\": \"boundary odds-on\", \"actual\": \"4/6\", \"expected\": \"4/6\", \"passed\": true}, {\"check\": \"boundary midpoint tie\", \"actual\": \"3/1\", \"expected\": \"11/4\", \"passed\": false}, {\"check\": \"control long shot\", \"actual\": \"100/1\", \"expected\": \"100/1\", \"passed\": true}, {\"check\": \"boundary no-profit price\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"regression: tie direction\", \"actual\": \"3/1\", \"expected\": \"11/4\", \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": \"100/1\", \"expected\": \"100/1\", \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": \"100/1\", \"expected\": \"100/1\", \"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."}}