{"abstract":"Every jump scores zero or is off by a point after conversion.","category":"Sports scoring and tiebreakers","checks":10,"contract":"Combined-events points. Coefficients (A, B, C, kind): 100m (25.4347, 18, 1.81, track), 400m (1.53775, 82, 1.81, track), 1500m (0.03768, 480, 1.85, track), long_jump (0.14354, 220, 1.4, jump), high_jump (0.8465, 75, 1.42, jump), shot_put (51.39, 1.5, 1.05, throw). Track performances are seconds, 1500m as \"m:ss.hh\"; jumps are given in metres but scored in whole centimetres (rounded); throws in metres. Track points = floor(A * (B - P) ** C), field points = floor(A * (P - B) ** C); a non-positive base scores 0.","evaluation_group":"w2-sports-scoring-decathlon-points-table","failed_approach":"Truncating p * 100 turns 2.01 m into 200 cm because of binary floating point.","family":"w2-sports-scoring-decathlon-points-table-jump-centimetres","id":"FA-84311","implementations":{"attempt":{"sha256":"0657d844a6f29b54a591c36624208348fc7ca0c5b5fe8581a0116ab7a7416c71","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(event, perf):\n    TABLE = {'100m': (25.4347, 18, 1.81, 'track'), '400m': (1.53775, 82, 1.81, 'track'),\n             '1500m': (0.03768, 480, 1.85, 'track'), 'long_jump': (0.14354, 220, 1.4, 'jump'),\n             'high_jump': (0.8465, 75, 1.42, 'jump'), 'shot_put': (51.39, 1.5, 1.05, 'throw')}\n    A, B, C, kind = TABLE[event]\n    if kind == 'track':\n        if ':' in perf:\n            m, s = perf.split(':')\n            p = int(m) * 60 + float(s)\n        else:\n            p = float(perf)\n        base = B - p\n    else:\n        p = float(perf)\n        if kind == 'jump':\n            p = int(p * 100)\n        base = p - B\n    if base <= 0:\n        return 0\n    return int(math.floor(A * base ** C))\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 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.96'), 767),\n  ('regression: jump centimetres', ('long_jump', '4.77'), 339),\n  ('variant scenario 1', ('400m', '56.96'), 522),\n  ('variant scenario 2', ('shot_put', '13.92'), 723)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.87'), 687),\n  ('regression: jump centimetres', ('high_jump', '2.03'), 831),\n  ('variant scenario 1', ('1500m', '4:51.27'), 611),\n  ('variant scenario 2', ('100m', '11.99'), 653)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.83'), 653),\n  ('regression: jump centimetres', ('high_jump', '2.07'), 868),\n  ('variant scenario 1', ('400m', '59.82'), 419),\n  ('variant scenario 2', ('100m', '12.37'), 580)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('long_jump', '5.64'), 510),\n  ('regression: jump centimetres', ('long_jump', '4.02'), 209),\n  ('variant scenario 1', ('shot_put', '12.10'), 612),\n  ('variant scenario 2', ('high_jump', '1.75'), 585)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.76'), 593),\n  ('regression: jump centimetres', ('high_jump', '2.01'), 813),\n  ('variant scenario 1', ('400m', '51.67'), 739),\n  ('variant scenario 2', ('high_jump', '2.18'), 973)]]\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":"1fe23fa40a47cc22be5a91e5f4a0675ad0959d587aba2c19fb3d35464a4b7c23","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(event, perf):\n    TABLE = {'100m': (25.4347, 18, 1.81, 'track'), '400m': (1.53775, 82, 1.81, 'track'),\n             '1500m': (0.03768, 480, 1.85, 'track'), 'long_jump': (0.14354, 220, 1.4, 'jump'),\n             'high_jump': (0.8465, 75, 1.42, 'jump'), 'shot_put': (51.39, 1.5, 1.05, 'throw')}\n    A, B, C, kind = TABLE[event]\n    if kind == 'track':\n        if ':' in perf:\n            m, s = perf.split(':')\n            p = int(m) * 60 + float(s)\n        else:\n            p = float(perf)\n        base = B - p\n    else:\n        p = float(perf)\n        if kind == 'jump':\n            p = p\n        base = p - B\n    if base <= 0:\n        return 0\n    return int(math.floor(A * base ** C))\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 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.96'), 767),\n  ('regression: jump centimetres', ('long_jump', '4.77'), 339),\n  ('variant scenario 1', ('400m', '56.96'), 522),\n  ('variant scenario 2', ('shot_put', '13.92'), 723)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.87'), 687),\n  ('regression: jump centimetres', ('high_jump', '2.03'), 831),\n  ('variant scenario 1', ('1500m', '4:51.27'), 611),\n  ('variant scenario 2', ('100m', '11.99'), 653)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.83'), 653),\n  ('regression: jump centimetres', ('high_jump', '2.07'), 868),\n  ('variant scenario 1', ('400m', '59.82'), 419),\n  ('variant scenario 2', ('100m', '12.37'), 580)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('long_jump', '5.64'), 510),\n  ('regression: jump centimetres', ('long_jump', '4.02'), 209),\n  ('variant scenario 1', ('shot_put', '12.10'), 612),\n  ('variant scenario 2', ('high_jump', '1.75'), 585)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.76'), 593),\n  ('regression: jump centimetres', ('high_jump', '2.01'), 813),\n  ('variant scenario 1', ('400m', '51.67'), 739),\n  ('variant scenario 2', ('high_jump', '2.18'), 973)]]\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"},"fixed":{"sha256":"604274185d36bccfe485916ac4aa7ae24a4809f9b9aee605133d227b1562a320","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(event, perf):\n    TABLE = {'100m': (25.4347, 18, 1.81, 'track'), '400m': (1.53775, 82, 1.81, 'track'),\n             '1500m': (0.03768, 480, 1.85, 'track'), 'long_jump': (0.14354, 220, 1.4, 'jump'),\n             'high_jump': (0.8465, 75, 1.42, 'jump'), 'shot_put': (51.39, 1.5, 1.05, 'throw')}\n    A, B, C, kind = TABLE[event]\n    if kind == 'track':\n        if ':' in perf:\n            m, s = perf.split(':')\n            p = int(m) * 60 + float(s)\n        else:\n            p = float(perf)\n        base = B - p\n    else:\n        p = float(perf)\n        if kind == 'jump':\n            p = round(p * 100)\n        base = p - B\n    if base <= 0:\n        return 0\n    return int(math.floor(A * base ** C))\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 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.96'), 767),\n  ('regression: jump centimetres', ('long_jump', '4.77'), 339),\n  ('variant scenario 1', ('400m', '56.96'), 522),\n  ('variant scenario 2', ('shot_put', '13.92'), 723)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.87'), 687),\n  ('regression: jump centimetres', ('high_jump', '2.03'), 831),\n  ('variant scenario 1', ('1500m', '4:51.27'), 611),\n  ('variant scenario 2', ('100m', '11.99'), 653)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.83'), 653),\n  ('regression: jump centimetres', ('high_jump', '2.07'), 868),\n  ('variant scenario 1', ('400m', '59.82'), 419),\n  ('variant scenario 2', ('100m', '12.37'), 580)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('long_jump', '5.64'), 510),\n  ('regression: jump centimetres', ('long_jump', '4.02'), 209),\n  ('variant scenario 1', ('shot_put', '12.10'), 612),\n  ('variant scenario 2', ('high_jump', '1.75'), 585)],\n [('control 100m', ('100m', '10.50'), 975),\n  ('control long jump', ('long_jump', '7.50'), 935),\n  ('control shot put', ('shot_put', '15.00'), 790),\n  ('control 1500m', ('1500m', '4:30.00'), 745),\n  ('boundary slower than base', ('100m', '18.50'), 0),\n  ('control high jump', ('high_jump', '2.01'), 813),\n  ('regression: jump centimetres', ('high_jump', '1.76'), 593),\n  ('regression: jump centimetres', ('high_jump', '2.01'), 813),\n  ('variant scenario 1', ('400m', '51.67'), 739),\n  ('variant scenario 2', ('high_jump', '2.18'), 973)]]\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 governing body rulebook or operator house rules. 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-sports-scoring-decathlon-points-table-jump-centimetres","generated_at":"2026-09-29T14:50:29.782805+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Combined-event scoring tables are implemented from formulas with mixed units and orientations.","repair":"Convert jumps to whole centimetres with rounding.","root_cause":"The jump performance is left in metres, so the base is negative.","sha256":"6d9acd8d0b594dd493ffd965400697fc5e94525e73c634b8d04744c8f1bf50f8","title":"Jumps scored in metres instead of centimetres · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.884,"exit_code":1,"observations":[{"actual":975,"check":"control 100m","expected":975,"passed":true},{"actual":935,"check":"control long jump","expected":935,"passed":true},{"actual":790,"check":"control shot put","expected":790,"passed":true},{"actual":745,"check":"control 1500m","expected":745,"passed":true},{"actual":0,"check":"boundary slower than base","expected":0,"passed":true},{"actual":803,"check":"control high jump","expected":813,"passed":false},{"actual":767,"check":"regression: jump centimetres","expected":767,"passed":true},{"actual":337,"check":"regression: jump centimetres","expected":339,"passed":false},{"actual":522,"check":"variant scenario 1","expected":522,"passed":true},{"actual":723,"check":"variant scenario 2","expected":723,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control 100m\", \"actual\": 975, \"expected\": 975, \"passed\": true}, {\"check\": \"control long jump\", \"actual\": 935, \"expected\": 935, \"passed\": true}, {\"check\": \"control shot put\", \"actual\": 790, \"expected\": 790, \"passed\": true}, {\"check\": \"control 1500m\", \"actual\": 745, \"expected\": 745, \"passed\": true}, {\"check\": \"boundary slower than base\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control high jump\", \"actual\": 803, \"expected\": 813, \"passed\": false}, {\"check\": \"regression: jump centimetres\", \"actual\": 767, \"expected\": 767, \"passed\": true}, {\"check\": \"regression: jump centimetres\", \"actual\": 337, \"expected\": 339, \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": 522, \"expected\": 522, \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": 723, \"expected\": 723, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.711,"exit_code":1,"observations":[{"actual":975,"check":"control 100m","expected":975,"passed":true},{"actual":0,"check":"control long jump","expected":935,"passed":false},{"actual":790,"check":"control shot put","expected":790,"passed":true},{"actual":745,"check":"control 1500m","expected":745,"passed":true},{"actual":0,"check":"boundary slower than base","expected":0,"passed":true},{"actual":0,"check":"control high jump","expected":813,"passed":false},{"actual":0,"check":"regression: jump centimetres","expected":767,"passed":false},{"actual":0,"check":"regression: jump centimetres","expected":339,"passed":false},{"actual":522,"check":"variant scenario 1","expected":522,"passed":true},{"actual":723,"check":"variant scenario 2","expected":723,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control 100m\", \"actual\": 975, \"expected\": 975, \"passed\": true}, {\"check\": \"control long jump\", \"actual\": 0, \"expected\": 935, \"passed\": false}, {\"check\": \"control shot put\", \"actual\": 790, \"expected\": 790, \"passed\": true}, {\"check\": \"control 1500m\", \"actual\": 745, \"expected\": 745, \"passed\": true}, {\"check\": \"boundary slower than base\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control high jump\", \"actual\": 0, \"expected\": 813, \"passed\": false}, {\"check\": \"regression: jump centimetres\", \"actual\": 0, \"expected\": 767, \"passed\": false}, {\"check\": \"regression: jump centimetres\", \"actual\": 0, \"expected\": 339, \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": 522, \"expected\": 522, \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": 723, \"expected\": 723, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.996,"exit_code":0,"observations":[{"actual":975,"check":"control 100m","expected":975,"passed":true},{"actual":935,"check":"control long jump","expected":935,"passed":true},{"actual":790,"check":"control shot put","expected":790,"passed":true},{"actual":745,"check":"control 1500m","expected":745,"passed":true},{"actual":0,"check":"boundary slower than base","expected":0,"passed":true},{"actual":813,"check":"control high jump","expected":813,"passed":true},{"actual":767,"check":"regression: jump centimetres","expected":767,"passed":true},{"actual":339,"check":"regression: jump centimetres","expected":339,"passed":true},{"actual":522,"check":"variant scenario 1","expected":522,"passed":true},{"actual":723,"check":"variant scenario 2","expected":723,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control 100m\", \"actual\": 975, \"expected\": 975, \"passed\": true}, {\"check\": \"control long jump\", \"actual\": 935, \"expected\": 935, \"passed\": true}, {\"check\": \"control shot put\", \"actual\": 790, \"expected\": 790, \"passed\": true}, {\"check\": \"control 1500m\", \"actual\": 745, \"expected\": 745, \"passed\": true}, {\"check\": \"boundary slower than base\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control high jump\", \"actual\": 813, \"expected\": 813, \"passed\": true}, {\"check\": \"regression: jump centimetres\", \"actual\": 767, \"expected\": 767, \"passed\": true}, {\"check\": \"regression: jump centimetres\", \"actual\": 339, \"expected\": 339, \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": 522, \"expected\": 522, \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": 723, \"expected\": 723, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}