{"abstract":"A softball or seven-inning league ERA is computed per nine innings.","category":"Sports scoring and tiebreakers","checks":10,"contract":"Pitching line aggregation. outings rows are [innings_pitched, earned_runs] where innings pitched use baseball notation \"6.2\" = 6 innings and 2 outs (the digit after the point is 0-2; otherwise return \"invalid ip <text>\"). Sum outs exactly. ERA = innings_per_game * earned runs / innings, rounded half up to two decimals. Return [total innings \"I.O\", ERA string]; with zero outs ERA is \"INF\" if any earned runs else \"0.00\".","contract_signature":"outings, innings_per_game","evaluation_group":"w2-sports-scoring-baseball-innings-pitched-era","failed_approach":"Using innings_per_game but dividing by outs instead of innings understates ERA threefold.","family":"w2-sports-scoring-baseball-innings-pitched-era-game-length-scale","id":"FA-84121","implementations":{"attempt":{"sha256":"2e5e71d23db338ab69892f0f4872425998c52224fbe4f0ccac1bb8e5aaecf2f1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nimport math\nN = 1\nobservations = []\ndef solve(outings, innings_per_game):\n    outs = er = 0\n    for ip, runs in outings:\n        whole, _, part = ip.partition('.')\n        part = int(part or 0)\n        if part > 2:\n            return 'invalid ip ' + ip\n        outs += int(whole) * 3 + part\n        er += runs\n    ip_str = '%d.%d' % (outs // 3, outs % 3)\n    if outs == 0:\n        return [ip_str, 'INF' if er else '0.00']\n    v = Fraction(innings_per_game * er, outs)\n    cents = math.floor(v * 100 + Fraction(1, 2))\n    return [ip_str, '%d.%02d' % (cents // 100, cents % 100)]\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 complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale', ([['9.0', 0], ['5.1', 1], ['1.1', 1]], 9), ['15.2', '1.15']),\n  ('regression: game length scale', ([['9.2', 2], ['7.0', 4], ['8.1', 1]], 7), ['25.0', '1.96']),\n  ('variant scenario 1', ([['8.0', 2]], 9), ['8.0', '2.25']),\n  ('variant scenario 2', ([['3.2', 1]], 9), ['3.2', '2.45'])],\n [('control complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale', ([['6', 4], ['5.0', 1]], 9), ['11.0', '4.09']),\n  ('regression: game length scale', ([['7.0', 2], ['5', 0], ['5.2', 4]], 7), ['17.2', '2.38']),\n  ('variant scenario 1', ([['0.1', 0], ['6.0', 3]], 9), ['6.1', '4.26']),\n  ('variant scenario 2', ([['2.1', 4], ['5.1', 4], ['6.1', 2], ['3.2', 0]], 9), ['17.2', '5.09'])],\n [('control complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale', ([['4', 3], ['3.1', 1]], 9), ['7.1', '4.91']),\n  ('regression: game length scale', ([['3.2', 4]], 7), ['3.2', '7.64']),\n  ('variant scenario 1', ([['6.2', 3], ['4.0', 0], ['5.3', 0], ['6', 3]], 9), 'invalid ip 5.3'),\n  ('variant scenario 2', ([['6.1', 4], ['0.2', 2]], 9), ['7.0', '7.71'])],\n [('control complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale',\n   ([['5.2', 4], ['0.1', 1], ['9.0', 1], ['9.0', 4]], 9),\n   ['24.0', '3.75']),\n  ('regression: game length scale',\n   ([['5.0', 2], ['1.0', 4], ['1.2', 3], ['7.0', 4]], 7),\n   ['14.2', '6.20']),\n  ('variant scenario 1',\n   ([['4.1', 3], ['2.0', 2], ['4.0', 2], ['9.2', 4], ['0.2', 2], ['6.3', 3]], 7),\n   'invalid ip 6.3'),\n  ('variant scenario 2',\n   ([['5.2', 0], ['0', 2], ['1.3', 0], ['8.0', 3], ['7.0', 3], ['3.2', 4]], 7),\n   'invalid ip 1.3')],\n [('control complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale', ([['4.2', 1]], 9), ['4.2', '1.93']),\n  ('regression: game length scale',\n   ([['0.2', 3], ['1', 2], ['9.1', 2], ['2.1', 4], ['6.1', 1], ['2.0', 1]], 7),\n   ['21.2', '4.20']),\n  ('variant scenario 1',\n   ([['3.0', 0], ['8.0', 3], ['8.1', 1], ['5.0', 3], ['4.1', 0], ['7.2', 1]], 9),\n   ['36.1', '1.98']),\n  ('variant scenario 2', ([['8.2', 4], ['9.1', 0]], 9), ['18.0', '2.00'])]]\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":"9ab56bd2f23e9cd1b3f6f1b20daf4e8614391bb40dc1bc9625346740a61476f5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nimport math\nN = 1\nobservations = []\ndef solve(outings, innings_per_game):\n    outs = er = 0\n    for ip, runs in outings:\n        whole, _, part = ip.partition('.')\n        part = int(part or 0)\n        if part > 2:\n            return 'invalid ip ' + ip\n        outs += int(whole) * 3 + part\n        er += runs\n    ip_str = '%d.%d' % (outs // 3, outs % 3)\n    if outs == 0:\n        return [ip_str, 'INF' if er else '0.00']\n    v = Fraction(9 * er * 3, outs)\n    cents = math.floor(v * 100 + Fraction(1, 2))\n    return [ip_str, '%d.%02d' % (cents // 100, cents % 100)]\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 complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale', ([['9.0', 0], ['5.1', 1], ['1.1', 1]], 9), ['15.2', '1.15']),\n  ('regression: game length scale', ([['9.2', 2], ['7.0', 4], ['8.1', 1]], 7), ['25.0', '1.96']),\n  ('variant scenario 1', ([['8.0', 2]], 9), ['8.0', '2.25']),\n  ('variant scenario 2', ([['3.2', 1]], 9), ['3.2', '2.45'])],\n [('control complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale', ([['6', 4], ['5.0', 1]], 9), ['11.0', '4.09']),\n  ('regression: game length scale', ([['7.0', 2], ['5', 0], ['5.2', 4]], 7), ['17.2', '2.38']),\n  ('variant scenario 1', ([['0.1', 0], ['6.0', 3]], 9), ['6.1', '4.26']),\n  ('variant scenario 2', ([['2.1', 4], ['5.1', 4], ['6.1', 2], ['3.2', 0]], 9), ['17.2', '5.09'])],\n [('control complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale', ([['4', 3], ['3.1', 1]], 9), ['7.1', '4.91']),\n  ('regression: game length scale', ([['3.2', 4]], 7), ['3.2', '7.64']),\n  ('variant scenario 1', ([['6.2', 3], ['4.0', 0], ['5.3', 0], ['6', 3]], 9), 'invalid ip 5.3'),\n  ('variant scenario 2', ([['6.1', 4], ['0.2', 2]], 9), ['7.0', '7.71'])],\n [('control complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale',\n   ([['5.2', 4], ['0.1', 1], ['9.0', 1], ['9.0', 4]], 9),\n   ['24.0', '3.75']),\n  ('regression: game length scale',\n   ([['5.0', 2], ['1.0', 4], ['1.2', 3], ['7.0', 4]], 7),\n   ['14.2', '6.20']),\n  ('variant scenario 1',\n   ([['4.1', 3], ['2.0', 2], ['4.0', 2], ['9.2', 4], ['0.2', 2], ['6.3', 3]], 7),\n   'invalid ip 6.3'),\n  ('variant scenario 2',\n   ([['5.2', 0], ['0', 2], ['1.3', 0], ['8.0', 3], ['7.0', 3], ['3.2', 4]], 7),\n   'invalid ip 1.3')],\n [('control complete game', ([['9.0', 2]], 9), ['9.0', '2.00']),\n  ('boundary thirds carry', ([['5.2', 1], ['1.1', 0]], 9), ['7.0', '1.29']),\n  ('boundary seven-inning game', ([['7.0', 3]], 7), ['7.0', '3.00']),\n  ('boundary no outs with runs', ([['0.0', 2]], 9), ['0.0', 'INF']),\n  ('boundary invalid out digit', ([['4.3', 1]], 9), 'invalid ip 4.3'),\n  ('control half-up rounding', ([['8.0', 3]], 9), ['8.0', '3.38']),\n  ('regression: game length scale', ([['4.2', 1]], 9), ['4.2', '1.93']),\n  ('regression: game length scale',\n   ([['0.2', 3], ['1', 2], ['9.1', 2], ['2.1', 4], ['6.1', 1], ['2.0', 1]], 7),\n   ['21.2', '4.20']),\n  ('variant scenario 1',\n   ([['3.0', 0], ['8.0', 3], ['8.1', 1], ['5.0', 3], ['4.1', 0], ['7.2', 1]], 9),\n   ['36.1', '1.98']),\n  ('variant scenario 2', ([['8.2', 4], ['9.1', 0]], 9), ['18.0', '2.00'])]]\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-baseball-innings-pitched-era-game-length-scale","generated_at":"2026-09-29T14:50:27.877680+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Box scores and stat pages aggregate outs across appearances; thirds of an inning are notorious.","root_cause":"The multiplier is hard-coded to 9 instead of innings_per_game.","sha256":"7e7c1097e5fc7bc452ba3d6605c922a587646f17299b7bba84e3ee99ced4aba0","title":"ERA scaled to nine innings for every league · 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.062,"exit_code":1,"observations":[{"actual":["9.0","0.67"],"check":"control complete game","expected":["9.0","2.00"],"passed":false},{"actual":["7.0","0.43"],"check":"boundary thirds carry","expected":["7.0","1.29"],"passed":false},{"actual":["7.0","1.00"],"check":"boundary seven-inning game","expected":["7.0","3.00"],"passed":false},{"actual":["0.0","INF"],"check":"boundary no outs with runs","expected":["0.0","INF"],"passed":true},{"actual":"invalid ip 4.3","check":"boundary invalid out digit","expected":"invalid ip 4.3","passed":true},{"actual":["8.0","1.13"],"check":"control half-up rounding","expected":["8.0","3.38"],"passed":false},{"actual":["15.2","0.38"],"check":"regression: game length scale","expected":["15.2","1.15"],"passed":false},{"actual":["25.0","0.65"],"check":"regression: game length scale","expected":["25.0","1.96"],"passed":false},{"actual":["8.0","0.75"],"check":"variant scenario 1","expected":["8.0","2.25"],"passed":false},{"actual":["3.2","0.82"],"check":"variant scenario 2","expected":["3.2","2.45"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control complete game\", \"actual\": [\"9.0\", \"0.67\"], \"expected\": [\"9.0\", \"2.00\"], \"passed\": false}, {\"check\": \"boundary thirds carry\", \"actual\": [\"7.0\", \"0.43\"], \"expected\": [\"7.0\", \"1.29\"], \"passed\": false}, {\"check\": \"boundary seven-inning game\", \"actual\": [\"7.0\", \"1.00\"], \"expected\": [\"7.0\", \"3.00\"], \"passed\": false}, {\"check\": \"boundary no outs with runs\", \"actual\": [\"0.0\", \"INF\"], \"expected\": [\"0.0\", \"INF\"], \"passed\": true}, {\"check\": \"boundary invalid out digit\", \"actual\": \"invalid ip 4.3\", \"expected\": \"invalid ip 4.3\", \"passed\": true}, {\"check\": \"control half-up rounding\", \"actual\": [\"8.0\", \"1.13\"], \"expected\": [\"8.0\", \"3.38\"], \"passed\": false}, {\"check\": \"regression: game length scale\", \"actual\": [\"15.2\", \"0.38\"], \"expected\": [\"15.2\", \"1.15\"], \"passed\": false}, {\"check\": \"regression: game length scale\", \"actual\": [\"25.0\", \"0.65\"], \"expected\": [\"25.0\", \"1.96\"], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [\"8.0\", \"0.75\"], \"expected\": [\"8.0\", \"2.25\"], \"passed\": false}, {\"check\": \"variant scenario 2\", \"actual\": [\"3.2\", \"0.82\"], \"expected\": [\"3.2\", \"2.45\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.644,"exit_code":1,"observations":[{"actual":["9.0","2.00"],"check":"control complete game","expected":["9.0","2.00"],"passed":true},{"actual":["7.0","1.29"],"check":"boundary thirds carry","expected":["7.0","1.29"],"passed":true},{"actual":["7.0","3.86"],"check":"boundary seven-inning game","expected":["7.0","3.00"],"passed":false},{"actual":["0.0","INF"],"check":"boundary no outs with runs","expected":["0.0","INF"],"passed":true},{"actual":"invalid ip 4.3","check":"boundary invalid out digit","expected":"invalid ip 4.3","passed":true},{"actual":["8.0","3.38"],"check":"control half-up rounding","expected":["8.0","3.38"],"passed":true},{"actual":["15.2","1.15"],"check":"regression: game length scale","expected":["15.2","1.15"],"passed":true},{"actual":["25.0","2.52"],"check":"regression: game length scale","expected":["25.0","1.96"],"passed":false},{"actual":["8.0","2.25"],"check":"variant scenario 1","expected":["8.0","2.25"],"passed":true},{"actual":["3.2","2.45"],"check":"variant scenario 2","expected":["3.2","2.45"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control complete game\", \"actual\": [\"9.0\", \"2.00\"], \"expected\": [\"9.0\", \"2.00\"], \"passed\": true}, {\"check\": \"boundary thirds carry\", \"actual\": [\"7.0\", \"1.29\"], \"expected\": [\"7.0\", \"1.29\"], \"passed\": true}, {\"check\": \"boundary seven-inning game\", \"actual\": [\"7.0\", \"3.86\"], \"expected\": [\"7.0\", \"3.00\"], \"passed\": false}, {\"check\": \"boundary no outs with runs\", \"actual\": [\"0.0\", \"INF\"], \"expected\": [\"0.0\", \"INF\"], \"passed\": true}, {\"check\": \"boundary invalid out digit\", \"actual\": \"invalid ip 4.3\", \"expected\": \"invalid ip 4.3\", \"passed\": true}, {\"check\": \"control half-up rounding\", \"actual\": [\"8.0\", \"3.38\"], \"expected\": [\"8.0\", \"3.38\"], \"passed\": true}, {\"check\": \"regression: game length scale\", \"actual\": [\"15.2\", \"1.15\"], \"expected\": [\"15.2\", \"1.15\"], \"passed\": true}, {\"check\": \"regression: game length scale\", \"actual\": [\"25.0\", \"2.52\"], \"expected\": [\"25.0\", \"1.96\"], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [\"8.0\", \"2.25\"], \"expected\": [\"8.0\", \"2.25\"], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [\"3.2\", \"2.45\"], \"expected\": [\"3.2\", \"2.45\"], \"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."}}